一種基于結(jié)構(gòu)化svm的不平衡評估準(zhǔn)則的直接優(yōu)化算法
【專利摘要】本發(fā)明公開了一種基于結(jié)構(gòu)化SVM的不平衡評估準(zhǔn)則的直接優(yōu)化算法,其特征是按如下步驟進(jìn)行:1、選定數(shù)據(jù)集,并對數(shù)據(jù)集中的所有訓(xùn)練樣本進(jìn)行先正后負(fù)排序;2、定義基于結(jié)構(gòu)化SVM框架的目標(biāo)函數(shù);3、根據(jù)所述損失函數(shù)分別定義面向不平衡評估準(zhǔn)則的損失函數(shù)以及關(guān)聯(lián)函數(shù)ψ(x,y);4、初始化所述權(quán)衡參數(shù)C和錯誤允許值ε;5、利用割平面算法對所述目標(biāo)函數(shù)進(jìn)行迭代求解,得到基于機(jī)構(gòu)化SVM框架的目標(biāo)函數(shù)。本發(fā)明提高了少數(shù)類的分類精度,能應(yīng)用于不平衡數(shù)據(jù)的分類。
【專利說明】
-種基于結(jié)構(gòu)化SVM的不平衡評估準(zhǔn)則的直接優(yōu)化算法
技術(shù)領(lǐng)域
[0001 ]本發(fā)明設(shè)及統(tǒng)計學(xué)習(xí)分類技術(shù)領(lǐng)域,更具體地說是一種基于結(jié)構(gòu)化SVM的不平衡 評估準(zhǔn)則的直接優(yōu)化算法。
【背景技術(shù)】
[0002] 隨著數(shù)據(jù)時代的到來,信息技術(shù)的日新月異,人們在日常的生活生產(chǎn)和經(jīng)營過程 中都會不斷地產(chǎn)生海量的數(shù)據(jù)信息,而在運(yùn)些數(shù)據(jù)中,蘊(yùn)含著對人們具有重大意義的數(shù)據(jù) 信息,但是在運(yùn)樣的海量數(shù)據(jù)中往往只存在一小部分信息是我們真正需要分析和處理的。
[0003] 在實(shí)際的生活中也有許多重要的應(yīng)用。例如在日常生活中使用的手機(jī)電腦,每天 都會給電信運(yùn)營商提供大量的生活數(shù)據(jù),運(yùn)營商可W通過分析運(yùn)些海量數(shù)據(jù)中的有效信息 得到不同用戶的喜好,根據(jù)不同人的使用推出合適的業(yè)務(wù);又如,在現(xiàn)在的網(wǎng)絡(luò)時代,每個 人都會擁有信用卡,同時也會產(chǎn)生少數(shù)的信用卡欺詐。但是在信用卡欺詐領(lǐng)域,大多數(shù)的信 用卡客戶并沒有欺詐現(xiàn)象,但是存在的少數(shù)欺詐卻造成了嚴(yán)重的影響,擾亂了正常的社會 秩序;再如,人們經(jīng)常遇到的在醫(yī)療診斷領(lǐng)域等。
[0004] 基于不平衡數(shù)據(jù)集的二分類學(xué)習(xí)在眾多領(lǐng)域中有著重要應(yīng)用,因此引起了大量相 關(guān)科研工作者的關(guān)注,在運(yùn)樣的背景下,主要集中關(guān)注了不平衡數(shù)據(jù)集上的二分類學(xué)習(xí)算 法,而目前國內(nèi)外針對不平衡二分類的研究主要可W歸納為兩大類:面向數(shù)據(jù)的改進(jìn)算法 和面向算法的改進(jìn)。其中面向數(shù)據(jù)的改進(jìn)算法研究主要是通過采樣技術(shù)(Sample Technique)對數(shù)據(jù)集進(jìn)行預(yù)處理從而改變原有的數(shù)據(jù)分布,減少不平衡程度進(jìn)而使得數(shù)據(jù) 集的分布更加均衡,甚至改變?yōu)槠胶獾臄?shù)據(jù)集;面向算法的改進(jìn)是通過對算法本身的修改, 使得算法在不平衡數(shù)據(jù)集上有著更好的表現(xiàn)。
[0005] 面對不平衡數(shù)據(jù)集的學(xué)習(xí)問題,研究的困難主要來自于不平衡數(shù)據(jù)本身的特點(diǎn): 不平衡數(shù)據(jù)集中的少數(shù)類樣本不足,樣本的分布并不能很好的反映整個類的實(shí)際分布;多 數(shù)類通常會夾雜噪聲數(shù)據(jù),使得兩類樣本往往會出現(xiàn)不同程度的重疊。傳統(tǒng)的機(jī)器學(xué)習(xí)領(lǐng) 域的分類方法,在直接應(yīng)用與不平衡數(shù)據(jù)的分類問題時,容易對少數(shù)類的樣本錯分,使得少 數(shù)類的分類準(zhǔn)確率非常低。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明是為避免上述現(xiàn)有技術(shù)所存在的不足之處,提供一種基于結(jié)構(gòu)化SVM的不 平衡評估準(zhǔn)則的直接優(yōu)化算法,W期能提高分類器對少數(shù)類的分類精度,從而能應(yīng)用于不 平衡數(shù)據(jù)的分類。
[0007] 為了達(dá)到上述目的,本發(fā)明所采用的技術(shù)方案為:
[000引本發(fā)明一種基于結(jié)構(gòu)化SVM的不平衡評估準(zhǔn)則的直接優(yōu)化算法的特點(diǎn)是按如下過 程進(jìn)行:
[0009] 步驟1、假設(shè)存在一個不平衡數(shù)據(jù)集,記為j
Xi表示第i個訓(xùn)練樣本,Xi GRd;Rd表示實(shí)數(shù)的d維空間;y康示第i個訓(xùn)練樣本所對應(yīng)的類標(biāo)簽,且yiG{+l,-l};當(dāng)yi = +1,表示第i個訓(xùn)練樣本Xi為正樣本,當(dāng)yi = -1,表示第i個訓(xùn)練樣本Xi為負(fù)樣本;I《i《n;
[0010] 對所述不平衡數(shù)據(jù)集D中的所有訓(xùn)練樣本進(jìn)行先正后負(fù)排序,使得所有正樣本處 于所述不平衡數(shù)據(jù)集D的前部分,所有負(fù)樣本處于所述不平衡數(shù)據(jù)集D的后部分,從而形成 排序后的不平衡數(shù)據(jù)集〇/ ={(x,y)};x表示訓(xùn)練樣本隊(duì)列,y表示類標(biāo)簽隊(duì)列,且
種表示第 P個正樣本,冷表示第q個負(fù)樣本,表示第P個正樣本4所對應(yīng)的類標(biāo)簽,.Vws表示第q個正 樣本所對應(yīng)的類標(biāo)簽;l《P《P〇s,l《q《neg,pos+neg = n;
[0011] 步驟2、定義如式(1)所示的基于結(jié)構(gòu)化SVM框架的目標(biāo)函數(shù):
[001 ^
(1)
[0013] 式(1)中,WGRd為參數(shù)向量,C為權(quán)衡參數(shù),C為凸損失函數(shù)的上界,并有:
[0014]
(2)
[001引式(1)和式(2)中,果為預(yù)測輸出的類標(biāo)簽隊(duì)列,,巧為損失函數(shù),當(dāng)類標(biāo)簽隊(duì)列 y和預(yù)測輸出的類標(biāo)簽隊(duì)列歹相同時,4
當(dāng)類標(biāo)簽隊(duì)列y和預(yù)測輸出的類標(biāo)簽隊(duì) 列歹不相同時,令A(yù)Gv孫>0;:iKx,y)表示輸入的訓(xùn)練樣本隊(duì)列X和類標(biāo)簽隊(duì)列y的關(guān)聯(lián)函 數(shù);巧表示輸入的訓(xùn)練樣本隊(duì)列X和預(yù)測輸出的類標(biāo)簽隊(duì)列J的關(guān)聯(lián)函數(shù);Y表示類標(biāo) 簽隊(duì)列空間;
[0016] 步驟3、根據(jù)所述損失函數(shù)A〇',巧,分別定義面向不平衡評估準(zhǔn)則的損失函數(shù) 於W及所述訓(xùn)練樣本隊(duì)列X和類標(biāo)簽隊(duì)列y的關(guān)聯(lián)函數(shù)iKx,y);
[0017] 步驟4、定義錯誤允許值為e,并初始化所述權(quán)衡參數(shù)C和錯誤允許值e ;
[0018] 步驟5、利用割平面算法對所述目標(biāo)函數(shù)進(jìn)行迭代求解,得到基于機(jī)構(gòu)化SVM框架 的目標(biāo)函數(shù)。
[0019] 本發(fā)明所述的基于結(jié)構(gòu)化SVM的不平衡評估準(zhǔn)則的直接優(yōu)化算法的特點(diǎn)也在于,
[0020] 所述步驟3是按如下過程進(jìn)行:
[0021] 步驟3.1、利用式(3)定義損失函數(shù)Acww b,歹):
[0022]
(3}
[0023] 式(3)中,巧表示預(yù)測輸出的類標(biāo)簽隊(duì)列J中第i個類標(biāo)簽;
[0024] 步驟3.2、利用式(4)定義訓(xùn)練樣本隊(duì)列X和類標(biāo)簽隊(duì)列y的映射函數(shù)iKx,y):
[0025]
(4)
[0026] 所述割平面算法是按如下步驟進(jìn)行:
[0027] 步驟5.1、定義迭代次數(shù)m,并初始化m = 0;定義工作集為W,并初始化第m次迭代的 工作集Wm為空集;
[0028] 步驟5.2、對式(5)所示的目標(biāo)函數(shù)進(jìn)行訓(xùn)練,得到在第m次迭代的工作集Wm下的參 數(shù)向量Wm和凸上界訓(xùn)練損失U
[0029]
口)
[0030] 步驟5.3、對式(6)所示的最大最違約目標(biāo)函數(shù)進(jìn)行訓(xùn)練,得到在第m次迭代的工作 集Wm下的最大最違約類標(biāo)簽隊(duì)列九,:
[0031]
(6)
[0032] 步驟5.4、將第m次迭代的工作集Wm下的最大最違約類標(biāo)簽隊(duì)列知加入到所述第m 次迭代的工作集Wm中,從而獲得第m+1次迭代的工作集Wm+l;
[0033] 步驟5.5、利用式(7)進(jìn)行判斷,若式(7)成立,則輸出第m次迭代的參數(shù)向量的轉(zhuǎn)置 ,從而得到基于結(jié)構(gòu)化SVM框架的目標(biāo)函數(shù);否則,將m+1賦值給m,并返回步驟5.2;
[0034]
巧。
[0035] 所述最大最違約目標(biāo)函數(shù)是利用時間復(fù)雜度為o(nlogn)的貪屯、算法并按如下步 驟進(jìn)行訓(xùn)練:
[0036] 步驟5.3.1、根據(jù)W,,, 與啼的大小分別對所述排序后的不平衡數(shù)據(jù)集〇/進(jìn)行 再次降序排列,獲得二次排序的不平衡數(shù)據(jù)集D" = { (a,0)} ;a表示二次排序后的訓(xùn)練樣本 隊(duì)列,e表示二次排序后的類標(biāo)簽隊(duì)列,將二次排序后的類標(biāo)簽隊(duì)列e中的每個類標(biāo)簽的位
置記為鮮,....傳,...,錢《,盧1,...,足,'.',知};傳表示第9個正樣本所對應(yīng)的類標(biāo)簽位置;成 第q個負(fù)樣本所對應(yīng)的類標(biāo)簽位置;
[0037] 步驟5.3.2、令最大最違約類標(biāo)簽隊(duì)歹
[0038] 步驟5.3.3、利用式(8)得到第m次迭代的最大最違約目標(biāo)函數(shù)值fm:
[0039]
(8)
[0040] 步驟5.3.4、定義外部變量k,并初始化k = 0;定義變量g,并初始化g = pos-k;
[0041] 步驟5.3.5、令>'件,"一《均為+1且^1,''',-1'彼期為-1;
[0042] 步驟5.3.6、定義內(nèi)部變量t,并初始化t = 0;定義變量h,并初始化h = neg-t;
[00創(chuàng)步驟5.3.7、令%,'",^均為+1且束庇,,'",%^均為-1;
[0044] 步驟5.3.8、從而獲得更新的最大最違約類標(biāo)簽隊(duì)列滬;
[0045] 步驟5.3.9、利用式(9)得到第m次迭代的更新的最大最違約目標(biāo)函數(shù)值f\:
[0046]
(9)
[0047] 步驟5.3.10、判斷f\>f"是否成立,若成立,則將更新的最大最違約類標(biāo)簽隊(duì)列f 作為第m次迭代的工作集Wm下的最大最違約類標(biāo)簽隊(duì)列糸。;否則,將t+1賦值給t,并返回步 驟5.3.7,直到* = 116肖為止;若仍未得到滿足條件的/:,則將4+1賦值給4,并返回步驟5.3.5, 直到k = pos為止;若仍未得到滿足條件的^,則將最大最違約類標(biāo)簽隊(duì)列J)作為最大最違約 類標(biāo)簽隊(duì)列趙,。
[004引與已有技術(shù)相比,本發(fā)明的有益效果體現(xiàn)在:
[0049] 1、本發(fā)明不同于已有基于SVM的改進(jìn)算法,提出了將不平衡二分類問題看成一個 學(xué)習(xí)分類隊(duì)列的過程,并提出了基于結(jié)構(gòu)化SVM的直接優(yōu)化評估準(zhǔn)則算法,提高了少數(shù)類在 分類學(xué)習(xí)中的權(quán)重,也提高了分類器對少數(shù)類的分類精度,使得算法更適合用于解決不平 衡分類問題。
[0050] 2、本發(fā)明針對目標(biāo)函數(shù)非光滑,難W直接優(yōu)化,提出了使用割平面算法進(jìn)行求解, 使得算法的迭代次數(shù)不依賴與訓(xùn)練樣本數(shù),更加適合大規(guī)模的應(yīng)用場合。
[0051] 3、本發(fā)明中對于割平面算法中求解最大最違約的內(nèi)部迭代設(shè)計了高效的時間復(fù) 雜度僅為O (nlogn)的局效算法,提局了計算速度。
[0052] 4、本發(fā)明給出了另一種思路,即針對現(xiàn)有的W某個評估準(zhǔn)則作為評價不平衡數(shù)據(jù) 集的分類性能設(shè)計直接優(yōu)化該不平衡準(zhǔn)則的算法運(yùn)個問題,提出了直接優(yōu)化不同的不平衡 準(zhǔn)則的算法可W達(dá)到更好的效果。
【附圖說明】
[0053] 圖1是本發(fā)明的實(shí)現(xiàn)流程圖;
[0054] 圖2是本發(fā)明與現(xiàn)有技術(shù)在不平衡數(shù)據(jù)集上得到的WFl為評價指標(biāo)的對比圖。
【具體實(shí)施方式】
[0055] 本實(shí)施例中,如圖1所示,一種基于結(jié)構(gòu)化SVM的不平衡評估準(zhǔn)則的直接優(yōu)化算法 是按如下過程進(jìn)行:
[0化6]步驟1、假設(shè)存在一個不平衡數(shù)據(jù)集,記夫
;xi表示第i個訓(xùn)練樣本, XiGRd;Rd表示實(shí)數(shù)的d維空間;y康示第i個訓(xùn)練樣本所對應(yīng)的類標(biāo)簽,且yiG{+l,-l};當(dāng)yi =+1,表示第i個訓(xùn)練樣本Xi為正樣本,當(dāng)yi = -l,表示第i個訓(xùn)練樣本Xi為負(fù)樣本;
[0057]對不平衡數(shù)據(jù)集D中的所有訓(xùn)練樣本進(jìn)行先正后負(fù)排序,使得所有正樣本 處于不平衡數(shù)據(jù)集D的前部分,所有負(fù)樣本處于不平衡數(shù)據(jù)集D的后部分,從而形 成排序后的不平衡數(shù)據(jù)集〇/ ={(x,y)};x表示訓(xùn)練樣本隊(duì)列,y表示類標(biāo)簽隊(duì)列,且
表示第 P個正樣本,Xg表示第q個負(fù)樣本,掉表示第P個正樣本X卽片對應(yīng)的類標(biāo)簽,底g表示第q個正 樣本而所對應(yīng)的類標(biāo)簽;1《9《9〇3,1《9《11日旨,9〇3+]1日旨=]1,之所^將訓(xùn)練樣本隊(duì)列和相 應(yīng)的類標(biāo)簽隊(duì)列按先正后負(fù)排列是為了方便后面定義所需的函數(shù);
[0化引步驟2、定義如式(1)所示的基于結(jié)構(gòu)化SVM框架的目標(biāo)函數(shù):
[0059] (1)
[0060] 3損失函數(shù)的上界,并有:
[0061] (2)
[006^ 式(1)和式(2)中,歹為預(yù)測輸出的類標(biāo)簽隊(duì)列,A知巧為損失函數(shù),當(dāng)類標(biāo)簽隊(duì)列 y和預(yù)測輸出的類標(biāo)簽隊(duì)列y相同時,令
;當(dāng)類標(biāo)簽隊(duì)列y和預(yù)測輸出的類標(biāo)簽隊(duì) 列歹不相同時,令
4(x,y)表示輸入的訓(xùn)練樣本隊(duì)列X和類標(biāo)簽隊(duì)列y的關(guān)聯(lián)函數(shù); 巧表示輸入的訓(xùn)練樣本隊(duì)列X和預(yù)測輸出的類標(biāo)簽隊(duì)列y的關(guān)聯(lián)函數(shù);Y表示類標(biāo)簽隊(duì) 列空間,選擇結(jié)構(gòu)化SVM框架的主要是由于本發(fā)明不同于已有基于SVM的改進(jìn)算法,提出將 不平衡二分類問題看成一個學(xué)習(xí)分類隊(duì)列的過程;
[006引步驟3、根據(jù)損失函數(shù)A b,,巧,分別定義面向不平衡評估準(zhǔn)則的損失函數(shù) Agw/wU,巧W及訓(xùn)練樣本隊(duì)列X和類標(biāo)簽隊(duì)列y的關(guān)聯(lián)函數(shù)iKx,y),針對不同的問題,靈活 的設(shè)計iKx,y)允許我們應(yīng)用結(jié)構(gòu)化支持向量機(jī)處理各種問題;
[0064]步驟3.1、利用式(3)定義損失函數(shù)Awaw心,歹):
[00化]
0)
[0066] 式(3)中,巧表示預(yù)測輸出的類標(biāo)簽隊(duì)列歹中第i個類標(biāo)簽;
[0067] 步驟3.2、利用式(4)定義訓(xùn)練樣本隊(duì)列X和類標(biāo)簽隊(duì)列y的映射函數(shù)iKx,y):
[006引
(4)
[0069] 步驟4、定義錯誤允許值為6,并初始化權(quán)衡參數(shù)C和錯誤允許值6,本實(shí)施例中,E = 0.0001,CG{2-i〇,...,2i〇};
[0070] 步驟5、利用割平面算法對目標(biāo)函數(shù)進(jìn)行迭代求解,得到基于結(jié)構(gòu)化SVM框架的目 標(biāo)函數(shù),對于新定義的目標(biāo)函數(shù),難W解決的是:對于公式(1)中每個Fe F,目標(biāo)函數(shù)都有 一個指數(shù)級的約束條件,為了解決運(yùn)個問題,本發(fā)明提出使用割平面算法,其前提是:對于 任意的e>0,只要問題約束的一小部分滿足就可W找到一個e近似解。
[0071] 步驟5.1、定義迭代次數(shù)m,并初始化m = 0;定義工作集為W,并初始化第m次迭代的 工作集Wm為空集;
[0072] 步驟5.2、對式(5)所示的目標(biāo)函數(shù)進(jìn)行訓(xùn)練,得到在第m次迭代的工作集Wm下的參 數(shù)向量Wm和凸上界訓(xùn)練損失U
[0073]
(5)
[0074] 步驟5.3、對式(6)所示的最大最違約目標(biāo)函數(shù)進(jìn)行訓(xùn)練,得到在第m次迭代的工作 集Wm下的最大最違約類標(biāo)簽隊(duì)列九.:
[0075]
紛
[0076] 步驟5.3.1、根據(jù)^ ?均與Wg, ?馬的大小分別對排序后的不平衡數(shù)據(jù)集〇/進(jìn)行再次 降序排列,獲得二次排序的不平衡數(shù)據(jù)集D" = { (a,0)} ;a表示二次排序后的訓(xùn)練樣本隊(duì)列, 0表示二次排序后的類標(biāo)簽隊(duì)列,將二次排序后的類標(biāo)簽隊(duì)列e中的每個類標(biāo)簽的位置記為 {好,巧L,保,…,娘};獲表示第P個正樣本所對應(yīng)的類標(biāo)簽位置;保第q個 負(fù)樣本所對應(yīng)的類標(biāo)簽位置,之所W對不平衡數(shù)據(jù)集再次排序是為了快速的獲得最大最違 約的類標(biāo)簽隊(duì)列;
[0077] 步驟5.3.2、令最大最違約類標(biāo)簽隊(duì)列,
[0078] 步驟5.3.3、利用式(7)得到第m次迭代的最大最違約目標(biāo)函數(shù)值fm:
[0079]
(1)
[0080] 步驟5.3.4、定義外部變量k,并初始化k = 0;定義變量g,并初始化g = pos-k;
[0081] 步驟5.3.5、令3V,…,?均為+1且-,…:?滿為-1;
[0082] 步驟5.3.6、定義內(nèi)部變量t,并初始化t = 0;定義變量h,并初始化h = neg-t;
[008;3] 步驟5.3.7、令 濟(jì),…:,%均為+1且.V佑,',.v侶均為-1;
[0084] 步驟5.3.8、從而獲得更新的最大最違約類標(biāo)簽隊(duì)列滬;
[0085] 步驟5.3.9、利用式(8)得到第m次迭代的更新的最大最違約目標(biāo)函數(shù)值f\:
[0086]
(8)
[0087] 步驟5.3.10、判斷f\>fm是否成立,若成立,則將更新的最大最違約類標(biāo)簽隊(duì)列來' 作為第m次迭代的工作集Wm下的最大最違約類標(biāo)簽隊(duì)列九;;否則,將t+1賦值給t,并返回步 驟5.3.7,直到t = neg為止;若仍未得到滿足條件的.,:?',則將k+1賦值給k,并返回步驟5.3.5, 直到k = pos為止;若仍未得到滿足條件的滬,則將最大最違約類標(biāo)簽隊(duì)列J)作為最大最違約 類標(biāo)簽隊(duì)列:L,該算法實(shí)際上必須符合下面的要求,k(0《k《pos)個樣本是正樣本,其他 的是負(fù)樣本t(0《t《neg),可W通過測試每個類標(biāo)簽得到夕,使用貪屯、算法找到最大最違約 的歹。效率是很高的,它的運(yùn)行時間可W被分為兩部分,第一部分是排序,時間為O(nlogn)。 第二部分為算法中的循環(huán),時間復(fù)雜度為0(P〇s ? neg),盡管在最壞的情況下是0(n2),在不 平衡數(shù)據(jù)集上正樣本的數(shù)量很少,運(yùn)就意味著第二部分的訓(xùn)練時間接近〇(n),所W算法的 時間復(fù)雜度為O(nlogn)。
[0088] 步驟5.4、將第m次迭代的工作集Wm下的最大最違約類標(biāo)簽隊(duì)列加入到第m次迭 代的工作集Wm中,從而獲得第m+1次迭代的工作集Wm+l;
[0089] 步驟5.5、利用式(9)進(jìn)行判斷,若式(9)成立,則輸出第m次迭代的參數(shù)向量的轉(zhuǎn)置 堿,從而得到基于機(jī)構(gòu)化SVM框架的目標(biāo)函數(shù);否則,將m+1賦值給m,并返回步驟5.2;
[0090]
(9)
[0091 ]下面給出本發(fā)明相比直接優(yōu)化Fl評估標(biāo)準(zhǔn)算法有更緊湊的上界
[0092] 理論上已經(jīng)證明,只要所定義的^^^,列滿足步驟2中的約束條件,即當(dāng)類標(biāo)簽隊(duì)列 y和預(yù)測輸出的類標(biāo)簽隊(duì)列歹相同時,令A(yù)〇.?,巧=0;當(dāng)類標(biāo)簽隊(duì)列y和預(yù)測輸出的類標(biāo)簽隊(duì) 列歹不相同時,令
:C是訓(xùn)練損失的凸上界,即:
[0093] (10)
[0094] (11)
[0095] 其中;
[0096] I 巧
[0097] 腳
[009引扣TP/PR是比如one更緊湊的替代函數(shù)。具體證明如下:[0099] 記;
[0100] (14)
[0101]
[0102] 片巧
[0103] (16)
[0104] (17)
[0105]
[0106] (B/A)2=1/〇tpr ? Opre ? (1/0tpr+1/0pre)2>1 (18)
[0107] 所 W 有(B/A) > I 即 A-B《0,結(jié)合公式(5.17 )有:CgTP/PR-扣。ne《0,因此扣one是CgTP/PR 的上界,由此證明CgTP/PR是比扣one更緊湊的替代函數(shù)。
[0108] 本發(fā)明的效果可W通過W下仿真實(shí)驗(yàn)進(jìn)一步說明:
[0109] -、實(shí)驗(yàn)條件和參數(shù)設(shè)置
[0110] 實(shí)驗(yàn)基于Linux下,基于化achims的結(jié)構(gòu)化支持向量機(jī)SVMStTUGt
[0111] 表1是算法的實(shí)驗(yàn)數(shù)據(jù)及特征;
[0112] 表1實(shí)驗(yàn)數(shù)據(jù)集的特征
[0113]
[0'
[0115] 二、實(shí)驗(yàn)內(nèi)容與結(jié)果分析
[0116] 表1是實(shí)驗(yàn)中使用的5個Libsvm標(biāo)準(zhǔn)數(shù)據(jù)集。Breast ,GermaruLetter、A9a、Wla,其 不平衡比例從0.4102到0.0291不等。本發(fā)明和現(xiàn)有技術(shù)SVMHiNGE、Safe-Leve^SMOTE、SVMAuc、 SVMfi算法進(jìn)行了比較。其中SVMhinge是基于化nge損失的傳統(tǒng)SVM,其余的S個算法都是屬于 面向不平衡數(shù)據(jù)集的改進(jìn)算法,且分別代表了兩種主流方法。其中Safe-Level-SMOTE是一 個較新的面向數(shù)據(jù)算法,主要采用過采樣技術(shù),之所W選擇它而非直接的SMOTE算法,在于 Safe-Leve^SMOTE可W產(chǎn)生比SMOTE更為精確的模型。而后兩個算法均屬于面向算法的改 進(jìn),且與本發(fā)明同樣都是采用直接優(yōu)化評估標(biāo)準(zhǔn),各自的學(xué)習(xí)目標(biāo)分別為AUC和Fl,實(shí)驗(yàn)結(jié) 果WFl作為評估標(biāo)準(zhǔn),如圖2所示。從圖2可W看出,本發(fā)明方法相比于現(xiàn)有技術(shù)取得了更高 和更加穩(wěn)定的少數(shù)類分類精度。綜上實(shí)驗(yàn)所述,本發(fā)明針對不平衡數(shù)據(jù)分類問題,提出了一 種具有更緊湊上界的基于結(jié)構(gòu)化SVM的直接優(yōu)化不平衡評估準(zhǔn)則的分類方法,通過在5個標(biāo) 準(zhǔn)數(shù)據(jù)集上對本發(fā)明和現(xiàn)有技術(shù)實(shí)施分類對比實(shí)驗(yàn),驗(yàn)證了本發(fā)明方法相比現(xiàn)有技術(shù),對 不平衡數(shù)據(jù)能夠獲得更好的分類精度。
【主權(quán)項(xiàng)】
1. 一種基于結(jié)構(gòu)化SVM的不平衡評估準(zhǔn)則的直接優(yōu)化算法,其特征是按如下過程進(jìn)行: 步驟1、假設(shè)存在一個不平衡數(shù)據(jù)集,記為D = {(x;,乃)^;Χι表示第i個訓(xùn)練樣本,Xle Rd;Rd表示實(shí)數(shù)的d維空間;yi表示第i個訓(xùn)練樣本所對應(yīng)的類標(biāo)簽,且 7^{+1,-1};當(dāng)71 = + 1,表示第i個訓(xùn)練樣本Xi為正樣本,當(dāng)yi = -1,表示第i個訓(xùn)練樣本Xi為負(fù)樣本;1彡i<n; 對所述不平衡數(shù)據(jù)集D中的所有訓(xùn)練樣本進(jìn)行先正后負(fù)排序,使得所有正樣本處于所 述不平衡數(shù)據(jù)集D的前部分,所有負(fù)樣本處于所述不平衡數(shù)據(jù)集D的后部分,從而形成排序 后的不平衡數(shù)據(jù)集D' = { (x,y) } ;x表示訓(xùn)練樣本隊(duì)列,y表示類標(biāo)簽隊(duì)列,且表示第 P個正樣本,< 表示第q個負(fù)樣本,%表示第P個正樣本4所對應(yīng)的類標(biāo)簽,表示第q個正 樣本、所對應(yīng)的類標(biāo)簽;KpSpos,KqSneg,pos+neg = n; 步驟2、定義如式(1)所示的基于結(jié)構(gòu)化SVM框架的目標(biāo)函數(shù):(1) 式(1)中,weRd為參數(shù)向量,C為權(quán)衡參數(shù),ξ為凸損失函數(shù)的上界,并有:式(1)和式(2)中,歹為預(yù)測輸出的類標(biāo)簽隊(duì)列,Δ〇^7)為損失函數(shù),當(dāng)類標(biāo)簽隊(duì)列y和 預(yù)測輸出的類標(biāo)簽隊(duì)列F相同時,令Δ〇;,刃=0;當(dāng)類標(biāo)簽隊(duì)列y和預(yù)測輸出的類標(biāo)簽隊(duì)列f 不相同時,令Δ(Λ5Γ)>0;1Κχ,7)表示輸入的訓(xùn)練樣本隊(duì)列X和類標(biāo)簽隊(duì)列y的關(guān)聯(lián)函數(shù); .F)表示輸入的訓(xùn)練樣本隊(duì)列X和預(yù)測輸出的類標(biāo)簽隊(duì)列y的關(guān)聯(lián)函數(shù);Y表示類標(biāo)簽隊(duì) 列空間; 步驟3、根據(jù)所述損失函數(shù)分別定義面向不平衡評估準(zhǔn)則的損失函數(shù) Aemw (>·,J7)以及所述訓(xùn)練樣本隊(duì)列X和類標(biāo)簽隊(duì)列y的關(guān)聯(lián)函數(shù)1KX,y); 步驟4、定義錯誤允許值為ε,并初始化所述權(quán)衡參數(shù)C和錯誤允許值ε ; 步驟5、利用割平面算法對所述目標(biāo)函數(shù)進(jìn)行迭代求解,得到基于機(jī)構(gòu)化SVM框架的目 標(biāo)函數(shù)。2. 根據(jù)權(quán)利要求1所述的基于結(jié)構(gòu)化SVM的不平衡評估準(zhǔn)則的直接優(yōu)化算法,其特征 是,所述步驟3是按如下過程進(jìn)行: 步驟3.1、利用式(3)定義損失函數(shù)Aemiyf (>',歹):(3) 式(3)中,另表示預(yù)測輸出的類標(biāo)簽隊(duì)列歹中第i個類標(biāo)簽; 步驟3.2、利用式(4)定義訓(xùn)練樣本隊(duì)列X和類標(biāo)簽隊(duì)列y的映射函數(shù)iKx,y): (4)。3. 根據(jù)權(quán)利要求1所述的基于結(jié)構(gòu)化SVM的不平衡評估準(zhǔn)則的直接優(yōu)化算法,其特征 是,所述割平面算法是按如下步驟進(jìn)行: 步驟5.1、定義迭代次數(shù)m,并初始化m = O ;定義工作集為W,并初始化第m次迭代的工作 集Wm為空集; 步驟5.2、對式(5)所示的目標(biāo)函數(shù)進(jìn)行訓(xùn)練,得到在第m次迭代的工作集1下的參數(shù)向 量Wm和凸上界訓(xùn)練損失Im:(5) 步驟5.3、對式(6)所示的最大最違約目標(biāo)函數(shù)進(jìn)行訓(xùn)練,得到在第m次迭代的工作集1 下的最大最違約類標(biāo)簽隊(duì)列九;(6) 步驟5.4、將第m次迭代的工作集仏下的最大最違約類標(biāo)簽隊(duì)列九加入到所述第m次迭代 的工作集Wm中,從而獲得第m+1次迭代的工作集1+1; 步驟5.5、利用式(7)進(jìn)行判斷,若式(7)成立,則輸出第m次迭代的參數(shù)向量的轉(zhuǎn)置wf, 從而得到基于結(jié)構(gòu)化SVM框架的目標(biāo)函數(shù);否則,將m+1賦值給m,并返回步驟5.2;(7)。4. 根據(jù)權(quán)利要求3所述的基于結(jié)構(gòu)化SVM的不平衡評估準(zhǔn)則的直接優(yōu)化算法,其特征 是,所述最大最違約目標(biāo)函數(shù)是利用時間復(fù)雜度為〇(nl 〇gn)的貪心算法并按如下步驟進(jìn)行 訓(xùn)練: 步驟5.3.1、根據(jù)% _ <與u", · \的大小分別對所述排序后的不平衡數(shù)據(jù)集D'進(jìn)行再次 降序排列,獲得二次排序的不平衡數(shù)據(jù)集D" = { (α,β)} ;α表示二次排序后的訓(xùn)練樣本隊(duì)列, β表示二次排序后的類標(biāo)簽隊(duì)列,將二次排序后的類標(biāo)簽隊(duì)列β中的每個類標(biāo)簽的位置記為 '' 良示第P個正樣本所對應(yīng)的類標(biāo)簽位置;爲(wèi)+第q個 負(fù)樣本所對應(yīng)的類標(biāo)簽位置; 步驟5.3.2、令最大最違約類標(biāo)簽隊(duì)步驟5.3.3、利用式(8)得到第m次佚代的最太最諱約目標(biāo)函數(shù)值(8) 步驟5.3.4、定義外部變量1^,并初始化1^ = 0;定義變量8,并初始化8 = ?〇8-1^ 步驟5.3.5、令·%均為+1 且 " )??均為-1; 步驟5.3.6、定義內(nèi)部變量t,并初始化t = 0;定義變量h,并初始化h = neg-t; 步驟5 · 3 · 7、令·^「,…均為+1 且-?:,," '5均為-1; 步驟5.3.8、從而獲得更新的最大最違約類標(biāo)簽隊(duì)列>% 步驟5.3.9、利用式(9)得到第m次迭代的更新的最大最違約目標(biāo)函數(shù)值f\: (9) 步驟5.3.10、判斷f m>fm是否成立,若成立,則將更新的最大最違約類標(biāo)簽隊(duì)列I'作為 第m次迭代的工作集1下的最大最違約類標(biāo)簽隊(duì)列九;否則,將t+Ι賦值給t,并返回步驟 5.3.7,直到t = neg為止;若仍未得到滿足條件的,則將k+Ι賦值給k,并返回步驟5.3.5,直 到k = Pos為止;若仍未得到滿足條件的則將最大最違約類標(biāo)簽隊(duì)列j)作為最大最違約類 標(biāo)簽隊(duì)列先。
【文檔編號】G06K9/62GK106022376SQ201610338508
【公開日】2016年10月12日
【申請日】2016年5月18日
【發(fā)明人】程凡, 張磊, 楊康, 劉政怡, 張興義
【申請人】安徽大學(xué)