統計學習方法 第六章習題答案

習題6.1

題目:確認邏輯斯諦分佈屬於指數分佈族.
答:
先看看指數分佈族的定義
在這裏插入圖片描述
邏輯斯諦迴歸是廣義線性模型的一種,而廣義線性模型與最大熵模型都是源於指數族分佈。
對於二項邏輯斯蒂迴歸模型:

P(Y=1x)=exp(wx)1+exp(wx)P(Y=1 | x)=\frac{\exp (w \cdot x)}{1+\exp (w \cdot x)}
P(Y=0x)=11+exp(wx)P(Y=0 | x)=\frac{1}{1+\exp (w \cdot x)}
(跟上面的指數分佈族公式符號不太一樣,Y是指數分佈族公式符號中的x,x是指數分佈族公式符號ηη中的一個參數)

則有模型的分佈列爲:

P(Yx)=(exp(wx)1+exp(wx))y(11+exp(wx))1yP(Y|x) = (\frac{\exp (w \cdot x)}{1+\exp (w \cdot x)})^{y}(\frac{1}{1+\exp (w \cdot x)})^{1-y}

P(Yx)=exp(ylog(exp(wx)1+exp(wx))+(1y)log(11+exp(wx)))P(Y|x) = exp(ylog(\frac{\exp (w \cdot x)}{1+\exp (w \cdot x)}) + (1-y)log(\frac{1}{1+\exp (w \cdot x)}))

π(x)=1+exp(wx)\pi(x) = 1+\exp (w \cdot x)

P(Yx)=exp(ylog(π(x)π(x)+1)+(1y)log(11+π(x)))P(Y|x) = exp(ylog(\frac{\pi(x)}{\pi(x)+1}) + (1-y)log(\frac{1}{1+\pi(x)}))

P(Yx)=exp(ylog(π(x))log(π(x)+1))P(Y|x) = exp(ylog(\pi(x)) - log(\pi(x) + 1))

則有

h(y)=1h(y)=1
T(y)=yT(y)=y
η=log(π(x))η=log(\pi(x))
A(η)=log(π(x)+1)=log(exp(η)+1)A(η) = log(\pi(x) + 1)=log(exp(η)+1)
得證
對於多項邏輯斯蒂迴歸模型
(多項的感覺有點問題,大家可以一起討論哈)
P(Y=kx)=exp(wkx)1+k=1K1exp(wkx),k=1,2,,K1P(Y=k | x)=\frac{\exp \left(w_{k} \cdot x\right)}{1+\sum_{k=1}^{K-1} \exp \left(w_{k} \cdot x\right)}, \quad k=1,2, \cdots, K-1
P(Y=Kx)=11+k=1K1exp(wkx)P(Y=K | x)=\frac{1}{1+\sum_{k=1}^{K-1} \exp \left(w_{k} \cdot x\right)}
則分佈列可以寫爲
P(Yx)=(exp(wkx)1+k=1K1exp(wkx))f(y),k=1,2,,KP(Y|x) = (\frac{\exp \left(w_{k} \cdot x\right)}{1+\sum_{k=1}^{K-1} \exp \left(w_{k} \cdot x\right)})^{f(y)}, \quad k=1,2, \cdots, K

其中:

f(y)={1,y=k0,ykf(y)=\left\{\begin{array}{ll}1, &y=k \\ 0, & y\neq k\end{array}\right.

k=1Kexp(wkx)=1+k=1K1exp(wkx)\sum^{K}_{k=1}exp(w_{k}\cdot x) = 1 + \sum^{K-1}_{k=1}exp(w_{k}\cdot x)
則有P(Yx)=exp(f(y)log(exp(wkx)1+k=1K1exp(wkx)))P(Y|x) = exp(f(y)log(\frac{\exp \left(w_{k} \cdot x\right)}{1+\sum_{k=1}^{K-1} \exp \left(w_{k} \cdot x\right)}))
同理有
h(y)=1h(y)=1
T(y)=f(y)T(y)=f(y)
η=log(exp(wkx)1+k=1K1exp(wkx))η=log(\frac{\exp \left(w_{k} \cdot x\right)}{1+\sum_{k=1}^{K-1} \exp \left(w_{k} \cdot x\right)})
A(η)=0A(η) = 0

習題6.2

題目:寫出邏輯斯諦迴歸模型學習的梯度下降算法.
對於邏輯斯諦模型,條件概率分佈如下:
P(Y=1x)=exp(wx+b)1+exp(wx+b)P(Y=1 | x)=\frac{\exp (w \cdot x+b)}{1+\exp (w \cdot x+b)}
P(Y=0x)=11+exp(wx+b)P(Y=0 | x)=\frac{1}{1+\exp (w \cdot x+b)}
對數似然函數爲:
L(w)=i=1N[yi(wxi)log(1+exp(wxi))]L(w)=\sum_{i=1}^{N}\left[y_{i}\left(w \cdot x_{i}\right)-\log \left(1+\exp \left(w \cdot x_{i}\right)\right)\right]
(對數似然函數計算在書的79頁)
L(w)L(w)ww的導數
L(w)w=i=1N[xiyiexp(wxi)xi1+exp(wxi)]\frac{\partial L(w)}{\partial w}=\sum_{i=1}^{N}\left[x_{i} \cdot y_{i}-\frac{\exp \left(w \cdot x_{i}\right) \cdot x_{i}}{1+\exp \left(w \cdot x_{i}\right)}\right]

L(w)=[L(w)w(0),,L(w)w(m)]\nabla L(w)=\left[\frac{\partial L(w)}{\partial w^{(0)}}, \ldots, \frac{\partial L(w)}{\partial w(m)}\right]
算法流程:
(1)選取初值w0w_{0},取k=0k=0
(2)計算L(wk)L(w_{k})
(3)更新www(k+1)=w(k)+λkL(wk)w_{(k+1)}=w_{(k)}+\lambda_{k} \nabla L\left(w_{k}\right)
(4)轉(2)同時k=k+1k=k+1,直到L(w)L(w)的變化範圍在可接受範圍內。

習題6.3

題目:寫出最大熵模型學習的DFP算法.(關於一般的DFP算法參見附錄B)
這個解答可以參考:https://blog.csdn.net/xiaoxiao_wen/article/details/54098476

參考

指數分佈族
指數分佈族筆記
指數分佈族相關公式推導

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章