機器學習 02模型評估與選擇

模型評估與選擇

一、一種訓(xùn)練集一種算法

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

m為樣本數(shù)量(如m=10000張照片),
Y為樣本正確的結(jié)果尺借,
Y'為預(yù)測結(jié)果绊起,
其中有a個錯了,
則error rate錯誤率是E=a/m,
accuracy精度為1-E,
error誤差為|Y-Y'|
過擬合與欠擬合
過擬合(擬合過頭):由兩片都有鋸齒的葉子燎斩,認為沒有鋸齒的葉子不是樹葉虱歪,這就是擬合過頭了
欠擬合(特征不夠):由兩片綠葉蜂绎,認為綠色的都是樹葉,這就是欠擬合
解決以上問題一般就是選泛化誤差小的模型


2.2評估方法【訓(xùn)練集與測試集】

1. 泛化能力

即模型對沒有見過數(shù)據(jù)的預(yù)測能力笋鄙,訓(xùn)練集vs預(yù)測集

2. trainning set訓(xùn)練集

用于估計模型

3. testing set測試集的保留方法

用于檢驗?zāi)膹?fù)雜程度
留出法
e.g
1.10年中师枣,訓(xùn)練7年數(shù)據(jù),預(yù)測后3年數(shù)據(jù)
2.10年中抽出7成的東西做訓(xùn)練集萧落,3成做預(yù)測集
交叉驗證
k折交叉驗證:一份數(shù)據(jù)分成k份践美,每次一個訓(xùn)練集對應(yīng)一個測試集做出一個結(jié)果,最后結(jié)果取均值做為最終結(jié)果
自助法
原理: 在包含m個樣本的數(shù)據(jù)集D中铐尚,抽取m次樣本(放回抽取)形成數(shù)據(jù)集D',那么一個數(shù)據(jù)一直沒抽取到的概率為 (1-\frac{1}{m})^m,取極限m趨近于無窮時:

lim.png

36.8%的數(shù)據(jù)未出現(xiàn)在D'中,于是可以用D'做訓(xùn)練集哆姻,D\D'做測試集
適用: 適用于數(shù)據(jù)集較小宣增,難以劃分的時候
缺點: 改變初始數(shù)據(jù)集分布,容易引起偏差

4. validation set驗證集

  • 調(diào)參很難矛缨,很多參數(shù)都是人為規(guī)定的
  • 比如三個參數(shù)爹脾,沒個參數(shù)有5個候選值,對于一個訓(xùn)練集/測試集就有5^3=125個模型需要考察
  • 為了調(diào)參箕昭,經(jīng)常會加一個數(shù)據(jù)集灵妨、驗證集
  • 訓(xùn)練集訓(xùn)練,驗證集看結(jié)果落竹,調(diào)參泌霍,再看驗證結(jié)果,參數(shù)調(diào)完述召,最后再在測試集上看結(jié)果

2.3性能度量performance management

原理:

給定例集D={(x1,y1),(x2,y2),...,(x_m,y_m)},其中y_ix_i的真實標記朱转。
要評估學習器f的性能,就要把預(yù)測結(jié)果f(x)和y做比較积暖。

均方誤差mean squared error(最常用的性能度量)

E.png

若對于每個樣例有不同的概率密度p(x),則:


E2.png

錯誤率與精度

error rate錯誤率:


錯誤率.png

其中II是指成立返回1藤为,不成立返回0
accuracy精度:

精度.png

查準率、查全率與F1度量

Ⅰ.二分類問題

