《機器學習基石》學習筆記

weixin_34208283發表於2017-07-10

When Can Machines Learn? ——part4

按例放上學習進度:D

1324962-e235633095f40102.PNG
Roadmap

一、Learning is impossible?

先從一個例子思考問題,給你6張圖片的資料,你可以預測第7張屬於1還是-1嘛?

1324962-b741d32d5ae19720.PNG

答案顯然是有很多種的,比如,它是屬於+1的,因為+1的都是對稱;
你也可以說它的屬於-1的,因為-1的圖形左上角第一個格子都是黑的;
emmmm……
這……
對的,根本無法知道哪個才是想要的f.
再來看一個數學一點的例子:
現在給你5個資料,要你預測其他3個資料:P
1324962-22cbca7571b199a0.PNG

在給的資料D裡面,g完全可以接近f,但是,在資料外呢?
有很多種可能,根本不知道哪個才是想要的,也就是說,無法判斷g是不是靠近f的。然而,機器學習是想知道現有資料外的事,已經有結果的事為啥還要預測,我們想要知道的是未知的事。
這……
emmmm……
無法做到D以外的g接近f,這種特性稱為No Free Lunch(NFL)定理
這個定理告訴我們,關於某某學習演算法可以在任何領域總是perfect是最準確的學習器,那是不存在的
解決方案是,利用統計學的一些假設,加上一些假設,問題似乎變得可以解決了呢:D

二、Probability to the rescue

先從一個球球問題來看:
現在有一個罐子裡面放了一些球球,有橙色的和綠色的,球球超級多,你能預測出橙色球球的比例嘛?


1324962-855bde3fa6bafea2.PNG

統計學給了一個解決方案,我先抓一把球球樣本,樣本orange比例為v,green就是1-v。
現在假設罐子裡的全部球球orange比例為u,那麼green就是1-u。
現在思考樣本可以代表罐子裡的全部球球嘛?

1324962-6abb91be9f9eb303.PNG

當然不可以!
v不等於u,比如,今天你歐氣爆滿,抓的全是green,那你可以說全部的球球都是green的嘛?顯然是不可以的:D
但是,在數學角度,概率角度來說,v是接近u的!
下面用數學的方法來證明:

1324962-91f14dc9cfb3e167.PNG

數學上有個Hoeffding's Inequality(霍夫丁不等式可以證明這個問題):
設樣本中的orange比例為v
罐子裡的orange比例為u
樣本大小為N
根據Hoeffding Inequality可以發現,只要N足夠大(ps:exp()的意思是e的幾次方,看式子就知道N越大,總體越小),v是與u接近的。
只要樣本的數量足夠大,樣本的比例是接近於罐子的比例的
它們之間的差值在ϵ之內。
我們把'v=u'這種結論稱為Probably Approximately Correct (PLA)

1324962-6a5ad92cd52c5a62.PNG

這裡需要說明一些特性:

  • Hoeffding適用於所有的N和ϵ
  • 從上面的不等式可以看出,與u無關,即我們不需要知道u
  • 只要有足夠大的N或者足夠寬鬆的差值ϵ,我們很可能可以得到v接近於u
    總之,如果N足夠大,我們是可以通過已知的v去推斷出u的

三、Connection to learning

前面證明了球球的例子裡v是可以推斷出u的,那麼如果把球球的例子轉化到我們機器學習演算法呢?

1324962-98f27a7211b2bb5b.PNG
與學習演算法的關係

對映關係:

  • orange比例(或者說概吧:D)=>固定的某條h=f
  • 每個球球 => x,罐子=>X
  • orange => h is wrong
  • green => h is right
  • N 個樣本 => 訓練樣本D(就是餵給機器的資料D)

結論:如果N足夠大,且xn獨立同分布,我們就可以從v推斷出u!

所以呢,現在我們的演算法流程增加了一些部分:

1324962-f9220689a5c82018.PNG
  • 從H中取一個固定h
  • D(訓練樣本)是從X來的,同時也用x去測驗h會不會接近f
  • 用Eout(h)來代表我們不知道的那個東西,即f(或者說前面提到的罐子的所所有球球中orange的概率u)
  • 用Ein(h)來代表N個樣本(即D)中的出錯率(或者說前面提到的橙色球球的概率v)

1324962-f19ff5aa0b00f154.PNG

與v,u相同,對任何固定的h,將Eout(h),Ein(h)代入Hoeffding's Inequality中也是成立的。
和之前的球球問題一樣,也具有如下特性:

  • Hoeffding適用於所有的N和ϵ
  • 因為不取決於Eout(h),所以我們不需要知道Eout(h),f和P都可以未知
  • Ein(h)= Eout(h)是PAC的

還有一個問題需要考慮,上面的證明都是針對一個固定的h的,現在我們已經可以確定對任何一個固定的h,當樣本資料足夠大,Ein(h)是接近Eout(h)的,那麼,這樣就可以證明機器會學習了(g接近f)嘛?

1324962-35f610b38784d726.PNG

當A選擇了這個固定的h作為g時,上面的句子是成立的;
但是如果A是強制性選擇這個固定的h的,即A不考慮別的h就選這個fixed h時,上面的句子是錯誤的。因為,說不定別的h更加優秀(Ein(h)接近於0)。所以,一般會通過A選擇最好的h,使Ein(h)足夠小,從而保證Eout(h)很小。固定的h,使用新資料進行測試,驗證其錯誤率是多少。

流程如圖:

1324962-53e3d1affdfc2c5f.PNG

四、Connection to real learning

現在有很多個h,其中有一個正好全部正確,那麼,可以認為罐子裡的都是green嘛?


1324962-8ec7b9b9ff9581d7.PNG

不行!
從扔硬幣的例子也可以看出,當選擇多了以後,會惡化BAD sample,也就是說,Ein和Eout的差值很大。最簡單的扔硬幣的例子,雖然可能有的人扔了10次都是正面,但是我們不能說正面的概率就是1,概率還是0.5。這個例子中10次就足以造成BAD sample.

1324962-06a461f5f89e4b7b.PNG
  • BAD sample: Ein 和Eout的差值很大
  • BAD Data for One h:Eout(h)和Ein(h)差值很大,比如,Eout很大,離f很遠,但是,Ein很小(樣本出錯很少,可是最後結果還是很差,這時候該怪樣本)

關於這部分再新增一些解釋好了:D

  • 比如150個人每個人扔5次硬幣,至少一個人5次都是正面朝上的概率是大於99%的,但是,單從一個人來看,這個概率是1/32. => BAD D
  • 比如我今天來扔個硬幣,扔了5次,全是正面朝上,這樣看起來好像正面朝上的概率是1,但是其實還是1/2,Ein和Eout差值太大了 =>BAD sample
  • 所以區別是,比較的預期不一樣,BAD sample是說和yn不一樣,BAD D是直接和f(x)不一樣了,前者是樣本里的,後者就是整體的了。
1324962-333a26ae7005bc6d.PNG
1324962-15e3903799be7910.PNG

根據許多次抽樣的到的不同的D,Hoeffding’s Inequality保證了大多數的D都是比較好的(即對於某個h,保證Ein≈Eout),但是也有可能出現BAD D(比如前面提到的150個人扔硬幣的例子,有一個人5次全是正面朝上在個人來看概率是很小的,1/32,機器對於這個固定的h,選擇了它,但是它在整體來看是>99%的,是一個BAD D),這就是為什麼說小概率事件在選擇多的情況下概率會變大,惡化結果。

  • 不同的D,對於不同的h,有可能成為BAD D
  • 只要Dn在某個h上是BAD ,那麼Dn就是BAD
  • 只有當Dn在所有的h上都是好的,才說明Dn不是BAD,可以自由選擇A進行建模
1324962-a9b7b4ca70c77618.PNG

M是h的個數,N是樣本D的數量,ϵ是引數。
用Hoeffding和union bound可以推出:對於任意D,它是某些h的BAD D的概率為P,推導可得P與N成正比,與M成反比,即,M越小,N越大時,我們越可以放心地在H中選擇錯誤率最小的h作為想要的g.

如果h的個數M是有限的,N足夠大,那麼通過A任意選擇一個g,都有Ein≈Eout成立
如果找到一個g,使Ein≈0,PAC就能保證Eout≈0。

這樣,就證明了機器學習是可行的。


1324962-e218a1b078b9f362.PNG

至此,我們現在證明了一個問題,即開篇講到的,如果是預測資料外的事,結果那麼多種,我怎麼知道哪個才是想要的,現在我們有了一些假設條件,那就是我們假設有Ein和Eout,是對出錯率的一種評估,現在只要我們選擇Ein最小的,就可以推出Eout(就是那個未知的東西的出錯率)也是最小的,那麼,此時的g就可以認為是最優秀的,最接近於f的。

但是,如上面的學習流程圖右下角所示,如果M是無數個,例如之前介紹的PLA直線有無數條,是否這些推論就不成立了呢?(之後會處理:D)

五、Summary

1324962-4dd95fe62f64cd65.PNG
summary

總結:

  • 從一個圖片和二進位制例子告訴我們NFL定理,告訴我們ML無法做到g完全等於f
  • 對於一個固定的h,用Hoeffding不等式引出Ein,Eout,證明了對於一個固定的h,當N足夠大時,Ein≈Eout是PAC的
  • 對於multi-h情況下,用Hoeffding和union bound證明了只要M(h的個數)是有限的,且N足夠大,Ein≈Eout是PAC的
  • 最後,就證明了ML是可行的。

以上:D
註明:以上圖片都來自Cousera臺大林軒田老師的《機器學習基石》哦 QwQ

相關文章