Jawaban:
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.
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 ) dengan berbagai metode seperti metode Newton, metode pembagian dua bagian, dll.
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.
show_accuracy
parameter ditetapkan ke True (seperti saat pemasangan atau dalam evaluasi). Apakah itu benar?
def your_own_metric(y_true, y_pred)
fungsi dan berikan kemodel.compile(..., metrics=[your_own_metric])