《機器學習基石》學習筆記
When Can Machines Learn? ——part4
按例放上學習進度:D
一、Learning is impossible?
先從一個例子思考問題,給你6張圖片的資料,你可以預測第7張屬於1還是-1嘛?
答案顯然是有很多種的,比如,它是屬於+1的,因為+1的都是對稱;
你也可以說它的屬於-1的,因為-1的圖形左上角第一個格子都是黑的;
emmmm……
這……
對的,根本無法知道哪個才是想要的f.
再來看一個數學一點的例子:
現在給你5個資料,要你預測其他3個資料:P
在給的資料D裡面,g完全可以接近f,但是,在資料外呢?
有很多種可能,根本不知道哪個才是想要的,也就是說,無法判斷g是不是靠近f的。然而,機器學習是想知道現有資料外的事,已經有結果的事為啥還要預測,我們想要知道的是未知的事。
這……
emmmm……
無法做到D以外的g接近f,這種特性稱為No Free Lunch(NFL)定理。
這個定理告訴我們,關於某某學習演算法可以在任何領域總是perfect是最準確的學習器,那是不存在的!
解決方案是,利用統計學的一些假設,加上一些假設,問題似乎變得可以解決了呢:D
二、Probability to the rescue
先從一個球球問題來看:
現在有一個罐子裡面放了一些球球,有橙色的和綠色的,球球超級多,你能預測出橙色球球的比例嘛?
統計學給了一個解決方案,我先抓一把球球樣本,樣本orange比例為v,green就是1-v。
現在假設罐子裡的全部球球orange比例為u,那麼green就是1-u。
現在思考樣本可以代表罐子裡的全部球球嘛?
當然不可以!
v不等於u,比如,今天你歐氣爆滿,抓的全是green,那你可以說全部的球球都是green的嘛?顯然是不可以的:D
但是,在數學角度,概率角度來說,v是接近u的!
下面用數學的方法來證明:
數學上有個Hoeffding's Inequality(霍夫丁不等式可以證明這個問題):
設樣本中的orange比例為v
罐子裡的orange比例為u
樣本大小為N
根據Hoeffding Inequality可以發現,只要N足夠大(ps:exp()的意思是e的幾次方,看式子就知道N越大,總體越小),v是與u接近的。
即只要樣本的數量足夠大,樣本的比例是接近於罐子的比例的。
它們之間的差值在ϵ之內。
我們把'v=u'這種結論稱為Probably Approximately Correct (PLA)。
這裡需要說明一些特性:
- Hoeffding適用於所有的N和ϵ
- 從上面的不等式可以看出,與u無關,即我們不需要知道u
- 只要有足夠大的N或者足夠寬鬆的差值ϵ,我們很可能可以得到v接近於u
總之,如果N足夠大,我們是可以通過已知的v去推斷出u的。
三、Connection to learning
前面證明了球球的例子裡v是可以推斷出u的,那麼如果把球球的例子轉化到我們機器學習演算法呢?
對映關係:
- orange比例(或者說概吧:D)=>固定的某條h=f
- 每個球球 => x,罐子=>X
- orange => h is wrong
- green => h is right
- N 個樣本 => 訓練樣本D(就是餵給機器的資料D)
結論:如果N足夠大,且xn獨立同分布,我們就可以從v推斷出u!
所以呢,現在我們的演算法流程增加了一些部分:
- 從H中取一個固定h
- D(訓練樣本)是從X來的,同時也用x去測驗h會不會接近f
- 用Eout(h)來代表我們不知道的那個東西,即f(或者說前面提到的罐子的所所有球球中orange的概率u)
- 用Ein(h)來代表N個樣本(即D)中的出錯率(或者說前面提到的橙色球球的概率v)
與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)嘛?
當A選擇了這個固定的h作為g時,上面的句子是成立的;
但是如果A是強制性選擇這個固定的h的,即A不考慮別的h就選這個fixed h時,上面的句子是錯誤的。因為,說不定別的h更加優秀(Ein(h)接近於0)。所以,一般會通過A選擇最好的h,使Ein(h)足夠小,從而保證Eout(h)很小。固定的h,使用新資料進行測試,驗證其錯誤率是多少。
流程如圖:
四、Connection to real learning
現在有很多個h,其中有一個正好全部正確,那麼,可以認為罐子裡的都是green嘛?
不行!
從扔硬幣的例子也可以看出,當選擇多了以後,會惡化BAD sample,也就是說,Ein和Eout的差值很大。最簡單的扔硬幣的例子,雖然可能有的人扔了10次都是正面,但是我們不能說正面的概率就是1,概率還是0.5。這個例子中10次就足以造成BAD sample.
- 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)不一樣了,前者是樣本里的,後者就是整體的了。
根據許多次抽樣的到的不同的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進行建模
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。
這樣,就證明了機器學習是可行的。
至此,我們現在證明了一個問題,即開篇講到的,如果是預測資料外的事,結果那麼多種,我怎麼知道哪個才是想要的,現在我們有了一些假設條件,那就是我們假設有Ein和Eout,是對出錯率的一種評估,現在只要我們選擇Ein最小的,就可以推出Eout(就是那個未知的東西的出錯率)也是最小的,那麼,此時的g就可以認為是最優秀的,最接近於f的。
但是,如上面的學習流程圖右下角所示,如果M是無數個,例如之前介紹的PLA直線有無數條,是否這些推論就不成立了呢?(之後會處理:D)
五、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
相關文章
- 林軒田機器學習基石課程學習筆記14 — Regularization機器學習筆記
- 林軒田機器學習基石課程學習筆記15 — Validation機器學習筆記
- 林軒田機器學習基石課程學習筆記6 — Theory of Generalization機器學習筆記
- 林軒田機器學習基石課程學習筆記7 — The VC Dimension機器學習筆記
- 林軒田機器學習基石課程學習筆記8 — Noise and Error機器學習筆記Error
- 林軒田機器學習基石課程學習筆記3 — Types of Learning機器學習筆記
- 林軒田機器學習基石課程學習筆記10 — Logistic Regression機器學習筆記
- 臺灣大學林軒田機器學習基石課程學習筆記14 -- Regularization機器學習筆記
- 機器學習學習筆記機器學習筆記
- 林軒田機器學習基石課程學習筆記4 — Feasibility of Learning機器學習筆記
- 林軒田機器學習基石課程學習筆記2 — Learning to Answer Yes/No機器學習筆記
- 林軒田機器學習基石課程學習筆記12 — Nonlinear Transformation機器學習筆記ORM
- 林軒田機器學習基石課程學習筆記9 — Linear Regression機器學習筆記
- 林軒田機器學習基石課程學習筆記13 — Hazard of Overfitting機器學習筆記
- 軒田機器學習基石課程學習筆記11 — Linear Models for Classification機器學習筆記
- 林軒田機器學習基石課程學習筆記5 — Training versus Testing機器學習筆記AI
- 林軒田機器學習基石課程學習筆記16(完結) — Three Learning Principles機器學習筆記
- 機器學習的學習筆記1機器學習筆記
- 機器學習整合學習—Apple的學習筆記機器學習APP筆記
- 李巨集毅機器學習-學習筆記機器學習筆記
- 機器學習演算法學習筆記機器學習演算法筆記
- 《機器學習》西瓜書學習筆記(五)機器學習筆記
- 機器學習學習筆記——基本知識機器學習筆記
- 機器學習 | 吳恩達機器學習第九周學習筆記機器學習吳恩達筆記
- Python機器學習筆記:sklearn庫的學習Python機器學習筆記
- 史丹佛機器學習教程學習筆記之2機器學習筆記
- 機器學習框架ML.NET學習筆記【9】自動學習機器學習框架筆記
- 機器學習個人筆記(三)之無監督學習機器學習筆記
- 『應用機器學習的建議』的學習筆記機器學習筆記
- Coursera 機器學習 第9章(上) Anomaly Detection 學習筆記機器學習筆記
- 吳恩達機器學習筆記 —— 14 無監督學習吳恩達機器學習筆記
- AI學習筆記之——如何理解機器學習(Machine Learning)AI筆記機器學習Mac
- 機器學習學習筆記之——演算法鏈與管道機器學習筆記演算法
- 機器學習-學習筆記(二) --> 模型評估與選擇機器學習筆記模型
- 機器學習演算法:Logistic迴歸學習筆記機器學習演算法筆記
- numpy的學習筆記\pandas學習筆記筆記
- 機器學習框架ML.NET學習筆記【1】基本概念機器學習框架筆記
- 機器學習框架ML.NET學習筆記【3】文字特徵分析機器學習框架筆記特徵