Jawaban:
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 . Jika Anda menggambar titik sampel dari distribusi probabilitas yang sebenarnya, , secara mandiri, maka probabilitas dari menggambar sampel dari kelas yaitu,
Bagaimana jika Anda memiliki poin ? Probabilitas bahwa titik K dari titik N tersebut jatuh di wilayah R mengikuti distribusi binomial,
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 .
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 .
Mengulang analisis dengan distribusi binomial, mudah untuk melihat bahwa kita dapat memperkirakan sebelumnya .
Menggunakan aturan Bayes, yang merupakan aturan untuk kNN.
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.
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)
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 ...