機(jī)器學(xué)習(xí)(周志華版)個(gè)人筆記--第二章

1.經(jīng)驗(yàn)誤差與過(guò)擬合

通常我們把分類錯(cuò)誤的樣本數(shù)占樣本總數(shù)的比例稱為錯(cuò)誤率

精度 = 1- 錯(cuò)誤率 :如果在m個(gè)樣本有a個(gè)樣本分類錯(cuò)誤,則錯(cuò)誤率E= a/m,精度 = 1- a/m

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

經(jīng)驗(yàn)誤差:學(xué)習(xí)器在訓(xùn)練集上的誤差稱為“訓(xùn)練誤差”或“經(jīng)驗(yàn)誤差”,在新樣本上的誤差稱為泛化誤差

過(guò)擬合(學(xué)習(xí)能力過(guò)于強(qiáng)大):學(xué)習(xí)器把訓(xùn)練樣本學(xué)得“太好”的時(shí)候,很可能已經(jīng)把訓(xùn)練樣本自身的一些特點(diǎn)當(dāng)作了所有潛在的樣本都會(huì)具有的一般性質(zhì),這樣就會(huì)導(dǎo)致泛化性能下降,這種現(xiàn)象在機(jī)器學(xué)習(xí)中稱為“過(guò)擬合”。與過(guò)擬合相對(duì)的是“欠擬合(學(xué)習(xí)能力低下)”,這是指對(duì)訓(xùn)練樣本的一般性質(zhì)尚未學(xué)好。

過(guò)擬合是無(wú)法徹底避免的,我們所能做的只是“緩解”,或者說(shuō)是減小其風(fēng)險(xiǎn)。

過(guò)擬合、欠擬合的直觀類比

2.評(píng)估方法

測(cè)試樣本應(yīng)該盡可能與訓(xùn)練集互斥,即測(cè)試樣本盡量不在訓(xùn)練集中出現(xiàn)

2.1留出法

直接將數(shù)據(jù)集D劃分為兩個(gè)互斥的集合,其中一個(gè)集合作為訓(xùn)練集S,另一個(gè)作為測(cè)試集T,即D = S∪T ,A∩T = ?

在使用流出法時(shí),一般要采用若干次隨機(jī)劃分、重復(fù)進(jìn)行實(shí)驗(yàn)評(píng)估后取平均值作為留出法的評(píng)估結(jié)果。

留出法的窘境:若令訓(xùn)練集S包含絕大多數(shù)樣本,則訓(xùn)練出的模型可能更接近于用D訓(xùn)練出模型,但由于T比較小,評(píng)估結(jié)果可能不夠穩(wěn)定準(zhǔn)確;若測(cè)試集T多包含一些樣本,則訓(xùn)練集S與D差別更大了,被評(píng)估的模型與用D訓(xùn)練出的模型相比可能有較大差別,從而降低了評(píng)估結(jié)果的保真性。這個(gè)問(wèn)題沒(méi)有完美解決方案,常見(jiàn)做法是講大約2/3~4/5的樣本用于訓(xùn)練,剩余樣本用于測(cè)試

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

先講數(shù)據(jù)集D劃分為k個(gè)大小相似的互斥子集,即D = D1∪D2∪D3∪.......∪DK,Di∩Dj = ?(i不等于j)。每個(gè)子集Di都盡可能保持?jǐn)?shù)據(jù)分布的一致性,即從D中通過(guò)分層采樣得到。然后用k-1個(gè)子集的并集作為訓(xùn)練集,余下的那個(gè)子集作為測(cè)試集;這樣就可獲得k組訓(xùn)練/測(cè)試集,從而可進(jìn)行k次訓(xùn)練和測(cè)試,最終返回的是這個(gè)k個(gè)測(cè)試結(jié)果的均值。k常用10;其他常用值5,20等。

10折交叉驗(yàn)證示意圖

與留出法相似,將數(shù)據(jù)集D劃分為k個(gè)子集同樣存在多種劃分方式,為減小因樣本劃分不同而引入的差別,k折交叉驗(yàn)證通常要隨機(jī)使用不同的劃分重復(fù)p次,評(píng)估結(jié)果是這p次k折交叉驗(yàn)證結(jié)果的均值,常見(jiàn)10次10折交叉驗(yàn)證。

