二分类推导
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=⎣⎢⎢⎡1x1…xn⎦⎥⎥⎤W=⎣⎢⎢⎡w0w1…wn⎦⎥⎥⎤
针对线性分类器而言,他解决的是回归问题,为了能更好进行分类问题的探讨,这里就引出了 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+e−z1
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+e−z1=(1+e−z)21(e−z)=(1+e−z)1⋅(1−(1+e−z)1)=g(z)(1−g(z))
似然函数
参考三个概念一个例子。
三个概念:伯努利分布,似然函数,最大似然估计
一个例子:扔硬币
这里的参数
w
w
w 是我们要估计的参数,似然函数正比于我们的概率函数
L
(
w
∣
x
)
∝
P
(
x
∣
w
)
L ( w| x ) \propto P ( x | w )
L(w∣x)∝P(x∣w),累乘后得到整体的似然函数表达:
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=1∣xi)yi(1−P(yi=1∣xi))1−yi
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(Y∣w,X)=i=1∏m(hw(x(i)))y(i)(1−hw(x(i)))1−y(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=1∑my(i)logh(x(i))+(1−y(i))log(1−h(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 } }
wj∂J(w)=∂g(wTx)∂J(w)∗∂wTx∂g(wTx)∗∂wj∂wTx
分三部分求导:
第一部分
∂
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(θ)=y∗g(θTx)1+(y−1)∗1−g(θ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)
∂wTx∂g(wTx)=g(wTx)(1−g(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 }
wj∂wTx=∂wj∂J(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−(1−y)1−g(wTx)1)∂wj∂g(wTx)=(yg(wTx)1−(1−y)1−g(wTx)1)g(wTx)(1−g(wTx)))∂wj∂wTx=(y(1−g(wTx))−(1−y)g(wTx))xj=(y−hw(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 向量的值。