1. Logistic回归简介
Logistic回归是统计学中的经典分类算法,其原理为计算Logistic分布下的条件概率
选择条件概率大的一方为预测类别。以二分类为例,二项Logistic回归模型的条件概率为:
其中
分别为权重和偏置。为了方便起见,将权值向量和偏置向量扩充,即
此时二项Logistic回归模型为:
2. Logistic回归模型
Logistic回归模型包括参数估计,优化算法和分类规则
参数估计
采用极大似然估计来估计模型参数,假设
其中
其中
就是sigmoid函数。
似然函数为
其对数似然函数为:
优化算法
由于对似然函数求导无法获得解析解,要使得似然函数最大化,可以使用优化方法如梯度上升法,求出最高点,即
对似然函数求导有:
令导数为零解得
梯度上升法的代码如下
if
分类规则
Logistic回归模型使用sigmoid函数计算概率,其公式为
代码如下
def sigmoid(self, x, derivative=False):
output = 1/(1 + np.exp(-x))
if derivative:
output = output * (1 - output)
return output
3. 总结与分析
Logistic回归是一种比较简单的模型,这和单层感知机类似。Logistic回归的优化算法还可以使用随机梯度上升来环境梯度上升过程中的波动,此外梯度上升的步长也可以动态的变化以得到最好的参数。最后贴一下本文实现的Logistic回归与Sklearn检测性能的比较。
可以看出,这次两种算法差别不是很大。
本文相关代码和数据集:
https://github.com/Ryuk17/MachineLearninggithub.com参考文献:
[1] 李航, 统计学习方法
[2] Peter Harrington, Machine Learning IN ACTION
[3] 机器学习之logistic回归的梯度上升算法
[4] CS229: Machine Learning