周志华《机器学习》课后习题解析(第二章)模型评估与选择
作者 |?我是韓小琦
鏈接 | https://zhuanlan.zhihu.com/p/42435889
2.1 數(shù)據(jù)集包含 1000 個樣本,其中 500 個正例、 500 個反例,將其劃分為包含 70% 樣本的訓練集和 30% 樣本的測試集用于留出法評估,估算有多少種劃分方式。
答:排列組合問題。
訓練/測試集的劃分要盡可能保存數(shù)據(jù)分布一致那么訓練集中應(yīng)該包括350個正例和350個反例,剩余的作測試集,那么劃分方式應(yīng)該有?種。
2.2 數(shù)據(jù)集包含100個樣本,其中正反例各一半,假定學習算法所產(chǎn)生的模型是將新樣本預(yù)測為訓練樣本數(shù)較多的類別(訓練樣本數(shù)相同時進行隨機猜測),試給出用10折交叉驗證法和留一法分別對錯誤率進行評估所得的結(jié)果。
答:
10折交叉驗證:交叉驗證中每個子集數(shù)據(jù)分布要盡可能保持一致,那么本題中10次訓練中每次正反例各占45,模型訓練結(jié)果隨機猜測,錯誤率期望為50%。
留一法:若留出樣本為正例,訓練集中則有50個反例和49個正例,模型預(yù)測為反例;反之留出樣本為反例,模型預(yù)測為正例,錯誤率為100%。
2.3 若學習器A的F1值比學習器B高,試析A的BEP值是否也比B高。
答:
說一下自己理解吧
先看看F1值的定義,
?
其中:
?
即查準率(Precision ),【預(yù)測為正例且真實為正例的數(shù)量】/【預(yù)測為正例的數(shù)量】,說白了關(guān)心預(yù)測為正樣本時的準確率;?
即查全率(又稱召回率Recall),【預(yù)測為正例且真實為正例的數(shù)量】/【真實為正例的數(shù)量】。F1值計算中對查準率和查全率都同等重視。
再看看BEP值
首先目前很多分類算法輸出的都是0-1之間的一個概率值,比如邏輯回歸、xgboost等,分類時的做法是預(yù)定一個閾值(典型為0.5),若對樣本的輸出大于此閾值則歸為1類(即正例),那么根據(jù)樣本的輸出值從大到小排序(下文簡稱為“樣本的排序”),排在最前面的即可理解為最有可能為正例的樣本,而排在最后的是最不可能為正例的樣本。從前往后,逐個將樣本預(yù)測為正例(即把當前樣本的輸出值定于為閾值,小于閾值的都為反例),每次計算當前的查準率和查全率,即可得到查全率為橫坐標查準率為縱坐標上的一個點,在將所有點按順利連接后即可得到“P-R曲線”,而BEP(即Break-Event Point,平衡點)是在查全率=查準率時的取值。
P-R曲線討論:
從定義上看,F1值是在閾值固定時,將所有樣本分類完成后,綜合查全率和查準率得出的值;而BEP值則是尋求一個閾值使得查全率和查準率相同的情況下得到的(此時BEP = 查全率 = 查準率)。
也就是說BEP值和“樣本的排序”緊密相關(guān)的,而和樣本的預(yù)測值大小無關(guān),同樣的排序,即使將所有預(yù)測值同時乘以0.5,其BEP值也是相同的;但是對于F1值,所有樣本都將預(yù)測為負例(假定閾值為0.5時),此時F1值為0。
回到題目本身,“若學習器A的F1值比學習器B高,則A的BEP值比B高”,那么若能找到兩個學習器BEP值相同,而F1值不同,則題目命題就不成立了。那從上面的討論中已經(jīng)有了答案了,想象一下學習器A對樣本輸出值均為學習器B的兩倍,兩者BEP值是相同的,A的輸出在(0,1)之間,而B的輸出在(0,0.5)之間,此時B的 F1 值為0,A的 F1 值是在0-1之間。所以原命題不成立。
ps.個人從直覺上BEP值和F1值是沒有明確關(guān)系的,在討論過程中拿“輸出值乘以0.5”為例,事實上,想象一下,一串固定排序的點(模型的輸出概率值),只在0-1之間同時前進或者后退(每個點前進步長可以不一樣,但是排序不變),其BEP值也不會發(fā)生變化,而F1值是不斷變化的。
2.4 試述真正例率(TPR)、假正例率(FPR)與查準率(P)、查全率(R)之間的聯(lián)系。
混淆矩陣查全率:
??。
【預(yù)測為正例且真實為正例的數(shù)量】/【真實為正例的數(shù)量】
查準率:
?。
【預(yù)測為正例且真實為正例的數(shù)量】/【預(yù)測為正例的數(shù)量】
真正例率(TPR):同查全率
假正例率(FPR):?
?。
即所有反例中被預(yù)測為正例的比率。
2.5 試證明(2.22)AUC=1?lrank
答:
顯然,在ROC曲線中,一條橫線對應(yīng)一個(或多個)負樣本??, 一條豎線對應(yīng)一個(或多個)正樣本??, 而一條斜線則對應(yīng)多個正負樣本??,且??,即樣本的預(yù)測值相同。如下圖所示:
其中??對應(yīng)一個(或多個預(yù)測值相同的)正例,而??對應(yīng)多個預(yù)測值相同的正負例??,顯然陰影部分的寬為:
?,?
?的縱坐標為:
,
而??縱坐標為:
??,
于是陰影部分面積則為 :
令??表示預(yù)測值唯一的負例集合,即原負例集合中以預(yù)測值??去重,那么AUC值為:
其中:
而
于是
于是
?
2.6 試述錯誤率和ROC曲線的聯(lián)系
答:錯誤率是在閾值固定的情況下得出的,ROC曲線是在閾值隨著樣本預(yù)測值變化的情況下得出的。ROC曲線上的每一個點,都對應(yīng)著一個錯誤率。
2.7 試證明任意一條ROC曲線都有一條代價曲線與之對應(yīng),反之亦然
答:
首先“任意一條ROC曲線都有一條代價曲線與之對應(yīng)”,顯然ROC曲線上每個點(FPR,TPR)都對應(yīng)著下圖中一條線段,取所有線段的下屆,即可得到唯一的代價曲線。
反之,代價曲線實際上是一個多邊形(在有限樣本下),易理解,每條邊都對應(yīng)代價平面上一條線段,實際上從左向右遍歷每一條邊,即可得到ROC曲線上從左到右每一個點。
ps. ROC曲線對應(yīng)著唯一條代價曲線,但是一條代價曲線可對應(yīng)著多條不同的ROC曲線,如上圖中,在綠、黃、藍三條線段交于紅點時,此時去掉黃色線段代價曲線是不會發(fā)生變化的,但是ROC曲線則會少一個點。
2.8 Min-max 規(guī)范化和z-score 規(guī)范化的優(yōu)缺點。
答:
Min-max 規(guī)范化優(yōu)點1、計算相對簡單一點。2、當新樣本進來時,只有在新樣本大于原最大值或者小于原最小值時,才需要重新計算規(guī)范化之后的值。缺點在于1、容易受高杠桿點和離群點影響。
z-score 規(guī)范化優(yōu)點在于。1、對異常值敏感低。缺點在于1、計算更負責。2、每次新樣本進來都需要重新計算規(guī)范化。
2.9 簡述??檢驗過程
略
2.10 試述Friedman 檢驗中使用式(2.34)和(2.35)的區(qū)別。
略。沒學過統(tǒng)計學。以后有機會再補。
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯AI基礎(chǔ)下載(pdf更新到25集)機器學習的數(shù)學基礎(chǔ)專輯獲取一折本站知識星球優(yōu)惠券,復(fù)制鏈接直接打開:https://t.zsxq.com/yFQV7am本站qq群1003271085,加入微信群請掃碼喜歡文章,點個在看總結(jié)
以上是生活随笔為你收集整理的周志华《机器学习》课后习题解析(第二章)模型评估与选择的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 周志华《机器学习》课后习题解析(第一章)
- 下一篇: 【面试招聘】美团+阿里 | 机器学习算法
