Machine Learning - 逻辑回归(Logistic Regression)


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(Xx)=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+ez1
在这里插入图片描述

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=1x)=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} ln1gg=wTx+b(2)
其中 g 1 − g \frac{g}{1-g} 1gg 称为 几率(odds) l n g 1 − g ln\frac{g}{1-g} ln1gg 称为 对数几率, 也叫 logit。事实上, g g g 表示标签 y y y 为1 的概率:
P ( y = 1 ∣ x ) = g (3) P(y=1|x) = g \tag{3} P(y=1x)=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=1xi)P(y=0xi)=p(xi)=1p(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(1p(xi))1yi
极大似然函数为:
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=0mpi=i=0mp(xi)yi(1p(xi))1yi
不妨两边取对数:
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=0m[yilnp(xi)+(1yi)ln(1p(xi))]=i=0m[yiln1p(xi)p(xi)+ln(1p(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)}} ln1p(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=0m[yi(wxi+b)+ln(1p(xi))]=i=0m[yi(wxi+b)+ln(11+e(wxi+b)1)]=i=0m[yi(wxi+b)+ln(1+e(wxi+b)e(wxi+b))]=i=0m[yi(wxi+b)+ln(e(wxi+b)+11)]=i=0m[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=0m[yilnp(xi)+(1yi)ln(1p(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 的优点及应用

优点

  1. LR能以概率的形式输出结果,而非只是0,1判定。
  2. LR的可解释性强,可控度高(你要给老板讲的嘛…)。
  3. 训练快,feature engineering之后效果赞。
  4. 因为结果是概率,可以做ranking model。

应用

  1. CTR预估/推荐系统的learning to rank/各种分类场景。
  2. 某搜索引擎厂的广告CTR预估基线版是LR。
  3. 某电商搜索排序/广告CTR预估基线版是LR。
  4. 某电商的购物搭配推荐用了大量LR。
  5. 某现在一天广告赚1000w+的新闻app排序基线是LR。

Reference

【机器学习】逻辑回归(非常详细) - 阿泽的文章 - 知乎

逻辑回归(logistic regression)原理详解

Github:ML-NLP

WolframMathworld - LogisticDistribution

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值