2.3.3 Softmax回归介绍
Softmax回歸
到現在我們的分類問題都只能識別0和1的問題,比如說是貓或者不是貓,那么更復雜的問題怎么辦呢?Softmax回歸就能讓你在多分類中識別是哪一個分類,而不只是二分類中識別。
如圖所示,這里我們用C來表示想要分類的總類別。符合編程習慣,我們第一個數是從0開始的。這里我們的輸出層有4個。因為它必須輸出四個數,所以這四個數的預測值概率加起來應該等于1.
在Softmx網絡中,最后一層,你也會像往常一樣計算各層的線性部分。整個網絡的計算流程大概如上圖所示,最后根據哪個概率大輸出預測值。
Sofxmax還可以做什么,我們可以舉一個例子
如圖所示,這里Softmax網絡在沒有隱藏層的情況下做的回歸分類。比如說這里我們有兩個輸入,有四個輸出,并最終生成預測。如圖所示,這里雖然是線性分類,但是的確可以讓這些數據分到三個類別當中。圖中的顏色顯式了Softmax分類器的輸出的閾值,左上角的輸出的著色是根據三種輸出中概率最高的那種。這個圖片顯示了Softmax在沒有隱藏層的情況下可以做到的事情。等有了更多的隱藏層的時候就可以學習得到更復雜的非線性決策邊界,來區分不同的分類。
訓練一個Softmax分類器
如圖所示,這是我們定義成本函數的方式。因為對于真實的值而言,比如說是cat,那么對應的y值是1,而y^y^是一個概率值,于是Loss Function中y就不起作用,而要保證loss function盡可能的小就需要y的預測值盡可能的大(雖然不可能大過1),所以這么寫loss function還是有一定的實際意義的。
上面說的是單樣本訓練,那么整個訓練集的損失函數J又是如何呢?如圖所示,就是對整個訓練樣本去在loss function然后取平均值。
注意到的是每一個小樣本都是4×1的向量,那么大樣本Y就是一個矩陣形式,是4×m的。
最后我們看一下Softmax輸出層如何實現梯度下降。
如圖所示,我們之前講了該算法的前向傳播過程,那么反向傳播過程是什么樣的呢?
反向傳播的關鍵步驟是對最后一層的z進行求導操作,
dz[L]=y^?ydz[L]=y^?y
但是,如果你要用深度學習框架的話,那么更多的只需要關注于前向傳播就夠了,因為深度學習框架會自動的幫你把反向傳播過程搭建好。
吳教主深度學習和神經網絡課程總綱
總結
以上是生活随笔為你收集整理的2.3.3 Softmax回归介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2.3.2 Batch Norm介绍
- 下一篇: 3.1.2 单一数字评估指标以及多个不同