机器学习教程之8-机器学习系统的设计(Machine Learning System Design)

来源:互联网 发布:ubuntu 打字 编辑:程序博客网 时间:2024/06/15 09:40

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的机器学习

阅读全文
0 0