softmax交叉熵的侷限性

2021-10-02 12:28:01 字數 949 閱讀 4652

明確softmax交叉熵是幹啥的:

我們識別乙個中的手寫數字 ,比如7  ,經過訓練我們得到乙個**值,使用onehot表示就是

[ 0 , 0, 0 ,0,0,1,0,1, 0, 0] //第6個位置是1,代表**是5

這顯然不準確

如果我們現在使用softmax交叉熵去優化的話,就能實現如下效果:

我們**值裡面的 1 ,會不斷地接近第8個位置,也就是正確的值7 

最終會成為

[0,0,0,0,0,0,0,0,1,0,0] //正確

但是,我舉個例子,如果乙個裡面有 4個數 , 我們想把這四個數給識別出來

我們的**值是:

[ [0,0,0,0,0,0,0,0,0,1]

[0,1,0,0,0,0,0,0,0,0]

[0,0,0,0,1,0,0,0,0,0]

[0,0,0,0,0,0,1,0,0,0]

]但是正確答案是:

[ [0,0,0,0,0,0,1,0,0,0]

[0,0,1,0,0,0,0,0,0,0]

[0,0,0,0,0,1,0,0,0,0]

[0,0,0,0,0,1,0,0,0,0]

]

我們要想使用softmax進行優化,必須要求是乙個一維的陣列,也就是,我們不得不把這四個**值合併成乙個一維向量。

[0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0]

但是,這種情況,我們應該讓 1 ,怎樣逼近實際的1的位置呢?softmax做不到這種優化。

總結: softmax優化不適合這種多特徵的優化
解決方案: 使用sigmoid 交叉熵

時代侷限性

時代侷限性的 什麼是時代侷限性?根本原因是理性能力的有限性。一般而言,我們能對問題提出具有一定一般性的解釋並經過一些檢驗,這樣的知識獲取就可以算作理性推知了。至少包括 能理清邏輯 確立因果的解釋是稀有的。不經過思考屬於迷信權威。主要指實踐中的試錯成分。試錯得到的結果有可能缺乏可解釋性。一味堅持過去實...

SQLite的侷限性

sql 92特性方面 正如前面提到的,sqlite不支援sql 92的在很多企業資料庫系統中可用的一些特性。如 外來鍵約束 可解析的,但非強制 很多alter table特性 一些trigger相關的特性 right和full outer join 更新乙個view grant和revoke 你可以...

SQLite的侷限性

sqlite和其他大部分現代sql資料庫在基本設計目標上是不同的,它的目標是簡單。sqlite遵循這一目標,即使這樣偶爾會導致某些特性實現的低效化。下面列舉了sqlite的一些缺陷 sql 92特性方面 正如前面提到的,sqlite不支援sql 92的在很多企業資料庫系統中可用的一些特性。如 外來鍵...