機(jī)器學(xué)習(xí)實(shí)驗(yàn)

介紹
第一部分 參數(shù)方法——類密度模型參數(shù)估計(jì)
第二部分 監(jiān)督學(xué)習(xí)——分類(基于似然的方法)
第三部分 監(jiān)督學(xué)習(xí)——分類(基于判別式的方法)(參數(shù)方法——判別式參數(shù)估計(jì))
第四部分 監(jiān)督學(xué)習(xí)——回歸
第五部分 監(jiān)督學(xué)習(xí)——關(guān)聯(lián)規(guī)則
第六部分 維度規(guī)約(特征的提取和組合)
第七部分 半?yún)?shù)方法
第八部分 非監(jiān)督學(xué)習(xí)——聚類
第九部分 非參數(shù)方法——密度估計(jì)
第十部分 非參數(shù)方法——決策樹實(shí)現(xiàn)的判別式
第十一部分 多層感知器——非參數(shù)估計(jì)器
第十二部分 局部模型
第十三部分 支持向量機(jī)與核機(jī)器
第十四部分 隱馬爾科夫模型
第十五部分 參數(shù)的貝葉斯估計(jì)
第十六部分 集成學(xué)習(xí)——組合多學(xué)習(xí)器
第十七部分 增強(qiáng)學(xué)習(xí)
第十八部分 機(jī)器學(xué)習(xí)實(shí)驗(yàn)
第十九部分 特征工程與數(shù)據(jù)預(yù)處理

對(duì)一個(gè)給定的應(yīng)用,多種算法都是可行的,那么如何選擇算法,對(duì)比不同的算法呢?這實(shí)際上是這樣一個(gè)問(wèn)題:
如何評(píng)價(jià)一個(gè)學(xué)習(xí)算法在給定應(yīng)用上的好壞?
也就是估計(jì)算法的期望誤差如何,是否能夠以足夠的置信度說(shuō)在之后的實(shí)際應(yīng)用中,期望誤差總是小于某個(gè)給定值?
而如果解決了這個(gè)問(wèn)題,那么在比較不同算法的問(wèn)題上,考慮的就是“是否可以說(shuō)一個(gè)算法的誤差比另一個(gè)算法更低?”。

在評(píng)價(jià)一個(gè)算法時(shí),不能只看訓(xùn)練集上的誤差并據(jù)此來(lái)做出判斷。根據(jù)算法目標(biāo)函數(shù)定義,訓(xùn)練集上的誤差總是小于包含訓(xùn)練時(shí)未見實(shí)例的驗(yàn)證集上的誤差。

類似地,訓(xùn)練誤差不能用于比較兩個(gè)算法。

因此,我們需要一個(gè)不同于訓(xùn)練集的驗(yàn)證集。而且只運(yùn)行一輪訓(xùn)練加檢驗(yàn)是不夠的。一方面因?yàn)?,單一的?xùn)練集和驗(yàn)證集可能因?yàn)檩^小或含有異常值,會(huì)產(chǎn)生誤導(dǎo)。此外,學(xué)習(xí)算法依賴于影響其泛化能力的因素(如一些超參數(shù),輸入模型,初始值等),只運(yùn)行一輪無(wú)法識(shí)別這些因素的影響。只有在學(xué)習(xí)方法的代價(jià)非常高以至于只能訓(xùn)練和驗(yàn)證一次的時(shí)候,才可接受。

每訓(xùn)練一次,在數(shù)據(jù)集上產(chǎn)生一個(gè)學(xué)習(xí)器,并得到一個(gè)驗(yàn)證誤差。對(duì)一個(gè)學(xué)習(xí)算法的評(píng)估基于這些驗(yàn)證誤差的分布。根據(jù)分布來(lái)評(píng)估算法在給定問(wèn)題上的期望誤差,或?qū)⑵渑c其他算法的誤差分布進(jìn)行比較。

這樣,當(dāng)在一個(gè)數(shù)據(jù)集上使用訓(xùn)練集訓(xùn)練學(xué)習(xí)器,在驗(yàn)證集上檢驗(yàn)它的準(zhǔn)確率并試圖提取結(jié)論時(shí),我們所做的就是實(shí)驗(yàn)。


機(jī)器學(xué)習(xí)實(shí)驗(yàn)的因素和響應(yīng)

機(jī)器學(xué)習(xí)的任務(wù)是得到具有最高泛化準(zhǔn)確率、最小復(fù)雜度的學(xué)習(xí)器,同時(shí)希望學(xué)習(xí)器魯棒。

