周志華《機(jī)器學(xué)習(xí)》第2章部分筆記

第2章 模型評(píng)估與選擇

2.1經(jīng)驗(yàn)誤差與過擬合

①誤差(error):學(xué)習(xí)器的預(yù)測(cè)輸出與樣本的真實(shí)輸出之間的差異

②訓(xùn)練誤差(training error)或經(jīng)驗(yàn)誤差(empirical error):在訓(xùn)練集上的誤差

③測(cè)試誤差(test error):在測(cè)試集上的誤差

④泛化誤差(generalization error):學(xué)習(xí)器在所有新樣本上的誤差?

⑤過擬合(overfitting):學(xué)習(xí)能力過于強(qiáng)大,把訓(xùn)練樣本自身的一些特點(diǎn)當(dāng)成所有潛在樣本都會(huì)有的一般性質(zhì),導(dǎo)致泛化能力下降

⑥欠擬合(underfitting):學(xué)習(xí)能力太差,對(duì)訓(xùn)練樣本的一般性質(zhì)尚未學(xué)好 在過擬合問題中,訓(xùn)練誤差很小,但測(cè)試誤差很大;在欠擬合問題中,訓(xùn)練誤差和測(cè)試誤差都比較大。目前,欠擬合問題容易克服,如在決策樹中擴(kuò)展分支,在神經(jīng)網(wǎng)絡(luò)中增加訓(xùn)練輪數(shù);但過擬合問題是機(jī)器學(xué)習(xí)面臨的關(guān)鍵障礙。

⑦模型選擇:在理想狀態(tài)下,選擇泛化誤差最小的學(xué)習(xí)器。

2.2評(píng)估方法

通常,我們可通過實(shí)驗(yàn)測(cè)試來對(duì)學(xué)習(xí)器的泛化誤差進(jìn)行評(píng)估而做出選擇。為此,需要使用一個(gè)“測(cè)試集”來測(cè)試學(xué)習(xí)器對(duì)新樣本的判別能力,然后用測(cè)試集的“測(cè)試誤差”作為泛化誤差的近似,需要注意的是測(cè)試集應(yīng)該盡可能與訓(xùn)練集互斥。在包含m個(gè)樣例的數(shù)據(jù)集D中得到訓(xùn)練集S和測(cè)試集T,有以下幾種方法:

2.2.1留出法

將數(shù)據(jù)集D劃分為兩個(gè)互斥的集合,一個(gè)作為訓(xùn)練集S,一個(gè)作為測(cè)試集T,即D=S∪T且S∩T=?。需要注意的是:訓(xùn)練/測(cè)試集的劃分要盡可能保持?jǐn)?shù)據(jù)分布的一致性,避免因數(shù)據(jù)劃分過程引入額外的偏差而對(duì)最終結(jié)果產(chǎn)生影響,一般采用分層抽樣,保持樣本類別比例相似。但單次留出法得到的結(jié)果往往不夠穩(wěn)定可靠,一般要采用若干次隨機(jī)劃分,重復(fù)實(shí)驗(yàn)評(píng)估后取平均值作為留出法最后的結(jié)果。常用的劃分為:大約2/3-4/5的樣本用于訓(xùn)練,剩下的用于測(cè)試。

2.2.2交叉驗(yàn)證法(k折交叉驗(yàn)證)

將數(shù)據(jù)集D劃分為k個(gè)大小相同的互斥子集,即D=D1∪D2∪…∪Dk,Di∩Dj=?(i≠j),同樣為盡可能保持?jǐn)?shù)據(jù)分布的一致性,采用分層抽樣的方法獲得這些子集。交叉驗(yàn)證法的思想是:每次用k-1個(gè)子集的并集作為訓(xùn)練集,余下的那個(gè)子集作為測(cè)試集,這樣就有k種訓(xùn)練/測(cè)試集劃分的情況,從而可進(jìn)行k次訓(xùn)練和測(cè)試,最終返回k次測(cè)試結(jié)果的均值。交叉驗(yàn)證法評(píng)估結(jié)果的穩(wěn)定性很大程度上取決于k的取值,k最常用的取值是10,此時(shí)稱為10折交叉驗(yàn)證,示意圖如下:

