1. 程式人生 > >【ML學習筆記】8:PAC可能近似正確

【ML學習筆記】8:PAC可能近似正確

簡述

PAC的意思

Probably Approximate Correct直譯過來就是”可能近似正確”,這裡面用了兩個描述”正確”的詞,可能和近似。
“近似”是在取值上,只要和真實值的偏差小於一個足夠小的值就認為”近似正確”;”可能”是在概率上,即只要”近似正確”的概率足夠大就認為”可能近似正確”。
這裡寫圖片描述

泛化誤差隨學習複雜性變大

上節查漏補缺中瞭解到了,如果訓練集不是很大,也就是用來給學習機器學習的樣本數量比較有限的情況下,如果過於追求讓經驗風險小,學習複雜性太高,會導致過學習現象,也就是學習出來的模型的推廣能力變差,這可以用泛化誤差變大來表徵。

機器學習所做的事情

先看看到現在為止理解的,機器學習所做的事情是,從假設空間

(暫時理解成要選擇的函式集/模型集)中選取一個假設(暫時理解成函式/模型),對於訓練集中的樣本能較好的完成任務,並且對於外來的樣本,也能較好的完成任務(泛化誤差較小)。這樣學習到的學習機器才是一個有效的模型。
這裡寫圖片描述

PAC所做的事情

上面那張圖能看出來,機器學習關心的是從假設空間中以什麼樣的方式選出的假設才是最優的,也就是選哪個。而PAC關心的是能不能從假設空間空選出一個最優的假設,也就是說在這樣有限的訓練集下,能不能在假設空間中找到一個好的假設來完成任務。也就是說PAC可以用來判斷達沒達到可以選擇出足夠好的假設來解決問題的下限
這裡寫圖片描述

以近似正確(AC)代替正確(C)

如果是完全意義上的正確,那麼肯定是對例項空間裡的樣本經驗風險為0,同時又對外來的例項泛化誤差為0,這顯然是不可能的。而且經驗風險太小也不是一件好事(過學習從而推廣能力下降),所以只要設定一個閾值,只要選取出的假設h的泛化誤差E(h)不超過這個值(即近似正確)就認為是”正確”的了,而不是去追求完全的”正確”。
這裡寫圖片描述

以可能近似正確(PAC)代替近似正確(AC)

實際上,對於所有外來的例項,假設h都能做到”近似正確”,這也幾乎是不可能的一件事。只要對於多數的外來例項,都能做到”近似正確”,也就是說設定一個概率的閾值,只要”近似正確”的頻率不小於這個概率閾值(即可能近似正確),就認為是”近似正確”的了,而不是去追求對所有訓練集外的例項都”近似正確”。
這裡寫圖片描述
這裡常常給出顯著性水平,也就是說只要機器學習對外來的隨機樣本失敗的頻率被限定在這個值以內。用總的概率1減去它就是置信度,作為判斷”可能近似正確”的閾值。

PAC可學習

如果學習機器在短時間(多項式級別)內根據少量的(多項式級別)的訓練集樣本m,能夠找到一個好的假設h,滿足上面的那個式子,那麼就說這個問題是PAC可學習

的。

一般理論邊界

顯然在給定的泛化誤差和顯著性水平,一個PAC可學習的問題也必須要有足夠多的樣本m才能完成任務,而這個樣本數m有一個一般理論邊界M,如果m大於M那麼就足以在預期的泛化誤差和顯著性水平下用機器學習找到的最優的假設h解決問題
這裡寫圖片描述
這裡|H|表示假設空間的大小。這個式子的意思可以這樣理解,在這個問題下訓練樣例的數目如果是m,足以保證機器學習得到的最優假設h是可能(置信度是1-δ)近似(泛化誤差是ε)正確的。

一般理論邊界的侷限性

這個式子侷限性還很大,一方面M只是m的一個上界,而且可能還比較寬鬆,對於m<=M也不見得PAC不可學習;另一方面|H|是假設空間的大小,單純地用它刻畫樣本複雜度不夠合理(顯然樣本複雜度憑什麼隨著假設空間的大小線性增長呢),對於無限假設空間的情形顯然這個式子完全失效。

函式集的VC維

這裡的指示函式可以理解成能指示這個結果屬於哪個類別的函式,比如結果為0或1表示兩個類別。如果是有界的實函式,可以設定一個閾值,那麼就可以根據函式結果轉換成二分類的指示函式。

如果問題給的例項只要分成2類,那麼對於一個指示函式集H,如果m個樣本能被H中的函式按照所有可能的2^m種方式區分開,那麼就說這個函式集能把m個樣本打散
函式集H的VC維VC(H)也就是它所能打散的最大樣本數目。很顯然對於有限的函式集H,VC維有界:
這裡寫圖片描述
這很好理解,試想這|H|個函式每個都能產生一種互異的二分類方式,也就有了|H|種二分類方式,而有|H|種二分類方式的樣本最多也就是以2為底|H|的對數這麼多個了,所以VC(H)絕不會超過它。

一個用爛了的例子

目前沒有通用的關於任意函式VC維計算的方法,對一些特殊的函式知道其VC維。這個平面上的點被線性決策線二分類的例子到處都是,可以用來理解一下VC維。
假如函式集H是平面上的所有線性決策線(其實也就是直線,但是根據把點分成兩邊能做二分類所以叫線性決策線),顯然|H|=+∞。給定的例項是平面上的點,現在用線性決策線嘗試把給定的一些點打散。
對於3個以內的點,還是能打散的:
這裡寫圖片描述
而對於4個樣本點,就不能打散了,試想要把下圖中的兩個紫色點分到一起,線性決策線做不到:
這裡寫圖片描述
所以這個問題的VC維VC(H)=3。

VC維衡量假設空間複雜度

用VC維代替前面的|H|來刻畫假設空間下的樣本複雜度,不僅能夠把邊界M做的更緊湊,而且可以去刻畫無限假設空間下的樣本複雜度。這時候新的PAC可學習邊界:
這裡寫圖片描述