Bagaimana menafsirkan "kehilangan" dan "akurasi" untuk model pembelajaran mesin


Jawaban:


284

Semakin rendah kerugiannya, semakin baik suatu model (kecuali jika model tersebut terlalu cocok dengan data pelatihan). Kerugian dihitung pada pelatihan dan validasi dan interperasinya adalah seberapa baik model melakukan untuk dua set ini. Tidak seperti akurasi, kerugian bukan persentase. Ini adalah penjumlahan dari kesalahan yang dibuat untuk setiap contoh dalam set pelatihan atau validasi.

Dalam kasus jaringan saraf, kerugian biasanya log-likelihood negatif dan jumlah kuadrat residual untuk klasifikasi dan regresi masing-masing. Maka tentu saja, tujuan utama dalam model pembelajaran adalah untuk mengurangi (meminimalkan) nilai fungsi kerugian sehubungan dengan parameter model dengan mengubah nilai-nilai vektor bobot melalui metode optimasi yang berbeda, seperti backpropagation dalam jaringan saraf.

Nilai kerugian menyiratkan seberapa baik atau buruknya suatu model tertentu setelah setiap iterasi optimasi. Idealnya, orang akan mengharapkan pengurangan kerugian setelah masing-masing, atau beberapa, iterasi.

Keakuratan model biasanya ditentukan setelah parameter model dipelajari dan diperbaiki dan tidak ada pembelajaran yang terjadi. Kemudian sampel uji dimasukkan ke model dan jumlah kesalahan (nol-satu kerugian) yang dibuat model dicatat, setelah dibandingkan dengan target yang sebenarnya. Kemudian persentase kesalahan klasifikasi dihitung.

Misalnya, jika jumlah sampel uji adalah 1000 dan model mengklasifikasikan 952 sampel dengan benar, maka akurasi model adalah 95,2%.

masukkan deskripsi gambar di sini

Ada juga beberapa kehalusan sekaligus mengurangi nilai kerugian. Sebagai contoh, Anda mungkin mengalami masalah over-fitting di mana model "menghafal" contoh pelatihan dan menjadi semacam tidak efektif untuk set tes. Over-fitting juga terjadi dalam kasus di mana Anda tidak menggunakan regularisasi , Anda memiliki model yang sangat kompleks (jumlah parameter gratis Wbesar) atau jumlah titik data Nsangat rendah.


2
Hai @ Amir, terima kasih atas penjelasan detail Anda. Namun, saya memiliki masalah: di Jaringan Saraf Tiruan saya, kehilangan selalu berkurang ketika saya dilatih (ketika zaman meningkat), namun akurasinya tidak lebih baik.
mamatv

8
@ mamatv Selama biayanya menurun, Anda harus siap. Meskipun biaya dan akurasi biasanya memiliki hubungan proporsionalitas terbalik, tetapi Anda dapat mencatat bahwa akurasi adalah penjumlahan dari nol-satu kesalahan sedangkan biaya adalah penjumlahan dari angka floating point. Oleh karena itu, penurunan biaya 0,001% tidak berarti peningkatan akurasi 0,001%. Meningkatkan akurasi jauh lebih sulit ketika penurunan biaya tidak berwujud (biaya sangat dekat dengan minimum lokal)
Amir

2
@ mamatv Saya seharusnya mengatakan selama biaya untuk pelatihan dan validasi menurun Anda harus baik untuk pergi. Anda juga dapat memeriksa akurasi validasi pada setiap zaman. Jika mulai naik, maka model Anda mungkin sudah mulai terlalu bugar dan Anda harus berhenti melatihnya.
Amir

1
Mengapa tidak melatih model untuk meningkatkan akurasi daripada meminimalkan kerugian?
bikashg

2
Akurasi @bikashg tidak dapat dibedakan dan karena itu Anda tidak dapat mundur di atasnya.
DharmaTurtle

23

Mereka adalah dua metrik yang berbeda untuk mengevaluasi kinerja model Anda yang biasanya digunakan dalam fase yang berbeda.