機(jī)器學(xué)習(xí)實(shí)驗(yàn)則是為了達(dá)成機(jī)器學(xué)習(xí)的任務(wù)所進(jìn)行的實(shí)驗(yàn)。一個(gè)實(shí)驗(yàn)是一次檢驗(yàn)或一系列檢驗(yàn),其考察一個(gè)在訓(xùn)練集上訓(xùn)練過(guò)的,能夠?qū)o定輸入產(chǎn)生輸出的學(xué)習(xí)器。實(shí)驗(yàn)中影響輸出的因素包括使用的算法、訓(xùn)練集、輸入特征等。而實(shí)驗(yàn)得到的輸出結(jié)果(如分類準(zhǔn)確率)稱為響應(yīng),不同的因素會(huì)有不同的響應(yīng)。通過(guò)觀察響應(yīng),來(lái)識(shí)別重要的因素,或找出能優(yōu)化響應(yīng)的因素。實(shí)驗(yàn)的目的,是通過(guò)規(guī)劃實(shí)驗(yàn),分析數(shù)據(jù),來(lái)排除隨機(jī)性的影響,得到統(tǒng)計(jì)顯著的結(jié)論,進(jìn)而找到具有最高泛化準(zhǔn)確率、最小復(fù)雜度的學(xué)習(xí)器。

實(shí)驗(yàn)中涉及的因素可以分為可控因素和不可控因素??煽匾蛩匕ň唧w使用的算法、算法的超參數(shù)、輸入的模式、初始值等。不可控因素則包括數(shù)據(jù)中的噪聲、數(shù)據(jù)抽取及優(yōu)化過(guò)程中的隨機(jī)性。

響應(yīng)則是通過(guò)學(xué)習(xí)器輸出產(chǎn)生的。包括檢驗(yàn)集上的平均分類誤差、使用損失函數(shù)的期望誤差等度量準(zhǔn)確率的指標(biāo)測(cè)度。

有了因素和響應(yīng),需要為最佳響應(yīng)找到這些因素的最佳設(shè)置,確定各因素對(duì)響應(yīng)的影響,這也是實(shí)驗(yàn)的目的所在。有多種實(shí)驗(yàn)策略,最常使用的一種策略稱作網(wǎng)格搜索,對(duì)不同的因素取值進(jìn)行組合,分別對(duì)比不同因素設(shè)置的差異。這種方式在各機(jī)器學(xué)習(xí)工具中都有使用。

實(shí)驗(yàn)的基本原則

  1. 隨機(jī)化
    隨機(jī)化要求實(shí)驗(yàn)對(duì)不同因素設(shè)置組合所進(jìn)行的次序應(yīng)該是隨機(jī)的,
  2. 重復(fù)
    重復(fù)意味著對(duì)每種不同可控因素的設(shè)置,都應(yīng)該進(jìn)行多次實(shí)驗(yàn)。以便通過(guò)平均抵消不可控因素帶來(lái)的影響。在機(jī)器學(xué)習(xí)中,這通常通過(guò)在相同數(shù)據(jù)集的許多再抽樣的版本上運(yùn)行相同的算法來(lái)實(shí)現(xiàn),也就是交叉驗(yàn)證。
  3. 阻止
    阻止用來(lái)降低有害因素(指影響響應(yīng)但我們對(duì)其不關(guān)心的因素)導(dǎo)致的可變性,保證有害因素不影響實(shí)驗(yàn)的對(duì)比。舉例來(lái)說(shuō),當(dāng)比較不同算法時(shí),其準(zhǔn)確率不僅取決于不同的算法,還取決于不同的訓(xùn)練集。所以為了保證對(duì)比是有意義的,需要保證對(duì)于不同算法,用于進(jìn)行多次訓(xùn)練的不同訓(xùn)練集是一樣的。

機(jī)器學(xué)習(xí)實(shí)驗(yàn)的一些要點(diǎn)

對(duì)于任何機(jī)器學(xué)習(xí)實(shí)驗(yàn)來(lái)說(shuō),步驟都是相同的。唯一的區(qū)別是所收集的響應(yīng)數(shù)據(jù)的抽樣分布。

首先需要明確的是機(jī)器學(xué)習(xí)實(shí)驗(yàn)的研究目標(biāo),我們感興趣的是評(píng)估一個(gè)學(xué)習(xí)算法在特定問(wèn)題上的期望誤差(響應(yīng)度量)。一般情況下,我們會(huì)從多個(gè)算法中選擇具有最低誤差的一個(gè),或?qū)o定數(shù)據(jù)集將它們按誤差排序。

接下來(lái)要明確實(shí)驗(yàn)的因素,它取決于研究目標(biāo)。固定算法的時(shí)候,因素就是要找出的最佳超參數(shù);在比較算法的時(shí)候,因素就是不同的學(xué)習(xí)算法。對(duì)于因素依賴于輸入標(biāo)度的情況(如Parzen窗口的展寬h,不能簡(jiǎn)單地嘗試1,2等絕對(duì)值,這樣會(huì)錯(cuò)失很多數(shù)據(jù)),為了避免錯(cuò)過(guò)好的配置,需要對(duì)其進(jìn)行規(guī)范化,使之不依賴于輸入的標(biāo)度,采用指示標(biāo)度的統(tǒng)計(jì)量。

