Machine Learning Foundations 16: Three Learning Principles | Cheney Shen

Technology blog

Machine Learning Foundations 16: Three Learning Principles


 
 

总结:

Occam’s Razer: 简单是好的

Sampling Bias: 小心抽样的偏差

Data Snooping: 小心不要偷看资料

 
 


 
 

上一节:

很重要的工具 validation,留下一定的验证资料来模拟测试程序,来衡量和选择比较好的训练模型。

 
 

这一节:

三个做机器学习时候的精囊妙计。

 
 


 
 

第一个: occam’s razor (occam 的剃刀)

 
 

今天你要对你的资料作解释的话,越简单越好。(爱因斯坦说的?)

不要对一个东西做过多的处理。(William of occam)

 
 

我们不要对资料过分解释。

 
 


 
 

举例:

两张图,左边的比较简单,比较好。

 
 

问题是:

什么样叫做简单的解释?

为什么简单的比较好?

 
 


 
 

什么是简单的?

 
 

简单的 hypothesis:

看起来很简单(就像上面大大的圆)表示只需要少出参数就能描述。

 
 

简单的 model:

有效的 hypothesis 不是很多的话就是简单的,Dvc 很小。

 
 

关联性:

Hypothesis set 有 2^L 次方个 h,那么一个 h 有L个参数来描述。

所以整个hypothesis set 数量不多的话,单个h也相对简单。

 
 

所以只要得到上面的两者之一简单,那么就可以说资料是简单的。

 
 


 
 

为什么简单是好的?

 
 

直觉的解释:

想象你有一个简单的model,也就是成长函数很小,成长很慢的。

成长函数很小意味着:给随机的数据,只有很小的机会模型的Ein会很小;给非随机的数据,模型的Ein会很小。

如果是复杂的模型,不管给什么样的资料统统都可以分开,那就不知道这个资料到底是不是具有显著性了。

 
 

所以一般都从线性模型开始考虑,使用了模型以后一定要思考一下还有没有更简单的来做。

 
 


 
 

小测验

 
 


 
 

1948 年的总统选举电话民调,根据民调结果说 deway defeats truman。

 
 


 
 

结果是 Truman(杜鲁门) 赢了。

 
 

为什么?

编辑搞错 – 不是

运气不好 – 不是

 
 

提示:电话当时是很贵的,所以抽样的是有钱人。

 
 


 
 

第二个:Sampling Bias

 
 

抽样有偏差的时候,学习的结果也是有偏差的。

 
 

训练和测试要在同样的分布下做。

 
 


 
 

经验;

Netflix 办的一个比赛,比原来的好10%就可以获得100万美金;

老师第一次尝试采用标准的随机 Dval 的结果就好了 13%;

但是没有拿到奖金。

 
 

为什么?

比赛的测试环境:前7部电影用来训练,后3部电影用来测试,测试的资料具有时间关系,不是随机取样。

所以 随机取样的Dval 和 具有时间关系的 Dtest 是不一样的。

 
 


 
 

怎么办?

 
 

了解你的测试环境,让你的训练环境和你的测试环境尽可能的接近。

 
 

上个例子:

可以是:后面的资料权重比较多。

也可以是:不随机的验证资料,而是已有资料的比较靠后的资料来做验证资料。

 
 

回到我们所讲的第一个机器学习的问题:银行发卡,问题在哪?

银行已有的资料都是已经经过筛选的发了卡片的客户的资料,而排除了那些没有资格获得卡片的用户的资料,这两者是有区别的。

 
 


 
 

小测验

 
 


 
 

用眼睛看资料,用人脑学很危险。

 
 

第三个: visual data snooping(不要偷看资料)

 
 


 
 

不仅仅是用眼睛偷看图

在使用资料的任何一个过程都是在偷看资料,脑袋里的任何决策都是污染了 model complexity。

 
 

例如:

有8年的训练资料来预测未来两年的走势。

比如:用前面六年做训练,后两年做验证,是蓝色的线;如果偷用8年的数据来做训练,后两年的再做验证,结果就是红色的线。乍一看红线投资报酬率非常高,但是那是不可信的。

 
 

偷看是自欺欺人的做法。

 
 


 
 

其他偷看的例子:研究的例子,一篇比一篇好

 
 

后面的论文是在前面的论文的测试结果的好坏基础上再继续做的,可以看作是间接的偷看了测试资料的表现特征。所以越后面的论文越容易被污染。

 
 


 
 

所以:你要仔细的去考虑偷看这件事情。

 
 

做法:

要么完全不偷看

做 validation

避免用资料做决定,比如做语音的,先考虑语音的特性建模再输入资料,不要去看了一遍资料再来建模处理问题。

时时刻刻存着怀疑,时时刻刻考虑污染的问题。

 
 

能在 KDDCup 表现那么好,诀窍:

非常小心的平衡两件事情:data-driven modeling(snooping) & validation()。

也就是说靠 validation 而不是 snooping 来做合理的选择。

 
 


 
 

小测验

 
 


 
 

总结课程(3的魅力):

 
 

  1. 介绍了3个和机器学习相关的领域

Data mining:数据挖掘,和ML高度相关

Artificial Intelligence:人工智能,ML是实现Ai的一个方法

Statistics:统计学,ML使用了大量的统计工具

 
 


 
 

  1. 3个理论上的保障

 
 

Hoeffding:抽样的动作,用在测试。测试的时候只有一个 hypothesis,hoeffding告诉你怎样一个结果保障。

Multi-Bin Hoeffding:很多个选择的 hoeffding,validation/model selection 的时候,有限多个选择的时候用,告诉你对结果的限制。

VC:无限多的选择的时候用,描述机器学习在训练的时候的保证。

 
 


 
 

  1. 三个线性模型

 
 

PLA/Pocket:采用01错误,flipping noise 越小越好

Linear regression:线性回归,采用平方错误,公式解

Logistic regression:把分数透过一个s型的函数再输出出去,梯度下降求解

 
 


 
 

  1. 三个很重要的工具

 
 

Feature Transform:扩大维度使得Ein变小,代价是Dvc变大

Regularization:让Dvc变小,代价是维度变小Ein变大

Validation:留下一块干净的资料来做validation,选择比较少,代价是train用的数据变少了

 
 


 
 

  1. 三个锦囊妙计

 
 

Occam’s Razer: 简单是好的

Sampling Bias: 小心抽样的偏差

Data Snooping: 小心不要偷看资料

 
 


 
 

  1. 三个未来的学习方向

 
 

More Transform:更多的数据转换方式

More Regularization:更进阶的regularzation

Less Label:更少的label,unsupervised怎么弄

 
 

大量的名词

 
 


 
 

小测验

 
 


 
 

总结:

Occam’s Razer: 简单是好的

Sampling Bias: 小心抽样的偏差

Data Snooping: 小心不要偷看资料

 
 

下一课程:机器学习技法

 
 

 
 

 
 

 
 


Post a Comment

Your email address will not be published. Required fields are marked *

  • Categories

  • Tags