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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

機(jī)器學(xué)習(xí)模型評(píng)估的11個(gè)指標(biāo)

汽車玩家 ? 來源:人工智能遇見磐創(chuàng) ? 作者:人工智能遇見磐創(chuàng) ? 2020-05-04 10:04 ? 次閱讀

介紹

建立機(jī)器學(xué)習(xí)模型的想法是基于一個(gè)建設(shè)性的反饋原則。你構(gòu)建一個(gè)模型,從指標(biāo)中獲得反饋,進(jìn)行改進(jìn),直到達(dá)到理想的精度為止。評(píng)估指標(biāo)解釋了模型的性能。評(píng)估指標(biāo)的一個(gè)重要方面是它們區(qū)分模型結(jié)果的能力。

我見過很多分析師和數(shù)據(jù)科學(xué)家不費(fèi)心檢查他們的模型的魯棒性。一旦他們完成了模型的構(gòu)建,他們就會(huì)匆忙地將其應(yīng)用到不可見的數(shù)據(jù)上。這是一種錯(cuò)誤的方法。

你的動(dòng)機(jī)不是簡(jiǎn)單地建立一個(gè)預(yù)測(cè)模型。它是關(guān)于創(chuàng)建和選擇一個(gè)模型,使其對(duì)樣本外的數(shù)據(jù)具有高精度。因此,在計(jì)算預(yù)測(cè)值之前,檢查模型的準(zhǔn)確性是至關(guān)重要的。

在我們的行業(yè)中,我們考慮不同種類的指標(biāo)來評(píng)估我們的模型。指標(biāo)的選擇完全取決于模型的類型和模型的實(shí)現(xiàn)計(jì)劃。

在你構(gòu)建完模型之后,這11個(gè)指標(biāo)將幫助你評(píng)估模型的準(zhǔn)確性??紤]到交叉驗(yàn)證的日益流行和重要性,我還將在本文中討論它。

熱身: 預(yù)測(cè)模型的類型

當(dāng)我們談?wù)擃A(yù)測(cè)模型時(shí),我們談?wù)摰囊词腔貧w模型(連續(xù)輸出),要么是分類模型(離散輸出)。這些模型中使用的評(píng)估指標(biāo)是不同的。

在分類問題中,我們使用兩種類型的算法(取決于它創(chuàng)建的輸出類型):

類輸出: 像SVM和KNN這樣的算法創(chuàng)建一個(gè)類輸出。例如,在一個(gè)二分類問題中,輸出將是0或1。然而,今天我們有算法可以將這些類輸出轉(zhuǎn)換為概率。但是這些算法并沒有被統(tǒng)計(jì)學(xué)界很好地接受。

概率輸出: 邏輯回歸、隨機(jī)森林、梯度增強(qiáng)、Adaboost等算法給出概率輸出。將概率輸出轉(zhuǎn)換為類輸出只需要?jiǎng)?chuàng)建一個(gè)閾值。

在回歸問題中,我們的輸出沒有這樣的不一致性。輸出在本質(zhì)上總是連續(xù)的,不需要進(jìn)一步處理。

例證

分類模型評(píng)估指標(biāo)的討論中,我使用了我在Kaggle上的BCI挑戰(zhàn)的預(yù)測(cè)。這個(gè)問題的解決超出了我們?cè)谶@里討論的范圍。然而,本文使用了在此訓(xùn)練集上的最終預(yù)測(cè)。對(duì)這個(gè)問題的預(yù)測(cè)結(jié)果是概率輸出,假設(shè)閾值為0.5,將這些概率輸出轉(zhuǎn)換為類輸出。

1. 混淆矩陣(Confusion Matrix)

混淆矩陣是一個(gè)NxN矩陣,其中N是預(yù)測(cè)的類數(shù)。對(duì)于我們的案例,我們有N=2,因此我們得到一個(gè)2x2矩陣。你需要記住一個(gè)混淆矩陣一些定義:

準(zhǔn)確率(Accuracy): 分類模型中所有判斷正確的結(jié)果占總觀測(cè)值得比重。

精確率、查準(zhǔn)率(Precision): 在模型預(yù)測(cè)是正例的所有結(jié)果中,模型預(yù)測(cè)對(duì)的比重

真負(fù)率: 在模型預(yù)測(cè)是負(fù)例的所有結(jié)果中,模型預(yù)測(cè)對(duì)的比重

召回率、查全率(Recall)、靈敏度(Sensitivity): 在真實(shí)值是正例的所有結(jié)果中,模型預(yù)測(cè)對(duì)的比重

特異度(Specificity): 在真實(shí)值是負(fù)例的所有結(jié)果中,模型預(yù)測(cè)對(duì)的比重

機(jī)器學(xué)習(xí)模型評(píng)估的11個(gè)指標(biāo)

