Apa perbedaan antara regresi logistik dan perceptron?

30

Saya akan membaca catatan kuliah Andrew Ng tentang Pembelajaran Mesin.

Catatan tersebut memperkenalkan kita pada regresi logistik dan kemudian ke perceptron. Saat menggambarkan Perceptron, catatan mengatakan bahwa kami hanya mengubah definisi fungsi ambang yang digunakan untuk regresi logistik. Setelah melakukan itu, kita dapat menggunakan model Perceptron untuk klasifikasi.

Jadi pertanyaan saya adalah - jika ini perlu ditentukan dan kami menganggap Perceptron sebagai teknik klasifikasi, lalu apa sebenarnya regresi logistik? Apakah hanya digunakan untuk mendapatkan probabilitas suatu titik data milik salah satu kelas?

GrowinMan
sumber
Pertanyaan yang bagus, saya menemukan bahwa sangat penting bagaimana Anda memulai penjelasan tentang NN, terutama karena NN mungkin sangat rumit untuk dipahami, pls. pertimbangkan jawaban saya.
prosti

Jawaban:

22

Singkatnya, regresi logistik memiliki konotasi probabilistik yang melampaui penggunaan classifier dalam ML. Saya punya beberapa catatan tentang regresi logistik di sini .

Hipotesis dalam regresi logistik memberikan ukuran ketidakpastian dalam terjadinya hasil biner berdasarkan model linier. Outputnya dibatasi secara asimptotik antara dan , dan tergantung pada model linier, sehingga ketika garis regresi yang mendasari memiliki nilai , persamaan logistik adalah , memberikan titik batas alami untuk tujuan klasifikasi. Namun, itu adalah biaya membuang informasi probabilitas dalam hasil aktual dari , yang seringkali menarik (mis. Probabilitas kredit macet diberikan penghasilan, skor kredit, usia, dll.).0100.5=e01+e0h(ΘTx)=eΘTx1+eΘTx

Algoritma klasifikasi perceptron adalah prosedur yang lebih mendasar, berdasarkan pada produk titik antara contoh dan bobot . Setiap kali contoh kesalahan klasifikasi tanda produk titik bertentangan dengan nilai klasifikasi ( dan ) dalam set pelatihan. Untuk memperbaikinya, vektor contoh akan ditambahkan berulang atau dikurangi dari vektor bobot atau koefisien, yang secara progresif memperbarui elemen-elemennya:11

Secara vectorially, fitur atau atribut dari contoh adalah , dan idenya adalah untuk "meneruskan" contoh jika:dx

1dθixi>theshold atau ...

h(x)=sign(1dθixitheshold) . Fungsi tanda menghasilkan atau , berlawanan dengan dan dalam regresi logistik.1101

Ambang akan diserap ke dalam koefisien bias , . Rumusnya sekarang:+θ0

h(x)=sign(0dθixi) , atau di-vektor: .h(x)=sign(θTx)

Poin yang salah klasifikasi akan memiliki , artinya titik produk dan akan positif (vektor dalam arah yang sama), ketika negatif, atau produk titik akan negatif (vektor dalam arah yang berlawanan), sedangkan positif.sign(θTx)ynΘxnynyn


Saya telah mengerjakan perbedaan antara dua metode ini dalam dataset dari program yang sama , di mana hasil tes dalam dua ujian terpisah terkait dengan penerimaan akhir ke perguruan tinggi:

Batas keputusan dapat dengan mudah ditemukan dengan regresi logistik, tetapi menarik untuk melihat bahwa meskipun koefisien yang diperoleh dengan perceptron sangat berbeda dari dalam regresi logistik, aplikasi sederhana fungsi ke hasil yang dihasilkan sama baiknya algoritma klasifikasi. Bahkan akurasi maksimum (batas yang ditetapkan oleh ketidakterpisahan linear dari beberapa contoh) dicapai oleh iterasi kedua. Berikut adalah urutan garis-garis pembagian batas ketika iterasi mendekati bobot, mulai dari vektor koefisien acak:sign()10

