二分類logloss不降的原因及分析

2021-09-22 10:22:16 字數 954 閱讀 1465

當二分類loss在0.693並且一直不降的時候,就應該意識到模型出問題了,當然可能是你的模型結構出問題或者設定的引數不合適。三個問題,logloss是可以大於1的嗎?它的正常範圍應該是多少?一般多小的logloss算是好的分類器?

logloss可以大於1,但是對於二元分類來說,大於1說明這個模型是比較糟糕。

回顧一下loglosslogloss的公式

其中n是測試樣本的個數,pi為**第i個樣本為陽性的概率,yi表示第i個**樣本的真實標籤(1代表陽性,-1代表陰性)。

我一開始就說了大於1的logloss是很差的。0.8依然很差。我憑什麼這麼說?

假如我們現在有個訓練集,100萬個資料點,其中10萬個為陽性,那麼總體上每個樣本為1的概率可近似認為是0.1。通常來說,測試集的分布是非常接近於訓練集的,那麼測試集中大概有10%的樣本為陽性。如果我們**測試集中每個樣本為1的概率都為0.1,那麼logloss會是多少呢?

假如總體分布是每個樣本以p的概率為陽性,我們**每個樣本為陽性的概率都為p,也就是pi=p,那麼logloss是多少呢?

很顯然

所以最差的情況就是,樣本正好是一半陽性一半陰性,此時你按照上面方面**(亂猜)出的logloss是0.693。所以當loss是0.693,差不多就說明模型已經混亂了。當然上面的情況是在kl散度等於0的情況下得出的,解釋如下:

二分類 多分類

怎麼樣把兩類的分類的模型推廣到多類上?答 a.一對多法 one versus rest,簡稱ovr svms 訓練時依次把某個類別的樣本歸為一類,其他剩餘的樣本歸為另一類,這樣k個類別的樣本就構造出了k個svm。分類時將未知樣本分類為具有最大分類函式值的那類。b.一對一法 one versus on...

二分類問題

模型 帶有relu啟用的dense層堆疊 對於二分類問題,網路的最後一層應該是只有乙個單元並使用sigmoid啟用的dense層,網路的輸出應該是0 1的標量,表示概率值 對於二分類問題的sigmoid標量輸出,應該使用binary crossentroy 二元交叉熵 損失函式 實驗 1 嘗試增加或...

二分類問題

深度學習中的基本問題就是這個,上午我還達到90 85 的acc,現在只有76 臥槽,我動 了啊?有鬼。明明沒怎麼改引數,卻再也回不到過去,這個trick不小啊。既然回不到過去,不妨重新開始吧。我套了一下vgg,發現網路太深了,根本跑不動,效果也不好,減少網路後,acc反而有提高,之前我還以為驗證集有...