當前位置:外匯行情大全網 - 信用卡套現 - 如何處理樣本不平衡的問題

如何處理樣本不平衡的問題

樣本不平衡問題的相關解決方案如下:

首先,從數據上看工程建模過程的六個維度,包括:

1,業務理解:從實際業務出發,明確業務需求。

2.數據理解:以實際數據為基礎,明確數據的特征,如數據更新周期。

3.數據預處理:對數據進行清洗、處理和特征工程,並篩選樣本。

4.建模:引入相關的模型方法,完成模型需求。

5.模型總體評價:進行模型效果,確保模型效果符合實際要求。6.數據表達:整個數據應用和建模過程的標書。

這次主要針對建模過程中的數據預處理過程,進行樣本篩選,確保樣本分布滿足建模需求或者使模型樣本能夠準確表達業務需求。

1.什麽是樣本不平衡?

所謂不平衡,就是不同類別的樣本量差別很大,或者說少量的樣本代表了業務的關鍵數據,所以要學好少量樣本的模式。樣本類別分布不均衡主要出現在與分類相關的建模問題中。

樣本類別分布不均勻按數據規模可分為大數據分布不均勻和小數據分布不均勻兩種類型:

(1)大數據分布不均勻——整體數據規模大,某壹類樣本占比較小。例如,在壹個有654.38+00萬條記錄的數據集中,占5萬條記錄的少量分類樣本方便屬於這種情況。

(2)小數據分布不均勻——如果整體數據規模小,某壹類別的樣本數也小。在這種情況下,由於小樣本數量太少,很難提取特征用於監督/無監督算法學習,這是壹個小數據樣本分布嚴重不均勻的問題。比如有100個樣本,20個A樣本,80個B樣本。

二、在實際項目中,樣本不平衡的場景有哪些?

(1)異常檢測場景——如惡意刷單、黃牛訂單、信用卡詐騙、竊電、設備故障等。,這些數據樣本的比例通常是整體樣本的壹小部分。以信用卡詐騙為例,刷實體信用卡的詐騙率壹般在0.1%以內。

(2)客戶流失場景——大企業的客戶流失量相對於整體客戶來說通常很小,尤其是對於具有壟斷地位的行業巨頭,如電信、石油、網絡運營商等。

(3)稀有事件分析——稀有事件分析與異常事件的區別在於,異常檢測通常是預定義的規則和邏輯,大多數異常事件對社會企業的運營都有負面影響,因此檢測和預防異常事件非常重要;但罕見事件無法預測,沒有明顯的正負影響傾向。異常事件往往是用異常檢測的方法檢測出來的,後面會介紹。

(4)發生頻率低的事件——這類事件是預期或計劃中的,但發生的頻率很低。比如每年的1雙11活動,壹般會產生較高的銷售額,但在全年中,這壹天的銷售額占比很可能不到1%,特別是很少參加活動的公司。這是典型的低頻事件。

三、在工程過程中,如何處理樣本不平衡的問題?

(1)欠采樣:在少數樣本數量不影響模型訓練的情況下,通過欠采樣多數樣本,可以達到少數樣本和多數樣本之間的平衡。

(2)過采樣:在少數樣本數量不支持模型訓練的情況下,可以通過對少數樣本進行過采樣來達到少數樣本與多數樣本之間的平衡。

(3)模型算法:通過引入嚴重依賴的模型算法,側重於擬合少量樣本,提高對少量樣本特征的學習。

第四,樣本均衡處理

4.1樣本均衡-欠采樣

欠采樣(也稱為欠采樣,US)方法通過減少大多數分類類別中的樣本數量來實現樣本平衡。欠采樣會丟失大部分樣本中的壹些信息,而保留少量樣本。欠采樣後,樣本總數正在減少。

4.1.1隨機刪除

隨機刪除,即隨機刪除壹些大樣本,使小樣本和大樣本的數量達到平衡。

隨機刪除的主要方法如下:

1,分別確定樣本集中多樣本和小樣本的個數;

2、確定采樣樣本集中多個樣本與少數樣本的比例;

3、以少量樣本為基準,確定多個樣本的總抽樣數;

4.對大量樣本進行隨機抽樣。

在這個算法中,可以使用python自帶的random.sample()函數作為種子,比如

4.1.2原型生成

原型生成方法將根據原始數據集重新生成數據集。新生成的數據集的樣本大小小於原始數據集的樣本大小,並且新生成的數據集的樣本不在原始數據集中。

換句話說,通過原型生成方法獲得的數據集是生成的,而不是從原始樣本中選取的。最常見的原型生成算法是通過聚類實現的。比如k-means算法得到聚類中心後,根據聚類中心生成新的樣本。

具體做法如下:

1,從小樣本總數開始,確定均衡後多樣本總數;

2.從多個樣本開始,利用k-means算法隨機計算k個多個樣本的中心;

3.認為k-means的中心點可以代表樣本聚類的特征,中心點代表樣本聚類;

4.重復2/3個步驟以生成新的多樣品組,並

下圖是三類2000個樣本點的集合,每個樣本維度為2——即樣本* * *有兩個特征,其中,。PG算法完成樣本均衡後,樣本的總體分布沒有變化。

下圖顯示了三類2000個樣本點的集合,每個樣本維度為8——也就是說,***樣本的8個特征,其中。因為是高維數據,散點圖顯示的是t-SNE降維後的結果。可以看出,在高維情況下,樣本之間的關系在均衡後發生了變化——即在高維情況下,K-means的類中心不能很好地代表樣本簇的特征。

4.1.3原型選擇

與原型生成不同,原型選擇是直接從原始數據集中抽取。也就是說,新生成的數據集的樣本大小小於原始數據集的樣本大小,並且新生成的數據集的樣本。提取方法可以分為兩類:

(1)受控欠采樣技術——即對多個樣本進行采樣,以獲得所需的平衡樣本集。具體方法可以是隨機抽樣、基於bootstrap的抽樣和啟發式規則抽樣。

(2)清潔欠采樣技術——這種算法主要包括三個子類別:

A) Tomek的基於距離的鏈接鑒別方法;

b)基於最近鄰的算法;

c)基於1-NN分類器的構造方法上述方法的主要區別在於篩選多個樣本的算法不同,但都使用原始樣本,即生成的新樣本。

4.1.4算法集成

算法集成可以理解為壹個不平衡的數據集通過多個平衡子集達到平衡的過程。借助Boost的思想,實現了多個子集的融合。

BOOST算法是壹種通用的學習算法,可以提高任何給定學習算法的性能。其思想源於Valiant在1984中提出的“可能恰當正確”的PAC (PAC)學習模型,在PAC模型中定義了兩個概念——強學習算法和弱學習算法。

其概念是,如果壹個學習算法通過學習壹組樣本,識別率很高,則稱之為強學習算法。如果識別率僅略高於隨機猜測,且其猜測準確率大於50,則稱為弱學習算法。

基於欠采樣的積分方法包括以下步驟:

1,以平衡樣本為壹個句子,采樣大量樣本,用k個樣本組成訓練集;

2、學習訓練集,得到第壹if分類器;

3.引入新的數據,與誤分類數據結合,構造新的k個樣本的訓練集,通過學習得到第二個弱分類器;

4.繼續第三步,建立新的樣本集和弱分類器。訓練次數n是壹個超參數;

5.經過N次訓練後,將所有的分類器進行整合,最終得到壹個強分類器,即通過多數投票決定壹個樣本的分類。

上述方法是壹種基於欠采樣的基本集成方法,可以根據實際需要對弱積分器的個數和最終的投票算法進行改進,比如對每個分類器的精度進行加權。

對於算法集成,C.Seiffert (2010)提出了壹種基於AdaBoost的算法。M2-RUS助推。算法流程如下:

4.2樣本均衡-過采樣

過采樣方法通過增加分類中少數樣本的數量來實現樣本平衡。最直接的方法是簡單復制少數樣本,形成多條記錄。這種方法的缺點是,如果樣本特征很少,可能會導致過擬合。

改進的過采樣方法是通過在少數類中加入隨機噪聲、幹擾數據或某種規則來生成新的合成樣本,相應的算法將在後面介紹。

4.2.1過采樣-隨機復制

隨機復制是指復制少量樣本,達到樣本平衡的效果,以提高模型效果。如下圖所示,在復制之前,線性SVC只找到了壹個超平面——即認為樣本集中只有兩類樣本。隨機復制後,線性SVC發現了另外兩個超平面。

4.2.2過采樣-樣本構造

在隨機過采樣的基礎上,壹方面降低了直接復制樣本帶來的過擬合風險,另壹方面實現了樣本平衡。典型的樣本構造方法有SMOTE及其衍生算法。

(1) SMOTE算法基於從小樣本集篩選出的樣本和對應的隨機數0之和

由於SMOTE算法在構造樣本時隨機組合樣本點並設置參數,因此存在兩個問題:

1)在構造少量樣本時,不考慮樣本的分布。對於樣本稀疏的區域,與樣本密集的區域相同的概率會使構造的樣本更接近邊界。它只是在相似的鄰居之間進行插值,而沒有考慮大多數樣本在少數樣本周圍的分布。

2)當樣本維數過高時,樣本的空間分布會很稀疏,可能使構造的樣本無法代表少量樣本的特征。

(2)在SMTOE的基礎上提出了自適應合成采樣算法。它最大的特點是采用某種機制自動決定每個少數樣本需要產生多少個合成樣本,而不是像SMOTE那樣為每個少數樣本合成相同數量的樣本。算法流程如下:

(3)壹系列衍生方法:SMOTEBoost、Borderline-SMOTE、Kmeans-SMOTE等。

1)SMOTEBoost結合了SMOTE算法和Boost算法,並在每壹輪分類學習中增加少數樣本的權重,使基礎學習者能夠更加關註少數樣本。

2)在構造樣本時,Borderline-Smote考慮樣本分布在少數樣本周圍,選擇小樣本集(危險集)——其鄰居節點既有大量樣本又有少量樣本,且多個樣本的數量不大於少量樣本的點來構造新樣本。

3)Kmeans-SMOTE包括聚類、濾波和過采樣三個步驟。Kmeans算法完成聚類後,對樣本聚類進行過濾,在每個樣本聚類中用SMOTE算法構造新的樣本。

通過比較不同算法得到的樣本結構,可以得出以下結論:

1).利用樣本構造的方法,可以獲得少量的新樣本;

2)不同算法構造的新樣本數量和分布不同,其中SMOTE算法構造的新樣本由於沒有考慮原始樣本的分布,會受到“噪聲”點的影響。同樣,ASASYN算法只考慮分布密度而不考慮樣本分布,構造的新樣本也會受到“噪聲”點的影響。

由於Borderline-SMOTE算法考慮了樣本的分布,新的樣本可以避免“噪聲”點的影響。Kmeans-SMOTE算法在可以建立的新樣本的數量方面受到限制,因為它需要在建立新樣本之前找到聚類。

註:“噪聲”點屬於相應類別中的少量樣本,但分布靠近邊界或與大量樣本混合。

4.3樣本均衡模型算法

上述過采樣和欠采樣都是從樣本層面克服樣本不平衡,從算法層面也可以克服樣本不平衡。在現實任務中,經常會出現不同類型的錯誤導致不同後果的情況。

比如,在醫學診斷中,把病人錯診斷為健康人,把健康人錯診斷為病人,看似是壹種“錯誤”,但後者的影響是增加進壹步檢查的麻煩,而前者的後果可能是失去挽救生命的最佳時機;

再比如,門禁系統誤將可通行的人擋在門外,會讓用戶體驗不佳,卻誤將陌生人放在門內,會造成嚴重的安全事故;

在信用卡盜用的檢查中,如果把正常使用誤認為是盜用,可能會讓用戶很難受,但是如果把盜用誤認為是正常使用,就會讓用戶蒙受巨大的損失。

為了權衡不同類型錯誤造成的不同損失,可以給錯誤賦予“不等成本”。

成本敏感算法

