SoftMax 回歸(與Logistic 回歸的聯系與區別)


SoftMax 回歸(與Logistic 回歸的聯系與區別)

SoftMax 試圖解決的問題

SoftMax回歸模型是Logistic回歸模型在多分類問題上的推廣,即在多分類問題中,類標簽y可以取兩個以上的值

對於Logistic回歸的假設函數\(h_\theta(x) = \frac{1}{1 + \exp(-x)}\),它的輸出結果將被投影到\([0,1]\)區間上,根據假設函數的輸出值的大小,我們預測該輸入值是否屬於某一個類別,其結果只會是不是,即Logistic回歸只能解決二分類問題.

SoftMax實現多分類的思路很簡單: 對於每一個分類,輸出一個假設值,用於判定當前輸入值對應該類的概率,最終根據各個類的概率大小判定該輸入值對應的分類. 可以看出,SoftMax的思想有點類似於獨熱編碼

SoftMax回歸的假設函數,代價函數及正則化

SoftMax的假設函數如下:

\[h_\theta(x^{(i)}) = \left[ \begin{matrix} & p(y^{(1)}| x^{(i)};\theta_1)\\ & p(y^{(2)}|x^{(i)};\theta_2)\\ &:\\ &p(y^{(k)}|x^{(i)};\theta_k) \end{matrix} \right] = \frac{1}{\sum_{j=1}^{k}e^{\theta_j^T}x^{(i)}} \left[ \begin{matrix} & e^{\theta_1^Tx^{(i)}}\\ & e^{\theta_2^Tx^{(i)}}\\ &:\\ & e^{\theta_k^Tx^{(i)}} \end{matrix} \right] \]

其中\(\theta_1,\theta_2,...,\theta_k \in \R^{n+1}\)是訓練模型的參數,右式分母意義在於歸一化至\([0,1]\)區間,使得所有概率和為一

轉化為矩陣運算,我們用

\[\Theta = \left[ \begin{matrix} &\theta_1^T \\ &\theta_2^T \\ &:\\ &\theta_k^T \end{matrix} \right] \]

來表示所有的參數. 顯然,\(\Theta\)是一個\(k*(n+1)\)的矩陣

代價函數為

image-20201203193353937

image-20201203193525550

image-20201203193556867

image-20201203193615180

K-Logistic 與 SoftMax 的選擇

image-20201203193632942


Update: 部分代碼節選

下面簡單介紹利用softmax訓練模型時,所需實現的求解損失函數、梯度的代碼

function [cost,grad] = softMaxCost(theta,n,k,X,oneHoty,lambda)
% 參數介紹
% theta 傳入為一個向量
% n為輸入維度
% k為最終分類樹
% X為n*m的輸入樣本,每一列代表一個樣本
% lambda為正則項
% - - - - - - - - - - - - - - - - - - - - - - - - - - - -
theta = reshape(theta,k,n); % 規模k*n
m = size(X,2); % 樣本數
groudTruth = oneHoty; % 真實值
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
cost = 0;
thetagrad = zeros(size(theta));
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
temp = theta * X;
temp = exp(temp);
H = bsxfun(@rdivide,temp,sum(temp)); 
temp = log(H);
temp = groudTruth .* temp;
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
cost = -1/m * sum(sum(temp)) + lambda/2*sum(sum(theta.^2));
thetagrad = -1/m * (groundTruth-H)*X' + lambda * theta;
grad = [thetagrad(:)];
end


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM