程序員的機器學習筆記-第二篇 機器學習有效性

????????在上一篇筆記中目尖,我們討論了NFL定理嘹承,該定理指出不結(jié)合具體問題去比較學習算法之間的優(yōu)劣是沒有意義的摔蓝。那么如果針對具體的問題我們又可能會提出如下的一些問題:

1. 為了獲得一個好的模型膘侮,需要多少訓(xùn)練數(shù)據(jù)呢清女?

2. 在某個訓(xùn)練集上機器學習方法針對某個具體問題得到的模型在作預(yù)測時能達到多好的效果呢阳惹?

3. 針對具體的問題谍失,如果去比較使用不同的學習算法產(chǎn)生的模型的優(yōu)劣呢?

在這一篇文章中我們將試圖討論這些問題莹汤。

????????首先引入一個概念:泛化能力

????????學習方法泛化能力是指由該方法學習到的模型對未知數(shù)據(jù)的預(yù)測能力快鱼。我們使用模型在測試集上的測試誤差來評價學習方法的泛化能力,這個測試誤差又稱為“泛化誤差”纲岭。如果A算法學習到的模型的泛化誤差比B算法學習到的模型的泛化誤差小抹竹,那么A算法就比B算法更有效。

????????使用泛化誤差來評價模型的預(yù)測能力有個問題止潮,泛化誤差依賴于測試數(shù)據(jù)集窃判,而相對于整個樣本空間來說測試數(shù)據(jù)集是有限的,很有可能得到的評價結(jié)果是不可靠的喇闸,真的可以用泛化誤差去衡量模型的預(yù)測能力嗎袄琳?下面討論的計算學習理論將從理論上來分析這個問題询件,這些理論的正式的分析和證明的數(shù)學味道有點重,但是其中的數(shù)學原理并不難唆樊,在筆記中我會以大白話的方式來描述宛琅。

????????計算學習理論的原理是這樣的:在輸入少量的樣本后,任何包含嚴重錯誤的假設(shè)都幾乎一定會以較高的概率被發(fā)現(xiàn)逗旁,因為它將做不正確的預(yù)測嘿辟。因此,與足夠大的訓(xùn)練數(shù)據(jù)集一致的任何假設(shè)都不可能包含嚴重錯誤片效,也就是說它必定是概率近似正確的(probably approximately correct, PAC)红伦。這個原理又叫“PAC學習理論”,接下來將通過PAC理論來回答筆記開頭提出的幾個問題堤舒。

一色建、“需要多少訓(xùn)練數(shù)據(jù)”

????????“PAC學習理論”的內(nèi)涵還是比較多的,其中之一就是解答了為了獲得一個好的模型我們需要多少訓(xùn)練數(shù)據(jù)的問題舌缤,內(nèi)容可以描述如下:

????????存在一個數(shù)量N箕戳,使得在容量為N的訓(xùn)練集上訓(xùn)練出的所有假設(shè)在預(yù)測新的數(shù)據(jù)集時其錯誤率error(h)能以至少1-??的概率小于等于?,其中?和??均為小常量国撵。也就是說與N個訓(xùn)練樣本一致的假設(shè)陵吸,能以較高的概率(至少1-??)近似正確(預(yù)測新數(shù)據(jù)集時錯誤率小于等于?)。

????????在做簡單的證明之前介牙,需要說明的是我們這里假設(shè)我們所面對的輸入空間(即我們的訓(xùn)練數(shù)據(jù)和未來要預(yù)測的數(shù)據(jù))是穩(wěn)定的(即輸入的分布規(guī)律不會變化壮虫,如果說輸入空間不是穩(wěn)定的,那么我們在訓(xùn)練數(shù)據(jù)集上學習到的模型就是過時的了环础,我們要做機器學習那么至少要確定輸入空間最多是緩慢變化的囚似,不然學習就沒有意義了)。

????????簡單的證明:

????????在假設(shè)空間H中存在很多的假設(shè)函數(shù)线得,我們雖然不知道它們的預(yù)測性能饶唤,但是我們知道我們可以將假設(shè)空間中的假設(shè)函數(shù)分為兩類,一類是所有近似正確的假設(shè)的集合Hg贯钩,Hg中的每個假設(shè)hg的預(yù)測錯誤率error(hg)小于等于我們給定的小常量?募狂,另一類是嚴重錯誤的假設(shè)的集合Hb,Hb中的每個假設(shè)hb的預(yù)測錯誤率error(hb)都大于?角雷。

