逻辑回归损失函数_逻辑回归算法

本文详细介绍了逻辑回归算法,它是一种用于二分类问题的监督学习模型。首先,文章提出了逻辑回归的假设函数,通过sigmoid函数将线性模型转换为(0,1)区间的概率估计。接着,从样本数据和统计理论两个角度构建了损失函数,最终发现两种方法得到的损失函数一致。为了最小化损失函数,文章采用了梯度下降算法,并给出了矩阵迭代更新的向量化形式,便于实际编程实现。此外,逻辑回归模型假设样本数据服从伯努利分布,并且强调了模型适用的前提条件。

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

53385f0477b9fec7b6994c9958e2ef88.png

逻辑回归算法虽然名字中含有回归二字,但却是机器学习算法中典型的监督式二分类算法模型。本文在推导逻辑回归算法过程中遵循的顺序是,首先提出假设函数、其次构造出损失函数、最后求解损失函数得出假设函数中的参数值。在构造损失函数时同样采取两种不同的方式:一是从样本数据出发,二是从统计理论着手。不同的方式最后构造出的损失函数却是一致的,文章的最后会给出逻辑回归算法梯度下降求解的矩阵迭代更新形式,以便于后续编程实现。本文的pdf版本已上传至Github,如果有需要可以自行下载。码字不易,欢迎点个赞,谢谢!

引言

对于二分类问题逻辑回归是经常被采用的方法,逻辑回归算法就是在样本数据中寻找一个超平面,然后可以把样本数据准确的分隔成不同的类别,并且能够对相应的新数据特征进行分类。

f09fffd1a833ad0b31f49f4201f18392.png

比如上图所示的两类数据样本,怎么寻找一个超平面(直线)分割开红色、蓝色样本?如果新给出一个样本的特征如何预测该样本属于哪个类别?

提出逻辑回归算法的假设函数

回顾线性回归中的假设函数

这表示的是一个超平面,逻辑回归中的超平面与线性回归中的超平面并无什么本质上的差异,但是线性回归是回归问题逻辑回归是分类问题两者本质上不同,线性回归中样本集中在超平面附近且没有类别差异而逻辑回归中样本点被所超平面分割且有明确的类别。因此逻辑回归的假设函数需要判断样本点在超平面上还是超平面下,所以给出一种映射关系:

函数
称为
函数,其函数图像如下图所示:

c70aef98a05c14de7e94db1b81d26cca.png

使用

函数对超平面进行映射是因为它有一些很好的性质:
  • 函数把所有样本点都映射到(0,1)区间内
  • 函数连续可导,求导后的形式很

综上可以给出逻辑回归算法的假设函数

构造逻辑回归算法的损失函数

不妨假设含有

个样本数据(
)、(
)、
、(
),
。由于
,且对于某个样本数据来说它只能属于两种类别中的某一类,所以有如下等式成立

1、从样本数据出发

​ 构造误差函数为


至于为什么选择它作为误差函数可以从
的函数图像中得到解释:

5ab23200395d0336d597fa62e55ba687.png
  1. 预测为
    时,误差函数
  2. 预测为
    时,误差函数
  3. 预测为
    时,误差函数
  4. 预测为
    时,误差函数

通过对每一个样本数据计算误差函数值,损失函数

即为误差函数值总和

2、从统计理论着手

因此可以得出概率分布:

。假设样本数据相互独立且同分布,所以它们的联合分布函数可以表示为各边际分布函数的乘积,故最大似然函数为

取对数从而得到对数化最大似然估计函数

求解最大化对数似然函数可得:

3、小结

​ 可以发现两种方法推导出的损失函数都是一样的,下面正式定义逻辑回归模型的损失函数

。只是在先前的基础上乘了一个常系数
对下一步求解
的结果并不会产生影响。

求解损失函数

最小化损失函数采用梯度下降算法,在逻辑回归中梯度下降算法的迭代格式为


其中
​代表感知机算法的学习率,为了实现该算法首先要求出损失函数
对参数
的梯度:

因此在逻辑回归模型中利用所有的样本数据,训练梯度下降算法的完整迭代更新格式为

可以发现逻辑回归模型的迭代更新格式和线性回归模型的迭代更新格式完全一样,但是它们的假设函数
的函数表达式是不一样的

梯度下降过程的向量化

​ 向量化是使用矩阵计算来代替

循环 ,以简化计算过程提高效率 ,上述迭代更新的过程中有一个连加符号,如果使用
循环则需要执行
次。在此之前需要先定义一些矩阵,不妨令:


所以

最后

向量化后可改为

总结

​ 逻辑回归算法是机器学习算法中比较好理解的分类模型,训练速度也很快。因为只需要存储各个维度的特征值的原因,对资源尤其是内存的占用会比较小 ,在引入了

以后可以处理多分类的问题。 任何机器学习模型都是有自己的假设,在这个假设成立的情况下模型才是适用的。逻辑回归的第一个基本假设是
假设样本数据的先验分布为伯努利分布。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值