损失函数基础——交叉熵函数二分类推导整理

二分类推导

Logistics Regression

先从线性回归开始
h w ( x i ) = w 0 + w 1 x 1 + w x 2 + … + w n x n h _ { w } \left( x ^ { i } \right) = w _ { 0 } + w _ { 1 } x _ { 1 } + w x _ { 2 } + \ldots + w _ { n } x _ { n } hw(xi)=w0+w1x1+wx2++wnxn

h w ( x j ) = w T x i = W T X h _ { w } \left( x ^ { j } \right) = w ^ { T } x _ { i } = W ^ { T } X hw(xj)=wTxi=WTX

X = [ 1 x 1 … x n ] W = [ w 0 w 1 … w n ] X = \left[ \begin{array} { c } { 1 } \\ { x _ { 1 } } \\ { \dots } \\ { x _ { n } } \end{array} \right] \quad W = \left[ \begin{array} { c } { w _ { 0 } } \\ { w _ { 1 } } \\ { \dots } \\ { w _ { n } } \end{array} \right] X=1x1xnW=w0w1wn
针对线性分类器而言,他解决的是回归问题,为了能更好进行分类问题的探讨,这里就引出了 Logistics 回归。

基础知识

逻辑回归是假设数据服从 Bernoulli 分布(抛硬币),因此LR属于参数模型。

其中是对于线性模型,加上了一个 Sigmoid 函数,这个也是神经网络的激活函数,拥有很多良好的特性。1. 拥有很好的激活特性,2. 求导很容易,这一点在 GD 上太重要了,对于 NN 的 BPTT 也起到了极为重要的作用。

LR 目标函数定义: h w ( x ) = g ( w T x ) h _ { w } ( x ) = g \left( w ^ { T } x \right) hw(x)=g(wTx)
其中 Sigmoid 函数 g(z) 的定义: g ( z ) = 1 1 + e − z g ( z ) = \frac { 1 } { 1 + e ^ { - z } } g(z)=1+ez1
Sigmoid 函数求导 g‘(z) 为:
g ′ ( z ) = d d z 1 1 + e − z = 1 ( 1 + e − z ) 2 ( e − z ) = 1 ( 1 + e − z ) ⋅ ( 1 − 1 ( 1 + e − z ) ) = g ( z ) ( 1 − g ( z ) ) \begin{aligned} g ^ { \prime } ( z ) & = \frac { d } { d z } \frac { 1 } { 1 + e ^ { - z } } \\ & = \frac { 1 } { \left( 1 + e ^ { - z } \right) ^ { 2 } } \left( e ^ { - z } \right) \\ & = \frac { 1 } { \left( 1 + e ^ { - z } \right) } \cdot \left( 1 - \frac { 1 } { \left( 1 + e ^ { - z } \right) } \right) \\ & = g ( z ) ( 1 - g ( z ) ) \end{aligned} g(z)=dzd1+ez1=(1+ez)21(ez)=(1+ez)1(1(1+ez)1)=g(z)(1g(z))

似然函数

参考三个概念一个例子。
三个概念:伯努利分布,似然函数,最大似然估计
一个例子:扔硬币
这里的参数 w w w 是我们要估计的参数,似然函数正比于我们的概率函数
L ( w ∣ x ) ∝ P ( x ∣ w ) L ( w| x ) \propto P ( x | w ) L(wx)P(xw),累乘后得到整体的似然函数表达:
L ( w ) = ∏ P ( y i = 1 ∣ x i ) y i ( 1 − P ( y i = 1 ∣ x i ) ) 1 − y i L ( w ) = \prod P \left( \mathrm { y } _ { i } = 1 | \mathrm { x } _ { i } \right) ^ { y _ { i } } \left( 1 - P \left( \mathrm { y } _ { i } = 1 | \mathrm { x } _ { i } \right) \right) ^ { 1 - y _ { i } } L(w)=P(yi=1xi)yi(1P(yi=1xi))1yi L ( w ) = p ( Y ∣ w , X ) = ∏ i = 1 m ( h w ( x ( i ) ) ) y ( i ) ( 1 − h w ( x ( i ) ) ) 1 − y ( i ) \begin{aligned} L ( w ) & = p ( Y | w ,X ) \\ & = \prod _ { i = 1 } ^ { m } \left( h _ w \left( x ^ { ( i ) } \right) \right) ^ { y ^ { ( i ) } } \left( 1 - h _ w \left( x ^ { ( i ) } \right) \right) ^ { 1 - y ^ { ( i ) } } \end{aligned} L(w)=p(Yw,X)=i=1m(hw(x(i)))y(i)(1hw(x(i)))1y(i)
累乘的形式不利于进行优化分析,这里将似然函数取对数,得到对数似然函数,作为我们的最终优化目标,运用极大似然估计来求得最优的 w w w
ℓ ( w ) = log ⁡ L ( w ) = ∑ i = 1 m y ( i ) log ⁡ h ( x ( i ) ) + ( 1 − y ( i ) ) log ⁡ ( 1 − h ( x ( i ) ) ) \begin{aligned} \ell ( w ) & = \log L ( w ) \\ & = \sum _ { i = 1 } ^ { m } y ^ { ( i ) } \log h \left( x ^ { ( i ) } \right) + \left( 1 - y ^ { ( i ) } \right) \log \left( 1 - h \left( x ^ { ( i ) } \right) \right) \end{aligned} (w)=logL(w)=i=1my(i)logh(x(i))+(1y(i))log(1h(x(i)))

