- Python機器學習算法: 原理、實現與案例
- 劉碩
- 589字
- 2020-01-20 15:06:25
2.2 Softmax回歸
Logistic回歸只能處理二元分類問題,在其基礎上推廣得到的Softmax回歸可處理多元分類問題。Softmax回歸也被稱為多元Logistic回歸。
2.2.1 Softmax函數
假設分類問題有K個類別,Softmax對實例的類別進行預測時,需分別計算
為每一個類別的概率,因此每個類別擁有各自獨立的線性函數
:

這就意味著有K個,它們構成一個矩陣:

可定義Softmax回歸的函數為:

與Logistic回歸的logistic函數相對應,Softmax回歸使用softmax函數來預測概率。
softmax函數的輸出為一個向量:

其中的分量即是模型預測
為第j個類別的概率。
定義如下:

經觀察可發現,logistic函數實際上是softmax函數的特例:K=2時,softmax函數、分子分母同時除以,便是logistic函數的形式。
2.2.2 Softmax回歸模型
Softmax回歸模型假設函數為:

的輸出是模型預測
為各類別的概率,如果通過訓練確定了模型參數
,便可構建出多元分類函數:

2.2.3 梯度下降更新公式
Softmax回歸模型的損失函數被稱為交叉熵,定義如下:

其中,為指示函數,當
時為1,否則為0。經觀察可發現,Logistic回歸的損失函數是K = 2時的交叉熵。
下面推導梯度下降算法中參數的更新公式。
為矩陣,更新
即更新其中每一個
,這就需要計算
對每一個
的梯度。推導過程與Logistic回歸類似,這里直接給出計算公式:

其中,可解釋為模型預測
為第j類別的概率與其實際是否為第j類別(是為1,不是為0)之間的誤差。
對于隨機梯度下降算法,每次只使用一個樣本來計算梯度(m=1),相應梯度計算公式為:

假設梯度下降(或隨機梯度下降)算法學習率為,
的更新公式為:

最終得出,模型參數的更新公式為:

推薦閱讀
- Objective-C Memory Management Essentials
- 小程序實戰視頻課:微信小程序開發全案精講
- Learn WebAssembly
- 運用后端技術處理業務邏輯(藍橋杯軟件大賽培訓教材-Java方向)
- Vue.js 2 Web Development Projects
- INSTANT Yii 1.1 Application Development Starter
- C++反匯編與逆向分析技術揭秘(第2版)
- 網絡數據采集技術:Java網絡爬蟲實戰
- Java7程序設計入門經典
- Android應用開發實戰(第2版)
- Clojure High Performance Programming(Second Edition)
- Python 快速入門(第3版)
- Moodle 3.x Developer's Guide
- SQL Server 2012數據庫管理與開發(慕課版)
- Switching to Angular 2