機器學習基石 Lecture4: Feasibility of Learning
機器學習基石 Lecture4: Feasibility of Learning
Learning is Impossible?
假設有一個實際的面向人的益智問題,給出上面6個例子,判斷下方圖形對應的y:
根據不同的規律,可以給出不同的對應函式f。於是最後一張圖片也會有相反的結果。比如:
因此對於這個問題來說沒有一個正確的答案。這只是一個引例。那麼對於一個實際的機器學習二分類問題,假設有如下的資料樣例:
對於這個問題,由於輸入和輸出都是有限的,因此可以枚舉出所有的實際對應的函式 。如果使用了類似PLA的演算法得到一個在訓練資料 中都和 的結果一致的結果 ,那麼是否能夠說明這個 ?可以枚舉出所有的 ,可以看出得出的 並不一定接近實際函式 。
可以看出來並沒有一個固定的 能夠在 之外確定地接近 。這就是No Free Lunch Theorem,也就是說,在沒有限制的情況下,沒有一個演算法得到的結果能夠確定比其它所有演算法都好。除非做一定的限制。
Probability to the Rescue
既然很難推斷出
之外的
的表現,那麼是否可以推斷出其他情況下的一些東西呢?比如有一個瓶子裡有一些綠色和黃色的彈珠。如果想要推斷兩種顏色各自所佔比例
,那麼就可以選擇從中取樣出
個彈珠觀察樣本里兩種顏色各自所佔比例
。但是樣本取樣得到的概率
能夠說明樣本之外的瓶子中玻璃珠所佔比例呢?
根據 Hoeffding’s Inequality,取樣的概率與樣本外的概率關係為:
也就是概率
與概率
相等這樣的說法有可能是大致正確的(probably approximately correct,PAC)。因此對於比較大的
來說,可以大致通過
來推斷
。
Connection to Learning
而上述不等式與機器學習演算法有何關聯呢?如下圖所示:
彈珠可以看成樣本,假設
的結果是否正確可以對應兩種顏色。N個取樣可以對應資料集
中的資料樣例。類似的,通過較大的取樣數量
,可以通過在已知資料集
上的
的正確率來大致估計資料集之外的
相對於
的正確率。也就是:
但是對於返回一個固定的假設
作為結果
的演算法,不能夠叫做一個好的學習演算法。因為對於資料集
上的錯誤率
比較大的情況時這個
(PAC)不等於
。
因此一個真正的學習演算法 需要能夠在假設集合 中進行選擇得到最終的 而不是返回一個固定的 作為 。
Connection to Real Learning
在不同的假設函式裡進行選擇如下圖所示,每個
都對應一個
和一個
:
那麼一個最重要的問題是,是否在集合
上的例子中錯誤率最小的假設函式就是最好的假設呢?
假設150個人丟同樣的硬幣,每個人丟5次。有大於99%的機率會有至少一個人丟出來5次都是正面向上。但是這並不能說明這個人的硬幣丟出正面的概率比其它人更大。在這個取樣裡
和
相差很遠,也就是說這個人的取樣是一個比較失敗的取樣。但是這樣的取樣對於選擇假設函式時影響非常大。只要有比較失敗的取樣那麼演算法就不能夠按照
進行自由選擇不同的假設函式。對於一個假設集合而言,資料集合
只要對其中一個假設函式來說是比較失敗的取樣,那麼它就是失敗的。
假設空間一共有M個假設函式,那麼這個假設空間遇到比較壞的取樣的概率上限為:
也就是說,對於比較大的N和有限的M來說,不論是什麼樣的演算法,
是有可能大致正確的(PAC)。因此最合理的演算法
會選擇在資料集
上錯誤率最小的假設
作為
。
因此整體的學習過程如下:
也就是說對於假設空間是有限的情況下,學習是可行的。而一個合理的演算法最終會選擇一個在
上錯誤率最小的假設
作為結果
。但是對於假設空間無限大的情況,以後的課上再講。