1 经验误差与泛化误差
学习器在训练集上的误差称为"训练误差" (training error)或"经验误差"(empirical error) ,在新样本上的误差称为"泛化误差" (generalization error)。
2 训练集和验证集的划分
- 留出法
直接将数据集 划分为两个互斥的集合,一个为训练集,一个为验证集。当样本类别不均时采用分层抽样。 - 交叉验证法
交叉验证的做法就是将数据集粗略地分为比较均等不相交的k份,然后取其中的一份进行测试,另外的k-1份进行训练,然后求得error的平均值作为最终的评价。
留一法是交叉验证法的特殊情况,每次只使用一个作为测试集,剩下的全部作为训练集,这种方法得出的结果与训练整个测试集的期望值最为接近,但是计算开销比较大。 - 自助法
有放回的均匀抽样。每次抽一个,抽完放回,重复执行 m 次后就得到了包含 m个样本的数据集。
自助法在数据集较小、难以有效划分训练/测试集时很有用。此外,自助法能从初始数据集中产生多个不同的训练集,这对集成学习等方法有很大的好处。
3 过拟合与欠拟合
3.1 欠拟合
- 表现
训练集和验证集上准确率都很低。 - 原因
1)模型复杂度过低
2)特征量过少
3)参数还未收敛就停止循环 - 解决方案
1)增大模型复杂度
2)增加特征
3.2 过拟合
- 表现
训练集准确率高,验证集准确率低。 - 原因
1)数据太少
2)模型复杂度太高 - 解决方案
1)正则化(Regularization)(L1和L2)
2) 数据扩增,即增加训练数据样本
3)Dropout
4) Early stopping
4 评价指标
4.1 回归任务
均方误差:
4.2 分类任务
TP(True Positive):被判定为正样本,实际也为正样本
FN(False Negative):伪阴性 ,被判定为负样本,实际为正样本
FP(False Positive):伪阳性,被判断为正样本,实际为负样本
TN(True Negative):被判断为负样本,实际为负样本
- 准确率:预测正确的占总的比例
- 精确率:真正正确的占所有预测为正的比例
- 召回率:真正正确的占所有实际为正的比例
- F1值:算数平均数除以几何平均数
当P(精确率)和R(召回率)都取最大值1时,F1=1;当P和R都取最小值0时,F1=0,所以F也是一个0到1之间的常数。并且由于分子是F和R的乘积,所以要取得较大的F值,准确率和召回率都必须较大。
提高阈值(0.5),精确率增大,召回率降低。
举个例子,当医院检测肿瘤患者时,如果希望检测出来的尽量是真正患病的,就应该提高阈值,提高精确率,如果希望找出更多可能患病的人,不漏掉可疑的,就应该降低阈值,提高召回率。
5 偏差与方差
偏差是衡量一个模型在训练数据集上拟合程度的。方差是衡量这个模型在验证集上拟合程度的。噪声 则表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度。
泛化误差可分解为偏差、方差与噪声之和。