机器学习教程之8-机器学习系统的设计(Machine Learning System Design)
0.概述
当数据有类偏斜的现象时,查准率和查全率能更准确的判断算法效果的好坏。
1.首先要做什么
以构建垃圾人邮件分类器算法为例,我们可以做很多事情,例如:
(1)收集更多的数据,让我们有更多的垃圾邮件和非垃圾邮件的样本
(2) 基于邮件的路由信息开发一系列复杂的特征
(3) 基于邮件的正文信息开发一系列复杂的特征,包括考虑截词的处理
(4) 为探测刻意的拼写错误(把 watch 写成 w4tch)开发复杂的算法
头脑风暴想出一堆特征向量对于机器学习系统的设计是很有必要的。
2.误差分析
构建一个机器学习算法的推荐方法为:
(1)从一个简单的能快速实现的算法开始,实现该算法并用交叉验证集数据测试这个算;
法
(2)绘制学习曲线,决定是增加更多数据,或者添加更多特征,还是其他选择;
(3)进行误差分析:人工检查交叉验证集中我们算法中产生预测误差的实例,看看这些实例是否有某种系统化的趋势。
3.类偏斜的误差度量
类偏斜情况表现为我们的训练集中非常多的同一类的实例,只有很少或没有其他类的实例。
查准率(Precision)和查全率(Recall) 我们将算法预测的结果分成四种情况:
(1) 正确肯定(True Positive,TP):预测为真,实际为真
(2)正确否定(True Negative,TN):预测为假,实际为假
(3)错误肯定(False Positive,FP):预测为真,实际为假
(4)错误否定(False Negative,FN):预测为假,实际为真
4.查全率和查准率之间的权衡
在很多应用中,我们希望能够保证查准率和召回率的相对平衡。
不同阀值情况下,查全率与查准率的关系绘制成图表:
查全率和查准率是“按下葫芦漂起飘”的关系,可以使用F计算公式计算F值,选取F最大值作为阈值:
5.机器学习的数据
6.总结
7.参考资料
[1] Ng的机器学习