Andrew Ng機器學習公開課筆記 -- 學習理論

網易公開課,第9,10課
notes,http://cs229.stanford.edu/notes/cs229-notes4.pdf算法

這章要討論的問題是,如何去評價和選擇學習算法機器學習

 

Bias/variance tradeoffide

image

仍是用這組圖,學習算法追求的是generalization error(對未知數據的預測偏差),而不是training error(只是對訓練集)函數

最左邊,underfit,咱們說這種學習算法有較大的bias
Informally, we define the bias of a model to be the expected generalization error even if we were to fit it to a very (say, infinitely) large training set.
即在用足夠多的訓練集的狀況下,仍然有較大的generalization error學習

最右邊,overfit, 咱們說這種學習算法有較大的variance
在比較小或有限的訓練集的狀況下,更容易發生優化

因此對於學習算法,咱們須要tradeoff bias VS. variance,避免過於簡單或複雜的學習模型url

 

Preliminariesorm

在這章爲了達到評價和選擇算法的目的,咱們須要解決下面幾個問題,對象

First, can we make formal the bias/variance tradeoff that was just discussed? The will also eventually lead us to talk about model selection methods, which can, for instance, automatically decide what order polynomial to fit to a training set.
是否能夠形式化bias/variance,由於這樣的話,咱們就能夠對每一個學習模型計算出bias/variance ,從而能夠自動選擇模型blog

Second, in machine learning it’s really generalization error that we care about, but most learning algorithms fit their models to the training set. Why should doing well on the training set tell us anything about generalization error? Specifically, can we relate error on the training set to generalization error?
對於學習算法,咱們真正關心的是generalization error,而咱們以前都是用training error來做爲優化目標
這樣想固然應該是合理的,可是有理論依據嗎?咱們真的能夠用training error來近似generalization error嗎?他們之間有怎樣的關係?
這是咱們下面首先要討論的問題

Third and finally, are there conditions under which we can actually prove that learning algorithms will work well?
結論性的問題,在知足什麼樣的條件下,咱們就能夠證實這個學習算法是work well的?

 

在討論上面問題以前,先介紹兩個lemma,後面會用到,
第一個是union bound,這個定理顯而易見

image

第二個是Hoeffding inequality
image

其實要表達的意思是, 當m足夠大的時候,預估值image 會逼近真實值image
給個例子,Z知足bernoulli分佈,最好的例子就是拋硬幣,對於均勻的硬幣,正面的機率是1/2
可是若是你拋10次,計算出現正面的概念可能不是1/2,但若是你拋100萬次或更多,你拋的越多,那麼獲得正面的概念必定是趨向於1/2(bernoulli大數定理)
參考,機器學習物語(2):大數定理軍團 Free Mind

 

下面開始定義咱們的問題,即上面提到的第二問題,

定義實驗偏差image ,對於訓練集S,m個數據點
實驗偏差,實驗值不等於真實值的個數/m,很容易理解
前面定義過image ,成立爲1,不成立爲0

image

定義真實偏差image ,即給出一個新的知足D分佈的點(x,y),預測出的h不等於真實值y的機率

image

如今爲了闡述簡單,假設h爲線性分類函數
image 
那麼最簡單的最基本的學習算法是,Empirical risk minimization (ERM),即以最小化training error爲目標去求得最優參數image

image

這個算法的問題是,每每很難求解,而且是非凸的,而邏輯迴歸或SVM均可以看作是ERM的凸化的近似優化算法
但這裏討論學習理論,出於簡單考慮,就以ERM爲例子

上面的ERM是以image爲優化參數,其實一個image就對應於一個h
因此從通用考慮,咱們這裏用h作爲優化參數,這樣更通用,由於h能夠爲任意函數,只要能夠將input映射到{0,1}便可

image

因此上面的ERM就表示成這樣,容易理解嗎?

image

 

The case of finite H

下面先討論的case是,H用的h函數爲有限個,咱們要從有限個h中找到最優的h

image
好,而後這節的內容就是想證實,對於有限個,這裏假設k個h,training error是對於generalization error的可靠的estimate

 image

其實,我以爲的基於Hoeffding inequality,這個證實是顯然成立的呵呵,固然下面的證實關鍵是能夠給出formal的形式

對於image ,咱們定義,image
那麼就有,只是把上面公式中的換成Z

image

而後咱們的目標是,證實對於H中的全部h都知足,image 是有個上屆的,因此能夠用後者來近似的預估後者

首先,H中存在h知足image 的概念以下,存在即或,因此能夠用union bound

image

並把Hoeffding inequality代入的到一個不等式

