1、误差与过拟合
误差:学习器的预测输出与样本真实输出的差异。
经验误差:在训练集上的误差。
泛化误差:在新样本上的误差。用测试集误差来表示。
欠拟合:对训练样本的一般特征未学好。(容易克服,例如增加深度)
过拟合:学习能力过于强大,把一些训练样本的个别特征当成一般特征学习。
- 过拟合无法彻底避免,只能尽可能缓解
- 若可彻底避免,则P=NP
2、评估方法
训练集与测试集一些原则:
- 训练集与测试集互斥
- 要尽可能从样本真实分布中独立同分布采样
留出法
思想:将数据集D划分两个互斥的集合:训练集S、测试集T,即D=S∪T,S∩T=Φ.
- 训练/测试集的划分要尽可能保持数据分布的一致性
- 不同的划分会有不同的训练集和测试集,模型评估的结果也有差别。一般要用若干次随机划分、重复实验评估后取平均值。
- S划分过大则T较小,评估结果可能不准确;若T包含更多样本,则S与D差别更大,则训练的模型与用D训练的模型相比可能有较大差异,从而降低了评估结果的保真性。常见解决方案是训练集S大致为2/3~4/5.
交叉验证法
思想:将数据集D划分为k个大小相似的互斥子集。有D=D1∪D2∪…∪Dk, Di∩Dj=Φ. 每次用k-1个子集作为训练集,余下那个子集作为测试集;从而可进行k次训练测试,最后返回这k个测试结果的均值。也称为“k折交叉验证”。
- 每个子集都尽可能保持数据分布的一致性。
- 此方法评估结果的稳定性和保真性很大程度取决于k
- 与留出法相似,也存在不同的划分方式。可重复p次划分,即p次k折交叉验证。
留一法:m个样本划分为m个子集(每个子集一个样本)
- 评估结果往往较为准确。
- 数据集大时,计算开销非常大。
自助法
思想:每次从数据集D(m个样本)中随机挑选一个样本,将其拷贝放入D’,重复m次。D中有一部分样本会在D’中,有一部分不在。每个样本不在的概率为(1-1/m)m,m区域无穷时,约为0.368。于是用D’作为训练集,用D-D’作为测试集(大约为1/3)
- 能从初始数据集中产生多个不同的训练集
- 产生的数据集改变了初始数据集的分布,会引入估计误差
- 在数据集较小、难以有效划分训练/测试集时很有用
3、性能度量
回归任务
均方误差
分类任务
错误率与精度
错误率:分类错误的样本数占样本总数的比例
其中 当 x 为真时,其值为1
精度:分类正确的样本数占样本总数的比例
查准率与查全率
| 预测结果 | ||
|---|---|---|
| 真实结果 | 正例 | 反例 |
| 正例 | TP(真正例) | FN(假反例) |
| 反例 | FP(假正例) | TN(真反例) |
查准率(准确率): (预测行为的正确率)
查全率(召回率): (所有正例预测出来的占比)
- 查准率和查全率是一对矛盾的度量(成反比)
- P-R曲线如下:
一个学习器P-R曲线“包住”宁一个曲线,则前者性能优于后者。
如:A>C,B>C
而对于A、B交叉的则需要其它性能度量,主要有如下:
- 平衡点(BEP):查准率P=查全率R
- 如图可知,A>B
- F1度量:
- 基于调和平均数
