Pengurut Bayesian berdasarkan algoritma KNN

Penulis:Mimpi kecil, Dibuat: 2017-01-14 17:23:19, Diperbarui:

Pengurut Bayesian berdasarkan algoritma KNN

Dasar teori untuk mendesain mesin pemotong untuk membuat keputusan pemotong adalah:

Perbandingan P (ωi) x; dimanaωi adalah kelas i, x adalah data yang diamati dan harus diklasifikasikan, P (ωi) x menyatakan berapa probabilitas bahwa data ini termasuk dalam kelas i dalam hal vektor karakteristik yang diketahui, yang juga menjadi probabilitas retrospektif. Menurut rumus Bayesian, ini dapat dinyatakan sebagai:

img

Di antaranya, P (x) disebut probabilitas kemiripan atau probabilitas kondisi kelas; P (ω) disebut probabilitas pendahuluan karena tidak terkait dengan percobaan dan dapat diketahui sebelum percobaan.

Dalam klasifikasi, x diberikan, pilihlah kategori yang membuat kemungkinan hipotesis P (ωi dalam x) terbesar. Dalam perbandingan setiap kategori dengan ukuran P (ωi dalam x),ωi adalah variabel dan x adalah tetap; jadi P (ωi dalam x) dapat dihilangkan dan tidak dipertimbangkan.

Jadi akhirnya berujung pada masalah menghitung P (x) = P (ωi). Probabilitas awal P ((ωi) sangat baik, asalkan pelatihan statistik mengumpulkan proporsi data yang muncul di bawah setiap klasifikasi.

Perhitungan probabilitas yang mirip P (x ∈ O) akan menjadi sulit karena x adalah data dalam kumpulan uji, dan tidak dapat dihitung secara langsung berdasarkan training set. Jadi kita perlu mencari hukum distribusi data training set, dan kemudian kita bisa mendapatkan P (x ∈ O).

Di bawah ini adalah k algoritma tetangga, yang dalam bahasa Inggris adalah KNN.

Kita harus menyesuaikan distribusi data ini dengan data x1, x2...xn (setiap data adalah m-dimensi) yang ada dalam set pelatihan, di bawah kategoriωi. Jika x adalah titik manapun dalam ruang m-dimensi, bagaimana menghitung P (xωi)?

Kita tahu bahwa ketika jumlah data cukup besar, kita dapat menggunakan probabilitas pendekatan proporsional. Menggunakan prinsip ini, di sekitar titik x, carilah k titik sampel yang paling dekat dengan jarak titik x, di mana ada ki yang termasuk kategori i. Carilah volume V dari superbola terkecil yang dikelilingi oleh titik sampel k ini; atau carilah jumlah individu yang termasuk kategori ωi dari semua data sampel Ni:

img

Jadi kita dapat melihat bahwa yang kita hasilkan sebenarnya adalah kepadatan probabilitas kondisi kelas pada titik x.

Jadi, bagaimana dengan P (ωi)? Menurut metode di atas, P (ωi) = Ni/N. Di mana N adalah jumlah sampel. Selain itu, P (x) = k/ (N*V), di mana k adalah jumlah dari semua titik sampel yang dikelilingi oleh superbodi ini; N adalah jumlah total sampel. Jadi kita bisa menghitung: dengan menggunakan rumus, mudah untuk menyimpulkan:

P(ωi|x)=ki/k

Untuk menjelaskan rumus di atas, dalam sebuah supersphere berukuran V, kita mengelilingi k sampel, di mana ada ki dari kelas i. Dengan demikian, sampel yang paling banyak dikelilingi, kita menentukan kelas mana yang harus dimiliki oleh x di sini. Ini adalah klasifikasi yang dirancang dengan algoritma yang dekat dengan k.


Lebih banyak