数据不平衡分类问题
引言
不平衡分類問題是指訓練樣本數量在類間分布不平衡的模式分類問題。在實際應用中,不平衡問題很常見。有些問題其原始數據的分布就存在不平衡,如通過衛星雷達圖片檢測海面石油油污、監測信用卡非法交易、發掘基因序列中編碼信息以及醫學數據分類等。
所謂的數據不平衡是指:數據集樣本類別極不均衡。不平衡數據的學習即需要在如此分布不均勻的數據集中學習到有用的信息。
不平衡分類問題特征及其存在的問題
不平衡分類問題具有一系列傳統模式分類方法沒有考慮到的特征,從而引發了一系列的傳統模式分類難以解決的問題。
數據稀缺問題
樣本分布的不平衡容易導致稀有類樣本的稀缺,具體地說,稀缺包括絕對稀缺 和 相對稀缺。
- 絕對稀缺是指稀有類訓練樣本數量絕對過少,導致該類信息無法通過訓練樣本充分表示。
絕對數據稀缺類的分類錯誤率要比一般類高出許多。此外,當某類數據過于稀缺時,容易在特征空間中形成小的數據區域,從而引發小區塊(small disjuncts )問題。由于小區塊與噪聲數據難以區分,在小區塊存在很高的分類錯誤率。很多分類器為了防止過學習會進行統計顯著性(statistical significance)檢測,如在決策樹中,只有覆蓋足夠多樣本的決策規則和關聯規則才能被保留下來。而小區塊的數據經常無法順利通這類顯著性檢測,另一方面來說,如果降低檢測的閾值,又無法有效地去除噪聲。
- 相對稀缺是指稀有類樣本本身數量并不過少,但相對大類,占有的比例過小。總樣本數量足夠多時,相對稀缺并不一定引起分類器性能下降。相反,絕對稀缺導致的稀有樣本分布不集中且數量過少才容易引起分類器性能下降。
綜上可得,對于相對稀有樣本能通過增加總樣本數量來減少數據不平衡對分類器性能的影響,而絕對稀缺則難以解決。
噪聲問題
噪聲數據的存在不可避免,并在一定程度上影響到分類器性能。但是,對不平衡分類問題,噪聲數據對稀有類將產生更大的影響。稀有類的抗噪能力較弱,并且分類器難以區分稀有類樣本和噪聲數據。
對于不平衡數據的噪聲問題存在很大的困難,噪聲會影響分類器的性能,但是由于噪聲和稀有類難以區分,很難在保留稀有類的情況下去除噪聲。
決策面偏移問題
傳統的模式分類方法,大都建立在訓練樣本數量均衡的前提下。當用于解決不平衡分類問題時,它們的分類性能往往有不同程度的下降。
基于特征空間決策面進行類別劃分的分類器,如支持向量機,目標在于尋找一個最優的決策面。為了降低噪聲數據的影響和防止過學習的產生,最優決策面必須兼顧訓練分類準確率和決策面的復雜度,即采用結構風險最小化規則。但是當數據不平衡時,則支持向量的個數也不平衡。在結構最小化原則下,支持向量機會忽略稀有類少量支持向量對結構風險的影響而擴大決策邊界,最終導致訓練的實際超平面與最優超平面不一致。
基于概率估計的分類器,如貝葉斯分類器,分類準確率依賴于概率分布的準確估計,當稀有類樣本過少時,概率估計準確率將遠小于大類,稀有類的識別率也因此下降。
基于規則的分類器,如決策樹和關聯規則分類,需要對規則進行篩選。其中支持度和可信度是規則篩選的重要指標,但是當數據不平衡時,基于上述指標的篩選變得困難且不合理。
評價標準問題
分類器評測指標的科學性直接影響著分類器的性能,因為分類器訓練的目標是實現最高的評測指標。傳統模式分類的評價標準一般是準確率,但是以準確率為評價準則的分類器傾向于降低稀有類的分類效果。且準確率不重視稀有類對分類性能評測的影響。
不平衡分類問題的解決策略
解決不平衡分類問題的策略可以分為兩大類。一類是從訓練集入手,通過改變訓練集樣本分布,降低不平衡程度。另一類是從學習算法入手,根據算法在解決不平衡問題時的缺陷,適當地修改算法使之適應不平衡分類問題。
訓練集解決不平衡分類問題
重采樣方法
重采樣方法是上采樣和下采樣使不平衡的樣本分布變得比較平衡,從而提高分類器對稀有類的識別率
上采樣(up-sampling):通過增加稀有類訓練樣本數的方法,降低不平衡程度。
- 最原始的是復制稀有類樣本,但是易導致過學習,且對提高稀有類識別率影響不大。
- 基于啟發式的上采樣方法,有選擇地復制稀有類樣本,或者生成新的稀有類樣本,如SMOTE。
下采樣(down-sampling):通過舍棄部分大類樣本的方法,降低不平衡程度。
雖然重采樣在一些數據集上取得了不錯的效果,但是這類方法也存在一些缺陷。上采樣方法不增加任何新的數據,只是重復或者增加人工生成的稀有類樣本,這樣增加了訓練時間,甚至由于這些重復或是周圍生成的新的稀有類樣本,使分類器過分注重這些樣本,導致過學習。上采樣不能從本質上解決稀有類樣本的缺失和數據表示的不充分性。而下采樣在去除大類樣本時,容易去除重要的樣本信息,雖然有些啟發式下采樣方法知識去除冗余樣本和噪聲樣本,但多數情況下這類樣本只是小部分,因此下采樣方法能夠調整的不平衡度相當有限。
訓練集劃分方法
對訓練數據集進行劃分,是另一種有效的訓練集平衡方法。通過訓練集劃分得到的子分類器,利用分類器集成的方法獲得了良好的效果。具體如下圖:
首先根據代價敏感學習的需要,學習一個合理的類別樣本分布比例。然后將大類樣本隨機劃分成一系列不相交子集。這些子集的大小由稀有類樣本集的數量和預先學習的樣本分布比例決定。接下來分別將這些不相交子集跟稀有類樣本結合,組成一系列平衡的分類子問題,單獨訓練成子分類器。最后通過元學習(meta learning)將這些子分類器的輸出進一步學習成組合分類器。
該方法子問題采用SVM為子分類器,得到的分類器性能優于上、下采樣方法。后有人提出最小最大模塊化神經網絡模型,利用最小最大化集成規則,有效地將子分類器組合,使組合分類器容易地實現并列學習和增量學習。再后面有人將上述模型推廣到支持向量機并提出了“部分對部分”(part vs part)任務分解策略。“部分對部分”任務分解策略可對不平衡兩類子問題作進一步分解。這種分解策略可以自由地控制每個子問題的規模和平衡度,并且可以根據先驗知識和訓練集樣本的分布特征,制定有效的分解規則。實驗表明,該方法比代價敏感學習和重采樣方法能更好地解決不平衡問題。
學習算法解決不平衡分類問題
分類器集成
訓練集重采樣后用多種學習方法分別訓練,然后將得到的分類器采用多數投票方法給出預測類別。
Estabrook等人[26]通過計算發現,根據訓練集的自然分布得到的分類器不一定具有最好的一般化能力.他們提出通過對原不平衡問題進行重采樣,從而構建多個平衡度不同的訓練集,訓練后采用分類器挑選和偏向正類的原則將各個分類器綜合。該方法比單獨應用上采樣和下采樣方法獲得了更好的準確率和ROC曲線。
代價敏感學習
代價敏感學習賦予各個類別不同的錯分代價,它能很好地解決不平衡分類問題。在算法層面上解決不平衡數據學習的方法主要是基于代價敏感學習算法(Cost-Sensitive Learning),代價敏感學習方法的核心要素是代價矩陣,我們注意到在實際的應用中不同類型的誤分類情況導致的代價是不一樣的。
基于以上代價矩陣的分析,代價敏感學習方法主要有以下三種實現方式,分別是:
- 基于學習模型,著眼于對某一具體學習方法的改造,使之能適應不平衡數據下的學習,研究者們針對不同的學習模型如感知機,支持向量機,決策樹,神經網絡等分別提出了其代價敏感的版本。以代價敏感的決策樹為例,可從三個方面對其進行改進以適應不平衡數據的學習,這三個方面分別是決策閾值的選擇方面、分裂標準的選擇方面、剪枝方面,這三個方面中都可以將代價矩陣引入,具體實現算法可參考參考文獻中的相關文章。
基于貝葉斯風險理論,把代價敏感學習看成是分類結果的一種后處理,按照傳統方法學習到一個模型,以實現損失最小為目標對結果進行調整,優化公式如下所示。此方法的優點在于它可以不依賴所用具體的分類器,但是缺點也很明顯它要求分類器輸出值為概率。
基于預處理,將代價用于權重的調整,使得分類器滿足代價敏感的特性,下面講解一種基于Adaboost的權重更新策略。
特征選擇方法
特征選擇方法對于不平衡分類問題同樣具有重要意義。樣本數量分布很不平衡時,特征的分布同樣會不平衡。尤其在文本分類問題中,在大類中經常出現的特征,也許在稀有類中根本不出現。因此,根據不平衡分類問題的特點,選取最具有區分能力的特征,有利于提高稀有類的識別率。
通過采用特征選擇來解決不平衡分類問題主要集中于自然語言處理領域。
參考:
總結
- 上一篇: Liveness 探测 - 每天5分钟玩
- 下一篇: 富人为什么会富,穷人为什么穷?看完你就懂