文章目录
Logistic Regression 虽然被称为回归,但其实际上是分类模型,并常用于二分类。Logistic 回归的本质是:假设数据服从这个分布,然后使用极大似然估计做参数的估计。
Logistic Distrbution
Logistic Distribution 是一种连续型的概率分布,其分布函数和概率密度函数如下:
D
(
x
)
=
P
(
X
≤
x
)
=
1
1
+
e
−
x
−
μ
γ
p
(
x
)
=
D
′
(
x
)
=
e
−
x
−
μ
γ
γ
(
1
+
e
−
x
−
μ
γ
)
2
\begin{aligned} D(x) &= P(X \leq x) = \frac{1}{1+e^{-\frac{x-\mu}{\gamma}}} \\ \\ p(x) &= D\prime(x) = \frac{e^{-\frac{x-\mu}{\gamma}}}{\gamma(1+e^{-\frac{x-\mu}{\gamma}})^2} \end{aligned}
D(x)p(x)=P(X≤x)=1+e−γx−μ1=D′(x)=γ(1+e−γx−μ)2e−γx−μ
其中
μ
\mu
μ 是位置参数,
γ
>
0
\gamma > 0
γ>0 是形状参数。
当
μ
=
0
\mu=0
μ=0,
γ
=
1
\gamma=1
γ=1, D(x) 就变成了深度学习里常见的Sigmoid函数:
S
i
g
m
o
i
d
(
z
)
=
ϕ
(
z
)
=
1
1
+
e
−
z
Sigmoid(z) =\phi(z)= \frac{1}{1+e^{-z}}
Sigmoid(z)=ϕ(z)=1+e−z1
Logistic Regression
模型
以二分类为例,决策边界可以表示为:
w
1
x
1
+
w
2
x
2
+
b
=
0
w_1x_1+w_2x_2+b=0
w1x1+w2x2+b=0
(下图是吴恩达Coursera课上的截图)
如果某个样本点满足
h
θ
(
x
)
=
w
1
x
1
+
w
2
x
2
+
b
>
0
h_\theta (x)=w_1x_1+w_2x_2+b > 0
hθ(x)=w1x1+w2x2+b>0, 则判断它的类别为1,若
h
θ
(
x
)
=
w
1
x
1
+
w
2
x
2
+
b
<
0
h_\theta (x)=w_1x_1+w_2x_2+b < 0
hθ(x)=w1x1+w2x2+b<0 ,则判断它的类别是0。Logistic Regression在此基础上把输入变量
x
x
x 转化为类别概率,然后通过比较概率来判断所属类别 。如上图所示函数g(
⋅
\cdot
⋅),我们需要找到这样一个函数来把线性回归表示的结果转化为概率,最理想的这种函数应当是阶跃函数:
P
(
y
=
1
∣
x
)
=
g
(
z
)
=
{
0
,
z
<
0
0.5
,
z
=
0
1
,
z
>
0
,
z
=
w
T
x
+
b
P(y=1|x)=g(z) = \begin{cases} 0, & z < 0 \\ 0.5, & z = 0 \\ 1, & z > 0 \end{cases} , z=w^Tx+b
P(y=1∣x)=g(z)=⎩⎪⎨⎪⎧0,0.5,1,z<0z=0z>0,z=wTx+b
但是阶跃函数不可微,因此考虑使用对数几率函数,即Sigmoid函数:
g
=
1
1
+
e
−
(
w
T
x
+
b
)
(1)
g = \frac{1}{1+e^{-(w^T x + b)}} \tag{1}
g=1+e−(wTx+b)1(1)
从而有:
l
n
g
1
−
g
=
w
T
x
+
b
(2)
ln\frac{g}{1-g}=w^Tx+b \tag{2}
ln1−gg=wTx+b(2)
其中
g
1
−
g
\frac{g}{1-g}
1−gg 称为 几率(odds),
l
n
g
1
−
g
ln\frac{g}{1-g}
ln1−gg 称为 对数几率, 也叫 logit。事实上,
g
g
g 表示标签
y
y
y 为1 的概率:
P
(
y
=
1
∣
x
)
=
g
(3)
P(y=1|x) = g \tag{3}
P(y=1∣x)=g(3)
可以说,逻辑回归就是输出
y
=
1
y=1
y=1 的对数几率由输入变量
x
x
x 的线性函数表示的模型。
损失函数
现在我们已经有了逻辑回归的模型,关键在于如何求解模型的参数,可以使用极大似然估计法来求解,即找到一组参数,使得在这组参数下,我们的数据的似然(概率)最大。
不妨设:
P
(
y
=
1
∣
x
i
)
=
p
(
x
i
)
P
(
y
=
0
∣
x
i
)
=
1
−
p
(
x
i
)
\begin{aligned} P(y=1|x_i) &= p(x_i) \\ P(y=0|x_i) &= 1-p(x_i) \end{aligned}
P(y=1∣xi)P(y=0∣xi)=p(xi)=1−p(xi)
则某个样本出现出某个标签的概率为:
p
i
=
p
(
x
i
)
y
i
(
1
−
p
(
x
i
)
)
1
−
y
i
p_i=p(x_i)^{y_i}(1-p(x_i))^{1-y_i}
pi=p(xi)yi(1−p(xi))1−yi
极大似然函数为:
L
(
w
)
=
∏
i
=
0
m
p
i
=
∏
i
=
0
m
p
(
x
i
)
y
i
(
1
−
p
(
x
i
)
)
1
−
y
i
L(w)=\prod_{i=0}^{m}p_i=\prod_{i=0}^{m}p(x_i)^{y_i}(1-p(x_i))^{1-y_i}
L(w)=i=0∏mpi=i=0∏mp(xi)yi(1−p(xi))1−yi
不妨两边取对数:
l
n
L
(
w
)
=
∑
i
=
0
m
[
y
i
l
n
p
(
x
i
)
+
(
1
−
y
i
)
l
n
(
1
−
p
(
x
i
)
)
]
=
∑
i
=
0
m
[
y
i
l
n
p
(
x
i
)
1
−
p
(
x
i
)
+
l
n
(
1
−
p
(
x
i
)
)
]
\begin{aligned} lnL(w) &=\sum_{i=0}^{m}{[y_ilnp(x_i)+(1-y_i)ln(1-p(x_i))]} \\ &= \sum_{i=0}^{m}{[y_iln{\frac{p(x_i)}{1-p(x_i)}}+ln(1-p(x_i))]} \end{aligned}
lnL(w)=i=0∑m[yilnp(xi)+(1−yi)ln(1−p(xi))]=i=0∑m[yiln1−p(xi)p(xi)+ln(1−p(xi))]
考虑
(
2
)
(2)
(2)
(
3
)
(3)
(3)两式,
l
n
p
(
x
i
)
1
−
p
(
x
i
)
ln{\frac{p(x_i)}{1-p(x_i)}}
ln1−p(xi)p(xi) 就是对数几率,可以用线性模型表示,故而有:
l
n
L
(
w
)
=
∑
i
=
0
m
[
y
i
(
w
x
i
+
b
)
+
l
n
(
1
−
p
(
x
i
)
)
]
=
∑
i
=
0
m
[
y
i
(
w
x
i
+
b
)
+
l
n
(
1
−
1
1
+
e
−
(
w
x
i
+
b
)
)
]
=
∑
i
=
0
m
[
y
i
(
w
x
i
+
b
)
+
l
n
(
e
−
(
w
x
i
+
b
)
1
+
e
−
(
w
x
i
+
b
)
)
]
=
∑
i
=
0
m
[
y
i
(
w
x
i
+
b
)
+
l
n
(
1
e
(
w
x
i
+
b
)
+
1
)
]
=
∑
i
=
0
m
[
y
i
(
w
x
i
+
b
)
−
l
n
(
1
+
e
(
w
x
i
+
b
)
)
]
\begin{aligned} lnL(w) &= \sum_{i=0}^{m}{[y_i(wx_i+b)+ln(1-p(x_i))]} \\ &=\sum_{i=0}^{m}{[y_i(wx_i+b)+ln(1-\frac{1}{1+e^{-(wx_i+b)}})]} \\ &= \sum_{i=0}^{m}{[y_i(wx_i+b)+ln(\frac{e^{-(wx_i+b)}}{1+e^{-(wx_i+b)}})]} \\ &=\sum_{i=0}^{m}{[y_i(wx_i+b)+ln(\frac{1}{e^{(wx_i+b)}+1})]} \\ &=\sum_{i=0}^{m}{[y_i(wx_i+b)-ln(1+e^{(wx_i+b)})]} \end{aligned}
lnL(w)=i=0∑m[yi(wxi+b)+ln(1−p(xi))]=i=0∑m[yi(wxi+b)+ln(1−1+e−(wxi+b)1)]=i=0∑m[yi(wxi+b)+ln(1+e−(wxi+b)e−(wxi+b))]=i=0∑m[yi(wxi+b)+ln(e(wxi+b)+11)]=i=0∑m[yi(wxi+b)−ln(1+e(wxi+b))]
取损失函数为:
J
(
w
)
=
−
1
m
l
n
L
(
w
)
=
−
1
m
∑
i
=
0
m
[
y
i
l
n
p
(
x
i
)
+
(
1
−
y
i
)
l
n
(
1
−
p
(
x
i
)
)
]
J(w)=-\frac{1}{m}lnL(w)=-\frac{1}{m}\sum_{i=0}^{m}{[y_ilnp(x_i)+(1-y_i)ln(1-p(x_i))]}
J(w)=−m1lnL(w)=−m1i=0∑m[yilnp(xi)+(1−yi)ln(1−p(xi))]
我们可以发现求极大似然函数 L(w) 的最大值和求损失函数 J(w) 的最小值是等价的。
优化方法
一阶方法
梯度下降(Gradient Descent)、随机梯度下降(Stochastic Gradient Descent)、小批量随机梯度下降降法(Mini-batch Stochastic Gradient Descent)。随机梯度下降不但速度上比原始梯度下降要快,局部最优化问题时可以一定程度上抑制局部最优解的发生。
二阶方法
牛顿法:详见 牛顿法求函数零点和极值点
拟牛顿法: 不用二阶偏导而是构造出Hessian矩阵的近似正定对称矩阵的方法称为拟牛顿法。拟牛顿法的思路就是用一个特别的表达形式来模拟Hessian矩阵或者是他的逆使得表达式满足拟牛顿条件。主要有DFP法(逼近Hession的逆)、BFGS(直接逼近Hession矩阵)、 L-BFGS(可以减少BFGS所需的存储空间)。
Logistic Regression 的优点及应用
优点
- LR能以概率的形式输出结果,而非只是0,1判定。
- LR的可解释性强,可控度高(你要给老板讲的嘛…)。
- 训练快,feature engineering之后效果赞。
- 因为结果是概率,可以做ranking model。
应用
- CTR预估/推荐系统的learning to rank/各种分类场景。
- 某搜索引擎厂的广告CTR预估基线版是LR。
- 某电商搜索排序/广告CTR预估基线版是LR。
- 某电商的购物搭配推荐用了大量LR。
- 某现在一天广告赚1000w+的新闻app排序基线是LR。