最优化求解推导

利用链式法对目标函数则进行求导以求得最优参数。
∂ w j J ( w ) = ∂ J ( w ) ∂ g ( w T x ) ∗ ∂ g ( w T x ) ∂ w T x ∗ ∂ w T x ∂ w j \frac { \partial } {w _ { j } } J ( w) = \frac { \partial J ( w ) } { \partial g \left( w ^ { T } x \right) } * \frac { \partial g \left( w ^ { T } x \right) } { \partial w ^ { T } x } * \frac { \partial w ^ { T } x } { \partial w _ { j } } wjJ(w)=g(wTx)J(w)wTxg(wTx)wjwTx
分三部分求导:

第一部分
∂ J ( θ ) ∂ g ( θ T x ) = y ∗ 1 g ( θ T x ) + ( y − 1 ) ∗ 1 1 − g ( θ T x x ) \frac { \partial J ( \theta ) } { \partial g \left( \theta ^ { T } x \right) } = y * \frac { 1 } { g \left( \theta ^ { T } x \right) } + ( y - 1 ) * \frac { 1 } { 1 - g \left( \theta ^ { T _ { x } } x \right) } g(θTx)J(θ)=yg(θTx)1+(y1)1g(θTxx)1

第二部分
∂ g ( w T x ) ∂ w T x = g ( w T x ) ( 1 − g ( w T x ) ) \frac { \partial g \left( w ^ { T } x \right) } { \partial w ^ { T } x } = g \left( w^ { T } x \right) \left( 1 - g \left(w^ { T } x \right) \right) wTxg(wTx)=g(wTx)(1g(wTx))

第三部分
∂ w T x w j = ∂ J ( w 1 x 1 + w 2 x 2 + ⋯ w n x n ) ∂ w j = x j \frac { \partial w ^ { T } x } { w _ { j } } = \frac { \partial J \left( w _ { 1 } x _ { 1 } +w _ { 2 } x _ { 2 } + \cdots w _ { n } x _ { n } \right) } { \partial w _ { j } } = x _ { j } wjwTx=wjJ(w1x1+w2x2+wnxn)=xj

整理得到最终形式
∂ ∂ w j ℓ ( w ) = ( y 1 g ( w T x ) − ( 1 − y ) 1 1 − g ( w T x ) ) ∂ ∂ w j g ( w T x ) = ( y 1 g ( w T x ) − ( 1 − y ) 1 1 − g ( w T x ) ) g ( w T x ) ( 1 − g ( w T x ) ) ) ∂ ∂ w j w T x = ( y ( 1 − g ( w T x ) ) − ( 1 − y ) g ( w T x ) ) x j = ( y − h w ( x ) ) x j \begin{aligned} \frac { \partial } { \partial w_ { j } } \ell (w ) & = \left( y \frac { 1 } { g \left(w ^ { T } x \right) } - ( 1 - y ) \frac { 1 } { 1 - g \left(w^ { T } x \right) } \right) \frac { \partial } { \partial w _ { j } } g \left( w ^ { T } x \right) \\ & = \left( y \frac { 1 } { g \left( w ^ { T } x \right) } - ( 1 - y ) \frac { 1 } { 1 - g \left( w ^ { T } x \right) } \right) g \left(w ^ { T } x \right) \left( 1 - g \left( w^ { T } x ) \right) \right) \frac { \partial } { \partial w _ { j } } w ^ { T } x \\ & = \left( y \left( 1 - g \left( w^ { T } x \right) \right) - ( 1 - y ) g \left( w ^ { T } x \right) \right) x _ { j } \\ & = \left( y - h _ {w } ( x ) \right) x _ { j } \end{aligned} wj(w)=(yg(wTx)1(1y)1g(wTx)1)wjg(wTx)=(yg(wTx)1(1y)1g(wTx)1)g(wTx)(1g(wTx)))wjwTx=(y(1g(wTx))(1y)g(wTx))xj=(yhw(x))xj
因此总的 θ 更新公式为:
w j : = w j + α ( y ( i ) − h w ( x ( i ) ) ) x j ( i ) w _ { j } : = w _ { j } + \alpha \left( y ^ { ( i ) } - h _ { w } \left( x ^ { ( i ) } \right) \right) x _ { j } ^ { ( i ) } wj:=wj+α(y(i)hw(x(i)))xj(i)
总结:逻辑回归的优化目标是极大化对数似然估计,采用梯度上升来学习及更新参数 w w w 向量的值。

你可能感兴趣的:(深度学习)