实验名称:逻辑回归算法
已完成内容:
-
理解逻辑回归算法的思想。
-
使用Python实现逻辑回归算法 。
-
使用UCI上面的adult数据集进行算法测试。
-
记录测试结果。
知识点总结:
LogisticRegression是最优化算法之一,是一种用于估计某种事物的可能性的方法,可用作回归及分类(主要是二分类)。
主要思想:根据现在已有的数据集对分类边界建立回归公式,以此进行分类。
逻辑回归的实现过程主要包括构造预测函数与代价函数,选择优化方法更新参数以及决策函数阈值的选取三部分。
当x=0时,函数输出值为0.5;随着x增大,函数值逼近于1;随着x减少,函数值逼近于0。为了实现分类器功能,我们可以在每个特征上乘以一个回归系数,然后把所有的数值相加,并将总和代入上述函数,进而得到一个范围为0~1的数值。任何大于0.5的数据被分成1类,小于0.5的数据被分成0类。(类似于概率估计)
ps:由于使用梯度上升的方法会导致计算复杂度升高,实验代码中包含三种可选方法,后两种是升级与改进。
1、随机梯度上升法:每次仅用一个样本点来更新回归系数(在线学习)。这种方法可以一定程度上减少计算复杂度,但是由于迭代次数相对减少,相比起未修改前,参数不太稳定,故拟合效果不太佳。进而得到第三种改进方法。
2、第三种改进方法改进了alpha,使其每次迭代都有相应的调整(但同时也要避免参数严格下降),以缓解数据的波动。但是alpha每次迭代减少,不会减少到0 ,这样保证每次计算alpha对数据仍有影响。