机器学习理论: PAC学习
(這篇文章是本人學習機器學習課程CS685后的一些總結。如有任何錯誤,歡迎指出)
?
1. 基本概念定義
????? 當我們利用機器學習構建模型時,我們獲得訓練集,然后利用算法從訓練集中學習到模型,接著就可以用該模型進行各種預測。為什么這是可行的呢? 想要弄清楚為什么可行,我們定義一下東西:(這些用英語寫的都是因為本人不知道怎么翻譯最準確,干脆不翻譯了)
???? Domain set: 指的是特征所有可取值的集合。一般來說是一個向量。
???? Label set: 指的是所有標簽的集合。接下來我們討論的二分類問題,即label set里面只有0,1兩種情況。
???? 訓練樣本 S: 即我們平時說的訓練集。S = {(x1,y1),(x2,y2),......(xn,yn)}。Trainning sample是我們已知的一切信息,除此之外我們什么都不知道。并且假設所有的數據都是滿足分布D,并且由標簽函數f進行貼標簽。即f(x)就是x的真實標簽。
????? Learner output: 一個函數h, h: X -> Y。也就是最后要學習得到的一個預測器。
????? H: hypothesis class。即所有的可能的預測器組成的集合。
????? 以上就是我們要定義的一些東西。所以機器學習要做的就是獲得training sample,利用這些數據去學習從而從H空間里面去挑選出最好的預測器h。
?
2. Empirical risk minimization
????? 現在假設我們從滿足分布D的數據中取出了一定數量的訓練樣本,目標是要找到h:X->Y。因為不知道數據的分布D具體是怎么樣的,所以無法獲取到整體數據的真實誤差。在這里能夠利用的只有經驗誤差。因此定義經驗誤差概念如下:
????????????????????????????????????????????????????????????
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ?????????
?
????? 其中m是訓練樣本的個數。由于無法獲得真實誤差,通過學習得到一個預測器h使得經驗誤差最小是合理的。因為訓練樣本是從所有的服從分布D樣本集里挑出來的,所以大概率訓練樣本會反映出所有滿足分布D的樣本的一些特性。因此學習的目標變為從H中找到一個預測器h,從而使得()最小。也就是我們說的Empirical risk minimization。
?
3.Empirical risk minimization with inductive bias
????? Empirical risk minimization有一個很明顯的問題就是會發生overfitting。因為能使()最小的預測器h屬于H,因此是可以被學習得到的。而許多的這些預測器泛化能力很差,對于新取的樣本很有可能無法正確預測。導致這種問題的原因是我們沒有對hypothesis class H做任何的限制。
???? 因此為了避免overfitting,我們需要人為的引入一些限制,使得學習時偏向于選擇某一些類型的預測器。我們稱這些限制為inductive bias。
???? 比如我們進行線性回歸算法的時候,我們已經假定了算法的形式是Y=wX+b。這樣我們進行學習時不會得到其他類型的預測器h。這就是引入的歸納偏置。
???? Empirical risk minimization with inductive bias的定義如下,注意這里的H是引入了inductive bias的假說集:
????????????????????????????????????????????????????????????????????????
4.ERMH分析
?????? 我們可以分析在ERMH學習規則的性能如何。我們定義,即能使經驗誤差最小化的預測器的集合?,F在規定兩個assumption:
?????? 1.The realizability assumption。簡單的說就是在H中存在預測器,使得() = 0。
?????? 2.The i.i.d. assumption。我們說過訓練樣本是從滿足分布D的數據集中拿出來的,那么訓練集中的樣本根據分布D獨立且相同地分布??梢钥闯鰜懋斢柧毤酱?#xff0c;越能夠反映出分布D以及函數f。
????? 由于從H中找到使經驗誤差最小的預測器是很難的一件事,所以要做的是盡量去逼近。因此引入參數,如果? ,則認為h是一個成功的預測器。我們再定義以下兩個集合:
???????????????????????????????
?????????????????????????????????? 失敗的預測器:?
?????????????????????????????????? 不好的訓練樣本:
????? 可以看到M集是由一些能使預測器h在訓練樣本S上無誤差,但是泛化能力很差的樣本。其中表示真實誤差,也可以理解為測試誤差。大概可以理解為:
???? 由The realizability assumption可以知道存在預測器h,其() = 0。
???? 而如果一個訓練集S使我們的學習算法計算得到預測器,那么這個樣本。這是因為挑選預測器h時是盡量挑選使經驗誤差最小的那個那個預測器。所以被挑選出來的預測器() = 0。
? ?? 所以。 因此可以計算得到:(A是指學習算法,A: S -> h,通過樣本計算得到預測器。)
?????????????????????????????????????????????????????????????????????
??? 即我們通過樣本S學習到失敗的預測器的概率小于S是不好的訓練樣本的概率。
?
???? 其中(m為樣本集的尺大小)。 因為() = 0,那么訓練集中的每一個S都要能被預測器成功預測。由于,所以預測器能夠正確預測的區域小于。我們一共取m個樣本,所以。
??????????????????????????????????????????
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
???? 我們可以看出如果m趨向于無窮大,即訓練樣本的大小趨向于無窮時,訓練樣本是不好的樣本的概率為0,所以我們得到失敗的預測器的概率也為0。這就是為什么我們希望訓練集越大越好。
?
5. PAC學習
?????我們用符號代替公式? 的有右半部分。因此表示我們容忍的誤差,表示我們失敗的概率。m表示訓練集的大小m。通過計算可以得到。
????? 這就表明只要訓練集樣本數大于m這個公式,我們就有的概率(Probably)學習到誤差在(Approximately)之內的預測器。這就是我們說的PAC學習。
??? PAC學習更具體的定義請參照其他書籍。
?
?
??
總結
以上是生活随笔為你收集整理的机器学习理论: PAC学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【总线】一文看懂 UART 通信协议
- 下一篇: 互斥事件的概念和公式_2014-2015