logistic回归 简介_从零实现机器学习算法(四)Logistic回归

f77656ecd27fdec00d50e7160cdb68c3.png

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检测性能的比较。

23124d7843bc07b6eccdffe0df81b695.png

可以看出,这次两种算法差别不是很大。

本文相关代码和数据集:

https://github.com/Ryuk17/MachineLearning​github.com

参考文献:

[1] 李航, 统计学习方法

[2] Peter Harrington, Machine Learning IN ACTION

[3] 机器学习之logistic回归的梯度上升算法

[4] CS229: Machine Learning

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值