在數(shù)據(jù)集比較大時(shí),訓(xùn)練m個(gè)模型的計(jì)算開(kāi)銷可能是難以忍受的

2.3自助法

直接以自助采樣法為基礎(chǔ),給定包含m個(gè)樣本的數(shù)據(jù)集D,我么對(duì)它進(jìn)行采樣產(chǎn)生數(shù)據(jù)集D‘;每次隨機(jī)從D中挑選一個(gè)樣本,將其拷貝放入D‘,然后在將該樣本放回初始數(shù)據(jù)集D中,使得該樣本在下次采樣時(shí)仍有可能被采到,這個(gè)過(guò)程重復(fù)執(zhí)行m次,我們就得到了包含m個(gè)樣本的數(shù)據(jù)集D‘,這就是自助采樣的結(jié)果。

D中有一部分樣本會(huì)在D‘中多次出現(xiàn),樣本在m次采樣中始終不被采到的概率是(1-1/m)的每次方,

取極限的到

初始數(shù)據(jù)集D中約有36.8%的樣本未出現(xiàn)在采樣數(shù)據(jù)集D‘中.于是我們可將D'用作訓(xùn)練集,D\D‘用作測(cè)試集;這樣,實(shí)際評(píng)估的模型與期望評(píng)估的模型都使用m個(gè)訓(xùn)練樣本,而我們?nèi)斡袛?shù)據(jù)總量約1/3沒(méi)在訓(xùn)練集中出現(xiàn)的樣本用于測(cè)試,這樣的測(cè)試結(jié)果,亦稱“保外估計(jì)

自助法在數(shù)據(jù)集較小、難以有效劃分訓(xùn)練/測(cè)試集時(shí)很有用。

在初始數(shù)據(jù)量足夠時(shí),留出法和交叉驗(yàn)證法更常用一些

2.4調(diào)參與最終模型

在進(jìn)行模型評(píng)估與選擇時(shí),除了要對(duì)適用學(xué)習(xí)算法進(jìn)行選擇,還需對(duì)算法參數(shù)進(jìn)行設(shè)定,這就是通常所說(shuō)的“參數(shù)調(diào)節(jié)”或“調(diào)參”

現(xiàn)實(shí)中常用做法,是對(duì)每個(gè)參數(shù)選定一個(gè)范圍和變化步長(zhǎng),例如在【0,0.2】范圍內(nèi)以0.05為步長(zhǎng),則實(shí)際要評(píng)估的候選參數(shù)值有5個(gè),最終是從這5個(gè)候選值中產(chǎn)生選定值。這樣選定的參數(shù)值往往不是最佳值,但這是在計(jì)算開(kāi)銷和性能估計(jì)之間進(jìn)行折中的結(jié)果,通過(guò)這個(gè)折中,學(xué)習(xí)過(guò)程才變得可行。

最終模型

我們用測(cè)試集上的判別效果來(lái)估計(jì)模型在實(shí)際使用時(shí)的泛化能力,而把訓(xùn)練數(shù)據(jù)另外劃分為 訓(xùn)練集和驗(yàn)證集,基于驗(yàn)證集上的性能來(lái)進(jìn)行模型選擇和調(diào)參

3.性能度量

對(duì)學(xué)習(xí)器的泛化性能進(jìn)行評(píng)估,不僅需要有效可行的實(shí)驗(yàn)估計(jì)方法,還需要有衡量模型泛化能力的評(píng)價(jià)標(biāo)準(zhǔn),這就是性能度量

模型的“好壞”是相對(duì)的,什么樣的模型是好的,不僅取決于算法和數(shù)據(jù),是決定于任務(wù)需求。

回歸任務(wù)常用性能度量
分類任務(wù)常用性能度量

3.2查準(zhǔn)率和查全率與F1

錯(cuò)誤率和精度雖然常用,但不不能滿足所有任務(wù)需求。例如信息檢索、web搜索等我們常關(guān)心的是“檢索出的信息中有多少比例是用戶感興趣的”,“查準(zhǔn)率”與“查全率”是更為適合用于此類需求的性能對(duì)量。

查準(zhǔn)率”與“查全率

查準(zhǔn)率和查全率是一對(duì)矛盾的數(shù)量。一般來(lái)說(shuō)查準(zhǔn)率高時(shí),查全率往往偏低;而查全率高時(shí),查準(zhǔn)率往往偏低。

