机器学习拓展
1 主要内容
这一周的学习内容主要是在上面所学习到的机器学习算法基础上,如何选择对算法进一步优化的方向以及如何对算法更合理的进行评估。
2 优化算法的几个方向
(1).获得更多的训练样本
(2).尝试减少特征的数量
(3).尝试获得更多的特征
(4).尝试增加多项式特征
(5).尝试减少正则化程度λ
(6).尝试增加正则化程度λ
3 训练集的划分
吴恩达老师是建议将之前的训练集重新划分成训练集、交叉验证集以及测试集,训练集用来训练算法,交叉验证集用来选择算法的优化方向最终确定参数,测试集用来检验算法的最终表现。在另一本书上我看到的解释是:这个调节过程本质上就是一种学习:在某个参数空间中寻找良 好的模型配置。因此,如果基于模型在验证集上的性能来调节模型配置,会很快导致模型在验 证集上过拟合,即使你并没有在验证集上直接训练模型也会如此。 造成这一现象的关键在于信息泄露(information leak)。每次基于模型在验证集上的性能来 调节模型超参数,都会有一些关于验证数据的信息泄露到模型中。
4 诊断偏差和方差
当一个算法表现的不理想的时候,通常有两种情况:偏差过大,方差过大,其分别对应欠拟合以及过拟合的问题,我们同时也需要一个更加直观的方式去判断。
5 学习曲线
我们可以通过绘制学习曲线的方法,来判断一个算法是否处于偏差、方差问题,其中曲线的y轴分别对应训练集的代价函数和交叉验证集的代价函数,x轴可以是上述几种,根据探究方向的不同而不同。
6 决定下一步要干什么
有了上述的基础我们可以得出以下方向,这些方向可以帮助我们更加有效的改进我们的算法。
(1).获得更多的训练样本——解决高方差
(2).尝试减少特征的数量——解决高方差
(3).尝试获得更多的特征——解决高偏差
(4).尝试增加多项式特征——解决高偏差
(5).尝试减少正则化程度λ——解决高偏差
(6).尝试增加正则化程度λ——解决高方差
7 误差度量
例:预测是否有癌症,训练集中癌症患者比例为0.5%:
上述问题叫做“类偏斜”问题。以上例子我们可以发现,当样本数据有非常多的同一种类的样本,只有很少或没有其他类的样本时,常规的误差度量似乎并不合适。因此我们需要更加适合的度量方法。
以上述为例,查准率指的是在所有我们预测有恶性肿瘤的病人中,实际上有恶性肿瘤的病人的百分比,越高越好。查全率指的是在所有实际上有恶性肿瘤的病人中,成功预测有恶性肿瘤的病人的百分比,越高越好。F1是我们定义的结合两者的综合得分。