机器学习基石---Why Can Machines Learn(Part1)

  台大《机器学习基石》课程Week4-7讲的主要是机器学习算法为什么可行。看的稀里糊涂的,结合相关资料,做个总结,梳理下思路~
  ML的框架如下:
ML Frame

1 符号表示

f:XY : X 表示输入空间,可以理解为样本特征;Y表示输出空间,在二分类模型中可以理解为目标变量; f 为未知真理Or规律。即在李航《统计学习方法》中所说的”统计学习关于数据的基本假设是同类数据具有一定的统计规律性”。现在唯一知道的是f D 中的表现情况,而目标则是希望演算法A找到找到一个与 f 类似的函数,称之为g,使得 g 在训练数据D上的表现与 f 接近,并且能够在D之外的未知数据上表现依旧出色。
D:(x1,y1,...,(xN,yN)) 为训练集。
H :hypothesis set,一个有限or无限的方程or函数的集合。演算法A H 中挑选方程。
A:学习算法,在 H 中找到一个与f最接近的一个方程。
g :final hypothesis A H 中挑选的最好的方程。

2 Feasibility of Learning

2.1 机器学习是否可行

  考虑一个简单的二分类问题。X={0,1}3, Y={o,x}1 。如下图所示,我们可以找到一个 g ,在训练集上,其与f的表现相同。但是在训练集 D 之外的表现,我们无法保证。这一特性称之为”No Free Lunch”。那么机器学习可行吗?
NFL

2.2 统计学上的一个例子

  统计学中我们可以使用样本均值推断总体均值,且样本均值统计量具有良好的性质:其抽样分布趋于期望为总体均值,方差为总体方差的1/n的正态分布。看下面的问题。

bin-example
如上图所示:
   bin :一个装满橙色和绿色小球的罐子
   μ :罐子中orange小球的占比
   1μ :罐子中green小球的占比
   sample :从罐子中随机抽样一次
   N :抽样大小,即抽出的小球数
  ν:样本中orange小球的占比
   1ν :样本中green小球的占比
  那么 ν 可以代替或者某种程度衡量 μ 吗?概率论中的Hoeffding不等式可以解决这一问题。

P[|νμ|>ε]2exp(2ε2N)

其中: ε 为容忍度,当 μ ν 差别小于容忍度时,称 μ ν 差不多(‘PAC’,probably approximately correct)。当 μ ν 差别大于容忍度时,称 μ ν 差很多。差很多这件事发生的越小越好,最大不超过不等式右边。相同的 ε 时,如果N足够大,那么我们可以有较大的概率说 μ ν 差不多。

2.3 类比Learning

  类比与机器学习问题,罐子相当于数据总体,对于某一个固定的 h ,可按照如下方式标记:
bin&learning
1 . 如果h(xn)f(xn),即判断不一致,标记第n个小球为orange
2 . 如果 h(xn)=f(xn) ,即判断一致,标记第n个小球为green
  按照之前sample小球的方式,我们可以利用sample中orange的占比估计总体中orange的占比。即可以推断 h 在未知数据集上的表现。记h(xn)f(xn)为error。记sample中出现orange(即训练集 D 中出现error)的比例为Ein,在总体中出现error的比例为 Eout 。那么对于某一个固定 h :
* Eout(h)=εxP[h(x)f(x)],其中 ε 为数学期望
* Ein(h)=1NNn=1[h(x)f(x)]

  由Hoeffding不等式:

P[|Ein(h)Eout|>ε]2exp(2ε2N)

  当不等号右边这个上界足够小,可以说 h 在sample和总体中表现差不多(不等式的本来含义是差很多的概率很小,反之)。此时我们只能说Ein(h)Eout,并不能认为 h 是一个好的learning,因为Ein可能很大。因此需要添加一个验证流程。如下图所示:
Verification-Flow
  其中我们需要独立同分布与总体的验证数据,把 h 当做g,验证 h 的真实性能。(这里有个疑问,验证数据集和训练集的符号都是D,前面讲的 h 貌似和D无关,所以训练集和验证集是一个意思吗?看成一样,完了后面的Bad Sample才更好解释点)

2.4 Bad Sample & Bad Data

  抛一个正常的硬币50次,如果出现正面40次,反面10次。则 ν=0.8 ,与 μ=0.5 相差很大。此时采用这次sample的样本均值显然不合理。因此这一次sample,就是一个bad sample。(凡是由于抽样误差所造成样本分布与总体分布相差很大样本,都称之为bad sample。参考[1])

  learning也会遇到这样的问题,比如 h1 是一个很好的方程,但是sample的都是orange ball,那么演算法 A 不会选择;反之,h2是一个不好的方程,但是sample的都是green ball,此时由于 Ein 很小,演算法可能会选择 h2 作为 g 。对于任意h,bad sample会造成 |Ein(h)Eout|>ε ,对应sample的样本称之为bad data。

  故而为了演算法 A 可以自由的挑选方程(h),我们希望所有的hypothesis都不会遇到Bad Sample。回到最原始的Hoeffding不等式:

P[|Ein(h)Eout|>ε]2exp(2ε2N)

  我们可以说 P[BadDforh]2exp(2ε2N) ,即hoeffding不等式对某一个固定 h ,可以使得其在任意一个sample上出现bad data的概率很小。那么对于所有hypothesis而言,出现Bad Data的概率呢。先看一个直观的例子,150个人抛硬币,每个人抛5次,至少出现有一个人连续5次硬币都朝上的概率为1(3132)150>99%。把150个人看做hypothesis,抛掷行为相当于sample,则对于整个hypothesis set出现bad sample Or bad data的概率很大。演算法可以自由的选择 h ,则希望大部分的sample对所有的hypothesis都不是bad sample。那么出现bad sample的概率为:
PD[BadD]=PD[BadDforh1orBadDforh2ororBadDforhM]PD[BadDforh1]++PD[BadDforhM]2exp(2ε2N)++2exp(2ε2N)=2Mexp(2ε2N)

这里写图片描述
  由此,hypothesis set的大小对learning的有关。M有限,数据量越大,出现bad sample的概率越小。这样就可以保证 D 对所有的h都有 EinEout ,满足PAC,演算法可以自由选择。如果可以选择到 Ein 很小的 h ,那么能保证Eout也很小,说明有不错的泛化能力。

3 Summary

  本文的主要内容是Learning是否能够可行。如果M有限,N足够大,一般而言演算法可以找到一个 g ,使得Eout很小,从而learning可行。但是M是否有限?演算法是否一定可以找到 g <script type="math/tex" id="MathJax-Element-101">g</script>,且听下回分解!

4 Ref

[1] http://beader.me/mlnotebook/section2/is-learning-feasible.html
[2] http://blog.csdn.net/red_stone1/article/details/71082934
                                           2018-01-20 于杭州

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值