0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

用于模型評估和選擇的常見方法

深度學習自然語言處理 ? 來源:深度學習自然語言處理 ? 作者:深度學習自然語言 ? 2022-10-25 10:45 ? 次閱讀

摘要:模型評估、模型選擇和算法選擇技術的正確使用在學術性機器學習研究和諸多產業(yè)環(huán)境中異常關鍵。本文回顧了用于解決以上三項任務中任何一個的不同技術,并參考理論和實證研究討論了每一項技術的主要優(yōu)勢和劣勢。進而,給出建議以促進機器學習研究與應用方面的最佳實踐。本文涵蓋了用于模型評估和選擇的常見方法,比如留出方法,但是不推薦用于小數(shù)據(jù)集。不同風格的 bootstrap 技術也被介紹,以評估性能的不確定性,以作為通過正態(tài)空間的置信區(qū)間的替代,如果 bootstrapping 在計算上是可行的。在討論偏差-方差權衡時,把 leave-one-out 交叉驗證和 k 折交叉驗證進行對比,并基于實證證據(jù)給出 k 的最優(yōu)選擇的實際提示。論文展示了用于算法對比的不同統(tǒng)計測試,以及處理多種對比的策略(比如綜合測試、多對比糾正)。最后,當數(shù)據(jù)集很小時,本文推薦替代方法(比如 5×2cv 交叉驗證和嵌套交叉驗證)以對比機器學習算法。


1 簡介:基本的模型評估項和技術

機器學習已經成為我們生活的中心,無論是作為消費者、客戶、研究者還是從業(yè)人員。無論將預測建模技術應用到研究還是商業(yè)問題,我認為其共同點是:做出足夠好的預測。用模型擬合訓練數(shù)據(jù)是一回事,但我們如何了解模型的泛化能力?我們如何確定模型是否只是簡單地記憶訓練數(shù)據(jù),無法對未見過的樣本做出好的預測?還有,我們如何選擇好的模型呢?也許還有更好的算法可以處理眼前的問題呢?

模型評估當然不是機器學習工作流程的終點。在處理數(shù)據(jù)之前,我們希望事先計劃并使用合適的技術。本文將概述這類技術和選擇方法,并介紹如何將其應用到更大的工程中,即典型的機器學習工作流。

1.1 性能評估:泛化性能 vs. 模型選擇

讓我們考慮這個問題:「如何評估機器學習模型的性能?」典型的回答可能是:「首先,將訓練數(shù)據(jù)饋送給學習算法以學習一個模型。第二,預測測試集的標簽。第三,計算模型對測試集的預測準確率。」然而,評估模型性能并非那么簡單。也許我們應該從不同的角度解決之前的問題:「為什么我們要關心性能評估呢?」理論上,模型的性能評估能給出模型的泛化能力,在未見過的數(shù)據(jù)上執(zhí)行預測是應用機器學習或開發(fā)新算法的主要問題。通常,機器學習包含大量實驗,例如超參數(shù)調整。在訓練數(shù)據(jù)集上用不同的超參數(shù)設置運行學習算法最終會得到不同的模型。由于我們感興趣的是從該超參數(shù)設置中選擇最優(yōu)性能的模型,因此我們需要找到評估每個模型性能的方法,以將它們進行排序。

我們需要在微調算法之外更進一步,即不僅僅是在給定的環(huán)境下實驗單個算法,而是對比不同的算法,通常從預測性能和計算性能方面進行比較。我們總結一下評估模型的預測性能的主要作用:

評估模型的泛化性能,即模型泛化到未見過數(shù)據(jù)的能力;

通過調整學習算法和在給定的假設空間中選擇性能最優(yōu)的模型,以提升預測性能;

確定最適用于待解決問題的機器學習算法。因此,我們可以比較不同的算法,選擇其中性能最優(yōu)的模型;或者選擇算法的假設空間中的性能最優(yōu)模型。

雖然上面列出的三個子任務都是為了評估模型的性能,但是它們需要使用的方法是不同的。本文將概述解決這些子任務需要的不同方法。

我們當然希望盡可能精確地預測模型的泛化性能。然而,本文的一個要點就是,如果偏差對所有模型的影響是等價的,那么偏差性能評估基本可以完美地進行模型選擇和算法選擇。如果要用排序選擇最優(yōu)的模型或算法,我們只需要知道它們的相對性能就可以了。例如,如果所有的性能評估都是有偏差的,并且低估了它們的性能(10%),這不會影響最終的排序。更具體地說,如果我們得到如下三個模型,這些模型的預測準確率如下:

M2: 75% > M1: 70% > M3: 65%,

如果我們添加了 10% 的性能偏差(低估),則三種模型的排序沒有發(fā)生改變:

M2: 65% > M1: 60% > M3: 55%.

但是,注意如果最佳模型(M2)的泛化準確率是 65%,很明顯這個精度是非常低的。評估模型的絕對性能可能是機器學習中最難的任務之一。

