逻辑斯蒂回归的先验分布是伯努利分布,softmax的先验分布是多项式分布
LR太简单了,简单到经常被用,但是很多推导仍然迷糊的程度,这篇主要用来总结一下。
线性回归的表达式:
f
(
x
)
=
w
T
x
+
b
f(x)=w^Tx+b
f(x)=wTx+b
由于带一个b,我们可以令
x
′
=
[
1
,
x
]
T
x'=[1, x]^T
x′=[1,x]T,同时
w
′
=
[
b
,
w
]
T
w'=[b, w]^T
w′=[b,w]T,这样直线方程就可以简化成
f
′
(
x
)
=
w
′
T
x
f'(x)=w^{'T}x
f′(x)=w′Tx
所以,当有m组训练数据,n维features时,一会儿得到的梯度是n+1维,接下来推梯度,先得推导一下loss function。由于线性回归结果是个实数,为了让他属于(0,1)之间,给它过一个sigmoid。如果是多分类,最后接Softmax。假设有一组样本
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
.
.
.
(
x
n
,
y
n
)
(x_1,y_1),(x_2,y_2)...(x_n,y_n)
(x1,y1),(x2,y2)...(xn,yn),针对2分类的情况,
y
n
=
0
或
1
y_n=0或1
yn=0或1,给定
x
i
x_i
xi的情况下,
y
i
y_i
yi是1的概率是
p
i
=
1
1
+
e
x
p
(
−
w
x
i
)
p_i=\frac{1}{1+exp(-wx_i)}
pi=1+exp(−wxi)1,loss function利用了最大似然的想法:
L
=
l
n
[
∏
i
=
1
n
p
i
y
i
(
1
−
p
i
)
(
1
−
y
i
)
]
L
=
∑
i
[
y
i
l
n
p
i
+
(
1
−
y
i
)
l
n
(
1
−
p
i
)
]
o
b
j
=
arg max
w
L
(
w
)
当
然
可
以
改
成
o
b
j
=
arg min
w
−
L
(
w
)
所
以
L
=
−
∑
i
[
y
i
l
n
p
i
+
(
1
−
y
i
)
l
n
(
1
−
p
i
)
]
L=ln[\prod_{i=1}^np_i^{y_i}(1-p_i)^{(1-y_i)}] \\ L=\sum_i[{y_ilnp_i+(1-y_i)ln(1-p_i)]} \\ obj = \argmax_w{L(w)} \\ 当然可以改成 obj = \argmin_w{-L(w)} \\ 所以 \\ L=-\sum_i[{y_ilnp_i+(1-y_i)ln(1-p_i)]}
L=ln[i=1∏npiyi(1−pi)(1−yi)]L=i∑[yilnpi+(1−yi)ln(1−pi)]obj=wargmaxL(w)当然可以改成obj=wargmin−L(w)所以L=−i∑[yilnpi+(1−yi)ln(1−pi)]
接下来开始求梯度,注意
∂
p
i
∂
w
i
=
p
i
(
1
−
p
i
)
x
i
\frac{\partial p_i}{\partial w_i} = p_i(1-p_i)x_i
∂wi∂pi=pi(1−pi)xi
∂
L
∂
w
=
−
∑
i
=
1
n
x
i
(
y
i
−
p
i
)
\frac{\partial L}{\partial w}=-\sum_{i=1}^nx_i(y_i-p_i)
∂w∂L=−i=1∑nxi(yi−pi)
最后用Adam求解就可以
另外一个问题是LR是不是凸函数,当然是,因为二阶Hessian矩阵>=0,下面我们求一下二阶导数:
∂
2
L
∂
2
w
=
−
∑
i
=
1
n
p
i
(
1
−
p
i
)
x
i
x
i
T
>
=
0
\frac{\partial^2 L}{\partial^2 w}=-\sum_{i=1}^np_i(1-p_i)x_ix_i^T >= 0
∂2w∂2L=−i=1∑npi(1−pi)xixiT>=0