模型評估與選擇
一、一種訓(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ù)一直沒抽取到的概率為 ,取極限m趨近于無窮時:
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)練集/測試集就有
個模型需要考察
- 為了調(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),...,()},其中
是
的真實標記朱转。
要評估學習器f的性能,就要把預(yù)測結(jié)果f(x)和y做比較积暖。
均方誤差mean squared error(最常用的性能度量)
若對于每個樣例有不同的概率密度p(x),則:
錯誤率與精度
error rate錯誤率:
其中II是指成立返回1藤为,不成立返回0
accuracy精度:
查準率、查全率與F1度量
Ⅰ.二分類問題
查準率(Precision):
查全率(Recall):
一般來說夺刑,查準率高時查全率低缅疟,查全率高時查準率低
P-R反向變動關(guān)系原理
P-R曲線(查準率查全率曲線)
A完全包住了C,因此A優(yōu)于C
A和B有交點遍愿,不好判斷AB的高低存淫,因此有一些綜合考慮查準率查全率的性能度量。
最優(yōu)閾值的確定
- 平衡點(Break-Event Point,簡稱BEP)
P=R時的取值沼填,如圖A優(yōu)于B - F1度量
=
得:
F1度量的一般形式:
得:
其中β>0度量了查全率對查準率的相對重要性,
Ⅱ.n個二分類實現(xiàn)的多分類問題
- 先分別計算,再求平均值:
假設(shè)多個二分類得到多組查準率與查全率的組合:.
得到:
宏查準率macro-P=,
宏查全率macro-R=,
帶入F1公式得宏F1:
macro-=
- 先平均再計算
先將幾個要素求品均值,
得到:
微查準率micro-P=,
微查全率micro-R=,
帶入F1公式得微F1:
micro-=
二倾哺、一種訓(xùn)練集多種算法
ROC與AUC
TPR(True Posituve Rate)=
FPR(False Posituve Rate)=
ROC示意圖:
對于兩條ROC曲線轧邪,TPR相同時FPR越小越好
AUC
AUC就是ROC曲線包裹的面積
手寫數(shù)字5識別例子解釋rank-loss的計算:
如圖刽脖,5一共有=6個,非5一共有
=6個:
其中用表示不是5的數(shù)的編號忌愚,用
表示是5的數(shù)的編號
那么rank-loss就是所有數(shù)字5右側(cè)非5數(shù)字的個數(shù)和曲管,再除以,即
此例中,右側(cè)有2個非5數(shù)字2(
)和4(
),
右側(cè)有1個非5數(shù)字4(
),
右側(cè)有1個非5數(shù)字4(
),
硕糊、
和
右側(cè)沒有非5數(shù)字院水。因此,rank-loss=
還是剛剛的例子解釋AOC的計算:
12??11??10??9???8??7???6???5???4????3???2???1???0?=?
(表示以它為臨界值简十,大于這個位置的才認為是5)
???
???
??
??
??
???
??
???
???
???
???
???
=TPR
???
???
??
??
??
???
??
???
???
???
???
???
=FPR
得到ROC曲線:
三檬某、多種訓(xùn)練集多種算法
代價敏感錯誤率與代價曲線
由于不同類型的錯誤會造成不同的后果,所以可以為錯誤賦予“非均等代價”螟蝙。
二分類代價矩陣:
其中恢恼,表示將第i類樣本預(yù)測為第j類樣本的代價,一般
=0,若第0類預(yù)測為第1類損失更大胰默,則
场斑。損失程度相差越大,則差值越大牵署。
若0為正類漏隐,1為反類,代表樣例集D的正例青责、反例集,則 “代價敏感”(cost-sensitive)錯誤率 為:
用“代價曲線”來反映學習器的總體代價:
橫軸為取值為[0,1]的正例概率代價:
縱軸為取值為[0,1]的歸一化代價:
橫軸的實際變量為p取具,使用P(+)cost的目的是讓圖像變?yōu)橹本€
兩式的分母用于歸一化爽柒,使得圖像的橫縱范圍都在0~1
(其中 ,
,
FNR=者填,F(xiàn)PR=
)
例子:
https://www.bilibili.com/video/av79015715?p=23,
https://www.bilibili.com/video/av79015715?p=24,
https://www.bilibili.com/video/av79015715?p=25
四浩村、測試集上的性能在多大程度上保證真實性能
比較檢驗
問題
- 測試集上的性能與真實泛化性能未必相同
- 不同的多個測試集反應(yīng)出來的性能不同
- 機器學習算法具有一定的隨機性,同一測試集多次運行的結(jié)果可能不同
一個測試集一種算法
常用的離散型隨機變量
- 0-1分布
隨機變量X只有兩個可能的取值0和1占哟,其概率分布為:
P(X=) =
,
=0,1,則稱X服從0-1分布心墅。
- 二項分布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)=,k=0,1,2,...,n怎燥。
e.g.
假設(shè)一共10個樣本,每個樣本出錯的概率為0.3,則:
錯0個樣本的可能性為P(X=0)=,
錯1個樣本的可能性為P(X=1)=,
錯2個樣本的可能性為P(X=2)=,
...
錯10個樣本的可能性為P(X=10)=.
畫出圖像可以看出離假設(shè)是否合理蜜暑。
二項分布示意圖:
可使用“二項檢驗”來對“e<=0.3”(泛化錯誤率是否小于等于0.3)的假設(shè)進行檢驗铐姚。在1-α的概率內(nèi)所能觀測到的最大錯誤率計算公式如下(1-α反應(yīng)了結(jié)論的置信度,即圖中非陰影部分):
置信度:
其中s.t.表示左邊式子在右邊條件滿足時成立
代碼實例:https://www.bilibili.com/video/av79015715?p=29
多個測試集一種算法
t檢驗
多次留出法/交叉驗證法進行多次訓(xùn)練/測試會得到多個測試錯誤率,可使用t檢驗隐绵。
假設(shè)有k個測試錯誤率:之众,則:
平均錯誤率
方差
k個錯誤率可看作泛化錯誤率的獨立采樣,則
服從自由度為k-1的t分布:
多個測試集兩種算法
交叉驗證t檢驗
一個測試集兩種算法
McNemar檢驗
多個測試集多種算法
Friedman檢驗與Nemenyi后續(xù)檢驗