????????假定我們有N個訓(xùn)練樣本構(gòu)成的訓(xùn)練數(shù)據(jù)集祸穷,我們的學習算法的任務(wù)是從假設(shè)空間中搜索出與N個訓(xùn)練數(shù)據(jù)相一致的假設(shè)函數(shù),那么這個被搜索出來的與N個訓(xùn)練數(shù)據(jù)一致的假設(shè)函數(shù)有多大的概率是在Hb中呢勺三?我們當然希望這個概率越小越好雷滚,因為在Hb中意味著它的預(yù)測錯誤率大于?,是個嚴重錯誤的假設(shè)吗坚。下面我們來計算下這個概率:

????????已知對于Hb中的假設(shè)hb有error(hb)﹥?揭措,因此它與一個給定的樣本一致的概率最多為1- ?胯舷,因為樣本之間是相互獨立的,對于N個樣本绊含,hb能同時與它們都一致的概率邊界為:

????????考慮最好的情況桑嘶,即Hb中所有的假設(shè)函數(shù)都能以上面的概率上界與N個樣本一致,并令:

????????那么躬充,因為Hb中的假設(shè)函數(shù)之間相互獨立逃顶,所以整個Hb中與N個樣本一致的假設(shè)的個數(shù)c服從二項分布c~B(|Hb|, p),

????????那么E(c) = |Hb|p充甚,同時按照求期望的公式我們有:

????????再看Hb中至少包含一個假設(shè)hb與N個樣本都一致的概率:

不難看出:

????????進一步以政,我們利用不等式(引入這個不等式,一是為了找出后面說的概率的上界伴找,二是可以方便求出N盈蛮,因為N是一個指數(shù),不好求解技矮,引入e后就可以求對數(shù)把N從指數(shù)中拿出來抖誉。這個不等式很好證明,簡單的證法可以是衰倦,用不等式兩邊的函數(shù)的商構(gòu)成一個新的函數(shù)袒炉,對新的函數(shù)對?求導(dǎo)可以發(fā)現(xiàn)導(dǎo)數(shù)小于等于0,所以新函數(shù)是減函數(shù)樊零,再令?=0可以得到新函數(shù)的值為1我磁,因為0<=?<=1,所以新函數(shù)的值f(?) <= f(0)=1驻襟,即新函數(shù)的分子小于等于分母夺艰,即不等式得證)

????????進一步找到P(Hb中至少包含一個一致假設(shè))的一個上界:

????????如果我們希望Hb中至少包含一個一致假設(shè)的概率很小(即沉衣,我們希望與N個樣本一致的假設(shè)盡量不要出現(xiàn)在Hb中郁副,因為如果在Hb中那么這個一致假設(shè)將是嚴重錯誤的),小于某個給定的小常量??厢蒜,那么我們就應(yīng)該使這個概率的上界小于??,即:

????????對上式兩邊取對數(shù)烹植,進行簡單的整理后可以得到:

????????上面的證明過程也就是尋找N的過程斑鸦,我們可以看到,對于任意給定的?和??草雕,我們找到了一個N巷屿,當訓(xùn)練數(shù)據(jù)集中至少有N個訓(xùn)練樣本時,學習算法得到的假設(shè)函數(shù)可以以至少1-??的概率有至多?的錯誤率墩虹。

二嘱巾、“模型的泛化能力能有多好”

????????PAC學習定理除了告訴我們需要多大的訓(xùn)練數(shù)據(jù)集外憨琳,還告訴了我們一個算法的泛化誤差上界是多少,即它能有多準確旬昭。

????????泛化誤差上界通常具有以下性質(zhì):它是訓(xùn)練數(shù)據(jù)集中樣本容量的函數(shù)篙螟,當樣本容量增加時,泛化上界趨于0问拘;它是假設(shè)空間容量的函數(shù)遍略,假設(shè)空間容量越大,模型就越難學骤坐,泛化誤差上界就越大绪杏。

????????為了簡化問題,這里只看二分類問題且假設(shè)空間包含有限個函數(shù)時的泛化誤差上界纽绍。

????????對于一個二分類問題蕾久,一個訓(xùn)練數(shù)據(jù)集T = {(x1, y1), (x2, y2), ..., (xN, yN)},X屬于n維實數(shù)空間拌夏,Y∈{-1, 1}僧著。假設(shè)空間是函數(shù)的有限集合F={f1, f2, f3, ..., fd},d是函數(shù)的個數(shù)辖佣。設(shè)f是從F中選取的函數(shù)霹抛,我們使用0-1損失作為損失函數(shù),即損失函數(shù)L(Y, f(X))的取值為:當預(yù)測值f(X)和真實值Y相等時為0卷谈,不等時為1杯拐。那么關(guān)于f的期望風險和經(jīng)驗風險分別是:

