99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

3天內(nèi)不再提示

關于機器學習中的模型評估的性能分析及選擇

lviY_AI_shequ ? 來源:電子發(fā)燒友網(wǎng) ? 作者:工程師譚軍 ? 2018-07-14 08:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1 引言

人類在對客觀世界的問題進行判斷時,往往都會根據(jù)過去的經(jīng)驗來指導自己。例如,為什么看到微濕的路面、感到和風、看到晚霞,就認為明天是好天了呢?這是因為在我們的生活經(jīng)驗中已經(jīng)見過了很多類似的情況,頭一天觀察到上述的特征后,第二天天氣通常會很好,為什么色澤青綠、根蒂蜷縮、敲聲濁響,就能判斷出是正熟的好瓜?因為我們吃過、看到過很多西瓜,所以基于色澤、根蒂、敲聲這幾個特征我們就可以做出相當好的判斷??梢钥闯?,我們能做出有效的判斷,是因為我們已經(jīng)累計了許多經(jīng)驗,而通過對經(jīng)驗的利用,就能對新的情況作出有效的決策。

那么上面對經(jīng)驗的利用是靠我們?nèi)祟愖陨硗瓿傻?,計算機能幫忙嗎?

機器學習正是這門學科,它致力于研究如何通過計算的手段,利用經(jīng)驗來改善系統(tǒng)自身的性能。在計算機系統(tǒng)中,”經(jīng)驗“通常以”數(shù)據(jù)“的形式存在,因此,機器學習所研究的主要內(nèi)容,是關于在計算機上從數(shù)據(jù)中產(chǎn)生”模型“(model)的算法,即“學習算法”(learning algorithm)。有了學習算法,我們把經(jīng)驗數(shù)據(jù)提供給它,它就能基于這些數(shù)據(jù)產(chǎn)生模型;在面對新的情況時(例如看到一個沒有剖開的西瓜),模型會給我們提供相應的判斷(例如好瓜)。如果說計算機科學是研究關于“算法”的學問,那么類似的,可以說機器學習是研究關于“學習算法”的學問。

2 模型評估與選擇

2.1 經(jīng)驗誤差與過擬合

通常我們把分類錯誤的樣本占樣本總數(shù)的比例成為“錯誤率” (error rate),即如果在 個樣本中有 個樣本分類錯誤,則錯誤率 ;相應的, 稱為“精度” (accuracy),即 “精度=1-錯誤率”。更一般的,我們把學習期的實際預測輸出與樣本的真實輸出之間的差異成為“誤差” (error),學習器在訓練集上的誤差稱為“訓練誤差” (training error) 或“經(jīng)驗誤差” (empirical error),在新樣本上的誤差稱為“泛化誤差” (generalization error)。顯然,我們希望得到泛化誤差最小的學習器。然而,我們事先并不知道新樣本是什么樣,實際能做的是努力使經(jīng)驗誤差最小化。在很多情況下,我們可以學得一個經(jīng)驗誤差很小、在訓練集上表現(xiàn)很好的學習器,例如甚至對所有訓練樣本都分類正確,即分類錯誤率為零,分類精度為100%,但這是不是我們想要的學習器呢?遺憾的是,這樣的學習器在多數(shù)情況下都不好。

我們實際希望的,是在新樣本上能表現(xiàn)得很好的學習器。為了達到這個目的,應該從訓練樣本中盡可能學出適用于所有潛在樣本的“普遍規(guī)律”,這樣才能在遇到新樣本時做出正確的判斷。然而,當學習器把訓練樣本學得“太好”的時候,很可能已經(jīng)把訓練樣本自身的一些特點當做了所有潛在樣本都會具有的一般性質,這樣就會導致泛化能力下降。這種現(xiàn)象在機器學習中稱為“過擬合” (overfitting)。與“過擬合”相對的是“欠擬合” (underfitting),這是指對訓練樣本的一般性質尚未學好。

有很多因素可能導致過擬合,其中最常見的情況是由于學習能力過于強大,以至于把訓練樣本所包含的不太一般的特性也都學習到了,而欠擬合則通常是由于學習能力低下而造成的。欠擬合比較容易克服,例如在決策樹中擴展分支、在神經(jīng)網(wǎng)絡學習中增加訓練輪數(shù)等,而過擬合則很麻煩。過擬合是機器學習面臨的關鍵障礙,各類學習算法都必然帶有一些針對過擬合的措施;然而必須認識到,過擬合是無法徹底避免的,我們所能做的只是“緩解”,或者說減小其風險。關于這一點,可大致這樣理解:機器學習面臨的問題通常是 NP 難甚至更難,而有效的學習算法必然是在多項式時間內(nèi)運行完成,若克徹底避免過擬合,則通過經(jīng)驗誤差最小化就能獲得最優(yōu)解,這就意味著我們構造性地證明了 “P = NP”;因此,只要相信?,過擬合就不可避免。

