如何評價模型好壞

數(shù)據(jù)集(訓練&驗證&測試)評價分類結(jié)果混淆矩陣分類評價指標準確率precision:召回率recallF1-score曲線ROC曲線PR曲線 概念偏差和方差偏差方差產(chǎn)生的原因偏差方差平衡總結(jié)

學習目標

  • 數(shù)據(jù)拆分:訓練數(shù)據(jù)集&測試數(shù)據(jù)集

  • 評價分類結(jié)果:準確率precision华嘹、混淆矩陣、精確率法竞、召回率recall耙厚、F1score、ROC曲線

  • 評價回歸結(jié)果:MSE岔霸、RMSE薛躬、MAE、R-Squred

  • 了解模型的偏差方差

數(shù)據(jù)集(訓練&驗證&測試)

https://en.wikipedia.org/wiki/Training,_validation,_and_test_sets

機器學習的普遍任務(wù)就是從數(shù)據(jù)中學習和構(gòu)建模型(該過程稱之為訓練)呆细,并且能夠在將來遇到的數(shù)據(jù)上進行預(yù)測型宝。用于構(gòu)建最終模型的數(shù)據(jù)集通常有多個;在構(gòu)建模型的不同階段侦鹏,通常有三種數(shù)據(jù)集:訓練集诡曙、驗證集和測試集。

首先略水,模型在訓練集(training dataset)上進行擬合价卤。對于監(jiān)督式學習,訓練集是由用來擬合參數(shù)(例如人工神經(jīng)網(wǎng)絡(luò)中神經(jīng)元之間鏈接的權(quán)重)的樣本組成的集合渊涝。在實踐中慎璧,訓練集通常是由輸入向量(標量)和輸出向量(標量)組成的數(shù)據(jù)對。其中輸出向量(標量)被稱為目標或標簽跨释。在訓練過程中胸私,當前模型會對訓練集中的每個樣本進行預(yù)測,并將預(yù)測結(jié)果與目標進行比較鳖谈。根據(jù)比較的結(jié)果岁疼,學習算法會更新模型的參數(shù)。模型擬合的過程可能同時包括特征選擇和參數(shù)估計缆娃。

接下來捷绒,擬合得到的模型會在第二個數(shù)據(jù)集——驗證集(validation dataset)上進行預(yù)測。在對模型的超參數(shù)(例如神經(jīng)網(wǎng)絡(luò)中隱藏層的神經(jīng)元數(shù)量)進行調(diào)整時贯要,驗證集提供了對在訓練集上擬合得到模型的無偏評估暖侨。驗證集可用于正則化中的提前停止:在驗證集誤差上升時(這是在訓練集上過擬合的信號),停止訓練崇渗。不過字逗,在實踐中京郑,由于驗證集誤差在訓練過程中會有起伏,這種做法有時不奏效葫掉。由此些举,人們發(fā)明了一些規(guī)則,用做判定過擬合更好的信號挖息。

最后金拒,測試集(test dataset)可被用來提供對最終模型的無偏評估。若測試集在訓練過程中從未用到(例如套腹,沒有被用在交叉驗證當中)绪抛,則它也被稱之為預(yù)留集。

評價分類結(jié)果

指標都是為了衡量模型的泛化能力电禀,

混淆矩陣

P(預(yù)測為正) N(預(yù)測為負)
T(實際為正) TP FN
F(實際為負) FP TN

T/F是指預(yù)測是否正確幢码,P/N 表示預(yù)測結(jié)果。

  • TP 表示預(yù)測為正尖飞,且預(yù)測正確症副;

  • FN 表示預(yù)測為負,且預(yù)測錯誤政基;

  • FP 表示預(yù)測為正贞铣,且預(yù)測錯誤;

  • TN表示預(yù)測為負沮明,且預(yù)測正確辕坝。

分類評價指標

https://mp.weixin.qq.com/s/zeOviV1rjcSSwk79FznnNA

準確率precision:

預(yù)測為正的樣本中有多少是正的樣本。?precison = \frac{TP}{TP+FP}

召回率recall

正樣本中有多少被預(yù)測正確了荐健。?recall = \frac{TP}{TP+FN}

召回率的應(yīng)用場景:比如拿網(wǎng)貸違約率為例酱畅,相對好用戶,我們更關(guān)心壞用戶江场,不能錯放過任何一個壞用戶纺酸。因為如果我們過多的將壞用戶當成好用戶,這樣后續(xù)可能發(fā)生的違約金額會遠超過好用戶償還的借貸利息金額址否,造成嚴重償失餐蔬。召回率越高,代表實際壞用戶被預(yù)測出來的概率越高佑附,它的含義類似:寧可錯殺一千用含,絕不放過一個。

F1-score

通常帮匾,如果想要找到二者之間的一個平衡點,我們就需要一個新的指標:F1分數(shù)痴鳄。F1分數(shù)同時考慮了查準率和查全率瘟斜,讓二者同時達到最高,取一個平衡。F1分數(shù)的公式為 = 2查準率查全率 / (查準率 + 查全率)螺句。**我們在圖中看到的平衡點就是F1分數(shù)得來的結(jié)果虽惭。

F1Score指準確率和召回率的綜合得分。?F1Score = \frac{2PR}{P+R}

曲線

ROC曲線

ROC曲線全稱是‘受試者工作曲線’蛇尚。ROC曲線越遠離對角線芽唇,模型效果越好。如果要比較兩個分類器的性能孰優(yōu)孰劣取劫,可以比較ROC曲線下的區(qū)域面積即為AUC值匆笤,AUC值越接近1模型的效果越好。

ROC 曲線下面積是谱邪,對于隨機選擇的正類別樣本確實為正類別(recall)炮捧,以及隨機選擇的負類別樣本為正類別(fpr),分類器更確信前者的概率惦银。

縱軸:真正例率TPR=TP/(TP+FN),也就是召回率Recall咆课;

橫軸:假正例率FPR=FP/(FP+TN)。

img

FPR表示模型虛報的響應(yīng)程度扯俱,而TPR表示模型預(yù)測響應(yīng)的覆蓋程度书蚪。我們所希望的當然是:虛報的越少越好,覆蓋的越多越好迅栅。所以總結(jié)一下就是TPR越高殊校,同時FPR越低(即ROC曲線越陡),那么模型的性能就越好库继。參考如下動態(tài)圖進行理解

img

ROC曲線無視樣本不平衡

前面已經(jīng)對ROC曲線為什么可以無視樣本不平衡做了解釋箩艺,下面我們用動態(tài)圖的形式再次展示一下它是如何工作的。我們發(fā)現(xiàn):**無論紅藍色樣本比例如何改變宪萄,ROC曲線都沒有影響艺谆。

img

PR曲線

PR圖反應(yīng)了分類器在不同閾值下識別正例的準確率和覆蓋率之間的權(quán)衡。

在一些應(yīng)用中拜英,對查全率和查準率的重視程度有所不同静汤。推薦系統(tǒng)中,更希望推薦商品是用戶感興趣的居凶,此時查準率更重要虫给;逃犯信息檢索中,更希望少漏掉逃犯侠碧,查全率更重要抹估,可以通過加權(quán)計算F1值來比較性能。

縱軸:查準率Precision=TP/(TP+FP)弄兜,

橫軸:查全率Recall=TP/(TP+FN)药蜻。

Precison,Recall的分子都是TP瓷式,分母一個是TP+FP,一個是TP+FN语泽。兩者的關(guān)系可以由PR圖來表示

img

概念

偏差和方差

偏差和方差的定義如下:

  • 偏差(bias):偏差衡量了模型的預(yù)測值與實際值之間的偏離關(guān)系贸典。例如某模型的準確度為96%,則說明是低偏差踱卵;反之廊驼,如果準確度只有70%,則說明是高偏差惋砂。

    偏差bias = training error

  • 方差(variance):方差描述的是訓練數(shù)據(jù)在不同迭代階段的訓練模型中妒挎,預(yù)測值的變化波動情況(或稱之為離散情況)。從數(shù)學角度看班利,可以理解為每個預(yù)測值與預(yù)測均值差的平方和的再求平均數(shù)饥漫。通常在模型訓練中,初始階段模型復(fù)雜度不高罗标,為低方差庸队;隨著訓練量加大,模型逐步擬合訓練數(shù)據(jù)闯割,復(fù)雜度開始變高彻消,此時方差會逐漸變高。

    方差variance=training error - dev

也可以通過下面的圖片直觀理解偏差和方差:

img
  • 如左下角的“打靶圖”宙拉,假設(shè)我們的目標是中心的紅點宾尚,所有的預(yù)測值都偏離了目標位置,這就是偏差谢澈;

  • 在右上角的“打靶圖”中煌贴,預(yù)測值圍繞著紅色中心周圍,沒有大的偏差锥忿,但是整體太分散了牛郑,不集中,這就是方差敬鬓。

以上四種情況:

  • 低偏差淹朋,低方差:這是訓練的理想模型,此時藍色點集基本落在靶心范圍內(nèi)钉答,且數(shù)據(jù)離散程度小础芍,基本在靶心范圍內(nèi);

  • 低偏差数尿,高方差:這是深度學習面臨的最大問題仑性,過擬合了。也就是模型太貼合訓練數(shù)據(jù)了右蹦,導致其泛化(或通用)能力差诊杆,若遇到測試集鲫懒,則準確度下降的厲害;

  • 高偏差刽辙,低方差:這往往是訓練的初始階段;

  • 高偏差甲献,高方差:這是訓練最糟糕的情況宰缤,準確度差,數(shù)據(jù)的離散程度也差

模型誤差 = 偏差 + 方差 + 不可避免的誤差(噪音)晃洒。一般來說慨灭,隨著模型復(fù)雜度的增加,方差會逐漸增大球及,偏差會逐漸減小氧骤,見下圖:

[圖片上傳失敗...(image-d63233-1586095778322)]

偏差方差產(chǎn)生的原因

一個模型有偏差,主要的原因可能是對問題本身的假設(shè)是不正確的吃引,或者欠擬合筹陵。如:針對非線性的問題使用線性回歸;或者采用的特征和問題完全沒有關(guān)系镊尺,如用學生姓名預(yù)測考試成績朦佩,就會導致高偏差。

方差表現(xiàn)為數(shù)據(jù)的一點點擾動就會較大地影響模型庐氮。即模型沒有完全學習到問題的本質(zhì)语稠,而學習到很多噪音。通常原因可能是使用的模型太復(fù)雜弄砍,如:使用高階多項式回歸仙畦,也就是過擬合。

有一些算法天生就是高方差的算法,如kNN算法寄雀。非參數(shù)學習算法通常都是高方差写隶,因為不對數(shù)據(jù)進行任何假設(shè)。

有一些算法天生就是高偏差算法先口,如線性回歸。參數(shù)學習算法通常都是高偏差算法瞳收,因為對數(shù)據(jù)有跡象碉京。

偏差方差平衡

偏差和方差通常是矛盾的。降低偏差螟深,會提高方差谐宙;降低方差,會提高偏差界弧。

這就需要在偏差和方差之間保持一個平衡凡蜻。

以多項式回歸模型為例搭综,我們可以選擇不同的多項式的次數(shù),來觀察多項式次數(shù)對模型偏差&方差的影響:

img
多項式次數(shù) 模型復(fù)雜度 方差 偏差 過/欠擬合
欠擬合
適度
過擬合

下面是多項式次數(shù)對訓練誤差/測試誤差的影響:

img
多項式次數(shù) 模型復(fù)雜度 訓練誤差 測試誤差

關(guān)于解決方差和偏差的問題中:

我們要知道偏差和方差是無法完全避免的划栓,只能盡量減少其影響兑巾。

  1. 在避免偏差時,需盡量選擇正確的模型忠荞,一個非線性問題而我們一直用線性模型去解決蒋歌,那無論如何,高偏差是無法避免的委煤。
  2. 有了正確的模型堂油,我們還要慎重選擇數(shù)據(jù)集的大小,通常數(shù)據(jù)集越大越好碧绞,但大到數(shù)據(jù)集已經(jīng)對整體所有數(shù)據(jù)有了一定的代表性后府框,再多的數(shù)據(jù)已經(jīng)不能提升模型了,反而會帶來計算量的增加讥邻。而訓練數(shù)據(jù)太小一定是不好的迫靖,這會帶來過擬合,模型復(fù)雜度太高计维,方差很大袜香,不同數(shù)據(jù)集訓練出來的模型變化非常大。
  3. 最后鲫惶,要選擇合適的模型復(fù)雜度蜈首,復(fù)雜度高的模型通常對訓練數(shù)據(jù)有很好的擬合能力。

其實在機器學習領(lǐng)域欠母,主要的挑戰(zhàn)來自方差欢策。處理高方差的手段有:

  • 降低模型復(fù)雜度
  • 減少數(shù)據(jù)維度;降噪
  • 增加樣本數(shù)
  • 使用驗證集

總結(jié)

偏差衡量了模型的預(yù)測值與實際值之間的偏離關(guān)系赏淌,主要的原因可能是對問題本身的假設(shè)是不正確的踩寇,或者欠擬合。方差描述的是模型預(yù)測值的變化波動情況(或稱之為離散情況)六水,模型沒有完全學習到問題的本質(zhì)俺孙,通常原因可能是使用的模型太復(fù)雜,過擬合掷贾。

參數(shù)或者線性的算法一般是高偏差低方差睛榄;非參數(shù)或者非線性的算法一般是低偏差高方差。所以我們需要調(diào)整參數(shù)來去衡量方差和偏差的關(guān)系想帅。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末场靴,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌旨剥,老刑警劉巖咧欣,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異轨帜,居然都是意外死亡魄咕,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進店門蚌父,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蚕礼,“玉大人,你說我怎么就攤上這事梢什。” “怎么了朝聋?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵嗡午,是天一觀的道長。 經(jīng)常有香客問我冀痕,道長荔睹,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任言蛇,我火速辦了婚禮僻他,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘腊尚。我一直安慰自己吨拗,他們只是感情好,可當我...
    茶點故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布婿斥。 她就那樣靜靜地躺著劝篷,像睡著了一般。 火紅的嫁衣襯著肌膚如雪民宿。 梳的紋絲不亂的頭發(fā)上娇妓,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天,我揣著相機與錄音活鹰,去河邊找鬼哈恰。 笑死,一個胖子當著我的面吹牛志群,可吹牛的內(nèi)容都是我干的着绷。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼赖舟,長吁一口氣:“原來是場噩夢啊……” “哼蓬戚!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起宾抓,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤子漩,失蹤者是張志新(化名)和其女友劉穎豫喧,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體幢泼,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡紧显,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了缕棵。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片孵班。...
    茶點故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖招驴,靈堂內(nèi)的尸體忽然破棺而出篙程,到底是詐尸還是另有隱情,我是刑警寧澤别厘,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布虱饿,位于F島的核電站,受9級特大地震影響触趴,放射性物質(zhì)發(fā)生泄漏氮发。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一冗懦、第九天 我趴在偏房一處隱蔽的房頂上張望爽冕。 院中可真熱鬧,春花似錦披蕉、人聲如沸颈畸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽承冰。三九已至,卻和暖如春食零,著一層夾襖步出監(jiān)牢的瞬間困乒,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工贰谣, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留娜搂,地道東北人。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓吱抚,卻偏偏與公主長得像百宇,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子秘豹,可洞房花燭夜當晚...
    茶點故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內(nèi)容