逻辑回归(Logistic Regression)详解

什么是逻辑回归?

首先,什么是逻辑回归呢?
当你看到这个名字的时候,你可能会被他误导,认为他是做回归的,实际上,他是一个分类模型。只不过他是在线性回归的基础上进行了扩展,使其可以进行分类了而已。
同样的,逻辑回归的与线性回归一样,也是以线性函数为基础的;而与线性回归不同的是,逻辑回归在线性函数的基础上添加了一个非线性函数,如sigmoid函数,使其可以进行分类。

逻辑回归的原理

关于逻辑回归的原理呢,大家可以参照一下我以前的文章线性回归,当然,下面也会进行一些介绍。

对于逻辑回归来说,其余线性回归相同的是,他使用的也是 w x + b wx+b wx+b,只不过他最终的预测结果是使用sigmoid函数进行转换后的,sigmoid函数转换后,分为大于0.5和小于0.5两种,分别代表了两个类别。sigmoid可以参考各种激活偶函数
下面,看一下sigmoid函数:
f ( x ) = 1 1 + e − x f(x)=\frac{1}{1+e^{-x}} f(x)=1+ex1
接下来看一下他的图像:
sigmoid

大家可以看到,sigmoid函数会将所有的数值转化到0和1之间,你可以将其简单的理解为该数据被判定为正样本的概率(所谓正样本就是标签为1的样本,负样本就是标签为0的样本),根据sigmoid函数,我们可以很明显的分析出当前数据应该是哪一个类别(大于0.5为正样本,小于0.5为负样例)

也就是说,逻辑回归就是在线性回归的基础上,在外层添加了sigmoid函数。

最常用的训练模型方法——梯度下降法

那么现在,是不是感觉逻辑回归很简单,很好理解了呢?或许有一些了解线性回归的小伙伴看到这里会有一些疑问了————线性回归在求解的时候用的是最小二乘法(详细可参考线性回归),那么逻辑回归也是使用最小二乘法么?
答案当然是否定的。 当我们在外层加入sigmoid函数后,使用类似于最小二乘法的思想进行求解、训练就会变得特别困难了。那么我们应该怎么办呢?
接下来,就有请机器学习中最常用的训练方式登场————梯度下降法。

什么是梯度下降法呢?在很多地方有这么一个解释:当你站在一座山上,你想要以最快的方式向下走,那么你每一步应该怎么选呢?是不是应该在走下一步的时候尽量选择下降最快的那一个方向呢。没错,这就是梯度下降法的基本思想:使得当前的w、b向着损失函数下降最快的方向走。

逻辑回归的损失函数

或许有的小伙伴又有疑问了:什么是损失函数被?那么接下来,我们就顺便说一下逻辑回归的损失函数吧。

所谓损失函数呢,其实就是代表当前模型预测的结果与真实结果的一个偏离程度。对于回归来说,损失函数主要表示的是当前模型预测的结果与真实结果的差的表示,如MSE(差的平方和的平均数)等;而对于分类问题来说,我们可以使用准确率(预测结果与真实结果相同的数据占所有数据的比例)。
而逻辑回归使用的损失函数就是这种的一个延伸,也就是交叉熵损失函数:
L O S S = − 1 m ∑ i = 0 m y i l o g y ^ i + ( 1 − y i ) l o g ( 1 − y ^ i ) LOSS=-\frac1m\sum^m_{i=0}y_ilog\hat y_i+(1-y_i)log(1-\hat y_i) LOSS=m1i=0myilogy^i+(1yi)log(1y^i)

那么,咱们继续说梯度下降法。
首先,什么是梯度呢?
其实,梯度表示的就是我们上面说的对于当前点来说下山最快的那个方向,可以简单的理解为积分方向(大家只需要知道梯度大题是什么就可以了,如果有兴趣可以查一下百度,同样的,在高数上是有解释的, 再次就不进行过多的解释了)。
而对于传统的梯度下降法,我们通常是这样计算的:
d w = ∂ L ∂ ω d b = ∂ L ∂ b w − = d w ∗ θ b − = d b ∗ θ dw = \frac{\partial L}{\partial\omega}\\ db = \frac{\partial L}{\partial b}\\ w -= dw*\theta\\ b -= db * \theta dw=ωLdb=bLw=dwθb=dbθ
其中 θ \theta θ表示的是学习率,也就是用来控制每一次下降的大小的,简单说就是你下山时跨出的那一步的大小。

而通过这样的方式,我们可以找到损失函数尽量小甚至最小的点。

总结

通过上面的讲述,大家对逻辑回归是不是很熟悉了呢?
大家可以感受得到,逻辑回归还是很简单的,不就是在线性回归外层加了一个sigmoid函数么。真以为穿了衣服我就不认识你了啊!
当然了,大家也需要注意,逻辑回归的求解方式与线性回归传统的方式是不同的,虽然线性回归也可以使用梯度下降法,但是准确性是要比最小二乘法差的。
至于梯度下降法,也是有很多的,上面讲述的不过是最简单、最基础的一种,有兴趣的小伙伴可以参考一下各种梯度下降法

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小夏refresh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值