例如:若希望將好瓜盡可能多地選出來(lái),則可通過(guò)增加選瓜的數(shù)量來(lái)實(shí)現(xiàn),如果將所有西瓜都選上,那么所有的好瓜也必然都被選上了,但這樣查準(zhǔn)率就會(huì)較低;若希望選出的瓜中好瓜比例盡可能高,則可自挑選最有把握的瓜,但這樣就難免會(huì)漏掉不少好瓜,使得查全率較低,通常只有在一些簡(jiǎn)單任務(wù)中,才可能使查全率和查準(zhǔn)率都很高。

P-查準(zhǔn)率,R-查全率

平衡點(diǎn)”就是這樣一個(gè)度量,它是“查準(zhǔn)率=查全率”時(shí)的取值,例如圖2.3中學(xué)習(xí)器C的BEP是0.64,而基于BEP的比較,可認(rèn)為學(xué)習(xí)器A優(yōu)于B。

BEP還是過(guò)于簡(jiǎn)化了些,更常用的是F1度量

在一些應(yīng)用中,對(duì)查準(zhǔn)率和查全率的重視程度有所不同。例如在商品推薦系統(tǒng)中,為了盡可能少打擾用戶,更希望推薦內(nèi)容確是用戶感興趣的,此時(shí)查準(zhǔn)率更重要;而在逃犯信息檢索系統(tǒng)中,更希望盡可能少漏掉逃犯,此時(shí)查全率更重要.

F1度量的一般形式---Fβ,能讓我們表達(dá)出對(duì)查準(zhǔn)率/查全率的不同偏好

其中β>0度量了查全率對(duì)查準(zhǔn)率的相對(duì)重要性。β = 1時(shí)退化為標(biāo)準(zhǔn)的F1,β>1時(shí)查全率有更大影響;β<1時(shí)查準(zhǔn)率有更大影響。

我們希望在n個(gè)二分類混淆矩陣上綜合考察查準(zhǔn)率和查全率。

一種直接的做法是先在各混淆矩陣上分別計(jì)算出查準(zhǔn)率和查全率,記為(P1,R1),(P2,R2),...(Pn,Rn),在計(jì)算平均值,這樣就得到“宏查準(zhǔn)率macro-P”、“宏查全率macro-R”,以及相應(yīng)的“宏F1”(macro-F1):

還可先將各混淆矩陣的對(duì)應(yīng)元素進(jìn)行平均,的到TP、FP、TN、FN的平均值,在基于這些平均值計(jì)算出“微查準(zhǔn)率(macro-P)",“微查全率(macro-R)”和“微F1”(micro-F1):

2.3ROC與AUC

測(cè)試樣本產(chǎn)生一個(gè)實(shí)值概率預(yù)測(cè),然后將這個(gè)預(yù)測(cè)值與一個(gè)分類閥值進(jìn)行比較,大于閥值為正,否則為反。

例如:預(yù)測(cè)樣本測(cè)出一個(gè)[0.0,1.0]之間的實(shí)值,然后將這個(gè)值與0.5比較,大于0.5正,否則反。這個(gè)實(shí)值或概率預(yù)測(cè)的結(jié)果好壞,直接決定了學(xué)習(xí)器的泛化能力。

我們可以根據(jù)預(yù)測(cè)樣本進(jìn)行排序,“最可能”是正例的排在最前面,“最不可能”的排在后面。這樣,分類過(guò)程就相當(dāng)于在這個(gè)排序中以某個(gè)“截?cái)帱c(diǎn)”將樣本分為兩部分,前一部分判作正,后一部分判作反。

截?cái)帱c(diǎn)”的設(shè)置:根據(jù)任務(wù)需求來(lái)采用不同的截?cái)帱c(diǎn)

例如:重視“查準(zhǔn)率”,則可選擇排序中靠前的位置進(jìn)行截?cái)啵蝗糁匾暋安槿省保瑒t可選擇靠后的位置進(jìn)行截?cái)唷?/p>

因此,排序本身的質(zhì)量好壞,體現(xiàn)了綜合考慮學(xué)習(xí)器在不同任務(wù)下的“期望泛化性能”的好壞,或者說(shuō),"一般情況下"泛化性能的好壞。ROC曲線就是從這個(gè)角度出發(fā)來(lái)研究學(xué)習(xí)器泛化性能的有力工具。

