天天看點

Softmax Regression and Logistic Regression

本文先描述如何用廣義線性模型GLM推導出softmax regression,之後描述多項分類的一個特例logistic regression。

Softmax regression

一般分類問題中會将樣本分為k類,這類問題可以叫做softmax regression,是以我們可以假設k個參數 ϕ1,⋅⋅⋅,ϕk 代表每種分類的機率,實際中我們隻需要假設k-1個參數,因為 ϕk=1−∑k−1i=1ϕi .

在指數分布族中,我們之前定義T(y)=y,現在我們定義T(y)等于一個k-1維的向量,y可取1到k的正整數。映射關系如下:

T(1)=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢100⋅⋅⋅0⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥,T(2)=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢010⋅⋅⋅0⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥,T(3)=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢001⋅⋅⋅0⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥,⋅⋅⋅,T(k−1)=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢000⋅⋅⋅1⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥,T(k)=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢000⋅⋅⋅0⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

令 (T(y))i 為 T(y) 的第i個元素。是以 (T(y))i 可以用訓示函數來表示為 (T(y))i=1{y=i}

那麼 E[T(y)]=∑i=1kp(y=i)T(i)=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢ϕ1ϕ2ϕ3⋅⋅⋅ϕk−1⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

首先來再次看看此時指數分布族的三條假設:

(1) y|x;θ∼ExponentialFamily(η)

(2)給定 x ,我們要預測的是E(T(y)|x), T(y) 為k-1維向量,響應函數 h(x)=E[y|x]

(3) η=θTx

然後我們開始推導

1.将多項分布變化為指數分布族:

Softmax Regression and Logistic Regression

是以連接配接函數(link function)是

ηiϕiϕk∑i=1keηiϕi=logϕiϕk(i=1,2,⋅⋅⋅,k)=ϕkeηi=∑i=1kϕi=1→ϕk=1/∑i=1keηi=eηi∑ki=1eηi

此時我們可以用 ϕi=eηi∑ki=1eηi 來表示多項分布的機率模型,即

p(y=i|x;θ)=ϕi=eθTix∑ki=1eθTix(θk=0)

根據假設三,我們的響應函數h(x)為

hθ(x)=E[T(y)|x;θ]=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢ϕ1ϕ2⋅⋅⋅ϕk−1⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢eθT1x∑ki=1eθTixeθT2x∑ki=1eθTix⋅⋅⋅eθTk−1x∑ki=1eθTix⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

2.用MLE極大似然估計來計算 θ ,

ℓ(θ)=log∏i=1mp(y(i)|x(i);θ)=log∏i=1m∏l=1k(eθTlx(i)∑kj=1eθTjx(i))1{y(i)=l}=∑i=1m∑l=1k1{y(i)=l}logeθTlx(i)∑kj=1eθTjx(i)

是以Softmax regression的cost function為 J(θ)=−1m[∑i=1m∑l=1k1{y(i)=l}logeθTlx(i)∑kj=1eθTjx(i)]

∇θjJ(θ)=−1m∑i=1m[x(i)(1{y(i)=j}−p(y(i)=j|x(i);θ))]

然後用BGD就可以得到 θ 。

最終預測資料:輸入X得到 hθ(x) 的向量值,最大的數所在的維數即Y所屬的種類(如果 ϕk=1−∑k−1i=1ϕi 最大,那Y屬于第K類)

Logistic regression

有了softmax regression的推導,Logistic regression就很簡單了,LR其實就是一個伯努利分布而已。

因為隻有0和1兩類,是以我們還是讓 T(y)=y ,假設 p(1)=ϕ ,則 p(0)=1−ϕ

1、将伯努利分布轉化為指數分布

Bernoulli Distribution for Logistic Regression:

p(y;ϕ)=ϕy(1−ϕ)1−y

to Exponential Family:

p(y;ϕ)=ϕy(1−ϕ)1−y=exp(ylogϕ+(1−y)log(1−ϕ))=exp((logϕ1−ϕ)y+log(1−ϕ))

where T(y)b(y)a(y)η=y=1=−log(1−ϕ)=logϕ1−ϕ(linkfunction)

so, response function is ϕ=11+e−θTx

then, hθ(x)=E(T(y)|x;θ)=∑i=01p(y=i)T(i)=0(1−ϕ)+1ϕ=ϕ=11+e−θTx(sigmoidfunction)

2.用MLE來估計 θ

ℓ(θ)=log∏i=1mp(y(i)|x(i);θ)=log∏i=1mhθ(x(i))y(i)(1−hθ(x(i)))1−y(i)=∑i=1m(y(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i))))

so, the Cost Function for logistic regression is J(θ)=−1m[∑i=1m(y(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i))))]

the gradient of J(θ) is ∇θjJ(θ)=−1m∑i=1m[x(i)j(y(i)−hθ(x(i)))]

Actually, you will find that the j(θ) and ∇θjJ(θ) for Logistic regression is a simplified version of that for Softmax regression.

In the end, if we apply bayesian method to logistic regression, we will get a regularized term, which is similar as bayesian linear regression.

Softmax 回歸 vs. k 個二進制分類器

如果你在開發一個音樂分類的應用,需要對k種類型的音樂進行識别,那麼是選擇使用 softmax 分類器呢,還是使用 logistic 回歸算法建立 k 個獨立的二進制分類器呢?

這一選擇取決于你的類别之間是否互斥,例如,如果你有四個類别的音樂,分别為:古典音樂、鄉村音樂、搖滾樂和爵士樂,那麼你可以假設每個訓練樣本隻會被打上一個标簽(即:一首歌隻能屬于這四種音樂類型的其中一種),此時你應該使用類别數 k = 4 的softmax回歸。(如果在你的資料集中,有的歌曲不屬于以上四類的其中任何一類,那麼你可以添加一個“其他類”,并将類别數 k 設為5。)

如果你的四個類别如下:人聲音樂、舞曲、影視原聲、流行歌曲,那麼這些類别之間并不是互斥的。例如:一首歌曲可以來源于影視原聲,同時也包含人聲 。這種情況下,使用4個二分類的 logistic 回歸分類器更為合适。這樣,對于每個新的音樂作品 ,我們的算法可以分别判斷它是否屬于各個類别。

現在我們來看一個計算視覺領域的例子,你的任務是将圖像分到三個不同類别中。(i) 假設這三個類别分别是:室内場景、戶外城區場景、戶外荒野場景。你會使用sofmax回歸還是 3個logistic 回歸分類器呢? (ii) 現在假設這三個類别分别是室内場景、黑白圖檔、包含人物的圖檔,你又會選擇 softmax 回歸還是多個 logistic 回歸分類器呢?

在第一個例子中,三個類别是互斥的,是以更适于選擇softmax回歸分類器 。而在第二個例子中,建立三個獨立的 logistic回歸分類器更加合适。

參考資料:

【1】cs229 by Andrew Ng from 網易公開課.

【2】UFLDL.

繼續閱讀