機(jī)器學(xué)習(xí)模型評(píng)估的11個(gè)指標(biāo)

我們的案例的準(zhǔn)確率達(dá)到88%。從以上兩個(gè)表中可以看出,精確率較高,而真負(fù)率較低。靈敏度和特異度也一樣。這主要是由我們選擇的閾值驅(qū)動(dòng)的。如果我們降低閾值,這兩對(duì)完全不同的數(shù)值會(huì)更接近。

一般來說,我們關(guān)心的是上面定義的指標(biāo)其中之一。例如,在一家制藥公司,他們會(huì)更關(guān)注最小的錯(cuò)誤正類診斷。因此,他們將更加關(guān)注高特異度。另一方面,損耗模型更關(guān)注靈敏度。混淆矩陣通常只用于類輸出模型。

2. F1 Score

在上一節(jié)中,我們討論了分類問題的精確率和召回率,并強(qiáng)調(diào)了我們的選擇案例的精確率/召回率基礎(chǔ)的重要性。如果對(duì)于一個(gè)案例,我們?cè)噲D同時(shí)獲得最佳的精確率和召回率,會(huì)發(fā)生什么呢?F1-Score是一個(gè)分類問題的精確率和召回率的調(diào)和平均值。f1分的計(jì)算公式如下:

機(jī)器學(xué)習(xí)模型評(píng)估的11個(gè)指標(biāo)

一個(gè)顯而易見的問題是為什么取調(diào)和均值而不是算術(shù)均值。這是因?yàn)檎{(diào)和均值對(duì)極值的懲罰更多。讓我們用一個(gè)例子來理解這一點(diǎn)。我們有一個(gè)二分類模型,結(jié)果如下:

精確率:0,召回率:1

這里取算術(shù)平均值,得到0。5。很明顯,上面的結(jié)果來自于一個(gè)“傻瓜”的分類器,它忽略了輸入,只選擇其中一個(gè)類作為輸出。現(xiàn)在,如果我們?nèi)≌{(diào)和均值,我們會(huì)得到0,這是準(zhǔn)確的,因?yàn)檫@個(gè)模型對(duì)所有的目的都沒用。

這似乎是簡(jiǎn)單的。然而,在某些情況下,對(duì)精確率和召回率的重視程度有所不同。將上面的表達(dá)式稍微修改一下,我們可以為此包含一個(gè)可調(diào)參數(shù)β,我們得到:

機(jī)器學(xué)習(xí)模型評(píng)估的11個(gè)指標(biāo)

Fbeta 測(cè)量用戶認(rèn)為召回率比精確率重要 β 倍模型的有效性。

3. 增益圖和提升圖(Gain and Lift charts)

增益圖和提升圖主要用于檢驗(yàn)概率的排序。以下是制作增益圖和提升圖的步驟:

步驟1: 計(jì)算每個(gè)樣本的概率。

步驟2: 按遞減順序排列這些概率。

步驟3: 構(gòu)建十分位數(shù),每個(gè)組有近10%的樣本數(shù)。

步驟4: 計(jì)算每個(gè)十分位處好(Responders)、壞(Non-responders)和總的響應(yīng)率。

你會(huì)得到以下表格,你需要從中繪制增益圖和提升圖:

機(jī)器學(xué)習(xí)模型評(píng)估的11個(gè)指標(biāo)

這是一個(gè)包含很多信息的表。累積增益圖(Cumulative Gain chart)是累計(jì) %Right和累計(jì)%Population之間的圖。下面是對(duì)應(yīng)我們的案例的圖:

機(jī)器學(xué)習(xí)模型評(píng)估的11個(gè)指標(biāo)

該圖告訴你模型將responders與non-responders分離的程度。

在第一個(gè)十分位處我們可以達(dá)到的最大提升是多少?從本文的第一個(gè)表中,我們知道responders的總數(shù)是3850.第一個(gè)十分位處將包含543個(gè)觀察值。因此,第一個(gè)十分位數(shù)的最大提升可能是543 / 3850約為14.1%。因此,此模型非常接近完美。

現(xiàn)在讓我們繪制提升曲線。提升曲線是總提升(total lift)與%population之間的關(guān)系曲線。請(qǐng)注意,對(duì)于隨機(jī)模型,它始終保持100%不變。以下是我們的案例對(duì)應(yīng)的提升圖:

機(jī)器學(xué)習(xí)模型評(píng)估的11個(gè)指標(biāo)

你還可以用十分位數(shù)繪制十分位處對(duì)應(yīng)的提升:

機(jī)器學(xué)習(xí)模型評(píng)估的11個(gè)指標(biāo)

這個(gè)圖告訴你什么?它告訴你我們的模型運(yùn)行直到第7個(gè)十分位處都表現(xiàn)得不錯(cuò)。在第三十分位處和第七十分位處之間提升超過100%的模型都是一個(gè)很好的模型。否則,你可能首先考慮過采樣。

