这一节主要讲如何构建一个机器学习系统以及其中可能遇到的问题。
1. Building a Spam Classifier
1.1 Prioritizing What to Work On
创建一个垃圾邮件分类系统:
- 构建一个垃圾邮件的常用词字典
- 通过与字典中的词比较构建特征向量
- 构建分类器进行训练得到最优分类模型
如何优化分类模型,常用的方法:
1.2 Error Analysis
当构建一个机器学习应用时,建议的一个顺序是:
- 首先构建一个比较简单的模型或算法
- 绘画出该模型的学习曲线,来诊断该模型是否有高偏差和高方差问题,进一步判断收集更多的数据和特征是否有帮助
- 误差分析,对交叉验证误差进行分析,分析是什么导致了误差,并根据分析结果判断如何改善模型,
2. Handling Skewed Data
2.1 Error Metrics for Skewed Classes
(1)偏斜类(Skewed Classes)是指假设一个样本中有两类,其中一类的数目比另一类的样本数目要多的多,这时我们用总体分类精度来评价该机器学习模型可能会出现较大的误差和问题,比如利用一个简单的模型(y=0)就可以获得很高的模型精度,但是这显然不适合实际样本的,所以就需要使用其他方法来对该模型进行评价,避免偏斜类的问题。所以就产生了Precision和Recall评价方法。
(2)Precision 和Recall是另一种评价模型精度的方法,对于偏斜类问题能较好的对模型进行评价。
Predicted Class/ Actual Class | 1 | 0 |
---|---|---|
1 | True Positive | False Positive |
0 | False Negative | True Negative |
计算Precision和Recall的公式如下: