一、经验误差与过拟合
学习器(模型)的实际预测输出与样本的真实输出之间的差异称为"误差"。
其中,模型在训练集上的误差称为"训练误差"或者"经验误差",新样本上的误差称为"泛化误差"。
错误率:E=a/m,m为样本个数,a为分类错误的样本个数。
精度:1-错误率。
对于错误率和精度,误差。错误率和精度用于离散型,针对分类问题;误差用于连续型,针对的是回归问题。
过拟合:模型的学习能力过于强大;欠拟合:模型的学习能力太低下。对训练样本的一般性质未学好。
强调一点,过拟合是无法彻底避免的,只能缓解,减小风险。
(PS:P问题是指多项式时间内可解决的问题;NP问题是非确定性多项式时间内可验证问题。)
二、评估方法
作者讲了三种模型评估方法:留出法,交叉验证法,自助法。
留出法:将数据集划分成两个互斥的集合,一个作为训练集S,一个作为测试集T。在S上训练出模型,用T来评估测试误差。常见2/3~4/5的样本用于训练。
优点:方法简单,结果比较准确
缺点:当数据集大的时候,训练计算的开销会很大
注意:
1、划分时要尽可能保持数据分步的一致性,避免因为划分引入额外误差对结果产生影响。
2、使用留出法时,一般要采用若干次随机划分,重复进行实验评估后取平均值作为评估结果
交叉验证法:将数据集D划分为k个大小相似的互斥子集(每个子集都是从D中分层采样得到),每次都用k-1个子集的并集作为训练集,剩下的一个子集作为测试集。最后返回的是k个测试结果的均值。该方法也叫作k折交叉验证。
PS:由于划分存在多种划分方式,通过多次不同划分可以减少因为样本划分不同引入的差别。
自助法:从数据集中随机可重复采样(采样后放回D),重复操作m次,得到包含m个样本的数据集D',将D'作为训练集,D- D' 作为测试集。
优点:在数据集小、难以有效划分时有用,能从初始数据中集中产生多个不同训练集,对集成学习有很大好处。
缺点:产生的新数据集改变类数据分步,会引入新的误差。
调参:将数据集分为训练集和测试集;第二步,将训练集划分出训练集和验证集,用验证集的结果调参,随后并进训练集,再调参,最后并入测试集,得出最后参数。
三、性能度量
1、回归任务的性能度量:"均方误差"
2、分类任务:
错误率和精度在文章开头已经提过,不再赘述了。
查全率,查准率:
总结:第二章讲述了怎么评估模型,怎么选择模型,介绍了模型的性能度量,从训练模型到预测结果,再到性能度量。第二章内容丰富,需要自己多次学习,在此后几章的学习中,学习机器学习的经验,与学长学姐共同进步。慢慢啃书,和大家一起加油!