1. 误差:在机器学习中算法的预测输出与实际输出之间的差异,包含经验误差和泛化误差。
2. 经验误差:学习算法在训练集上的误差,也称为训练误差。
3. 泛化误差:学习算法在新样本集上的误差,优秀的学习算法都具有泛化误差较小的特点。泛化误差一定程度上可以被拆解为偏差、方差、噪声之和。偏差表示算法本身的拟合能力。方差表示数据扰动的影响。噪声表示误差的下限,即问题本身的难度。
4. 过拟合:学习算法的能力过于强大,不但学会了样本的“普遍特征”,也学会了样本的自身特性。过拟合无法避免,只能缓解。
5. 欠拟合:含义与过拟合相反,易通过增强算法来克服。
6. 训练集、测试集、验证集之间的关系:训练集和验证集可以统称为训练数据,验证集是在训练阶段完成模型选择和调参任务的。测试集主要模仿模型在实际中的数据,用于测试模型的泛化能力。
7. 划分训练集与测试集的主流方法
(1)留出法:直接将数据集随机划分为两个互斥的集合,同时保证数据分布的一致性,避免由于数据分布而产生的偏差。
(2)交叉验证法:又称k-折交叉验证,将数据集随机划分为k个集合(例如划分p次),每次选取其中一个集合作为测试集,其余集合作为训练集合,则一共了进行次实验,再取平均值。特别的,当k等于数据中包含的样本数时,称为留1法,评估结果较为准确但是计算开销随数据量变化明显。
(3)自助法:以自助采样为基础,从原数据集中每次随机挑选一个样本放入新数据集中,同时保留原数据集不变,进行m次动作后,新数据集中可能出现多次被采到的同一样本,也可能有部分样本始终不被采到,概率为0.368,计算公式如下:
自助法中以新数据集为训练集,原数据集中未采集到的样本集合为测试集,同时由于概率保证,测试集大小可以维持在原数据集的1/3左右(包外估计)。由于其随机性,适用于数据集较小、难以划分测试集的时候。
性能度量(performance measure)
8. 错误率与精度
9. 查准率或准确率(precision):检索出来的信息中用户感兴趣的比例,查的有用的占多少。
10. 查全率或召回率(recall):用户感兴趣的有多少被查出来了,有用的中多少被捕获了。
11. 混淆矩阵:以二分类问题为例,
真实 \ 预测 | 正 | 负 |
正 | TP | FN |
负 | FP | TN |
Precision=TP/(TP+FP),
Recall=TP/(TP+FN).
一般来说,查准率和召回率为一对矛盾的变量,通常以P-R曲线(P为Y轴,R为X轴)评估模型性能,如果某一算法的PR曲线能够“全包住”或“线下面积”大于另一条曲线,则认为性能更优,交叉难分辨时,以“平衡点”(P=R的点,称BEP)作为区分,矩形面积更大的算法性能更优。
对于多个二分类的问题,可以两两计算混淆矩阵的PR,再平均,称为“宏(macro-)查准,宏召回”。也可以直接将两两矩阵的TP,FP,FN,TN等平均,再求PR,称为“微(micro-)查准,微召回”。
12. F1:
PR的综合体现,F1(a)=(1+a^2)xPxR / [(a^2xP)+R],其中a表示R对于P的重要程度。
13. ROC曲线(受试者工作特征):真正例率TPR为Y轴,假正例率FPR为X轴。
TPR=TP/(TP+FN)
FPR=FP(TN+FP)
AUC全称为Area Under ROC Curve。