背景
提及機器學習(Machine Learning
),大多數人的腦海中首先浮現出來的就是各種機器學習的模型策略。當一個問題的數據集(data set
)確定后,我們便開始觀察數據,處理特征,確定模型。然而,為什么機器學習這個工具可以大概正確地預測數據的目標結果?在某個數據集上的學習是否具有可行性(feasibility of learning
)?機器學習的學習理論對這些問題作出了解釋。本文以理論推導為主,結合具體的學習模型來介紹學習理論的內容。
學習問題
存在未知的目標函數
二、聯系學習問題
-
介紹:假設空間(
hypothesis set
)
假設空間是所有假設的集合。在 \(h:\{x_1 ,x_2,\cdots,x_n\}\rightarrow\{-1,+1\}\) 中,我們設 \(x_i\) 的可能取值有 \(N_i\) 的,那么對應的假設空間的大小為 $$2 \times \prod_{i=1}^{n} N_i $$我們先討論假設空間中只有一個假設的情況,然后擴展到有限個假設,最后擴展到無限個假設
-
只有一個假設的情況( \(\mathcal{H}=\{ h \}\) )
樣本內誤差(
in-sample error
):$$E_{in}(h)=\frac{1}{N}\sum_{i=1}^N I{h(x_i) \neq f(x_i)}$$樣本外誤差(
out-sample error
):$$E_{out}(h)=P{h(x) \neq f(x)}$$在學習問題(
learning problem
)中,樣本內誤差和樣本外誤差分別相當於Hoeffding不等式中的 \(\overline{X}\) 和 \(E[\overline{X}]\)。此時,Hoeffding不等式轉變為:$$P{|E_{in}(h) - E_{out}(h)|>\epsilon} \leq 2e^{-2\epsilon^2 N}$$從上面的公式可知,擬合訓練數據的假設與該假設針對整個樣本空間的預測,這兩者的錯誤率差別很大的那種情況發生的概率是很小的。
然而,這不是一個學習過程,只是驗證一個假設的預測能力,它不能證明這個假設對應的樣本外誤差是最小的,不能證明這個假設在假設空間內是最佳假設。
-
有限假設空間情況( \(\mathcal{H}=\{h_1,h_2,\cdots,h_M\}\) )
在假設空間 \(\mathcal{H}\) 中,每個假設 \(h_i\) 都是固定不變的。給定一個的樣本集,學習算法的任務就是在給定不變的M個假設中找到一個最終的假設 \(g\),使得對於任意 \(i\in\{1,2,\cdots,M\}\),都有
\[P\{|E_{in}(g) - E_{out}(g)|>\epsilon\} \leqslant P\{|E_{in}(h_i) - E_{out}(h_i)|>\epsilon\} \]其上界為:
\[P\{|E_{in}(g) - E_{out}(g)|>\epsilon\} \leqslant \, \sum_{i=1}^M P\{|E_{in}(h_i) - E_{out}(h_i)|>\epsilon\} \leqslant 2Me^{-2\epsilon^2 N} \]令 \(\delta = P\{|E_{in}(g) - E_{out}(g)|>\epsilon\}\),則$$N \geqslant\frac{1}{2\epsilon^2}[lnM+ln{\frac{1}{\delta}}]$$
也就是說,在有限個假設且樣本集足夠大的情況下,樣本內誤差和樣本外誤差的差的絕對值超過 \(\epsilon\) 的概率為 \(\delta\)。
三、總結
-
再次回到學習問題
回到問題:我們能否通過學習算法,在假設空間 \(\mathcal{H}\) 中找到一個假設 \(h\),使得該假設近似地等於目標函數 \(f\)?
這里的“近似地等於”,意味着 \(E_{out}(g) \approx 0\)
- 確定性答案[
deterministic answer
]:不能。我們不能確定任何一個在 \(\mathcal{D}\) 之外的實例的標記。 - 概率性答案[
probabilistic answer
]:可以。我們可以得到一個在 \(\mathcal{D}\) 之外的實例的最可能的標記結果。
根據上文的討論可知,學習問題可以分為兩個子問題:
- 我們是否可以確定 \(E_{out}(g) \approx E_{in}(g)\)?
- 為了令 \(E_{}(g) \approx 0\),我們是否可以使 \(E_{in}(g)\) 盡可能小?
- 確定性答案[
-
復雜性權衡
- 假設空間的復雜性
當假設空間的大小 \(M\) 變大,\(E_{in}(g)\) 偏離 \(E_{out}(g)\) 的可能性就越大,但是,由於 \(g\) 來源於 \(\mathcal{H}\),假設空間的復雜性增加了我們找到一個較小的 \(E_{in}(g)\) 的概率。在學習理論中,對 \(\mathcal{H}\) 的復雜性的權衡是一個很重要的話題。 - 目標函數的復雜性
\(f\) 復雜而 \(\mathcal{H}\) 簡單時,很難找到一個 \(E_{in}(g)\) 的假設;而\(f\) 復雜同時 \(\mathcal{H}\) 復雜時,又會遇到了 \(E_{in}(g)\) 偏離 \(E_{out}(g)\) 的問題;當 \(f\) 過於復雜時,學習是不可行的。
實際問題中,大多數的目標函數都不會過於復雜。只要保證\(\mathcal{H}\)的復雜性可以給我們一個較小的Hoeffing邊界,那么,樣本集的匹配程度就決定了我們學習 \(f\) 的成敗。
- 假設空間的復雜性
-
學習模型
probably approximately correct, PAC
我們訓練學習器的目標是,能夠從合理數量的訓練數據中通過合理的計算量可靠地學習到知識(這里的知識指目標函數 \(f\))。
機器學習的現實情況:除非對每個可能的數據進行訓練,否則總會存在多個假設使得真實錯誤率不為零,即學習器無法保證和目標函數完全一致。此外,訓練樣本是隨機選取的,訓練樣本總有一定的誤導性。為此,我們要弱化對學習器的要求:
- 我們不要求學習器輸出零錯誤率的假設,只要求錯誤率被限制在某常數 \(\epsilon\) 范圍內,\(\epsilon\) 可為任意小。
- 不要求學習器對所有任意抽取的數據都能成功預測,只要求其失敗的概率被限定在某個常數 \(\delta\) 的范圍內, \(\delta\) 可取任意小。
簡而言之,我們只要求學習器可能學習到一個近似正確的假設,故得到了“可能近似正確學習”(PAC學習)。
一個可PAC學習的學習器要滿足兩個條件:學習器必須以任意高的概率輸出一個錯誤率任意低的假設。學習過程的時間最多以多項式方式增長。
對於PAC學習來說,訓練樣本的數量和學習所需的計算資源是密切相關的。如果學習器對每個訓練樣本需要某最小處理時間,那么為了使目標函數 \(f\) 是可PAC學習的,學習器必須在多項式數量的訓練樣本中進行學習。
第二部分
在第一部分中我們討論了有限假設空間的情況,不過,現實中遇到的大多數學習問題的假設集的大小都是無限的。此時,\(P\{|E_{in}(g) - E_{out}(g)|>\epsilon\}\) 的上界 \(2Me^{-2\epsilon^2 N}\) 中的 \(M\) 趨於無窮,使得該上界沒有任何意義了。因此,在第二部分中,我們將推導出一個更加精確的上界。
一、泛化理論 Theory of Generalization
-
泛化誤差(
generalization error
)在第一部分的最后,我們得到
\[P\{|E_{in}(g) - E_{out}(g)|>\epsilon\} \leqslant 2Me^{-2\epsilon^2 N}$$我們選擇一個容忍度(`tolerance level`) $\delta=P\{|E_{in}(g) - E_{out}(g)|>\epsilon\}$,那么,至少有 $1-\delta$ 概率,使得 $$E_{out}(g) \leqslant E_{in}(g) + \sqrt{\frac{1}{2N} ln{\frac{2M}{\delta}}}$$$$E_{out}(g) \geqslant E_{in}(g) - \sqrt{\frac{1}{2N} ln{\frac{2M}{\delta}}}$$即泛化邊界。 在有限假設集中,當 $M$ 一定時,隨着樣本數 $N$ 的增加,$E_{out}(g) \approx E_{in}(g)$。而對於有一個無限大小的假設集模型來說,我們可以找一個更精確的值來取代假設空間的實際大小 $M$。當 $M$ 趨於無窮時,該值仍是一個有窮值。為什么 $M$ 可以優化呢?在第一部分,我們利用聯合界(`union bound`),令$$P\{\bigcup_{i=1}^{M}A_i\} \leqslant \sum_{i=1}^M P\{A_i\}$$然而在一個典型的學習模型里,許多假設都很類似。下面我們引入成長函數和VC維等概念。 <br /> \]- 二分類(
dichotomies
)
對於某個 \(h \in \mathcal{H}\),\((h(\mathbf{x_1}),\cdots,h(\mathbf{x_N}))\) 是該假設所對應的二分類。可見$$(h(\mathbf{x_1}),\cdots,h(\mathbf{x_N})) \in {+1, -1}^N$$ - 成長函數(
growth function
)
令 \(\mathcal{H}(\mathbf{x_1},\cdots,\mathbf{x_N}) = \{(h(\mathbf{x_1}),\cdots,h(\mathbf{x_N}))|h \in \mathcal{H}\}\),則一個假設空間的成長函數為:$$m_\mathcal{H}(N) = \max_{\mathbf{x_1},\cdots,\mathbf{x_N} \in \mathcal{X}}|\mathcal{H}(\mathbf{x_1},\cdots,\mathbf{x_N})|$$對於不同的 \(\mathcal{D}\),由於內部 \(N\) 個點的分布方式不同,其 \(|\mathcal{H}(\mathbf{x_1},\cdots,\mathbf{x_N})|\)也可能不同。成長函數是假設空間在有限的樣本集上的可以產生的不同假設的數量,而不是在整個輸入空間里。因此,成長函數的值取決於N個樣本的可行的分類結果(任意一個樣本的分類結果是+1或-1)的數目。
- 打散(
shatter
)
若一個假設空間 \(\mathcal{H}\) 能產生樣本集上的所有假設,即 \(\mathcal{H}(\mathbf{x_1},\cdots,\mathbf{x_N})=\{-1,+1\}^N\),此時,我們說 \(\mathcal{H}\) 可以打散 \(\mathbf{x_1},\cdots,\mathbf{x_N}\),\(m_\mathcal{H}(N)=2^N\)。可以看出,對於任意正整數 \(N\),都滿足$$m_\mathcal{H}(N)\leqslant2^N$$ - 斷點(
break point
)
如果沒有一個大小為 \(k\) 的數據集可以被 \(\mathcal{H}\) 打散,則 \(k\) 是 \(\mathcal{H}\) 的一個斷點,此時$$m_\mathcal{H}(k) < 2^k$$ - VC維(
Vapnik-Chervonenkis dimension
)
一個假設空間 \(\mathcal{H}\) 的VC維 \(d_{vc}(\mathcal{H})\),是滿足 \(m_\mathcal{H}(N)=2^N\) 的最大整數 \(N\)。如果對於任意 \(N\) 都有 \(m_\mathcal{H}(N)=2^N\) (即沒有斷點),則\(d_{vc}(\mathcal{H}) = \infty\)。
- 二分類(
-
假設空間的有效大小
給定一個 \(\mathcal{D}\),假設空間中便存在多個具有相同的二分法的假設。對於我們的學習問題來說,這些具有相同二分法的假設就是冗余。因此,盡管假設空間的實際大小是無窮的,但我們有可能可以找到一個有窮的有效大小。
只要 \(\mathcal{H}\) 存在斷點(即 \(d_{vc}(\mathcal{H}) \neq \infty\)),\(m_\mathcal{H}(N)\) 就是關於 \(N\) 的多項式。若 \(m_\mathcal{H}(N)\) 可以取代 \(M\),則隨着 \(N\) 的增大,泛化誤差\(\sqrt{\frac{1}{2N} ln{\frac{2M}{\delta}}}\)將逐漸減小為 \(0\);相反地,若不存在斷點,泛化誤差永遠不會趨向於 \(0\)。
注:在有些問題里只有 \(N\) 個點的分布方式極其特殊時,才能被 \(\mathcal{H}\) 打散。這時,雖然這時 \(m_\mathcal{H}(N)=2^N\),但考慮平均情況,\(m_\mathcal{H}(N)\) 仍是關於 \(N\) 的多項式。
下面證明只要 \(\mathcal{H}\) 存在斷點,\(m_\mathcal{H}(N)\) 就是關於 \(N\) 的多項式。
定義 \(B(N, k)\) 為 \(\mathcal{H}(\mathbf{x_1},\cdots,\mathbf{x_N})\) 的最大數目。其中,使 \(\mathcal{H}(\mathbf{x_1},\cdots,\mathbf{x_N})\) 數目最大的樣本集 \(\mathcal{D}\) 中不存在可以被 \(\mathcal{H}\) 打散的數目為 \(k\) 的子集。\(B(N, k)\)是比 \(2^N\) 更准確的 \(m_\mathcal{H}(N)\) 的上界。$$m_\mathcal{H}(N)\leqslant B(N, k)\leqslant2^N, \space \space \text{if k is a break point for }\mathcal{H}$$可以根據下式利用動態規划求出具體的 \(B(N,k)\) 的值$$B(N, k) \leqslant B(N-1, k)+B(N-1, k-1)$$也可以直接利用歸納法證明 $$B(N, k) \leqslant \sum_{i=0}^{k-1} \binom{N}{i}$$最后,由於斷點 \(k = d_{vc}(\mathcal{H})+1\),而且給定一個 \(\mathcal{H}\) 后,斷點和VC維就是固定不動的。所以$$m_\mathcal{H}(N)\leqslant B(N, k) \leqslant \sum_{i=0}^{d_{vc}(\mathcal{H})} \binom{N}{i} \leqslant N^{d_{vc}(\mathcal{H})} + 1$$是一個關於 \(N\) 的多項式。
-
動態規划
初始狀態: \(B(N, 1) = 1\);\(k>1\) 時,\(B(1, k) = 2\)
建立遞歸: 將 \((h(\mathbf{x_1}),\cdots,h(\mathbf{x_N}))\) 划分為 \((h(\mathbf{x_1}),\cdots,h(\mathbf{x_{N-1}}))\) 和 \(h(\mathbf{x_N})\) 兩部分。在前一部分僅出現過一次的序列 \(S_1\) 的數目記作 \(\alpha\)。在剩下的 \(B(N,k)- \alpha\) 個序列中,將 \(h(\mathbf{x_{N-1}}) = +1\) 分為一類 \(S_2^+\), \(h(\mathbf{x_{N-1}}) = -1\) 分為一類 \(S_2^-\),容易得知,這兩類里的序列數目相等,記作 \(\beta\)。此時,$$B(N, k)=\alpha+2\beta$$在集合 \(S_1+S_2^+\) 中,在第一部分中不存在可以被 \(\mathcal{H}\) 打散的數目為 \(k\) 的子集,即$$\alpha+\beta \leqslant B(N-1,k)$$在集合 \(S_2^-\) 不存在可以被 \(\mathcal{H}\) 打散的數目為 \(k-1\) 的子集(若存在,則在集合 \(S_2^- + S_2^+\) 中也存在可以被 \(\mathcal{H}\) 打散的數目為 \(k\) 的子集,與初始定義矛盾),即$$\beta \leqslant B(N-1,k-1)$$綜上,$$B(N, k) \leqslant B(N-1, k)+B(N-1, k-1)$$利用動態規划求出:$$B(N, k) \leqslant \sum_{i=0}^{k-1} \binom{N}{i}$$時間復雜度為 \(O(N*k)\),空間復雜度為 \(O( min(N,k) )\)。 -
歸納法
這里直接用歸納法證明上式的正確性。
當 \(k=1\) 或 \(N=1\)時,上式成立。
假設對於所有的 \(N \leqslant N_0\),上式正確。
當 \(N=N_0+1\) 時,\[B(N_0+1,k) \leqslant \sum_{i=0}^{k-1} \binom{N_0}{i} + \sum_{i=0}^{k-2} \binom{N_0}{i} = 1 + \sum_{i=1}^{k-1} \binom{N_0}{i} + \sum_{i=1}^{k-1} \binom{N_0}{i-1} = 1 + \sum_{i=1}^{k-1} \binom{N_0+1}{i} = \sum_{i=0}^{k-1} \binom{N_0+1}{i} \] -
-
用 \(m_\mathcal{H}(N)\) 取代 \(M\)
若用 \(m_\mathcal{H}(N)\) 取代 \(M\),則對應的Hoeffing不等式轉變為VC不等式:$$P{\sup_{h \in \mathcal{H}}|E_{in}(h) - E_{out}(h)|>\epsilon} \leqslant 4m_\mathcal{H}(2N)e^{-\frac{1}{8} \epsilon^2 N}$$給定任意的容忍度\(\delta > 0\),那么至少有 \(1-\delta\) 概率,使得: $$E_{out}(g) \leqslant E_{in}(g) + \sqrt{\frac{8}{N} ln{\frac{4m_\mathcal{H}(2N)}{\delta}}}$$即VC泛化邊界。
盡管比之前的泛化邊界的限定更弱,但只要VC維不是無窮大的,那么泛化誤差最終會收斂於 \(0\)。成長函數作為假設空間的有效大小,取代了假設空間的實際大小 \(M\)。因此,VC泛化邊界確定了無限大小的假設空間上學習的可行性。
二、VC邊界的證明
對於多個假設的情況,
$$P\{\sup_{h \in \mathcal{H}}|E_{in}(h) - E'_{in}(h)|>\frac{\epsilon}{2}\} \geqslant P\{\sup_{h \in \mathcal{H}}|E_{in}(h) - E'_{in}(h)|>\frac{\epsilon}{2} \space and \space\sup_{h \in \mathcal{H}}|E_{in}(h) - E_{out}(h)|>\epsilon\} = P\{\sup_{h \in \mathcal{H}}|E_{in}(h) - E_{out}(h)|>\epsilon\} \times P\{\sup_{h \in \mathcal{H}}|E_{in}(h) - E'_{in}(h)|>\frac{\epsilon}{2} \space | \space\sup_{h \in \mathcal{H}}|E_{in}(h) - E_{out}(h)|>\epsilon\}$$
設 $h^{*}$ 為任意一個滿足 $|E_{in}(h^{*}) - E_{out}(h^{*})|>\epsilon$ 的假設,則
$$P\{\sup_{h \in \mathcal{H}}|E_{in}(h) - E'_{in}(h)|>\frac{\epsilon}{2} \space | \space\sup_{h \in \mathcal{H}}|E_{in}(h) - E_{out}(h)|>\epsilon\} \geqslant P\{|E_{in}(h^{*}) - E'_{in}(h^{*})|>\frac{\epsilon}{2} \space | \space\sup_{h \in \mathcal{H}}|E_{in}(h) - E_{out}(h)|>\epsilon\} \geqslant P\{|E'_{in}(h^{*}) - E_{out}(h^{*})| \leqslant \frac{\epsilon}{2} \space | \space\sup_{h \in \mathcal{H}}|E_{in}(h) - E_{out}(h)|>\epsilon\} \geqslant 1-2e^{-\frac{1}{2} \epsilon^2 N}$$
我們假設 $e^{-\frac{1}{2} \epsilon^2 N} < \frac{1}{4}$(否則,$4m_\mathcal{H}(2N)e^{-\frac{1}{8} \epsilon^2 N}$ 恆大於 $1$,沒有證明的必要里),此時可以得到$$P\{\sup_{h \in \mathcal{H}}|E_{in}(h) - E_{out}(h)|>\epsilon\} \leqslant 2P\{\sup_{h \in \mathcal{H}}|E_{in}(h) - E'_{in}(h)|>\frac{\epsilon}{2}\}$$
-
用成長函數限定最壞情況偏差
一種選取 \(\mathcal{D}\) 和 \(\mathcal{D}'\) 的方法是:首先從輸入空間中隨機地抽取 \(2N\) 個樣本,然后隨機地划分成 \(\mathcal{D}\) 和 \(\mathcal{D}'\),即此時
\[P\{\sup_{h \in \mathcal{H}}|E_{in}(h) - E'_{in}(h)|>\frac{\epsilon}{2}\} = \sum_{S} P\{S\} \times P\{\sup_{h \in \mathcal{H}}|E_{in}(h) - E'_{in}(h)|>\frac{\epsilon}{2} \space | \space S\}\leqslant \sup_{S} P\{\sup_{h \in \mathcal{H}}|E_{in}(h) - E'_{in}(h)|>\frac{\epsilon}{2} \space | \space S\} \]假設 \(M \leqslant m_{\mathcal{H}}(2N)\),則
\[P\{\sup_{h \in \mathcal{H}}|E_{in}(h) - E'_{in}(h)|>\frac{\epsilon}{2} \space | \space S\} = P\{\sup_{h \in \{h_1,\cdots,h_M\}}|E_{in}(h) - E'_{in}(h)|>\frac{\epsilon}{2} \space | \space S\} \leqslant \sum_{i=1}^{M} P\{|E_{in}(h_i) - E'_{in}(h_i)|>\frac{\epsilon}{2} \space | \space S\} \leqslant M \times \sup_{h \in \mathcal{H}} P\{|E_{in}(h) - E'_{in}(h)|>\frac{\epsilon}{2} \space | \space S\} \]綜上,
\[P\{\sup_{h \in \mathcal{H}}|E_{in}(h) - E'_{in}(h)|>\frac{\epsilon}{2}\} \leqslant m_{\mathcal{H}}(2N) \times \sup_{S} \sup_{h \in \mathcal{H}} P\{|E_{in}(h) - E'_{in}(h)|>\frac{\epsilon}{2} \space | \space S\} \] -
限定樣本內偏差
首先引入不放回取樣的Hoeffing不等式
令 \(\mathcal{A} = \{a_1,\cdots,a_{2N}\}\),其中 \(a_i \in [0,1]\),令 \(\mu = \frac{1}{2N} \sum_{i=1}^{2N}a_i\),令 \(\mathcal{D} = {z_1,\cdots,z_N}\) 為一個從 \(\mathcal{A}\) 中不放回隨機取樣而得到的大小為 \(N\) 的樣本,則$$P{|\frac{1}{N}\sum_{i=1}^{N}z_i - \mu| > \epsilon} \leqslant 2e^{-2\epsilon^2N}$$當 \(h(\mathbf{x}_i) \ne y_i\) 時,\(a_i = 1\),否則為 \(0\)。此時$$E_{in}(h) = \frac{1}{N} \sum_{a_i \in \mathcal{D}}a_i \text{, and } E'{in}(h) = \frac{1}{N} \sum{a'i \in \mathcal{D}'}a'i$$ $$\mu = \frac{1}{2N} \sum{i=1}^{2N}a_i = \frac{E{in}(h) + E'{in}(h)}{2}$$
帶入Hoeffing不等式,得$$P{|E{in}(h) - E'_{in}(h)|>2t \space | \space S} \leqslant 2e^{-2t^2N}$$最后,令 \(4t = \epsilon\),得\[P\{|E_{in}(h) - E'_{in}(h)|>\frac{\epsilon}{2} \space | \space S\} \leqslant 2e^{-\frac{1}{8}\epsilon^2N} \]
第三部分
一、泛化邊界的解釋
VC泛化邊界適用於所有的假設集、學習算法、輸入空間、概率分布和二分目標函數。但它是一個非常寬松的邊界。
- 推導過程中適用的Hoeffing不等式本身就是松弛的。
- 為了使我們的VC分析結果獨立於輸入空間 \(\mathcal{X}\) 的概率分布 \(P\), \(m_{\mathcal{H}}(N)\) 給出了在最壞樣本集的情況下的估計。
- 限定 \(m_{\mathcal{H}}(N)\) 時我們簡單地選擇了 \(d_{vc}(\mathcal{H})\) 的多項式。
雖然VC分析得到的泛化邊界很松弛,但它是我們評估無限假設集下學習的可行性的一個依據。對不同的學習模型來說,VC分析有着同樣松弛的邊界,因此我們可以比較不同的模型在同一樣本集下泛化能力的好壞。
-
樣本復雜度
樣本復雜度是指達到我們期望的泛化能力所需要的樣本數目。
給定 \(\delta > 0\),假設我們期望泛化誤差不超過 \(\epsilon\),則$$N \geqslant \frac{8}{\epsilon^2}ln(\frac{4m_{\mathcal{H}}(2N)}{\delta}) \geqslant \frac{8}{\epsilon^2}ln\frac{4((2N)^{d_{vc}}+1)}{\delta}$$\(N\) 和 \(d_{vc}\) 的比例大概是 \(10000:1\),這是一個嚴格的最大界限。在實踐中這一比例大約是 \(10:1\)。
-
對模型復雜度的懲罰項
對模型復雜度的懲罰項,就是給定一個樣本集 \(\mathcal{D}\)(即給定 \(N\))時我們可以期望的泛化能力。$$E_{out}(g) \leqslant E_{in}(g) + \Omega(N, \mathcal{H}, \delta)$$這里的 \(\Omega(N, \mathcal{H}, \delta)\) 就是模型的復雜度的懲罰項。$$\Omega(N,\mathcal{H},\delta)=\sqrt{\frac{8}{N} ln{\frac{4m_\mathcal{H}(2N)}{\delta}}} \leqslant \sqrt{\frac{8}{N} ln{\frac{4((2N)^{d_{vc}}+1)}{\delta}}}$$因此,我們需要一個權衡:模型復雜度的增長會降低 \(E_{in}\) 但增加 \(\Omega(N,\mathcal{H},\delta)\)。一個理想的模型應該是使最小化這兩項的組合。
-
測試集
盡管我們的VC分析是基於二分目標函數的,但我們可以把它擴大到其他類型的目標函數,甚至是回歸目標函數。
二、近似-泛化權衡 Approximation-Generalization Tradeoff
在 \(\mathcal{H}\) 上選擇的假設,既要在樣本集上近似地接近目標函數 \(f\) ,又要在新的數據集上具有較好的泛化能力。
VC泛化邊界提供了考慮權衡的一種方法。如果 \(\mathcal{H}\) 太簡單,我們可能無法在樣本集上近似地接近目標函數,即無法得到一個較小的 \(E_{in}\)。如果 \(\mathcal{H}\) 太復雜,我們可能得到一個泛化能力較差的假設。
而偏差-方差分析提供給我們另一種方法來看待近似-泛化權衡問題。
VC分析基於0-1誤差計算,用 \(E_{in}\) 加上一個懲罰項 \(\Omega\) 來限定 \(E_{out}\)。而偏差方差分析中基於平方誤差計算,將 \(E_{out}\) 分解為兩個不同的部分。此時,樣本外誤差為$$E_{out}(g^{(\mathcal{D})}) = E_{\mathbf{x}}[(g^{(\mathcal{D})}(\mathbf{x}) -f(\mathbf{x}))^2]$$可見,我們的最終假設依賴於樣本集 \(\mathcal{D}\)。要想不依賴於某個樣本集,我們可以計算所有數據集的期望
用 \(\overline{g}(\mathbf{x})\) 來表示 \(E_{\mathcal{D}}[(g^{(\mathcal{D})}(\mathbf{x})]\),則
- \(bias(\mathbf{x}) = (\overline{g}(\mathbf{x})-f(\mathbf{x}))^2\) 表示我們使用不同的樣本集學習而得到的平均假設與目標函數的偏差。由於 \(\overline{g}(\mathbf{x})\) 不受樣本集的限制,因此偏差值僅受學習模型本身的限制。
- \(var(\mathbf{x}) = E_{\mathcal{D}}[(g^{(\mathcal{D})}(\mathbf{x})-\overline{g}(\mathbf{x}))^2]\) 表示基於不同樣本集得到的假設與平均假設之間的差異程度。
綜上,我們將樣本外誤差分解為:$$E_{\mathcal{D}}[{E_{out}(g^{(\mathcal{D})})}] = E_{\mathbf{x}}[bias(\mathbf{x})+var(\mathbf{x})] = bias+var$$我們的推導過程忽略了數據的噪聲,雖然噪聲是不可避免的,但我們關心的主要是偏差和方差。
使用偏差方差分解方法來看待近似-泛化權衡
偏差方差分解只是一個理論觀點,在實際問題中,我們沒有產生 \(\overline{g}(\mathbf{x})\) 的多個樣本集。我們只有一個樣本集,因此較簡單的模型(\(\mathcal{H}\) 較簡單)可能會產生一個較小的樣本外誤差。但是,隨着 \(N\) 的增加, \(var\) 會逐漸減小,此時 \(bias\) 是 \(E_{out}\) 的主要組成,較復雜的模型(\(\mathcal{H}\) 較復雜)的表現會更好。
與VC分析的一些差異
- 在VC分析中, \(E_{out}\) 被認為是 \(E_{in}\) 和 以 \(\Omega(N,\mathcal{H},\delta)\) 為上界的泛化誤差的和。在偏差方差分析里中,\(E_{out}\) 被看作是偏差和方差的和。不過,隨着樣本數的增多,不管是泛化誤差還是方差,都在降低。
- VC分析獨立於學習算法 \(\mathcal{A}\),而偏差方差分析中,假設空間 \(\mathcal{H}\) 和 \(\mathcal{A}\) 都對結果產生影響。相同的 \(\mathcal{H}\) 下,不同的 \(\mathcal{A}\) 將產生不同的 \(g^{(\mathcal{D})}\),最終產生不同的偏差和方差。
- VC分析要求最小化樣本集的0-1誤差(即 \(E_{in}\))。而盡管偏差方差分析是基於平方誤差計算,但是學習算法並不一定是采取最小化平方誤差的策略來產生 \(g^{(\mathcal{D})}\)。不過,一旦產生 \(g^{(\mathcal{D})}\),我們就用平方誤差法來計算 \(g^{(\mathcal{D})}\) 的偏差和方差。
三、補充:誤差和噪聲
-
誤差測量
總體誤差:\(E(h,f)\),每一個點的誤差:\(e(h(\mathbf{x}),f(\mathbf{x}))\)。\(E(h,f)\)可以是每一個點的誤差和的平均值,也可以是用戶自定義的函數。在之前的討論中,$$E_{in}(h) = \frac{1}{N} \sum_{i=1}^{N}e(h(\mathbf{x}i),f(\mathbf{x}i))$$$$E{out}(h) = E{\mathbf{x}}[e(h(\mathbf{x}),f(\mathbf{x}))]$$有兩種類型的誤差:錯誤接受(
false accept
)和錯誤拒絕(false reject
)。誤差測量的方式應該取決於我們設計的系統的用途。我們根據FA和FR兩者不同錯誤成本(也可以稱作權重),來考慮不同的算法設計策略。 -
噪聲目標
目標函數不一定是一個函數,數據總是在存在噪聲的情況下生成。因此,我們不使用函數 \(y =f(\mathbf{x})\),而是選擇概率分布 \(P\{y|\mathbf{x}\}\)。即 \((\mathbf{x},y)\) 由聯合概率分布 \(P\{y|\mathbf{x}\}P\{\mathbf{x}\}\) 獨立生成。
此時,噪聲目標就等於確定性目標 \(f(\mathbf{x})\) 加上噪聲部分 \(y-f(\mathbf{x})\)。通常來說,我們對學習可行性的分析,適用於噪聲目標。
后記
本文是筆者在學習加州理工學院公開課-機器學習與數據挖掘時的一些筆記。
后來閱讀了配套教材《Learning From Data》,將該書所介紹的學習可行性的推導證明進行了整理。