《机器学习实战》笔记(五):Ch5 - Logistic回归
第五章 Logistic回归(代码)
-
Logistic算法优缺点
-
优点:计算代价不高,易于理解和实现。
-
缺点:容易欠似合,分类的精度不高。
-
范围:数值型和标量型数据。
-
-
基于Logistic回归和Sigmoid函数
-
Sigmoid函数是单位阶越函数。
-
在数学上比较容易处理。
-
在数据量比较大的时候,跨度大;数据量小的时候,跨度平稳。
-
-
基于最优化方法的最佳回归系数确定
-
梯度上升法和梯度下降法
-
伪代码
-
每个回归系数初始化为1
-
重复 R 次:
-
计算整个数据集的梯度
-
使用 alpha * gradient 更新回归系数的向量
-
返回回归系数
-
-
找到函数的最大值和函数的最小值。
-
一直执行某个迭代的公式,达到某个可以允许误差的范围内。
-
-
训练算法:找到最佳参数
-
分析数据:画出决策边界
-
训练算法:随机梯度提升
一次仅用一个样本点来更新回归系数。由于可以在新样本到来时对分类器进行增量式更新,因此也是一个在线学习算法.
-
伪代码
-
所有回归系数初始化为1
-
对数据集中每个样本
-
计算该样本的梯度
-
使用 alpha*gradient 更新回归系数值
-
返回回归系数值
-
-
-
-
例子:预测病马的死亡率
-
收集数据:给定数据文件。
-
准备数据:用 python 解析文本文件并填充缺失值。
-
分析数据:可视化并观察数据。
-
训练算法:使用优化算法,找到最佳的系数。
-
测试算法:为了量化回归的效果,需要观察错误率。根据错误率决定是否回退到训练阶段,通过改变迭代的次数和步长等参数得到更好的回归系数。
-
使用算法:实现一个简单的命令行程序来收集马的症状并输出预测结果。
注意:除了部分指标主观和难以测量外,该数据还存在一个问题,数据集中有 30% 的值是缺失的。
-
处理数据中的缺失值:
-
使用可用特征的均值来填补缺失值。
-
使用特殊值来填补缺失值,如 -1。
-
忽略缺失值的样本。
-
使用相似样本的均值填补缺失值。
-
使用另外的机器学习算法预测缺失值。
-
-
测试算法:用Logistic回归进行分类。
-
-
小节
在最优化算法中,最常用的就是随机梯度上升算法,二梯度上升算法可以简化为随机梯度上身算法。
随机梯度上身算法与梯度上升算法相当,但占用更少的资源。
随机梯度上升算法是一个在线算法,他可以在新数据刚加入的时候就完成参数更新