提升/增益圖廣泛用于活動(dòng)目標(biāo)問題。這告訴我們,對(duì)于特定活動(dòng),可以在哪個(gè)十分位處可以定位客戶。此外,它會(huì)告訴你對(duì)新的目標(biāo)基礎(chǔ)的期望響應(yīng)量。

4. KS圖(Kolomogorov Smirnov chart)

K-S或Kolmogorov Smirnov圖測(cè)量分類模型的性能。更準(zhǔn)確地說,K-S是衡量正負(fù)例分布之間分離程度的指標(biāo)。如果將人口劃分為兩個(gè)獨(dú)立的組,其中一組包含所有正例而另一組包含所有負(fù)例,則K-S值為100。

另一方面,如果模型不能區(qū)分正負(fù)例,那么模型從總體中隨機(jī)選擇案例。K-S值將為0.在大多數(shù)分類模型中,K-S將介于0和100之間,并且值越高,模型在區(qū)分正負(fù)例情況時(shí)越好。

對(duì)于我們的案例,下面是對(duì)應(yīng)的表格:

機(jī)器學(xué)習(xí)模型評(píng)估的11個(gè)指標(biāo)

我們還可以繪制%Cumulative Good和Bad來查看最大分離程度。以下是一個(gè)示例圖:

機(jī)器學(xué)習(xí)模型評(píng)估的11個(gè)指標(biāo)

到目前為止所涵蓋的指標(biāo)主要用于分類問題。我們了解了混淆矩陣,提升和增益圖以及kolmogorov-smirnov圖。讓我們繼續(xù)學(xué)習(xí)一些更重要的指標(biāo)。

5. AUC曲線(AUC-ROC)

這是業(yè)界流行的指標(biāo)之一。使用ROC曲線的最大優(yōu)點(diǎn)是它獨(dú)立于responders比例的變化。讓我們首先嘗試了解什么是ROC(接收者操作特征)曲線。如果我們看下面的混淆矩陣,我們觀察到對(duì)于概率模型,我們得到每個(gè)度量的不同值。

機(jī)器學(xué)習(xí)模型評(píng)估的11個(gè)指標(biāo)

因此,對(duì)于每個(gè)靈敏度,我們得到不同的特異度。兩者的變化如下:

機(jī)器學(xué)習(xí)模型評(píng)估的11個(gè)指標(biāo)

ROC曲線是靈敏度和(1-特異度)之間的曲線。(1-特異性)也稱為假正率,靈敏度也稱為真正率。以下我們案例對(duì)應(yīng)的ROC曲線。

機(jī)器學(xué)習(xí)模型評(píng)估的11個(gè)指標(biāo)

以閾值為0.5為例,下面是對(duì)應(yīng)的混淆矩陣:

機(jī)器學(xué)習(xí)模型評(píng)估的11個(gè)指標(biāo)

你可以看到,這個(gè)閾值的靈敏度是99.6%,(1-特異性)約為60%。這一對(duì)值在我們的ROC曲線中成為一個(gè)點(diǎn)。為了將該曲線映射為數(shù)值,我們計(jì)算該曲線下的面積(AUC)。

注意到,整個(gè)正方形的面積是1 * 1 = 1。因此AUC本身是曲線下的面積與總面積的比率,對(duì)于我們的實(shí)驗(yàn),我們的AUC ROC值為96.4%。以下是一些經(jīng)驗(yàn)法則(thumb rules):

.90-1 = excellent (A)

0.80-.90 = good (B)

0.70-.80 = fair (C)

0.60-.70 = poor (D)

0.50-.60 = fail (F)

我們看到我們當(dāng)前模型屬于excellent范圍。但這可能只是過擬合,在這種情況下,驗(yàn)證變得非常重要。

需要記住幾點(diǎn)

對(duì)于將類作為輸出的模型,將在ROC圖中表示為單個(gè)點(diǎn)。

這些模型無法相互比較,因?yàn)樾枰獙?duì)單個(gè)指標(biāo)進(jìn)行判斷而不使用多個(gè)指標(biāo)。

例如,具有參數(shù)(0.2,0.8)的模型和具有參數(shù)(0.8,0.2)的模型可以來自相同的模型,因此不應(yīng)直接比較這些度量。

在概率模型的情況下,我們很幸運(yùn)可以得到一個(gè)AUC-ROC的數(shù)值。但是,我們?nèi)匀恍枰榭凑麄€(gè)曲線以做出最終的決定。一個(gè)模型可能在某些區(qū)域表現(xiàn)更好,而其他模型在其他區(qū)域表現(xiàn)更好。

使用ROC的好處

為什么要使用ROC而不是提升曲線等指標(biāo)?

提升取決于人口的總響應(yīng)率(total response rate)。因此,如果人口的響應(yīng)率發(fā)生變化,同一模型將給出不同的提升圖,這種的情況的解決方案可以用真正提升圖(true lift chart)(在每個(gè)十分位處找到提升和模型最大提升的比率)。但這種比率沒有什么意義。

另一方面,ROC曲線幾乎與響應(yīng)率無關(guān)。這是因?yàn)樗哂袕幕煜仃嚨闹鶢钣?jì)算中出來的兩個(gè)軸。在響應(yīng)率變化的情況下,x軸和y軸的分子和分母將以類似的比例改變。

6. 對(duì)數(shù)損失(Log Loss)

AUC ROC考慮用于確定模型性能的預(yù)測(cè)概率。然而,AUC ROC存在問題,它只考慮概率的順序,因此沒有考慮模型預(yù)測(cè)更可能為正樣本的更高概率的能力。在這種情況下,我們可以使用對(duì)數(shù)損失,即每個(gè)實(shí)例的正例預(yù)測(cè)概率的對(duì)數(shù)的負(fù)平均值。

機(jī)器學(xué)習(xí)模型評(píng)估的11個(gè)指標(biāo)

p(yi)是預(yù)測(cè)為正類的概率

1-p(yi)是預(yù)測(cè)為負(fù)類的概率

yi = 1表示正類,0表示負(fù)類(實(shí)際值)

讓我們計(jì)算幾個(gè)隨機(jī)值的對(duì)數(shù)損失,以得到上述數(shù)學(xué)函數(shù)的要點(diǎn):

Logloss(1, 0.1) = 2.303

Logloss(1, 0.5) = 0.693

Logloss(1, 0.9) = 0.105

如果我們繪制這種關(guān)系,我們將獲得如下曲線:

機(jī)器學(xué)習(xí)模型評(píng)估的11個(gè)指標(biāo)

從向右平緩的向下斜率可以看出,隨著預(yù)測(cè)概率的改善,對(duì)數(shù)損失逐漸下降。然而,在相反方向上移動(dòng)時(shí),當(dāng)預(yù)測(cè)概率接近0時(shí),對(duì)數(shù)損失會(huì)非??焖俚卦黾印?/p>

因此,降低對(duì)數(shù)損失,對(duì)模型更好。但是,對(duì)于好的對(duì)數(shù)損失沒有絕對(duì)的衡量標(biāo)準(zhǔn),并且它取決于用例/應(yīng)用程序。

盡管AUC是根據(jù)具有變化的判定閾值的二元分類計(jì)算的,但是對(duì)數(shù)損失實(shí)際上考慮了分類的“確定性”。

7. 基尼系數(shù)(Gini Coefficient)

基尼系數(shù)有時(shí)用于分類問題?;嵯禂?shù)可以從AUC ROC數(shù)得出?;嵯禂?shù)只是ROC曲線與對(duì)角線之間的面積與對(duì)角線上三角形的面積之比。

以下是使用的公式:

Gini = 2*AUC – 1

基尼系數(shù)高于60%是一個(gè)很好的模型。對(duì)于我們的案例,我們的基尼系數(shù)為92.7%。

8. Concordant – Discordant ratio

對(duì)于任何分類預(yù)測(cè)問題,這也是最重要的指標(biāo)之一。要理解這一點(diǎn),我們假設(shè)我們有3名學(xué)生今年有可能通過。

以下是我們的預(yù)測(cè):

A – 0.9

B – 0.5

C – 0.3

現(xiàn)在想象一下。如果我們要從這三個(gè)學(xué)生那里取兩對(duì),我們會(huì)有多少對(duì)?我們將有3對(duì):AB,BC,CA?,F(xiàn)在,在年底結(jié)束后,我們看到A和C今年通過而B失敗了。不,我們選擇所有配對(duì),我們將找到一個(gè)responder和其他non-responder。我們有多少這樣的配對(duì)?

我們有兩對(duì)AB和BC?,F(xiàn)在對(duì)于2對(duì)中的每一對(duì),一致對(duì)( concordant pair )是responder的概率高于non-responder的概率。而不一致的對(duì)(discordant pair)是反之亦然的。如果兩個(gè)概率相等,我們說它是平等的。讓我們看看在我們的案例中發(fā)生了什么:

AB – Concordant

BC – Discordant

因此,在這個(gè)例子中我們有50%的一致案例。超過60%的一致率被認(rèn)為是一個(gè)很好的模型。在決定要定位的客戶數(shù)量等時(shí),通常不使用此度量標(biāo)準(zhǔn)。它主要用于訪問模型的預(yù)測(cè)能力。對(duì)于定位的客戶數(shù)量則再次采用KS / Lift圖。

9. 均方根誤差(Root Mean Squared Error,RMSE)

RMSE是回歸問題中最常用的評(píng)估指標(biāo)。它遵循一個(gè)假設(shè),即誤差是無偏的并遵循正態(tài)分布。

以下是RMSE需要考慮的要點(diǎn):

“平方根”使該指標(biāo)能夠顯示大的偏差。

此度量標(biāo)準(zhǔn)的“平方”特性有助于提供更強(qiáng)大的結(jié)果,從而防止取消正負(fù)誤差值。換句話說,該度量恰當(dāng)?shù)仫@示了錯(cuò)誤的合理幅度。

它避免使用絕對(duì)誤差值,這在數(shù)學(xué)計(jì)算中是非常不希望的。

當(dāng)我們有更多樣本時(shí),使用RMSE重建誤差分布被認(rèn)為更可靠。

RMSE受到異常值的影響很大。因此,請(qǐng)確保在使用此指標(biāo)之前已從數(shù)據(jù)集中刪除了異常值。

與平均絕對(duì)誤差( mean absolute error)相比,RMSE提供更高的權(quán)重并懲罰大的錯(cuò)誤。

RMSE指標(biāo)由下式給出:

其中,N是樣本總數(shù)。

10. 均方根對(duì)數(shù)誤差(Root Mean Squared Logarithmic Error)

在均方根對(duì)數(shù)誤差的情況下,我們采用預(yù)測(cè)和實(shí)際值的對(duì)數(shù)。當(dāng)我們不希望在預(yù)測(cè)值和真值都是巨大數(shù)字時(shí)懲罰預(yù)測(cè)值和實(shí)際值的巨大差異時(shí),通常使用RMSLE。

機(jī)器學(xué)習(xí)模型評(píng)估的11個(gè)指標(biāo)

如果預(yù)測(cè)值和實(shí)際值都很?。篟MSE和RMSLE相同。

如果預(yù)測(cè)或是實(shí)際值很大:RMSE> RMSLE

如果預(yù)測(cè)值和實(shí)際值都很大:RMSE> RMSLE(RMSLE幾乎可以忽略不計(jì))

11. R-squared/Adjusted R-squared

我們了解到,當(dāng)RMSE降低時(shí),模型的性能將會(huì)提高。但僅憑這些值并不直觀。

在分類問題的情況下,如果模型的準(zhǔn)確率為0.8,我們可以衡量我們的模型對(duì)隨機(jī)模型的有效性,隨機(jī)模型的精度為0.5。因此隨機(jī)模型可以作為基準(zhǔn)。但是當(dāng)我們談?wù)揜MSE指標(biāo)時(shí),我們沒有比較基準(zhǔn)。

這是我們可以使用R-Squared指標(biāo)的地方。R-Squared的公式如下:

機(jī)器學(xué)習(xí)模型評(píng)估的11個(gè)指標(biāo)

機(jī)器學(xué)習(xí)模型評(píng)估的11個(gè)指標(biāo)

MSE(model):預(yù)測(cè)與實(shí)際值的均方差。

MSE(baseline):平均預(yù)測(cè)值與實(shí)際值的均方差

換句話說,與一個(gè)非常簡(jiǎn)單的模型相比,我們的回歸模型有多好,這個(gè)模型只是預(yù)測(cè)訓(xùn)練集中目標(biāo)的平均值作為預(yù)測(cè)。

Adjusted R-Squared

當(dāng)模型表現(xiàn)與baseline相同時(shí)R-Squared為0。更好的模型,更高的R2值。具有所有正確預(yù)測(cè)的最佳模型將使R-Squared為1.然而,在向模型添加新特征時(shí),R-Squared值增加或保持不變。R-Squared不會(huì)因添加對(duì)模型沒有任何價(jià)值的功能而受到懲罰。因此,R-Squared的改進(jìn)版本是經(jīng)過調(diào)整的R-Squared。調(diào)整后的R-Squared的公式由下式給出:

機(jī)器學(xué)習(xí)模型評(píng)估的11個(gè)指標(biāo)

k:特征數(shù)量 n:樣本數(shù)量

如你所見,此指標(biāo)會(huì)考慮特征的數(shù)量。當(dāng)我們添加更多特征時(shí),分母中項(xiàng)n-(k +1)減小,因此整個(gè)表達(dá)式增加。

如果R-Squared沒有增加,那意味著添加的特征對(duì)我們的模型沒有價(jià)值。因此總的來說,我們從1減去一個(gè)更大的值,而調(diào)整后的r2反過來會(huì)減少。

除了這11個(gè)指標(biāo)之外,還有另一種檢查模型性能的方法。這7種方法在數(shù)據(jù)科學(xué)中具有統(tǒng)計(jì)學(xué)意義。但是,隨著機(jī)器學(xué)習(xí)的到來,我們現(xiàn)在擁有更強(qiáng)大的模型選擇方法。沒錯(cuò)!就是交叉驗(yàn)證。

但是,交叉驗(yàn)證并不是一個(gè)真正的評(píng)估指標(biāo),它可以公開用于傳達(dá)模型的準(zhǔn)確性。但是,交叉驗(yàn)證的結(jié)果提供了足夠直觀的結(jié)果來說明模型的性能。

現(xiàn)在讓我們?cè)敿?xì)了解交叉驗(yàn)證。

12. 交叉驗(yàn)證(Cross Validation)

讓我們首先了解交叉驗(yàn)證的重要性。很久以前,我參加了Kaggle的TFI比賽。我想向你展示我的公共和私人排行榜得分之間的差異。

以下是Kaggle得分的一個(gè)例子!

機(jī)器學(xué)習(xí)模型評(píng)估的11個(gè)指標(biāo)

你會(huì)注意到,公共分?jǐn)?shù)最差的第三個(gè)條目變成了私人排名的最佳模型。在“submission_all.csv”之上有超過20個(gè)模型,但我仍然選擇“submission_all.csv”作為我的最終條目(這確實(shí)很有效)。是什么導(dǎo)致了這種現(xiàn)象?我的公共和私人排行榜的不同之處是過度擬合造成的。

過度擬合只不過是當(dāng)你的模型變得非常復(fù)雜時(shí)它會(huì)捕捉噪音。這種“噪音”對(duì)模型沒有任何價(jià)值除了造成模型不準(zhǔn)確。

在下一節(jié)中,我將討論在我們真正了解測(cè)試結(jié)果之前如何知道解決方案是否過擬合。

概念:交叉驗(yàn)證

交叉驗(yàn)證是任何類型的數(shù)據(jù)建模中最重要的概念之一。它只是說,嘗試留下一個(gè)樣本集,不在這個(gè)樣本集上訓(xùn)練模型,并在最終確定模型之前在該樣本集上測(cè)試模型。

機(jī)器學(xué)習(xí)模型評(píng)估的11個(gè)指標(biāo)

上圖顯示了如何使用及時(shí)樣本集驗(yàn)證模型。我們簡(jiǎn)單地將人口分成2個(gè)樣本集,并在一個(gè)樣本集上建立模型。其余人口用于及時(shí)驗(yàn)證。

上述方法會(huì)有消極的一面嗎?

這種方法的一個(gè)消極方面訓(xùn)練模型中丟失了大量數(shù)據(jù)。因此,該模型具有很高的偏差。這不會(huì)給出系數(shù)的最佳估計(jì)。那么下一個(gè)最佳選擇是什么?

如果,我們將訓(xùn)練人口以50:50的劃分,前50用于訓(xùn)練,后50用于驗(yàn)證。然后,我們?cè)诤?0進(jìn)行訓(xùn)練,在前50進(jìn)行測(cè)試。這樣我們?cè)谡麄€(gè)人口中訓(xùn)練模型,即使是一次性使用50%。這樣可以減少偏差,因?yàn)闃颖具x擇在一定程度上可以提供較小的樣本來訓(xùn)練模型。這種方法稱為2折交叉驗(yàn)證。

k折交叉驗(yàn)證

讓我們最后演示一個(gè)從2折交叉驗(yàn)證到k折交叉驗(yàn)證的例子。現(xiàn)在,我們將嘗試可視化k折交叉驗(yàn)證的工作原理。

機(jī)器學(xué)習(xí)模型評(píng)估的11個(gè)指標(biāo)

這是一個(gè)7折交叉驗(yàn)證。我們將整個(gè)人口劃分為7個(gè)相同的樣本集。現(xiàn)在我們?cè)?個(gè)樣本集(綠色框)上訓(xùn)練模型并在1個(gè)樣本集(灰色框)上進(jìn)行驗(yàn)證。然后,在第二次迭代中,我們使用不同的樣本集訓(xùn)練模型剩余的一個(gè)樣本集作為驗(yàn)證。在7次迭代中,我們基本上在每個(gè)樣本集上構(gòu)建了模型,并將每個(gè)樣本集作為驗(yàn)證。這是一種減少選擇偏差并減少預(yù)測(cè)方差的方法。一旦我們擁有所有7個(gè)模型,我們使用平均誤差決定那個(gè)模型是最好的。

這怎樣找到最佳(非過擬合)模型?

k折交叉驗(yàn)證廣泛用于檢查模型是否過擬合。如果k次建模中的每一次的性能度量彼此接近,則度量的均值最高。在Kaggle比賽中,你可能更多地依賴交叉驗(yàn)證分?jǐn)?shù)而不是Kaggle公共分?jǐn)?shù)。通過這種方式,你將確保公共分?jǐn)?shù)不僅僅是偶然的。

我們?nèi)绾问褂萌我饽P蜕蠈?shí)現(xiàn)k折?

R和Python中的k折編碼非常相似。以下是在Python中k折編碼的方法:

from sklearn import cross_validation model = RandomForestClassifier(n_estimators=100) #簡(jiǎn)單的K-fold交叉驗(yàn)證。5折。(注意:在較舊的scikit-learn版本中,“n_folds”參數(shù)名為“k”。 cv = cross_validation.KFold(len(train), n_folds=5, indices=False) results = [] # "model" 可以替換成你的模型對(duì)象 # "“error_function”可以替換為cv中traincv,testcv的分析錯(cuò)誤函數(shù): probas = model.fit(train[traincv], target[traincv]).predict_proba(train[testcv]) results.append( Error_function ) #打印出交叉驗(yàn)證結(jié)果的平均值 print "Results: " + str( np.array(results).mean() )

怎樣選擇k?

這是棘手的部分。我們需要權(quán)衡選擇k。

對(duì)于小k,我們有更高的選擇偏差但方差很小。

對(duì)于大k,我們有一個(gè)小的選擇偏差但方差很大。

k =樣本數(shù)(n):這也稱為“留一法”。我們有n個(gè)樣本集合和并重復(fù)建模n次,只留下一個(gè)樣本集進(jìn)行交叉驗(yàn)證。

通常,對(duì)于大多數(shù)目的,建議使用k = 10的值。

總結(jié)

在訓(xùn)練樣本上評(píng)估模型沒有意義,但留出大量的樣本以驗(yàn)證模型則比較浪費(fèi)數(shù)據(jù)。k折交叉驗(yàn)證為我們提供了一種使用每個(gè)數(shù)據(jù)點(diǎn)的方法,可以在很大程度上減少這種選擇偏差。

另外,本文中介紹的度量標(biāo)準(zhǔn)是分類和回歸問題中評(píng)估最常用的度量標(biāo)準(zhǔn)。

