小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

干貨|在機(jī)器學(xué)習(xí)中如何應(yīng)對(duì)不均衡分類問題?

 timtxu 2017-04-30

原文地址:

在處理機(jī)器學(xué)習(xí)等數(shù)據(jù)科學(xué)問題時(shí),經(jīng)常會(huì)碰到不均衡種類分布的情況,即在樣本數(shù)據(jù)中一個(gè)或多個(gè)種類的觀察值明顯少于其他種類的觀察值的現(xiàn)象。在我們更關(guān)心少數(shù)類的問題時(shí)這個(gè)現(xiàn)象會(huì)非常突出,例如竊電問題、銀行詐騙性交易、罕見病鑒定等。在這種情況下,運(yùn)用常規(guī)的機(jī)器學(xué)習(xí)算法的預(yù)測模型可能會(huì)無法準(zhǔn)確預(yù)測。這是因?yàn)闄C(jī)器學(xué)習(xí)算法通常是通過減少錯(cuò)誤來增加準(zhǔn)確性,而不考慮種類的平衡。這篇文章講了不同的方法來解決這個(gè)不均衡分類問題,同時(shí)說明了這些方法的好處和壞處。

不均衡數(shù)據(jù)集一般是指少數(shù)類所占比例少于5%的數(shù)據(jù)集,少數(shù)類通常是指稀有事件的發(fā)生。例如在一個(gè)公共欺詐檢測數(shù)據(jù)集中,有如下數(shù)據(jù):

總觀測數(shù)據(jù) = 1000

欺詐的觀測數(shù)據(jù) = 20

非欺詐的觀測數(shù)據(jù) = 980

事件發(fā)生率 = 2%

在分析這個(gè)數(shù)據(jù)集時(shí)最主要的問題是,如何通過合適的稀有事件的樣本數(shù)目得到一個(gè)平衡的數(shù)據(jù)集?

傳統(tǒng)的模型評(píng)估方法不能準(zhǔn)確的評(píng)價(jià)不均衡數(shù)據(jù)集訓(xùn)練的模型的表現(xiàn)。顯然,模型趨向于預(yù)測多數(shù)集,少數(shù)集可能會(huì)被當(dāng)作噪點(diǎn)或被忽視。因此,相比于多數(shù)集,少數(shù)集被錯(cuò)分的可能性很大。當(dāng)使用一個(gè)不均衡數(shù)據(jù)集訓(xùn)練模型時(shí),準(zhǔn)確率并不是一個(gè)合適的評(píng)價(jià)方式。假如一個(gè)分類器可以達(dá)到98%的準(zhǔn)確率,我們會(huì)認(rèn)為這個(gè)模型表現(xiàn)很好,而對(duì)于一個(gè)少數(shù)集占總體2%的數(shù)據(jù)集來說,如果分類器把全部都預(yù)測為多數(shù)集,準(zhǔn)確率就能達(dá)到98%,可是這個(gè)分類器對(duì)于預(yù)測沒有任何用處。

解決不均衡數(shù)據(jù)集帶來的模型預(yù)測不準(zhǔn)確的問題主要有兩種方法,第一種方法是在數(shù)據(jù)層面將數(shù)據(jù)集轉(zhuǎn)變?yōu)檩^為平衡的數(shù)據(jù)集,然后進(jìn)行建模;第二種則是在算法層面改進(jìn)算法模型的表現(xiàn)。

在將數(shù)據(jù)用于建模之前,先運(yùn)用重抽樣技術(shù)使數(shù)據(jù)變平衡。平衡數(shù)據(jù)主要通過兩種方式達(dá)到:增加少數(shù)類的頻率或減少多數(shù)類的頻率。通過重抽樣來改變兩個(gè)種類所占的比例。

隨機(jī)欠抽樣

隨機(jī)欠抽樣技術(shù)通過隨機(jī)刪除多數(shù)類的實(shí)例來平衡種類分布。在之前的例子中,我們無放回的取10%非欺詐數(shù)據(jù),結(jié)合所有的欺詐數(shù)據(jù)形成新數(shù)據(jù)集。這樣,總觀測數(shù)據(jù)變?yōu)?0+980*10%=118,而欠抽樣之后新數(shù)據(jù)集的事件發(fā)生率為20/118=17%。

當(dāng)訓(xùn)練數(shù)據(jù)很多時(shí),隨機(jī)欠抽樣通過減少訓(xùn)練數(shù)據(jù)的數(shù)量提高運(yùn)行時(shí)間和解決存儲(chǔ)問題。然而,這也會(huì)帶來潛在有效信息被刪除的問題。欠抽樣選擇的數(shù)據(jù)可能是偏差樣本,無法準(zhǔn)確代表總體。因此,會(huì)導(dǎo)致在測試集中表現(xiàn)欠佳。

