机器学习基石第五周笔记

机器学习需要完成两个问题:
1.Ein和Eout尽可能接近
2.Ein要小
对于M来说(M表示hypothesis的size),如果M太小,对于第一个问题是好的,因为我们犯错误的几率降低;然而对第二个问题就不好,因为这意味着我们hypothesis的选择变少了,那不一定能找到一个足够小的Ein。如果M太大,情况又会相反。所以我们M的大小挺重要。
这里写图片描述
PLA的M是无限大的(如二维平面有无数多条线),这意味着犯错误的几率上限将是无限大,这显然就不能保证Ein和Eout很接近。其实在计算P[BAD]时我们用了union bound将上限扩大了一次。当各hypothesis的坏数据没有重叠时union bound可以取到等号,然而实际上在无限size中许多hypothesis是很接近的,例如平面内的两条接近的线,它们的bad data往往也会接近,我们计算的P[Bi]有大量的重叠,而我们只用连加的方式,这就使得我们上限被过分高估,最终我们无法处理无限大的情况。
这里写图片描述
这里写图片描述
所以我们希望能用一个size有限的,bad data不重叠的mH来替换掉M。为了解决这个问题,我们把hypothesis分成一类一类的,每一类都是相似的,这样不同类别的hypothesis的bad data就不会重叠,就能用来代替M。用平面上的点二元分类做例子,假设只有一个数据点,那么无限多条线可以分成两类。
这里写图片描述
两个数据点就是4类
这里写图片描述
由此类推,3个点8类,4个点16类,n个点2^n类。但是当3个点共线时,有两种情况是直线无法得到的这里写图片描述
4个点也有两种情况是直线不能划分的这里写图片描述(另一种情况是对称的)
所以我们可以相信,往后的类数目都会比2^n小(实际上小得多)。假如把它称为effective(N),因为N是有限个数据点,所以effective(N)是有限的,我们将它代替M。
这里写图片描述
因为effective(N)与输入的点有关,如给你三点共线有6种,不共线有8种,我们就取所有可能中最大的来当mH(N)代替M。mH为N的成长函数。
这里写图片描述
四种成长函数:
这里写图片描述
如果mH是多项式的就会很好,因为增长得慢,而指数就不那么好了,当数据N很大时,指数增长mH会更加大,公式看出不能确保Ein和Eout接近。
这里写图片描述
所以我们希望PLA的growth function也是多项式的。

shatter:如果mH(N)=2^N,意味着N个点所有情形都被hypothesis set包含进去,我们就说N个输入被shatter
break point:第一个使得mH(N)<2^N的N,即第一个不能shatter的N
这里写图片描述
然后我们得到break point可能与mH(N)有关:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_38184698/article/details/82534845
今日推荐