2f99b01a-5398-11ed-a3b6-dac502259ad0.jpg

圖 2:留出驗證方法的圖示。

2 Bootstrapping 和不確定性 2f894ed2-5398-11ed-a3b6-dac502259ad0.png

本章介紹一些用于模型評估的高級技術。我們首先討論用來評估模型性能不確定性和模型方差、穩(wěn)定性的技術。之后我們將介紹交叉驗證方法用于模型選擇。如第一章所述,關于我們?yōu)槭裁匆P心模型評估,存在三個相關但不同的任務或原因。

我們想評估泛化準確度,即模型在未見數(shù)據(jù)上的預測性能。

我們想通過調整學習算法、從給定假設空間中選擇性能最好的模型,來改善預測性能。

我們想確定手頭最適合待解決問題的機器學習算法。因此,我們想對比不同的算法,選出性能最好的一個;或從算法的假設空間中選出性能最好的模型。

2fb2eefe-5398-11ed-a3b6-dac502259ad0.jpg

圖 3:偏差和方差的不同組合的圖示。

2fee3b62-5398-11ed-a3b6-dac502259ad0.png

圖 4:在 MNIST 數(shù)據(jù)集上 softmax 分類器的學習曲線。

3002a764-5398-11ed-a3b6-dac502259ad0.jpg

圖 5:二維高斯分布中的重復子采樣。

3 交叉驗證和超參數(shù)優(yōu)化 2f894ed2-5398-11ed-a3b6-dac502259ad0.png

幾乎所有機器學習算法都需要我們機器學習研究者和從業(yè)者指定大量設置。這些超參數(shù)幫助我們控制機器學習算法在優(yōu)化性能、找出偏差方差最佳平衡時的行為。用于性能優(yōu)化的超參數(shù)調整本身就是一門藝術,沒有固定規(guī)則可以保證在給定數(shù)據(jù)集上的性能最優(yōu)。前面的章節(jié)提到了用于評估模型泛化性能的留出技術和 bootstrap 技術。偏差-方差權衡和計算性能估計的不穩(wěn)定性方法都得到了介紹。本章主要介紹用于模型評估和選擇的不同交叉驗證方法,包括對不同超參數(shù)配置的模型進行排序和評估其泛化至獨立數(shù)據(jù)集的性能。

本章生成圖像的代碼詳見:https://github.com/rasbt/model-eval-article-supplementary/blob/master/code/resampling-and-kfold.ipynb。

302531d0-5398-11ed-a3b6-dac502259ad0.jpg

圖 11:logistic 回歸的概念圖示。

我們可以把超參數(shù)調整(又稱超參數(shù)優(yōu)化)和模型選擇的過程看作元優(yōu)化任務。當學習算法在訓練集上優(yōu)化目標函數(shù)時(懶惰學習器是例外),超參數(shù)優(yōu)化是基于它的另一項任務。這里,我們通常想優(yōu)化性能指標,如分類準確度或接受者操作特征曲線(ROC 曲線)下面積。超參數(shù)調整階段之后,基于測試集性能選擇模型似乎是一種合理的方法。但是,多次重復使用測試集可能會帶來偏差和最終性能估計,且可能導致對泛化性能的預期過分樂觀,可以說是「測試集泄露信息」。為了避免這個問題,我們可以使用三次分割(three-way split),將數(shù)據(jù)集分割成訓練集、驗證集和測試集。對超參數(shù)調整和模型選擇進行訓練-驗證可以保證測試集「獨立」于模型選擇。這里,我們再回顧一下性能估計的「3 個目標」:

我們想評估泛化準確度,即模型在未見數(shù)據(jù)上的預測性能。

我們想通過調整學習算法、從給定假設空間中選擇性能最好的模型,來改善預測性能。

我們想確定最適合待解決問題的機器學習算法。因此,我們想對比不同的算法,選出性能最好的一個,從算法的假設空間中選出性能最好的模型。

30702866-5398-11ed-a3b6-dac502259ad0.jpg

圖 12:超參數(shù)調整中三路留出方法(three-way holdout method)圖示。

30e0a76c-5398-11ed-a3b6-dac502259ad0.jpg

圖 13:k 折交叉驗證步驟圖示。

31019530-5398-11ed-a3b6-dac502259ad0.jpg

圖 16:模型選擇中 k 折交叉驗證的圖示。

審核編輯:彭靜
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 模型
    +關注

    關注

    1

    文章

    3121

    瀏覽量

    48663
  • 機器學習
    +關注

    關注

    66

    文章

    8357

    瀏覽量

    132330
  • 數(shù)據(jù)集

    關注

    4

    文章

    1201

    瀏覽量

    24622

原文標題:模型評價、模型選擇、算法選擇

