【机器学习】logistic回归原理分析及python实现
1.sigmoid函数和logistic回归分类器
2.梯度上升最优化算法
3.数据中的缺失项处理
4.logistic实现马疝气病预测
首先阐述logistic回归的定义,然后介绍一些最优化算法,其中包括基本的梯度上升算法和改进的随机梯度上升算法,这些最优化算法用于分类器的训练,最后给出logistic回归实例,预测一匹有疝气病的马是否被治愈(二分类)。
一.sigmoid函数和logistic回归分类器
1.什么是回归?
假设现在有一些数据点,我们用一条直线来对这些点进行拟合(该线称为最佳拟合直线),这个拟合过程就称做回归。
2.sigmoid函数
我们想要的函数应该是,接受所有的输入,然后预测出类别。例如,在二类情况下,输出0和1。像单位阶跃函数就可以实现,但该函数在跳跃点上从0->1是瞬间跳跃,这个瞬间跳跃过程有时很难处理。于是另一个有类似性质且数学上更易处理的函数出现了-----sigmoid函数。
sigmoid函数表达式:
实现:
"""
函数:sigmoid函数
"""
def sigmoid(z):
return 1.0/(1+np.exp(-z) )
3.sigmoid函数如何用于二分类?
为了实现logistic回归分类器,可以在每个特征上都乘以一个回归系数w,然后把所有的结果值相加得到z值,将这个z值带入sigmoid函数中,会输出一个在【0,1】内的数值。分类:z>0.5,输出1;z<0.5,输出0。
1)输入样本: X=(x0,x1……xn)
2)如何将样本值转化为sigmoid的输入?x-> z
相应的回归系数W=(w0,w1……wn),样本特征值与相应系数相乘求和:
3)带入sigmoid函数:
4.logistic 回归的优点与缺点?
优点:计算代价不高,易于理解与实现(简单)。
缺点:容易欠拟合,分类精度可能不高。
适用数据类型:数值型和标称型数据。
5.logistic回归的一般过程?
1、收集数据:任何方式
2、准备数据:由于要计算距离,因此要求数据都是数值型的,另外结构化