一文读懂什么是逻辑回归

 


逻辑回归介绍

逻辑回归(Logistic Regression)是一种经典的分类算法,尽管名字中带有 “回归”,但它本质上用于解决二分类问题(也可扩展到多分类)。

逻辑回归的本质是 “在线性回归的基础上,通过一个映射函数将输出转化为概率(从而实现对类别概率的预测)”,这个映射函数就是Sigmoid函数。

逻辑回归是机器学习中最基础的分类算法之一,核心是通过 Sigmoid 函数将线性输出转化为概率,结合交叉熵损失和梯度下降求解参数。

它虽简单,但在实际业务中(尤其是需要可解释性的场景)仍被广泛使用,也是理解更复杂分类模型(如神经网络)的基础。

sigmoid函数

逻辑回归模型

逻辑回归的决策边界

线性逻辑回归

根据sigmoid函数图象:z=0是中间位置,视为决策边界;那么为了得到决策边界的特征情况,我们假设:

  • 线性模型 z = w1 * x1 + w2 * x2 + b
  • 参数 w1=w2=1, b=03,那么x2 = -x1 + 3这条直线就是决策边界

如果特征x在这条线的右边,那么此逻辑回归则预测为1,反之则预测为0;(分为两类)

多项式逻辑回归

多项式回归决策边界,我们假设:

  • 多项式模型:z = w1 * x1**2 + w2 * x2**2 + b
  • 参数:w1=w2=1, b=-1

如果特征x在圆的外面,那么此逻辑回归则预测为1,反之则预测为0;(分为两类)

扩展:随着多项式的复杂度增加,还可以拟合更更多非线性的复杂情况

逻辑回归的损失函数

平方损失和交叉熵损失

回顾下线性回归的损失函数(平方损失):

平方误差损失函数不适用于逻辑回归模型:平方损失在逻辑回归中是 “非凸函数”(存在多个局部最优解),难以优化;

所以我们需要一个新的损失函数,即交叉熵损失;交叉熵损失是 “凸函数”,可通过梯度下降高效找到全局最优

交叉熵源于信息论,我们暂时不做深入介绍,直接给出交叉熵损失函数公式:

对数回顾

复习下对数函数的性质,以便理解为什么 交叉熵损失是 “凸函数”?

简化交叉熵损失函数

为什么要用这个函数来表示?来源自 最大释然估计(Maximum Likelihood),这里不做过多介绍。

简化结果:

逻辑回归的梯度计算

自然对数求导公式:

 链式求导法则:

⚠️注意:

过拟合问题

线性回归过拟合

逻辑回归过拟合

  • 欠拟合(underfit),存在高偏差(bias)
  • 泛化(generalization):希望我们的学习算法在训练集之外的数据上也能表现良好(预测准确)
  • 过拟合(overfit),存在高方差(variance) 

解决过拟合的办法

  • 特征选择:只选择部分最相关的特征(基于直觉intuition)进行训练;缺点是丢掉了部分可能有用的信息
  • 正则化:正则化是一种更温和的减少某些特征的影响,而无需做像测地消除它那样苛刻的事:
    • 鼓励学习算法缩小参数,而不是直接将参数设置为0(保留所有特征的同时避免让部分特征产生过大的影响)
    • 鼓励把 w1 ~ wn 变小,b不用变小 

正则化模型

It turns out that regularization is a way

to more gently reduce ths impacts of some of the features without doing something as harsh as eliminating it outright.

关于正则化项的说明:

带正则化项的损失函数

正则化线性回归

损失函数:

梯度计算:

 

分析梯度计算公式,由于alpha和lambda通常是很小的值,所以相当于在每次迭代之前把参数w缩小了一点点,这也就是正则化的工作原理,如下所示:

正则化逻辑回归

损失函数:

梯度计算:

线性回归和逻辑回归正则化总结

 

逻辑回归实战

模型选择

可视化训练数据,基于此数据选择线性逻辑回归模型

关键代码实现

结果展示

正则化逻辑回归实战

模型选择

可视化训练数据,基于此数据选择多项式逻辑回归模型

 

关键代码实现

由于要拟合非线性决策边界,所以要增加特征的复杂度(训练数据里只有2个特征)。

特征映射函数

正则化后的损失函数和梯度计算函数

结果展示

正则化效果对比

正则化对损失和决策边界的影响

正则化项lambda参数大小对决策边界的影响

 

参考

吴恩达团队在Coursera开设的机器学习课程:https://www.coursera.org/specializations/machine-learning-introduction

在B站学习:https://www.bilibili.com/video/BV1Pa411X76s 

 

原创作者: standby 转载于: https://www.cnblogs.com/standby/p/18992893
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值