您的位置:首页 > 其它

模型评估和选择——周志华的机器学习

2017-01-03 15:05 399 查看
2.1经验误差与过拟合

(1)误差:学习器的实际预测输出与样本的真实输出之间的差异;

(2)训练误差(经验误差):学习器在训练集上的误差;

(3)泛化误差:在新样本上的误差;

故我们希望得到泛化误差小的学习器,而实际能做的是使训练误差最小化。

(4)过拟合:学习器把训练样本学得“太好”了,很可能已经把训练集样本自身的一些特点当作了所有潜在样本都会具有的一般性质,这样会导致泛化性能降低。

针对于过拟合,我们必须认识到过拟合是无法避免的,能做的就是缓解。

训练误差由于过拟合现象的存在故不合适作为对一个模型好坏的评判标准

2.2评估方法

通过实验测试来对学习器的泛化误差进行评估进而做出选择。

(1)测试误差:测试学习器对新样本的判别能力,以测试误差作为泛化误差的近似

(2)一个包含m个样本例的数据集D,从中产生训练集S和测试集T;

2.2.1留出法

(1)70%的训练集+30%测试集       80%的训练集+20%的测试   等等

采用若干次随机划分,重复进行试验评估后取平均值作为留出法的评估结果。

(2)常见做法:大约2/3~4/5的数据用于训练,剩余的用于测试;

2.2.2 交叉验证法



2.2.3自助法



自组法在数据集较小,难以有效划分训练/测试集时很有用。

2.2.4调参与最终模型选择

参数调得好不好往往对模型的性能有关键的影响。

2.4.1 T-检验

经过多次的留出法或交叉验证法进行多次的训练/测试,这样会得到多个测试错误率。



则平均测试错误率

=(14.042%+12.143%+13.882%+13.855%+13.851%+13.808%+14.205%+13.636%+13.851%+13.822%)/10=13.909%
 

按百分比标记  即

=13.909

方差:

=[(14.042-13.909)^2+(12.143-13.909)^2+......]/9=0.36965



查表可知,当k=10,a=0.05时,双边t检验的临界值是2.262

考虑到这k=10个测试错误率可看作泛化错误率e0的独立采样,则变量

=-0.473

因为|

|=0.473<2.262 所以接受e0<=0.14  和显著度a=0.05的假设。

2.4.2交叉验证t检验

基本思想:对2个学习器A和B,使用k折交叉验证法得到测试错误率分别为A{e0,..........eK}和B{e0,e1.......eK}。先对每对结果求差A{ei}-B{ei},利用差值来对“学习器A与B性能相同”这个假设再做T-检验。

适用情况:一个数据集上比较2种算法。

2.4.3 McNemar检验


2.4.4Friedman检验与Nemenyi后续检验

一组数据集上进行多个算法的比较。P42

Reference:

1.周志华的machine learning机器学习

2.假设检验:http://wenku.baidu.com/link?url=ZQ4j-exYdlJ_iubFMoXnuCeSoaP-6ukZ9wgJtiSQ6q9rO_gz_4Vg7ce0nrOr4nk1-p8lKxRR4fY5Fe4TK-McLCrCQfx0SCuhl415xVfwH7G
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: