《机器学习》 周志华学习笔记第二章 模型评估与选择(课后习题)
模型選擇與評估
一、內容
1.經驗誤差與過擬合
1.1 學習器在訓練集上的誤差稱為訓練誤差(training error),在新樣本上的誤差稱為泛化誤差(generalizion error)。
1.2 當學習器把訓練樣本學習的“太好“了的時候,很有可能已經把訓練樣本自身的一些特點當作了所有潛在樣本都會具有的一般性質,這樣就會導致泛化性能下降,這種現象在機器學習中稱為“過擬合”。與過擬合相對的是“欠擬合”,是指對樣本的一般性質尚未學好。
2.評估方法
2.1 留出法:直接將數據集D劃分為兩個互斥的集合S(訓練集),T(測試集),要保持數據分布的一致性(分層采樣)。一般將大約2/3~4/5的樣本用于訓練,剩余樣本用于測試。
2.2 交叉驗證法:將數據集D劃分為k個大小相似的互斥子集,即D = D1UD2U...Dk。每個子集盡可能保持數據分布的一致性。每次用k-1個子集的并集作為訓練集,余下的子集作為測試集;從而可以進行k次訓練和測試,最終返回k個測試結果的均值。又稱為“k折交叉驗證”,比較常用的是10折交叉驗證。與留出法相似,數據集D劃分為k個子集有多種劃分方式。為減小因樣本劃分不同而引入的差別,k交叉驗證通常要隨機使用不同的劃分重復p次,最終的評估結果是這p次k折交叉驗證結果的均值,常見的有10次10折交叉驗證。
特殊:留一法
2.3 自助法:實際評估的模型與期望評估的模型都使用m個訓練樣本。數據量少,難以有效劃分訓練測試集時很有用,改變了初始數據集的分布,引入了估計偏差
2.4 調參與最終模型:在使用訓練數據測試數據評估選擇完成后,學習算法和參數配置已選定,此時應該用數據集D重新訓練模型
3.性能度量
回歸任務最常用的性能度量是“均方誤差”
3.1 錯誤率與精度
3.2 查準率、查全率與F1:P-R曲線,平衡點(Break-Even Point ,BEP) F1 = (2*P*R)/(P+R)
3.3 ROC 與AUC:ROC"受試者工作特這"(Receiver Operatinf Characteristic)曲線。AUC(Area Under ROC Curve)
3.4 代價敏感錯誤率與代價曲線:代價矩陣
4和5.比較檢驗,偏差與方差
這一部分個人覺得需要一定的概率論知識,打算先跳過,看看概率論之后再補上。
?
二、課后習題
1.數據集包含1000個樣本,其中500個正例,500個反例,將其劃分為包含70%樣本的訓練集和30%樣本的測試集用于留出法評估,試估算共有多少種劃分方式。
這是一個排列組合問題,500*70% = 350 個正例(反例)做訓練集,150個正例(反例)做測試集。
2.數據集包含100個樣本,其中正反例各一半,假定學習算法所產生的模型是將新樣本預測為訓練樣本數較多的類別(訓練樣本數相同時進行隨機猜測),試給出用10折交叉驗證法和留一法分別對錯誤率進行評估所得的結果。
10折交叉檢驗:由于每次訓練樣本中正反例數目一樣,所以講結果判斷為正反例的概率也是一樣的,所以錯誤率的期望是50%。?
留一法:如果留下的是正例,訓練樣本中反例的數目比正例多一個,所以留出的樣本會被判斷是反例;同理,留出的是反例,則會被判斷成正例,所以錯誤率是100%。
3.若學習器A的F1值比學習器B高,試析A的BEP值是否也比B高。
這個題目我自己的思路: 就是在BEP點時,P = R ,分別帶入A與B 的F1 ,根據大小關系化簡得到P1^2/P1 > P2^2/P2 => P1 > P2。 也就是A 的比B 的高。
但是看了其他人的給出了比較復雜的解法,結果也不一樣。如果反推確實能證明結論不正確,可是我又不知道上邊的證明哪里有問題。。(看了別人的解法?F1 如果就在P = R的地方截斷就是能確定的,但是F 1的截斷位置是不確定的)
4.試述真正例率(TPR)、假正例率(FPR)與查準率(P)、查全率(R)之間的聯系。
查全率: 真實正例被預測為正例的比例?
真正例率: 真實正例被預測為正例的比例?
顯然查全率與真正例率是相等的。?
查準率:預測為正例的實例中真實正例的比例?
假正例率: 真實反例被預測為正例的比例?
兩者并沒有直接的數值關系。
5.試證明(2.22)
用面積證明,lrank 對應的就是曲線上方的面積,罰分0.5的情況就是正好有一個正例一個反例的預測值相等,這樣就是一個斜線,面積記0.5。
6.試述錯誤率與ROC曲線之間的關系
ROCROC曲線每個點對應了一個TPRTPR與FPRFPR,此時對應了一個錯誤率。?
Ecost=(m+?(1?TPR)?cost01+m??FPR?cost10)/(m++m?)
學習器會選擇錯誤率最小的位置作為截斷點。
7.試證明任意一條ROC曲線都有一條代價曲線與之對應,反之亦然
由定義可以知道TPRTPR與FPRFPR都是由00上升到11,那么FNRFNR則是由11下降到00。?
每條ROCROC曲線都會對應一條代價曲線,由于第一條代價線段的是(0,0),(1,1)(0,0),(1,1),最后是(0,1)(1,0)(0,1)(1,0),?
所有代價線段總會有一塊公共區域,這個區域就是期望總體代價,而這塊區域的邊界就是代價曲線,且肯定從(0,0)(0,0)到(1,0)(1,0)。?
在有限個樣本情況下,ROCROC是一條折線,此時根據代價曲線無法還原ROCROC曲線。但若是理論上有無限個樣本,ROCROC是一條連續的折線,代價曲線也是連續的折線,每個點的切線可以求出TPRTPR與FNRFNR,從而得到唯一的ROCROC曲線。
答案參考http://blog.csdn.net/icefire_tyh/article/details/52065867
總結
以上是生活随笔為你收集整理的《机器学习》 周志华学习笔记第二章 模型评估与选择(课后习题)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《机器学习》 周志华学习笔记第一章 绪论
- 下一篇: 《机器学习》 周志华学习笔记第三章 线性