對(duì)于響應(yīng)變量的選擇,最常用的是誤差,也就是分類問(wèn)題的誤分類錯(cuò)誤或回歸問(wèn)題的均方誤差。此外,還可以使用風(fēng)險(xiǎn)度量(損失函數(shù))。

在結(jié)束機(jī)器學(xué)習(xí)實(shí)驗(yàn)的驗(yàn)證后,選定了某一算法和相應(yīng)的因素,這時(shí)希望給出其期望誤差。為此需要使用另一個(gè)在實(shí)驗(yàn)訓(xùn)練過(guò)程中未曾使用過(guò)的檢驗(yàn)集(test set)。一般地,給定一個(gè)數(shù)據(jù)集,會(huì)留1/3作為檢驗(yàn)集。而其余的做交叉驗(yàn)證產(chǎn)生多組訓(xùn)練集驗(yàn)證集用于實(shí)驗(yàn)確定超參數(shù),通??梢酝ㄟ^(guò)抽樣來(lái)對(duì)數(shù)據(jù)集進(jìn)行分割。

實(shí)際上,對(duì)于準(zhǔn)確率相差不大的學(xué)習(xí)器,需要很多的檢驗(yàn)集才能予以分辨。如90% 和 90.1%的準(zhǔn)確率,需要檢驗(yàn)集容量達(dá)到10000才可能檢測(cè)到這0.1% 的性能提升。但這0.1%的性能提升有時(shí)候?qū)τ跊Q策非常重要,大數(shù)據(jù)時(shí)代使得我們可以實(shí)現(xiàn)這樣的提升。

通過(guò)機(jī)器學(xué)習(xí)實(shí)驗(yàn)找到最好的因素設(shè)置后,就可以進(jìn)行機(jī)器學(xué)習(xí)任務(wù)了。這時(shí)確定了因素的機(jī)器學(xué)習(xí)任務(wù),可以使用之前實(shí)驗(yàn)過(guò)程中使用的訓(xùn)練和驗(yàn)證集來(lái)作為機(jī)器學(xué)習(xí)任務(wù)的數(shù)據(jù)。

在做實(shí)驗(yàn)的過(guò)程中,最好保留一些中間結(jié)果,尤其是一些大型試驗(yàn)。這樣可以隨時(shí)在需要時(shí)重新運(yùn)行整個(gè)實(shí)驗(yàn)的一部分。實(shí)驗(yàn)過(guò)程中的所有結(jié)果都應(yīng)當(dāng)是可再現(xiàn)的。


交叉驗(yàn)證

給定數(shù)據(jù)集X,從該數(shù)據(jù)集中產(chǎn)生K對(duì)訓(xùn)練集/驗(yàn)證集\{T_i,V_i \}_{i=1}^K。要保持訓(xùn)練集和驗(yàn)證集盡可能大,使得誤差的估計(jì)具有魯棒性。往往數(shù)據(jù)集X不夠大,不能簡(jiǎn)單地通過(guò)將其分為K個(gè)部分來(lái)獲得訓(xùn)練集/驗(yàn)證集,而是通過(guò)不同劃分來(lái)重復(fù)使用X,這就成為交叉驗(yàn)證

在劃分?jǐn)?shù)據(jù)集X時(shí),要保持不同集合間的重疊盡可能小。還要確保在抽取子集時(shí),保證各類比例符合實(shí)際,不擾亂類的先驗(yàn)概率,這稱為分層。

K折交叉驗(yàn)證

K折交叉驗(yàn)證時(shí)中,數(shù)據(jù)集X被隨機(jī)地劃分K等分X_i(i=1,\cdots,K)。并將K份數(shù)據(jù)中的一份保留做驗(yàn)證集,其余K-1份合并作為訓(xùn)練集,從而產(chǎn)生K對(duì)訓(xùn)練集/驗(yàn)證集。
這種方法比較常見,但也存在一些問(wèn)題。首先其為了保證訓(xùn)練集足夠大,使得驗(yàn)證集較小。其次,訓(xùn)練集相當(dāng)大程度上存在重疊,任意兩份訓(xùn)練集都有K-2份數(shù)據(jù)重疊。實(shí)踐中,K一般取10~30。K越大,訓(xùn)練集的實(shí)例比例就越大。

5*2交叉驗(yàn)證

