浅析逻辑回归

本文深入浅出地介绍了逻辑回归的起源、模型表达式、损失函数和参数训练方法。通过最大似然估计求解最优参数,逻辑回归在分类问题中表现出简单、可解释性强的特点,常用于CTR预测、广告计算和推荐系统等领域。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说在前面

逻辑回归从何而来?

线性回归是用一个线性模型来对数据进行拟合,但是它对离群点的容忍能力很差。所以,逻辑回归在此基础上加了一个sigmoid函数,从而变成了一个分类模型。

分类时,约定分类模型f(x)f(x)f(x)满足:

f(x)=1,g(z)≥0.5f(x) = 1, \quad g(z) \ge 0.5f(x)=1,g(z)0.5

f(x)=0,g(z)&lt;0.5f(x) = 0, \quad g(z) \lt 0.5f(x)=0,g(z)<0.5

其中,

z=wxz = wxz=wx

g(z)=sigmoid(z)=11+e−zg(z) = sigmoid(z) = \frac{1}{1+e^{-z}}g(z)=sigmoid(z)=1+ez1

而我们模型要学习的就是这个www

由此可以看出,逻辑回归模型的表示形式其实就是下面(1)(2)表示的条件概率分布P(Y∣X)P(Y|X)P(YX),毕竟别忘了它本身就是个判别模型,预测的时候是通过计算条件概率P(Y∣X)P(Y|X)P(YX)得到最终类别标签的。

P(Y=1∣x)=11+e−wx=ewx1+ewx(1)P(Y=1|x) = \frac{1}{1+e^{-wx}} = \frac{e^{wx}}{1+e^{wx}}\qquad(1)P(Y=1x)=1+ewx1=1+ewxewx(1)

P(Y=0∣x)=1−P(Y=1∣x)=11+ewx(2)P(Y=0|x) = 1-P(Y=1|x) = \frac{1}{1+e^{wx}}\qquad(2)P(Y=0x)=1P(Y=1x)=1+ewx1(2)

接下来,考虑下如何定义逻辑回归的损失函数。

损失函数

逻辑无法像线性回归一样通过计算均方误差来得到损失值,因为逻辑回归本身是不连续的,因而这样计算得到的损失函数也不是凸函数。所以,这里使用最大似然来实现参数评估,同时为了便于计算,往往在似然函数的基础上取对数。

考虑到这里有几个点对新手不是很友好,做个详细的解释:

  • 损失函数不是凸函数意味着什么?意味着函数的极值和最值是不一致的,这样用梯度下降等方法得到的参数就不一定是最优参数了;
  • 最大似然,就是似然函数最大化,它的函数表达式是概率的连乘,这样在求导时非常复杂,所以为了便于计算,往往取对数,得到对数似然函数,这样连乘就变成连加,求导就变得很简单了。同时,由于二者同增减的,所以最大化对数似然和最大化似然函数是等价的。

假设数据集T={(x1,y1),(x2,y2),...,(xN,yN)}T=\{(x_1, y_1), (x_2, y_2), ..., (x_N, y_N)\}T={(x1,y1),(x2,y2),...,(xN,yN)}

将(1)(2)合并得

L(w)=∏i=1NP(yi=1∣xi)yiP(yi=0∣xi)(1−yi)=∏i=1NP(yi=1∣xi)yi[1−P(yi=1∣xi)](1−yi) \begin{aligned} L(w) &amp; = \prod_{i=1}^N P(y_i=1|x_i)^{y_i}P(y_i=0|x_i)^{(1-y_i)}\\ &amp; = \prod_{i=1}^N P(y_i=1|x_i)^{y_i}[1-P(y_i=1|x_i)]^{(1-y_i)}\\ \end{aligned} L(w)=i=1NP(yi=1xi)yiP(yi=0xi)(1yi)=i=1NP(yi=1xi)yi[1P(yi=1xi)](1yi)

对似然函数进行负对数化,得到损失函数:

J(w)=−lnL(w)=−∑i=1N[yilogP(yi=1∣xi)+(1−yi)log(1−P(yi=1∣xi))]=−∑i=1N[yilogP(yi=1∣xi)1−P(yi=1∣xi)+log(1−P(yi=1∣xi))]=−∑i=1N[yi(wxi)−log(1+ewxi)] \begin{aligned} J(w) &amp; = -lnL(w)\\ &amp; = - \sum_{i=1}^N [y_ilogP(y_i=1|x_i)+(1-y_i)log(1-P(y_i=1|x_i))]\\ &amp; = - \sum_{i=1}^N [y_ilog\frac{P(y_i=1|x_i)}{1-P(y_i=1|x_i)}+log(1-P(y_i=1|x_i))]\\ &amp; = - \sum_{i=1}^N [y_i(wx_i)-log(1+e^{wx_i})] \end{aligned} J(w)=lnL(w)=i=1N[yilogP(yi=1xi)+(1yi)log(1P(yi=1xi))]=i=1N[yilog1P(yi=1xi)P(yi=1xi)+log(1P(yi=1xi))]=i=1N[yi(wxi)log(1+ewxi)]

这样,问题就变成了以对数似然函数为目标函数的最优化问题。得到了w的极大似然估计值,就得到了逻辑回归模型。

如何训练得到最优参数?

这里可以通过梯度下降来得到。这个和线性回归中的一样。就不再次重复了。

总结

逻辑回归实现简单、可解释性好、易于扩展,广泛应用于点击率预测CTR、计算广告CA、推荐系统RS等。

简单点去理解逻辑回归,就是在线性回归的外面套上一个sigmoid层,如果大于等于0.5就认为是正类,小于0.5就是负类。如果画出sigmoid函数就可以发现,其实还是在对w⋅xw \cdot xwx进行建模,对于正例我们希望wx趋于无穷大,而对于负例希望wx趋于负无穷大。


如有错误还望赐教,本笔记持续更新(最近更新2019年7月27日)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值