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