Kesalahan pelatihan dalam klasifikasi KNN ketika K = 1

8

Saya mendapat pertanyaan ini dalam sebuah kuis, ia bertanya apa yang akan menjadi kesalahan pelatihan untuk pengklasifikasi KNN ketika K = 1. Apa arti pelatihan bagi pengklasifikasi KNN? Pemahaman saya tentang pengklasifikasi KNN adalah bahwa ia menganggap seluruh kumpulan data dan menetapkan setiap pengamatan baru nilai mayoritas K-tetangga terdekat. Di mana pelatihan muncul? Juga jawaban yang benar diberikan untuk ini adalah bahwa kesalahan pelatihan akan menjadi nol terlepas dari setiap kumpulan data. Bagaimana ini mungkin?

Bizantium
sumber

Jawaban:

13

Kesalahan pelatihan di sini adalah kesalahan yang akan Anda miliki ketika Anda memasukkan set pelatihan Anda ke KNN Anda sebagai set tes. Ketika K = 1, Anda akan memilih sampel pelatihan terdekat dengan sampel pengujian Anda. Karena sampel pengujian Anda ada dalam dataset pelatihan, ia akan memilih sendiri sebagai yang terdekat dan tidak pernah membuat kesalahan. Untuk alasan ini, kesalahan pelatihan akan menjadi nol ketika K = 1, terlepas dari dataset. Ada satu asumsi logis di sini, dan itu adalah set pelatihan Anda tidak akan mencakup sampel pelatihan yang sama milik kelas yang berbeda, yaitu informasi yang saling bertentangan. Beberapa dataset dunia nyata mungkin memiliki properti ini.

senjata
sumber
3

Untuk pemahaman visual, Anda bisa menganggap pelatihan KNN sebagai proses pewarnaan daerah dan menyusun batas-batas di sekitar data pelatihan.

Pertama-tama kita dapat menggambar batas di sekitar setiap titik dalam set pelatihan dengan persimpangan garis-garis tegak lurus dari setiap pasangan titik. (Animasi garis-berat tegak lurus ditampilkan di bawah)

animasi garis-berat tegak lurus

sumber gif

Untuk mencari tahu cara mewarnai daerah dalam batas-batas ini, untuk setiap titik kita melihat warna tetangga. KapanK=1, untuk setiap titik data, x, di set pelatihan kami, kami ingin menemukan satu hal lain,x, yang memiliki jarak paling sedikit dari x. Jarak sesingkat mungkin selalu0, yang berarti "tetangga terdekat" kami sebenarnya adalah titik data asli itu sendiri, x=x.

Untuk mewarnai area di dalam batas-batas ini, kami mencari kategori masing-masing x. Katakanlah pilihan kita biru dan merah. DenganK=1, kami mewarnai daerah sekitar titik merah dengan merah, dan daerah sekitarnya biru dengan biru. Hasilnya akan terlihat seperti ini:

k = 1 dengan semua batas

Perhatikan bagaimana tidak ada titik merah di daerah biru dan sebaliknya. Itu memberitahu kita ada kesalahan pelatihan 0.

Perhatikan bahwa batas keputusan biasanya hanya ditarik di antara kategori yang berbeda, (buang semua batas biru-biru merah-merah) sehingga batas keputusan Anda mungkin terlihat lebih seperti ini:

masukkan deskripsi gambar di sini

Sekali lagi, semua titik biru berada di dalam batas biru dan semua titik merah berada di dalam batas merah; kami masih memiliki kesalahan pengujian nol. Di sisi lain, jika kita bertambahK untuk K=20, kami memiliki diagram di bawah ini. Perhatikan bahwa ada beberapa titik merah di area biru dan titik biru di area merah. Ini adalah apa yang tampak seperti kesalahan pelatihan nol.

Kapan K=20, kami mewarnai warna daerah di sekitar titik berdasarkan kategori titik itu (warna dalam kasus ini) dan kategori 19 tetangga terdekatnya. Jika sebagian besar tetangga berwarna biru, tetapi titik aslinya berwarna merah, titik asli dianggap outlier dan wilayah di sekitarnya berwarna biru. Itu sebabnya Anda dapat memiliki begitu banyak titik data merah di area biru dan sebaliknya.

masukkan deskripsi gambar di sini

sumber gambar

David
sumber