Selama pelatihan dari sebuah classifier biner jaringan saraf sederhana saya mendapatkan nilai kerugian yang tinggi, menggunakan cross-entropy. Meskipun demikian, nilai akurasi pada set validasi cukup baik. Apakah ada artinya? Tidak ada korelasi ketat antara kehilangan dan akurasi?
Saya memiliki pelatihan dan validasi nilai-nilai ini: 0.4011 - acc: 0.8224 - val_loss: 0.4577 - val_acc: 0.7826 . Ini adalah upaya pertama saya untuk mengimplementasikan NN, dan saya baru saja mendekati pembelajaran mesin, jadi saya tidak dapat mengevaluasi hasil ini dengan benar.
neural-networks
accuracy
pengguna146655
sumber
sumber
Jawaban:
Saya pernah mengalami masalah serupa.
Saya telah melatih pengklasifikasi biner jaringan saraf saya dengan kehilangan entropi silang. Di sini hasil entropi silang sebagai fungsi zaman. Merah untuk set latihan dan biru untuk set tes.
Dengan menunjukkan akurasi, saya mendapat kejutan untuk mendapatkan akurasi yang lebih baik untuk zaman 1000 dibandingkan dengan zaman 50, bahkan untuk set tes!
Untuk memahami hubungan antara entropi silang dan akurasi, saya telah menggali model yang lebih sederhana, regresi logistik (dengan satu input dan satu output). Berikut ini, saya hanya menggambarkan hubungan ini dalam 3 kasus khusus.
Secara umum, parameter di mana cross entropy minimum bukanlah parameter di mana akurasi maksimum. Namun, kami mungkin mengharapkan beberapa hubungan antara entropi silang dan akurasi.
[Berikut ini, saya berasumsi bahwa Anda tahu apa itu cross entropy, mengapa kami menggunakannya alih-alih keakuratan untuk melatih model, dll. Jika tidak, harap baca ini dulu: Bagaimana mengartikan skor cross entropy? ]
Ilustrasi 1 ini adalah untuk menunjukkan bahwa parameter di mana cross entropy minimum adalah bukan parameter di mana akurasi maksimum, dan untuk memahami mengapa.
Ini adalah contoh data saya. Saya punya 5 poin, dan misalnya input -1 telah mengarah ke output 0.
Entropi silang. Setelah meminimalkan entropi silang, saya mendapatkan akurasi 0,6. Pemotongan antara 0 dan 1 dilakukan pada x = 0,52. Untuk 5 nilai, saya masing-masing mendapatkan entropi silang dari: 0,14, 0,30, 1,07, 0,97, 0,43.
Ketepatan. Setelah memaksimalkan akurasi pada grid, saya mendapatkan banyak parameter berbeda yang mengarah ke 0,8. Ini dapat ditampilkan secara langsung, dengan memilih cut x = -0.1. Anda juga dapat memilih x = 0,95 untuk memotong set.
Dalam kasus pertama, entropi silang besar. Memang, titik keempat jauh dari potongan, sehingga memiliki entropi silang yang besar. Yaitu, saya masing-masing mendapatkan entropi silang dari: 0,01, 0,31, 0,47, 5,01, 0,004.
Dalam kasus kedua, cross entropy juga besar. Dalam hal ini, titik ketiga jauh dari potongan, sehingga memiliki entropi silang yang besar. Saya masing-masing mendapatkan entropi silang: 5e-5, 2e-3, 4.81, 0.6, 0.6.
Saya berpikir bahwa jika model memiliki kapasitas yang cukup (cukup untuk memuat model yang sebenarnya), dan jika datanya besar (yaitu ukuran sampel hingga tak terbatas), maka cross entropy mungkin minimum ketika akurasi maksimum, setidaknya untuk model logistik . Saya tidak punya bukti tentang ini, jika seseorang memiliki referensi, silakan bagikan.
Daftar pustaka: Subjek yang menghubungkan lintas entropi dan akurasi itu menarik dan kompleks, tetapi saya tidak dapat menemukan artikel yang membahas hal ini ... Untuk mempelajari keakuratan itu menarik karena meskipun merupakan aturan penilaian yang tidak tepat, semua orang dapat memahami maknanya.
Catatan: Pertama, saya ingin menemukan jawaban di situs web ini, posting yang berhubungan dengan hubungan antara akurasi dan cross entropy sangat banyak tetapi dengan beberapa jawaban, lihat: Traing yang sebanding dan test cross-entropies menghasilkan akurasi yang sangat berbeda ; Kehilangan validasi turun, tetapi akurasi validasi memburuk ; Keraguan pada fungsi kerugian lintas entropi kategoris ; Menafsirkan kehilangan log sebagai persentase ...
sumber
ahstat memberikan ilustrasi yang sangat bagus.
Terinspirasi oleh ilustrasi ini, saya menyimpulkan 2 alasan yang mungkin. 1. Model terlalu sederhana untuk mengekstrak fitur yang diperlukan untuk prediksi. Dalam Illustration 1 Anda, ini adalah masalah berlipat ganda dan perlu satu lapisan lagi untuk mendapatkan akurasi 100%. 2. Data memiliki terlalu banyak label berisik (bandingkan Ilustrasi 1 dan 3)
Adapun Ilustrasi 2, menjelaskan mengapa kita tidak dapat menambahkan terlalu banyak regularisasi L1 / L2 pada model.
sumber