Learning theory 機器學習原理

Introduction

年前剛剛完成了一門臺大的機器學習基石課程,最後得到了complete with distinction的證書,話說真是有點小驚喜啊,爲什麼驚喜呢?因爲第二次作業做得實在是爛,剛破及格線,這第二章講的什麼呢?爲什麼機器能夠學習,機器學習的理論基礎,經過三思,決定好好回顧一下機器學習的理論基礎。

評價一個機器學習算法的generalization性能的方法就是看它在測試數據上的表現。所以評價這樣的性能在現實的機器學習應用中十分重要,因爲它影響了我們對於模型的選擇,最終影響的是整個學習器的性能表現.

當我們選擇模型的時候,我們時常會糾結於選擇較爲簡單的模型還是較爲複雜的模型。例如在做linear regression的時候,選擇了以下的幾個模型:


如果選擇最左邊的模型,那麼我們在訓練數據上的表現會比較糟糕(較高的in sample error),當選擇最右邊的模型,我們欣然發現in sample error爲零!但是回過神來仔細一想這樣的模型真的能在更廣闊的數據上表現得很好嗎?答案是否,這樣的模型雖然bias很低,但是variance高了。它的generalize的水平很低。

Bias:模型在訓練數據集上差的表現。

Variance:模型在訓練數據集和測試數據集上表現的差異。

在現實的應用中,會有很多bias和variance權衡的時候,如果我們選擇了一個較爲簡單的模型,很有可能會遇到bias較高,而variance較低,反之如果選擇了一個較爲複雜的模型,將會出現的是variance較高,而bias較低。那麼我們接下來看看這樣的結論背後的理論依據是什麼。

Generalization theory

在訓練數據集上的表現是否等同於在更廣的數據上的表現?要回答這個問題,我們把所有的數據抽象爲一個罐子中所有的不同顏色的球。現在問題轉化爲這樣:通過抽取瓶中的一部分球,我們能否推測出罐子中不同顏色球的比例?

假設總體的比例爲橘色的球出現的比例爲U,綠色的球出現的比例爲1-U,我們抽取的樣本中橘色的球的比例V,綠色的球出現的比例爲1-V,樣本中的比例與總體的比例之間是否存在着某種關聯呢?

根據霍夫丁定律


這個定律說明了什麼?

1:當N很大的時候,即抽取的樣本量很大的時候,不等式右邊會很小,說明不等式左邊的V與U相差一定數值的機率會變得渺茫,這個時候就能從樣本中推測總體的分佈了☺。

2:當差異ε增大時,右邊不等式也會變小,這樣的機率會下降。即U和V差很大的概率很小。

所以當我們有足夠的樣本,從已知去推測未知成爲可能。

將罐球模型推廣至機器學習

未知的總體橙球比例——》target f (x)

罐中的球——》總體數據

橙色的球——》假設h(x)在數據集上錯誤的表現h(x) 不等於 f (x)

綠色的球——》假設h(x)在數據集上正確的表現h(x) 等於 f (x)

從總體中抽出的樣本——》在有限的數據集上h(x)的表現。

爲了描述整個過程,考慮以下問題:

我們把注意力集中在二元的分類,目標值y ∈ {0,1},假設給定了數據集S ={(x(i),y(i));i =1,...,m},數據量爲m,訓練數據是通過一定的概率分佈D抽取的。對於一個假設h,定義這個h的in sample error爲:


即爲錯誤標記的個數比上樣本的總數。因爲是在樣本上的表現,所以定義爲總體的error定義爲:


它表示的是如果我們現在從分佈D中抽取樣例(x,y),那麼我們錯分它的概率爲ε(h)。

重要的假設:我們的訓練數據是測試數據取自同樣的分佈D。

通過霍夫丁定律,能夠得出以下不等式:


是總體的錯誤,是模型在樣本上犯的錯誤,這個不等式解釋爲以下:當樣本數據的量m大到一定程度時,模型在樣本數據上犯的錯誤與在總體數據上犯的錯誤的差別將會很小。

但是我們並不想只對一個h,以很高的概率逼近。我們想要證明的是對於假設空間H中所有的假設h都會是這樣的情況:對於所有的h in H,以很高的概率逼近

Union bound

令A1,A2,  A3, Ak爲k個事件,根據概率論的知識:那麼k個事件發生任意一個的概率小於等於他們概率的和。

P(A1 ∪···∪Ak)≤P(A1)+...+P(Ak).

將該定理用於學習理論的推導:



-表示取反,最終的不等式說明了:對於所有的h in H,相差γ的機率有一個下界。

這裏的union bound的上界是一個高估的值,發生於所有的bound完全獨立的情形,但是現實是他們可能有一定的交集,如下圖所示:


形象化的表示如下,假設有m個罐子,每個罐子橙色球的比例爲E in()。那麼我們可以得出所有罐子總橙色球的比例是小於一定上界的。


接着,令不等式右邊等於:1 – δ,δ = 2k * exp(−2γ2m),解出m:


