1.經(jīng)驗(yàn)誤差與過擬合
通常我們把分類錯(cuò)誤的樣本數(shù)占樣本總數(shù)的比例稱為錯(cuò)誤率
精度 = 1- 錯(cuò)誤率 :如果在m個(gè)樣本有a個(gè)樣本分類錯(cuò)誤埋泵,則錯(cuò)誤率E= a/m,精度 = 1- a/m
誤差:學(xué)習(xí)器在實(shí)際預(yù)測輸出與樣本的真實(shí)輸出之間的誤差稱為誤差
經(jīng)驗(yàn)誤差:學(xué)習(xí)器在訓(xùn)練集上的誤差稱為“訓(xùn)練誤差”或“經(jīng)驗(yàn)誤差”凤藏,在新樣本上的誤差稱為泛化誤差
過擬合(學(xué)習(xí)能力過于強(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í)中稱為“過擬合”巍举。與過擬合相對(duì)的是“欠擬合(學(xué)習(xí)能力低下)”脆荷,這是指對(duì)訓(xùn)練樣本的一般性質(zhì)尚未學(xué)好。
過擬合是無法徹底避免的懊悯,我們所能做的只是“緩解”蜓谋,或者說是減小其風(fēng)險(xiǎn)。
2.評(píng)估方法
測試樣本應(yīng)該盡可能與訓(xùn)練集互斥桃焕,即測試樣本盡量不在訓(xùn)練集中出現(xiàn)
2.1留出法
直接將數(shù)據(jù)集D劃分為兩個(gè)互斥的集合,其中一個(gè)集合作為訓(xùn)練集S捧毛,另一個(gè)作為測試集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)確;若測試集T多包含一些樣本泞辐,則訓(xùn)練集S與D差別更大了笔横,被評(píng)估的模型與用D訓(xùn)練出的模型相比可能有較大差別,從而降低了評(píng)估結(jié)果的保真性铛碑。這個(gè)問題沒有完美解決方案狠裹,常見做法是講大約2/3~4/5的樣本用于訓(xùn)練虽界,剩余樣本用于測試
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中通過分層采樣得到撇吞。然后用k-1個(gè)子集的并集作為訓(xùn)練集,余下的那個(gè)子集作為測試集礁叔;這樣就可獲得k組訓(xùn)練/測試集牍颈,從而可進(jìn)行k次訓(xùn)練和測試,最終返回的是這個(gè)k個(gè)測試結(jié)果的均值琅关。k常用10煮岁;其他常用值5,20等。
與留出法相似画机,將數(shù)據(jù)集D劃分為k個(gè)子集同樣存在多種劃分方式冶伞,為減小因樣本劃分不同而引入的差別,k折交叉驗(yàn)證通常要隨機(jī)使用不同的劃分重復(fù)p次步氏,評(píng)估結(jié)果是這p次k折交叉驗(yàn)證結(jié)果的均值响禽,常見10次10折交叉驗(yàn)證。
在數(shù)據(jù)集比較大時(shí)荚醒,訓(xùn)練m個(gè)模型的計(jì)算開銷可能是難以忍受的
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è)過程重復(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‘用作測試集;這樣确垫,實(shí)際評(píng)估的模型與期望評(píng)估的模型都使用m個(gè)訓(xùn)練樣本弓颈,而我們?nèi)斡袛?shù)據(jù)總量約1/3沒在訓(xùn)練集中出現(xiàn)的樣本用于測試,這樣的測試結(jié)果删掀,亦稱“保外估計(jì)”
自助法在數(shù)據(jù)集較小翔冀、難以有效劃分訓(xùn)練/測試集時(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è)定款票,這就是通常所說的“參數(shù)調(diào)節(jié)”或“調(diào)參”
現(xiàn)實(shí)中常用做法控硼,是對(duì)每個(gè)參數(shù)選定一個(gè)范圍和變化步長,例如在【0艾少,0.2】范圍內(nèi)以0.05為步長卡乾,則實(shí)際要評(píng)估的候選參數(shù)值有5個(gè),最終是從這5個(gè)候選值中產(chǎn)生選定值缚够。這樣選定的參數(shù)值往往不是最佳值幔妨,但這是在計(jì)算開銷和性能估計(jì)之間進(jìn)行折中的結(jié)果鹦赎,通過這個(gè)折中,學(xué)習(xí)過程才變得可行误堡。
我們用測試集上的判別效果來估計(jì)模型在實(shí)際使用時(shí)的泛化能力钙姊,而把訓(xùn)練數(shù)據(jù)另外劃分為 訓(xùn)練集和驗(yàn)證集,基于驗(yàn)證集上的性能來進(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ù)需求基跑。
3.2查準(zhǔn)率和查全率與F1
錯(cuò)誤率和精度雖然常用婚温,但不不能滿足所有任務(wù)需求。例如信息檢索媳否、web搜索等我們常關(guān)心的是“檢索出的信息中有多少比例是用戶感興趣的”栅螟,“查準(zhǔn)率”與“查全率”是更為適合用于此類需求的性能對(duì)量。
查準(zhǔn)率和查全率是一對(duì)矛盾的數(shù)量篱竭。一般來說查準(zhǔn)率高時(shí)力图,查全率往往偏低;而查全率高時(shí)掺逼,查準(zhǔn)率往往偏低吃媒。
例如:若希望將好瓜盡可能多地選出來,則可通過增加選瓜的數(shù)量來實(shí)現(xiàn)吕喘,如果將所有西瓜都選上赘那,那么所有的好瓜也必然都被選上了,但這樣查準(zhǔn)率就會(huì)較低氯质;若希望選出的瓜中好瓜比例盡可能高募舟,則可自挑選最有把握的瓜,但這樣就難免會(huì)漏掉不少好瓜闻察,使得查全率較低拱礁,通常只有在一些簡單任務(wù)中,才可能使查全率和查準(zhǔn)率都很高蜓陌。
“平衡點(diǎn)”就是這樣一個(gè)度量吩蔑,它是“查準(zhǔn)率=查全率”時(shí)的取值钮热,例如圖2.3中學(xué)習(xí)器C的BEP是0.64,而基于BEP的比較烛芬,可認(rèn)為學(xué)習(xí)器A優(yōu)于B隧期。
在一些應(yīng)用中,對(duì)查準(zhǔn)率和查全率的重視程度有所不同仆潮。例如在商品推薦系統(tǒng)中宏蛉,為了盡可能少打擾用戶,更希望推薦內(nèi)容確是用戶感興趣的性置,此時(shí)查準(zhǔn)率更重要拾并;而在逃犯信息檢索系統(tǒng)中,更希望盡可能少漏掉逃犯鹏浅,此時(shí)查全率更重要.
其中β>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
測試樣本產(chǎn)生一個(gè)實(shí)值或概率預(yù)測,然后將這個(gè)預(yù)測值與一個(gè)分類閥值進(jìn)行比較沛鸵,大于閥值為正括勺,否則為反。
例如:預(yù)測樣本測出一個(gè)[0.0,1.0]之間的實(shí)值曲掰,然后將這個(gè)值與0.5比較疾捍,大于0.5正,否則反栏妖。這個(gè)實(shí)值或概率預(yù)測的結(jié)果好壞乱豆,直接決定了學(xué)習(xí)器的泛化能力。
我們可以根據(jù)預(yù)測樣本進(jìn)行排序吊趾,“最可能”是正例的排在最前面宛裕,“最不可能”的排在后面瑟啃。這樣,分類過程就相當(dāng)于在這個(gè)排序中以某個(gè)“截?cái)帱c(diǎn)”將樣本分為兩部分揩尸,前一部分判作正蛹屿,后一部分判作反。
“截?cái)帱c(diǎn)”的設(shè)置:根據(jù)任務(wù)需求來采用不同的截?cái)帱c(diǎn)
例如:重視“查準(zhǔn)率”岩榆,則可選擇排序中靠前的位置進(jìn)行截?cái)啻砀海蝗糁匾暋安槿省保瑒t可選擇靠后的位置進(jìn)行截?cái)唷?/p>
因此勇边,排序本身的質(zhì)量好壞湿颅,體現(xiàn)了綜合考慮學(xué)習(xí)器在不同任務(wù)下的“期望泛化性能”的好壞,或者說粥诫,"一般情況下"泛化性能的好壞油航。ROC曲線就是從這個(gè)角度出發(fā)來研究學(xué)習(xí)器泛化性能的有力工具。
ROC全稱:受試者工作特征曲線怀浆,根據(jù)學(xué)習(xí)預(yù)測的結(jié)果對(duì)樣例進(jìn)行排序谊囚,按此順序逐個(gè)把樣本作為正例進(jìn)行預(yù)測,每次計(jì)算出倆個(gè)重要量的值执赡,分別以它們?yōu)闄M镰踏、縱坐標(biāo)圖,就得到了“ROC曲線”沙合。
與P-R曲線使用查準(zhǔn)率奠伪、查全率為縱、橫軸不同首懈,ROC曲線的縱軸是“真正例率”绊率,橫軸是“假正例率”
AUC:ROC曲線下的面積
代價(jià)敏感錯(cuò)誤率與代價(jià)曲線
”非均等代價(jià)“為權(quán)衡不同類型錯(cuò)誤所造成的不同損失,可為錯(cuò)誤賦予”非均等代價(jià)“
其中cost ij表示將第i類樣本預(yù)測為第j類樣本的代價(jià)究履。一般來說滤否,cost? ii = 0;若將第0類判別為第1類所造成的損失更大最仑,則cost01 > cost10;損失程度相差越大藐俺,cost01 與cost 10 值的差別越大。
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í)算法除了通過實(shí)驗(yàn)估計(jì)其泛化性能亩钟,人們往往還希望了解它“為什么”具有這樣的性能,“偏差-方差分解”是解釋學(xué)習(xí)算法泛化性能的一種重要工具鳖轰。
泛化誤差可分解為偏差清酥、方差和噪聲之和。
偏差:度量了學(xué)習(xí)算法的期望預(yù)測與真實(shí)結(jié)果的偏離程度蕴侣,即刻畫了學(xué)習(xí)算法本身的擬合能力焰轻。
方差:度量了同樣大小的訓(xùn)練集的變動(dòng)所導(dǎo)致的學(xué)習(xí)性能的變化,即刻畫了數(shù)據(jù)憂動(dòng)所造成的影響昆雀。
噪聲:則表達(dá)了在當(dāng)前任務(wù)上任何學(xué)習(xí)算法所能達(dá)到的期望泛化誤差的下界辱志,即刻畫了學(xué)習(xí)問題本身的難度。
偏差-方差分解:泛化性能是由學(xué)習(xí)算法的能力狞膘,數(shù)據(jù)的充分性以及學(xué)習(xí)任務(wù)本身的難度所共同決定的揩懒。給定學(xué)習(xí)任務(wù),為了取得好的泛化性能挽封,則需使偏差較小已球,即能夠充分?jǐn)M合數(shù)據(jù),并且使方差較小辅愿,即使得數(shù)據(jù)憂動(dòng)產(chǎn)生的影響小智亮。