《机器学习基石》学习笔记<5>

Why Can Machines Learning?

按例放上学习进度:D

《机器学习基石》学习笔记<5>_第1张图片
Roadmap

前面的4课解决了机器能学习的条件,即when,
现在开始思考机器能学习的原理。

一、Recap and preview

《机器学习基石》学习笔记<5>_第2张图片

首先整理下之前get到的知识:P

目前,我们已经知道了,当h的个数M有限时,且N足够大,A选中的那个g,会有Ein(g)≈Eout(g)(现成资料D里的g的错误率可以推出机器预测未知的资料的出错率,并且很接近哦);当A选择的g,Ein(g)≈0的时候,Eout(g)≈0是PAC的。Eout(g)≈0,就是说机器是可以学习的。
整个flow里可以理解为train(训练已有资料)和test(用新的资料来测试结果)两部分。

《机器学习基石》学习笔记<5>_第3张图片

learning可以说是在bath的D,监督式学习,二元分类器等条件下,通过保证Ein(g)≈Eout(g)和Ein(g)≈0,使g≈f (Eout(g)≈0)。

那么learning可以分为2个核心问题:

  • Ein(g)≈Eout(g)?
    (M finite,N large)
  • Ein(g)≈0?
《机器学习基石》学习笔记<5>_第4张图片

关于上面的两个问题:

  • 如果M很小,从公式可以推出,P[BAD]小,但是,选择也变得小了,那么不一定找得到Ein(g)≈0的优秀线
  • 如果M很大,选择多了,可P[BAD]也大了 :(

emmmm……
所以用合适的M超级重要呢~
前面的讨论都是M有限的情况,如果M无限大呢?

《机器学习基石》学习笔记<5>_第5张图片

解决方案是, 用一个有限的m去替换无限的M:)

所以,现在问题变成:怎么找到一个合适的m来替代M?

二、Effective number of lines

先考虑为什么公式在infinite情况下不可行的?


《机器学习基石》学习笔记<5>_第6张图片

每种BAD在独立来看都是不一样的,但是union bound 后就会有重叠部分,叠加infinite个独立p后变得无限大,此时就变得无意义了。

《机器学习基石》学习笔记<5>_第7张图片

BAD重叠可以理解为h1≈h2
总之,B1,B2,B3……这些BAD其实是重叠了的,但是union bound公式是没有考虑重叠的,把每个BAD当成独立的来计算,造成了无限大的上限。所以此时infinite个h是无法计算的。
好嘛,既然是因为重叠了才不可计算,那就 想办法找出重叠部分:D

《机器学习基石》学习笔记<5>_第8张图片

先考虑这样一个问题:
如果平面上只有一个x,那么会有多少条h呢?
显然是可以分为两种,一种是把x划分为+1那边的,一种是把x划分到-1那边的。

那么,有2个点的时候呢?

《机器学习基石》学习笔记<5>_第9张图片

可以根据把x1,x2划分到那一边算出有4种h。
那么3个点的时候呢?


《机器学习基石》学习笔记<5>_第10张图片

对的,8种。
这时候你有一个猜想,哇,好像是2^n呢……
然而,如果3个点是在一条线上的呢?


《机器学习基石》学习笔记<5>_第11张图片

emmm……
对的,有的情况无法用一条直线划分,所以这时候只有6条h.

当有4个点时,也会出现无法划分的时候。


《机器学习基石》学习笔记<5>_第12张图片

总的来说,结论如下:

《机器学习基石》学习笔记<5>_第13张图片

我们把这种有效的条数称为 effective number of lines

《机器学习基石》学习笔记<5>_第14张图片

从1,2,3,4个x可以发现它们的h总是有个上限的,没有重叠部分的,最大不会超过2 N(每个点的情况都是两种,所以最多不会超过2N)。所以,D里面的N个点的最大不会超过2^N条h。
那么是不是可以用effective(N)来替代那个无限的M呢?

三、Effective number of Hypotheses

现在引入一个概念dichotomy:
把点x,划分到+1,-1的集合。


《机器学习基石》学习笔记<5>_第15张图片

hypotheses H 与dichotomies H(x1,x2,...,Xn)的区别如图。
前面说到effective(N)的概念,effective(N)正是dichotomies H(x1,x2,...,Xn)的h的个数呢。
既然dichotomies H(x1,x2,...,Xn)是没有重叠部分的,那么可以作为替换M的候选了。

《机器学习基石》学习笔记<5>_第16张图片

|H(x1,x2,...,Xn)|是依赖x的(比如上面提到的3个x的时候,摆放不同会有不同的结果,6和8),现在我们除去对x的依赖,只讨论|H(x1,x2,...,Xn)|的max,把这称为 成长函数(Growth Function)
那么,怎么计算成长函数呢?
《机器学习基石》学习笔记<5>_第17张图片

第一种情况:
把直线上一部分划分为+1,像射线一样,N个点可以把一条线划分为N+1个块,这时有 N+1条线可以划分。
《机器学习基石》学习笔记<5>_第18张图片

第二种情况:
一部分划分为+1。
此时N个点还是把线分为N+1块,既然是取部分划分为+1,那么取两个块作为线的端点,所以一共Nx(N+1)/2种,还有一种是全部取为+1,所以
N(N+1)/2+1 .
《机器学习基石》学习笔记<5>_第19张图片

第三种情况:
凸的部分划分为+1。
《机器学习基石》学习笔记<5>_第20张图片

此时可以凸边形做出来 ,即连点,突边形外内的都是里的都是+1,其他为-1.
所有点都可以这种方法划分出来,所以是
2^N*.
总结:

《机器学习基石》学习笔记<5>_第21张图片

四、Break point

《机器学习基石》学习笔记<5>_第22张图片

通过得到的式子可以看出,当成长函数为多项式时效果比较好,指数时效果不好。

《机器学习基石》学习笔记<5>_第23张图片

在二维下,
3个x时存在shatter(原意打碎,破坏,在这里可以理解为全部命中,比如3个x,有8种可能,存在8种都可行的状态,即命中),这时有6和8的情况,所以是'存在'。
4个x时不存在shatter,因为最多只有14种。
可以推出,自4以后都是不存在shatter的。
假设k为inputs的个数,
当k个inputs让H不存在shatter时,称k为 break point.
在二维下,4就是break point.
k+1,k+2,k+3……也是break point
《机器学习基石》学习笔记<5>_第24张图片

五、Summary

《机器学习基石》学习笔记<5>_第25张图片

总结:

  • 复习之前4个课程的知识
  • 当M无限大时,因为union bound是把每个BAD加起来,没有考虑除去重叠部分造成了无限大,如果用eddective(N)替代M也许能解决这个问题
  • 介绍了4种成长函数,其中多项式的替换效果比较好
  • 介绍了break point , 比如4
  • 总的来说解决了M 无限时的情况,大题的思路是找出一个有限的且有效的m去替代M,最后,我们找到了多项式的成长函数来替换

以上:D
注明:以上图片都来自Cousera台大林轩田老师的《机器学习基石》哦 QwQ

你可能感兴趣的:(《机器学习基石》学习笔记<5>)