與留出法類似,將數(shù)據(jù)集D劃分為k個(gè)子集存在多種劃分方式,因此要隨機(jī)使用不同的劃分重復(fù)p次,最終的評(píng)估結(jié)果是這p次k折交叉驗(yàn)證結(jié)果的均值,常見的是10次10折交叉驗(yàn)證。特殊地,當(dāng)k=m時(shí),劃分的k個(gè)子集的每個(gè)子集中只有一個(gè)樣本,稱為“留一法”,留一法中被實(shí)際評(píng)估的模型與期望評(píng)估的用D訓(xùn)練出的模型相似,因此,其評(píng)估結(jié)果比較準(zhǔn)確,但計(jì)算機(jī)的開銷是巨大的。

2.2.3自助法

給定包含m個(gè)樣本的數(shù)據(jù)集D,每次隨機(jī)從D 中挑選一個(gè)樣本,將其拷貝放入D’,然后再將該樣本放回初始數(shù)據(jù)集D 中,使得該樣本在下次采樣時(shí)仍有可能被采到。重復(fù)執(zhí)行m 次,就可以得到了包含m個(gè)樣本的數(shù)據(jù)集D’??梢缘弥趍次采樣中,樣本始終不被采到的概率取極限為:

即通過自助采樣,初始樣本集D中大約有36.8%的樣本沒有出現(xiàn)在D’中,于是可以將D’作為訓(xùn)練集,D-D’作為測(cè)試集。自助法在數(shù)據(jù)集較小,難以有效劃分訓(xùn)練/測(cè)試集時(shí)很有用,然而自助法產(chǎn)生的數(shù)據(jù)集(隨機(jī)抽樣)改變了初始數(shù)據(jù)集的分布,這會(huì)引入估計(jì)偏差。因此,在初始數(shù)據(jù)量足夠時(shí),留出法和交叉驗(yàn)證法更常用。

2.2.4調(diào)參和最終模型

大多數(shù)學(xué)習(xí)算法都有些參數(shù)(parameter) 需要設(shè)定,參數(shù)配置不同,學(xué)得模型的性能往往有顯著差別,這就是通常所說的”參數(shù)調(diào)節(jié)”,簡(jiǎn)稱”調(diào)參” (parameter tuning)。學(xué)習(xí)算法的很多參數(shù)是在實(shí)數(shù)范圍內(nèi)取值,因此,對(duì)每種參數(shù)取值都訓(xùn)練出模型來是不可行的。常用的做法是對(duì)每個(gè)參數(shù)選定一個(gè)范圍和步長(zhǎng)λ。簡(jiǎn)單估計(jì)一下:假定算法有3 個(gè)參數(shù),每個(gè)參數(shù)僅考慮5 個(gè)候選值,這樣對(duì)每一組訓(xùn)練/測(cè)試集就有5*5*5= 125 個(gè)模型需考察,很多學(xué)習(xí)算法有不少參數(shù)需要設(shè)定,工程量浩大,參數(shù)調(diào)得好不好對(duì)最終模型的性能有關(guān)鍵影響。另外,需注意的是,當(dāng)選定好模型和調(diào)參完成后,應(yīng)該用初始數(shù)據(jù)集D重新訓(xùn)練模型,即讓最初劃分出來用于評(píng)估的測(cè)試集也被模型學(xué)習(xí),增強(qiáng)模型的學(xué)習(xí)效果。

2.3性能度量

①性能度量(performance measure):衡量模型泛化能力的評(píng)價(jià)標(biāo)準(zhǔn),在對(duì)比不同模型的能力時(shí),使用不同的性能度量往往會(huì)導(dǎo)致不同的評(píng)判結(jié)果。

②均方誤差(mean squared error):回歸任務(wù)中最常用的性能度量。

2.3.1錯(cuò)誤率和精度

