日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

机器学习(周志华)- 第2章模型评估与选择笔记

發布時間:2023/12/3 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习(周志华)- 第2章模型评估与选择笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉自:?https://samanthachen.github.io/2016/08/03/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0_%E5%91%A8%E5%BF%97%E5%8D%8E_%E7%AC%94%E8%AE%B02/

經驗誤差與過擬合

錯誤率: 分類錯誤樣本數占樣本總數
精度: 1 - 錯誤率

誤差:學習器事假預測輸出樣本與樣本真實輸出之間的差異

在訓練集上的誤差————“訓練誤差”(“經驗誤差”) 在新樣本上的誤差————“泛化誤差”

我們希望泛化誤差小,但是實際無法預知新樣本只能采用“經驗誤差”最小化。

過擬合:把訓練樣本自身的一些特點當成所有潛在樣本的“普遍規律”,導致泛化性能下降。
欠擬合:對訓練樣本的一般性質尚未學好。

模型選擇問題:理想方案是對候選模型的泛化誤差進行評估,選擇最小的。但是無法直接獲得泛化誤差,而訓練誤差又容易導致過擬合。如何進行模型評估與選擇?看下一節。

評估方法

以測試集來測試學習器對新樣本的判別能力,以測試誤差作為泛化誤差的近似。通常假設測試樣本也是從樣本真實分布的獨立同分布采樣獲得。
需要注意測試集應該盡可能與訓練集互斥,即測試樣本盡量不在訓練集中出現、未在訓練過程中使用過。
于是需要對數據D進行劃分出訓練集S和測試集T。

留出法

直接將數據集D劃分為兩個互斥的集合S和T。在S訓練出模型,用T評估測試誤差。
需要注意,訓練/測試集應該盡可能保持數據的一致性,避免由于數據劃分過程引入產生額外的偏差而對最終結果產生影響。

單次留出法往往結果不夠準確,一般采用若干次隨機劃分、重復實驗評估取平局值。但是S與T的取值一般是2/3~4/5用于S,剩余用于測試.

交叉驗證

將D劃分為k個大小相似的互斥子集(分層采樣)。每次取k-1個子集做訓練集,剩下1個做測試集,進行k次訓練和測試,最終返回均值,也稱作“k折交叉驗證”。交叉驗證的穩定和保真性取決于k,k一般取值為10,其他的有5,20等。

將數據進行劃分通常要隨機使用不同的劃分p次,取p次k折交叉驗證均值,如“10次10折交叉驗證”。

若D包含m個樣本,k=m稱作“留一法”,該方法不收樣本劃分方式的影響。往往認為比較準確,但是數據集交大時候開銷過大。另外NFL表明未必比其他評估算法準確。

自助法(bootstrapping)

減少樣本S和T規模不同造成的影響。

具體步驟如下:

給定包含m個樣本的數據集D,我們對他進行采樣產生數據集D’:每次隨機從D中挑選一個樣本個樣本,將其拷貝放到D’中,然后再將該樣本重新放回初始數據集D,使得該樣本在下次采樣時候仍有可能被采到;這個過程重復m次以后就得到包含m個樣本的D’。顯然D中有一部分樣本會在D‘中重復出現多次,而一些則不會出現,不會出現的概率是:

limm(1?1m)1e0.368limm→∞(1?1m)→1e≈0.368
即原始數據集中有36.8%不會出現在D’中。

于是我們可以用D’做訓練集,D/D’做測試集,這樣實際評估的模型與期望評估的模型都是用m個樣本。而仍有1/3沒在訓練集中的樣本用于測試。這樣的測試結果稱作“包外估計”。

優缺點

優點:

  • 數據集較小,難以劃分訓練、測試集時很有用
  • 能從原始數據集產生多個不同訓練集,對集成學習等有很大好處
    缺點:
  • 改變了原始數據集分布,會引入估計誤差。
    因此,在初始數據量足夠時,留出法和交叉驗證使用更多。

調參與最終模型

由于大多數算法有參數設置,需要根據范圍和步長進行實驗,對模型進行評估。
模型評估中選做評估測試的數據集稱為“驗證集”。
例如,在研究對比不同算法的泛化性能時候,我們用測試集上的判別效果來估計模型在實際使用時的泛化能力,而把訓練數據另外劃分為訓練集和測試集,基于驗證集上的性能來進行模型選擇和調參。(這樣訓練數據不會變少了?)

性能度量

回歸任務中常用的度量是均分誤差。
下面介紹分類任務中常用的性能度量。

錯誤率與精度

查準率、查全率與F1

對于二分類問題,可以根據真實類別與預測列別組合成下表:

真實情況預測結果

正例反例
正例TP(真正例)FN(假反例)
反例FP(假正例)TN(真反例)

查全率P(Precision)查準率R(Recall)如下:
P=TPTP+FPP=TPTP+FP?(預測為正例的結果中真正例的比例)(包含反例預測為正例)
R=TPTP+FNR=TPTP+FN?(所有正例中真正例的比例)(包含正例預測為反例)

查準率和查全率是一對矛盾的度量。

例如,希望盡可能多的好瓜被選出來,就加大選瓜數量,將所有西瓜都選上,這樣好瓜數量也能增大,但是查準率就比較低;希望選出來瓜好瓜比率盡可能高,可以只挑選有把握的瓜,這樣查全率就比較低。

