周志华机器学习课后习题解析【第二章】
作者 |?我是韓小琦
鏈接 | https://zhuanlan.zhihu.com/p/42435889
2.1 數據集包含 1000 個樣本,其中 500 個正例、 500 個反例,將其劃分為包含 70% 樣本的訓練集和 30% 樣本的測試集用于留出法評估,估算有多少種劃分方式。
答:排列組合問題。
訓練/測試集的劃分要盡可能保存數據分布一致那么訓練集中應該包括350個正例和350個反例,剩余的作測試集,那么劃分方式應該有?種。
2.2 數據集包含100個樣本,其中正反例各一半,假定學習算法所產生的模型是將新樣本預測為訓練樣本數較多的類別(訓練樣本數相同時進行隨機猜測),試給出用10折交叉驗證法和留一法分別對錯誤率進行評估所得的結果。
答:
10折交叉驗證:交叉驗證中每個子集數據分布要盡可能保持一致,那么本題中10次訓練中每次正反例各占45,模型訓練結果隨機猜測,錯誤率期望為50%。
留一法:若留出樣本為正例,訓練集中則有50個反例和49個正例,模型預測為反例;反之留出樣本為反例,模型預測為正例,錯誤率為100%。
2.3 若學習器A的F1值比學習器B高,試析A的BEP值是否也比B高。
答:
說一下自己理解吧
先看看F1值的定義,
?
其中:
?
即查準率(Precision ),【預測為正例且真實為正例的數量】/【預測為正例的數量】,說白了關心預測為正樣本時的準確率;?
即查全率(又稱召回率Recall),【預測為正例且真實為正例的數量】/【真實為正例的數量】。F1值計算中對查準率和查全率都同等重視。
再看看BEP值
首先目前很多分類算法輸出的都是0-1之間的一個概率值,比如邏輯回歸、xgboost等,分類時的做法是預定一個閾值(典型為0.5),若對樣本的輸出大于此閾值則歸為1類(即正例),那么根據樣本的輸出值從大到小排序(下文簡稱為“樣本的排序”),排在最前面的即可理解為最有可能為正例的樣本,而排在最后的是最不可能為正例的樣本。從前往后,逐個將樣本預測為正例(即把當前樣本的輸出值定于為閾值,小于閾值的都為反例),每次計算當前的查準率和查全率,即可得到查全率為橫坐標查準率為縱坐標上的一個點,在將所有點按順利連接后即可得到“P-R曲線”,而BEP(即Break-Event Point,平衡點)是在查全率=查準率時的取值。
P-R曲線討論:
從定義上看,F1值是在閾值固定時,將所有樣本分類完成后,綜合查全率和查準率得出的值;而BEP值則是尋求一個閾值使得查全率和查準率相同的情況下得到的(此時BEP = 查全率 = 查準率)。
也就是說BEP值和“樣本的排序”緊密相關的,而和樣本的預測值大小無關,同樣的排序,即使將所有預測值同時乘以0.5,其BEP值也是相同的;但是對于F1值,所有樣本都將預測為負例(假定閾值為0.5時),此時F1值為0。
回到題目本身,“若學習器A的F1值比學習器B高,則A的BEP值比B高”,那么若能找到兩個學習器BEP值相同,而F1值不同,則題目命題就不成立了。那從上面的討論中已經有了答案了,想象一下學習器A對樣本輸出值均為學習器B的兩倍,兩者BEP值是相同的,A的輸出在(0,1)之間,而B的輸出在(0,0.5)之間,此時B的 F1 值為0,A的 F1 值是在0-1之間。所以原命題不成立。
ps.個人從直覺上BEP值和F1值是沒有明確關系的,在討論過程中拿“輸出值乘以0.5”為例,事實上,想象一下,一串固定排序的點(模型的輸出概率值),只在0-1之間同時前進或者后退(每個點前進步長可以不一樣,但是排序不變),其BEP值也不會發生變化,而F1值是不斷變化的。
2.4 試述真正例率(TPR)、假正例率(FPR)與查準率(P)、查全率(R)之間的聯系。
混淆矩陣查全率:
??。
【預測為正例且真實為正例的數量】/【真實為正例的數量】
查準率:
?。
【預測為正例且真實為正例的數量】/【預測為正例的數量】
真正例率(TPR):同查全率
假正例率(FPR):?
?。
即所有反例中被預測為正例的比率。
2.5 試證明(2.22)AUC=1?lrank
答:
顯然,在ROC曲線中,一條橫線對應一個(或多個)負樣本??, 一條豎線對應一個(或多個)正樣本??, 而一條斜線則對應多個正負樣本??,且??,即樣本的預測值相同。如下圖所示:
其中??對應一個(或多個預測值相同的)正例,而??對應多個預測值相同的正負例??,顯然陰影部分的寬為:
?,?
?的縱坐標為:
,
而??縱坐標為:
??,
于是陰影部分面積則為 :
令??表示預測值唯一的負例集合,即原負例集合中以預測值??去重,那么AUC值為:
其中:
而
于是
于是
?
2.6 試述錯誤率和ROC曲線的聯系
答:錯誤率是在閾值固定的情況下得出的,ROC曲線是在閾值隨著樣本預測值變化的情況下得出的。ROC曲線上的每一個點,都對應著一個錯誤率。
2.7 試證明任意一條ROC曲線都有一條代價曲線與之對應,反之亦然
答:
首先“任意一條ROC曲線都有一條代價曲線與之對應”,顯然ROC曲線上每個點(FPR,TPR)都對應著下圖中一條線段,取所有線段的下屆,即可得到唯一的代價曲線。
反之,代價曲線實際上是一個多邊形(在有限樣本下),易理解,每條邊都對應代價平面上一條線段,實際上從左向右遍歷每一條邊,即可得到ROC曲線上從左到右每一個點。
ps. ROC曲線對應著唯一條代價曲線,但是一條代價曲線可對應著多條不同的ROC曲線,如上圖中,在綠、黃、藍三條線段交于紅點時,此時去掉黃色線段代價曲線是不會發生變化的,但是ROC曲線則會少一個點。
2.8 Min-max 規范化和z-score 規范化的優缺點。
答:
Min-max 規范化優點1、計算相對簡單一點。2、當新樣本進來時,只有在新樣本大于原最大值或者小于原最小值時,才需要重新計算規范化之后的值。缺點在于1、容易受高杠桿點和離群點影響。
z-score 規范化優點在于。1、對異常值敏感低。缺點在于1、計算更負責。2、每次新樣本進來都需要重新計算規范化。
2.9 簡述??檢驗過程
略
2.10 試述Friedman 檢驗中使用式(2.34)和(2.35)的區別。
略。沒學過統計學。以后有機會再補。
推薦閱讀
(點擊標題可跳轉閱讀)
干貨 | 公眾號歷史文章精選
我的深度學習入門路線
我的機器學習入門路線圖
重磅!
AI有道年度技術文章電子版PDF來啦!
掃描下方二維碼,添加?AI有道小助手微信,可申請入群,并獲得2020完整技術文章合集PDF(一定要備注:入群?+ 地點 + 學校/公司。例如:入群+上海+復旦。?
長按掃碼,申請入群
(添加人數較多,請耐心等待)
?
最新 AI 干貨,我在看?
總結
以上是生活随笔為你收集整理的周志华机器学习课后习题解析【第二章】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Google推出了Python最牛逼的编
- 下一篇: VS2019优化新鲜出炉:C++后端更新