LR的決策函數爲
h(x)=σ(θTx)=1+e−θTx1(1)
其中σ(z)=1+e−z1,稱爲sigmoid函數
設h(x)表示該樣本爲正例的概率,將其視爲類後驗概率估計p(y=1∣x;θ),則:
p(y=1∣x;θ)=h(x)(2)
p(y=0∣x;θ)=1−h(x)(3)
合併式(2)(3)得到
p(y∣x;θ)=h(x)y(1−h(x))1−y(4)
我們可以使用極大似然估計來得到參數θ,似然函數爲
L(θ)=i=1∏mp(y(i)∣x(i);θ)=i=1∏mh(x(i))y(i)(1−h(x(i)))1−y(i)(5)
其中m爲數據集的樣本個數.
由於取對數不影響單調性且可以避免一些數值問題,取對數可得
logL(θ)=i=1∑my(i)log(h(x(i)))+(1−y(i))log(1−h(x(i)))(6)
最大化式(6)等價於最小化下列損失函數,剛好就是交叉熵損失函數:
J(θ)=−m1i=1∑my(i)log(h(x(i)))+(1−y(i))log(1−h(x(i)))(7)
爲推導簡便,令Ji表示J(θ)的第i項,對應了第i個樣本,即
J(θ)=−m1i=1∑mJi(θ)(8)
Ji(θ)=y(i)log(h(x(i)))+(1−y(i))log(1−h(x(i)))(9)
下面先推導出∂θ∂Ji,省略Ji表達式中x(i)、y(i)和h(i)的上標(i),有:
∂θ∂Ji(θ)=y∂θ∂logh+(1−y)∂θ∂log(1−h)=hy∂θ∂h+(1−h)(1−y)∂θ∂(1−h)=h(1−h)y−h∂θ∂h=h(1−h)y−h∂θ∂σ(z)=h(1−h)y−h∂z∂σ(z)∂θ∂z=h(1−h)y−hh(1−h)∂θ∂θTx=(y−h)x
補好上標(i)則是:
∂θ∂Ji=(y(i)−h(i))x(i)(10)
由式(8)和式(10)得
∂θ∂J=−m1i=1∑m∂θ∂Ji=m1i=1∑m(h(i)−y(i))x(i)(11)
故梯度更新式爲θ←θ−αm1i=1∑m(h(i)−y(i))x(i)(12)
References:
[1] 機器學習 3.3節. 周志華