西瓜书-机器学习《二》模型评估与选择

来源:互联网 发布:大型网络动作竞技游戏 编辑:程序博客网 时间:2024/05/22 05:18

基本概念

错误率:分类错误样本占总样本个数的百分比。
训练误差:在训练集上训练模型时,分类的错误率的值。
泛化误差:训练集上训练的新模型,在新样本上分类的错误率的值。

过拟合:
学习能力过于强大,学习到了不具有代表性的不一般的特征,导致模型泛化能力差。
欠拟合:
学习能力欠缺,增加训练轮数或者决策树中扩展分支等均可以提高学习能力。

评估模型好坏的方法

留出法

留出法:直接将数据集划分成两个互斥的集合,分别为训练集和测试集。
训练集和测试集尽可能的保持数据分布的一致性,通常在采样划分的时候使用分层采样。
单次留出法可能导致不稳定,所以采用多次随机划分,重复实验取平均值评估模型。
训练集和测试集的划分比例大小可能导致训练模型的稳定准确度收到很大影响,所以一般是2/3~4/5的部分用于训练,剩余用于测试。

交叉验证法

将数据集划分为K个大小相等的互斥子集,每个子集尽可能保持数据分布的一致性,分层采样得到,k-1个子集作为训练集,剩余的一个作为测试集。
例如:
10折交叉验证:分成10个互斥子集,9个为训练集,1个测试集
10次10折交叉验证:做10次实验,每次都划分10个互斥子集,9个训练集,1个测试集

留一法

交叉验证法的特例:即m个样本划分为m个互斥子集
留一法一般准确率比较高,但是当数据集量比较大时,实验难度比较高
且不考虑调参情况,所以未必效果比其他的评估方法要好。

自助法

自助采样为基础,从数据集中采样出数据并复制到训练集中,这样训练集中的数据均是从总样本中选择出来的,总样本的数据量不变,其中,一直不会被采样到的数据的概率用极限估计为:36.8%。
自助法一般用于数据量比较小的时候,难以有效的划分测试集和训练集。但是该种方法会导致打破数据分布的一致性。可能导致估计偏差。

调参

最终模型的确定需要调参过程。
一般调参使用的是验证集。
这样数据集就划分为:训练数据(训练集和验证集)和测试数据(测试集)。

性能度量

衡量算法模型的泛化能力。

错误率和精度

精度:分类正确的样本占总样本的比例。错误率则相反。

查准率和查全率

查准率:真正例/(真正例+假正例)
查全率:真正例/(真正例+假反例)

一般情况下,查准率和查全率是矛盾的,如果想要查准率,会选择更可能真的样本个数,这样样本范围会缩小。但是如果想要提高查全率,就会选择更多的样本数,尽可能使得其没有遗漏,这样的话,查准率就会收到很到影响。

查准率查全率曲线:P-R曲线。
一般两个模型对比的话:
如果曲线A可以包住曲线B,那么就认为曲线A的模型的泛化性能更好。
也会根据平衡点BEP来度量模型,如果平衡点的值更高,那么该模型的质量就更好。平衡点即查准率等于查全率的时候的值。
一般认为BEP的评判标准过于简单,会使用F1度量。(公式见书32页)

宏查全率和宏查准率:
各混淆矩阵的查准率和查全率的平均值。

微查全率和微查准率:
各混淆矩阵的对应位置的平均值,然后再求查准率和查全率。

ROC和AUC

ROC曲线的纵轴是真正例率,横轴是假正例率。
AUC为ROC曲线下侧包围的面积值的大小。

代价敏感错误率

对于正类分类错误和反类分类错误的代价不同,分错的乘以不同的权值。

比较检验

假设检验
交叉验证t检验
McNemar检验
Friedman检验和Nemenyi后续检验

偏差与方差

偏差:算法学习结果和真实结果之间的差距
方差:相同规模数据集发生变动对学习出的结果之间的差距
噪声:任何算法模型在数据上学习到的模型的期望泛化误差的下界,即问题的难度
泛化误差包含:偏差、方差和噪声的加和

原创粉丝点击