Jaringan Saraf Tiruan - Korelasi Kehilangan dan Akurasi


11

Saya agak bingung dengan koeksistensi metrik Rugi dan Akurasi di Neural Networks. Keduanya seharusnya untuk membuat "ketepatan" dari perbandingan y dan y , bukan? Jadi bukankah aplikasi dari dua berlebihan dalam masa pelatihan? Selain itu, mengapa mereka tidak berkorelasi?y^

Jawaban:


9

Kehilangan log memiliki properti yang bagus sehingga merupakan fungsi yang dapat dibedakan. Akurasi mungkin lebih penting dan jelas lebih dapat diinterpretasikan tetapi tidak secara langsung dapat digunakan dalam pelatihan jaringan karena algoritma backpropagation yang membutuhkan fungsi kerugian dapat dibedakan. Ketika kerugian pilihan Anda tidak dapat dioptimalkan secara langsung (seperti keakuratannya), Anda menggunakan fungsi kerugian yang berperilaku mirip dengan proksi metrik sebenarnya. Dalam kasus klasifikasi biner, Anda akan menggunakan sigmoid di bagian akhir dan log loss untuk memperkirakan akurasi. Mereka sangat berkorelasi.


6

Kerugian lebih umum daripada akurasi. Dalam klasifikasi, Anda dapat mencapai akurasi 100%, di mana semua label diprediksi dengan benar. Tetapi bagaimana dengan regresi atau peramalan? Tidak ada definisi 0% dan 100%

Kehilangan bisa dioptimalkan dengan berbagai metode. Di kelas Metode Numerik, Anda telah belajar untuk memecahkan suatu fungsi dengan mengoptimalkannya (yang meminimalkan|yhSebuaht-y| ) dengan berbagai metode seperti metode Newton, metode pembagian dua bagian, dll.


0

Ya, mereka berdua mengukur ketepatan y dan y_hat dan ya mereka biasanya berkorelasi. Terkadang fungsi kerugian mungkin bukan akurasi tetapi Anda masih tertarik untuk mengukur akurasi meskipun Anda tidak mengoptimalkannya secara langsung. Contoh MNIST TensorFlow dari Google meminimalkan / mengoptimalkan kerugian lintas entropi tetapi menampilkan akurasi kepada pengguna saat melaporkan hasil, dan ini benar-benar baik-baik saja.

Terkadang Anda tidak ingin mengoptimalkan akurasi secara langsung. Misalnya, jika Anda memiliki ketidakseimbangan kelas yang serius, model Anda akan memaksimalkan akurasi dengan selalu memilih kelas yang paling umum, tetapi ini tidak akan menjadi model yang berguna. Dalam hal ini entropy / log-loss akan menjadi fungsi kerugian yang lebih baik untuk dioptimalkan.


7
Lebih penting lagi, akurasi bukanlah fungsi yang dapat dibedakan sehingga Anda tidak dapat mempropagandakannya.
Jan van der Vegt

@ JanvanderVegt Ya, itu poin yang bagus
Ryan Zotti

Saya belajar bahwa di Keras saya dapat meletakkan metrik evaluasi "khusus" (menurut kebiasaan dalam hal ini saya maksudkan bahwa tidak ada implementasi bawaan di Keras, seperti AUC atau F1-Score) dalam fungsi kompilasi. Saya berasumsi bahwa dalam kasus ini metrik "khusus" ini akan digunakan / ditampilkan alih-alih Akurasi di mana pun show_accuracyparameter ditetapkan ke True (seperti saat pemasangan atau dalam evaluasi). Apakah itu benar?
Hendrik

1
@ Hendrik ya Anda bisa, cukup buat def your_own_metric(y_true, y_pred)fungsi dan berikan kemodel.compile(..., metrics=[your_own_metric])
rilut
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.