1. 誤差、欠擬合與過擬合
? ? ? ? 在訓(xùn)練過程中,每一次訓(xùn)練并測(cè)試時(shí)都會(huì)發(fā)現(xiàn)有部分樣本識(shí)別錯(cuò)誤瓣颅。我們把識(shí)別錯(cuò)誤樣本占總數(shù)的比例稱為錯(cuò)誤率,定義錯(cuò)誤率譬正,其中a為錯(cuò)誤樣本數(shù)宫补,m為樣本總數(shù)檬姥。與其對(duì)應(yīng)的
則稱為精度。更一般情況守谓,稱實(shí)際輸出與真實(shí)輸出的差異為誤差穿铆,在訓(xùn)練集上的誤差稱為訓(xùn)練誤差或經(jīng)驗(yàn)誤差,在測(cè)試時(shí)預(yù)測(cè)的誤差稱為泛化誤差斋荞。當(dāng)然我們希望得到誤差最小荞雏,也即精度最大的模型。那么精度為100%的學(xué)習(xí)器是我們想要的模型嗎平酿?其實(shí)這種模型大多泛化能力不強(qiáng)凤优,因此不會(huì)選取。這里涉及到欠擬合與過擬合蜈彼。
? ? ? ? 當(dāng)學(xué)習(xí)器學(xué)習(xí)樣本準(zhǔn)確率過高時(shí)筑辨,其極有可能把樣本獨(dú)有的特征學(xué)習(xí)到了,而相對(duì)的忽略大多樣本的一般特征幸逆。這種情況稱為過擬合棍辕,一般過擬合的模型泛化能力都相對(duì)較差。相對(duì)的还绘,欠擬合就是模型訓(xùn)練的精度太低楚昭,連樣本的一般特征也沒有學(xué)習(xí)到。這兩種情況在下圖中都有很好的詮釋拍顷。
? ? ? ? 欠擬合很好解決抚太,就是加多數(shù)據(jù),加大訓(xùn)練次數(shù)即可昔案。過擬合較麻煩尿贫,機(jī)器學(xué)習(xí)算法中過擬合無法徹底避免,優(yōu)秀的算法會(huì)想辦法減輕過擬合的影響踏揣。當(dāng)前有多種算法和參數(shù)調(diào)整方法可以建立機(jī)器學(xué)習(xí)模型庆亡,這里涉及到了模型選擇問題,我們應(yīng)當(dāng)有相應(yīng)的評(píng)估和選擇方法可以找到泛化能力最強(qiáng)的模型呼伸。下面將介紹一些模型評(píng)估和選擇的方法身冀。
2. 評(píng)估方法
? ? ? ? 現(xiàn)在已知有數(shù)據(jù)集D,我們的目標(biāo)是將它劃分為訓(xùn)練集S和測(cè)試集T括享,使得模型的學(xué)習(xí)和泛化能力盡可能的被開發(fā)出來搂根。
方法一:留出法
? ? ? ? 留出法思想簡(jiǎn)單,就是將數(shù)據(jù)集D直接劃分為兩個(gè)互斥的集合铃辖,一個(gè)作為訓(xùn)練集剩愧,另一個(gè)作為測(cè)試集。數(shù)據(jù)集在劃分細(xì)節(jié)上也有要求娇斩,我們必須保證在劃分時(shí)整個(gè)數(shù)據(jù)集的標(biāo)簽種類是程均勻分布的仁卷,即保證機(jī)器在訓(xùn)練和測(cè)試時(shí)可以遇到所有情況穴翩。單次使用留出法結(jié)果不夠準(zhǔn)確,因?yàn)椴煌姆址ㄓ?xùn)練和測(cè)試結(jié)果會(huì)不同锦积,所以一般會(huì)多次隨機(jī)劃分訓(xùn)練集和測(cè)試集并進(jìn)行訓(xùn)練測(cè)試芒帕,最終得到的多個(gè)精度取平均得到最后結(jié)果。訓(xùn)練集占數(shù)據(jù)集的比例沒有完美的解決方案丰介,一般經(jīng)驗(yàn)值為2/3~4/5背蟆。
方法二:交叉驗(yàn)證法
? ? ? ? 交叉驗(yàn)證法首先將有m個(gè)樣本的數(shù)據(jù)集D劃分為k個(gè)大小相似的互斥子集,且均保持?jǐn)?shù)據(jù)標(biāo)簽的均勻分布哮幢。每次利用k-1個(gè)子集進(jìn)行訓(xùn)練带膀,剩下的1個(gè)用于測(cè)試,如此嘗試有k種橙垢,我們最終返回k個(gè)結(jié)果的均值垛叨。算法驗(yàn)證的好壞主要取決于k的取值,通常取k=10柜某,所以算法又稱為“十折交叉驗(yàn)證”嗽元,其示意圖如下。相比留出法喂击,交叉驗(yàn)證顯然更加穩(wěn)定與公平还棱。
? ? ? ? 當(dāng)k=m這種特殊情況時(shí),每個(gè)樣本被視為一個(gè)自己惭等,則可稱評(píng)估方法為留一法(LOO),該方法不受樣本順序隨機(jī)的影響办铡,所以結(jié)果會(huì)更加準(zhǔn)確辞做。但若數(shù)據(jù)集過大,樣本過多寡具,計(jì)算時(shí)間會(huì)大幅增加秤茅。
方法三:自助法
? ? ? ? 前兩種方法都需要從數(shù)據(jù)集中分訓(xùn)練集和測(cè)試集進(jìn)行學(xué)習(xí)預(yù)測(cè),這種方式會(huì)導(dǎo)致分法不同得到的結(jié)果也不同童叠,留一法不會(huì)有這種情況框喳,但數(shù)據(jù)集過大會(huì)導(dǎo)致算法復(fù)雜度增加。為了可以綜合上述算法的兩種優(yōu)點(diǎn)厦坛,這里提出自助法五垮。
自助法的特點(diǎn)是,訓(xùn)練集和測(cè)試集均出自同一數(shù)據(jù)集杜秸。我們每次從數(shù)據(jù)集中抽取一個(gè)樣本并復(fù)制到訓(xùn)練集中放仗,重復(fù)m次,所以我們有m訓(xùn)練集的樣本撬碟。當(dāng)然這種做法會(huì)出現(xiàn)重復(fù)樣本诞挨,不過我們計(jì)算一個(gè)樣本永遠(yuǎn)不會(huì)被采集到的概率如下:
? ? ? ? ? ? ? ?
所以當(dāng)樣本足夠多的時(shí)莉撇,我們同樣可以抽出約2/3的部分當(dāng)做訓(xùn)練集,剩下的作為測(cè)試集惶傻。這種算法使得每個(gè)樣本都有被抽中的可能棍郎,這種測(cè)試又稱為“包外估計(jì)”。自助法產(chǎn)生的數(shù)據(jù)集會(huì)改變初始數(shù)據(jù)集的分布银室,所以需要引入估計(jì)偏差涂佃,所以再次強(qiáng)調(diào),在數(shù)據(jù)足夠多的時(shí)粮揉,為了避免計(jì)算麻煩巡李,建議使用前兩者,反之使用該算法扶认。
? ? ? ? 除了以上評(píng)估方法侨拦,每個(gè)算法還需要調(diào)節(jié)參數(shù),因?yàn)閰?shù)的不同訓(xùn)練結(jié)果會(huì)有顯著差異辐宾,所以調(diào)參也很重要狱从,它影響著最終的評(píng)估結(jié)果。事實(shí)上叠纹,調(diào)參也是一種算法選擇季研,在現(xiàn)實(shí)中我們常采用“嘗試”的方法得到一個(gè)相對(duì)較優(yōu)的參數(shù)結(jié)果。首先設(shè)置該參數(shù)的范圍誉察,進(jìn)而設(shè)置步長(zhǎng)与涡,讓計(jì)算機(jī)遍歷每種情況并選擇最好的結(jié)果。一般步長(zhǎng)選擇要慎重持偏,因?yàn)榇笮偷墓こ虆?shù)眾多驼卖,步長(zhǎng)越短代表算法復(fù)雜度越高,消耗的計(jì)算資源越多鸿秆。
? ? ? ? 當(dāng)我們?cè)u(píng)估完畢并選取算法后酌畜,應(yīng)當(dāng)用數(shù)據(jù)集中所有的數(shù)據(jù)進(jìn)行訓(xùn)練,并交付最終的訓(xùn)練模型卿叽。此外為了區(qū)分桥胞,又稱模型評(píng)估選擇的數(shù)據(jù)集為驗(yàn)證集。例如在估計(jì)某訓(xùn)練模型的泛化能力時(shí)考婴,會(huì)將數(shù)據(jù)集劃分為訓(xùn)練集和驗(yàn)證集贩虾,其中驗(yàn)證集的結(jié)果主要用于調(diào)參。
2.3 性能度量方法
? ? ? ? 性能度量主要用于對(duì)機(jī)器學(xué)習(xí)模型性能的量化評(píng)估沥阱。不同的模型整胃,使用不同的度量方法結(jié)果會(huì)不同。所以說評(píng)判結(jié)果是相對(duì)的,模型好壞取決于算法屁使、數(shù)據(jù)和任務(wù)需求在岂。最常用的性能度量方法是均方根誤差,并結(jié)合概率密度定義表征蛮寂,這里不多介紹蔽午,下面將介紹分類任務(wù)中常用的性能度量的方法。建立模型前酬蹋,做如下符號(hào)說明:
樣例集:
其中是
的正確標(biāo)記及老。設(shè)學(xué)習(xí)器為
,則
為預(yù)測(cè)結(jié)果范抓。
2.3.1 錯(cuò)誤率骄恶、精度
錯(cuò)誤率定義:
精度定義:
其中是二值符號(hào),括號(hào)內(nèi)邏輯正確為1匕垫,錯(cuò)誤為0僧鲁。
這是分類任務(wù)常用的兩個(gè)方法,適應(yīng)二分類任務(wù)和多分類任務(wù)象泵。我們可以根據(jù)概率密度定義寞秃,利用數(shù)據(jù)分布D和概率分布P對(duì)其做更一般的定義:
錯(cuò)誤率概率分布定義:
精度概率分布定義:
2.3.2 查準(zhǔn)率、查全率與![F1](https://math.jianshu.com/math?formula=F1)
? ? ? ? 2.3.1中的方法雖然常用偶惠,但我們有時(shí)候會(huì)關(guān)心訓(xùn)練集或數(shù)據(jù)集中具體訓(xùn)練數(shù)據(jù)如何(好西瓜中我具體分正確多少等)春寿,此時(shí)該方法不滿足需求。所以這里又提出三種方法忽孽,以對(duì)模型進(jìn)行更精確的度量绑改。這里以二分類為分析對(duì)象,則我們可以把預(yù)測(cè)結(jié)果分為四種:真正例兄一、假正例绢淀、真反例、假反例瘾腰,分別用字母TP、FP覆履、TN蹋盆、FN,T表示true硝全、F為false栖雾,P為positive,N為negative伟众。則定義混淆矩陣如下圖:
根據(jù)以上符號(hào)假設(shè)析藕,定義查準(zhǔn)率P和查全率R如下:
? ? ? ??
? ? ? ? 查準(zhǔn)率與查全率是矛盾的,可以理解:算法查詢正確的“范圍”(比如西瓜的種類數(shù))擴(kuò)大了凳厢,正確率肯定會(huì)下降账胧,反之亦然竞慢。所以我們應(yīng)當(dāng)在兩者之間取得一平衡點(diǎn),使得機(jī)器學(xué)習(xí)模型評(píng)估效果最佳治泥,而我們可以通過“P-R曲線”找到平衡點(diǎn)筹煮。曲線橫坐標(biāo)為查全率,縱坐標(biāo)為查準(zhǔn)率居夹,在對(duì)機(jī)器學(xué)習(xí)結(jié)果樣例進(jìn)行排序后败潦,計(jì)算器查準(zhǔn)率與查全率,一般性的可以得到類似下圖:
? ? ? ? 根據(jù)圖4准脂,我們知道曲線與直線相交的點(diǎn)即為平衡點(diǎn)(BEP)劫扒,這里有多個(gè)平衡點(diǎn)。我們一般認(rèn)為曲線下方面積越大則性能越好狸膏,所以選最外層的一個(gè)沟饥。不過看到最外層與內(nèi)一層的曲線有交叉點(diǎn),這使得我們無法肉眼判斷優(yōu)良环戈。此時(shí)我們可以計(jì)算平衡點(diǎn)的函數(shù)值闷板,越大的代表性能越好。不過書中給出了更精確的量化比較方法院塞,即F1度量法遮晚,公式如下:
? ? ? ??
在現(xiàn)實(shí)中,我們有可能對(duì)查準(zhǔn)率和查全率有不同重視程度拦止,所以此時(shí)引出F1度量的一般形式县遣,定義字母和公式如下:
? ? ? ??
其中,當(dāng)
=1時(shí)退化為F1度量汹族,當(dāng)
>1時(shí)對(duì)查全率的權(quán)重更高萧求,當(dāng)
<1時(shí)對(duì)查準(zhǔn)率的權(quán)重較高。
? ? ? ? 現(xiàn)在我們討論更一般的情況顶瞒,之前的度量是針對(duì)一組混淆矩陣,現(xiàn)在我們將數(shù)量上升到n個(gè)坑资。解決方案很簡(jiǎn)單嗽仪,第一種方案是:可以通過計(jì)算查準(zhǔn)率與查全率的平均值鲤氢,求得宏查準(zhǔn)率和宏查全率相种,帶入F1公式后可求得宏F1度量斤蔓。第二種方案是:先求得真正例等四類數(shù)據(jù)的平均值,再將其們帶入求得幾個(gè)宏數(shù)值旨指。
2.3.3 ROC與AUC
? ? ? ? 機(jī)器學(xué)習(xí)一般的二分類方法是:根據(jù)模型求得一個(gè)0~1的數(shù)低淡,假設(shè)閾值為0.5餐塘,則大于0.5為一類需纳,小于為另一類。根據(jù)模型分類結(jié)果灭必,我們以“最有可能”到“最不可能”方式排序秘狞,定義一截?cái)帱c(diǎn),將樣本分為正例和反例蹈集。截?cái)帱c(diǎn)由認(rèn)為規(guī)定烁试,若給查準(zhǔn)率更高的權(quán)重,則將截?cái)帱c(diǎn)前移拢肆,若給查全率更高權(quán)重减响,則后移靖诗。ROC就是利用據(jù)排序結(jié)果的好壞計(jì)算學(xué)習(xí)器泛化性能。
? ? ? ? ROC全稱為受試者工作特征(Receiver Operating Charactoristic)支示,方法與P-R曲線類似刊橘,也是畫一條曲線稱“ROC圖”,以真正例率(TPR)和為縱坐標(biāo)颂鸿,以正例率(FPR)為橫坐標(biāo)劃出促绵。兩個(gè)新的維度定義如下:
? ? ? ??
這里給出一個(gè)樣例圖如下圖。我們希望畫出來的是a圖嘴纺,但由于數(shù)據(jù)時(shí)離散且有限的败晴,我們只能畫出b圖。
繪制過程如下:
① 給定個(gè)正例和
個(gè)反例颖医,根據(jù)模型預(yù)測(cè)結(jié)果排序位衩。
② 將分類閾值設(shè)置為最大,設(shè)所有的結(jié)果為反例熔萧,沒有正例糖驴。當(dāng)前點(diǎn)的坐標(biāo)則為(0, 0)。
③ 每次將序列中的一個(gè)提出并劃分到正例佛致,設(shè)前一點(diǎn)坐標(biāo)為贮缕。當(dāng)該點(diǎn)為真正例,則該點(diǎn)坐標(biāo)記為
俺榆,若為反正例感昼,則記為
罐脊。
④ 重復(fù)③定嗓,直至所有點(diǎn)都被劃分為正例,即最后一點(diǎn)坐標(biāo)為(1, 1)萍桌。
? ? ? ? 從圖判斷好壞的標(biāo)準(zhǔn)和P-R圖極其類似宵溅,其判斷依據(jù)就是ROC曲線下面積(Area Under ROC Curve,AUC)上炎。其越大表示性能越好恃逻。因?yàn)辄c(diǎn)都是離散的,所以我們利用求和的方式求得面積藕施,公式如下:
? ? ? ??
設(shè)D表示數(shù)據(jù)集寇损,+表示正例的,-表示反例的裳食,則定義排序損失(loss)如下:
它與AUC關(guān)系為:
2.3.4 代價(jià)敏感錯(cuò)誤與代價(jià)曲線
? ? ? ? 我們之前幾小節(jié)衡量量化時(shí)矛市,將正確的和錯(cuò)誤的整體內(nèi)部看做平等的,即他們內(nèi)部權(quán)重相等诲祸,但在現(xiàn)實(shí)中并不然浊吏。一次西瓜識(shí)別錯(cuò)誤導(dǎo)致農(nóng)民損失100元與金庫錯(cuò)把小偷放入損失幾個(gè)億對(duì)比憨愉,可以看到錯(cuò)誤是有區(qū)別的,因?yàn)樵斐珊蠊?b>代價(jià)(cost)不同卿捎。為了衡量不同的錯(cuò)誤,我們可以給錯(cuò)誤賦值不同的代價(jià)径密,稱“非均等代價(jià)”午阵。
? ? ? ? 拿二分類舉例,根據(jù)代價(jià)思想享扔,可以設(shè)計(jì)代價(jià)矩陣底桂,如下圖:
其中cost代表代價(jià),角標(biāo)表示矩陣行與列的位置惧眠,一般矩陣主對(duì)角線為0(自己對(duì)自己完全相同籽懦,不會(huì)付出代價(jià))。在考慮非均等代價(jià)前提下氛魁,我們的目標(biāo)是使得整體的錯(cuò)誤代價(jià)最小化暮顺。若將圖6中0類作為正例,1為反例秀存,則可定義敏感代價(jià)錯(cuò)誤率公式如下:
我們可以看到公式的變化捶码,在原來判斷的基礎(chǔ)上,針對(duì)不同的情況給出不同的cost權(quán)重或链,這樣代價(jià)會(huì)影響到最終的代價(jià)大小惫恼。
在非均等代價(jià)下,ROC曲線也要改變澳盐,以反映真正的總體期望代價(jià)祈纯,所以這里提出代價(jià)曲線。其橫軸為[0, 1]的正例率代價(jià)叼耙,縱軸是在[0, 1]的歸一化代價(jià)腕窥。它們的公式分別表示如下:
? ? ? ??
其中p表示樣例為正例率的概率。我們來理解一下這兩個(gè)式子旬蟋。首先根據(jù)圖6油昂,只會(huì)出現(xiàn)假反例和假正例兩種可能會(huì)付出錯(cuò)誤代價(jià),那么分母就表示代價(jià)的總量倾贰。其次冕碟,在正例中,我們會(huì)有p的概率出現(xiàn)假正例的可能匆浙,而有p-1的概率在反例中出現(xiàn)假反例可能安寺,所以根據(jù)正例率代價(jià)的意思,第一個(gè)公式分子就代表假反例的總量首尼。最后理解一下歸一化總代價(jià)挑庶,分子中在定義同正例率代價(jià)一樣的代價(jià)總量外言秸,還加上了不同錯(cuò)誤概率的區(qū)分,所以該式分子包含錯(cuò)誤細(xì)分種類迎捺、錯(cuò)誤細(xì)分代價(jià)兩個(gè)細(xì)節(jié)举畸。這兩個(gè)也即總代價(jià)的兩個(gè)特點(diǎn)。根據(jù)公式凳枝,參考ROC中曲線的作圖方法抄沮,可得到下圖:
? ? ? ? 高中時(shí)應(yīng)該做過線性規(guī)劃吧,當(dāng)時(shí)畫圖利用曲線方程不等式表示陰影部分以限制二維區(qū)域的范圍岖瑰,代價(jià)曲線也是如此叛买。ROC曲線的沒一點(diǎn)對(duì)應(yīng)代價(jià)平面一條直線,因?yàn)檫@些直線是當(dāng)前代價(jià)下的最大值(最糟糕情況)蹋订,所以每個(gè)直線的下方即為總體代價(jià)率挣,也即所有直線下方面積的并集即為期望總體代價(jià),通過計(jì)算比較面積大小露戒,來間接比較模型性能的好壞椒功。
2.4 比較檢驗(yàn)
? ? ? ? 有了之前的評(píng)估方法和性能度量方法,我們就可以開始對(duì)模型的比較了智什,一般的順序是:首先使用評(píng)估方法蛾茉,選擇合適的學(xué)習(xí)器,利用性能度量方法對(duì)不同學(xué)習(xí)結(jié)果測(cè)試撩鹿,然后就進(jìn)行比較了谦炬。比較不是簡(jiǎn)單的比較大小,主要有以下幾個(gè)原因:① 如何更精確的比較“泛化”性能节沦,而不是單單“測(cè)試集”上的性能键思。?② 測(cè)試集是隨機(jī)的,不同測(cè)試集結(jié)果不同甫贯。?③ 機(jī)器學(xué)習(xí)算法具有隨機(jī)性吼鳞,相同的模型參數(shù)得到的結(jié)果也會(huì)不同。那么應(yīng)該如何比較叫搁?這節(jié)著重講這個(gè)赔桌,我們主要采用概率論中的假設(shè)檢驗(yàn)法。本節(jié)將介紹兩個(gè)常用假設(shè)檢驗(yàn)方法和結(jié)果常用機(jī)器學(xué)習(xí)性能比較方法渴逻。其中設(shè)公式符號(hào)表示錯(cuò)誤率疾党,表示性能度量結(jié)果。
2.4.1 比較檢驗(yàn)
統(tǒng)計(jì)中只能計(jì)算測(cè)試的錯(cuò)誤率惨奕,該方法思路是通過測(cè)試錯(cuò)誤率間接的表示泛化錯(cuò)誤率
雪位。假設(shè)是獨(dú)立采樣,若測(cè)試中有m個(gè)樣本梨撞,則整體測(cè)試錯(cuò)誤概率可由二項(xiàng)分布表示如下:
? ? ? ??
給定雹洗,則可解
對(duì)
的一階偏導(dǎo)方程可知香罐,
在
時(shí)最大,當(dāng)
時(shí)时肿,對(duì)10個(gè)樣本求解到下圖:
通過二項(xiàng)檢驗(yàn)庇茫,假設(shè),在
的概率內(nèi)螃成,計(jì)算其置信區(qū)間
? ? ? ??
以上假設(shè)檢驗(yàn)是針對(duì)一個(gè)模型的一個(gè)結(jié)果港令,但有時(shí)我們會(huì)產(chǎn)生多個(gè)結(jié)果,比如采用多次留出法或交叉驗(yàn)證法锈颗,此時(shí)可采用t檢驗(yàn)。設(shè)已測(cè)試k個(gè)錯(cuò)誤率咪惠,設(shè)其均值為击吱,方差為
,定義如下:
? ? ? ??
k個(gè)測(cè)試錯(cuò)誤率可看做泛化錯(cuò)誤率的獨(dú)立采樣遥昧,T變量:
服從自由度為k-1的t分布覆醇,如下圖所示:
使用雙邊假設(shè),圖中陰影部分在和
兩個(gè)區(qū)間炭臭,若
在
內(nèi)永脓,則接受假設(shè),否則拒絕假設(shè)鞋仍。
2.4.2 交叉驗(yàn)證t檢驗(yàn)
? ? ? ? 設(shè)有學(xué)習(xí)器A和B常摧,均使用k折交叉驗(yàn)證法,得到的錯(cuò)誤率為和
威创,i取值為1到k,其一對(duì)采用的是相同的折數(shù)位置訓(xùn)練的。則可以使用“成對(duì)t檢驗(yàn)”姨伤,這里認(rèn)為若兩個(gè)學(xué)習(xí)器相同谷异,相同折數(shù)的錯(cuò)誤率也相同。算法的具體做法如下:
① 令, 計(jì)算均值和方差吸申。
② 求變量梗劫,若小于
,則接受假設(shè)截碴,否則拒絕假設(shè)梳侨,且錯(cuò)誤率小的模型較優(yōu)。
? ? ? ? 之前我們提到日丹,計(jì)算泛化誤差的一個(gè)假設(shè)前提是測(cè)試錯(cuò)誤率是泛化錯(cuò)誤率的獨(dú)立采樣猫妙,但k折交叉驗(yàn)證顯然在多次測(cè)試時(shí)數(shù)據(jù)選用重疊,使得最終的計(jì)算結(jié)果比正常值偏高聚凹。為解決問題割坠,可采用交叉驗(yàn)證齐帚。以下是該方法的實(shí)現(xiàn)過程:
① 做2折交叉檢驗(yàn),做5次彼哼。
② 每次2折交叉檢驗(yàn)前將數(shù)據(jù)隨機(jī)打亂对妄,使得五次檢驗(yàn)數(shù)據(jù)分布不同。
③ 設(shè)第n折得到的插值為敢朱,每做兩次2折交叉檢驗(yàn)求一次均值
和方差
利用三步求得的已知剪菱,可求變量T:,其服從自由度為n的t分布拴签,可以通過查表得到結(jié)果孝常。
2.4.3 McNemar檢驗(yàn)
? ? ? ? 該檢驗(yàn)方法最適合二分類問題,使用留出法可估計(jì)學(xué)習(xí)器AB的測(cè)試錯(cuò)誤率蚓哩,還可以得到學(xué)習(xí)器分類結(jié)果差別构灸,可以通過列聯(lián)表展示,示例如下圖:
? ? ? ? 若兩學(xué)習(xí)器性能形同岸梨,則喜颁,均值為1,方差為
曹阔,所以變量T:
? ? ? ??
服從自由度為1的卡方分布半开,設(shè)顯著度為,則當(dāng)變量結(jié)果小于臨界值
,接受假設(shè)赃份,否則拒絕假設(shè)寂拆。
2.4.5 Friedman檢驗(yàn)與Memenyi后續(xù)檢驗(yàn)
? ? ? ? 前面的幾種檢驗(yàn)方法主要同于比較兩個(gè)學(xué)習(xí)器對(duì)于同一數(shù)據(jù)集的學(xué)習(xí)性能,雖然比較更多算法時(shí)可以兩兩比較抓韩,但不如Friedman檢驗(yàn)直接漓库,它是基于算法排序的,可以直接進(jìn)行多算法比較≡膀穑現(xiàn)在假設(shè)有四個(gè)數(shù)據(jù)集和三個(gè)算法ABC渺蒿,則它的算法過程如下:
① 使用留出法或交叉檢驗(yàn)法得到每個(gè)算法在每個(gè)數(shù)據(jù)集的測(cè)試結(jié)果,并填入算法比較序值表中彪薛。
② 在每個(gè)數(shù)據(jù)集中對(duì)每個(gè)算法的性能好壞排序茂装,賦值1,2善延,3等少态,如果兩算法性能相同,則取平均值易遣。表格示例如下圖:
③ 從表中判算法性能是否相同彼妻,若相同則平均序值相同,否則取平均,示例可見圖11侨歉。
設(shè)存在N個(gè)數(shù)據(jù)集屋摇,比較k個(gè)算法,設(shè)表示第i個(gè)算法的平均序值幽邓,設(shè)其服從正態(tài)分布炮温,均值為
,方差為
牵舵,則變量T:
在k和N較大時(shí)柒啤,變量服從自由度為k-1的卡方分布。上式有些保守畸颅,改進(jìn)的公式將分布變?yōu)镕分布担巩,使得結(jié)果更精確,改變后如下:
? ? ? ??
該變量服從自由度為k-1和的F分布没炒,下圖給出常用臨界值:
? ? ? ? 若通過上述檢驗(yàn)比較發(fā)現(xiàn)“所有算法性能相同”的假設(shè)被拒絕涛癌,則說明算法性能顯著不同,此時(shí)要使用Memenyi后續(xù)檢驗(yàn)做進(jìn)一步分析窥浪。其通過下面公式計(jì)算平均序值差別的臨界值域。
? ? ? ??
下圖給出幾個(gè)的常用取值:
? ? ? ? 上述兩個(gè)檢驗(yàn)方法結(jié)合算出結(jié)果后笛丙,可在Friedman檢驗(yàn)圖中直觀的展示漾脂。上述算法ABC的例子得到的結(jié)果展示圖如下:
圖中橫軸是平均序值,用圓點(diǎn)表示胚鸯,橫線是表示臨界值域骨稿。若算法間橫線有交疊,則兩算法無先出差別姜钳,否則說明有顯著差別坦冠。圖15中A與B有交疊,所以沒有顯著差別哥桥,A與C沒有交疊辙浑,且A序值更高,說明算法A優(yōu)于算法C拟糕。(這里其實(shí)有個(gè)疑問判呕,圖中算法B與算法C交疊,說明B與C無顯著差別送滞,那么根據(jù)傳遞關(guān)系侠草,是不是三者都沒有顯著差別呢?)<1>
2.5 偏差與方差
? ? ? ? 除了評(píng)估泛化性能外犁嗅,我們往往還需要知道模型為什么會(huì)呈現(xiàn)這樣的性能边涕,這是我們就需要使用“偏差-方差分解”(bias-variance decomposition)方法進(jìn)行解釋。它的基本思想是,將學(xué)習(xí)算法評(píng)估得到的期望泛化錯(cuò)誤率進(jìn)行分解功蜓。本節(jié)主要講解其實(shí)現(xiàn)园爷。
2.5.1 符號(hào)說明
? ? ? ? 對(duì)測(cè)試樣本,令
為
在數(shù)據(jù)集中的真實(shí)標(biāo)記霞赫,
表示訓(xùn)練集D上學(xué)習(xí)模型
在
的預(yù)測(cè)輸出腮介。這里推導(dǎo)以回歸任務(wù)為例。
2.5.2 模型建立與推導(dǎo)
定義期望預(yù)期:
定義方差:
定義噪聲:
則期望輸出與真實(shí)標(biāo)記的差別稱為偏差端衰,定義為:
為便于推導(dǎo)叠洗,設(shè)=0,推導(dǎo)過程書上寫的很詳細(xì)旅东,也比較重要灭抑,截圖如下:
所以帶入之前定義變量有:
也即泛化誤差可分解為偏差、方差和噪聲之和抵代。
2.5.3 理解
? ? ? ? 公式中腾节,偏差表示預(yù)期與真實(shí)結(jié)果的誤差,也即機(jī)器學(xué)習(xí)算法的擬合能力荤牍;方差度量同樣的訓(xùn)練集變動(dòng)案腺,其學(xué)習(xí)性能的變化,也即數(shù)據(jù)擾動(dòng)造成的影響康吵;噪聲表示泛化誤差的下界劈榨,也即學(xué)習(xí)問題本身的難度。推導(dǎo)結(jié)果說明晦嵌,泛化誤差是由這三者組成的同辣。
? ? ? ? 一般情況,偏差與誤差是矛盾的惭载,如下圖所示旱函,(下方的黑線表示偏差,上方黑線表示泛化誤差)這代表我們無法保證每個(gè)指標(biāo)都達(dá)到自身的最佳描滔。當(dāng)訓(xùn)練程度小時(shí)棒妨,由于欠擬合,數(shù)據(jù)預(yù)測(cè)的偏差較大含长,此時(shí)影響泛化誤差變大主要因素是偏差靶衍。當(dāng)訓(xùn)練程度逐漸變大時(shí),模型越來越完善茎芋,偏差會(huì)變小颅眶,方差會(huì)變大。當(dāng)訓(xùn)練程度過大時(shí)田弥,模型過擬合涛酗,雖然偏差非常小,但方差非常大,此時(shí)影響泛化誤差變大的主要因素是方差商叹。根據(jù)理論燕刻,我們應(yīng)當(dāng)給出的訓(xùn)練程度恰好使得泛化誤差最小。
2.6 總結(jié)
? ? ? ? 本章學(xué)習(xí)如何評(píng)估與選擇模型卵洗,首先我們知道學(xué)習(xí)模型學(xué)習(xí)程度不同,會(huì)導(dǎo)致欠擬合與過擬合弥咪。然后我們學(xué)習(xí)了模型選擇方法:留出法过蹂、k折交叉驗(yàn)證法、自助法聚至。選擇好模型后就要進(jìn)行性能度量酷勺,本文采取計(jì)算誤差來表征,提到了錯(cuò)誤率扳躬、精度脆诉、查準(zhǔn)率、查全率贷币、击胜、ROC、AUC役纹、代價(jià)敏感錯(cuò)誤偶摔、代價(jià)曲線這幾種方法。計(jì)算完性能字管,我們要對(duì)幾個(gè)模型進(jìn)行比較啰挪,本文講了Friedman檢驗(yàn)信不、Memenyi后續(xù)檢驗(yàn)嘲叔、?McNemar檢驗(yàn)、?交叉驗(yàn)證t檢驗(yàn)抽活、?比較檢驗(yàn)這幾種方法硫戈。最后我們講了利用偏差與方差,理解該模型產(chǎn)生性能結(jié)果的原因下硕。