文章目录
1 基本概念
术语 | 解释 |
---|---|
错误率:error rate | 分类错误的样本数占样本总数的比例 |
精度:accuracy | 分类正确的样本数占样本总数的比例:1 - 错误率 |
误差:error | 学习器预测输出与真实输出的差异 |
训练误差/经验误差:training error | 学习器在训练集上的误差 |
泛化误差:generalization error | 学习器在新样本上的误差 |
机器学习目标:得到泛化误差小的学习器。实际上只能努力使经验误差小,但经验误差小不代表模型性能就好
1.1 过拟合/欠拟合
过拟合:学习器能力强大,将训练数据的一些自身特点当作所有样本都具有的特征
欠拟合:学习器能力低下
每种算法都有应对过拟合的方法(之后回头总结)
2 评估模型的方法
2.1 测试集的选取方法
由于我们无法获得泛化误差,因此,我们使用测试误差来近似泛化误差。要求:测试集数据要与训练集数据互斥
2.1.1 留出法
- 方法:通常选取数据集中20%~30%的数据作为测试集,其余作为训练集
- 要求:训练/测试集要尽量保持数据分布的一致性(例如:分类任务中,训练/测试集样本的类别比例相似)
- 注意:不同的划分导致不同的训练/测试集,一般进行多次随机划分,对评估结果取均值以得到测试误差
2.1.2 交叉验证法(P次K折交叉验证)
- 方法:
· 将数据集划分为k个大小相等的子集
· 每次取1个子集作为测试集,其余子集作为训练集,训练并评估模型,得到1折的评估结果
· 将所有k个子集分别做一次测试集,一共得到k个评估结果,取平均值,得到1次的评估结果
· 重复上述操作P次,将P次评估结果的平均值作为最终评估结果 - 要求:每一份数据子集都尽量保持数据分布的一致性
- 特例(留一法):每个数据子集的大小为1个数据样本
2.1.3 自助法
- 方法:
· 从原始数据集D中有放回地随机采样,放入D’(原始数据集的大小为m)
· 重复上述过程m次,D中一部分样本会在D’中多次出现,一部分样本不会出现(约36.8%)
· 采用D‘作训练集,D\D’作测试集
- 适用情况:数据量较小时适合
2.2 模型的性能度量
2.2.1 回归任务性能度量 – 均方误差
设测试集样本数为m,均方误差计算如下:
2.2.2 分类任务性能度量
2.2.2.1 错误率与精度
- 错误率:错误分类的样本数占总样本数的比例
- 精度:正确分类的样本数占总样本数的比例
2.2.2.2 查准率、查全率、F1
- TP, TN, FP, FN
概念 | 解释 |
---|---|
TP(True Positive:真正例) | 预测为正类,实际为正类的样本数 |
FP(False Positive:假正例) | 预测为正类,实际为负类的样本数 |
TN(True Negtive:真负例) | 预测为负类,实际为负类的样本数 |
FN(False Negtive:假负例) | 预测为负类,实际为正类的样本数 |
有上述四个概念,可以得到二分类问题的混淆矩阵:
-
查准率P(Precision)
定义:预测为正类的样本中,有多少比例确实是正类
-
查全率(Recall)
定义:实际为正类的样本中,有多少比例被预测为正类(被找了出来)
-
P-R曲线
作图方法:预测每个样本为正例的概率,将其从大到小排序。按此顺序逐个将样本作为正例进行预测,得到每次预测的P/R值,可以绘制出以R为横坐标,以P为纵坐标的P-R曲线,如下图所示:
观察A, B, C三个学习器的P-R曲线,A的曲线将C的曲线完全包住,因此,可以断定A的性能优于C。但A和B的曲线发生了交叉,进而使用***BEP(平衡点:即P=R时的点)***判断,由图可知,A的BEP点高于B的BEP点,因此,可以认为A的性能优于B。 -
F1、Fβ度量
当β>1时,查全率更重要;β<1时,查准率更重要;β=1时,退化为F1度量
2.2.2.3 宏、微
希望在n个二分类混淆矩阵上综合考察P、R
概念 | 公式 |
---|---|
宏查准率 | |
宏查全率 | |
宏F1 | |
微查准率 | |
微查全率 | |
微F1 |
2.2.2.4 ROC与AUC
概念 | 解释 |
---|---|
真正例率(TPR) | 真正例占实际为正例的比例 |
假正例率(FPR) | 假正例占实际为负例的比例 |
将FPR作为横轴,TPR作为纵轴,即可得到ROC曲线,AUC(Area Under Curve)为ROC曲线与坐标轴所包围的面积
2.2.2.5 代价敏感错误率
二分类代价矩阵:
其中:cost01是将第0类预测为第1类的代价;cost10是将第1类预测为第0类的代价
代价敏感错误率计算如下: