林轩田《机器学习基石》(十六)—— Three learning principles

本节课讲述一些机器学习的小秘密:三个学习原则。

一、奥卡姆剃刀原则

An explanation of the data should be made as simple as possible, but no simpler.   

你今天如果对你的资料做解释的话,那么越简单的解释越好。

这件事可以追溯到14世纪,奥卡姆的威廉说:对一件东西的处理越简单越好,把不必要的东西剃掉。

在机器学习中的意思是:对资料最简单的解释就是最好的解释。

同样的资料,如下,比较好的是左边的解释:简单,而且效果还不错。

那么现在存在两个问题:1.什么叫做简单的模型?2.为什么知道简单的模型比较好?

1.什么叫简单?

首先说什么叫简单的hypothesis?答:对于单一的hypothesis,最起码看起来很简单,比如参数少。

如果模型有很多hypothesis,那么什么才叫简单?答:有效的hypothesis较少。

所以简单的hypothesis与简单的model之间是有联系的:如果model的复杂度很小,很简单,某种程度上来说,这个模型中的hypothesis是比较简单的。如何找到简单的模型:要不一开始就从简单的模型开始挑选,要不就使用regularization约束模型复杂度。

2.为什么知道简单的模型比较好?

直觉的解释:如果给了乱乱的资料,那么大部分都没法分开,除非很复杂的模型可能将其分开;反过来,如果有一组资料能被很好的分开,那么表示这笔资料不是乱乱的,应该是有某种程度的规律性。因此,如果给了很复杂的模型,你就没有办法辨别资料的好坏。所以用简单的模型可以告诉我们结果是有意义的,找到了资料的规律将其分开了。

3.模型考虑的顺序

先考虑线性的再考虑更复杂的,最好用我们已知的能解决问题的最简单的模型。

二、样本偏差

我们先给出一个小例子:图中报纸上写着大选中,Dewey 打败了Truman,问图中举着报纸的人是Dewey还是Truman?

分析:一般来讲,结合Dewey 打败了Truman,图中的人笑的很开心,他应该是Dewey。

真实结果:但实际上他是Truman,实际上Truman赢了。

到底报纸产生这种错误的原因是什么呢?

是编辑搞错了吗?no

是调查的人的时候运气不好吗?no

其实原因是当时调查的选民都是通过电话方式,电话当时很贵,所以拥有电话的人很有钱,这部分人支持Dewey。这导致了报纸有错误,导致了最终我们的判断错误。

所以在抽样时候如果有偏差(Sampling Bias),这样会导致最终学习有偏差。回到之前的vc bound的理论,我们曾经有过假设:训练资料和测试资料都有同样的分布。最好都是独立同分布的,这样训练得到的模型才能更好地具有代表性。

回到之前最开始信用卡问题,我们给顾客信用卡,然后看他们是否能够正常使用信用卡不会逾期或刷爆信用卡,来决定未来是否给新顾客信用卡。这个问题有潜在的危机吗?(特征x是顾客年龄等,label y是是否有一些不良的信用卡行为,比如是否刷爆卡,要注意label不是是否给这些人信用卡)

答:我们之前的资料只有拥有信用卡的顾客的资料(他们是否乱花钱了),而没有那些没有信用卡的顾客的资料(他们是否乱花钱了)。所以这些资料是已经经过筛选的资料,但我们不知道那些没有给信用卡的人到底会发生什么。所以在测试集中,新的顾客可能属于给信用卡的人,也可能属于没给信用卡的那类人,前者和后者的分布可能不一样。

三、今天你偷看资料了吗?

之前的课程介绍过在模型选择时应该尽量避免用我们人为的智慧,因为我们人脑的复杂度很高。所以应该尽量避免偷看资料,一旦偷看资料,那么你人脑的智慧就会参与到模型的选择,而不是根据数据进行随机选择,你计算的vc会很小,而实际上会很大。

事实上,数据偷窥发生的情况有很多,不仅仅指我们看到了原始数据。什么意思呢?其实,当你在使用这些数据的任何过程,都是间接地偷看到了数据本身,然后你会进行一些模型的选择或者决策,这就增加了许多的模型复杂度,也就是引入了污染。

下面举个例子:

假如我们有8年的货币交易资料,我们希望从资料中学习规则来预测货币的走势。在训练模型时,拿前6年数据作为训练数据,后2年数据作为测试数据。现在我们输入前20天的数据,根据之前训练的模型,来预测第21天的货币交易走势。

在训练模型时候,我们知道有6年的训练资料和2年的测试资料。但是在处理数据时,有时候资料波动太大,所以我们会做归一化或者放缩等一些数据处理.

现在蓝色的线的数据处理方法是:用前6年的数据来决定缩范围等等来做数据处理,然后训练模型,再把数据缩放回去。

红色的线是:既然所有8年的资料都在手上,那么可以用8年的数据来决定缩范围等等做数据处理。但是这是一种作弊行为,因为在对8年的资料放缩的时候,无形中知道了8年的最大值和最小值等等一些潜在的统计信息。很显然表现比较好。

这个图告诉我们,今天你如果偷窥了资料,即使只是间接偷窥,也会对模型的结果有影响,所以这也是不行的。

另外的资料偷窥的例子:

对于某个基准资料D,某人对它建立了一个模型H1,并发表了论文。第二个人看到这篇论文后,又会对D,建立一个新的好的模型H2。后面的人再看到了,也会在资料D上继续做模型,而且会和前面两个人比较,如果好就会发表,如果不好就会放弃。但是越来越用的时候,越来越在数据集D上做改进的话,如果把这些H1, H2...看做是解决D上的同一个问题的话,越往后的模型受到前人影响越大,越有可能发生了overfitting或者bad generalization。

在机器学习过程中,避免“偷窥数据”非常重要,但实际上,完全避免也很困难。所以能够尽可能做到的是保持诚实,把测试资料保存起来直到有一天你真的要使用测试集,或者折中的方式是小心地使用验证集。或者尽量避免使用资料来做决定,最好是先用知识和经验,再用资料。在读论文,读文献,做研究的时候要时时刻刻保持怀疑、积累经验。

四、“三”的威力

介绍了三个机器学习相关领域:

  • 数据挖掘
  • 人工智能
  • 统计

介绍了三个理论上的保证:

  • Hoeffding:对于一个hypothesis,可以告诉你有哪些保证
  • Multi-Bin Hoeffding:在做模型选择的时候,有有限多个选择可以告诉我们有哪些保证
  • VC bound:在无限多选择的时候,告诉我们有哪些保证

介绍了三个模型:

  • 分类模型:PLA/pocket
  • 线性回归
  • logistics回归

介绍了三种重要的工具:

  • 特征变换
  • 正则化
  • 验证

本节课介绍的三个锦囊妙计:

  • 奥卡姆剃刀:简单是好的
  • 不要有抽样偏差
  • 不要偷窥资料

未来三个比较重要的方向:

  • 更多的特征变换
  • 更多的正则化
  • 如果label很少怎么办

未来可能涉及到的:

总结:

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值