机器算法有很多,各种模型的在不同的场景下各有优劣。所以需要一些方法来对机器学习的方法有一个判断。
评估方法
- 留出法
- k折交叉验证法
- 自助法(以bootstrap sampling为基础)
性能度量
- 均方误差(回归任务常用)
- 错误率与精度
- 查准率(percision),查全率(recall),,P-R图(平衡点BEP),F1(P,R调和平均)
真实情况 | 正例 | 反例 |
---|---|---|
正例 | TP(真正例) | FN(假反例) |
反例 | FP(假正例) | TN(真反例) |
P=TPTP+FP
R=TPTP+FN
ROC与AUC
ROC(Reciever Operating Characteristic)是根据学习起的预测结果对样例进行排序,按此顺序逐个把样本作为正例进行预测,每次计算出两个重要的值分别为横纵坐标。
横坐标:假正例率(False Positive Rate)
FPR=FPTN+FP
纵坐标:真正例率(True Positive Rate)
TPR=TPTP+FN
AUC(Area Under ROC Curve)是ROC曲线下的面积,来评价模型期望性能。
代价敏感错误率与代价曲线
在非均等代价下,ROC曲线不能直接反映出学习器的总体代价,而代价曲线则可以。
比较检验
- 假设检验
- 交叉验证t检验
- McNemar检验
- Friedman检验与Nemenyi后续检验
偏差与方差
偏差-方差分解(bias-variance decomposition):解释学习算法泛化性能。因为泛化误差可以分解为偏差,方差与噪声之和。偏差度量了学习算法的期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力;方差度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响。噪声表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度。偏差-方差分解说明,泛化性能是由学习算法的能力,数据的充分性以及学习任务本身难度决定的。