Apakah KNN merupakan algoritma pembelajaran diskriminatif?

17

Tampaknya KNN adalah algoritma pembelajaran yang diskriminatif, tetapi saya tidak dapat menemukan sumber online yang mengkonfirmasi hal ini.

Apakah KNN merupakan algoritma pembelajaran diskriminatif?

jpmuc
sumber

Jawaban:

19

KNN adalah algoritma diskriminatif karena memodelkan probabilitas bersyarat dari sampel milik kelas tertentu. Untuk melihat ini, pertimbangkan bagaimana seseorang mencapai aturan keputusan kNN.

Sebuah label kelas sesuai dengan set poin yang termasuk ke beberapa wilayah di ruang fitur R . Jika Anda menggambar titik sampel dari distribusi probabilitas yang sebenarnya, p(x) , secara mandiri, maka probabilitas dari menggambar sampel dari kelas yaitu,

P=Rp(x)dx

Bagaimana jika Anda memiliki poin ? Probabilitas bahwa titik K dari titik N tersebut jatuh di wilayah R mengikuti distribusi binomial, NKNR

Prob(K)=(NK)PK(1P)NK

Ketika , distribusi ini memuncak tajam, sehingga probabilitasnya dapat diperkirakan dengan nilai rata-rata . Suatu perkiraan tambahan adalah bahwa distribusi probabilitas lebih dari tetap konstan, sehingga orang dapat memperkirakan integral dengan, mana adalah volume total dari wilayah. Di bawah perkiraan ini .NKNR

P=Rp(x)dxp(x)V
Vp(x)KNV

Sekarang, jika kita memiliki beberapa kelas, kita dapat mengulangi analisis yang sama untuk masing-masing kelas, yang akan memberi kita, mana adalah jumlah poin dari kelas yang termasuk dalam wilayah itu dan adalah jumlah total poin yang dimiliki kelas . Pemberitahuan .

p(x|Ck)=KkNkV
KkkNkCkkNk=N

Mengulang analisis dengan distribusi binomial, mudah untuk melihat bahwa kita dapat memperkirakan sebelumnya .P(Ck)=NkN

Menggunakan aturan Bayes, yang merupakan aturan untuk kNN.

P(Ck|x)=p(x|Ck)p(Ck)p(x)=KkK
jpmuc
sumber
2
Referensi tidak termasuk informasi tentang KNN. Apakah ini benar?
bayerj
1
Saya bermaksud menekankan apa yang dipahami untuk algoritma diskriminatif vs generatif.
jpmuc
5

Jawaban oleh @jpmuc tampaknya tidak akurat. Model generatif memodelkan distribusi yang mendasari P (x / Ci) dan kemudian menggunakan teorema Bayes untuk menemukan probabilitas posterior. Itulah tepatnya yang ditunjukkan dalam jawaban itu dan kemudian menyimpulkan yang sebaliknya. :HAI

Agar KNN menjadi model generatif, kita harus dapat menghasilkan data sintetis. Tampaknya ini mungkin setelah kami memiliki beberapa data pelatihan awal. Tetapi mulai dari tidak ada data pelatihan dan menghasilkan data sintetis tidak mungkin. Jadi KNN tidak cocok dengan model generatif.

Orang mungkin berpendapat bahwa KNN adalah model diskriminatif karena kita dapat menggambar batas diskriminan untuk klasifikasi, atau kita dapat menghitung P posterior (Ci / x). Tetapi semua ini benar dalam kasus model generatif juga. Model diskriminatif sejati tidak memberi tahu apa-apa tentang distribusi yang mendasarinya. Tetapi dalam kasus KNN kita tahu banyak tentang distribusi yang mendasarinya, faktanya kita menyimpan seluruh rangkaian pelatihan.

Jadi sepertinya KNN berada di tengah-tengah antara model generatif dan diskriminatif. Mungkin itu sebabnya KNN tidak dikategorikan dalam model generatif atau diskriminatif dalam artikel terkenal. Sebut saja mereka model non-parametrik.

Binu Jasim
sumber
Saya tidak setuju. "Pengklasifikasi generatif mempelajari model probabilitas gabungan, p (x, y), dari input x dan label y, dan membuat prediksi mereka dengan menggunakan aturan Bayes untuk menghitung p (ylx), dan kemudian memilih label yang paling mungkin y Msgstr "Klasifikasi diskriminatif memodelkan posterior p (ylx) secara langsung, atau mempelajari peta langsung dari input x ke label kelas". Lihat "Pada Diskriminatif vs. Generatif Pengklasifikasi: Perbandingan regresi logistik dan Bayes naif.
jpmuc
3

Saya telah datang di sebuah buku yang mengatakan sebaliknya ( yaitu sebuah generatif nonparametrik Klasifikasi Model)

Ini adalah tautan online: Machine Learning A Perspektif Perspektif oleh Murphy, Kevin P. (2012)

Berikut kutipan dari buku ini: masukkan deskripsi gambar di sini

Gürol Canbek
sumber
Pasti ada kesalahan ..
1

Saya setuju bahwa kNN bersifat diskriminatif. Alasannya adalah bahwa ia tidak secara eksplisit menyimpan atau mencoba mempelajari model (probabilistik) yang menjelaskan data (yang bertentangan dengan, misalnya Naive Bayes).

Jawaban oleh juampa membingungkan saya karena, menurut pemahaman saya, classifier generatif adalah salah satu yang mencoba menjelaskan bagaimana data dihasilkan (misalnya menggunakan model), dan jawaban itu mengatakan bahwa itu diskriminatif karena alasan ini ...

Amir
sumber
1
Model generatif mempelajari P (Ck, X), sehingga Anda dapat menghasilkan lebih banyak data menggunakan distribusi bersama itu. Sebaliknya, model diskriminatif akan belajar P (Ck | X). Inilah yang ditunjukkan @juampa dengan KNN.
Zhubarb
1
Pada waktu klasifikasi, baik generatif dan diskriminatif berakhir menggunakan probabilitas bersyarat untuk membuat prediksi. Namun, pengklasifikasi generatif mempelajari probabilitas bersama dan menurut aturan Bayes menghitung pengkondisi, sementara dalam pengklasifikasi diskriminatif menghitung langsung pengkondisian, atau memberikan perkiraan untuk hal itu sebaik yang bisa didapat.
rapaio