Logistic 函数(或者叫做 sigmoid函数),LR做的假设是线性可分,可以从上次GNB中得到这种假设。
ψ
α
(
v
)
=
1
1
+
e
x
p
(
−
α
x
)
\psi_{\alpha}(v)=\frac{1}{1+exp(-\alpha x)}
ψα(v)=1+exp(−αx)1当
α
\alpha
α趋近于无穷的时候,上面Sigmoid趋向于阶越函数。
-
Logistic的分类边界
P ( y = 1 ∣ x ) = 1 1 + e x p ( − ( w 0 + w T x ) ) P(y=1|x) = \frac{1}{1+exp(-(w_0 + w^Tx))} P(y=1∣x)=1+exp(−(w0+wTx))1
P ( y = 0 ∣ x ) = 1 − P ( y = 1 ∣ x ) P(y=0|x) = 1-P(y=1|x) P(y=0∣x)=1−P(y=1∣x)
分类边界的决策面是线性的。
分类边界为什么是线性的呢?
l o g P ( y = 1 ∣ x ) P ( y = 0 ∣ x ) = 0 log\frac{P(y=1|x)}{P(y=0|x)} = 0 logP(y=0∣x)P(y=1∣x)=0
l o g 1 1 + e x p ( − ( w 0 + w T x ) ) 1 1 + e x p ( w 0 + w T x ) = 0 log\frac{ \frac{1}{1+exp(-(w_0 + w^Tx))}}{\frac{1}{1+exp(w_0 + w^Tx)}} =0 log1+exp(w0+wTx)11+exp(−(w0+wTx))1=0
化简得到
w T x + w 0 = 0 w^Tx+w_0=0 wTx+w0=0 -
重新表示一下Logistic regression
P ( y = 1 ∣ x ) = 1 1 + e x p ( − ( w 0 + w T x ) ) P(y=1|x) = \frac{1}{1+exp(-(w_0 + w^Tx))} P(y=1∣x)=1+exp(−(w0+wTx))1
输入变成 ( 1 x ) \binom{1}{x} (x1),模型的权重 ( w 0 w ) \binom{w_0}{w} (ww0)
P ( y = 1 ∣ x ) = 1 1 + e x p ( − w T x ) P(y=1|x) = \frac{1}{1+exp(-w^Tx)} P(y=1∣x)=1+exp(−wTx)1
多分类的Logistic Regression
y属于{1,…K}逻辑回归的公式可以定义为:
P
(
Y
=
k
∣
x
)
=
e
x
p
(
w
k
T
x
)
1
+
∑
j
=
1
K
−
1
e
x
p
(
w
j
T
x
)
,
k
<
K
P(Y=k|x) = \frac{exp(w^T_kx)}{1+\sum_{j=1}^{K-1}exp(w^T_jx)} , k<K
P(Y=k∣x)=1+∑j=1K−1exp(wjTx)exp(wkTx),k<K
对第K类,不用学习
w
k
w_k
wk直接定义
w
k
=
0
w_k=0
wk=0,所以
1
=
e
x
p
(
w
K
T
x
)
1 = exp(w^T_Kx)
1=exp(wKTx)
P ( Y = K ∣ x ) = 1 1 + ∑ j = 1 K − 1 e x p ( w j T x ) P(Y=K|x) = \frac{1}{1+\sum_{j=1}^{K-1}exp(w^T_jx)} P(Y=K∣x)=1+∑j=1K−1exp(wjTx)1上面的函数也叫做softmax 函数。
- 多分类的Logistic Regression的分类边界是什么样的呢?
Linear 线性, piecewise Linear 分段线性(拐点不可导),Smoothly nonlinear 一般非线性(相对piecewise Linear处处可导).
多分类的Logistic Regression的分类边界是 piecewise Linear 分段线性。
如何训练Logistic Regression
考虑简单的二分类问题
P
(
y
=
1
∣
x
)
=
1
1
+
e
x
p
(
−
w
T
x
)
P(y=1|x) = \frac{1}{1+exp(-w^Tx)}
P(y=1∣x)=1+exp(−wTx)1
训练数据
D
=
(
x
i
,
y
i
)
j
=
1
N
D = {(x_i,y_i)}_{j=1}^{N}
D=(xi,yi)j=1N
-
可以使用MLE(极大似然)吗?
w M L E ^ = a r g m a x w ∏ i = 1 N P ( x i , y i ∣ w ) \hat{w_{MLE}} = \underset{w}{argmax}\prod_{i=1}^NP(x_i,y_i|w) wMLE^=wargmaxi=1∏NP(xi,yi∣w)
对于判别式的模型,我们有P(y|x),但是没有P(x)的值,所以没法计算p(x,y),所以不能直接使用MLE. -
使用最大化条件似然 Maximum Conditional Likelihood Estimate
w ^ = a r g m a x w ∏ i = 1 N P ( y i ∣ x i , w ) \hat{w} = \underset{w}{argmax}\prod_{i=1}^NP(y_i|x_i,w) w^=wargmaxi=1∏NP(yi∣xi,w)
判别式的方法不去学习p(x),直接学习p(Y|X).
带入 P ( y = 1 ∣ x ) = 1 1 + e x p ( − w T x ) P(y=1|x) = \frac{1}{1+exp(-w^Tx)} P(y=1∣x)=1+exp(−wTx)1
得到 £ ( w ) = l o g ∏ i = 1 N P ( y i ∣ x i , w ) = ∑ i [ y i w T x i − l o g ( 1 + e x p ( w T x i ) ) ] \pounds (w) = log\prod_{i=1}^NP(y_i|x_i,w)=\sum_i[y_iw^Tx_i -log(1+exp(w^Tx_i))] £(w)=logi=1∏NP(yi∣xi,w)=i∑[yiwTxi−log(1+exp(wTxi))]
w ^ = a r g m a x w £ ( w ) \hat{w} =\underset{w} {argmax} \pounds (w) w^=wargmax£(w)
£ ( w ) \pounds (w) £(w) 是log-concave 函数, − £ ( w ) -\pounds(w) −£(w) 是convex函数。
可以使用梯度下降更新 − £ ( w ) -\pounds(w) −£(w)
− ▽ w £ ( w ) = ( ∂ £ ( w ) ∂ £ ( w 0 ) ∂ £ ( w ) ∂ £ ( w d ) ) -\triangledown _w\pounds (w)=\binom{\frac{\partial \pounds (w)}{\partial \pounds (w_0)}}{\frac{\partial \pounds (w)}{\partial \pounds (w_d)}} −▽w£(w)=(∂£(wd)∂£(w)∂£(w0)∂£(w))
W t + 1 = W t − η ▽ w £ ( w ) ∣ w t W_{t+1} = W_t - \eta \triangledown _w\pounds (w)|_{w_t} Wt+1=Wt−η▽w£(w)∣wt
sigmoid函数的求导
ψ
(
v
)
=
1
1
+
e
x
p
(
−
v
)
=
>
▽
v
ψ
=
ψ
(
1
−
ψ
)
\psi(v) = \frac{1}{1+exp(-v)} => \triangledown_v\psi=\psi(1-\psi)
ψ(v)=1+exp(−v)1=>▽vψ=ψ(1−ψ)
w
t
+
1
=
w
t
+
η
∑
i
=
1
N
x
i
(
y
i
−
μ
i
t
)
,
w
h
e
r
e
μ
i
t
=
P
(
y
=
1
∣
x
i
,
w
t
)
w_{t+1} = w_t + \eta\sum_{i=1}^{N}x_i(y_i-\mu_i^t), where \quad \mu_i^t=P(y=1|x_i,w_t)
wt+1=wt+ηi=1∑Nxi(yi−μit),whereμit=P(y=1∣xi,wt)
梯度下降是最简单的优化的方法,更快的方法还有牛顿法,拟牛顿法(不用计算Hession矩阵),共轭梯度法(O(Nd)), IRLS(复杂度O(N+ d 3 d^3 d3)其中 d 3 d^3 d3是计算Hession矩阵的复杂度)。
一般不会直接训练logsitic regression,会过拟合,使用正则化来解决过拟合的问题。 w特别大或者发散的时候做一些惩罚。
λ
2
∣
∣
w
∣
∣
2
2
+
£
(
D
i
w
)
\frac{\lambda}{2}||w||_2^2+\pounds(D_iw)
2λ∣∣w∣∣22+£(Diw)