林軒田之機器學習課程筆記(why can machines learn之theory of generalization)(32之6)

歡迎轉載,可以關注博客:http://blog.csdn.net/cqy_chen

概要

本節主要講解機器學習的一般化理論。上節中講到由於在很多的假設空間中,M會變得越來越大,就會導致機器學習無法工作,我們就想通過一個小的m來替代,提出增長函數。那麼本節在上節的基礎上展開。

斷點的限制

上節中我們知道了集中簡單的情況下的成長函數:
這裏寫圖片描述
這裏再加入一個概念,shatter (粉碎),就是當我們的假設空間可以完全的拆分資料的時候,稱之爲shatter。比如在二維的PLA中,由於斷點是4,在3個資料點的時候,假設空間是可以shatter這些資料的。但是當有4個點的時候,就不能shatter了。

舉一個簡單例子,這裏我們定義任意兩個點不能被shatter。就會說斷點爲2,如果出現如下三個點,那麼它的假設空間有多大呢?
這裏寫圖片描述
當我們設定資料量的個數,同時設定斷點爲2。
那麼有如下結論:
這裏寫圖片描述

N=1的時候,假設空間只有兩種類型。
N=2的時候,假設空間只有3種,因爲任意兩個點不能被shatter。
N=3的時候,假設空間只有4種。

所以我們可以看如果存在斷點,好像就限制了假設空間的成長函數。這裏來猜想下,假設空間的大小 mH(N)poly(N)
就是假設空間的成長函數應該是一個多項式的,而不是指數的,這樣就可以證明機器學習是可行的了。

簡單條件下的邊界函數

這裏定義一個概念,邊界函數,如B(N,K) : 當斷點爲k的時候,假設空間的最大值,mH(N) 。這樣就不用去關注一些問題的細節,比如2D 的pla。我們只集中精力去關注這個邊界函數。

如下舉個簡單例子:
這裏寫圖片描述
當N=2,k=2的時候,我們證明了假設空間最多隻有3種,當N=3,k=2,假設空間最多隻有4種。
當K=1的時候,那麼B(N,k)=1.以爲1個點都沒法shatter。
如果k>N,就是N還不夠塞牙縫的,那肯定是2k 種,
當K=N的時候,由於k個點不能被shatter,最大是2k1 種。
所以我們得到如下圖所示:
這裏寫圖片描述
這裏需要注意下:
比如在2D的pla中,我們知道k=4,當N=4,最多隻有14種,所以,這裏的B(N,K)是一個上界。

一般情況下的邊界函數

現在的核心就是剩下的部分咯。
比如現在要求得B(4,3)。我們可以想想,這是在k=3的情況下,N=4,那麼我們從上面表格中的得到B(3,3)=7。那麼就是在N=3的情況下的假設空間數據上添加了一個點。
能否根據B(3,3)推導B(4,3)呢?
我們先採用傻瓜式的舉例來看看:
這裏寫圖片描述
那麼得到B(4,3)=11,好像B(4,3)=B(3,3)+B(3,2)
這裏寫圖片描述
所以我們填寫表格如下;
這裏寫圖片描述
那麼我們就可以推論:
這裏寫圖片描述

那麼我們就可以成長函數小於等於邊界函數,邊界函數又小於等多個相加,多個相加又小於等於多項式的函數。

到此,我們證明了成長函數,如果存在斷點,那麼我們能夠得到成長函數是多項式的增長的。那麼機器學習是可行的。

簡單證明

那麼上面已經證明,成長函數是多項式增長的。那麼是否可以直接替換進霍夫丁不等式呢?
這裏寫圖片描述

第一步

採用E^in 代替Eout 。因爲這個成長函數是在有限個點上進行的,Eout 上有無數個點。
這裏寫圖片描述
所以我們只需要和一部分驗證的數據E^in 進行比較。
這裏再採用2N個點,N個作爲Ein ,N個作爲E^in

第二步

使用mH2N 來計算這些重複的邊界和。
如下圖
這裏寫圖片描述

第三步

採用無放回的霍夫丁不等式
這裏寫圖片描述
假設有2N個點,這個時候,採用不放回的抽樣比較。就得到了上面的式子。

所以最後得到:
這裏寫圖片描述

證明當點夠多的時候,可以選擇誤差最小的點作爲我們分分類器,可以在新的樣本中有相似的表現。

上面的證明比較簡單,詳細的推導過程需要自己去理理。

歡迎轉載,可以關注博客:http://blog.csdn.net/cqy_chen

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章