非均衡資料集的分類問題
傳統的機器學習分類研究大多基於如下假設:(1)分類以最大正確率為目標;(2)所有的分類錯誤會帶來相同的錯誤代價;(3)資料集中的各類樣本數目基本均衡,即各類所含的樣本數大致相當。
顯然,這三個假設在現實應用領域中很多時候是不成立的。很多類別並不均衡,資料集中某個類別的樣本數可能會遠多於其他類別;不同的分類錯誤往往會帶來顯著不同的損失。例如信用卡交易中的欺詐識別。非均衡資料集(Imbalance Data Set)的分類問題,有其特殊的地方,需要對傳統方法做進一步的演化和改進。
傳統機器學習通常以總體最大分類精度為目標,這一目標必然會導致演算法提高多數類樣本的分類精度,而忽略樣本集中小樣本的預測精度。機器學習分類演算法面對不均衡資料分類時效能下降的原因很多,例如不恰當的效能評價準則、不恰當的歸納偏置、某類樣本資料過少產生的絕對稀少問題、各類樣本資料相差懸殊產生的相對稀少問題以及採取分而治之策略演算法所獨有的資料碎片問題和噪音等。
現有的對策大致包括:選擇合適的效能評價準則、採用非貪婪的搜尋策略、選擇合適的歸納偏置、與專家或知識互動、分割資料以降低資料的不平衡性、通過取樣方法改變資料的原始分佈、只對一類進行學習、利用代價敏感學習解決不平衡問題等。這些對策均在一定程度上緩解了不均衡資料集的機器學習問題。
歸納一下解決方法,主要有兩大方向:一是從資料集的角度,即重構資料集,通過資料預處理的方法解決;另一個是從演算法角度,即改進分類演算法,主要通過對不同類樣本設定不同的權值、改變概率密度、調整分類邊界等措施解決。
1、重構資料集
重構資料集,又叫重取樣/重抽樣/重取樣,是解決資料失衡的一個有效途徑。該方法主要是通過減輕資料集的不均衡程度來提高少數類的分類效能。其關鍵在於:如何既能消除大量的噪聲資訊,顯著減少資料不均衡程度,又能保證最小的資訊損失,以保留絕大多數對分類學習有用的樣本點。重取樣方法,包括過取樣和欠取樣。
過取樣通過增加少數類的樣本來提高少數類的分類效能,最簡單的過取樣方法是隨機複製少數類樣本,缺點是沒有給少數類增加任何新的資訊,會使分類器學到的決策域變小,從而導致過學習。改進的方法有SMOTE演算法(根據一定的規則隨機制造生成新的少數類樣本點,並將這些新合成的少數類樣本點合併到原來的資料集裡,生成新的訓練集)、Borderline-SMOTE(主要是通過在適當區域內進行插值,以保證新增加的樣本是有價值的)。
欠取樣是通過減少多數類樣本來提高少數類的分類效能,最簡單的欠取樣方法是隨機的去掉某些多數類樣本來減少多數類的規模,缺點是容易丟失多數類的一些重要資訊。改進的方法有Condensed Nearest Neighbor Rule、Neighborhood Cleaning Rule、One sided Selection、Tomek Link等,這些方法通過一定的規則和技術,找出邊界樣本和噪音樣本,有選擇地去掉對分類作用不大,即遠離分類邊界或者引起資料重疊的多數類樣本,並將其從大類中去掉,只留下安全樣本和小類樣本作為分類器的訓練集。
2、改進分類演算法
對已有分類演算法的改進,主要是通過調節各類樣本之間的代價函式、對於不同類的樣本設定不同的權值、改變概率密度、調整分類邊界等措施使其更有利於少數類的分類。演算法層面的操作主要集中在以下四種型別:
·代價敏感學習
代價敏感學習方法是將各類不同的錯分代價用到分類決策中,儘可能降低誤分類的總體代價而不是儘可能降低誤分類的錯誤率。改變現有分類演算法使其變得代價敏感是非常困難的工作,有時效果並不明顯,通常的方法是不改變原有的演算法,通過增加一個過程使得原來的分類演算法變得代價敏感。常用方法:調整樣本分佈(根據錯誤分類的代價按一定比例變換訓練集中類別的頻率,其缺點是改變了樣本的分佈情況,有時會影響演算法的效能)、元代價方法(通過“元學習”過程,根據最小期望代價修改訓練樣本的類標記,並用修改過的訓練集重新學習新的模型)、代價敏感決策(首先在訓練集中多次抽樣,生成多個模型,在根據模型,得到測試樣本屬於每個類別的概率,然後計算測試樣本的所有錯誤分類代價,並根據最小代價得到類標記)。
·支援向量機(SVM)
SVM對資料的不均衡本身並不敏感。但可以對SVM進行適當改進以更好的處理不均衡資料分類。簡單的分類是將分類邊界朝多數類進行適當的偏移,以使更多的少數類樣本不會被誤判;另一種方法是對正類和負類賦予不同的代價,作為SVM的懲罰因子;還可以對支援向量進行裁剪,通過適當犧牲多數類的分類精度以提高少數類的精度。
·單類學習分類
可以將不均衡資料集基於區別的分類方法改為基於識別的方法進行學習,從而提出了單類學習的分類演算法。其主要思想在於只利用感興趣的目標類學習樣本進行學習和訓練,即只對少數類樣本進行訓練,其目標是從測試樣本中識別出感興趣的少數類樣本,而不是對少數類和多數類進行區分。對於新的樣本,通過比較該樣本與目標類的相似程度而識別該樣本是否歸屬於目標類。
·組合方法
組合方法的主要思想在於將多個分類器組合成一個分類器,以提高分類效能。其中提升是組合方法中被廣泛使用的技術。通過提升,多個弱分類器可以組合成一個強分類器,能有效改善不均橫資料集的分類效能。AdaBoost是提升演算法的代表,它給訓練集資料的分佈迭代加權。在每次迭代中,提升演算法增加錯誤分類的樣本權值,減少正確分類的樣本權值。這使訓練系統在下次迭代中更關注於分類錯誤的樣本。改進的演算法還有AdaCost演算法、RareBoost演算法。
總而言之,不均衡資料集的分類問題是機器學習和模式識別領域中心的研究熱點,是對傳統分類方法的重大挑戰。
相關文章
- 第十篇:非均衡分類問題的思考與問題與解決思路
- 分類任務中的樣本不均衡問題
- 如何優雅而時髦的解決不均衡分類問題
- 棉花病害影像分類資料集
- 水稻病害影像分類資料集
- 機器學習中的類別不均衡問題機器學習
- 資料採集,微軟控制元件分頁問題的處理微軟控制元件
- sqlhelper整合dynamic多資料來源的分頁問題(非教學向)SQL
- 蘋果葉部病害影像分類資料集蘋果
- 極端類別不平衡資料下的分類問題研究綜述
- 深度學習(一)之MNIST資料集分類深度學習
- ClickHouse叢集資料均衡方案分享
- ML.NET 示例:多類分類之問題分類
- 二進位制函式JSON資料分類問題——機器學習函式JSON機器學習
- 如何解決迴歸任務資料不均衡的問題?
- 資料分類
- 獼猴桃葉部病害影像分類資料集
- 非完整資料聚類初探聚類
- Oracle資料庫字符集問題Oracle資料庫
- 關於用Java做叢集和負載均衡的問題Java負載
- access資料庫大資料量分頁的問題資料庫大資料
- 文字分類在內容安全應用中的資料不平衡問題文字分類
- 資料庫系列:巨量資料表的分頁效能問題資料庫
- 不同字符集資料庫之間的資料同步問題:資料庫
- 資料治理與資料分類分級!
- 非平衡資料集的機器學習常用處理方法機器學習
- Oracle資料庫字符集問題解析Oracle資料庫
- 機器學習之資料集的劃分機器學習
- 不同字符集資料庫之間的資料同步問題-補資料庫
- orange人工智慧分類問題人工智慧
- 前饋神經網路進行MNIST資料集分類神經網路
- 解決PHP Post獲取不到非表單資料的問題PHP
- 資料探勘主要解決四類問題
- 一個非技術問題的問題
- 資料庫用途分類資料庫
- Oracle資料庫字符集問題解析(轉)Oracle資料庫
- 做資料庫分離讀寫時,sqlServer資料庫資料同步的問題:資料庫SQLServer
- 資料庫的讀寫分離與負載均衡策略資料庫負載