机器学习理论-PAC learning
對于一個機(jī)器學(xué)習(xí)任務(wù),通常需要考慮它是不是可學(xué)的 (learnable)
PAC學(xué)習(xí)給出了一個抽象的刻畫機(jī)器學(xué)習(xí)能力的框架,基于這個框架,有很多重要問題可以探討,例如: 某任務(wù)在什么樣的條件下可學(xué)得較好的模型? 某算法在什么條件下可以進(jìn)行有效的學(xué)習(xí)? 需要多少訓(xùn)練樣本才能獲得較好的模型?
基本概念
給定樣本集 D={(x1,y1),(x2,y2),...(xm,ym)}D=\{ (\pmb{x_1}, y_1), (\pmb{x_2}, y_2), ...(\pmb{x_m}, y_m)\}D={(x1??x1???x1?,y1?),(x2??x2???x2?,y2?),...(xm??xm???xm?,ym?)}, yi∈{?1,+1}=Yy_i \in \{-1, +1\} = \mathcal{Y}yi?∈{?1,+1}=Y, xi∈Xx_i \in \mathcal{X}xi?∈X,DDD中所有的樣本都是獨(dú)立同分布從D\mathcal{D}D采樣而得。
令hhh為從X\mathcal{X}X到Y\mathcal{Y}Y的一個映射, 其泛化誤差(generalization error)為:
E(h;D)=P(x,y)~D(h(x)≠y)=E(x,y)~D[I[h(x)≠y]]E(h; \mathcal{D}) = P_{(x, y) \sim \mathcal{D}}(h(x) \neq y) = E_{(x,y) \sim \mathcal{D}}[I[h(x) \neq y]]E(h;D)=P(x,y)~D?(h(x)?=y)=E(x,y)~D?[I[h(x)?=y]]
hhh在DDD上的經(jīng)驗(yàn)誤差(empirical error)為:
E^(h;D)=1m∑1mI(h(xi)≠yi)\hat{E}(h;D)=\frac{1}{m}\sum_1^mI(h(x_i)\neq y_i)E^(h;D)=m1?1∑m?I(h(xi?)?=yi?)
由于DDD是D\mathcal{D}D的獨(dú)立同分布采樣,所以hhh經(jīng)驗(yàn)誤差的期望等于泛化誤差。令?\epsilon?為E(h)E(h)E(h)的上限,即E(h)≤?E(h) \leq \epsilonE(h)≤?。 通常用?\epsilon?表示模型應(yīng)滿足的誤差要求,稱為誤差參數(shù).
令ccc表示概念, 它是從樣本空間 X\mathcal{X}X 到標(biāo)記空間 Y\mathcal{Y}Y的映射。若任何樣本(x,y)(x, y)(x,y), 有c(x)=yc(x)=yc(x)=y, 則稱ccc為目標(biāo)概念。所有目標(biāo)概念所組成的集合稱為 概念類C\mathcal{C}C
給定學(xué)習(xí)算法 L\mathcal{L}L,它考慮所有可能的假設(shè)空間H\mathcal{H}H. 假設(shè)空間是對于學(xué)習(xí)算法最大能力的整體刻畫。假設(shè)空間給定了算法所有可能的映射函數(shù)。若目標(biāo)概念c∈Hc \in \mathcal{H}c∈H, 則H\mathcal{H}H存在假設(shè)能將所有樣本正確分開,稱該學(xué)習(xí)問題對假設(shè)空間是可分的 (separable); 若c?Hc \notin \mathcal{H}c∈/?H, 則稱假設(shè)空間不存在任何假設(shè)能將所有樣本完全正確分開,稱該學(xué)習(xí)問題對假設(shè)空間是不可分的 (non-separable)
PAC learning
PAC learning(Probably Approximately Correct)是關(guān)于機(jī)器學(xué)習(xí)可學(xué)性的完整的理論。解釋一下這個名字的由來:
PAC Identify (PAC 辨識): 對于?>0,δ<1\epsilon > 0, \delta<1?>0,δ<1, 所有c∈Cc\in \mathcal{C}c∈C和分布D\mathcal{D}D, 若存在學(xué)習(xí)算法L\mathcal{L}L, 其輸出假設(shè)h∈Hh\in \mathcal{H}h∈H滿足:
P(E(h)≤?)≥1?δP(E(h) \leq \epsilon) \geq 1-\deltaP(E(h)≤?)≥1?δ
則稱學(xué)習(xí)算法L\mathcal{L}L能從假設(shè)空間中PAC辨識概念類C\mathcal{C}C
PAC learnable (PAC 可學(xué)): 令mmm表示從分布D\mathcal{D}D獨(dú)立同分布采樣得到樣本的數(shù),?>0,δ<1\epsilon > 0, \delta<1?>0,δ<1, 對所有分布D\mathcal{D}D,若存在學(xué)習(xí)算法 L\mathcal{L}L和多項(xiàng)式函數(shù)poly()poly()poly(),使得對于任何m>=poly(1/?,1/δ,size(x),size(c))m >= poly(1/\epsilon, 1/\delta, size(x), size(c))m>=poly(1/?,1/δ,size(x),size(c)), L\mathcal{L}L能從假設(shè)空間H\mathcal{H}H中PAC identify 概念類 C\mathcal{C}C, 就稱概念類C\mathcal{C}C是PAC可學(xué)的
Agnostic PAC Learnable (不可知PAC可學(xué)):令mmm表示從分布D\mathcal{D}D獨(dú)立同分布采樣得到樣本的數(shù),?>0,δ<1\epsilon > 0, \delta<1?>0,δ<1, 對所有分布D\mathcal{D}D,若存在學(xué)習(xí)算法 L\mathcal{L}L和多項(xiàng)式函數(shù)poly()poly()poly(),使得對于任何m>=poly(1/?,1/δ,size(x),size(c))m >= poly(1/\epsilon, 1/\delta, size(x), size(c))m>=poly(1/?,1/δ,size(x),size(c)), L\mathcal{L}L能從假設(shè)空間中輸出滿足如下的假設(shè)hhh:
P(E(h)?minh′∈HE(h′)≤?)>=1?δP(E(h) - \underset{h'\in\mathcal{H}}{min} E(h') \leq \epsilon) >= 1 - \deltaP(E(h)?h′∈Hmin?E(h′)≤?)>=1?δ
PAC Learning Algorithm(PAC學(xué)習(xí)算法): 若學(xué)習(xí)算法L\mathcal{L}L使概念類C\mathcal{C}C為PAC可學(xué), 且L\mathcal{L}L的時(shí)間復(fù)雜度也是多項(xiàng)式函數(shù)poly(1/?,1/δ,size(x),size(c))poly(1/\epsilon, 1/\delta, size(x), size(c))poly(1/?,1/δ,size(x),size(c)), 則稱概念類CCC是高效PAC可學(xué)的,L\mathcal{L}L稱概念類CCC的PAC學(xué)習(xí)算法
(Sample Complexity)樣本復(fù)雜度: 滿足PAC學(xué)習(xí)算法L\mathcal{L}L所需的最小樣本數(shù)量m>=poly(1/?,1/δ,size(x),size(c))m >= poly(1/\epsilon, 1/\delta, size(x), size(c))m>=poly(1/?,1/δ,size(x),size(c)), L\mathcal{L}L稱為學(xué)習(xí)算法L\mathcal{L}L的樣本復(fù)雜度
對于較為困難的學(xué)習(xí)問題,目標(biāo)概念ccc往往不存在于假設(shè)空間H\mathcal{H}H中,也就是對于任何h∈H,E^(h)≠0h \in \mathcal{H}, \hat{E}(h) \neq 0h∈H,E^(h)?=0, 也就是H\mathcal{H}H任意一個假設(shè)都會在訓(xùn)練集出現(xiàn)或多或少的錯誤。
先給出Hoeffding不等式: 給定mmm個取值為[0,1][0,1][0,1]的獨(dú)立的隨機(jī)變量x1,x2,...,xmx_1, x_2,...,x_mx1?,x2?,...,xm?, 對任意?>0\epsilon>0?>0, 有如下等式成立:
P(∣1m∑i=1mxi?1m∑i=1mE(xi)∣≥?)≤exp(?2m?2))P(|\frac{1}{m}\sum_{i=1}^mx_i-\frac{1}{m}\sum_{i=1}^mE(x_i)| \geq \epsilon ) \leq exp(-2m \epsilon^2))P(∣m1?i=1∑m?xi??m1?i=1∑m?E(xi?)∣≥?)≤exp(?2m?2))
根據(jù)Hoeffding不等式,有如下引理:若訓(xùn)練集DDD中包含mmm個從分布D\mathcal{D}D上獨(dú)立同分布采樣而得到的樣本,0<?<10< \epsilon <10<?<1, 則對于任意 h∈Hh \in \mathcal{H}h∈H 有:
P(E^(h)?E(h)≥?)≤exp(?2m?2)P(\hat{E}(h) - E(h) \geq \epsilon) \leq exp(-2m \epsilon^2)P(E^(h)?E(h)≥?)≤exp(?2m?2)P(E(h)?E^(h)≥?)≤exp(?2m?2)P(E(h) - \hat{E}(h) \geq \epsilon) \leq exp(-2m \epsilon^2)P(E(h)?E^(h)≥?)≤exp(?2m?2)P(∣E^(h)?E(h)∣≥?)≤2exp(?2m?2)P(|\hat{E}(h) - E(h)| \geq \epsilon) \leq 2exp(-2m \epsilon^2)P(∣E^(h)?E(h)∣≥?)≤2exp(?2m?2)
同樣的,可以證明:若訓(xùn)練集DDD中包含mmm個從分布D\mathcal{D}D上獨(dú)立同分布采樣而得到的樣本,則對于任意 h∈Hh \in \mathcal{H}h∈H , 下式至少以 1?δ1- \delta1?δ 成立. (只需要令δ=2exp(?2m?2)\delta = 2exp(-2m\epsilon^2)δ=2exp(?2m?2)即可證明)
E^(h)?12mln2δ<E(h)<E^(h)+12mln2δ\hat{E}(h) - \sqrt{\frac{1}{2m}ln\frac{2}{\delta}} < E(h) < \hat{E}(h) + \sqrt{\frac{1}{2m}ln\frac{2}{\delta}}E^(h)?2m1?lnδ2??<E(h)<E^(h)+2m1?lnδ2??
該引理表面,當(dāng)樣本數(shù)目mmm較大時(shí), hhh的經(jīng)驗(yàn)誤差可以看成其泛化誤差很好的近似
需要指出的是, PAC是一種分布無關(guān)的理論模型,因?yàn)樗鼘Ψ植?span id="ze8trgl8bvbq" class="katex--inline">D\mathcal{D}D沒有任何假設(shè),D\mathcal{D}D可以是任何分布,但是訓(xùn)練集和測試集必須來自同一個分布。另外PAC考慮的是針對某個概念類 C\mathcal{C}C而不是特定概念的可學(xué)性,目標(biāo)概念 c∈Cc \in Cc∈C對于學(xué)習(xí)算法是未知的。
PAC學(xué)習(xí)中一個關(guān)鍵因素是假設(shè)空間H\mathcal{H}H的復(fù)雜度。H\mathcal{H}H越大,包含目標(biāo)概念的可能性越大,但找到某個具體目標(biāo)概念的難度也越大。 H\mathcal{H}H有限時(shí),稱H\mathcal{H}H為有限假設(shè)空間;否則為無限假設(shè)空間。有限假設(shè)空間可以用概念個數(shù)來衡量其復(fù)雜度;無限假設(shè)空間的復(fù)雜度需要一些特別的技術(shù) (VC維)。
PAC可學(xué)考慮的是學(xué)習(xí)算法L\mathcal{L}L輸出假設(shè)的泛化誤差與最優(yōu)假設(shè)泛化誤差之間的差別,由于其真實(shí)分布未知,通常無法計(jì)算。不過由于經(jīng)驗(yàn)誤差和泛化誤差有密切聯(lián)系,可以借助經(jīng)驗(yàn)誤差進(jìn)行比較。
泛化界
對于一個學(xué)習(xí)算法來說,判斷其性能好壞的依據(jù)是泛化誤差,即學(xué)習(xí)算法在未知數(shù)據(jù)上的預(yù)測能力。對于假設(shè)空間H\mathcal{H}H, 可以分為有限假設(shè)空和無限假設(shè)空間,根據(jù)目標(biāo)概念c\mathcal{c}c是否在H\mathcal{H}H中可以分為 可分情形 和 不可分情形
我們來分別討論一下。
泛化誤差上界
有限假設(shè)空間
可分情形
對于可分的有限假設(shè)空間H\mathcal{H}H, 目標(biāo)概念c∈Hc \in \mathcal{H}c∈H, 任何在訓(xùn)練集上犯錯的假設(shè)都不是要找的目標(biāo)概念,因此可以提出這些在訓(xùn)練集上出錯的假設(shè),留下與訓(xùn)練集一致的假設(shè)。如果訓(xùn)練集足夠大,最終剩下的假設(shè)一定會很少,從而能以較大的概率找到目標(biāo)概念的近似。實(shí)際中訓(xùn)練集往往是有限的,所有會剩下不止一個與訓(xùn)練集一致的假設(shè)。在PAC學(xué)習(xí)理論中,只要訓(xùn)練集DDD的大小能使學(xué)習(xí)算法L\mathcal{L}L至少以1?δ1 - \delta1?δ的概率找到目標(biāo)近似即可。當(dāng)H\mathcal{H}H為可分的有限假設(shè)空間時(shí),有下面的不等式成立
令H\mathcal{H}H為可分的有限假設(shè)空間,DDD為從D\mathcal{D}D獨(dú)立同分布采樣得到的大小為mmm的訓(xùn)練集,學(xué)習(xí)算法L\mathcal{L}L基于訓(xùn)練集DDD輸出與訓(xùn)練集一致的假設(shè)h∈Hh \in \mathcal{H}h∈H, 對于 ?>0,δ<1\epsilon > 0, \delta < 1?>0,δ<1, 若m≥1?(ln∣H∣+ln1δ)m \geq \frac{1}{\epsilon}(ln|\mathcal{H}| + ln\frac{1}{\delta})m≥?1?(ln∣H∣+lnδ1?), 有
P(E(h)≤?)≥1?δP(E(h) \leq \epsilon) \geq 1 - \deltaP(E(h)≤?)≥1?δ
這表明H\mathcal{H}H為可分的有限假設(shè)空間時(shí),學(xué)習(xí)算法輸出的泛化誤差依賴于假設(shè)空間的大小∣H∣|\mathcal{H}|∣H∣和訓(xùn)練集的大小mmm。 隨著訓(xùn)練集的樣本數(shù)目逐漸增加,泛化誤差的上界逐漸趨近于0, 收斂率為 O(1m)O(\frac{1}{m})O(m1?)
不可分情形
不可分情形中,目標(biāo)概念不在假設(shè)空間中,即假設(shè)空間中的每個假設(shè)都會或多或少的出現(xiàn)分類錯誤,我們的目標(biāo)則是希望找到假設(shè)空間中泛化誤差最小假設(shè)的?\epsilon?近似。對于學(xué)習(xí)算法的輸出假設(shè)hhh來說,泛化誤差是在未見數(shù)據(jù)上的預(yù)測能力,但是在訓(xùn)練集上的經(jīng)驗(yàn)誤差是直接可以觀察到的。當(dāng)訓(xùn)練集中樣本數(shù)目較大時(shí),hhh的經(jīng)驗(yàn)誤差時(shí)泛化誤差的較好近似。
令H\mathcal{H}H為可分的有限假設(shè)空間,DDD為從D\mathcal{D}D獨(dú)立同分布采樣得到的大小為mmm的訓(xùn)練集,h∈Hh \in \mathcal{H}h∈H, 對于 ?>0,0<δ<1\epsilon > 0, 0<\delta < 1?>0,0<δ<1, 有
P(∣E(h)?E^(h)∣≤ln∣H∣+ln(2/δ)2m)≥1?δP(|E(h) - \hat{E}(h)| \leq \sqrt{\frac{ln|\mathcal{H}| + ln(2/\delta)}{2m}}) \geq 1 - \deltaP(∣E(h)?E^(h)∣≤2mln∣H∣+ln(2/δ)??)≥1?δ
這表明H\mathcal{H}H為不可分的有限假設(shè)空間時(shí),學(xué)習(xí)算法輸出的泛化誤差依賴于假設(shè)空間的大小∣H∣|\mathcal{H}|∣H∣和訓(xùn)練集的大小mmm。 隨著訓(xùn)練集的樣本數(shù)目逐漸增加,收斂率為 O(1m)O(\frac{1}{\sqrt m})O(m?1?)
無限假設(shè)空間
對于無限假設(shè)空間,需要從VC維和Rademacher復(fù)雜度的角度來分析泛化誤差界
有限VC維假設(shè)空間的泛化誤差
對于有限VC維的假設(shè)空間,泛化誤差的收斂率與VC維的大小有關(guān),VC維越大,假設(shè)空間越復(fù)雜,泛化誤差收斂率越慢.
基于Rademacher復(fù)雜度的泛化誤差界
泛化誤差下界
可分情形
不可分情形
總結(jié)
以上是生活随笔為你收集整理的机器学习理论-PAC learning的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nmap 基本使用方法
- 下一篇: 由互斥事件和独立事件谈if语句(if-e