一、大數定律:
大數定律是概率論中的一個基本定理,其核心思想是:當獨立重復的隨機試驗次數足夠大時,樣本的平均值會趨近于該隨機變量的期望值。下面從直觀和數學兩個角度來說明這一概念:
1. 直觀理解
-
重復試驗的穩定性:
設想你不斷地拋擲一枚公平的硬幣,每次記錄正面出現的概率(記為1)和反面(記為0)。雖然單次拋擲的結果是隨機的,但如果你拋擲很多次,正面出現的比例會越來越接近于理論概率0.5。這就是大數定律的直觀含義:隨著試驗次數的增加,實際觀察到的平均值(例如正面出現的比例)會趨向于理論上的預期值(0.5)。 -
穩定的長期平均:
類似地,若你測量一個隨機現象(例如每日的氣溫、股票的收益率等),雖然每天的數值可能波動較大,但經過足夠多天的平均計算后,這個平均值會越來越接近于隨機現象的真實均值。
2. 數學表述
大數定律有兩種常見形式:
-
弱大數定律:
這意味著“以概率收斂”。
-
強大數定律:
在更強的意義上,強大數定律說明樣本平均值幾乎必然收斂到期望值:也就是說,對于幾乎所有可能的試驗序列,樣本平均最終都會收斂到 μ\mu。
3. 應用舉例
擲骰子例子:
假設你有一枚公平的六面骰子,每個面分別標有1到6。其數學期望為:
- 如果你只擲一次,結果可能是3、4或其他任何數字,和期望值3.5相差較大。
- 當你擲 100 次后,將這100次結果的平均值計算出來,平均值會接近于3.5。
- 隨著擲骰子次數不斷增加(例如達到幾千、幾萬次),平均值會越來越接近3.5,最終趨于穩定。這正是大數定律所描述的現象。
4. 總結
大數定律告訴我們,通過大量重復試驗,我們可以獲得穩定的長期平均結果,這個平均結果將非常接近理論上的數學期望。這一原理為統計推斷和許多實際應用(如質量控制、金融風險評估等)提供了理論基礎和保證。
二、PAC 學習理論
要確定一種學習方法是否為PAC可學習,我們需要證明:
- 對任意 ?和 δ,算法都能以至少 1?δ 的概率輸出錯誤率低于 ? 的假設,
- 而所需樣本量是 1/? 和 1/δ 及模型復雜度的多項式函數。
這種理論框架為我們提供了在數據足夠多時,學習算法能夠在理論上保證近似正確性的數學保證。
當使用機器學習方法來解決某個特定問題時,通常靠經驗或者多次試驗來 選擇合適的模型、訓練樣本數量以及學習算法收斂的速度等。但是經驗判斷或 多次試驗往往成本比較高,也不太可靠,因此希望有一套理論能夠分析問題難 度、計算模型能力,為學習算法提供理論保證,并指導機器學習模型和學習算法 的設計,這就是計算學習理論。
計算學習理論(Computational Learning The- ory)是機器學習的理論基礎,其中最基礎的理論就是可能近似正確(Probably Approximately Correct,PAC)學習理論.
1、基本概念
一個PAC 可學習(PAC-Learnable)的算法:能夠在多項式時間內從合理數量的訓練數據中學習到一個近似正確的 𝑓(𝒙).
即:在給定足夠樣本的前提下,模型能以高概率達到預期的低錯誤率
-
“近似正確”:
模型可能不會完全正確,但只要錯誤率低于一個我們可以容忍的閾值 ?(比如5%),就認為模型是近似正確的。 -
“可能”:
我們不能保證每次訓練都能得到近似正確的模型,但可以通過足夠多的樣本和合適的算法,保證模型以至少 1?δ 的概率(例如99%)達到錯誤率小于 ?。 -
樣本復雜度:
PAC理論還告訴我們,為了達到這種可能近似正確的效果,需要的樣本數量是多項式級別的(依賴于 1/?? 和 1/δ?)。這給出了一個理論上的數據要求。
2、上文提到的“需要的樣本數量是多項式級別的”如何理解?
在 PAC 學習理論中,“需要的樣本數量是多項式級別的”意味著,為了使學習算法以至少 1?δ?的概率達到誤差不超過 ? 的性能,所需的訓練樣本數量 m?可以被一個關于 1/?、1/δ?以及問題復雜度(如 VC 維度)的多項式函數上界。例如,理論上我們可能證明:
這表示當我們要求更高的準確性(即 ?越小)或更高的置信度(即 δ 越小)時,所需的樣本數不會呈指數級增長,而是以多項式形式增長,從而在實際中通常是可接受且計算上可行的。
直觀理解:
-
多項式增長 vs. 指數增長:
如果樣本數量隨著精度要求的提高是指數級增長,那么即使要求稍微高一點的精度,也可能需要天文數字級別的樣本,這在現實中幾乎是不可能實現的。而多項式增長則說明樣本數量的增長是相對“溫和”的,比如如果 ? 變為原來的一半,所需樣本數量可能增加到原來的幾倍,而不是指數級別的增長。 -
可學習性保證:
多項式級別的樣本復雜度是 PAC 學習理論中可學習性的一個重要標志。這意味著,只要樣本數量滿足這個多項式上界,我們就能以高概率獲得一個近似正確的模型。這給了我們理論保證:在實際問題中,只要數據量足夠,算法就能學得足夠好。
舉例說明:
3、如何理解多項式、多項式級別、多項式時間?
這里要徹底理解PAC的概念,就必須弄清楚”樣本復雜度“為什么強調“需要的樣本數量是多項式級別的”,而不是指數級的。下面我們深入理解一下多項式的概念。
-
多項式
- 定義:
數學上,多項式是由變量的不同冪次項和常數系數組成的表達式。例如,函數就是關于變量 n?的一個多項式。
- 直觀理解:
多項式可以看作是變量的冪次的加權求和,描述了一個數值隨變量變化的規律。
- 定義:
-
多項式級別
- 定義:
當我們說某個量的增長是“多項式級別”的,意思是它隨問題規模或參數變化的增長速度可以用一個多項式函數來描述,而不是更快的(例如指數級)的增長。 - 直觀理解:
例如,在機器學習中,如果某個問題的樣本復雜度是多項式級別的,意味著隨著精度要求(如 1/? 或 1/δ)的提高,所需要的樣本數增長速度是 O((1/?)^k)(其中 k?是常數),而不是 2^{1/?} 這樣指數式增長。多項式級別的增長通常認為是“合理”且計算上可行的。
- 定義:
-
多項式時間
- 定義:
在計算復雜度理論中,多項式時間指的是一個算法的運行時間上界可以表示為輸入規模 n 的某個多項式函數,比如 O(n^2) 或 O(n^3)。 - 直觀理解:
如果一個算法在最壞情況下的運行時間是多項式時間,那么當輸入規模增加時,運行時間不會爆炸式增長。這種算法被認為是高效且實用的,與之對比的是指數時間算法,其運行時間會隨著輸入規模呈指數增長,通常難以在大規模問題中應用。
- 定義:
? ? 總結:
- 多項式:一種數學表達式,如
- 多項式級別:描述增長速度,可以用多項式函數表示的增長,例如樣本復雜度隨參數的多項式增長。
- 多項式時間:算法運行時間隨輸入規模呈多項式增長,表明算法是高效的。
這些概念在理論和實際中都非常重要,因為它們幫助我們評估和設計可行且高效的算法與系統。
4、簡單例子:垃圾郵件分類
假設我們要構建一個垃圾郵件分類器,我們希望它在預測時錯誤率不超過5%(?=0.05\epsilon = 0.05?=0.05),并且希望這種效果在99%的情況下成立(δ=0.01\delta = 0.01δ=0.01)。
-
任務描述:
給定一批郵件(數據集),每封郵件都有標注(垃圾郵件或正常郵件)。我們訓練一個分類器來判斷郵件是否為垃圾郵件。 -
PAC觀點:
根據PAC理論,只要我們收集的郵件樣本足夠多(樣本數量達到理論上需要的多項式級別),我們的分類器就能在至少99%的概率下(即失敗概率小于1%)實現錯誤率低于5%的近似正確分類。 -
直觀理解:
這就像是我們做一個測驗,只要考生做足夠多的題目,最終得分會穩定在一個接近真實能力的水平。這里,“足夠多的題目”對應的是樣本量,“接近真實能力”對應的是分類器的低錯誤率,而“99%的概率”則說明大多數情況下(偶爾可能由于運氣不好,模型表現稍差,但概率極低),我們的模型都能達到這個標準。
5、關于PAC需要特別注意
PAC學習理論為我們提供了一個理想化的框架,用來描述在一定條件下(如數據獨立同分布、假設空間復雜度受控等),算法能夠以高概率學習到近似正確模型的情況。但這并不意味著所有的學習問題都能滿足PAC學習理論的條件。具體來說:
-
假設條件限制:PAC理論要求訓練數據滿足獨立同分布(i.i.d.),并且模型的假設空間(例如由VC維度度量)不能太復雜。對于一些實際問題,數據可能存在依賴性或噪聲模型復雜度較高,這時就不一定能嚴格滿足PAC理論的假設。
-
應用范圍局限:PAC理論主要適用于監督學習中的分類和回歸問題,而對于在線學習、強化學習、半監督學習等其他學習范式,PAC框架可能不完全適用或需要擴展。
-
理論與實際的差距:雖然PAC理論為我們提供了理論上的可學習性保證和樣本復雜度上界,但實際問題中往往會遇到一些違反理論假設的情況。因此,有些學習算法在實踐中表現良好,但它們可能不滿足PAC理論中的所有嚴格條件。
PAC學習理論是一種非常重要且有用的理論工具,但它描述的是在特定條件下學習算法的行為,并不覆蓋所有學習問題的情形。實際應用時,我們需要根據具體問題的特點和數據的性質,判斷是否可以借助PAC理論來解釋和預測算法的學習性能。
三、這里我們附加理解一下VC 維度的概念
1、“Vapnik–Chervonenkis Dimension”這個術語由三部分組成:
-
Vapnik 和 Chervonenkis:
這兩個詞都是人名,分別來自數學家 Vladimir Vapnik 和 Alexey Chervonenkis。他們是統計學習理論的重要奠基人,特別是在模式識別和機器學習領域做出了開創性貢獻。 -
Dimension:
英文中“dimension”意思是“維度”,在這里表示一種度量標準,用來衡量一個假設空間(模型的集合)的復雜性或表達能力。
2、定義:
- 簡單來說,VC 維度表示一個模型能夠“打散”(shatter)數據點的最大數量。
- “打散”意味著模型可以針對某組數據點實現任意的二分類標簽組合。
-
VC 維度(Vapnik–Chervonenkis Dimension)是用來衡量一個假設空間(即模型的可能函數集合)復雜度的指標。
3、意義:
- 如果一個模型的 VC 維度越大,表示它的表達能力越強,能夠擬合更復雜的數據模式,但同時也更容易過擬合。
- VC 維度在 PAC 學習理論中起著重要作用,通常用于描述模型的樣本復雜度(即需要多少樣本才能保證模型以高概率達到近似正確)。
4、例子:
- 在二維平面上,線性分類器(直線)能打散的最大點數是3(VC 維度為3)。這意味著存在一些三點配置(非共線的三個點),線性分類器可以通過選擇不同的直線對這三個點實現任意分類,但對于4個點就無法總是實現任意分類。
- 而更復雜的模型(如決策樹或神經網絡)可能具有更高的 VC 維度,能打散更多的點,但這也意味著它們需要更多的訓練樣本來避免過擬合。
5、對上面例子的解釋:
VC 維度(Vapnik–Chervonenkis Dimension)直觀上反映了一個分類器(或假設空間)的“表達能力”——也就是它能夠用來實現任意二分類的樣本點的最大數量。如果一個模型可以對某個點集的所有可能標簽組合都找到對應的分類邊界,則稱該模型能“打散”(shatter)這個點集,而 VC 維度就是能被打散的最大點數。
為什么二維平面上直線的 VC 維度是 3?
-
打散定義:
對于一個給定的點集,如果對于這個點集的每一種可能的二分類標簽(即每個點被標為正或負),都存在一條直線能夠將正類與負類完全分開,則稱這個點集可以被直線打散。 -
三點情況:
在二維平面中,假設你有3個非共線的點。無論這3個點如何被標記(共有 23=82^3=8 種可能的標記組合),都能找到一條直線將它們按照給定標簽分開。直線在二維平面上的靈活性足以實現這種任意分割,因此直線能打散任意3個非共線的點。 -
四點情況:
當點的數量增加到 4 時,并非所有可能的4點配置都能被直線打散。舉個常見的例子,當4個點呈凸四邊形分布時,假設有一種標簽組合:把對角線上兩個點標記為正類,另外兩個標記為負類。對于這種情況,不存在一條直線能夠同時將正類和負類完全分離。也就是說,直線無法實現所有4點上 24=162^4=16 種可能的分類,因此直線的 VC 維度就限定在 3。
總結:
- VC 維度是衡量模型能“打散”多少個點的指標。
- 在二維平面中,直線能夠打散任意3個非共線的點,但對于4個點總會存在至少一種標簽組合無法分割,所以直線的 VC 維度是 3。
這種直觀理解幫助我們認識到,不同模型的復雜度和表達能力存在差異,VC 維度就是其中一個衡量工具。在實際應用中,VC 維度越大,模型理論上就有更強的擬合能力,但也可能更容易過擬合,需要更多的數據來控制模型復雜度。