2013-02-11 15 views
2

我正在使用Apache Mahout處理二進制分類問題。我使用的算法是OnlineLogisticRegression,我目前強烈傾向於產生預測的模型是1或0,沒有任何中間值。SGD model「overconfidence」

請提出一種方法來調整或調整算法,使其在預測中產生更多的中間值。

在此先感謝!

回答

5

分類器的測試錯誤率是多少?如果它接近零,那麼有信心是一個功能,而不是一個錯誤。

如果測試錯誤率高(或至少不低),那麼分類器可能是過度擬合訓練集:測量訓練錯誤和測試錯誤之間的差異。在那種情況下,正如rrenaud所建議的那樣增加正規化可能會有所幫助。

如果您的分類器不是過度擬合,則可能存在概率校準問題。 Logistic迴歸模型(例如使用logit連接函數)應該產生足夠好的概率校準(如果問題近似線性可分並且標籤不太嘈雜)。您可以按照this paper中所述的圖解檢查概率校準。如果這確實是一個校準問題,那麼實施基於Platt縮放或等滲迴歸的自定義校準可能有助於解決問題。

2

從閱讀Mahout AbstractOnlineLogisticRegression文檔,它看起來像你可以控制正則化參數lambda。增加lambda應該意味着你的權重更接近0,因此你的預測更加被對衝。

+0

是的,我玩過lambda。用足夠的值來產生像我希望模型的準確度降低很多的值。 – 2013-02-12 11:15:26

+0

我有一個擴展正則化方法的思路,即通過向模型添加一個懲罰,不僅如果它的權重值太高,而且它的預測值太高(應用sigmoid函數之前)。你能說什麼呢? – 2013-02-12 11:21:30