Saya tidak menemukan definisi fungsi kerugian pada wiki dalam konteks pembelajaran mesin.
ini kurang formal, cukup jelas.
Pada intinya, fungsi kerugian sangat sederhana: ini adalah metode untuk mengevaluasi seberapa baik algoritma Anda memodelkan dataset Anda. Jika prediksi Anda benar-benar mati, fungsi kerugian Anda akan menghasilkan angka yang lebih tinggi. Jika mereka cukup bagus, itu akan menghasilkan angka yang lebih rendah. Saat Anda mengubah potongan algoritme untuk mencoba dan meningkatkan model Anda, fungsi kerugian Anda akan memberi tahu Anda jika Anda pergi ke mana pun.
tampaknya tingkat kesalahan KNN bukanlah fungsi yang bisa memandu model itu sendiri mengoptimalkan, seperti Gradient Descent.
Jadi, apakah KNN memiliki fungsi kerugian?
sumber
Setiap algoritma statistik secara eksplisit atau implisit meminimalkan beberapa tujuan, bahkan jika tidak ada parameter atau hiperparameter, dan bahkan jika minimalisasi tidak dilakukan secara iteratif. KNN sangat sederhana sehingga orang biasanya tidak berpikir seperti ini, tetapi Anda sebenarnya dapat menuliskan fungsi objektif eksplisit:
Apa yang dikatakan ini bahwa kelas prediksi untuk suatu titik sama dengan kelas yang memaksimalkan jumlah poin lain yang ada di himpunan titik terdekat yang juga memiliki kelas yang sama, diukur dengan yaitu ketika berada di kelas , sebaliknya.t^ x^ C xi k Nk({x},x^) δ(ti,C) 1 xi C 0
Keuntungan dari menulisnya dengan cara ini adalah bahwa seseorang dapat melihat bagaimana membuat tujuan "lebih lembut" dengan menimbang poin berdasarkan jarak. Mengenai "pelatihan," tidak ada parameter di sini yang cocok. Tetapi orang dapat menyetel metrik jarak (yang digunakan untuk mendefinisikan ) atau bobot poin dalam jumlah ini untuk mengoptimalkan beberapa tujuan klasifikasi tambahan. Ini mengarah ke Analisis Komponen Lingkungan: https://www.cs.toronto.edu/~hinton/absps/nca.pdf yang mempelajari metrik jarak.Nk
sumber
Saya tidak setuju dengan jawaban yang diterima (agak).
KNN adalah algoritma klasifikasi , dan tidak masuk akal untuk menjalankan algoritma klasifikasi tanpa kehilangan fungsi: Anda akan tertarik pada seberapa baik algoritma itu melakukannya. Dalam kasus KNN, Anda dapat, misalnya, mengevaluasi kualitas klasifikasi dengan melihat jumlah akurasi rata-rata di setiap kelas. Atau, Anda bisa fokus hanya pada ketepatan algoritma.
Metode optimisasi yang memberdayakan KNN tidak tergantung pada fungsi kerugian, jadi selama pelatihan, itu tidak pernah menarik bagi fungsi kerugian, dan bahkan tidak menggunakan gradient-descent untuk melatih.
Bandingkan ini dengan "K-terdekat tetangga classifier": untuk kelas , pertama-tama melatih berarti, dan kemudian menentukan kelas setiap titik dengan jumlah dominan poin milik masing-masing centroid. Misalnya Anda bisa melatih algoritme ini dengan minimalisasi langkah-bijaksana pada kesalahan kuadrat terkecil dari masing-masing centroid (menghitung ulang centroid berdasarkan tetangga terdekat), tetapi pada waktu pengujian, fungsi kerugian Anda akan kembali menjadi beberapa bentuk akurasi pada masing-masing kelas, meskipun algoritma asli tidak memiliki ketergantungan pada ini.K K
sumber