confusion matirx混淆矩陣\left\{ \begin{aligned} \text{true positive真正例(TP)} \\ \text{false positive假正例(FP)} \\ \text{true negative真反例(TN)} \\ \text{false negative假反例(FN)} \end{aligned} \right.

分類結(jié)果混淆矩陣.png

查準率(Precision)
P = \frac {TP}{TP+FP}
查全率(Recall)
R = \frac {TP}{TP+FN}




一般來說夺刑,查準率高時查全率低缅疟,查全率高時查準率低
P-R反向變動關(guān)系原理

手寫數(shù)字識別.png

P-R曲線(查準率查全率曲線)

P-R.png

A完全包住了C,因此A優(yōu)于C
A和B有交點遍愿,不好判斷AB的高低存淫,因此有一些綜合考慮查準率查全率的性能度量。
最優(yōu)閾值的確定

  1. 平衡點(Break-Event Point,簡稱BEP)
    P=R時的取值沼填,如圖A優(yōu)于B
  2. F1度量
    \frac{1}{F1}=\frac{1}{2}*(\frac{1}{P}+\frac{1}{R})

得:
F1=\frac{2*P*R}{P+R}=\frac{2*TP}{樣例總數(shù)+TP-TN}


F1度量的一般形式: F_β

\frac{1}{F_β}=\frac{1}{1+β^2}*(\frac{1}{P}+\frac{β^2}{R})

得:
F_β=\frac{(1+β^2)*P*R}{(β^2*P)+R}
其中β>0度量了查全率對查準率的相對重要性,
β\left\{ \begin{aligned} \text{<1---查準率有更大影響} \\ \text{=1---------------退化為F1} \\ \text{>1---查全率有更大影響} \end{aligned} \right.

Ⅱ.n個二分類實現(xiàn)的多分類問題

多分類問題解決方法\left\{ \begin{aligned} \text{直接使用算法} \\ \text{分解為n個二分類問題:OvsO纫雁、OvsR} \end{aligned} \right.

  1. 先分別計算,再求平均值:
    假設(shè)多個二分類得到多組查準率與查全率的組合:(P_1,R_1),(P_2,R_2),..,,(P_n,R_n).
    得到:
    宏查準率macro-P=\frac{1}{n}*\sum^{n}_{i=1}P_i,
    宏查全率macro-R=\frac{1}{n}*\sum^{n}_{i=1}R_i,
    帶入F1公式得宏F1:
    macro-F_1=\frac{2*\text{macro-P}*\text{macro-R}}{\text{macro-P}+\text{macro-R}}

  2. 先平均再計算
    先將幾個要素求品均值\bar{TP},\bar{FP},\bar{TN},\bar{FN},
    得到:
    微查準率micro-P=\frac{\bar{TP}}{\bar{TP}+\bar{FP}},
    微查全率micro-R=\frac{\bar{TP}}{\bar{TP}+\bar{FN}},
    帶入F1公式得微F1:
    micro-F_1=\frac{2*\text{micro-P}*\text{micro-R}}{\text{micro-P}+\text{micro-R}}

二倾哺、一種訓(xùn)練集多種算法

ROC與AUC

分類結(jié)果混淆矩陣.png

TPR(True Posituve Rate)=\frac{TP}{TP+FN}
FPR(False Posituve Rate)=\frac{FP}{TP+FP}

ROC示意圖:

ROC.jpg

對于兩條ROC曲線轧邪,TPR相同時FPR越小越好

AUC

AUC就是ROC曲線包裹的面積
手寫數(shù)字5識別例子解釋rank-loss的計算:
如圖刽脖,5一共有m^+=6個,非5一共有m^-=6個:

手寫數(shù)字識別.png

m_{-1}\text{ } m_{-2}\text{ } m_{-3} m_{-4} m_{1} m_{-5} m_{2} m_{3}\text{ } m_{-6}\text{ } m_{4}\text{ } m_{5}\text{ } m_{6}

其中用m_{i<0}表示不是5的數(shù)的編號忌愚,用m_{i>0}表示是5的數(shù)的編號
那么rank-loss就是所有數(shù)字5右側(cè)非5數(shù)字的個數(shù)和曲管,再除以m^+ * m^-,即

rank-loss.png

此例中,m_1右側(cè)有2個非5數(shù)字2(m_{-5})和4(m_{-6}),m_2右側(cè)有1個非5數(shù)字4(m_{-6}),m_3右側(cè)有1個非5數(shù)字4(m_{-6}),m_4硕糊、m_5m_6右側(cè)沒有非5數(shù)字院水。因此,rank-loss=\frac{2+1+1}{6*6}=\frac{4}{36}=\frac{1}{9}

AOC=1-\text{rank-loss}

還是剛剛的例子解釋AOC的計算:

手寫數(shù)字識別.png

12??11??10??9???8??7???6???5???4????3???2???1???0?=?\theta
(\theta表示以它為臨界值简十,大于這個位置的才認為是5)
\frac{6}{6}???\frac{6}{6}???\frac{6}{6}??\frac{6}{6}??\frac{6}{6}??\frac{5}{6}???\frac{5}{6}??\frac{4}{6}???\frac{3}{6}???\frac{3}{6}???\frac{2}{6}???\frac{1}{6}???\frac{0}{6}=TPR

\frac{6}{6}???\frac{5}{6}???\frac{4}{6}??\frac{3}{6}??\frac{2}{6}??\frac{2}{6}???\frac{1}{6}??\frac{1}{6}???\frac{1}{6}???\frac{0}{6}???\frac{0}{6}???\frac{0}{6}???\frac{0}{6}=FPR

得到ROC曲線:


ROC2.jpg

三檬某、多種訓(xùn)練集多種算法

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

由于不同類型的錯誤會造成不同的后果,所以可以為錯誤賦予“非均等代價”螟蝙。

二分類代價矩陣:

二分類代價矩陣.png

其中恢恼,cost_{ij}表示將第i類樣本預(yù)測為第j類樣本的代價,一般cost_{ii}=0,若第0類預(yù)測為第1類損失更大胰默,則cost_{01}>cost_{10}场斑。損失程度相差越大,則差值越大牵署。

若0為正類漏隐,1為反類,D^+奴迅、D^-代表樣例集D的正例青责、反例集,則 “代價敏感”(cost-sensitive)錯誤率 為:

cost-sensitive.png

用“代價曲線”來反映學習器的總體代價:

cost curve.png

橫軸為取值為[0,1]的正例概率代價:

P(+)cost.png

縱軸為取值為[0,1]的歸一化代價:

cost norm.png

橫軸的實際變量為p取具,使用P(+)cost的目的是讓圖像變?yōu)橹本€
兩式的分母用于歸一化爽柒,使得圖像的橫縱范圍都在0~1


(其中 p=\frac{m^+}{m},m^+為正例個數(shù),m為總樣例個數(shù),
FNR=\frac{FN}{TP+FN}者填,F(xiàn)PR=\frac{FP}{FP+TN})

分類結(jié)果混淆矩陣.png

例子:
https://www.bilibili.com/video/av79015715?p=23,
https://www.bilibili.com/video/av79015715?p=24,
https://www.bilibili.com/video/av79015715?p=25

四浩村、測試集上的性能在多大程度上保證真實性能

比較檢驗

問題

  1. 測試集上的性能與真實泛化性能未必相同
  2. 不同的多個測試集反應(yīng)出來的性能不同
  3. 機器學習算法具有一定的隨機性,同一測試集多次運行的結(jié)果可能不同

一個測試集一種算法

常用的離散型隨機變量

  1. 0-1分布
    隨機變量X只有兩個可能的取值0和1占哟,其概率分布為:
    P(X=x_i) = p^{x_i}(1-p)^{1-x_i},x_i=0,1,則稱X服從0-1分布心墅。
  2. 二項分布B(n,P)
    設(shè)事件A在任意一次實驗中出現(xiàn)的概率均為p(0 < p < 1),X表示n重伯努利實驗中事件A發(fā)生的次數(shù),則X所有可能的取值為0,1,2,...,n榨乎,相應(yīng)的概率為:P(X=k)=C^k_np^k(1-p)^{n-k},k=0,1,2,...,n怎燥。

e.g.
假設(shè)一共10個樣本,每個樣本出錯的概率為0.3,則:
錯0個樣本的可能性為P(X=0)=C^0_{10}(0.3)^0(0.7)^{10},
錯1個樣本的可能性為P(X=1)=C^1_{10}(0.3)^1(0.7)^{9},
錯2個樣本的可能性為P(X=2)=C^2_{10}(0.3)^2(0.7)^{8},
...
錯10個樣本的可能性為P(X=10)=C^{10}_{10}(0.3)^{10}(0.7)^{0}.
畫出圖像可以看出離假設(shè)是否合理蜜暑。

二項分布示意圖:

二項分布示意圖.png

可使用“二項檢驗”來對“e<=0.3”(泛化錯誤率是否小于等于0.3)的假設(shè)進行檢驗铐姚。在1-α的概率內(nèi)所能觀測到的最大錯誤率計算公式如下(1-α反應(yīng)了結(jié)論的置信度,即圖中非陰影部分):
置信度:

confidence.png

其中s.t.表示左邊式子在右邊條件滿足時成立

代碼實例:https://www.bilibili.com/video/av79015715?p=29

多個測試集一種算法

t檢驗
多次留出法/交叉驗證法進行多次訓(xùn)練/測試會得到多個測試錯誤率,可使用t檢驗隐绵。
假設(shè)有k個測試錯誤率:e_1,e_2,...,e_k之众,則:
平均錯誤率μ=\frac{1}{k}\sum^k_{i=1}e_i
方差σ^2=\frac{1}{k-1}\sum^k_{i=1}(e_i-μ)^2
k個錯誤率可看作泛化錯誤率e_0的獨立采樣,則τ_t=\frac{\sqrt{k}(μ-e_0)}{σ}服從自由度為k-1的t分布:

多個測試集兩種算法

交叉驗證t檢驗

一個測試集兩種算法

McNemar檢驗

多個測試集多種算法

Friedman檢驗與Nemenyi后續(xù)檢驗

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末依许,一起剝皮案震驚了整個濱河市棺禾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌峭跳,老刑警劉巖膘婶,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蛀醉,居然都是意外死亡悬襟,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進店門拯刁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來脊岳,“玉大人,你說我怎么就攤上這事筛璧∫菀铮” “怎么了惹恃?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵夭谤,是天一觀的道長。 經(jīng)常有香客問我巫糙,道長朗儒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任参淹,我火速辦了婚禮醉锄,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘浙值。我一直安慰自己恳不,他們只是感情好,可當我...
    茶點故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布开呐。 她就那樣靜靜地躺著烟勋,像睡著了一般。 火紅的嫁衣襯著肌膚如雪筐付。 梳的紋絲不亂的頭發(fā)上卵惦,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天,我揣著相機與錄音瓦戚,去河邊找鬼沮尿。 笑死,一個胖子當著我的面吹牛较解,可吹牛的內(nèi)容都是我干的畜疾。 我是一名探鬼主播赴邻,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼庸疾!你這毒婦竟也來了乍楚?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤届慈,失蹤者是張志新(化名)和其女友劉穎徒溪,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體金顿,經(jīng)...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡臊泌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了揍拆。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片渠概。...
    茶點故事閱讀 40,146評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖嫂拴,靈堂內(nèi)的尸體忽然破棺而出播揪,到底是詐尸還是另有隱情,我是刑警寧澤筒狠,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布猪狈,位于F島的核電站,受9級特大地震影響辩恼,放射性物質(zhì)發(fā)生泄漏雇庙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一灶伊、第九天 我趴在偏房一處隱蔽的房頂上張望疆前。 院中可真熱鬧,春花似錦聘萨、人聲如沸竹椒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽胸完。三九已至,卻和暖如春儡循,著一層夾襖步出監(jiān)牢的瞬間舶吗,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工择膝, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留誓琼,地道東北人。 一個月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像腹侣,于是被迫代替她去往敵國和親叔收。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,107評論 2 356

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