Keakuratan dalam klasifikasi sebagai fungsi dari jumlah iterasi meningkat dengan cepat dan dataran tinggi pada , konsisten dengan seberapa cepat batas keputusan mendekati optimal dicapai dalam klip video di atas. Berikut adalah alur kurva pembelajaran:90%

masukkan deskripsi gambar di sini


Kode yang digunakan ada di sini .

Antoni Parellada
sumber
5

Ada beberapa kebingungan yang mungkin timbul di sini. Awalnya perceptron hanya mengacu pada jaringan saraf dengan fungsi langkah sebagai fungsi transfer. Dalam kasus itu tentu saja perbedaannya adalah bahwa regresi logistik menggunakan fungsi logistik dan perceptron menggunakan fungsi langkah. Secara umum kedua algoritma harus menghasilkan batas keputusan yang sama (setidaknya untuk satu neuron perceptron). Namun:

  1. Vektor parameter untuk perceptron dapat diskalakan sewenang-wenang dibandingkan dengan yang diperoleh dengan regresi logistik. Setiap penskalaan dari vektor parameter akan menentukan batas yang sama, tetapi probabilitas yang dihitung dengan regresi logistik bergantung pada penskalaan yang tepat.
  2. Output dari fungsi langkah tentu saja tidak dapat diartikan sebagai segala jenis probabilitas.
  3. Karena fungsi langkah tidak dapat dibedakan, tidak mungkin untuk melatih perceptron menggunakan algoritma yang sama yang digunakan untuk regresi logistik.

Dalam beberapa kasus, istilah perceptron juga digunakan untuk merujuk pada jaringan saraf yang menggunakan fungsi logistik sebagai fungsi transfer (namun, ini tidak sesuai dengan terminologi asli). Dalam hal itu, regresi logistik dan "perceptron" persis sama. Tentu saja, dengan perceptron dimungkinkan untuk menggunakan banyak neuron yang semuanya menggunakan fungsi transfer logistik, yang menjadi agak terkait dengan penumpukan regresi logistik (tidak sama, tetapi serupa).

LiKao
sumber
2

Anda dapat menggunakan regresi logistik untuk membangun perceptron. Regresi logistik menggunakan fungsi logistik untuk membangun output dari input yang diberikan. Fungsi logistik menghasilkan output yang halus antara 0 dan 1, jadi Anda perlu satu hal lagi untuk menjadikannya sebuah classifier, yang merupakan ambang batas. Perceptrons dapat dibangun dengan bentuk-bentuk fungsional lainnya, tentu saja, tidak hanya logistik .

Regresi logistik menghasilkan Anda model yang terlihat seperti ini: Bagian regresi adalah bagaimana memperkirakan koefisien , bagian logistik adalah bentuk fungsi

y(x1,x2|b)=eb0+b1x1+b2x21+eb0+b1x1+b2x2
b1,b2,b3ex1+ex

Setelah Anda menghitung diberi input dan parameter , Anda harus memutuskan apakah ini 0 atau 1 karena output adalah angka antara 0 dan 1. Jadi, Anda memerlukan ambang , sehingga Anda untuk , dan untuk .y(x|b)xbyYy~=0y(x|b)<Yy~=1y(x|b)Y

Aksakal
sumber
1

Keduanya menerapkan regresi dengan memperkirakan parameter dari model transformasi-logistik yang sama. Menurut properti fungsi cembung, nilai parameter akan sama dengan cara apa pun yang Anda pilih untuk memperkirakannya. Mengutip diri saya dari jawaban sebelumnya:

Regresi logistik memodelkan fungsi dari rata-rata distribusi Bernoulli sebagai persamaan linear (rata-rata sama dengan probabilitas p dari peristiwa Bernoulli). Dengan menggunakan tautan logit sebagai fungsi mean (p), logaritma peluang (log-odds) dapat diturunkan secara analitis dan digunakan sebagai respons dari apa yang disebut model linear umum. Di atas prediksi, ini memungkinkan Anda untuk menafsirkan model dalam inferensial kausal. Ini adalah sesuatu yang tidak dapat Anda capai dengan Perceptron linier.

