[知乎作答]·關於在Keras中多標簽分類器訓練准確率問題


[知乎作答]·關於在Keras中多標簽分類器訓練准確率問題

本文來自知乎問題 關於在CNN中文本預測sigmoid分類器訓練准確率的問題?中筆者的作答,來作為Keras中多標簽分類器的使用解析教程。

 

一、問題描述

關於在CNN中文本預測sigmoid分類器訓練准確率的問題?

對於文本多標簽多分類問題,目標標簽形如[ 0 0 1 0 0 1 0 1 0 1 ]。在CNN中,sigmoid分類器訓練、測試的准確率的判斷標准是預測准確其中一個標簽即為預測准確還是怎樣。如何使sigmoid分類器的准確率的判斷標准為全部預測准確即為預測准確。有什么解決方案?

 

二、問題回復

 

問題中提出的解決多標簽多分類問題的解決方法是正確的。但是要注意幾點,keras里面使用這種方式的acc是二進制acc,會把多標簽當做單標簽計算。

什么意思呢?舉個例子,輸入一個樣本訓練,共有十個標簽,其中有兩個為1,而你預測結果為全部是0,這時你得到准確率為0.8。最后輸出的ac是所有樣本的平均。可以看出這個准確率是不可信的。

解決方法如下:重寫acc評價指標,筆者自己寫了一個多標簽分類的acc,一個樣本里,只有全部標簽都對應上才acc為1,有一個不對就為0。

acc是keras輸出acc,my_acc是多標簽acc,因為使用了數據增強,valacc更高。

 

由於每個label的比例不同,又測試不同權重重寫loss來對比。發現通過調整合適權重可以,相同參數下可以達到更優效果。

 

設置合適的權重值,val_acc上升了,val多標簽acc也達到了更高。

關於如何設置合適權重,筆者還在實驗中,可以關注下筆者的知乎博客。后面實驗結果會及時更新。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM