數據嗨客 | 第10期:模型選擇與評價
普林大數據學院依託北京大數據研究院和北京大學,為有需求的企業和用戶提供線上線下結合大數據培訓服務。
線上:國內首家大數據在線成長平台——數據嗨客,包括實戰、學習、群組、培訓、競賽、工作六大功能模塊。旨在幫助大數據人才在理論知識、業務能力和實戰技能方面全面發展,成長為真正的數據科學家。
線下:專業的數據科學家授課,權威的課程體系(北大授課體系)。
0.引言
在機器學習過程中,存在不同的任務,針對具體任務進行分析的時候,需要使用不同的評價指標。
分類模型是通過訓練數據建立預測模型,並利用模型將需要預測的數據樣本劃分到已知的幾個類別中的過程。
回歸模型通過數據構建自變數與因變數之間的定量映射關係。與分類模型不同的是,回歸模型的自變數是連續型變數。
聚類是將數據分到不同的類或者簇的過程,使得同一個類中的樣本相似性大,而不同類間的樣本相似性小。聚類模型與分類模型的不同點在於,聚類模型要求所劃分的類是未知的。
1. 二分類模型評價指標
機器學習中存在各種不同的分類模型,如邏輯回歸、決策樹、樸素貝葉斯和支持向量機等。評估不同分類模型性能的方法是相通的。
在分類問題中,每一個樣本都存在兩種角度的標籤: 一個是樣本真實的標籤,一個是模型預測的標籤。根據每一個樣本的兩種角度的標籤,可以得到一個混淆矩陣(Confusion Matrix)。混淆矩陣中的每一列代表預測類別 ,每一列的總數表示預測為該類別的樣本的數目。每一行代表了樣本的真實歸屬類別 ,每一行的數據總數表示該類別的樣本的數目。分類模型的評價指標主要基於混淆矩陣,下面將介紹二分類模型和多分類模型的性能評價指標。
二分類模型評價指標
對於二分類問題,每一個樣本可以劃分到以下四種類中。
True Positive (TP): 樣本真實類別是正向的,模型預測的類別也是正向的。
True Negative (TN): 樣本真實類別是負向的,模型預測的類別也是負向的。
False Positive (FP): 樣本真實類別是負向的,模型預測的類別是正向的。
False Negative (FN): 樣本真實類別是正向的,模型預測的類別是負向的。
對應的混淆矩陣如下表所示:
正確率
在分類問題中最常見的指標是正確率(Accuracy),它表示模型預測正確的樣本比例。正確率的定義如下:
在不均衡數據中,正確率無法很好地度量模型的好壞。例如在文本情感分類數據集中,正面的樣本佔比為80%,負面的內容佔比只有20%。如果一個分類模型將所有的樣本都預測為正面,這個模型顯然是一個無用的模型,但是它的正確率卻可以達到80%。對於不平衡數據,精度和召回率是比正確率更好的性能評價指標。
精度
精度(Precision)是指正確預測的正樣本占所有預測為正樣本的比例。
召回率
召回率(Recall),又稱靈敏度和命中率,是指正樣本中被正確預測的樣本比例。
從上述定義公式可見,精度和召回率指標的分子一樣,不同的是分母。對比混淆矩陣可以看出,精度的計算可以理解為首先將模型預測為正向的樣本抽取出來(TP + FP), 然後進一步審查這些樣本中有多少樣本真實標籤也是正向(TP)。召回率則是以真實標籤為正向的樣本作為參考基準(TP+FN),審查這些樣本中有多少是模型預測正確的(TP)。
F1值
從上述定義中可以看出,單獨考慮精度和召回率是片面的,那麼有沒有一個比較好的綜合指標呢?答案是肯定的!在二分類問題中,可以定義一個綜合考慮精度和召回率的指標,這個指標為F值。廣義上的 F 值定義如下:
其中為ββ正數,其作用是調整精度和召回率的權重。ββ越大,召回率的權重更大;ββ越小,則精度的權重更大。當β=1β1時,精度和召回率的權重一樣,此時稱為F1值,它是精度和召回率的調和平均數。
ROC曲線和AUC
ROC(Receiver operator characteristic )曲線和AUC(Area under the ROC curve)是一個從整體上評價二分類模型優劣的指標,其中AUC是ROC曲線與橫軸之間的面積。相比於其他評價指標,ROC曲線具有一定的穩定性,它不會因為正負樣本分布的變化而產生不同的曲線。現實狀況中,正負樣本分布不均衡的情況比較普遍,所以ROC曲線和AUC是一個重要的評價指標。
ROC曲線通過真陽率(True Positive Rate, TPR)和假陽率(False Positive Rate, FPR)兩個指標進行繪製。真陽率又稱為敏感度(Sensitivity), 表示真實標籤為正向的樣本中,模型預測也是正向的樣本比例。可見,真陽率和召回率是等價的指標。假陽率表示真實標籤是負向的樣本中,模型預測為正向的比例。真陽率和假陽率的定義為:
通過調整模型的閾值,我們可以得到一組TPR和FPR。以FPR作為橫軸,TPR作為縱軸,可以針對一個模型繪製ROC曲線。ROC曲線下面積(Area Under Curve, AUC)代表了模型性能的好壞。
一個隨機的模型在ROC曲線中是一條直線(下圖中的虛線),ROC曲線下面積為0.5。而一個完美模型的 ROC 曲線經過(0,0),(0,1),(1,1)三個點的曲線,此時ROC曲線下面積為1。
AUC的數值範圍是[0,1],值越大說明模型越好。一般來說,AUC大於0.75可以認為是一個比較理想的模型。
AUC = 0.5: 說明模型與偶然造成的結果效果差不多
AUC < 0.5:說明模型不如偶然造成的效果
AUC > 0.5:說明模型較好
2. 回歸模型評價指標
區別於分類模型,回歸模型的預測值一般都是連續的。評價模型的指標沒有統一的標準。本文將介紹三個常用的方法。
平均絕對誤差
平均絕對誤差(Mean Absolute Error, MAE)是所有單個觀測值與算術平均值的偏差的絕對值的平均。
均方誤差
均方誤差(Mean Squared Error, MSE)是衡量「平均誤差」的一種較方便的方法,可以評價數據的變化程度。均方根誤差是均方誤差的算術平方根。
其中 SST 表示總誤差平方和,SSE 表示殘差平方和
3. 聚類模型評價指標
聚類模型的性能指標主要分為內部指標(Internal Index)和外部指標(External Index)兩類。內部指標適用於無標註數據,根據聚類結果中簇內相似度和簇間分離度進行聚類質量評估;而外部指標適用於有標註數據,將聚類結果與已知類標籤進行比較。
3.1 內部指標
DB 指數
聚類模型的目標是使得簇內數據盡量相似,不同簇之間的數據盡量不相似。DB 指數正是基於這個思想所構建的指標,它表示簇內距離與簇間距離之比,DB 的值越小說明聚類效果越好。
輪廓係數
輪廓係數(Silhouette Coefficient)綜合了簇的凝聚度和分離度兩個指標。
3.2 外部指標
根據這種關係,我們能得到四種不同可能性:
基於這四種可能性,我們可以定義出不同的評價指標,常見的指標有 Rand 指數和調整 Rand係數。
Rand指數
Rand指數( Rand Index, RI)類似於分類模型中的準確度指標,其具體定義如下:
Rand指數取值範圍為[0,1],取值越大意味著聚類結果與真實情況越吻合。
調整Rand指數
對於隨機結果,Rand指數並不能保證分數接近零。為了實現「在聚類結果隨機產生的情況下,指標應該接近0」,調整Rand係數(Adjusted Rand Index,ARI)被提出,它具有更高的區分度:
ARI取值範圍為[-1,1],值越大意味著聚類結果與真實情況越吻合。從廣義的角度來講,ARI衡量的是兩個數據分布的吻合程度。
推薦閱讀:
※斯坦福機器學習筆記10密度分布估計の混合高斯模型
※機器學習不僅僅是模型
※深度學習基礎:Autoencoders
※機器學習演算法實踐—K-Means演算法與圖像分割
※[視頻講解]史上最全面的正則化技術總結與分析--part2