5*2交叉驗(yàn)證通過(guò)將數(shù)據(jù)集X均分為兩部分,來(lái)獲得等大小的訓(xùn)練集和驗(yàn)證集。每一次均分通過(guò)隨機(jī)不放回抽樣實(shí)現(xiàn),得到的兩部分?jǐn)?shù)據(jù)X_1,X_2分別作為訓(xùn)練集和驗(yàn)證集。一般五次均分得到的十組訓(xùn)練集/驗(yàn)證集已經(jīng)共享了許多實(shí)例,所以不再獲取更多的均分?jǐn)?shù)據(jù)集,所以稱為*2交叉驗(yàn)證。

更多的交叉驗(yàn)證方式和應(yīng)用場(chǎng)景在《scikit-learn 中的交叉驗(yàn)證方法》中結(jié)合 scikit-learn 提供的交叉驗(yàn)證方法進(jìn)行了介紹。

分類器性能的度量

對(duì)于分類器,特別是對(duì)于兩類問(wèn)題,已經(jīng)提出了各種度量。在兩類問(wèn)題中,存在四種情況,正確預(yù)測(cè)的正例(真正true positive),錯(cuò)誤預(yù)測(cè)的正例(假負(fù)false negative),正確預(yù)測(cè)的負(fù)例(真負(fù)true negative),錯(cuò)誤預(yù)測(cè)的負(fù)例(假正false positive)。

兩類問(wèn)題混淆矩陣 及 性能度量

在兩類問(wèn)題中存在兩種類型的錯(cuò)誤:假正(TypeⅠerror)、假負(fù)(Type Ⅱ error)。通常所關(guān)注的性能度量有以下幾種:

性能度量 公式
真正率(TPR) \frac{\sum True\ positive}{\sum Condition\ positive}
假正率(FPR) \frac{\sum False\ positive}{\sum Condition\ negative}
誤差 \frac {\sum (False\ negative\ +\ False\ positive)}{N}
精度(precision) \frac{\sum True\ positive}{\sum Predicted\ condition\ positive}
召回率(recall) 同 真正率(TPR)
靈敏度(sensitivity) 同 真正率(TPR)
特效型(specificity) 1 - 假正率(FPR)

假設(shè)系統(tǒng)返回正例的概率為\hat{P}(C_1|x),對(duì)于負(fù)例有\hat{P}(C_2|x)=1-\hat{P}(C_1|x),并且如果\hat{P}(C_1|x)>\theta,則系統(tǒng)預(yù)測(cè)“正的”。如果\theta接近于1,則幾乎不預(yù)測(cè)為正類,將沒有假正例,但也只有少數(shù)真正例。隨著減小\theta來(lái)增加真正例數(shù),但同時(shí)又引入假正例的風(fēng)險(xiǎn)。

對(duì)于不同的\theta,得到許多(TPR,FPR)值對(duì),連接它們得到接受者操作特征(ROC)曲線。

ROC曲線
相交的ROC曲線

理想情況下,分類器的真正率為1,假正率為0。因此ROC曲線越靠近左上角的分類器越好。在對(duì)角線上,真決策和假?zèng)Q策一樣多,這時(shí)最壞的情況。如果兩條ROC曲線相交,則在不同的損失條件\theta下,在上方的好于在下方的。

ROC曲線下方的面積稱作AUC,理想情況下,分類器的AUC為1。所以如果一個(gè)分類器的AUC較大,則它更可取。通過(guò)計(jì)算AUC,可以比較不同的分類器在不同損失條件\theta下平均的整體性能。

精度(precision)和召回率(reacll)在則是從返回的符合要求的樣本量的角度來(lái)考慮的。精度是預(yù)測(cè)到的且符合要求的樣本數(shù)除以預(yù)測(cè)到的所有樣本的總數(shù)。召回率則是預(yù)測(cè)到的符合要求的樣本數(shù)除以所有符合要求的樣本的總數(shù)。如果精度是1,則所有預(yù)測(cè)到的數(shù)據(jù)都符合要求,但可能還存在一些符合要求的幾率沒有被預(yù)測(cè)到。而如果召回率是1,則意味著所有符合要求的數(shù)據(jù)都被預(yù)測(cè)到了,但仍然可能預(yù)測(cè)了一些不符合要求的數(shù)據(jù)。

從另一個(gè)角度但以相同的目的,還有兩個(gè)度量,就是靈敏度(sensitivity)和特效型(specificity)。靈敏度與真正率和召回率相同。特效型則度量預(yù)測(cè)負(fù)實(shí)例的好壞程度,是真負(fù)實(shí)例數(shù)除以負(fù)實(shí)例總數(shù)。

對(duì)于K>2個(gè)類,如果使用0/1誤差,則類混淆矩陣是一個(gè)K*K矩陣,其中元素(i,j)是屬于C_i類但被分類到C_j類的實(shí)例個(gè)數(shù)。理想情況下,所有非對(duì)角線元素均應(yīng)為0,表示沒有錯(cuò)誤分類。

最后編輯于
?著作權(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)容