明確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的在很多企業資料庫系統中可用的一些特性。如 外來鍵...