過抽樣技術(shù)是通過隨機(jī)復(fù)制少數(shù)類的實(shí)例來增加少數(shù)類的數(shù)量。在之前的例子中,復(fù)制20個(gè)少數(shù)實(shí)例20遍,使少數(shù)類數(shù)據(jù)變?yōu)?00條,總觀測數(shù)據(jù)變?yōu)?80+400=1380,事件發(fā)生概率為400/1380=29%。與欠抽樣不同,過抽樣不會(huì)損失任何信息。一般來說,過抽樣表現(xiàn)好于欠抽樣。然而,由于過抽樣復(fù)制了多遍少數(shù)類數(shù)據(jù),導(dǎo)致過擬合(over-fitting)的可能性變大。

基于聚類的過抽樣

基于聚類的過抽樣是將k-means聚類算法分別應(yīng)用在少數(shù)類和多數(shù)類中,識(shí)別出數(shù)據(jù)集中不同簇(cluster)。隨后,通過對(duì)每個(gè)簇過抽樣來確保多數(shù)類和少數(shù)類的簇中實(shí)例的數(shù)目相等。假設(shè)對(duì)于剛才的數(shù)據(jù)集做聚類結(jié)果如下:

  • 多數(shù)類簇:

  1. 簇1: 150觀測數(shù)據(jù)

  2. 簇2: 120觀測數(shù)據(jù)

  3. 簇3: 230觀測數(shù)據(jù)

  4. 簇4: 200觀測數(shù)據(jù)

  5. 簇5: 150觀測數(shù)據(jù)

  6. 簇6: 130觀測數(shù)據(jù)

  • 少數(shù)類簇:

對(duì)簇過抽樣之后,每個(gè)相同種類的簇含有相同的數(shù)量的觀測數(shù)據(jù):

  • 多數(shù)類簇:

  1. 簇1: 170觀測數(shù)據(jù)

  2. 簇2: 170觀測數(shù)據(jù)

  3. 簇3: 170觀測數(shù)據(jù)

  4. 簇4: 170觀測數(shù)據(jù)

  5. 簇5: 170觀測數(shù)據(jù)

  6. 簇6: 170觀測數(shù)據(jù)

  • 少數(shù)類簇:

基于聚類的過抽樣之后,事件發(fā)生率為 500/(1020+500)=33%。這種方法考慮了多數(shù)類少數(shù)類由不同的簇組成,解決了每個(gè)簇所包含的實(shí)例不同的問題。然而,由于這是一種過抽樣技術(shù),同樣也可能會(huì)導(dǎo)致過擬合。

合成少數(shù)類過抽樣(SMOTE)

SMOTE避免了復(fù)制少數(shù)類導(dǎo)致的過擬合問題。用少數(shù)類的子集來創(chuàng)造新的合成的相似少數(shù)類實(shí)例。將這些合成的實(shí)例加入原有數(shù)據(jù)集,豐富少數(shù)類的數(shù)據(jù)。下圖展示了創(chuàng)造合成實(shí)例的方法。

還是用之前的例子,在少數(shù)類中選取15個(gè)樣本實(shí)例,合成20次新的數(shù)據(jù)。少數(shù)類數(shù)據(jù)變?yōu)闉?00條,事件發(fā)生率為300/1280=23.4%。

這種方法通過合成新數(shù)據(jù)緩解了由于復(fù)制少數(shù)類帶來的過擬合問題,同時(shí)不會(huì)造成有效信息丟失。然而,當(dāng)合成新實(shí)例時(shí),沒有考慮與其他類的相鄰實(shí)例,這可能會(huì)導(dǎo)致種類重疊,并且可能會(huì)添入額外的噪點(diǎn)。

算法集合技術(shù)

上面所說的技術(shù)都是通過對(duì)原數(shù)據(jù)集進(jìn)行重抽樣來得到均衡數(shù)據(jù)集。在這一部分中,我們將對(duì)于現(xiàn)有分類算法進(jìn)行改進(jìn),使其適用于不均衡數(shù)據(jù)集。算法合成的目的是提升單一分類器的表現(xiàn),下圖展示了合成算法的方法。

圖2:算法集合技術(shù)的方法

基于bagging

Bagging是Bootstrap Aggregating的縮寫。傳統(tǒng)的bagging算法生成n個(gè)可以互相替換的bootstrap訓(xùn)練樣本。基于每個(gè)樣本,訓(xùn)練不同的模型,最后匯總這些模型的預(yù)測結(jié)果。Bagging可以減少過擬合,從而創(chuàng)造更精準(zhǔn)的預(yù)測模型。與boosting不同的是,bagging允許對(duì)訓(xùn)練樣本集進(jìn)行替換。下圖展示了bagging的流程。