在現(xiàn)實任務中,我們往往有很多學習算法可供選擇,甚至對同一個學習算法,當使用不同的參數(shù)匹配時,也會產(chǎn)生不同的模型。那么,我們該選用哪一個學習算法,使用哪一種配置參數(shù)呢?這就是機器學習中的“模型選擇” (model selection)問題。理想的解決方案當然是對候選模型的泛化誤差進行評估,然后選擇泛化誤差最小的那個模型。然而如上面所討論的,我們無法直接獲得泛化誤差,而訓練誤差又由于過擬合現(xiàn)象的存在而不適合作為標準,那么,在現(xiàn)實中如何進行模型評估與選擇呢?

2.2 評估方法

通常,我們可以通過實驗測試來對學習器的泛化誤差進行評估并進而做出選擇。為此,需要使用一個“測試集” (testing set)來測試學習器對新樣本的判別能力,然后以測試集上的“測試誤差” (testing error)作為泛化誤差的近似。通常我們假設測試樣本也是從樣本真實分布中獨立同分布采樣而得。但需要注意的是,測試集應該盡可能與訓練集互斥,即測試樣本盡量不在訓練集中出現(xiàn)、未在訓練過程中使用過。

測試樣本為什么要盡可能不出現(xiàn)在訓練集中呢?為理解這一點,不妨考慮這樣一個場景:老師出了 10 道題供同學們練習,考試時老師又用同樣的這 10 道題作為試題,這個考試成績能否有效反應出同學們學得好不好呢?答案是否定的,可能有的同學只會做這 10 道題卻能得高分?;氐轿覀兊膯栴}上來,我們希望得到泛化性能很強的模型,好比是希望同學們對課程學得很好、獲得了對所學知識 “舉一反三” 的能力;訓練樣本相當于給同學們練習的習題,測試過程則是相當于考試。顯然,若測試樣本被用作訓練了,則得到的將是過于 “樂觀” 的估計結果。

可是,我們只有一個包含個樣例的數(shù)據(jù)集?, 既要訓練,又要測試,怎樣才能做到呢?答案是:通過對??進行適當?shù)奶幚?,從中產(chǎn)生出訓練集 S?和測試集 T?。下面介紹幾種常見的做法。

2.2.1 留出法

“留出法”(hold-out) 直接將數(shù)據(jù)集D劃分成兩個互斥的集合,其中一一個集合作為訓練集S另一個作為測試集T,即。在S上訓練出模型后,用T來評估其測試誤差,作為對泛化誤差的估計。

以二分類任務為例,假定D包含1000個樣本,將其劃分為S包含700個樣本, T包含300個樣本,用S進行訓練后,如果模型在T上有90個樣本分類錯誤,那么其錯誤率為90/300X100%,相應的,精度為1-30%=70%。

需注意的是,訓練/測試集的劃分要盡可能保持數(shù)據(jù)分布的一致性,避免因數(shù)據(jù)劃分過程引入額外的偏差而對最終結果產(chǎn)生影響,例如在分類任務中至少要保持樣本的類別比例相似。如果從采樣(sampling)的角度來看待數(shù)據(jù)集的劃分過程,則保留類別比例的采樣方式通常稱為 ”分層采樣”(stratified sampling)。例如通過對D進行分層采樣而獲得含70%樣本的訓練集S和含30% 樣本的測試集S,若D包含500個正例、500 個反例,則分層采樣得到的S應包含350個正例、350 個反例,而T 則包含150個正例和150個反例;若S、T中樣本類別比例差別很大,則誤差估計將由于訓練/測試數(shù)據(jù)分布的差異而產(chǎn)生偏差。

另一個需要注意的問題是,即便在給定的訓練測試集的樣本比例后,仍存在多種劃分方式對初始數(shù)據(jù)集 D 進行分割。例如在上面的例子中,可泌巴 D 中的樣本排序,然后把前 350 個正例放到訓練集中,也可以把最后 350 個正例放到訓練集中,…… 這些不同的劃分將導致不同的訓練測試集,相應的,模型評估的結果也會有差別。因此,單次使用留出法得到的估計結果往往不夠穩(wěn)定可靠,在使用留出法時,一般要采用若干次隨機劃分、重復進行實驗評估后取平均值作為留出法的評估結果。佰收口進行 1 00 次隨相蒯分 r 每次產(chǎn)生一個訓練/測試集用于實驗評估, 100 次后就得到 1 00 個結果,而留出法返回的則是這 1 00 個結果的平均。

此外,我們希望評估的是用 D 訓練出的模型的性能,但留出法需劃創(chuàng) 11 練/測試集,這就會導致一個窘境( a wkward situation ) :若令訓練集 S 包含絕大多數(shù)樣本,則訓練出的模型可能更接近于用 D 訓練出的模型,但由于 T 比較小,評估結果可能不夠穩(wěn)定準確;若令測試集 T 多包含一些樣本,則訓練集 S 與 D 差別更大了,被評估的模型與用 D 訓練出的模型相比可能有較大的差別,從而降低了評估結果的保真性( fidelity )。這個問題沒有完美的解決方案,常見做法是將大約 2 / 3 ~4 / 5 的樣本用于訓練,剩余樣本用于測試。

2.2.2 交叉驗證法

“交叉驗證法” (cross validation)先將數(shù)據(jù)集D劃分為k個大小相似的互斥子集,即

。每個子集D;都盡可能保持數(shù)據(jù)分布的一致性,即從D中通過分層采樣得到。然后,每次用k- 1個子集的并集作為訓練集,余下的那一個子集作為測試集;這樣就可獲得k組訓練測試集,從而可進行k次訓練和測試,最終返回的是這k個測試結果的均值。顯然,交叉驗證法評估結果的穩(wěn)定性和保真性在很大程度上取決于k:的取值,為強調這一點,通常把交叉驗證法稱為“ k折交叉驗證”( k - foldcross validation)。? 最常用的取值是10,此時稱為10折交叉驗證;其他常用的k值有5、20等。

與留出法相似,將數(shù)據(jù)集 D劃分為k:個子集同樣存在多種劃分方式。為減小因樣本劃分不同而引入的差別, k折交叉驗證通常要隨機使用不同的劃分重復p次,最終的評估結果是這p次k折交叉驗證結果的均值,例如常見的有"10 次10折交叉驗證”。

假定數(shù)據(jù)集D中包含 m個樣本,若令k= m,則得到了交叉驗證法的一個特例:留一法(Leave-One-Out,簡稱LOO)。顯然,留一法不受隨機樣本劃分方式的影響,因為個樣本只有唯一的方式劃分為個子集每個子集包含一個樣本; 留一法使用的訓練集與初始數(shù)據(jù)集相比只少了一個樣本,這就使得在絕大多數(shù)情況下,留一法中被實際評估的模型與期望評估的用D訓練出的核型很相似。因此,留一法的評估結果往往被認為比較準確。然而,留一法也有其缺陷:在數(shù)據(jù)集比較大時,訓練m個模型的計算開銷可能是難以忍受的(例如數(shù)據(jù)集包含1百萬個樣本,則需要訓練1百萬個模型),而這還是在未考慮算法調參的情況下。另外,留一法的估計結果也未必永遠比其他評估方法準確; “沒有免費的午餐” 定理對實驗評估方法同樣適用。

2.2.3 自助法

我們希望評估的是用D訓練出的模型。但在留出法和交叉驗證法中,由于保留了一部分樣本用于測試,因此實際評估的模型所使用的訓練集比D小,這必然會引入一些因訓練樣本規(guī)模不同而導致的估計偏差。留一法受訓練樣本規(guī)模變化的影響較小,但計算復雜度又太高了。有沒有什么辦法可以減少訓練樣本規(guī)模不同造成的影響,同時還能比較高效地進行實驗估計呢?

“自助法”(bootstrapping)是一個比較好的解決方案,它直接以自助采樣法(bootstrapsampling)為基礎。給定包含m個樣本的數(shù)據(jù)集D ,我們對它進行采樣產(chǎn)生數(shù)據(jù)集D' :每次隨機從D中挑選一個樣本,將其拷貝放入D',然后再將該樣本放回初始數(shù)據(jù)集中,是的該樣本在下次采樣時仍有可能被采到;這個過程重復執(zhí)行m次后,我們就得到了包含m個樣本的數(shù)據(jù)集,這就是自助采樣的結果。顯然,D中有一部分樣本會在D'中多次出現(xiàn),而另一部分樣本不出現(xiàn)??梢宰鲆粋€簡單的估計,樣本在m次采樣中始終不被采到的概率是?,取極限得到:

即通過自助采樣,初始數(shù)據(jù)集D中約有36.8% 的樣本未出現(xiàn)在采樣數(shù)據(jù)集D'中。于是我們可將D'用作訓練集, D D' 用作測試集;這樣實際評估的模型與期望評估的模型都使用m個訓練樣本,而我們?nèi)杂袛?shù)據(jù)總量約1/3 的、沒在訓練集中出現(xiàn)的樣本用于測試。這樣的測試結果,亦稱“外包估計”(out-of-bag estimate)。

自助法在數(shù)據(jù)集較小、難以有效劃分訓練/測試集時很有用;此外, 自助法能從初始數(shù)據(jù)集中產(chǎn)生多個不同的訓練集,這對集成學習等方法有很大的好處。然而,自助法產(chǎn)生的數(shù)據(jù)集改變了初始數(shù)據(jù)集的分布,這會引入估計偏差。因此,在初始數(shù)據(jù)集足夠時,留出法和交叉驗證法更為常用一些。

2.2.4 調參與最終模型

大多數(shù)學習算法都有些參數(shù) (parameter) 需要設定,參數(shù)配置不同,學得模型的性能往往有顯著差別。因此,在進行模型評估與選擇時,除了要對適用學習算法進行選擇,還需要對算法參數(shù)進行設定,這就是通常所說的 “參數(shù)調節(jié)” 或簡稱 “調參” (parameter tuning)。

這里需要注意一點:學習算法的很多參數(shù)是在實數(shù)范圍內(nèi)取值,因此,對每種參數(shù)配置都訓練出模型來是不可行的?,F(xiàn)實中常用的做法,是對每個參數(shù)選定一個范圍和變化步長, 例如在[0, 0.2]范圍內(nèi)以0.05為步長,則實際要評估的候選參數(shù)值有5個,最終是從這5個候選值中產(chǎn)生選定值。顯然,這樣選定的參數(shù)值往往不是“最佳” 值,但這是在計算開銷和性能估計之間進行折中的結果,通過這個折中,學習過程才變得可行。事實上,即便在進行這樣的折中后,調參往往仍很困難??梢院唵喂浪阋幌? 假定算法有3個參數(shù),每個參數(shù)僅考慮5個候選值,這樣對每一組訓練/測試集就有

給定包含m個樣本的數(shù)據(jù)集D, 在模型評估與選擇過程中由于需要留出一部分數(shù)據(jù)進行評估測試,事實上我們只使用了-部分數(shù)據(jù)訓練模型。因此,在模型選擇完成后,學習算法和參數(shù)配置已選定,此時應該用數(shù)據(jù)集D重新訓練模型。這個模型在訓練過程中使用了所有m個樣本,這才是我們最終提交給用戶的模型。

另外,需要注意的是,我們通常把學得模型在實際使用中遇到的數(shù)據(jù)稱為測試數(shù)據(jù),為了加以區(qū)分,模型評估與選擇中用于評估測試的數(shù)據(jù)集常稱為 “驗證集” (validation set)。例如,在研究對比不同算法的泛化性能時,我們用測試集上的判斷效果來估計模型在實際使用時的泛化能力,而把訓練數(shù)據(jù)另外劃分為訓練集和驗證集,基于驗證集上的性能來進行模型選擇和調參。

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

    關注

    19

    文章

    7662

    瀏覽量

    90772
  • 機器學習
    +關注

    關注

    66

    文章

    8503

    瀏覽量

    134596

原文標題:機器學習中的模型評估與選擇

文章出處:【微信號:AI_shequ,微信公眾號:人工智能愛好者社區(qū)】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    模型在半導體行業(yè)的應用可行性分析

    的應用,比如使用機器學習分析數(shù)據(jù),提升良率。 這一些大模型是否真的有幫助 能夠在解決工程師的知識斷層問題 本人純小白,不知道如何涉足這方面 應該問什么大
    發(fā)表于 06-24 15:10

    機器學習模型市場前景如何

    當今,隨著算法的不斷優(yōu)化、數(shù)據(jù)量的爆炸式增長以及計算能力的飛速提升,機器學習模型的市場前景愈發(fā)廣闊。下面,AI部落小編將探討機器學習
    的頭像 發(fā)表于 02-13 09:39 ?359次閱讀

    如何選擇云原生機器學習平臺

    當今,云原生機器學習平臺因其彈性擴展、高效部署、低成本運營等優(yōu)勢,逐漸成為企業(yè)構建和部署機器學習應用的首選。然而,市場上的云原生機器
    的頭像 發(fā)表于 12-25 11:54 ?454次閱讀

    《具身智能機器人系統(tǒng)》第7-9章閱讀心得之具身智能機器人與大模型

    醫(yī)療領域,手術輔助機器人需要毫米級的精確控制,書中有介紹基于視覺伺服的實時控制算法,以及如何利用大模型優(yōu)化手術路徑規(guī)劃。工業(yè)場景,協(xié)作機器人面臨的主要挑戰(zhàn)是快速適應新工藝流程。具身智
    發(fā)表于 12-24 15:03

    zeta在機器學習的應用 zeta的優(yōu)缺點分析

    在探討ZETA在機器學習的應用以及ZETA的優(yōu)缺點時,需要明確的是,ZETA一詞在不同領域可能有不同的含義和應用。以下是根據(jù)不同領域的ZETA進行的分析: 一、ZETA在
    的頭像 發(fā)表于 12-20 09:11 ?1124次閱讀

    【「大模型啟示錄」閱讀體驗】如何在客服領域應用大模型

    內(nèi)為企業(yè)帶來效益。在選擇模型時,需要評估性能表現(xiàn)。這包括模型的準確性、響應速度、對話流暢性、情感理解能力等方面??梢酝ㄟ^對比不同
    發(fā)表于 12-17 16:53

    cmp在機器學習的作用 如何使用cmp進行數(shù)據(jù)對比

    機器學習領域,"cmp"這個術語可能并不是一個常見的術語,它可能是指"比較"(comparison)的縮寫。 比較在機器學習的作用
    的頭像 發(fā)表于 12-17 09:35 ?878次閱讀

    什么是機器學習?通過機器學習方法能解決哪些問題?

    計算機系統(tǒng)自身的性能”。事實上,由于“經(jīng)驗”在計算機系統(tǒng)主要以數(shù)據(jù)的形式存在,因此機器學習需要設法對數(shù)據(jù)進行分析
    的頭像 發(fā)表于 11-16 01:07 ?963次閱讀
    什么是<b class='flag-5'>機器</b><b class='flag-5'>學習</b>?通過<b class='flag-5'>機器</b><b class='flag-5'>學習</b>方法能解決哪些問題?

    eda在機器學習的應用

    機器學習項目中,數(shù)據(jù)預處理和理解是成功構建模型的關鍵。探索性數(shù)據(jù)分析(EDA)是這一過程不可或缺的一部分。 1. 數(shù)據(jù)清洗 數(shù)據(jù)清洗 是
    的頭像 發(fā)表于 11-13 10:42 ?896次閱讀

    魯棒性在機器學習的重要性

    金融風險評估。這些應用場景對模型的魯棒性提出了極高的要求。 魯棒性的定義 魯棒性通常被定義為系統(tǒng)在面對不確定性和變化時仍能保持其功能的能力。在機器學習
    的頭像 發(fā)表于 11-11 10:19 ?1259次閱讀

    AI大模型與傳統(tǒng)機器學習的區(qū)別

    AI大模型與傳統(tǒng)機器學習在多個方面存在顯著的區(qū)別。以下是對這些區(qū)別的介紹: 一、模型規(guī)模與復雜度 AI大模型 :通常包含數(shù)十億甚至數(shù)萬億的參
    的頭像 發(fā)表于 10-23 15:01 ?2566次閱讀

    【《時間序列與機器學習》閱讀體驗】+ 時間序列的信息提取

    提高機器學習模型效果與性能的過程。 而我對特征工程的理解就是從一堆數(shù)據(jù)里找出能表示這堆數(shù)據(jù)的最小數(shù)據(jù)集,而這個找出特征數(shù)據(jù)的過程就是信息提取。 隨后給出了一系列定義,包括特征的最小最大
    發(fā)表于 08-14 18:00

    【「時間序列與機器學習」閱讀體驗】+ 簡單建議

    這本書以其系統(tǒng)性的框架和深入淺出的講解,為讀者繪制了一幅時間序列分析機器學習融合應用的宏偉藍圖。作者不僅扎實地構建了時間序列分析的基礎知識,更巧妙地展示了
    發(fā)表于 08-12 11:21

    【「時間序列與機器學習」閱讀體驗】全書概覽與時間序列概述

    時間序列的自相關性。 時間序列有基于線性場景,也有一些非線性性質周期性和不對稱性、波動的聚集性、波動中出現(xiàn)的跳躍現(xiàn)象,以及時間的不可逆性。機器學習已經(jīng)是目前非線性時序分析的主攻方向之
    發(fā)表于 08-07 23:03

    【《大語言模型應用指南》閱讀體驗】+ 基礎知識學習

    的信息,提供更全面的上下文理解。這使得模型能夠更準確地理解復雜問題中的多個層面和隱含意義。 2. 語義分析 模型通過訓練學習到語言的語義特征,能夠識別文本
    發(fā)表于 08-02 11:03