文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    PCBA測試的常見方法

    以看出整個工藝流程存在的問題,比如前期工序SMT、DIP等,存在問題,就進行調整,讓整個工藝更加完善。PCBA測試常見方法,主要有以下幾種: 1.手工測試手工測試就是直接依靠視覺進行測試,通過視覺與比較來
    發(fā)表于 11-08 17:19

    Ch2模型評估選擇

    【Machine Learining】Ch2 模型評估選擇
    發(fā)表于 05-28 06:55

    IDC設備資產運營中四種“折舊率計算”的常見方法

    原標題:IDC設備資產運營中四種“折舊率計算”的常見方法數(shù)據(jù)中心基礎設施設備管理中設備的折舊是固定資產的折舊。該基礎設施設備或者IT設備在長期使用后仍可保持其原始物理形態(tài),但由于芯片、電機、磁盤
    發(fā)表于 09-01 06:06

    常見的特征選擇方法大致可以分為哪幾類呢

    。??常見的特征選擇方法大致可以分為三類:過濾式、包裹式和嵌入式。2. 過濾式選擇??過濾式方法先對數(shù)據(jù)集進行特征
    發(fā)表于 12-20 06:00

    光耦隔離的4種常見方法對比

    光耦隔離的4種常見方法對比
    發(fā)表于 05-31 11:06 ?13.1w次閱讀
    光耦隔離的4種<b class='flag-5'>常見方法</b>對比

    檢測LED單元板的常見方法

    LED電子顯示屏很重要的組成部分就有LED單元板,如果單元板有問題,會直接影響LED顯示屏的整體質量!所以,如何辨別LED單元板的好壞是LED顯示屏商家關心的問題,下面整理了一些檢測LED單元板的常見方法。
    發(fā)表于 05-04 17:31 ?3775次閱讀

    機器學習的模型評估選擇詳細資料說明

    本文檔的主要內容詳細介紹的是機器學習的模型評估選擇詳細資料說明。
    發(fā)表于 03-24 08:00 ?0次下載
    機器學習的<b class='flag-5'>模型</b><b class='flag-5'>評估</b>與<b class='flag-5'>選擇</b>詳細資料說明

    電平轉換常見方法的匯總比較資料下載

    電子發(fā)燒友網為你提供電平轉換常見方法的匯總比較資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發(fā)表于 04-09 08:44 ?9次下載
    電平轉換<b class='flag-5'>常見方法</b>的匯總比較資料下載

    系統(tǒng)仿真模型可信度評估方法研究綜述

    仿真可信度評估流程中的主要操作步驟。在評估方法中引入了考慮不確定性的特征選擇驗證方法進行模型驗證
    發(fā)表于 06-15 14:37 ?11次下載

    PCBA工廠確保采購物料原裝的常見方法

    PCBA工廠確保采購物料原裝的常見方法是先核驗供應商的資質,然后讓供應商提供欲采購物料的原廠授權證明。在收到物料后讓倉管仔細檢查核對,避免收到氧化料、老料、型號參數(shù)不對的物料。
    的頭像 發(fā)表于 08-20 12:09 ?1002次閱讀

    箱式變壓器保養(yǎng)的常見方法和事項

      箱式變壓器是工業(yè)、礦山、建筑等各個領域中常見的基礎設施,作為電力系統(tǒng)中不可缺少的設備之一,需要定期進行保養(yǎng)與維護,以確保其正常、安全、穩(wěn)定地運行。以下是箱式變壓器保養(yǎng)的常見方法
    發(fā)表于 04-19 14:45 ?2774次閱讀

    RS-485基礎知識:處理空閑總線條件的兩種常見方法

    在本文中,我將介紹處理空閑總線條件的兩種常見方法,以便保證總線上的邏輯狀態(tài)。
    的頭像 發(fā)表于 07-04 11:30 ?2619次閱讀
    RS-485基礎知識:處理空閑總線條件的兩種<b class='flag-5'>常見方法</b>

    MCU批量生產下載程序的幾種常見方法

    MCU批量生產下載程序的幾種常見方法
    的頭像 發(fā)表于 10-24 17:22 ?1505次閱讀
    MCU批量生產下載程序的幾種<b class='flag-5'>常見方法</b>

    運行Python程序的幾種常見方法

    Python是一種高級編程語言,具有簡單易學,易于閱讀和調試的特點。當你完成了一個Python程序之后,你需要運行它以檢查程序是否按照預期工作。下面是運行Python程序的幾種常見方法
    的頭像 發(fā)表于 11-28 15:32 ?2343次閱讀

    無功補償?shù)脑?、作用?b class='flag-5'>常見方式

    無功補償?shù)脑怼⒆饔眉?b class='flag-5'>常見方式? 無功補償是電力系統(tǒng)中的一項重要技術措施,用于改善電力質量和提高能源利用效率。本文將詳細介紹無功補償?shù)脑?、作用以?b class='flag-5'>常見的補償方式。 一、無功補償?shù)脑?無功功率
    的頭像 發(fā)表于 01-19 14:19 ?8024次閱讀