成本敏感學習法的核心要素是成本矩陣,如表1所示。其表示將類別I樣本預測為類別J樣本的成本。壹般來說,如果把類別0判斷為類別1,損失會更大。損失程度差異越大,和之間的差異就越大。當等於時,這是壹個代價不敏感的學習問題。

基於成本敏感方法,這種分析可以大致分為三類:

1.從學習模型出發,改革具體的學習方法,以適應不平衡數據下的學習。研究人員沒有提到它對於感知機、支持向量機、決策樹、神經網絡等不同學習模型的成本敏感版本。

以代價敏感決策樹為例,可以從三個方面對其進行改造以適應非平衡數據的學習,分別是決策閾值的選擇、分裂標準的選擇和剪枝,在這三個方面可以引入代價矩陣。

2.基於bayes風險的理論,代價敏感學習被視為壹種分類結果的後處理,按照傳統的方法學習壹個模型,以損失最小化為目標對結果進行調整。這種方法的優點是可以獨立於使用的具體分類器,但缺點也很明顯,要求分類器的輸出值是概率。

3.從預處理的角度,利用代價進行權重調整,使得分類器滿足代價敏感特性。

第壹類主要是:

1)決策樹的代價敏感剪枝方法,如何在代價敏感條件下對決策樹進行剪枝使損失最小,研究表明基於拉普拉斯方法的剪枝方法可以達到最佳效果。代價敏感學習決策樹的節點分裂方法。

2)Boosting:代價敏感的Boosting算法Ada-Cost。

3)神經網絡:基於感知器分類算法的代價敏感學習方法。本文提出了代價敏感的不可分類參數更新規則。例如,新的神經網絡反向傳播算法可以滿足代價敏感學習的要求。

4)從最小結構風險的角度,提出了代價敏感的支持向量機分類算法。

妳只需要記住,第壹類方法是在建立模型的時候,我告訴模型妳需要註意少量樣本的特征。

本課以adacost算法為例。AdaCost算法通過反復叠代學習壹個分類器,並根據當前分類器的性能更新樣本的權重。

如圖紅框所示,更新策略是降低正確分類樣本的權重,增加錯誤分類樣本的權重,最終模型是多個叠代模型的加權線性組合。分類越準確,權重就越大。

第二類主要是:

1)是基於分類結果的後處理,即按照傳統的學習方法學習壹個分類模型,然後根據貝葉斯風險理論調整分類結果,達到損失最小。

2)與第壹種代價敏感學習方法相比,這種方法的優點是不依賴於所使用的具體分類器。3)稱為MetaCost的過程,該過程將底層分類器視為黑盒,而不對分類器做任何假設或改變,可以應用於任何數量的基分類器和任何形式的代價矩陣。

本課以元成本算法為例。元成本算法流程:

1)在訓練集中采樣幾次以生成多個模型。

2)根據多個模型,得到訓練集中每條記錄屬於每個類別的概率。

3)計算屬於訓練集中每個類的每條記錄的代價,根據最小代價修改類標簽。

4)訓練修改的數據集以獲得新的模型。

第三類主要是:

1)在傳統學習模型的基礎上,通過改變原始訓練數據的分布來訓練代價敏感模型。

2)例如,在分層模型中,將非均勻分布的訓練數據調整為正負樣本均勻分布的數據。

3)基於成本比例的思想,調整訓練數據的權重。在實際應用中,類似於Boosting算法,可以通過對分類模型和采樣調整權重來實現。

4)討論了在多類分類問題中如何實現代價敏感學習,提出了壹種新的叠代學習方法。

本課以骰子丟失為例。在數據不平衡問題下,用骰子損失代替標準交叉熵作為目標函數。通過在目標函數中平衡FP和FN的重要性,可以有針對性地解決樣本不平衡的問題。

在實際建模工作中,除了樣本平衡,還有數據質量評估、樣本篩選、指標構建、模型方法選擇、模型優化、模型監控等壹系列工作。

  • 上一篇:如何避免平安信用卡被催款?聽朋友說經常在逾期的時候接到催收電話。
  • 下一篇:上海楊浦區有多少家招商銀行?
  • copyright 2024外匯行情大全網