Classification從這裡開始!
想像這樣一個場景,在看過《泰坦尼克號》、《最萌身高差》、《羅馬假日》一些列愛情電影之後,你感嘆於男主人公的強大魅力,你突然有了一個奇妙的想法。你想要成為一名金牌戀愛顧問,幫助現實生活中的廣大男生們解決戀愛問題。你借用高科技的手段,收集了大量電影、電視劇和民間廣為流傳的成功和失敗的案例,想要利用機器學習的方法嘗試不同的吸引女生的特徵——幽默、貼心、小奶狗啊等等,找到那個任何女生看到都會100%愛上這個男生的模型。最後,成為江湖的傳奇。如果,真的要去建立這樣一個模型,我想它應該被分在定性分析那一類問題裡面吧。
定性分析問題,也就是我們常說的分類問題,是機器學習中區別於回歸(regression)的另一類問題。生活中常見的分類問題有:你收到的一封郵件是不是垃圾郵件?機器判斷患者是否患有癌症?現如今,有著很多簡單好用的演算法可以用來解決分類問題。例如,邏輯回歸(logistic regression)、支持向量機器(support vector machine)、決策樹(decision tree)、隨機森林(random forest)等。但是,在正式了解這些當下流行的演算法前,需要確定下來一些評價模型的標準,從而幫助我們更好地了解和改進模型。在這裡,我們只討論二元分類問題(binary classification problem),也就是分類的結果只有兩種:是或不是垃圾郵件;有木有癌症;愛還是不愛。
混淆矩陣(confusion matrix)
對於分類問題,一系列評估模型的標準可以說都是從這個矩陣開始,運用不同的公式,得到不同的結果,然後從不同的側面來評估一個模型。混淆矩陣呈現模型的預測結果(predicted class)和真實結果(actual class)之間匹配情況。圖中positive 和negative 代表兩種類別。郵件問題中,positive 代表是垃圾郵件,negative也就代表不是垃圾郵件;癌症問題就是有(positive)和沒有(negative);愛情問題中就是愛(positive)和不愛(negative)。如果模型預測結果和真實結果是一致,就體現在圖中左上到右下的對角線(true positive + true negative )。如果不一致,那麼就會出現統計學稱作第一類錯誤(type I error = false positive)和第二類錯誤(type II error = flase negative),即體現在圖中右上到左下的對角線上。當了解矩陣中所有的元素後,可以由此推出一些評價分類模型的標準。
ps: 對於第一類錯誤和第二類錯誤,我永遠記不住教科書複雜的定義。一個簡單的類比輕鬆解決問題。第一類錯誤 = 看著一個男人說:「你懷孕了。」;第二類錯誤 = 看著一個懷孕的女人說:「你沒有懷孕。」 -- 呵呵,都是睜眼說瞎話。
這一車的標準
1. 準確率(Accuracy)
即,所有數據中作出準確預測的比例。
2. 查准率(Precision)
3. 查全率/召回率(Recall)
4. F score
統一查准率和查全率的標準。
5. ROC曲線 (ROC Curve)
表現真陽率(true positive rate)和假陽率(false positive rate)之間的取捨。ROC曲線是根據數據不同分類的分布和分類標準畫出來的,這裡我們就不講細節了。簡單地來說,曲線越靠近左上角,就說明模型更好。
6. AUC(Area Under the Curve - 曲線下面積)
AUC是建立在ROC曲線之上,讓模型之間比較更加簡單的一個標準。通過計算曲線下的面積,比較不同模型間AUC數值的大小,更加方面快捷的得到最好的模型。模型的AUC越接近1就說明模型的表現更好。
以上,就是針對分類模型常用的一車標準,不同的標準展現了模型不同的側面,讓我們能夠更加全面的來評估和比較模型。
最後,本文中所有的圖片都來自於梁勁(Jim Liang)整理的機器學習的筆記。這是一份能夠讓對機器學習感興趣的朋友以坐火箭的速度快速入門的筆記。非常感謝梁勁的筆記,幫助我搭建一個清晰的框架。我也向大家推薦,感興趣的朋友,可以關注公眾號ReadySteadyGo,獲取英文筆記的下載資源。
PS: 最後插一句題外話,如果真的有本文開頭提到的機器模型的話,您認為最重要的特徵是什麼呢?


TAG:耳木易新 |