一種基于邊界升采樣的不平衡數(shù)據(jù)分類方法
【專利摘要】本發(fā)明涉及一種基于邊界升采樣的不平衡數(shù)據(jù)分類方法,包括:對于不平衡數(shù)據(jù)集中的每個正樣本以歐氏距離作為距離度量,取不平衡數(shù)據(jù)集中距其最近的K個樣本點(diǎn),比對各個樣本的類別標(biāo)簽,給出這K個樣本點(diǎn)中負(fù)樣本的數(shù)目,記為ki,若ki≥K/2,則可判定該正樣本點(diǎn)位于正負(fù)樣本的真實(shí)判決邊界附近,反之則該正樣本點(diǎn)遠(yuǎn)離邊界;對選中的正樣本,在其K個最近鄰正樣本中隨機(jī)選取一個,在二者之間生成一個新的正樣本點(diǎn),此過程迭代執(zhí)行多次,直至正負(fù)樣本數(shù)目相同,以此構(gòu)建平衡數(shù)據(jù)集;運(yùn)用Bagging算法對生成的平衡數(shù)據(jù)集進(jìn)行訓(xùn)練,得到最終的分類模型。本發(fā)明可以在不平衡數(shù)據(jù)集上獲得更好的分類效果。
【專利說明】
一種基于邊界升采樣的不平衡數(shù)據(jù)分類方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及模式識別技術(shù),具體涉及一種針對不平衡數(shù)據(jù)集的分類器。
【背景技術(shù)】
[0002] 隨著社會的發(fā)展與科學(xué)技術(shù)的進(jìn)步,以機(jī)器學(xué)習(xí)及模式識別技術(shù)為基礎(chǔ)的計算機(jī) 自動分類人們的日常生活中正在扮演愈發(fā)重要的角色。在此情況下,建立合適的數(shù)據(jù)分類 模型和設(shè)定可信的性能評價標(biāo)準(zhǔn)成為目前的一大研究熱點(diǎn)。
[0003] 然而,諸如支持向量機(jī)、決策樹及極限學(xué)習(xí)機(jī)等當(dāng)前主流的分類器在設(shè)計時均以 整體錯分率作為訓(xùn)練數(shù)據(jù)模型的主要指標(biāo),而這一方法有效的前提建立在訓(xùn)練分類器所用 的樣本中各類數(shù)據(jù)基本平衡(即各類數(shù)目大致相等)。但在實(shí)際問題中,這一假設(shè)往往難以 滿足。例如,在信用卡欺詐檢測中,具有欺詐行為的交易明顯少于正常交易,若以降低總體 分類錯誤率作為學(xué)習(xí)目標(biāo),則易導(dǎo)致具有欺詐行為的交易被誤判定為正常交易。但是,考慮 到欺詐行為對銀行造成的巨大代價,欺詐行為的分類準(zhǔn)確度才是實(shí)際應(yīng)用中更受關(guān)注的部 分,將欺詐行為誤判為正常交易所付出的代價會遠(yuǎn)高于將正常交易誤判為欺詐交易。在此 情況下,針對不平衡數(shù)據(jù)集的研究得到了越來越多的關(guān)注。根據(jù)現(xiàn)有成果,不平衡分類主要 可以在數(shù)據(jù)層面和算法層面進(jìn)行操作。
[0004] 數(shù)據(jù)層面的操作主要通過對數(shù)據(jù)進(jìn)行重采樣來改變數(shù)據(jù)分布,在構(gòu)建分類器時使 正樣本(少數(shù)類樣本)數(shù)量增加和負(fù)樣本(多數(shù)類樣本)數(shù)量減少,最終使正負(fù)樣本的數(shù)目基 本相同,以此實(shí)現(xiàn)數(shù)據(jù)平衡。專利"基于有監(jiān)督上采樣學(xué)習(xí)的蛋白質(zhì)-核苷酸綁定位點(diǎn)預(yù)測 方法"(CN104077499A)通過增加正樣本的數(shù)量構(gòu)建平衡數(shù)據(jù)集,最終用平衡數(shù)據(jù)集訓(xùn)練支 持向量機(jī)用于分類。然而,在該發(fā)明中,正樣本經(jīng)簡單復(fù)制后相當(dāng)于被多次用于訓(xùn)練,這一 問題易導(dǎo)致過擬合現(xiàn)象,從而影響最終的分類性能。專利"基于欠抽樣面向不平衡數(shù)據(jù)集的 交通事件自動檢測方法"(CN103927874A)采用隨機(jī)降采樣方法,負(fù)集中的一部分樣本(通常 接近全體正樣本的數(shù)量)被抽取并與全體正樣本組成訓(xùn)練集對支持向量機(jī)進(jìn)行訓(xùn)練。但該 發(fā)明無法保證抽取出的負(fù)樣本對原負(fù)集的代表性,因此分類性能也不夠理想。
[0005] 算法層面的操作則在分類器訓(xùn)練的過程中引入代價敏感計算或投票算法,通過不 同改變分類器或樣本的權(quán)重來解決數(shù)據(jù)不平衡問題。根據(jù)錯誤率來調(diào)節(jié)權(quán)值以降低分類錯 誤率的Boosting算法和通過重復(fù)均勻采樣以降低模型錯誤方差的Bagging算法均為常用的 算法級方法。然而,單獨(dú)的算法級方法無法對數(shù)據(jù)進(jìn)行處理,其性能因此受到限制。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明的目的是,提供一種基于升采樣的集成學(xué)習(xí)方法,并對其中用于改變數(shù)據(jù) 分布的升采樣部分進(jìn)行優(yōu)化,以在不平衡數(shù)據(jù)集上獲得更好的分類效果。
[0007] -種基于邊界升采樣的不平衡數(shù)據(jù)分類方法,設(shè)不平衡數(shù)據(jù)集中正樣本數(shù)目為 nP,負(fù)樣本數(shù)目為&,該方法包括以下幾個技術(shù)步驟:
[0008] (1)對于不平衡數(shù)據(jù)集中的每個正樣本Xl,以歐氏距離作為距離度量,取不平衡數(shù) 據(jù)集中距其最近的K個樣本點(diǎn),比對各個樣本的類別標(biāo)簽,給出這K個樣本點(diǎn)中負(fù)樣本的數(shù) 目,記為ki,若1α>Κ/2,則可判定該正樣本點(diǎn)位于正負(fù)樣本的真實(shí)判決邊界附近,反之則該 正樣本點(diǎn)遠(yuǎn)離邊界,對于所有位于邊界附近的正樣本點(diǎn),作下述步驟處理,其余樣本不作處 理;
[0009] (2)對于所有在步驟(1)中選中的正樣本,在其Κ個最近鄰正樣本中隨機(jī)選取一個, 在二者之間生成一個新的正樣本點(diǎn),此過程迭代執(zhí)行多次,直至正負(fù)樣本數(shù)目相同,以此構(gòu) 建平衡數(shù)據(jù)集。
[0010] (3)設(shè)有放回取樣次數(shù)為Τ,每次取樣的樣本個數(shù)為η',運(yùn)用Bagging算法對生成的 平衡數(shù)據(jù)集進(jìn)行訓(xùn)練,得到最終的分類模型。
[0011]本發(fā)明針對不平衡數(shù)據(jù)集提出一種集成學(xué)習(xí)方法,將邊界升采樣同Bagging算法 相結(jié)合,減小了噪聲點(diǎn)與過擬合對分類結(jié)果造成的影響的同時減小了分類錯誤方差。經(jīng)實(shí) 驗比較,本發(fā)明在多個分類器評價指標(biāo)上具有明顯優(yōu)勢。
【附圖說明】
[0012]圖1是Bagging算法的流程圖。
[0013]圖2是本發(fā)明的流程圖。
【具體實(shí)施方式】
[0014] 本發(fā)明受邊界升采樣算法和圖1所示的Bagging算法啟發(fā),將二者進(jìn)行組合,形成 一個集成分類器。下面結(jié)合附圖對本發(fā)明作進(jìn)一步詳細(xì)的說明。
[0015] ⑴取得測試和訓(xùn)練數(shù)據(jù):本發(fā)明選擇KEEL數(shù)據(jù)庫中的酵母菌數(shù)據(jù)庫,主要表征酵 母菌內(nèi)蛋白質(zhì)所處位置。正類表示蛋白質(zhì)位于即將裂解細(xì)胞膜上,負(fù)類表示蛋白質(zhì)位于胞 漿或細(xì)胞骨架中。數(shù)據(jù)集共包含514個樣本,其中正樣本共51個,負(fù)樣本共463個,即n P = 51, nn = 463。數(shù)據(jù)庫中共包含8維特征,從細(xì)胞液ph值、細(xì)胞膜形態(tài)等多個方面對酵母菌進(jìn)行描 述。訓(xùn)練與測試過程均選擇C4.5決策樹作為基分類器。其中,設(shè)置每個屬性中至少包含兩個 樣本,置信度為〇. 25,決策樹訓(xùn)練完成后進(jìn)行后剪枝處理。所有數(shù)據(jù)在進(jìn)入分類器前均進(jìn)行 歸一化處理,將所有特征取值投影到0至1之間。正樣本數(shù)據(jù)標(biāo)簽為+1,負(fù)樣本數(shù)據(jù)標(biāo)簽為-1〇
[0016] (2)在數(shù)據(jù)邊界升采樣部分,設(shè)最近鄰取值個數(shù)K = 5,對正樣本執(zhí)行邊界升采樣處 理。設(shè)新生成的樣本點(diǎn)為newi,初始正樣本為Xi,被選中的最近鄰正樣本為xni,λ為一取值介 于〇至1之間的隨機(jī)數(shù),則新生成的正樣本數(shù)據(jù)可按如下公式進(jìn)行計算:
[0017] newi = Xi+A(xni_xi) (1)
[0018] 經(jīng)多輪迭代后使正負(fù)樣本數(shù)目均為463,達(dá)到平衡。
[0019] (3)本發(fā)明采取五折交叉驗證對完成邊界升采樣的平衡數(shù)據(jù)集進(jìn)行訓(xùn)練與測試, 可知在每一輪交叉驗證中,訓(xùn)練集中應(yīng)包含正負(fù)樣本各360個,而其余樣本均作為測試集。 訓(xùn)練與測試均選擇C4.5決策樹作為基分類器的Bagging分類算法。其中,設(shè)C4.5決策樹的最 小葉節(jié)點(diǎn)數(shù)為2,置信度為0.25,樹訓(xùn)練完成后需進(jìn)行剪枝處理。所有數(shù)據(jù)在進(jìn)入分類器前 均完成歸一化處理,即數(shù)據(jù)最小值為〇,最大值為1。正樣本數(shù)據(jù)標(biāo)簽為+1,負(fù)樣本數(shù)據(jù)標(biāo)簽 為_1〇
[0020] (3)本發(fā)明中,取Bagging算法中每輪隨機(jī)取樣個數(shù)為訓(xùn)練集的一半,即360個,有 放回取樣過程共進(jìn)行T = 9次。每折驗證均用上述訓(xùn)練集訓(xùn)練得到9個獨(dú)立的C4.5子分類器, 測試集中樣本經(jīng)測試輸出分類結(jié)果后進(jìn)行簡單多數(shù)投票,若有至少5個子分類器判定該樣 本屬于正類,則該樣本最終分類結(jié)果為正類,反之則分入負(fù)類。
[0021]表1比較了直接運(yùn)用C4.5決策樹對酵母菌數(shù)據(jù)集進(jìn)行分類、對正樣本作隨機(jī)升采 樣得到平衡數(shù)據(jù)集后用C4.5決策樹進(jìn)行分類及本發(fā)明所使用的方法(邊界升采樣Bagging) 進(jìn)行分類分別得到的測試結(jié)果。本發(fā)明采用以下幾個指標(biāo)對分類器性能進(jìn)行評價:
[0022]
[0023]
[0024]
[0025]
[0026] 表1分類算法結(jié)果與比較(同一指標(biāo)下最好的結(jié)果用黑體標(biāo)出)
[0027]
[0028]
[0029] 由表1數(shù)據(jù)可以看出,不作任何處理直接分類雖然可以得到最高的整體準(zhǔn)確率和 特異性,但靈敏度性能最差。此時,不平衡的數(shù)據(jù)集導(dǎo)致判決邊界向正樣本傾斜,導(dǎo)致大量 正樣本被誤分為負(fù)樣本,引起分類器整體性能下降。而只使用隨機(jī)升采樣的方法與本發(fā)明 均獲得了更好的不平衡分類性能,且相比于只改變數(shù)據(jù)分布,本發(fā)明采用的集成學(xué)習(xí)方法 對靈敏度和特異性的折中效果更好,在正負(fù)樣本上均可獲得更理想的分類性能。
[0030] 綜上所述,本發(fā)明在不平衡分類問題上得到了良好的分類性能。
【主權(quán)項】
1. 一種基于邊界升采樣的不平衡數(shù)據(jù)分類方法,設(shè)不平衡數(shù)據(jù)集中正樣本數(shù)目為nP,負(fù) 樣本數(shù)目為nn,該方法包括以下幾個技術(shù)步驟: (1) 對于不平衡數(shù)據(jù)集中的每個正樣本Xl,以歐氏距離作為距離度量,取不平衡數(shù)據(jù)集 中距其最近的K個樣本點(diǎn),比對各個樣本的類別標(biāo)簽,給出這K個樣本點(diǎn)中負(fù)樣本的數(shù)目,記 為匕,若1α>Κ/2,則可判定該正樣本點(diǎn)位于正負(fù)樣本的真實(shí)判決邊界附近,反之則該正樣本 點(diǎn)遠(yuǎn)離邊界,對于所有位于邊界附近的正樣本點(diǎn),作下述步驟處理,其余樣本不作處理; (2) 對于所有在步驟(1)中選中的正樣本,在其K個最近鄰正樣本中隨機(jī)選取一個,在二 者之間生成一個新的正樣本點(diǎn),此過程迭代執(zhí)行多次,直至正負(fù)樣本數(shù)目相同,以此構(gòu)建平 衡數(shù)據(jù)集。 (3) 設(shè)有放回取樣次數(shù)為T,每次取樣的樣本個數(shù)為η',運(yùn)用Bagging算法對生成的平衡 數(shù)據(jù)集進(jìn)行訓(xùn)練,得到最終的分類模型。
【文檔編號】G06K9/62GK105975993SQ201610332471
【公開日】2016年9月28日
【申請日】2016年5月18日
【發(fā)明人】李喆, 呂衛(wèi), 褚晶輝
【申請人】天津大學(xué)