ROC全稱:受試者工作特征曲線,根據(jù)學(xué)習(xí)預(yù)測(cè)的結(jié)果對(duì)樣例進(jìn)行排序,按此順序逐個(gè)把樣本作為正例進(jìn)行預(yù)測(cè),每次計(jì)算出倆個(gè)重要量的值,分別以它們?yōu)闄M、縱坐標(biāo)圖,就得到了“ROC曲線”。

與P-R曲線使用查準(zhǔn)率、查全率為縱、橫軸不同,ROC曲線的縱軸是“真正例率”,橫軸是“假正例率”

ROC
ROC曲線與AUC示意圖
繪制ROC

AUC:ROC曲線下的面積

AUC計(jì)算

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

非均等代價(jià)“為權(quán)衡不同類型錯(cuò)誤所造成的不同損失,可為錯(cuò)誤賦予”非均等代價(jià)

根據(jù)任務(wù)的領(lǐng)域知識(shí)設(shè)定一個(gè)“代價(jià)矩陣”

其中cost ij表示將第i類樣本預(yù)測(cè)為第j類樣本的代價(jià)。一般來(lái)說(shuō),cost? ii = 0;若將第0類判別為第1類所造成的損失更大,則cost01 > cost10;損失程度相差越大,cost01 與cost 10 值的差別越大。

代價(jià)敏感錯(cuò)誤、代價(jià)曲線
代價(jià)曲線與期望總體代價(jià)

2.4比較檢驗(yàn)

1.假設(shè)檢驗(yàn)? 對(duì)單個(gè)學(xué)習(xí)器泛化性能的假設(shè)進(jìn)行檢驗(yàn),而在現(xiàn)實(shí)任務(wù)中,更多時(shí)候我們需對(duì)不同學(xué)習(xí)器的性能進(jìn)行比較,下面將介紹使用于此類情況的假設(shè)檢驗(yàn)方法。

2.交叉驗(yàn)證t檢驗(yàn)

3.McNemar檢驗(yàn)

4.Friedman檢驗(yàn) 與Nemenyi后續(xù)檢驗(yàn)? :交叉驗(yàn)證t檢驗(yàn) 和? McNemar檢驗(yàn)都是在一個(gè)數(shù)據(jù)集上比較倆個(gè)算法的性能,而在很多時(shí)候,我們會(huì)在一組數(shù)據(jù)集上對(duì)多個(gè)算法進(jìn)行比較。

當(dāng)有多個(gè)算法參與比較時(shí),一種做法是在每個(gè)數(shù)據(jù)集上分別列出兩兩比較的結(jié)果,而在兩兩比較時(shí)可使用前述方法;另一種方法更為直接,即使用基于算法排序的Friedman檢驗(yàn)。

2.5偏差與方差

對(duì)學(xué)習(xí)算法除了通過(guò)實(shí)驗(yàn)估計(jì)其泛化性能,人們往往還希望了解它“為什么”具有這樣的性能,“偏差-方差分解”是解釋學(xué)習(xí)算法泛化性能的一種重要工具。

泛化誤差可分解為偏差、方差和噪聲之和。

偏差:度量了學(xué)習(xí)算法的期望預(yù)測(cè)與真實(shí)結(jié)果的偏離程度,即刻畫(huà)了學(xué)習(xí)算法本身的擬合能力。

方差:度量了同樣大小的訓(xùn)練集的變動(dòng)所導(dǎo)致的學(xué)習(xí)性能的變化,即刻畫(huà)了數(shù)據(jù)憂動(dòng)所造成的影響。

噪聲:則表達(dá)了在當(dāng)前任務(wù)上任何學(xué)習(xí)算法所能達(dá)到的期望泛化誤差的下界,即刻畫(huà)了學(xué)習(xí)問(wèn)題本身的難度。

偏差-方差分解:泛化性能是由學(xué)習(xí)算法的能力,數(shù)據(jù)的充分性以及學(xué)習(xí)任務(wù)本身的難度所共同決定的。給定學(xué)習(xí)任務(wù),為了取得好的泛化性能,則需使偏差較小,即能夠充分?jǐn)M合數(shù)據(jù),并且使方差較小,即使得數(shù)據(jù)憂動(dòng)產(chǎn)生的影響小。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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