Perceptron, mengambil fungsi invit logit (logistik) dari wx, dan tidak menggunakan asumsi probabilistik baik untuk model maupun parameternya. Pelatihan online akan memberi Anda perkiraan yang sama persis untuk bobot / parameter model, tetapi Anda tidak akan dapat menafsirkannya dalam inferensial kausal karena kurangnya nilai-p, interval kepercayaan, dan juga, model probabilitas yang mendasarinya.

Digio
sumber
1

Misalkan pengamatan pelatihan kami adalah vektor fitur , dan label yang sesuai adalah . Untuk kesederhanaan notasi, mari tambahkan ke akhir setiap vektor . Algoritma perceptron dapat diartikan sebagai menggunakan keturunan subgradien stokastik untuk menyelesaikan masalah optimisasi Variabel optimisasi adalah . Dari perspektif ini,x1,,xNRny1,,yN{1,1}1xi

(1)minimize1Ni=1Nmax(yiβTxi,0).
βRn+1perbedaan antara algoritma perceptron dan regresi logistik adalah bahwa algoritma perceptron meminimalkan fungsi tujuan yang berbeda . (Derivasi regresi logistik melalui estimasi kemungkinan maksimum diketahui dengan baik; dalam posting ini saya fokus pada interpretasi algoritma perceptron.)

Fungsi objektif dalam masalah (1) dapat ditulis sebagai , di mana dari di adalah vektor Setiap zaman penurunan subgradien stokastik (dengan ukuran langkah ) menyapu melalui pengamatan pelatihan dan, untuk pengamatan th, melakukan pembaruan 1Nii(β)

i(β)=max(yiβTxi,0).
iβ
g={0if yiβTxi0(so yi and βTxi have the same sign)yixiotherwise.
t>0)i
ββtg={βif yi and βTxi have the same signβ+tyixiotherwise.
Kami menyadari bahwa ini adalah iterasi untuk algoritma perceptron (dengan tingkat pembelajaran ).t

littleO
sumber
0

Andrew Ng menggunakan istilah "regresi logistik" sebagai model untuk memecahkan masalah klasifikasi biner.

Seperti yang Anda lihat di koran dia sebenarnya tidak pernah menggambar model itu sendiri.

Biarkan saya menambahkan beberapa detail ke ember sehingga Anda dapat menemukan alasan tentang bagaimana saya pikir dia membangun kuliah.

Model yang digunakan untuk "regresi logistik" adalah persepsi tingkat tunggal dengan jumlah input khusus dan satu output mulai dari 0 hingga 1.

Kembali ke tahun 90-an, fungsi aktivasi yang paling dihargai adalah fungsi aktivasi sigmoidal, dan ada teori matematika yang bagus sebagai cadangan.

Ini persis model yang digunakan Andrew Ng karena fungsi berkisar dari 0 hingga 1.

Juga turunannya s'(x) = s(x)(1−s(x)), di mana s(x)adalah fungsi aktivasi sigmoidal.

Untuk fungsi kesalahan ia menggunakan L2, meskipun dalam beberapa makalah ia dapat menggunakan beberapa fungsi lain untuk itu.

Jadi untuk rekap, ketika mempertimbangkan "regresi logistik" hanya mempertimbangkan persepsi tingkat tunggal dengan fungsi aktivasi sigmoidal, jumlah kustom input dan output tunggal.


Hanya beberapa catatan: Tidak ada yang salah dengan fungsi aktivasi sigmoidal, meskipun untuk aritmatika titik mengambang, ReLU mendominasi lapisan tersembunyi saat ini, tetapi dalam posisi waktu dekat (atau unit aritmatika lainnya) dapat mengembalikan fungsi aktivasi sigmoid ke meja. .

Personalty, saya akan menggunakan model yang lebih sederhana dengan fungsi ReLU untuk menjelaskan SLP (single level perceptron) karena lebih banyak digunakan saat ini.

prosti
sumber