標籤:

一起來學西瓜書! 第二章 模型評估與選擇

在完成第一章習題時,由於嫌棄知乎編輯器,便直接用word寫的,寫完之後擔心格式不支持便直接傳的照片,結果發現大家都以為我直接傳的書的照片~(難道是我排版太好了的緣故???),為了避免此類事情的發生,我決定以後直接在這個編輯器裡面寫!!!

謝謝大家的持續關注和支持,這本書其實我已經看完第三章了,總的來講內容很充實,也很全面,是我讀過相關中文書籍里排版和思路最好的,對於想簡單了解機器學習理論發展和熱點演變的同學很有幫助,但是對我現在而言意義不大~ 所以之後可以會加快速度,如果時間允許的話,可能會在這個平台上分享一些自己的一些心得,因為有不少同學評論和私信我說想請假下我機械轉AI的經驗,這個就有點尷尬,因為我是屬於那種本科階段就沒學多少本專業(機械)的那種,大部分的時間都在學機器人方向的東西,從這個角度來說,我也不算轉AI,只是從自己喜歡的方向中選了這個方向~。當然如果大家感興趣的話,我會後續分享一些自己的科研經歷,供大家參考。

廢話不多講,下面是我對第二章習題的解題思路,難免出錯,懇請各位大神批評指正!

1. 數據集包含1000個樣本,其中500個正例,500個反例,將其劃分為包含70%樣本的訓練集和30%樣本的測試集用於留出法評估,試估算共有多少種劃分方式。

答:關於留出法的解釋在書上25頁,為保證數據一致性,採用分層取樣,即從500個正例中選取350個(70%),從500個反例中選取350個(70%),則劃分方式總共有:

2. 數據集包含100個樣本,其中正反例各一半,假定學習演算法所產生的模型是將新樣本預測為訓練樣本數較多的類別(訓練樣本數相同時進行隨機猜測),試給出用10折交叉驗證法和留一法分別對錯誤率進行評估所得的結果。

答:本題主要考驗對10折交叉驗證和留一法的概念及實例使用;根據題意,學習演算法所產生的模型是將新樣本預測為訓練樣本數較多的類別,則分別比較兩種不同的交叉驗證法的錯誤率評估結果:

10折交叉驗證:由於10折交叉驗證法是採用分層抽樣進行劃分子集的,所以訓練樣本中正例與反例數目相同,則學習演算法進行隨機猜測,錯誤率為50%

留一法:當留一為正例時,則在訓練樣本中較多的類別為反例;則學習演算法產生的模型將新樣本預測為反例,那麼對留一的正例而言,錯誤率為100%;反例亦然,錯誤率也為100%。

3. 若學習器A的F1值比學習器B高,試析A的BEP值是否也比B高。 答:這道題根據我對題意的理解和周老師在書中所述內容有偏差,首先書中介紹F1度量時,與P-R圖沒有關係,是對學習器預測結果的直接性能度量,而BEP是由P-R曲線得來的,而周老師又敘述是因為BEP過於簡化才引入F1度量,按照我的理解,這裡的意思是覺得調和平均的概念更照顧較小值?

BEP是由學習器預測結果在按照可能性大小排序,再逐個把樣本作為正例進行預測,即每一步都會產生一個P、R,再當其中某一步P=R時,將此時的取值定義為BEP;但是F1度量是直接對分類器分類結果進行度量,那麼P和R是一定的,沒有產生P-R曲線,這兩個基本沒有什麼關聯,只能說是體現了學習器(分類器)不同性能方面的度量。

當然,如果將F1度量也代入P-R曲線作圖步驟中,假設學習器A的F1值在任何時候都比學習期B高,那麼當PA=RA/PB=RB時,F1A=PA、F1B=PB(公式簡化),顯然BEP(A)=F1A>BEP(B)=F2A。

我沒有找到BEP和F1度量確定的數學關係表達式,理解有限,還望各位大神勘誤!

4. 試述真正例率(TPR)、假正例率(FPR)與查准率(P)、查全率(R)之間的聯繫。 答:

真正例率(TPR):真實正例被預測為正例的比例;

查全率(R):真實正例被預測為正例的比例;

假正例率(FPR):真實反例反被預測為正例的比例;

查准率(P):預測為正例的實例中真實比例的比例;

TPR=R,其他沒有關係。

5. 試證明式(2.22)。

證明:AUC表示ROC曲線下的面積

6. 試述錯誤率與ROC曲線之間的關係。

答:錯誤率和ROC曲線都是對學習器的性能度量,根據ROC曲線的性質可得到,ROC曲線下的面積越大,即AUC越大,則學習器(分類器)正確將樣本劃分為正、反例的依據越大,分類器設置截斷點就越正確,相應地也就是說AUC越大,分類器錯誤率小的可能越大。

7. 試證明任意一條ROC曲線都有一條代價曲線與之對應,反之亦然。

證明:

根據ROC曲線與代價曲線的繪製方法:ROC曲線上沒一點對應了代價平面上的一條線段,設ROC曲線上點的坐標為(TPR,FPR),那麼FNR=1-TPR,然後在代價平面上繪製一條從(0,FPR)到(1,FNR)的線段,線段下的面積即表示了該條件下的期望總體代價,所有的線段下界組成的線段即為代價曲線。

TPR的取值範圍為0"1,FNR的取值範圍為1"0,那麼與之對應的在代價平面中,ROC曲線中每一個點在這裡都會有一條線段,且不重複,兩兩線段的交點也不重複,那麼代價曲線必定是與ROC曲線對應,從(0,0)到(1,0)的折線。

相應的,根據代價曲線上每一個折線點,兩兩組合組成線段與代價平面橫、縱坐標軸的焦點即為ROC曲線中相應的TPR和FNR,根據坐標值,即可得出相應的ROC曲線。

8. Min-max規範化和z-score規範化是兩種常用的規範化方法。令分別表示變數在規範前後的取值,相應的,令和表示規範前的最小值和最大值,和表示規範後的最小值和最大值,分別表示規範前的均值和標準差,則min-max規範化、z-score規範化分別如式(2.34)和(2.44)所示。試析二者的優缺點

答:Min-max和z-score是常用的歸一化方法,我在項目中都有用過,總體感覺Min-max用的比較多,z-score用的相對較少。

Min-max優點在於方法簡單,計算簡便;缺點是如果數據集出現異常數據(極大值/極小值),會導致整個數據集中其他元素精確度變得很低。

z-score優點在於可以剔除極端元素帶來的影響,且歸一化的結果比較直觀,但是平均數和方差的計算導致計算量偏大。

9. 試述卡方檢驗過程。

答:這個一般大學課程都有,奈何我當時概率論的書都已經給師弟師妹了,我在這裡直接飲用百度百科的答案,大家如果有什麼問題可以再探討。

卡方檢驗就是統計樣本的實際觀測值與理論推斷值之間的偏離程度,實際觀測值與理論推斷值之間的偏離程度就決定卡方值的大小,卡方值越大,越不符合;卡方值越小,偏差越小,越趨於符合,若兩個值完全相等時,卡方值就為0,表明理論值完全符合。

注意:卡方檢驗針對分類變數。

(1)提出原假設:

H0:總體X的分布函數為F(x).

如果總體分布為離散型,則假設具體為

H0:總體X的分布律為P{X=xi}=pi, i=1,2,...

(2)將總體X的取值範圍分成k個互不相交的小區間A1,A2,A3,…,Ak,如可取

A1=(a0,a1],A2=(a1,a2],...,Ak=(ak-1,ak),

其中a0可取-∞,ak可取+∞,區間的劃分視具體情況而定,但要使每個小區間所含的樣本值個數不小於5,而區間個數k不要太大也不要太小。

(3)把落入第i個小區間的Ai的樣本值的個數記作fi,成為組頻數(真實值),所有組頻數之和f1+f2+...+fk等於樣本容量n。

(4)當H0為真時,根據所假設的總體理論分布,可算出總體X的值落入第i 個小區間Ai的概率pi,於是,npi就是落入第i個小區間Ai的樣本值的理論頻數(理論值)。

(5)當H0為真時,n次試驗中樣本值落入第i個小區間Ai的頻率fi/n與概率pi應很接近,當H0不真時,則fi/n與pi相差很大。基於這種思想,皮爾遜引進如下檢驗統計量 ,在0假設成立的情況下服從自由度為k-1的卡方分布。

10. 試述在Friedman檢驗中使用式(2.34)與(2.35)的區別。

答:

經過2.34式與2.35式的對比可以看出,2.35式中考慮了不同數據集N對演算法性能的影響,而2.34式只涉及到k個演算法間的不同導致的方差,只是簡單的將數據集的個數納入其中,並沒有考慮不同數據集的影響,書上所述「原始Friedman檢驗」過於保守的意思我覺得就是表明沒有考慮數據集不同所帶來的偏差。

採用方差分析(可自行查閱相關說明)來分離不同數據集和不同演算法對方差的影響。

總偏差平方和SST=組內SSW+組間SSB

其中組內偏差平方和在這裡是表示數據集不同帶來的偏差;

組間偏差平方和在這裡表示演算法不同帶來的偏差;

SST的自由度:N*(k-1),SSB自由度:k-1,SSW自由度:(N-1)*(k-1)

組內SSw、組間SSb除以各自的自由度,得到其均方MSw和MSb,MSb/MSw比值構成F分布。在這裡Tf服從自由度為k-1和(N-1)*(k-1)的F分布。

百度雲鏈接:pan.baidu.com/s/1hseOLG 密碼:r43y

(第二章 模型評估與選擇)

推薦閱讀:

基於模糊層次綜合評價法和聚類演算法的多人戰鬥競技類遊戲平衡性分析
台灣李宏毅老師機器學習ML 第一課 回歸Regression
第三章 線性模型
iForest (Isolation Forest)孤立森林 異常檢測 入門篇
數據嗨客 | 第6期:不平衡數據處理

TAG:機器學習 |