在之前的例子中,從總體中可替換的抽取10個(gè)bootstrap樣本,每個(gè)樣本包含200個(gè)觀測值。每個(gè)樣本都與原始數(shù)據(jù)不相同,但是與原始數(shù)據(jù)的分布和可變性相似。很多機(jī)器學(xué)習(xí)算法都可以用來訓(xùn)練這10個(gè)bootstrap樣本,如邏輯回歸、神經(jīng)網(wǎng)絡(luò)、決策樹等,得到10個(gè)不同的分類器C1,C2…C10。將這10個(gè)分類器 集合成一個(gè)復(fù)合分類器。這種集合算法結(jié)合了多個(gè)單獨(dú)的分類器的結(jié)果,可以得到一個(gè)更好的復(fù)合分類器。Bagging算法提升了機(jī)器學(xué)習(xí)算法的穩(wěn)定性和準(zhǔn)確性,并且解決了過擬合問題。在有噪點(diǎn)的數(shù)據(jù)環(huán)境中,bagging比boosting表現(xiàn)更加優(yōu)異。

基于Boosting

Boosting也是一個(gè)算法集合技術(shù),它將弱分類器結(jié)合起來,形成一個(gè)可以準(zhǔn)確預(yù)測的強(qiáng)分類器。Boosting從一個(gè)為訓(xùn)練集準(zhǔn)備的弱分類器開始。弱分類器是指預(yù)測準(zhǔn)確率只比平均數(shù)高一點(diǎn)的分類器,如果數(shù)據(jù)發(fā)生一點(diǎn)變化就會(huì)導(dǎo)致分類模型發(fā)生很大變化。Boosting是一種提高任意給定學(xué)習(xí)算法精確度的方法。下圖展示了Boosting的方法。

圖4: Boosting的方法

下面介紹幾種不同的boosting技術(shù)。

Ada Boost是Boosting算法家族中的代表算法,通過結(jié)合許多弱分類器形成一個(gè)準(zhǔn)確的預(yù)測分類器。每個(gè)分類器的目的都是正確分類上一輪被分錯(cuò)的實(shí)例。每一輪之后,被分錯(cuò)的實(shí)例的權(quán)重增加,被正確分類的實(shí)例的權(quán)重降低。應(yīng)用Ada Boost到剛才的不均衡數(shù)據(jù)集中,首先給每一個(gè)實(shí)例相同的權(quán)重,假設(shè)基礎(chǔ)分類器只分對(duì)了400個(gè)實(shí)例,將這400個(gè)實(shí)例的權(quán)重減小為,剩下600個(gè)被錯(cuò)分的實(shí)例的權(quán)重增加到。每一輪中,弱分類器通過更新權(quán)重來提升它的表現(xiàn)。這個(gè)過程持續(xù)到錯(cuò)分率明顯下降,分類器變成了強(qiáng)分類器為止。Ada Boost的好處在于它非常便于執(zhí)行,而且非常普遍,適用于所有種類的分類算法,也不會(huì)導(dǎo)致過擬合。壞處是它對(duì)于噪點(diǎn)和異常值非常敏感。

Gradient Boosting 是一個(gè)最優(yōu)化算法,每個(gè)模型都按順序通過Gradient Descent方法最小化損失函數(shù)。在Gradient Boosting中,決策樹被當(dāng)作一個(gè)弱分類器。Ada Boost和Gradient Boosting都是將弱分類器變?yōu)閺?qiáng)分類器的方法,但這兩種方法有本質(zhì)的不同。Ada Boost在學(xué)習(xí)過程開始之前要求用戶設(shè)立弱分類器集或者隨機(jī)生成弱分類器集,每一個(gè)弱分類器的權(quán)重會(huì)根據(jù)是否分類正確調(diào)整。Gradient Boosting則是在訓(xùn)練集上建立第一個(gè)分類器預(yù)測,接著計(jì)算損失值,然后運(yùn)用損失值來改進(jìn)分類器。每一步中,損失函數(shù)的殘差都會(huì)通過Gradient Descent Method來計(jì)算。在隨后的迭代中,新的殘差變成了目標(biāo)變量。Gradient Tree Boosting比隨機(jī)森林更難以擬合。它有三個(gè)參數(shù)可以微調(diào),Shrinkage參數(shù),樹的深度和樹的數(shù)量。選擇合適的參數(shù)才能得到好的擬合的Gradient boosted tree。如果參數(shù)調(diào)整的不正確,可能會(huì)導(dǎo)致過擬合。

結(jié)論

當(dāng)面對(duì)不均衡數(shù)據(jù)集時(shí),沒有一個(gè)解決方案可以提升所有預(yù)測模型的準(zhǔn)確性。我們所需要做的可能就是嘗試不同的方法,找出最適合這個(gè)數(shù)據(jù)集的方法。最有效的解決不均衡數(shù)據(jù)集的技術(shù)取決于數(shù)據(jù)集的特征。在大多數(shù)情況中,合成抽樣技術(shù)如SMOTE會(huì)比傳統(tǒng)的過抽樣和欠抽樣表現(xiàn)更好。為了得到更好的結(jié)果,可以同時(shí)使用合成抽樣技術(shù)和boosting方法。在比較不同方法時(shí),可以考慮相關(guān)的評(píng)估參數(shù)。在比較使用前述方法所建立的多個(gè)預(yù)測模型的時(shí)候,可以用ROC曲線下的面積來得出哪個(gè)模型效果更好。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請遵守用戶 評(píng)論公約

    類似文章 更多