Class3Softmax回歸
回歸VS分類
回歸是估計一個連續值
分類是預測一個離散類別
回歸 | 分類 |
---|---|
單連續值輸出 | 通常為多個輸出 |
自然區間R | 輸出i是預測為第i類的置信度 |
跟真實值的區別作為損失 |
生活中的分類問題
1.垃圾分類
類別:
可回收物
濕垃圾(廚余垃圾)
干垃圾
有害垃圾
2.郵件分類
類別:
正常郵件
垃圾郵件(廣告、釣魚)
從回歸到多類分類
均方損失
判斷當前元素為該類,設置為1,其余類別歸為0
無校驗比例
為什么需要校驗?
因為Softmax 的輸出不是總是可靠的概率,原因是模型可能過于自信或不夠自信。
舉例:
模型預測某圖像為 “貓” 的概率為 0.95,但是實際上模型只有 70% 的概率是正確的。這種情況下:
無校驗比例是 0.95(原始 softmax 輸出)
校驗比例是 0.70(經過校準的真實置信度)
常見的配置為:
訓練比例:80%
校驗比例:20%
Softmax
Softmax 是一個常用在 分類模型輸出層 的函數,主要作用是將一組實數轉換為概率分布,即每個輸出值都是 0 到 1 之間的數,并且所有輸出加起來等于 1。
公式:
給定一個向量
𝑧=[𝑧1,𝑧2,…,𝑧𝑛],softmax輸出 𝜎(𝑧)𝑖為:
對每個元素求指數𝑒𝑧𝑖
然后除以所有指數的總和
得到的是每個類別的“相對概率”
Softmax 的作用:
歸一化:輸出變成概率分布(所有值相加等于 1)。
區分強弱:大值被放大,小值被壓縮,更容易做出決策。
適合分類任務:常用于神經網絡多分類的最后一層。
左圖是模型的原始輸出(logits),右圖是通過 softmax 轉換后的概率分布。可以看到:
logits 數值差距不大,但 softmax 后的概率差距被放大。
最大的 logits(Class A)對應最高的概率(約 65%)。
所有概率加起來正好是 1,適合用于多分類預測。
交叉熵損失
交叉熵常用來衡量兩個概率分布的區別。
公式:
𝑝:真實的概率分布(比如 one-hot 標簽)
𝑞:模型預測的概率分布(經過 softmax 得到)
理解:
如果預測𝑞越接近真實標簽𝑝,那么交叉熵越小(越好)
如果預測錯了,尤其是把正確類的概率預測得很低,損失會很大(因為 log 變負很快)
本質上,交叉熵就是衡量預測概率分布與真實 one-hot 分布的差距
梯度推導公式
這是 softmax + cross entropy 的梯度
含義:
損失函數對第 𝑖個輸出的梯度 = 預測概率 - 真實值
它使得訓練過程的反向傳播特別高效(簡潔且數值穩定)
常被稱作 “softmax with log loss” 的“簡化公式”
總結