Kehilangan sering digunakan dalam proses pelatihan untuk menemukan nilai parameter "terbaik" untuk model Anda (misalnya bobot dalam jaringan saraf). Inilah yang Anda coba optimalkan dalam pelatihan dengan memperbarui bobot.

Akurasi lebih dari perspektif terapan. Setelah Anda menemukan parameter yang dioptimalkan di atas, Anda menggunakan metrik ini untuk mengevaluasi seberapa akurat prediksi model Anda dibandingkan dengan data sebenarnya.

Mari kita gunakan contoh klasifikasi mainan. Anda ingin memprediksi jenis kelamin dari berat dan tinggi badan seseorang. Anda memiliki 3 data, mereka adalah sebagai berikut: (0 singkatan untuk pria, 1 singkatan untuk wanita)

y1 = 0, x1_w = 50kg, x2_h = 160cm;

y2 = 0, x2_w = 60kg, x2_h = 170cm;

y3 = 1, x3_w = 55kg, x3_h = 175cm;

Anda menggunakan model regresi logistik sederhana yaitu y = 1 / (1 + exp- (b1 * x_w + b2 * x_h))

Bagaimana Anda menemukan b1 dan b2? Anda mendefinisikan kerugian terlebih dahulu dan menggunakan metode optimisasi untuk meminimalkan kerugian dengan cara berulang dengan memperbarui b1 dan b2.

Dalam contoh kami, kerugian tipikal untuk masalah klasifikasi biner ini adalah: (tanda minus harus ditambahkan di depan tanda penjumlahan)

Kita tidak tahu apa yang seharusnya b1 dan b2. Mari kita membuat tebakan acak katakan b1 = 0,1 dan b2 = -0,03. Lalu apa kerugian kita sekarang?

jadi kerugiannya adalah

Kemudian Anda belajar algoritma (misalnya gradient descent) akan menemukan cara untuk memperbarui b1 dan b2 untuk mengurangi kerugian.

Bagaimana jika b1 = 0,1 dan b2 = -0,03 adalah b1 dan b2 akhir (output dari gradient descent), bagaimana keakuratannya sekarang?

Mari kita asumsikan jika y_hat> = 0,5, kami memutuskan prediksi kami adalah perempuan (1). jika tidak maka akan menjadi 0. Oleh karena itu, algoritma kami memprediksi y1 = 1, y2 = 1 dan y3 = 1. Apa akurasi kami? Kami membuat prediksi yang salah pada y1 dan y2 dan membuat prediksi yang benar pada y3. Jadi sekarang akurasi kami 1/3 = 33,33%

PS: Dalam jawaban Amir , back-propagation dikatakan sebagai metode optimasi di NN. Saya pikir itu akan diperlakukan sebagai cara untuk menemukan gradien untuk bobot di NN. Metode optimasi umum di NN adalah GradientDescent dan Adam.


terima kasih untuk perhitungannya. itu membantu memperjelas konsep.
Finn Frotscher

6

@Adnan Hanya untuk mengklarifikasi Pelatihan / Validasi / Tes set data: Set pelatihan digunakan untuk melakukan pelatihan awal model, menginisialisasi bobot jaringan saraf.

Set validasi digunakan setelah jaringan saraf dilatih. Ini digunakan untuk menyetel hyperparameters jaringan, dan membandingkan bagaimana perubahan itu mempengaruhi akurasi prediksi model. Sementara set pelatihan dapat dianggap sebagai yang digunakan untuk membangun bobot gerbang jaringan saraf, set validasi memungkinkan penyesuaian parameter atau arsitektur model jaringan saraf yang baik. Ini berguna karena memungkinkan perbandingan berulang dari parameter / arsitektur yang berbeda ini terhadap data dan bobot jaringan yang sama, untuk mengamati bagaimana perubahan parameter / arsitektur mempengaruhi daya prediksi jaringan.

Kemudian set tes digunakan hanya untuk menguji akurasi prediksi jaringan saraf terlatih pada data yang sebelumnya tidak terlihat, setelah pelatihan dan pemilihan parameter / arsitektur dengan set data pelatihan dan validasi.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.