在分類任務(wù)中,即預(yù)測(cè)離散值的問題,最常用的兩種性能度量,錯(cuò)誤率是分類錯(cuò)誤的樣本數(shù)占樣本總數(shù)的比例,精度則是分類正確的樣本數(shù)占樣本總數(shù)的比例,錯(cuò)誤率+精度=1。

2.3.2查準(zhǔn)率/查全率/F1

錯(cuò)誤率和精度雖常用,但不能滿足所有的需求,例如:在信息檢索中,我們經(jīng)常關(guān)心檢索出的信息中有多少是用戶感興趣的(即查準(zhǔn)率: precision),或者說用戶感興趣的信息中有多少被檢索出來了(即查全率:recall)。因此,使用查準(zhǔn)/查全率更適合此類需求的性能度量。對(duì)于二分類問題,分類結(jié)果混淆矩陣與查準(zhǔn)/查全率定義如下:

查準(zhǔn)率與查全率是一對(duì)矛盾的度量。一般來說,查準(zhǔn)率越高時(shí),查全率往往偏低;而查全率高時(shí),查準(zhǔn)率往往偏低。例如我們想讓檢索出的內(nèi)容盡可能用戶全都感興趣,那只能檢索我們把握高的內(nèi)容,這樣就漏掉了一些用戶感興趣的內(nèi)容,查全率就低了;如果想讓用戶感興趣的內(nèi)容都被檢索出來,那只有將所有內(nèi)容都檢索出,這樣查準(zhǔn)率就很低了?!癙-R曲線”是描述查準(zhǔn)/查全率變化的曲線,P-R曲線定義如下:根據(jù)學(xué)習(xí)器的預(yù)測(cè)結(jié)果(一般為一個(gè)實(shí)值或概率)對(duì)測(cè)試樣本進(jìn)行排序,將"最可能"是正例的樣本排在前面,"最不可能"是正例的排在后面,按此順序逐個(gè)把樣本作為正例進(jìn)行預(yù)測(cè),每次計(jì)算出當(dāng)前的P值和R值,如下圖所示:

若一個(gè)學(xué)習(xí)器C的P-R曲線被另一個(gè)學(xué)習(xí)器A的P-R曲線完全包住,可稱學(xué)習(xí)器A的性能優(yōu)于學(xué)習(xí)器C。若兩個(gè)學(xué)習(xí)器的P-R曲線發(fā)生交叉,則比較它們的面積,面積大的性能優(yōu)。但一般來說,面積很難估算,因此衍生了“平衡點(diǎn)”(Break-Event Point,簡(jiǎn)稱BEP),即當(dāng)P=R時(shí)的取值,平衡點(diǎn)的取值越高,性能越優(yōu)。 P和R指標(biāo)有時(shí)會(huì)出現(xiàn)矛盾的情況,這樣就需要綜合考慮他們,最常見的方法就是F-Measure,又稱F-Score。F-Measure是P和R的加權(quán)調(diào)和平均,即:

特別地,當(dāng)β=1時(shí),也就是常見的F1度量,是P和R的調(diào)和平均,當(dāng)F1較高時(shí),模型的性能越好。

有時(shí)候我們會(huì)有多個(gè)二分類混淆矩陣,例如:多次訓(xùn)練或者在多個(gè)數(shù)據(jù)集上訓(xùn)練,那么估算全局性能的方法有兩種,分為宏觀和微觀。簡(jiǎn)單理解,宏觀就是先算出每個(gè)混淆矩陣的P值和R值,然后取得平均P值macro-P和平均R值macro-R,再算出Fβ或F1,而微觀則是計(jì)算出混淆矩陣的平均TP、FP、TN、FN,接著進(jìn)行計(jì)算P、R,進(jìn)而求出Fβ或F1。

2.3.3 ROC與AUC

