逻辑回归(Logistic Regression)
1. 前言
今天我们介绍机器学习里面大名鼎鼎的逻辑回归。不要看他的名字里面有“回归”,但是它其实是个分类算法。它取名逻辑回归主要是因为是从线性回归转变而来的。
2.逻辑回归原理
2.1 逻辑回归的由来
不知道读者还记不记得在线性回归中有一节广义线性回归介绍了在\(Y=Xθ\)的基础上对\(Y\)进行函数变换为\(g(Y)=Xθ\)。而在逻辑回归中,这个\(g()\)就是大名鼎鼎的\(Sigmoid(x)=\frac{1}{1+e^{-x}}\)函数。Sigmoid函数的图像如下。Sigmoid函数会把自变量\(x\in\{-\infty,+\infty\}\)映射到\(y\in\{-1,+1\}\)上。
Sigmoid函数处处可导,导数很简洁\(S^{\prime}(x)=S(x)(1-S(x))\),它的导数图像如下。从图中可以看出导数范围是\(S^\prime\in\{0,0.25\}\),顺便说下,在深度学习中,如果激活函数是Sigmoid的话,会出现梯度消失问题。
2.2 逻辑回归的模型
线性回归中的模型是:
Sigmoid的函数是:
最后套上Sigmoid函数合并出来的结果:
2.3 逻辑回归的损失函数
逻辑回归使用极大似然法来推导出损失函数。
我们知道,逻辑回归的定义,假设我们的样本输出是0或者1两类。那么我们有:
把两种情况和一起就是如下公式:
得到了\(y\)的概率分布函数表达式,我们就可以用似然函数最大化来求解我们需要的模型系数\(\theta\)。最大似然函数\(L(\theta)\):
损失函数就是对数似然函数的负值
2.4 逻辑回归的损失函数的优化方法
对于逻辑回归的损失函数极小化,有比较多的方法,最常见的有梯度下降法,坐标轴下降法,牛顿法等。
2.5 逻辑回归的正则化
逻辑回归也会面临过拟合问题,所以我们也要考虑正则化。常见的有L1正则化和L2正则化。
L1正则化形式
L2正则化形式
3. 总结
逻辑回归假设数据服从伯努利分布,在线性回归的基础上,套了一个二分类的Sigmoid函数,使用极大似然法来推导出损失函数,用梯度下降法优化损失函数的一个判别式的分类算法。逻辑回归的优缺点有一下几点:
3.1 优点
- 实现简单,广泛的应用于工业问题上;
- 训练速度较快。分类速度很快
- 内存占用少;
- 便利的观测样本概率分数,可解释性强;
3.2 缺点
- 当特征空间很大时,逻辑回归的性能不是很好;
- 一般准确度不太高
- 很难处理数据不平衡的问题