為什麼softmax很少會出現 0 5,0 5 ?

時間 2021-05-06 11:40:50

1樓:Hermes777

輸出的是confidence而不是實際的概率,比如你把所有輸出為0.8的樣本放在一起來看,可能為真的概率多半不是0.8。

這個confidence和實際概率的吻合程度,就叫做calibration。calibrated的模型未必就是準確率高的,但對於醫療之類的問題,我們希望confidence要能反應實際的概率。

如果你是做deep learning的,可以看看這篇On Calibration of Modern Neural Networks。這篇文章裡經驗性地發現resnet之類的結構其實是不calibrated的

2樓:小狼

其實我覺得這個問題的關鍵在於「對於模型來說不確定的東西」。如果這個標準成立,那可能概率確實應該是0.5左右。但是這個「不確定」是你認為的「不確定」,而不是模型認為的。

可能由於訓練樣本的不均衡,讓他覺得拋硬幣「正面」的概率要遠高於「反面」。而你由於你的先驗知識,認為拋硬幣就是五五開的概率。

除了樣本的不均衡,也有可能有很多其他情況,我覺得最重要還是具體問題具體分析,不要想當然。

3樓:

softmax所使用的exp形式具有類似「馬太效應」的作用,對於給定的一組C維向量,經過softmax概率化後,小的值會變得相對更小,大的值會變得相對更大。

若是想讓網路輸出能夠表示不確定性樣本的某種指標,可以在傳統分類網路中引入不確定性估計。

4樓:

因為訓練的時候你沒有跟網路說什麼樣的東西應該不確定。

你只給了確定的label,要麼是[0,1]要麼是[1,0],那網路就只會出接近這兩個值的輸出。

分界線當然這背後是有數學原理的,二分類的softmax其實等價於sigmoid,如果一直給one-hot的標籤,在訓練集幾乎都能分正確的前提下,網路趨向於將feature的norm無限拉長,sigmoid越來越接近0-1的階躍函式,幾乎所有樣本的輸出就都在接近0和接近1的位置,中間態幾乎沒有。

注意這裡引入了乙個假設,即「訓練集幾乎都能分正確」。如果你的訓練集擬合得不好,你會發現輸出0.3、0.5之類的樣本的機會會大大增加。

分界線怎麼告訴網路不確定性呢?

有兩種方式:一種是soft label,即你直接就給部分樣本[0.5, 0.

5]的label;一種是noise label,就是你覺得不確定的東西,一會給0的label,一會給1的label。

這兩種方式都可以起作用,當然第一種效果更好一些,網路有比較明確的目標,第二種方式在batch training下其實也是有效的,只是看起來比較奇怪。

為什麼會出現歧視?

歧視 這種心態的產生,很多時候,是因為自己稍微領先別人一點點,但心裡沒點B數,沒能正確認識到本質上自身和對方處在同一階級,想裝逼卻發現別人不鳥你,繼而產生的憤懣情緒,需要找一種方式來發洩。部門經理歧視流水線工人,馬雲會去歧視工人嗎?開奧迪A4的歧視長安奔奔,開瑪莎拉蒂的會歧視奔奔嗎?身高1公尺8的嘲...

為什麼會出現easy boy現象?easy boy現象的深層次原因是什麼?

數控煉丹 真是奇怪的問題 戀愛關係本來就是自由並且擇優錄取的,全球化那麼多年了,誰處物件時還反覆強調 龍的傳人 這一身份啊。不管是男生還是女生,如果找到合適的外中國人並且選擇婚戀,作為旁觀者除了祝福還能做什麼?頂多是善意地提醒一下不要被騙被玩弄就好了。天天easy來easy去的,累不累啊。 落桐生花...

為什麼演算法中會出現magic number

李澤政 BKDRhash的131很好解釋,算不上magic number。原理很簡單,BKDR相當於進製hash。設進製為k。普通ascii的編碼範圍是0 127,比127大的第乙個質數就是131。那麼BKDRhash就是將原字串當作131進製,轉換成數字後再對乙個模數MOD取膜,使得最終結果對映在...