西瓜书笔记(2.模型的评估与选择)

机器学习将在训练集上的出错率成为“经验误差”,“训练误差”,而相对的,将正确率称为精度(accuracy),而将在新样本出现的错误率称为“泛化误差”,而“训练误差”接近0并不意味着模型很好,相反,这样的模型一般都具有较高的“泛化误差”,好的模型应该是从训练集中寻找规律,使其“泛化误差”最小。

”训练误差“接近0也称为“过拟合”,与其相反的是“欠拟合”,即为在训练集上经常出错。

机器学习中,欠拟合一般由模型学习力低下导致,可以通过简单的处理提高模型的学习能力,而过拟合是由于学习力过强导致的,他的解决比较困难而且无法彻底避免,他是机器学习的主要问题,任何主流算法都有专门解决过拟合的方法。附上24页插图

因为过拟合的普遍性,所以我们要通过测试集来评估模型,从而让我们由依据去选择合适的模型。

测试集行该尽可能与训练集 ∩ 空,从样本分布中独立同分布采集,尽最大可能避免从数据集来源产生的误差。

---------------------------------------------------------------------------------------------------------------------------------

训练模型时,当我们的数据集为m时,如何划分训练集和测试集?

流出法:

将数据集分为A,B两个数据集,一个用于训练,一个用于测试,两个集合的划分行该同层次相等,尽可能避免数据集成分不同导致的误差,例如训练垃圾邮件识别时,如果训练集有34%的垃圾邮件,那么测试集也要有34%的垃圾邮件

需要注意:训练集要比测试集大

交叉验证法(k折交叉验证):

将集合分为 个互斥的集合,划分要保持分布一致,每次取出一个当测试集,剩下的当训练集,重复k次使所有的小集合都当过测试集,然后将k次的结果取平均值

图来自p26

留一法:

交叉验证的特殊形式

当 k =  集合元素个数时(小集合的元素数为1),留一法被公认为是最准确的方法,但是显而易见的他的耗时太大

自助法:

当数据集规模很小时,很难划分“成分相同”的数据集,所以产生了自助法每次在数据集中抽取1个样本,然后放入训练集中,每个样本可重复抽取,经过一定次数的抽取后,有一部分进入了训练集,剩下的即为测试集

在经过m次抽取后,不被抽取的几率为:(1 - 1/m)^m,当m趋近为正无穷时,

(1 - 1/m)^m = 1/e ≈ 0.368,所以 训练集 : 测试集 接近 2 :1

自助法在数据集很小时好用,但当数据集足够时,还是推荐选择交叉验证和流出法

---------------------------------------------------------------------------------------------------------------------------------

在机器学习中,很多算法都有重要的参数设置,在选择合适的算法时,还要配置合适的参数,这就是调参

参数的选择一般是一个数字,在选择参数时应该选择合适的步长和范围,从而确定要训练的参数,

例如[0 - 6]步长为3,就行该选择[0,3,6]作为参数。

每个参数都需要重新训练模型然后测试,因此,参数的选择及其消耗性能,需要谨慎对待

而用于选择参数的集合称为验证集

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值