機器學習理論帝國崛起,大數定理軍團功不可沒,稱之爲軍團毫不誇張,在前軍先鋒強大數定理和副將弱大數定理後面,是鎧甲上刻着“Concentration of Measure”的古老印記的戰士們,不妨暫且忽略他們之間亂七八糟的“血緣”關係,而羅列一些名字:Chebyshev
不等式、 Markov 不等式、 Bernstein
不等式、 Hoeffding 不等式、 McDiarmid
不等式、 Chernoff 不等式……雖然他們之間互相關係微妙,但是在戰鬥中卻是各有千秋,特別是在裝備了現代化的“大規模殺傷性武器”——一致收斂性之後,……寫不下去了,我這點文學功底,果然連 yy 小說也沒法寫的。
總而言之,我們這次的主角是大數定理 (Law of Large Numbers, LLN),以及它們在學習理論中如何起到關鍵作用。不妨先來看看大數定理吧:
定理 1:設
X1,…,Xn 是獨立同分布的隨機變量,並且
E|Xi|<∞ ,記
μ=EXi,
μn=∑ni=1Xi/n ,則隨着
n→∞
- 強大數定理:μn 幾乎處處(逐點)收斂於 μ ,亦即
P(limn→∞μn=μ)=1
- 弱大數定理:μn 依概率收斂於 μ ,亦即 ∀ϵ>0
limn→∞P(|μn−μ|≥ϵ)=0
直觀來說,就是隨着 n 增大,由採用數據估計出來的平均值 μn 會越來越接近真實平均值 μ 。強大數定理可以(用 Egorov
定理)推出弱大數定理。這在機器學習裏有什麼用呢?上一次我們已經稍微做了一點劇透,這一次讓我們來仔細研究一下這個問題,一切還得從 Empirical
Risk Minimization (ERM) 說起。
我們上次提到過,ERM 就是根據訓練數據 Sn={(xi,yi)}ni=1 在給定的函數空間 F 中尋找最小化經驗誤差
Rn(f)=1n∑i=1nℓf(xi,yi)
的函數 f∗n 的過程。由於 Sn 是已知的,所以 Rn 是可以求值的,於是
ERM 就可以做了——當然這只是從理論上來說,比如,具體到二分類和 0-1 loss 函數的話,做 ERM 的優化是一個組合問題,非常困難;另外, ERM 問題經常都是 ill-conditioned ,不太容易直接求解。不過關於這些問題的解決方案不是今天要講的內容,而是要留到將來了。
雖然 ERM 算法看起來很自然,但是他是不是一個好的算法呢?回憶一下我們在世界觀設定中提到的 supervised learning 的目的是最小化 Risk R(f) ,所以,現在需要檢查的問題就是,通過
ERM 算法求出來的 f∗n ,其
Risk 是不是也比較小呢?和最優的 Bayes Risk R∗ 或者在 F 裏能達到的最優
Risk RR 差多少呢?首先來看
Bayes Risk
R(f∗n)−R∗=R(f∗n)−RF+RF−R∗
這裏右邊紅色的項叫做 estimation error ,因爲它是由通過訓練數據 Sn 去進行
estimate 造成的誤差,而藍色的項叫做 approximation error ,注意到它與具體的訓練數據無關,而只與函數空間 F 的選取有關,它的名字的由來是表示這是用 F 中的函數去對
Bayes classifier f∗ 進行近似所造成的誤差。
這裏有一個 trade-off :如果增大 F ,那麼
approximation error 會相應地減小,比如,當 F 增大到包含了 f∗ 的話,approximation
error 就等於零了。不過,隨着 F 的增大,(對於固定的 n)第一項
estimation error 卻會增大。這其實類似於更具體的統計模型裏的 bias-variance trade-off 。至於爲什麼 estimation error 會隨着 F 的增大而增大——當然,從直觀上來想想還是比較好理解的,不過到本文末尾的時候,我們應該也能對這個問題有一個稍微嚴格一點的認識了。
現在我們先假定 F 已經固定了,因此
approximation error 就成爲了一個固定值,這部分的 Risk 是問題本身造成的,不是我們通過訓練數據或者算法所能控制的了,於是我們把視線集中到 estimation error 上。爲了推導更簡便一點,我們設 inff∈FR(f) 在 fF∈F 取到。由於 f∗n是使得 Rn(f) 最小的解,因此有 Rn(fF)−Rn(f∗n)≥0 ,於是:
R(f∗n)−RF=R(f∗n)−R(fF)≤R(f∗n)−R(fF)+Rn(fF)−Rn(f∗n)=R(f∗n)−Rn(f∗n)+Rn(fF)−R(fF)≤supf∈F|Rn(f)−R(f)|+supf∈F|Rn(f)−R(f)|=2supf∈F|Rn(f)−R(f)|
這爲我們的 estimation error 提供了一個上界,如果我們能保證這個上界很小的話,自然就能保證 estimation error 小了。不直接去算 estimation error 而迂迴一下搞一個上界的原因很明顯:estimation error 太難算,而這個上界形式優良,容易估計:因爲它和大數定理聯繫起來了!
如果你覺得看得不太清楚的話,我們不妨來整理一下記號。首先固定一個 f∈F ,記 Z=ℓf(X,Y) ,這是 X×Y 上的一個隨機變量,根據
Risk 和 Empirical Risk 的定義:
R(f)Rn(f)=E[ℓf(X,Y)]=EZ=1n∑i=1nℓf(Xi,Yi)=1n∑i=1nZi≜Z−−n
也就是說,Z 的期望就是 f 的
Risk ,而 sample Sn 估計出來的均值 Z−−n 對應 f 的
Empirical Risk 。根據大數定理,隨着 n→∞ ,Z−−n 將會趨向於 EZ ,於是將剛纔推出的
estimation error 的上界限制住的希望出現了。需要注意的是,傳統的大數定理在這裏還不能直接用,因爲注意到我們得到的上界裏有一個針對所有 f∈F 的上確界,因此需要對大數定理進行改造,使得收斂必須對於所有 f∈F 是一致的。不過在討論這個問題之前,我們先來看一下大數定理的不等式形式,因爲僅僅是極限情況下看起來太遙遠了,在實際問題中,我們希望的是,對於某個(有限的) n ,估計出誤差的一個具體的界。下面不妨就挑 Hoeffding
不等式來討論好了。
定理 2(Hoeffding 不等式):設隨機變量
Z 滿足
Z∈[a,b] ,則
P(∣∣∣1n∑i=1nZi−EZ∣∣∣>ϵ)≤2exp(−2nϵ2(b−a)2)
其中 {Zi}ni=1 是和 Z 獨立同分布的隨機變量。
注意這裏要求 Z 是有界的,不妨具體到二分類和
0-1 loss 問題,注意 0-1 loss ℓf(X,Y) 只能取
0 和 1 兩個值,因此隨機變量 Z=ℓf(X,Y) 是有界的( ∈[0,1] ),於是可以用
Hoeffding 不等式,得到以 1−δ 的概率,有
|Z−−n−EZ|≤(b−a)12nln2δ−−−−−−−√=12nln2δ−−−−−−−√
可見,我們對置信度要求越高(δ 越接近
0 ),不等式右邊的值就越大,因此 bound 就越鬆,不過隨着 n 的增大,我們可以得到越來越好的
bound 。用不等式的好處是,我們有明確的數值可以參考,比如,用 1000 個點的 sample ,我們可以以 99% 的概率保證對期望 EZ 的估計誤差不超過
0.05 ,雖然這個 bound 不一定 tight ,也就是說,實際結果可能比這裏估計的還要好得多,但是至少給了我們一個很“實在”的感覺。
但是有一個問題,從剛纔開始我們一直就強調這裏的結果是對於某個固定的 f 成立的,但是學習的過程是在整個函數空間 F 中進行的,我們需要保證收斂性在 F 一致成立,前面關於 R(f∗n)−RF 的不等式右邊的上確界正是明確了這個要求。注意,即便對於任意 f∈F 都滿足收斂性,也不能保證所有 f 一致收斂,作爲一個可能不是那麼形象的示意圖:
圖中橫座標表示函數空間 F ,紅顏色的線表示
Risk ,而藍色的線表示某個具有 n 個數據點的訓練數據 Sn 對應的
Empirical Risk 。對於某個固定的 f ,隨着 n 的增大,Rn(f) 和 R(f)直接的距離逐漸趨向於零。但是對於任意固定的 Sn ,如果 F 足夠“大”的話,就可以找到 f∈F 使得 R(f) 和 Rn(f) 直接相差很大。沒有一致收斂的話,就無法保證藍線的最小值對應的 f∗n 收斂到紅線的最小值對應的 f∗ 了。
讓我們明確一下目的,之前通過 Hoeffding 不等式,我們得出了 |Rn(f)−R(f)| 的一個
bound ,現在我們需要一個一致的 bound ,也就是說,針對 supf∈F|Rn(f)−R(f)| 的
bound 。這個時候我們又得再爲我們的“午餐”支付額外的費用了:爲了得到一致收斂性,我們不得不限制 F 的大小。上一次我們曾經舉了一個很
trivial 的例子,在 F 是所有的從 X 到 Y 的函數這麼巨大無比的一個空間的情況下,我們可以找到使得
Empirical Risk 最小化(等於零)的解 f ,然而 f 幾乎完全沒有任何預測能力,其真實
Risk 甚至可以被構造得任意大(可以依賴於未知的 P 來構造,因爲我們只是要證明存在性,而不是要進行學習過程,所以可以利用未知的量)。這個例子說明,當函數空間過“大”時,一致收斂是非常困難的。
最簡單的情況就是 F={f} :函數空間只有一個元素的情況,這個時候我們什麼都不用幹,原始的
Hoeffding 不等式和大數定理已經足夠了。不過如果 F 只有一個元素,那也不用做什麼
learning 了……接下來讓我們考慮稍微不那麼 trivial 一點的情況,F={f1,f2} 。
記 ξ=ℓf1(X,Y) 、ζ=ℓf2(X,Y) 分別是 f1 和 f2 對應的隨機變量,並設他們都有界:ξ,ζ∈[a,b] 。則我們有
P(supf∈{f1,f2}|Rn(f)−R(f)|>ϵ)=P({|ξ−n−Eξ|>ϵ}⋃{|ζ−n−Eζ|>ϵ})≤P({|ξ−n−Eξ|>ϵ})+P({|ζ−n−Eζ|>ϵ})≤2×2exp(−2nϵ2(b−a)2)
最後一個不等式是對兩項分別應用 Hoeffding 不等式得到的。如此一來,就可以直接將 F 包含兩個元素的情況推廣到包含 N 個元素的情況,得到下面的命題:
命題 3:設
F={f1,…,fN} ,且
ℓf(X,Y)∈[a,b] ,則
P(supf∈F|Rn(f)−R(f)|>ϵ)≤2Nexp(−2nϵ2(b−a)2)
於是,我們可以以 1−δ 的概率保證
supf∈F|Rn(f)−R(f)|≤(b−a)12nln2Nδ−−−−−−−−√
以對數依賴於 F 的元素個數的,似乎還算不錯了,結合前面的結論,讓我們來看一下具體的數值。假設有
1000 個數據點,在 1000 個函數上進行學習,考慮分類問題和 0-1 loss,則我們能以 99% 的概率保證
R(f∗n)−RF≤2supf∈F|Rn(f)−R(f)|≤212nln2Nδ−−−−−−−−√≈0.16
對 ln−−√ 級別的增長在這裏是很有用的,比如,我們將函數空間的元素個數增加到
1000000 個,誤差上界也才增加到 0.20 而已。但是確實是隨着函數空間的複雜化而增長的,這從一定程度上解釋了先前提到的 estimation error 隨着函數空間的增大而增大的斷言。當然,只是說“從一定程度上”解釋,因爲我們這裏只是得到一個上界而已,上界的增大並不一定意味着真實值也增大的。
到此爲止,我們已經完成了對 ERM 算法的一個 theoretical justification :至少在一個有限的函數空間 F 中進行學習,ERM
算法是合理的,因爲我們可以得到 ERM 算法找出的函數 f∗n 的
Risk 與 F 裏所能達到的最小
Risk RF 之差的一個
bound ,並且,這個 bound 會隨着 n→∞ 而趨向於
0 ,也就是說,隨着數據點的個數趨向於無窮,ERM 能夠保證收斂都真實的最優解。
當然,故事還遠遠沒有結束呢,還有衆多的問題沒有解決,其中最爲嚴重的一個就是函數空間 F 的大小問題,這裏的結論只能適用於 F 有限的情況,但是這實在是非常大的限制。正常一點的函數空間,像
“Rm 上的線性函數”之類的都遠遠不是有限的。爲了解決無限的情況,我們需要挖掘一下 F 的結構,注意我們剛纔在推導一致
bound 的時候只是把 F 看成一個普通的集合來看待的,但是如果 F 有一些拓撲或者度量或者其他的結構呢?比如說,F 上存在度量,那麼如果有一團一團的函數彼此之間是很相似的的話,是不是可以用其中的某個函數來“代表”其他的函數,從而減少空間的“有效大小”?在數學上有沒有什麼“把無限劃歸爲有限”的方法?不過這些問題,要留到下一次來解決了。