學(xué)習(xí)器對(duì)測(cè)試樣本的評(píng)估結(jié)果一般為一個(gè)實(shí)值或概率,設(shè)定一個(gè)閾值,大于閾值為正例,小于閾值為負(fù)例,因此這個(gè)實(shí)值的好壞直接決定了學(xué)習(xí)器的泛化性能,若將這些實(shí)值排序,則排序的好壞決定了學(xué)習(xí)器的性能高低。ROC曲線正是從這個(gè)角度出發(fā)來研究學(xué)習(xí)器的泛化性能,ROC(Receiver Operating Characteristic)曲線與P-R曲線十分類似,都是按照排序的順序逐一按照正例預(yù)測(cè),不同的是ROC曲線以“真正例率”(True Positive Rate,簡(jiǎn)稱TPR)為橫軸,縱軸為“假正例率”(False Positive Rate,簡(jiǎn)稱FPR),ROC偏重研究基于測(cè)試樣本評(píng)估值的排序好壞。

現(xiàn)實(shí)任務(wù)中通常利用有限個(gè)測(cè)試樣例來繪制ROC圖,無法產(chǎn)生(a)中的光滑曲線,只能繪制出如圖(b)的近似ROC曲線。繪制過程如下:給定m+個(gè)正例和m-個(gè)反例,根據(jù)學(xué)習(xí)器預(yù)測(cè)結(jié)果對(duì)樣例進(jìn)行排序,然后把分類閾值設(shè)為最大,即把所有樣本都預(yù)測(cè)為反例,真正例率和假正例率均為0,在坐標(biāo)(0,0)處標(biāo)記一個(gè)點(diǎn)。然后,將分類閾值依次設(shè)為每個(gè)樣例的預(yù)測(cè)值,即依次將每個(gè)樣例劃分為正例。設(shè)前一個(gè)標(biāo)記點(diǎn)坐標(biāo)為(x,y),當(dāng)前若為真正例,則對(duì)應(yīng)標(biāo)記點(diǎn)的坐標(biāo)為(x,y+1/m+);若當(dāng)前為假正例,則對(duì)應(yīng)標(biāo)記點(diǎn)的坐標(biāo)為(x+1/m-,y),然后用線段連接相鄰點(diǎn)即可。進(jìn)行學(xué)習(xí)器的比較時(shí),與P-R圖相似。ROC曲線下的面積定義為AUC(Area Under ROC Curve),不同于P-R圖,這里的AUC是可計(jì)算的,即曲線下每一個(gè)小矩形的面積之和。AUC越大,證明排序的質(zhì)量越好,AUC=1,表示所有正例排在負(fù)例前面,AUC=0則相反。

2.3.4 代價(jià)敏感錯(cuò)誤率與代價(jià)曲線

為權(quán)衡不同類型錯(cuò)誤所造成的不同損失,可為錯(cuò)誤賦予“非均等代價(jià)”(unequal cost)。以二分類任務(wù)為例,設(shè)定一個(gè)“代價(jià)矩陣(cost matrix)”,cost_ij表示將第i類樣本預(yù)測(cè)為第j類樣本的代價(jià),一般來說,損失程度相差越大,cost01和cost10值的差別越大。如下:

在非均等錯(cuò)誤代價(jià)下,我們希望最小化總體代價(jià)(total cost),則“代價(jià)敏感(cost-sensitive)”的錯(cuò)誤率為

在非均等錯(cuò)誤代價(jià)下,ROC曲線不能直接反映出學(xué)習(xí)器的期望總體代價(jià),而“代價(jià)曲線”可達(dá)到目的。代價(jià)曲線橫軸是取值在[0,1]之間的正例概率代價(jià)

其中p表示正例的概率,縱軸是取值為[0,1]的歸一化代價(jià)。

代價(jià)曲線的繪制很簡(jiǎn)單:設(shè)ROC曲線上點(diǎn)的坐標(biāo)為(TPR,F(xiàn)PR) ,則可相應(yīng)計(jì)算出FNR=1-TPR,然后在代價(jià)平面上繪制一條從(0,F(xiàn)PR) 到(1,F(xiàn)NR) 的線段,線段下的面積即表示了該條件下的期望總體代價(jià);如此將ROC 曲線土的每個(gè)點(diǎn)轉(zhuǎn)化為代價(jià)平面上的一條線段,然后取所有線段的下界,圍成的面積即為在所有條件下學(xué)習(xí)器的期望總體代價(jià),如圖所示:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容