1. 程式人生 > >《機器學習》筆記-計算學習理論(12)

《機器學習》筆記-計算學習理論(12)

作者:劉才權           

 編輯:李雪冬           

前  言


如今機器學習和深度學習如此火熱,相信很多像我一樣的普通程式猿或者還在大學校園中的同學,一定也想參與其中。不管是出於好奇,還是自身充電,跟上潮流,我覺得都值得試一試。對於自己,經歷了一段時間的系統學習),現在計劃重新閱讀《機器學習》[周志華]和《深度學習》[Goodfellow et al]這兩本書,並在閱讀的過程中進行記錄和總結。這兩本是機器學習和深度學習的入門經典。筆記中除了會對書中核心及重點內容進行記錄,同時,也會增加自己的理解,包括過程中的疑問,並儘量的和實際的工程應用和現實場景進行結合,使得知識不只是停留在理論層面,而是能夠更好的指導實踐。記錄筆記,一方面,是對自己先前學習過程的總結和補充。 另一方面,相信這個系列學習過程的記錄,也能為像我一樣入門機器學習和深度學習同學作為學習參考。

章節目錄

  • 基礎知識

  • PAC學習

  • 有限假設空間

  • VC維

  • Rademacher複雜度

  • 穩定性

01

基礎知識

顧名思義,計算學習理論(computation learning theory)研究的是關於通過“計算”來進行“學習”的理論。即關於機器學習的理論基礎,其目的是分析學習任務的困難本質,為學習演算法提供理論保證,並根據分析結果指導演算法設計。

02

PAC學習

計算學習理論中最基本的是概率近似正確(Probably Approximately Correct,簡稱PAC)學習理論。 

給定訓練集D,我們希望基於學習演算法ξ學得的模型所對應的假設h儘可能接近目標概念c。 
PAC學習中一個關鍵因素是假設空間H的複雜度。H包含了學習演算法ξ所有可能輸出的假設,若在PAC學習中假設空間與概念類完全相同,即H=C,這稱為“恰PAC可學習”(properly PAC learnable);直觀地看,這意味著學習的能力與學習任務“恰好匹配”。然而,這種讓所有候選假設都來自概念類的要求看似合理,但卻並不實際,因為在現實應用中我們對概念類C通常一無所知,更別說獲得一個假設空間與概念類恰好相同的學習演算法。顯然,更重要的研究假設空間與概念類不同的情形,即H≠C。一般而言,H越大,其包含任意目標概念的可能性越大,但從中找到某個具體目標概念的難道也越大。|H|有限時,我們稱H為“有限假設空間”,否則稱為“無限假設空間”。

03

有限假設空間

  • 可分情形 
    可分情形意味著目標概念c屬於假設空間H,即c∈H;

  • 不可分情形 
    對較為困難的學習問題,目標概念c往往不存在與假設空間H中;

04

機器學習演算法的挑戰VC維

現實學習任務所面臨的通常是無限假設空間。欲對此種情形的學習性進行研究,需度量假設空間的複雜度。最常見的辦法是考慮假設空間的“VC維”(Vapnik-Chervonenkis dimension)

05

Rademacher複雜度

基於VC維的泛化誤差界是分佈無關、資料獨立的,也就是說,對任何資料分佈都成立。這使得基於VC維的學習性分析結果具有一定的“普適性”;但從另一個方面來說,由於沒考慮資料自身,基於VC維得到的泛化誤差界通常比較“鬆”,對那些與學習問題的典型情況相差甚遠的較“壞”分佈來說尤其如此。 

Rademacher複雜度(Rademacher complexity)是另一種刻畫假設空間複雜度的途徑,與VC維不同的是,它在一定程度上考慮了資料分佈。

06

穩定性

無論是基於VC維還是Rademacher複雜度來推導泛化誤差界,所得到的結果均與具體學習演算法無關。對所有學習演算法都適用。這使得人們能夠脫離具體學習演算法的設計來考慮學習問題本身的性質。但在另一方面,若希望獲得與演算法有關的分析結果,則需另闢蹊徑。穩定性(stability)分析是這方面一個值得關注的方向。 
顧名思義,演算法的“穩定性”考察的是演算法在輸入發生變化時,輸出是否會隨之發生較大的變化。

往期回顧之作者劉才權專欄

機器學習演算法工程師

                            一個用心的公眾號

長按,識別,加關注

進群,學習,得幫助

你的關注,我們的熱度,

我們一定給你學習最大的幫助