机器学习西瓜书第二章笔记

2、模型评估与选择
经验误差与过拟合
误差:学习器预测与样本实际输出值之间的差异
训练误差:学习器在训练集上的误差
泛化误差:训练集在新样本上的误差
希望泛化误差小的,但实际只能使经验误差最小化
过拟合:学习器把训练样本自身的特点当作了所有样本潜在的样本都会具有的一般特质
(学习的太好了)
欠拟合:训练样本的一般性质没学好

无法直接获得泛化误差,训练误差又由于过拟合现象存在不适合作为标准,如何进行模型评估与选择?
通过实验测试对泛化误差进行评估(使用一个测试集来测试学习器对新样本的判别能力,即测试误差作为泛化误差的近似)
方法:
留出法(数据量充足)
互斥、分层采样、对D分割的方式有好多种,若干次随机划分,取平均值
交叉验证法(数据量充足)
划分为K个大小相似的互斥子集,分层采样,用k-1个子集做训练,余下为测试集,
划分K个子集,有多种方式,常用10次10折交叉验证
若K=m则为留一法
自助法(适合数据集小,难以有效划分测试集、训练集时)
前两种方法训练集都比D小,不可避免地产生一定的估计误差
自助采样

对学习器的泛化能力进行评估,性能度量(评价标准)
错误率与精度
分类错误的样本数占样本总数的比例
精度=1-错误率
查准率与查全率
对于二分类问题
真正例(true positive)、假正例(false positive)真反例(true negative)、假反例(false negative)
实际为正,预测也为正TP
实际为负,预测为正FP
实际为负,预测为负TN
实际为正,预测为负FN
查准率P(预测结果为正的样本中有多少是真正的正样本)
P=TP/(TP+FP)
查全率R(recall)(真正的正样本有多少被查出来了)
R=TP/(TP+FN)
两者很矛盾,一般查准率高,查全率低
P-R曲线衡量学习器的性能
平衡点P=R即BEP
常用量为F1
F1=2PR/(P+R)
一般形式是FB

FB=(1+BB)PR/(BB*P+R)
B>1,则查全率有更大影响,B<1查准率更有影响
若有多个二分类混淆矩阵,则分别计算P、R再取均值,宏观P、R
各个元素进行平均先取均值再计算P、R,微观P、R

ROC与AUC
ROC曲线是从排序本身质量的好坏,即综合考虑学习器在不同任务下的“期望泛化性能”

根据学习器的预测结果对样例进行排序,按此顺序逐个把样本作为正例进行预测,每次可以计算出真正例-假正例(TPR-FPR)
TPR=TP/(TP+FN)
FPR=FP/(TN+FP)
一般一个学习器A包裹住学习器B则性能A>B,若有交叉则计算曲线下方面积即AUC

代价敏感错误率与代价曲线
非均等代价,

比较检验
学习器性能的比较,即用统计假设检验方法,
测试错误率近似估计为泛化错误率
单个学习器泛化性能的检验
一次留出法使用二项分布
n次留出法或交叉验证法,多个错误率,用t检验

一个数据集上比较两个学习器
交叉验证t检验

McNemar检验
使用留出法不仅可以估计测试错误率,分类结果的差别也可以得到
一组数据比较多个学习器
Friedman(每个数据集上算法序值排序,算法序值求平均序值)
若所有算法性能相同不成立则
进行Nemenyi后续检验
Friedman检验图,横线有交叠则没有显著差别,无交叠,则排序靠前,性能越好

方差与偏差
是解释学习算法泛化性能的重要工具
泛化错误率:欠拟合(偏差主导)过拟合(方差主导)

上一篇:composer安装tp各版本(旧版本不能安装)


下一篇:【机器学习】机器学习算法的常用评价指标