[林轩田]15-验证法

模型选择

模型选择的因素

演算法选方面选择:PLA, pocket, linear regression, logistic regression
iteration的次数:100,1000
每步大小: 1,0.01
特征transform: linear线性的、quadratic二次的,poly-10 10次多项式,legendre-poly-10 10次垂直多项式。
regulation选什么: L2 regularizeer L2范数,L1范数,对称范数。。。
规范化的权重λ 0,0.01,1

验证资料的选择 validation set Dval

Ein与Eval

如果用训练样本做验证,其实是被污染了的资料,因为你在训练模型的时候已经使用了这些资料
如果使用测试样本做验证,那就不好了,因为这些测试样本给你的话,以后判定的指标就不准了呀。

所以可以在训练之前拿出一部分样本做测试。这些样本不参与训练;

Paste_Image.png

数据分块的办法

所以我们现在把数据分成了两部分,k的那部分用来做验证,也就是计算Eval,N-k那部分用来训练模型。而在我们选择模型的时候,就不需要计算Ein了,而是计算Eval,以此来估计当前模型的Eout。
Paste_Image.png

我们的finite hoffding不等式来计算Eout

Paste_Image.png

选出合适的Gm之后还要用所有的资料重新来一次训练。
Paste_Image.png

k的选择

有当test_data很小,train_data接近D时,才差不多。
一般情况下,我们的test_data选取总数据的20%.即N/5 .

Paste_Image.png

留1法做交叉验证

留一法

留一个作为test_data,其余都作为train_data.循环N次,再把N个error取平均.
Paste_Image.png

Paste_Image.png

cross validation: 交叉验证指的是同一笔资料有时候当验证有时候当训练样本,最后取平均。

该方法理论上很好,但是实际上,并不常用.一般再数据量很小的时候用.

缺点有:
1.可能计算量很大
2.稳定性不是很好,因为每次仅仅留一个点作为test_data

k-fold 交叉验证

一般K取10. 也有取5的.k越大,越精确.但是运算量大.

总结

  1. 交叉验证其实对结果还是有一些乐观成分.
  2. 只要计算量允许,就用10折交叉验证,10折效果一般比5折好.
  3. cross validation 比single validation(普通验证法) 好,只要计算量允许,一定要用cross validation

其他资料

[验证法:如何选择模型,参数等 - 丁磊_ml的博客 - 博客频道 - CSDN.NET]
(http://blog.csdn.net/mosbest/article/details/52191916)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值