你在分類和回歸問題中經(jīng)常使用哪個(gè)指標(biāo)?你之前是否使用過k折交叉驗(yàn)證進(jìn)行分析?你是否看到使用各種驗(yàn)證的好處?請(qǐng)?jiān)谙旅娴脑u(píng)論部分告訴我們你的看法。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    AI大模型與深度學(xué)習(xí)的關(guān)系

    AI大模型與深度學(xué)習(xí)之間存在著密不可分的關(guān)系,它們互為促進(jìn),相輔相成。以下是對(duì)兩者關(guān)系的介紹: 一、深度學(xué)習(xí)是AI大模型的基礎(chǔ) 技術(shù)支撐 :深度學(xué)習(xí)
    的頭像 發(fā)表于 10-23 15:25 ?81次閱讀

    如何評(píng)估AI大模型的效果

    評(píng)估AI大模型的效果是一個(gè)復(fù)雜且多維度的過程,涉及多個(gè)方面的考量。以下是一些關(guān)鍵的評(píng)估方法和步驟: 一、基準(zhǔn)測(cè)試(Benchmarking) 使用標(biāo)準(zhǔn)數(shù)據(jù)集和任務(wù)來
    的頭像 發(fā)表于 10-23 15:21 ?58次閱讀

    AI大模型與傳統(tǒng)機(jī)器學(xué)習(xí)的區(qū)別

    多個(gè)神經(jīng)網(wǎng)絡(luò)層組成,每個(gè)層都包含大量的神經(jīng)元和權(quán)重參數(shù)。 傳統(tǒng)機(jī)器學(xué)習(xí)模型規(guī)模相對(duì)較小,參數(shù)數(shù)量通常只有幾千到幾百萬個(gè),模型結(jié)構(gòu)相對(duì)簡(jiǎn)單
    的頭像 發(fā)表于 10-23 15:01 ?82次閱讀

    【《大語言模型應(yīng)用指南》閱讀體驗(yàn)】+ 基礎(chǔ)知識(shí)學(xué)習(xí)

    今天來學(xué)習(xí)大語言模型在自然語言理解方面的原理以及問答回復(fù)實(shí)現(xiàn)。 主要是基于深度學(xué)習(xí)和自然語言處理技術(shù)。 大語言模型涉及以下幾個(gè)過程: 數(shù)據(jù)收集:大語言
    發(fā)表于 08-02 11:03

    pycharm如何訓(xùn)練機(jī)器學(xué)習(xí)模型

    PyCharm是一個(gè)流行的Python集成開發(fā)環(huán)境(IDE),它提供了豐富的功能,包括代碼編輯、調(diào)試、測(cè)試等。在本文中,我們將介紹如何在PyCharm中訓(xùn)練機(jī)器學(xué)習(xí)模型。 一、安裝Py
    的頭像 發(fā)表于 07-11 10:14 ?548次閱讀

    機(jī)器學(xué)習(xí)中的數(shù)據(jù)分割方法

    機(jī)器學(xué)習(xí)中,數(shù)據(jù)分割是一項(xiàng)至關(guān)重要的任務(wù),它直接影響到模型的訓(xùn)練效果、泛化能力以及最終的性能評(píng)估。本文將從多個(gè)方面詳細(xì)探討機(jī)器
    的頭像 發(fā)表于 07-10 16:10 ?896次閱讀

    如何理解機(jī)器學(xué)習(xí)中的訓(xùn)練集、驗(yàn)證集和測(cè)試集

    理解機(jī)器學(xué)習(xí)中的訓(xùn)練集、驗(yàn)證集和測(cè)試集,是掌握機(jī)器學(xué)習(xí)核心概念和流程的重要一步。這三者不僅構(gòu)成了模型學(xué)習(xí)
    的頭像 發(fā)表于 07-10 15:45 ?2293次閱讀

    機(jī)器學(xué)習(xí)中的數(shù)據(jù)預(yù)處理與特征工程

    機(jī)器學(xué)習(xí)的整個(gè)流程中,數(shù)據(jù)預(yù)處理與特征工程是兩個(gè)至關(guān)重要的步驟。它們直接決定了模型的輸入質(zhì)量,進(jìn)而影響模型的訓(xùn)練效果和泛化能力。本文將從數(shù)
    的頭像 發(fā)表于 07-09 15:57 ?234次閱讀

    Al大模型機(jī)器

    豐富的知識(shí)儲(chǔ)備。它們可以涵蓋各種領(lǐng)域的知識(shí),并能夠回答相關(guān)問題。靈活性與通用性: AI大模型機(jī)器人具有很強(qiáng)的靈活性和通用性,能夠處理各種類型的任務(wù)和問題。持續(xù)學(xué)習(xí)和改進(jìn): 這些模型可以
    發(fā)表于 07-05 08:52

    人工神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)機(jī)器學(xué)習(xí)模型的區(qū)別

    人工神經(jīng)網(wǎng)絡(luò)(ANN)與傳統(tǒng)機(jī)器學(xué)習(xí)模型之間的不同,包括其原理、數(shù)據(jù)處理能力、學(xué)習(xí)方法、適用場(chǎng)景及未來發(fā)展趨勢(shì)等方面,以期為讀者提供一個(gè)全面
    的頭像 發(fā)表于 07-04 14:08 ?725次閱讀

    深度學(xué)習(xí)模型訓(xùn)練過程詳解

    深度學(xué)習(xí)模型訓(xùn)練是一個(gè)復(fù)雜且關(guān)鍵的過程,它涉及大量的數(shù)據(jù)、計(jì)算資源和精心設(shè)計(jì)的算法。訓(xùn)練一個(gè)深度學(xué)習(xí)模型
    的頭像 發(fā)表于 07-01 16:13 ?773次閱讀

    【大語言模型:原理與工程實(shí)踐】大語言模型的評(píng)測(cè)

    安全性的評(píng)測(cè)則關(guān)注模型在強(qiáng)化學(xué)習(xí)階段的表現(xiàn)。行業(yè)模型的評(píng)測(cè)則針對(duì)特定行業(yè)的能力,如金融和法律等領(lǐng)域。整體能力的評(píng)測(cè)從宏觀角度評(píng)估模型作為一
    發(fā)表于 05-07 17:12

    【大語言模型:原理與工程實(shí)踐】核心技術(shù)綜述

    的具體需求,這通常需要較少量的標(biāo)注數(shù)據(jù)。 多任務(wù)學(xué)習(xí)和遷移學(xué)習(xí): LLMs利用在預(yù)訓(xùn)練中積累的知識(shí),可以通過遷移學(xué)習(xí)在相關(guān)任務(wù)上快速適應(yīng),有時(shí)還可以在一個(gè)
    發(fā)表于 05-05 10:56

    模型在戰(zhàn)略評(píng)估系統(tǒng)中的應(yīng)用有哪些

    智慧華盛恒輝大模型,顧名思義,是指參數(shù)規(guī)模超過千萬的機(jī)器學(xué)習(xí)模型。這些模型主要應(yīng)用于自然語言處理、計(jì)算機(jī)視覺、語音識(shí)別等領(lǐng)域,在大場(chǎng)景下的表
    的頭像 發(fā)表于 04-24 13:48 ?223次閱讀

    如何使用TensorFlow構(gòu)建機(jī)器學(xué)習(xí)模型

    在這篇文章中,我將逐步講解如何使用 TensorFlow 創(chuàng)建一個(gè)簡(jiǎn)單的機(jī)器學(xué)習(xí)模型。
    的頭像 發(fā)表于 01-08 09:25 ?870次閱讀
    如何使用TensorFlow構(gòu)建<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>模型</b>