天天看點

欺詐檢測中的不平衡分類

文章目錄

  • ​​介紹​​
  • ​​為什麼模型可解釋性很重要?​​
  • ​​有哪些方法?​​
  • ​​傾斜的資料分布​​
  • ​​平衡資料分布​​
  • ​​平衡算法​​
  • ​​評估名額​​
  • ​​Precision-Recall 權衡在欺詐檢測中的意義​​
  • ​​關于權衡的結論​​
  • ​​使用不平衡資料集進行訓練和測試拆分​​
  • ​​結果​​
  • ​​平衡效果​​
  • ​​最好的結果​​

介紹

對于一些經典的機器學習方法來說,使用不平衡的資料集可能是一個問題,但是,在某些情況下,類之間的資料自然分布并不相等。這是典型的欺詐檢測問題。使用來自 ​​Kaggle 的資料集​​,我們可以看到有很多合法交易,隻有0.17%的總資料是欺詐. 在資料分布不平衡的分類問題中,研究通常側重于識别稀有資料。機器學習模型的性能應該主要根據少數類别的預測結果來衡量。它将展示如何選擇正确的名額來驗證模型以及在我們的情況下Precision-Recall權衡的實際意義。 最後,将重點介紹如何處理傾斜的類分布,并檢視使用不同機器學習算法獲得的結果。

為什麼模型可解釋性很重要?

在欺詐檢測中,不僅最終的預測很重要,而且導緻系統得出該結論的原因也重要。銀行可以使用自動欺詐分類系統來檢測可疑情況。發出警報後,銀行員工可能會分析導緻我們的系統識别假想欺詐的原因,并由專家做出最終決定。如果一個模型不能解釋原因,它就永遠不能被當局使用或用于法律目的。

當然,它并不總是那麼重要,但是擁有一個可以解釋分類原因的模型可能非常重要。

有哪些方法?

可以使用不同的方法檢測欺詐行為。各種研究顯示了基于神經/深度網絡或經典機器學習算法的解決方案。

像神經網絡這樣的工具通常是黑盒模型。是以,試圖擷取規則或交易被神經網絡以某種方式分類的原因可能非常困難,盡管如前所述,這些資訊在欺詐檢測中可能非常重要。像決策樹這樣經過訓練的基于樹的模型可以讓我們了解系統為每個分類标簽(欺詐或非欺詐)推斷出的規則)。這很容易,您隻需按照分類樹從根到葉的路徑即可了解分類标準。最後,神經網絡是非常強大的方法,但有時不需要使用此類工具,經典的機器學習方法可能足以獲得良好的結果。我們将訓練和測試以下方法:

  • 決策樹
  • 随機森林
  • Xgboost
  • 邏輯回歸
  • 支援向量機
  • K-NN

傾斜的資料分布

分類器對偏度可能是健壯的,也可能不是。少數類可以作為不平衡資料集中統計模型的異常值,并且異常值會對模型的性能産生不利影響。一些模型足夠健壯,可以處理異常值,但總的來說,問題是受限于使用哪個模型。處理不平衡資料集的挑戰在于,機器學習技術通常會忽略它們,總而言之,它會導緻少數類的表現不佳,盡管通常它應該是最重要的結果。關于這個問題,最佳實踐可能是平衡資料并進行偏度消除過程。在不平衡的資料集上訓練機器學習模型會影響我們的模型。

平衡資料分布

這個問題可以通過将資料集轉換為具有相同數量的不同類元素的新資料集來解決。有兩種可能的解決方案:

  • 對多數類進行欠采樣。
  • 通過建立合成樣本對少數類進行過采樣。
  • 第三種混合方式可以同時應用這兩種方法:過采樣和欠采樣。

為什麼這些政策有效?使用欠采樣政策,假設多數類的一些記錄是備援的,但是,這種方法的局限性在于,通過删除資料,我們可以删除相關資訊。使用過采樣政策,建立少數類的合成示例,直到類之間的資料分布相同。這可以平衡類分布,但不會為模型提供任何附加資訊。風險是過拟合少數類。

平衡算法

Random under/over-sample:最簡單(但效率較低)的方法是删除多數類的随機記錄并複制少數類的随機示例。

SMOTE:它通過選擇特征空間中接近的示例來工作,首先選擇來自少數類的随機示例。然後找到該示例中最近的k個鄰居(通常為k=5)。在所選示例與k個鄰居中的每一個之間的線上的随機選擇點處建立合成示例。該方法是有效的,因為來自少數類的新合成示例在特征空間中與來自少數類的現有示例相對接近。

欺詐檢測中的不平衡分類

ADASYN:它與SMOTE非常相似。建立這些樣本後,它會為這些點添加一個随機的小值,進而使其更加逼真。不是所有樣本都與父樣本線性相關,而是它們有更多的方差。

SMOTE TOMEK:應用SMOTE對少數類進行過采樣。為了減少異常值,Tomek Link 應用于少數類和多數類。Tomek 連結是一個資料清理和異常值删除過程。如果它們中的每一個都更接近另一個類的示例而不是同一類的一個示例,它會删除 2 條不同類的記錄。【(a) 原始資料集;(b) 過采樣資料集;©Tomek 連結識别;(d) 去除邊界和噪聲示例。】

欺詐檢測中的不平衡分類

SMOTE ENN:與SMOTE TOMEK一樣,清理和異常值檢測過程更有效。舉個例子,它是基于一個k最近鄰的過程來決定是否應該删除一條記錄。如果處理過程過于激進,我們可能會丢失重要資訊。

評估名額

在機器學習中,有多種評估分類模型的方法。最常用的名額是準确度。它告訴我們在全部記錄中正确分類了多少執行個體。在資料分布偏斜、類間資料不平衡程度較高的場景下,通常使用Precision、Recall、F-score和AUC等名額。

為什麼準确性不是正确的名額?如果我們假設在我們的不平衡資料集中有95個正常交易執行個體并且隻有5 個欺詐行為,那麼始終預測非欺詐行為的虛拟預測模型将獲得95%的準确率,而不會發現任何欺詐行為。這就是為什麼當我們使用不平衡的資料集時,模型評估不使用準确性的原因。

Precision 和 Recall都很重要,它們告訴我們預測系統所取得的結果的不同之處,這些名額與Fraud(交易特征)有關,因為這是我們更感興趣的。

Precision:當一筆交易被歸類為欺詐時,精确度的值可以讓我們了解系統如何确信如果它預測欺詐,則該交易是真正的欺詐。這是精度公式

欺詐檢測中的不平衡分類

Recall:召回的價值可以讓我們了解系統如何有信心抓住所有欺詐行為。這是召回公式:

欺詐檢測中的不平衡分類

Precision-Recall 權衡在欺詐檢測中的意義

完美的預測模型應該檢測資料集中的所有欺詐行為,并確定每個預測的欺詐行為都是真實的欺詐行為。用我們的名額進行翻譯意味着具有高召回率(檢測所有欺詐)和高精度(預測為欺詐的交易的錯誤盡可能少)。Precision-recall 是一種權衡,當你試圖優化精度時,召回率的價值會降低,反之亦然。

優化Precision是什麼意思?我們将非常有信心預測為欺詐的交易是真正的欺詐,我們将調整分類器的參數,使其僅将很有可能是真正欺詐的交易預測為欺詐。缺點是無法檢測到一些欺詐交易,可能是與非欺詐最相似的交易。系統将丢失一些将它們歸類為正常的欺詐交易,這可能是一個問題。

優化Recall是什麼意思?我們将非常有信心檢測到所有欺詐行為,我們将調整分類器的參數,使其能夠檢測到盡可能多的欺詐行為。缺點是在嘗試檢測所有欺詐時,與欺詐相似的正常交易也會被歸類為欺詐。

關于權衡的結論

Precision-recall是一種權衡,我們更喜歡Precision優化,我們檢測到的欺詐更少,我們正在減少recall。更喜歡recall優化,我們檢測到更多欺詐,但可能會發生其中一些被錯誤分類并且精度值會降低的情況。您可以選擇一個名額而不是另一個名額,但重要的是始終牢記這兩個名額。例如,一個模型達到 99% 的準确率和 15% 的召回率,它就不是一個好的預測器,因為即使它有非常高的準确率,它也無法檢測到 85% 的欺詐!

我們不知道哪個名額比另一個更重要,這取決于我們的模型用于特定的用例。在某些情況下,檢測所有欺詐行為可能更重要,如果存在誤報(召回優化)則無關緊要,在其他情況下,我們更喜歡警報更少但精度更高。

使用不平衡資料集進行訓練和測試拆分

使用平衡算法(例如SMOTE),我們将修改原始資料集,我們正在建立新示例,并删除其他示例。如果操作不當,可能會導緻資料洩漏,我們希望避免這種情況。訓練測試拆分過程必須在資料操作(如平衡)之前完成。這樣,測試集将高度不平衡,這沒關系,因為我們希望像在真實場景中一樣測試我們的模型。我們隻想為訓練過程平衡資料。

結果

在顯示結果之前,我們必須了解我們正在搜尋的資訊類型。回答一些簡單的問題可以幫助我們了解我們的研究可以繼續往哪個方向發展。

  • 平衡方法有效嗎?總是或僅在某些情況下?
  • 哪種分類方法最好,性能如何?

平衡效果

該模型已經使用不同的機器學習算法進行了訓練:決策樹、随機森林、XGBOOST、SVM、LOGISTIC REGRESSION、K-NN。

平衡過程已使用之前顯示的所有方法完成:RANDOM、SMOTE、ADASYN、SMOTE ENN、SMOTE TOMEK、IMBALANCED。

随機森林

欺詐檢測中的不平衡分類

決策樹

欺詐檢測中的不平衡分類

XGBOOST

欺詐檢測中的不平衡分類

支援向量機

欺詐檢測中的不平衡分類

邏輯回歸

欺詐檢測中的不平衡分類

K-NN

欺詐檢測中的不平衡分類

一些顯示的方法在不平衡和平衡的資料上都達到了良好的效果。決策樹和邏輯回歸對不平衡資料有很好的效果。SVM受益于平衡過程,精度達到+54%。

一個有趣的結果是使用Random Forest、XGBoost和K-nn獲得的結果。平衡過程導緻召回率增加,這似乎是合理的。在平衡過程中,我們将增加模型在訓練中看到的欺詐數量。通過這種方式,它将獲得有關欺詐行為的更多資訊,并且會識别出更多資訊。

最好的結果

我們将展示使用不同方法獲得的最有趣的結果。

欺詐檢測中的不平衡分類

使用Random Forest和XGBoost可獲得最佳結果。此外,K-NN有有趣的結果,但我們更喜歡其他模型,因為預測模型可以在實時系統中使用,并且由于每個分類的計算複雜性,k-nn 不是最佳解決方案。邏輯回歸和SVM有兩種不同的行為。第一個在準确率上表現良好,第二個在召回率上表現良好。決策樹非常适合處理不平衡的資料,并且結果越來越接近最好的分類器之一。

最好的分類器是随機森林和XGBoost。如前所述,如果我們更喜歡優化一個名額而不是另一個名額,那麼平衡過程可能是一個重要的工具。平衡過程導緻召回的增加,如果我們想檢測更多的欺詐行為,這是一個重要的結果。