????????那么我們的機器學習算法按照經(jīng)驗風險最小化原則搜索出來的假設(shè)函數(shù)就是:

????????我們現(xiàn)在關(guān)心的就是這個被搜索出來的假設(shè)函數(shù)fN的泛化能力:

????????這里直接給出關(guān)于這個泛化誤差上界的結(jié)論,其證明的關(guān)鍵點是用到Hoeffding不等式世蔗,其余的推導(dǎo)很簡單端逼,具體可以查閱《統(tǒng)計學習方法》這本書。

二分類問題的泛化誤差上界:

????????對二分類問題污淋,當假設(shè)空間是有限個函數(shù)的集合F={f1, f2, f3, ..., fd}時顶滩,對任意一個函數(shù)f∈F,至少以概率1- ??寸爆,以下不等式成立:

其中礁鲁,


從上面的結(jié)論可以看出:

1. 模型的泛化誤差是有上界的,對于這里討論的假設(shè)空間有限的二分類問題赁豆,只要給出一個訓(xùn)練數(shù)據(jù)集和假設(shè)空間大小仅醇,再給定一個任意的0<??<1我們就能找到模型的泛化誤差上界;

2. 對于這里討論的問題魔种,泛化誤差上界由兩部分構(gòu)成析二,第一部分是訓(xùn)練誤差,訓(xùn)練誤差越小,泛化誤差也越幸渡恪属韧;第二部分是一個關(guān)于訓(xùn)練樣本容量N的單調(diào)減函數(shù),N越大這部分的值越小蛤吓,N趨于無窮時值趨于0宵喂,也就是說如果我們的訓(xùn)練數(shù)據(jù)已經(jīng)包含了所有可能的輸入輸出對情況,那么我們在訓(xùn)練數(shù)據(jù)集上的訓(xùn)練誤差就是泛化誤差了柱衔;同時第二部分還是關(guān)于假設(shè)空間容量d的函數(shù)樊破,d越大即假設(shè)空間包含的函數(shù)越多,第二部分的值就越大唆铐,泛化誤差可能就越大哲戚。

三、“如何比較不同學習方法的優(yōu)劣”

????????這個問題就簡單了艾岂,可以通過比較兩種學習方法的泛化誤差上界的大小來比較它們的優(yōu)劣顺少。

至此我們就解答了筆記開頭提出的幾個問題了,這篇筆記主要介紹了機器學習中的計算學習理論王浴,的確比較枯燥脆炎,但是它是機器學習的基石,它確定了機器學習的可行性氓辣。

參考資料:

Stuart J. Russelll《人工智能 一種現(xiàn)代的方法》

李航《統(tǒng)計學習方法》

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末秒裕,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子钞啸,更是在濱河造成了極大的恐慌几蜻,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件体斩,死亡現(xiàn)場離奇詭異梭稚,居然都是意外死亡,警方通過查閱死者的電腦和手機絮吵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門弧烤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蹬敲,你說我怎么就攤上這事暇昂。” “怎么了伴嗡?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵急波,是天一觀的道長。 經(jīng)常有香客問我闹究,道長幔崖,這世上最難降的妖魔是什么食店? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任渣淤,我火速辦了婚禮赏寇,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘价认。我一直安慰自己嗅定,他們只是感情好,可當我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布用踩。 她就那樣靜靜地躺著渠退,像睡著了一般。 火紅的嫁衣襯著肌膚如雪脐彩。 梳的紋絲不亂的頭發(fā)上碎乃,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天,我揣著相機與錄音惠奸,去河邊找鬼梅誓。 笑死,一個胖子當著我的面吹牛佛南,可吹牛的內(nèi)容都是我干的梗掰。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼嗅回,長吁一口氣:“原來是場噩夢啊……” “哼及穗!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起绵载,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤埂陆,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后尘分,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體猜惋,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年培愁,在試婚紗的時候發(fā)現(xiàn)自己被綠了著摔。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡定续,死狀恐怖谍咆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情私股,我是刑警寧澤摹察,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站倡鲸,受9級特大地震影響供嚎,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一克滴、第九天 我趴在偏房一處隱蔽的房頂上張望逼争。 院中可真熱鬧,春花似錦劝赔、人聲如沸誓焦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽杂伟。三九已至,卻和暖如春仍翰,著一層夾襖步出監(jiān)牢的瞬間赫粥,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工予借, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留傅是,地道東北人。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓蕾羊,卻偏偏與公主長得像喧笔,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子龟再,可洞房花燭夜當晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容