我們可以根據學習器的預測結果對樣例進行排序,排在前面的額事學習器認為“最可能是”正例的樣本,排在后面的是“最不可能”是正例的樣本。按此順序逐個把樣本進行預測,每次可以計算出當前的查全率、查準率。以Precision為縱軸,Recall為橫軸可以畫出“PR曲線”。

通常一個學習器PR曲線被另一個包圍,認為后者優于前者。
但交叉的時候就難以斷言。合理判斷是根據PR下面積,但是面積難以判斷
因此設計綜合考慮度量:

平衡點(Break-Even Point, BEP)

查準率=查全率時的取值。

F1度量

$$F1 = \frac{2PR}{P+R} = \frac{2*TP}{樣例總數+TP-TN}$$

更一般的Fβ

$$F_{\beta} = \frac{(1+\beta^2)PR}{\beta^2 * P+R}$$

多次訓練、測試產生多個混淆矩陣時

  • 宏查全率、宏查準率、宏F1
    分別計算Precision和 Recall,然后求平均再計算F1

  • 宏查全率、宏查準率、宏F1
    平均對應TP,FP…加起來平均,再計算F1

  • ROC與AUC

    很多學習器是為測試樣本產生一個實值或者概率預測,然后將預測值與分類閾值進行比較,若大于閾值判定為正,否則為反。這個實值決定了學習器泛化能力。
    注意ROC與PR的不同
    ROC縱軸是真正例率,橫軸是假正例率。
    TPR=TPTP+FNTPR=TPTP+FN?(實際正例的結果中真正例的比例)
    FPR=FPTN+FPFPR=FPTN+FP?(實際反例中假正例的比例)

    真實情況預測結果

    正例反例
    正例TP(真正例)FN(假反例)
    反例FP(假正例)TN(真反例)

    真正例率是所有真實正例中真正例的比例;
    假正例率是所有真實反例中假正例的比例;
    查準率是所有預測正例中真正例的比例;
    查全率是所有真實正例中真正例的比例;
    所以查全率與真正例率相等 , R=TPR

    通常一個學習器ROC曲線被另一個包圍,認為后者優于前者。
    但交叉的時候就難以斷言。合理判斷是根據ROC下面積–AUC。
    形式化的看AUC考慮的是樣本預測的排序質量,與排序誤差有緊密聯系。

    排序損失?lranklrank

    AUC=1?lrankAUC=1?lrank

    PR與ROC

    ROC與PR區別,分析來源
    在ROC空間,ROC曲線越凸向左上方向效果越好。與ROC曲線左上凸不同的是,PR曲線是右上凸效果越好。

    ROC和PR曲線都被用于評估機器學習算法對一個給定數據集的分類性能,每個數據集都包含固定數目的正樣本和負樣本。而ROC曲線和PR曲線之間有著很深的關系。

    定理1:對于一個給定的包含正負樣本的數據集,ROC空間和PR空間存在一一對應的關系,也就是說,如果recall不等于0,二者包含完全一致的混淆矩陣。我們可以將ROC曲線轉化為PR曲線,反之亦然。定理2:對于一個給定數目的正負樣本數據集,一條曲線在ROC空間中比另一條曲線有優勢,當且僅當第一條曲線在PR空間中也比第二條曲線有優勢。(這里的“一條曲線比其他曲線有優勢”是指其他曲線的所有部分與這條曲線重合或在這條曲線之下。)

    證明過程見文章《The Relationship Between Precision-Recall and ROC Curves》

    當正負樣本差距不大的情況下,ROC和PR的趨勢是差不多的,但是當負樣本很多的時候,兩者就截然不同了,ROC效果依然看似很好,但是PR上反映效果一般。解釋起來也簡單,假設就1個正例,100個負例,那么基本上TPR可能一直維持在100左右,然后突然降到0.如圖,(a)(b)分別為正負樣本1:1時的ROC曲線和PR曲線,二者比較接近。而(c)(d)的正負樣本比例為1:1,這時ROC曲線效果依然很好,但是PR曲線則表現的比較差。這就說明PR曲線在正負樣本比例懸殊較大時更能反映分類的性能。

    代價敏感錯誤率與代價曲線

    根據任務的領域知識設定代價矩陣。(可以認為前面的度量默認各項代價均等)
    對應的ROC曲線叫代價曲線。

    比較檢驗

    性能比較影響因素:1、泛化性能VS測試集性能 2、測試集選擇 3、算法隨機性。
    采用統計假設檢驗推斷學習器A泛化性能是否在統計意義上優于B,并且把握多大。

    假設檢驗

    下面的是針對單個學習器泛化性能的假設進行檢驗。

    二項檢驗

    一個測試錯誤率推測泛化錯誤率分布。

    t檢驗

    多個測試錯誤率。

    針對多個學習器采用下文:

    交叉驗證t檢驗

    McNemar檢驗

    Fridman檢驗與Nemenyi檢驗

    偏差與方差

    “偏差方差分解”是解釋學習算法泛化性能的重要工具,可以對期望泛化誤差率進行拆解。
    泛化誤差可以分解為偏差、方差和噪聲之和。


    總結

    以上是生活随笔為你收集整理的机器学习(周志华)- 第2章模型评估与选择笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。