這個不等式告訴了我們要達到之前的不等式成立,我們需要的最少的樣本數量是多少。爲了達到一定的學習性能所需的樣本量被成爲樣本複雜度

同時我們注意到的是k(所有的假設)出現在了log的後面,說明所需要的樣本複雜度是隨着k的log變化的,這個變化是非常慢的,我們的學習好像可行了!

k同時也說明了另外一件事兒:

當k很大時,假設集很大,這樣不等式右邊的量變大,會造成我們的出現較大的偏差,但是因爲更多假設的存在,我們能夠隨意的挑選,更有可能選到一個在樣本集上表現令我們滿意的假設,使足夠的小。這裏的理論對應至bias和variance,即當假設集很大時,說明我們的模型複雜度較大,這樣能夠更好的擬合我們的訓練數據(bias較小),但是在測試數據上的表現可能差強人意(variance較大)。

當k較小時,假設集很小,不等式右邊的值較低,說明接近的概率很大,但是因爲假設集有限,那麼我們挑選到一個稱心如意的假設的可能性就變小了,對應至bias和variance即爲:bias較大,但是variance較小。

到此我們已經解決了一個問題:用假設在樣本上的表現有很大的機率推測出它在總體上的表現

接下來我們要考慮的是在樣本上表現得很好的假設會不會在總體上也表現的不錯呢?

good E(in) ?= good E(out)

接下來再把不等式換一下,令m和δ不變,解出γ的值,

回顧一下兩個量:

:假設h在樣本數據集上的表現:錯誤,越小說明越好。

:假設h在總體數據上的表現。

現在新引入兩個量:

:在樣本數據集中表現最好的假設,用公式表示爲:


:在總體數據集中表現最好的假設,用公式表示爲:


那麼現在我們想要做的是證明反應了

推導過程如下:


第一個不等式是根據得到的。
第二個不等式根據:,所以對於所有的h:,那麼對於也不例外:

所以最後我們得出了:在樣本數據集上最佳的假設在總體上的表現與總體數據的最佳假設相差2 γ

很高興我們成功了!

最後,將所有的公式結合起來,得到:


這又再一次的展現了bias/variance的權衡:當假設集增大,模型變得複雜時,即k增大,那麼整個γ增大了,即variance增大。但是min ε(h)減小了,即bias減小。反之亦然。

另外對於樣本個數m有:


VC bound

對於假設集爲無窮的情況,如果直接將k帶入公式,那麼我們的概率上限將變爲無窮大,似乎這個公式就不在有用了,我們有沒有什麼辦法還能用之前的結論呢?

對於一個二維平面一個點的分類問題:


用一條直線來劃分這個點,使這個點屬於不同的類別。在這個二維的平面中存在無限條直線,對應着無限的假設H空間,但是我們可以想辦法將其分爲不同種類的直線:


對於這樣一個分類問題,我們找出了兩類假設,如上圖所示,這兩個假設很好的概括了所有的假設。

那麼當點的數量達到兩個呢?有多少種假設呢?


我們發現總共有4種直線把兩個點完全的分成4類。

當在增加一個點呢?有8種分割方式。


最後再增加一個點:4個點:


這時我們發現,即使列出了所有的直線,無論我們怎麼在二維平面上排列4個點,它們都不能完全的被分成16種情形。

所以按照之前的理論:N個點,有兩種tag,那麼最多有2的N次方種分法,當N趨近於無窮大時,整個假設分類方法趨近於無窮大,那麼我們就無法得到一個好的概率上限了。但是現在我們似乎看到了一線曙光,當N增大到某個點時,假設的類別(有效的分類方式)開始小於2的N次方了。我們把這樣的開始出現不能被完全分類(shatter)的點成爲breaking point。

對於shatter的定義:

Given a set S = {x(i),. . . , x(d)}(no relation to the training set) of points x(i) ∈ X,we say that H shatters S if H can realize any labeling on S. I.e., if for anyset of labels {y(1),. . . , y(d)},there exists some h ∈ H so that h(x(i)) = y(i) for all i= 1,...d.


同時引出了VC dimension的定義:Given a hypothesis class H, we then define its Vapnik-Chervonenkis dimension, writtenVC(H), to be the size of the largest set that is shattered by H. (If H can shatter arbitrarily large sets, then VC(H) = ∞.)

所以我們上面提到的二維平面點分類的問題的VC維是3.即最大可以被線性完整分類的點數。這裏需要注意的是只要有一種情況N個點可以被shatter,即認爲合格,不管在N個點中有其他不能被shatter的情況,如下圖所示:


對於假設集無窮的情況,有下面的情況:(推導略去)


所以,當一個假設類存在有限VC維的時候(無限的VC維例如convex set,任何數量的點進來,都能被shatter),當m一定,那麼這樣的一個上界就存在了!

最後我們得出一個結論:我們需要的樣本數量與H中的參數的數量(模型複雜度)成線性的關係。

最後曬下證書^_^




Reference

machine Learning CS229    http://cs229.stanford.edu/

machine learning foundation https://class.coursera.org/ntumlone-001

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