2.1经验误差和过拟合
错误率:分类错误的样本数占样本总数的比例。m个样本中有a个样本分类错误,E=a/m。
精度:1-a/m 即1-E
误差:实际预测输出与样本真实的输出之间的差异。
训练误差又叫经验误差:学习器在训练集上的误差。
测试误差:学习器在测试集上的误差。
泛化误差:学习器在新样本上的误差。
我们希望得到的是泛化误差小的学习器。但我们实际能做的是努力使经验误差最小化。
在很多情况下,我们可以学得一个经验误差很小、在训练集上表现很好的学习器。但是这种学习器在多数情况下都不好。
过拟合:这是因为学习器把训练样本学的‘太好了’的时候,很可能把训练样本本身的一些特点当作了所有潜在的样本都会具有的一般性质,这样导致泛化性能下降。这种情况我们称之为过拟合。★过拟合不可避免。
欠拟合:与‘过拟合’相对,对训练样本的一般性质尚未学好。
噪声:导致结果和预测不一样的外部因素。
理想解决方案:对候选模型的泛化误差进行评估,然后选择泛化误差最小的那个模型。
2.2评估方法
评估的原理:使用测试集,以测试集上的测试误差作为泛化误差的近似。
注意:测试集应尽可能与训练集互斥。
常用的有三种方法:1.留出法2.交叉验证法 3.自助法
我们只有一个包含m个样例的数据集D={(X1,y1)(X2,y2),....(Xm,ym)},需要对D进行适当的处理,从中产生训练集S和测试集T。X为向量,y表示标记
2.2.1留出法(hold-out)
留出法直接将数据集D划分为两个互斥的集合。
单次使用留出法得到的结果往往不够稳定可靠,在使用留出法时,一般采用若干次随机划分,重复进行实验,评估后取平均值作为留出法的评估结果。
留出法常见做法:训练集:2/3-4/5,剩余的作为测试集
2.2.2交叉验证法(cross validation)
交差验证法 1.将数据集D随机分为K个等份,每次取(K-1)个等份的并集作为训练集,剩下一个作为测试集。得到一个测试结果。K常取10
2.每个等份都做一次测试集,有K个测试结果。
3. K个测试结果去平均值得到R。
4. 步骤一执行P次。
5. 将P次 的测试结果再取平均值。即P次R求和再取平均值。
特别的,数据集D包含m个样本,令K=m,得到交叉验证法的一个特例:留一法(leave-one-out 简称LOO)
留一法的评估结果往往认为比较准确,但是在数据集比较大时,训练m个模型的计算开销可能是难以忍受的。
2.2.3自助法(bootstrapping)
自助法:基于自助采样即有放回采样,集成学习常用。
对m个样例的数据集D采样D':每次从D中选一个样本,拷贝到D',然后将该样本再放回,重复m次,得到一个包含m个样本的数据集D'。由第二个重要极限知
始终采不到的样本比例在1/3左右,约为0.368.
自助法在数据集较小,难以有效划分训练集和测试集的时候很有用。此外自助法能从初始数据集中产生多个不同的训练集,这对于集成学习很有用。
但是自助法产生的数据集改变了初始数据集的分布,因此引入估计偏差。
在初始数据量足够时,留出法和交差验证法更常用一些。
2.2.4调参与最终模型
大多数学习算法都有一些参数需要设定,参数配置不同,学得的模型的性能往往有显著的差别。调参就是对算法的参数进行设定。
2.3性能度量
性能度量:衡量模型泛化能力的评价标准。
回归任务常用的性能度量是--------------均方误差
2.3.1错误率与精度
错误率:分类错误的样本数占样本总数的比例。
精度:分类正确的样本数占样本总数的比例。
2.3.2查准率与查全率
还是以西瓜例子来解释
查准率:挑出的西瓜中好瓜所占的比例。
查全率:被挑出来的好瓜所占所有好瓜的比例。
查全率与查准率是一对矛盾的度量。