而後關鍵的一步,兩邊取反
存在h使image,取反就是對於全部的h知足image ,這個的機率是image
image

這個說明什麼,即image是有個上界image ,這個事件發生的機率當m足夠大的時候是趨於1的,即一定發生,即完成證實

這個結果稱爲uniform convergence result,一致性收斂結果

這個式子中有3個要素,常量image,樣本大小m,和機率值image

一致性收斂就是給定image和m的狀況下,若是算出機率值

固然這個式子,其實還有另外兩種表達方式,

1. 給定image和機率值image ,求出至少要多大的m
image

這個用上面的式子很容易算出,算出的m稱爲algorithm’s sample complexity,樣本複雜度

能夠理解爲,須要多大的樣本,樣本偏差才能夠近似於通常偏差,知足上面的不等式

2. 給定image和m,求出上屆image

image

 

你們看看一致性收斂結果,證實半天,只是證實對於某個h,他的實驗偏差和真實偏差之間的關係,咱們能夠更進一步,

image ,h hat表示經過實驗偏差最小化,找出的h,即訓練出的h

image ,h star表示經過通常偏差最小化,找出的h,即真正的最優的h

那麼咱們是否能夠找出h hat和h star之間偏差的關係了? 因而獲得以下結論

image

第一個不等式就是h hat一致性收斂不等式的轉換,
第二個不等式,由於對於實驗偏差image 而言,h hat是最小的,因此h star的實驗偏差也至少>=h hat的實驗偏差
第三個不等式,將h star的一致性收斂不等式代入的結果,image image

因此你們看到,h hat和h star的通常性偏差之間的差距也是有上界image 的,即咱們能夠用h hat來近似h star

正式的寫成Theorem,而且將其中的imageimage 替換成具體的公式

image

這個式子頗有意思,能夠非formal的反應出以前說的bias/variance之間的tradeoff

在模型選擇時,目的是儘可能減少image ,即咱們訓練出的h的真實偏差
比較天然的想法是將hypothesis class H,推到更高的函數空間image ,好比將線性函數族擴展成二次函數族,後者是包含前者的,選擇的對象函數多了,天然更有可能找到真實的h,即上面的第一項image 會減少,因此能夠將第一項用於表示bias

但更大的函數空間,會致使k變大,因此第二項會變大,這個對應於variance

最後,獲得這個推論,即知足上面定理,m的樣本複雜度,這個其實和前面那個同樣,由於這個定理自己就是由一致性收斂推導出的,因此兩個樣本複雜度也是同樣的

image

 

The case of infinite H

上面討論的是有限的hypothesis,但對於一些hypothesis classes是包含無限的functions的,好比任何以real number做爲參數的case
對於無限的case,咱們是否仍然能夠獲得上面相似的結論?

咱們先來直觀的看一個argument,雖然不是很formal或right

咱們假設H是以實數做爲參數的,由於計算機裏面是用64bit來表示實數的,當咱們有d個參數的時候,
咱們近似有image 個hypothesis函數,能夠當作無限個咱們把k代入上面的Corollary定理,

image

能夠看到那個log很關鍵,它把一個指數關係變成線性關係了
上面的式子說明,對於無限的hypothesis而言,若是要知足Corollary定理,樣本複雜度m只須要和參數個數d知足線性關係

雖然這個argument不是那麼正確或formal,不過很直觀

下面咱們更formal的來闡述這個argument,

先介紹一些定義,

首先是,shatter

image

直觀的說,就是若是H中總能找到一個function能夠正確的將S中的item正確分類(item能夠任意取值)

image

看這個圖,能夠說明二維的線性分類是能夠shatter這個3個元素的集合的

 

再者,定義VC維

image

H能夠shatter的最大集合的size就是H的VC維
前面說明的二維的線性分類器的VC維就是3,你能夠試試對於任意size爲4的set,二維線性分類器都沒法shatter
其實對於某些size爲3的set,也沒法shatter,好比下面這個set

image

可是隻要存在size爲3的set能夠被H shatter,咱們就能夠說H的VC維爲3

而且能夠證實對於n維的線性分類器,它的VC維爲n+1

 

故能夠給出一致性收斂,

image

代表對於無限的H中的每一個h,通常偏差和實驗偏差的差值是有上屆的,而且對於有限的VC維,只要讓樣本複雜度m足夠大,就能夠達到一致性收斂

第二個式子,由於對於有限的case,咱們能夠從一致性收斂推導出

image

故對於無限的case,這裏能夠直接代入,從而給出無限維的corollary定理

image

代表只須要樣本複雜度m和H的VC維成線性關係,那麼就能夠知足一致性收斂

相關文章
相關標籤/搜索