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

比如上图所示的两类数据样本,怎么寻找一个超平面(直线)分割开红色、蓝色样本?如果新给出一个样本的特征如何预测该样本属于哪个类别?
提出逻辑回归算法的假设函数
回顾线性回归中的假设函数
函数

使用
函数把所有样本点都映射到(0,1)区间内
函数连续可导,求导后的形式很
综上可以给出逻辑回归算法的假设函数
构造逻辑回归算法的损失函数
不妨假设含有
1、从样本数据出发
构造误差函数为
至于为什么选择它作为误差函数可以从

- 当
且
预测为
时,误差函数
为
- 当
且
预测为
时,误差函数
为
- 当
且
预测为
时,误差函数
为
- 当
且
预测为
时,误差函数
为
通过对每一个样本数据计算误差函数值,损失函数
2、从统计理论着手
因此可以得出概率分布:
对
求解最大化对数似然函数可得:
即
3、小结
可以发现两种方法推导出的损失函数都是一样的,下面正式定义逻辑回归模型的损失函数
求解损失函数
最小化损失函数采用梯度下降算法,在逻辑回归中梯度下降算法的迭代格式为
其中
因此在逻辑回归模型中利用所有的样本数据,训练梯度下降算法的完整迭代更新格式为
可以发现逻辑回归模型的迭代更新格式和线性回归模型的迭代更新格式完全一样,但是它们的假设函数
梯度下降过程的向量化
向量化是使用矩阵计算来代替
则
所以
最后
向量化后可改为
总结
逻辑回归算法是机器学习算法中比较好理解的分类模型,训练速度也很快。因为只需要存储各个维度的特征值的原因,对资源尤其是内存的占用会比较小 ,在引入了