machine learning学习笔记(三)

   为了评估训练模型的output,通常我们会将数据集分为三类:training set, validate set, test set,一般的比例为6:2:2,最好根据实际数据量来划分比例。

现在来看看房价预测这个例子。我们用模型训练之后无非会有三种情况,如下图:

(1)第一种即是我们所说的high bias(高偏移):造成high bias的原因有两种,第一种可以从图上看出,就是我们的训练的feature很少,以至于再怎么训练,多项式也无法完全拟合所有数据(同时如果此时再增加train set的数量也是徒劳的,所以有些情况下并不见的数据越多越好,关键是要找对模型,一步一步来调整对策)。第二种稍后再说。

(2)第二种是最理想的结果,介于overfit和underfit之间。

(3)第三种是high variance,造成high variance的原因其实也有两种,也刚好是和high bias对应。第一种原因是feature太多了,以至于完全拟合了所有数据,这时候可以想象,如果增加training set的数量,可能会有很不错的效果。第二种也放在后面说。


然后我们可以以feature size为变量来描绘validate set和training set两个数据的cost function。我们的最终目的当然是使得两个cost function尽量小,同时也要尽量相等。

   由此可以看出其实bias的本质是 对于training set的准确度评估;而variance是用training set训练好的模型对validate set评估的方差

然后我们用training set size为变量来描绘validate set和training set两个数据的cost function。

在high bias情况下:

在high variance情况下:

上面的两个图就是learning curve,应该不难理解。


最后我们看看实际经过regularization后的cost function的式子

所以可以看出参数lambda也是能影响到模型的最后效果的。

如果lambda过大,自然会减少多项式参数theta的值,导致underfit。反之同理。

所以造成bias和variance的第二个原因就是lambda值的选择。 根据这些原因就可以知道自己的模型问题出在哪儿,然后对症调整。

        结论:practical application中,要学会用learning curve 来找出模型具体的问题所在,才能正确训练出好的结果。


  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值