轉型AI產品經理(3):模型評估篇
我們在訓練AI模型后,對于產品經理最重要的一件事是評估模型,今天我們要講下要如何評估模型。因為不同的模型用到的指標會有差異,比如回歸模型中會用到“MAE(平均絕對誤差)”、“MSE(均方誤差)”等,多分類模型中會用到“Micro-average(微平均)”、“Macro-average(宏平均)”等,介于篇幅,我們主要講二分類模型中常用的評估指標。
作為機器學習的一種模型,它主要是通過學習從輸入數據到類別標簽之間的映射關系,以便在給定新的輸入數據時能夠準確地預測其所屬的類別,也就是將數據集中的樣本分為二個類別的模型。
常見的二分類模型包括:
- 邏輯回歸:邏輯回歸雖然名字中帶有“回歸”,但實際上是一種分類算法,主要用于解決二分類問題。它通過sigmoid函數將線性回歸模型的輸出映射到[0,1]之間,表示樣本屬于某一類別的概率。
- 決策樹:決策樹通過一系列的決策節點對數據進行分類。每個決策節點基于輸入特征的某個屬性進行劃分,直到達到葉子節點,即最終的類別標簽。
- 隨機森林:一種集成學習方法,通過組合多個決策樹來進行分類。它在訓練過程中引入了隨機性,使得每棵決策樹都略有不同,從而減少過擬合的風險。(過擬合就像是一個學生在考試前只記住了特定題目的答案,但是沒有理解背后的概念,所以當考試題目稍有不同時就不知道怎么回答了)
- 支持向量機(SVM):支持向量機通過找到能夠最大化類別間間隔的超平面來進行分類。它在高維空間中尋找一個最優的分割超平面,使得不同類別的樣本能夠被清晰地分開。
以上只是二分類模型的一部分舉例,實際還有很多其他的算法,要根據自身的業務場景來選擇合適的分類模型。對于二分類模型,我們常用的評價方法主要有:
一、混淆矩陣
它以矩陣形式展示模型預測結果與真實標簽之間的對應關系?;煜仃嚨男斜硎灸P皖A測的類別,列表示實際的類別。通常,混淆矩陣是一個二維矩陣,但在多分類問題中,可能會有更多的行和列。
典型的二分類混淆矩陣如下圖:
- TP(True Positive)表示真正例即實際和預測都是正的;
- TN(True Negative)表示真負例即實際和預測都是負的;
- FP(False Positive)表示假正例即預測是正的,實際是負的;
- FN(False Negative)表示假負例即預測是負的,實際是正的。
Positive表示正例,Negative表示負例,正例和負例的定義取決于具體的問題和任務。
通常情況下,正例表示我們感興趣的事件或目標類別,而負例表示其他類別或不感興趣的事件。比如,在垃圾郵件檢測的問題中,垃圾郵件可以被視為正例,非垃圾郵件則是負例;而在反欺詐系統中,欺詐交易可能被視為正例,而合法交易則是負例。
對于一個理想的分類器,自然是希望分類器完美地完成了分類任務,沒有任何錯誤,但實際情況是很難達到完全正確的,所以就需要使用相關的評價指標,主要包括:
- 準確率(Accuracy):準確率表示模型正確預測的樣本數占總樣本數的比例,計算公式是正確分類的樣本數與總樣本數之比,表示為Accuracy=(TP+TN)/總樣本數。
- 查準率(Precision):也有叫精準率,它衡量的是模型預測為正例的樣本中,真正例的比例,即預測為正例的樣本中有多少是真正例,表示為Precision=TP/(TP+FP)。
- 召回率(Recall):也有叫查全率,它衡量的是真實的正例中,模型成功預測為正例的比例,即真實的正例中有多少被模型預測為正例。其計算公式為:Recall=TP/(TP+FN)
- 特異度(Specificity):特異度衡量的是真實的負例中,模型成功預測為負例的比例,即真實的負例中有多少被模型預測為負例,其計算公式為:Specificity=TN/(TN+FP)
- F1分數:查準率和召回率的調和平均值,綜合衡量模型的性能。一般情況下查準率和召回率呈反比關系,即查準率高、召回率就低;查準率低,召回率就高,那么就需要一個指標來綜合評估模型的查準率和召回率達到平衡的程度,可以用F1來衡量,其計算公式為:F1=2×Precision×Recall/(Precision+Recall),F1分數的取值范圍從0到1,高F1分數意味著模型在保持查準率和召回率之間保持良好的平衡,0表示模型性能最差,F1分數越大通常表示模型的性能越好,1表示模型性能最佳。
- ROC曲線:ROC 曲線可以幫助我們在查準率和召回率之間做出權衡。它以真正例率(True Positive Rate,TPR)為縱軸,假正例率(False Positive Rate,FPR)為橫軸,通過改變分類器的決策閾值,繪制出不同閾值下的TPR和FPR,從而形成一個曲線。曲線越靠近左上角,表示模型的性能越好。
- AUC(ROC曲線下面積):它是ROC曲線下的面積,用于衡量分類模型的整體性能。AUC 的取值范圍在 0 到 1 之間,值越大表示模型性能越好。AUC 值為 0.5 表示模型的預測效果與隨機猜測相當(即模型沒有區分能力),AUC>0.5表示模型有一定的區分能力,當AUC 值接近于 1 表示模型具有很好的預測能力。
這些指標各有側重。
在模型開發的早期階段,可以使用混淆矩陣來直觀地了解模型的分類表現。準確率是評估模型整體性能的常用指標,它關注整體預測的準確性,但在樣本不平衡的情況下,準確率可能會受到影響。
查準率和召回率則更加注重不同類別的預測準確性,可以提供更詳細的信息,可以根據具體的應用場景、業務需求調整查準率和召回率的權重。
在樣本不平衡的情況下,ROC 曲線和 AUC 可以更好地評估模型的性能??偟膩碚f,模型評估不僅僅依賴于單一指標,而要根據業務的特點,結合多個指標進行綜合評價。
二、KS值
常見于金融風控領域,它衡量的是風險區分能力。KS值越大,表示模型的風險區分能力越強。
KS 值的計算方法是首先按照模型預測得分對樣本進行排序,然后計算累積正例和累積負例的比例,最后計算它們之間的最大差值。
在實際操作中,可以根據 KS 值選擇最佳的預測閾值,以平衡查準率和召回率。
三、GINI系數
不同于經濟學中的基尼系數(衡量收入分配或財富分配不平等程度的統計指標),模型評估的GINI系數是一個用于衡量模型預測結果的不平等程度的指標,表示模型隨機挑選出正例的概率比隨機情況下提高了多少的指標,通常用在信用評分中比較常見。
GINI系數的取值范圍從0到1,其中0表示模型完全沒有判別力(即無法區分正負樣本),1表示模型具有完美的判別力。
四、IV值
IV值衡量的是變量的預測能力,它基于變量的分箱計算每個分箱中正例和負例的比例,然后根據這些比例計算每個分箱的信息值,最后將所有分箱的信息值進行加權求和得到 IV 值。
一般來說,IV 值越高,表示變量對目標變量的預測能力越強。
在金融風控領域,KS 值、GINI 系數和 IV 值是常用的評估指標。在記憶這些指標數值大小代表的好壞時,我們可以看出,除了ROC曲線是“曲線越靠近左上角,表示模型的性能越好”之外,其他的指標都是“越大越好”。
此外,除了這些評估指標,我們還需要關注以下一些維度,才能更好地評估模型。
1)魯棒性(穩定性): 它是指一個模型在面臨內部參數變化、外部環境擾動、輸入數據異常時,仍能保持穩定性能、正常運作的能力。魯棒性較高的模型能夠在面對未知的數據時保持穩定的表現,不會因為小的數據變化而導致性能的大幅度下降。如果模型的其他指標都很好,但是一旦數據發生一定程度的變化,模型的預測能力就大大降低,這種情況則不是我們樂于見到的情況。所以,我們在評估模型好壞或是否可以停止訓練時,還需要考慮模型是否能在真實環境中可靠地工作,并且能夠有效地應對各種異常情況。
在評估魯棒性時,通常我們可以采用 “對抗性測試,即向模型輸入有干擾性的樣本或者gong擊性的數據來測試“、”噪聲測試,即向模型輸入具有隨機噪聲的數據,觀察模型對噪聲的敏感程度“,如果模型能夠很好的處理這些異常數據,則說明模型具有較強的魯棒性。
2)泛化能力:它是指模型在面對未曾在訓練階段遇到過的全新數據時,能夠正確預測其輸出或者分類的能力。
泛化能力反映了模型從已知數據中學習到的規律能否有效地應用到未知數據上。想要泛化能力高,需要在提供訓練的數據集時就要開始考量數據的覆蓋面,代表性、相關性,如果一開始訓練的數據集就有一定的偏重性(又不是與目標變量相關的重要特征),不符合實際的業務場景,那就會導致模型的過擬合程度較高,從而導致泛化能力差。
在評估模型的泛化能力時,通常我們可以采用“交叉驗證,即通過將數據集分成多個子集,在不同子集上訓練和測試模型,從而得到更準確的泛化性能評估結果“,”外部驗證,即使用獨立于訓練數據的外部數據集來驗證模型的泛化能力“。
總的來說,決定模型泛化能力的因素是模型的復雜度、訓練數據的質量和數量,以及數據分布與目標變量之間的關系等。
在訓練和評估模型時,需要綜合考慮這些因素,以確保模型能夠在未見過的數據上獲得良好的表現。
3)可解釋性:它指的是模型能夠以易于理解的方式展現其內在邏輯、工作原理和決策依據的能力。可解釋性關乎模型的透明度和清晰度,讓用戶能夠明白模型為何做出某種預測或決策,這對于信任模型以及優化模型性能等方面至關重要。
在可解釋性評估時,我們可以通過“特征重要性分析,即模型能夠明確指出哪些特征對預測結果的影響大”,“可視化分析,即用可視化的方法來展示模型決策的過程和結果,使用戶能夠直觀地理解模型的預測思路或原理”。
在實際的操作中,模型的可解釋性都相對來說較弱,但是在B端產品中,可解釋性又是產品經理挑戰較大的一點,客戶購買你的產品,他們無法感知到你的AI能力,你除了需要介紹你的訓練數據包含了多大量級的數據,訓練數據來源如何符合他們的業務需求之外,他們通常只能得到一個模型輸出的結果。至于結果是怎么來的,他們只能通過你介紹的產品是如何預測的原理來感知你的AI產品是否滿足他們的需求。
通常,產品經理要在這一部分和算法團隊進行深度討論,將算法中的原理摸熟后,轉化為客戶能夠理解并認可的“模型解釋”,對原理深入淺出的解釋功夫需要練習,可以跟公司內部的人員,如銷售、客戶成功部、客服部等先解釋看看,根據他們不懂的地方再修改。
對模型的解釋即要容易被理解,又要讓客戶覺得模型的工作原理或思路符合他們的場景需求,這樣才能讓客戶信任你的AI產品能力。
模型的解釋只有便于非技術人員理解,讓公司內部的人員都能準確表達出來,才會在客戶詢問或質疑模型的可靠性時得到滿意的答復,這一點相對于C端產品來說,會比較影響客戶的留存率,需要重視。
總的來說,對于模型的評估,不是單靠一項指標來評估的,要根據當前業務的階段,模型訓練的時長、成本,訓練數據的收集、更新等綜合來評估,是一個找到當前最適用的評估方法的“平衡”過程。關鍵還是要看業務的具體場景是什么,用戶目前最在意的特征、指標是什么,最具性價比的方案等來綜合取舍!
如果你也有模型評估方面更好的思路,歡迎分享交流!
本文由 @養心進行時 原創發布于人人都是產品經理,未經許可,禁止轉載
題圖來自 Unsplash,基于 CC0 協議
該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。
- 目前還沒評論,等你發揮!