溫雪巖 趙麗影 徐克生 陸光
摘 要:針對(duì)于MDSMOTE算法在生成部分新樣本時(shí)沒(méi)有將錯(cuò)分樣本納入其中的問(wèn)題,將對(duì)錯(cuò)分樣本修正的方法加入到現(xiàn)有的MDSMOTE算法中,提高樣本的質(zhì)量;對(duì)于傳統(tǒng)FSVM在對(duì)不平衡數(shù)據(jù)集分類時(shí),不能解決超平面偏向少數(shù)類的問(wèn)題,將正負(fù)懲罰系數(shù)、模糊因子加入到FSVM中,提高不平衡數(shù)據(jù)的識(shí)別率。將改進(jìn)的算法用于京東網(wǎng)購(gòu)評(píng)語(yǔ)數(shù)據(jù)集分類中,該算法的分類性能較其他算法平均提升了9.13%,表明了該方法的可行性和有效性,具有實(shí)際應(yīng)用價(jià)值。
關(guān)鍵詞:不均衡數(shù)據(jù)集;支持向量機(jī);SMOTE算法;文本分類
DOI:10.15938/j.jhust.2018.04.016
中圖分類號(hào): TP311
文獻(xiàn)標(biāo)志碼: A
文章編號(hào): 1007-2683(2018)04-0087-08
Abstract:On the network shopping evaluation data sets appear the phenomenon of extreme imbalance, in order to improve the classification accuracy of the unbalanced data set, It should be improved from both the sample and the algorithm For one of the problem in MDSMOTE algorithm that when generating part of the new samples, wrong points sample can′t be contained, the correct classification of the wrongly classified sample is added to the existing MDSMOTE algorithm to improve the quality of the samples. For that we can′t solve the problem of the hyper plane bias of the minority class in traditional FSVM on imbalanced data sets classification, positive and negative penalty coefficient and fuzzy factor are added the FSVM to improve the recognition rate of unbalanced data. The improved algorithm is used in the classification of JingDong online shopping commentary data set. The fmeasure value of this algorithm is increased by 9.13% on average, which indicates the feasibility and effectiveness of this method.
Keywords:imbalanced data sets; support vector machines; SMOTE algorithm; text categorization
0 引 言
網(wǎng)絡(luò)平臺(tái)上的店鋪都會(huì)將顧客的評(píng)語(yǔ)羅列出來(lái),供給潛在的購(gòu)買客戶進(jìn)行參考[1-2]。但對(duì)于產(chǎn)品的評(píng)語(yǔ),尤其是那些主流的、受大家親睞的產(chǎn)品,往往會(huì)呈現(xiàn)出非常極端的現(xiàn)象,即好評(píng)數(shù)遠(yuǎn)超過(guò)其他類型的評(píng)語(yǔ)。而生產(chǎn)商,銷售商和潛在的購(gòu)買者更關(guān)注的是那些負(fù)面的評(píng)語(yǔ)。通過(guò)分析這些負(fù)面評(píng)語(yǔ),生產(chǎn)商需要找出商品的潛在的問(wèn)題或缺陷去改進(jìn),銷售商可以根據(jù)用戶詬病最頻繁的地方進(jìn)行修繕,而潛在的購(gòu)買者可以通過(guò)分析負(fù)面的評(píng)語(yǔ)進(jìn)而做出自己的選擇。大量“濫竽充數(shù)”“弄虛作假”的累積評(píng)論,致使整個(gè)評(píng)語(yǔ)數(shù)據(jù)集呈現(xiàn)出極度不均衡的現(xiàn)象。
在機(jī)器學(xué)習(xí)過(guò)程中,一般將數(shù)據(jù)集中關(guān)于類別分布的不均衡問(wèn)題稱為數(shù)據(jù)集的不均衡問(wèn)題(class imbalance problem of data set, CIPD),體現(xiàn)在樣本的數(shù)量差異較大。由于目前標(biāo)準(zhǔn)的機(jī)器學(xué)習(xí)算法均是基于數(shù)據(jù)平衡的理論,導(dǎo)致這些機(jī)器學(xué)習(xí)算法對(duì)于不平衡數(shù)據(jù)的學(xué)習(xí)存在不同程度的缺陷[3-5]。對(duì)CIPD學(xué)習(xí)效果進(jìn)行改善,提高CIPD的分類準(zhǔn)確率是當(dāng)前機(jī)器學(xué)習(xí)算法領(lǐng)域的熱點(diǎn)之一[6-8]。
在目前主流的機(jī)器學(xué)習(xí)算法中,SVM作為一種分類效果和穩(wěn)定性較好的機(jī)器學(xué)習(xí)算法得到了廣泛應(yīng)用。盡管如此,針對(duì)于不平衡數(shù)據(jù),支持向量機(jī)也只能得到次優(yōu)的分類結(jié)果,表現(xiàn)為支持向量機(jī)學(xué)習(xí)得到的超平面偏向少類樣本,導(dǎo)致對(duì)少類樣本的分類結(jié)果較差。針對(duì)以上問(wèn)題,為了獲得更好的預(yù)測(cè)結(jié)果,當(dāng)前的SVM算法通常從以下兩個(gè)方面進(jìn)行改進(jìn):
1)樣本處理方面。數(shù)據(jù)重采樣是指對(duì)訓(xùn)練樣本進(jìn)行重采樣,讓多數(shù)類樣本的數(shù)量和少數(shù)類的達(dá)到一種平衡。現(xiàn)有的數(shù)據(jù)重采樣方法主要有兩種,分別是欠采樣和過(guò)采樣。傳統(tǒng)的隨機(jī)欠采樣(random undersampling,RAMU)技術(shù)可能會(huì)將一些重要信息進(jìn)行刪除,傳統(tǒng)的隨機(jī)過(guò)采樣(random oversampling,RAMO)技術(shù)則經(jīng)常會(huì)導(dǎo)致過(guò)擬合[9]。因此,各種改進(jìn)的數(shù)據(jù)重采樣方法相繼出現(xiàn)。RAMU中,GSVMRU[10]首先通過(guò)對(duì)原多類樣本不斷使用欠采樣,接著與原少類樣本組成多個(gè)子訓(xùn)練模型,然后將多個(gè)子訓(xùn)練模型中的多類支持向量收集起來(lái),作為多類樣本,最后將該多類樣本與原少類樣本進(jìn)行訓(xùn)練得到最終的預(yù)測(cè)模型;RAMO中,ADASYN[11]通過(guò)對(duì)少類樣本的密度分布情況進(jìn)行分析,將樣本點(diǎn)加入到密度分布較少的樣本附近;趙清華等人提出的MDSMOTE算法[12],摒棄了傳統(tǒng)SMOTE算法將正類樣本點(diǎn)分組的思想,不僅有效解決了過(guò)擬合問(wèn)題,而且大大減輕了算法復(fù)雜度。
2)算法改進(jìn)方面。改進(jìn)算法是指針對(duì)樣本數(shù)量存在的差異,優(yōu)化訓(xùn)練方式,加強(qiáng)算法本身對(duì)CIPD的學(xué)習(xí)效果。比如Vapnik提出的Chunking算法,通過(guò)對(duì)核函數(shù)矩陣的調(diào)整,把大型的二次規(guī)劃問(wèn)題分解為小規(guī)模的問(wèn)題[13];而DEC算法[14]則通過(guò)在訓(xùn)練過(guò)程中對(duì)少類樣本和多類樣本使用不同的懲罰因子C+和C-,進(jìn)而解決了超平面偏向少類樣本的問(wèn)題。
本文在融合現(xiàn)有算法優(yōu)點(diǎn)的基礎(chǔ)上,加入了一些相關(guān)要素和理論模型,形成了面向不平衡數(shù)據(jù)集的分類算法。改進(jìn)的分類算法有以下2個(gè)創(chuàng)新點(diǎn):
1)針對(duì)傳統(tǒng)數(shù)據(jù)重采樣方法進(jìn)行了改良。在用MDSMOTE算法進(jìn)行過(guò)采樣的基礎(chǔ)上,也將錯(cuò)分樣本進(jìn)行人工合成,形成新樣本,提高這些關(guān)鍵樣本在分類過(guò)程中的重要程度。
2)提升了支持向量機(jī)的分類性能。把FSVM算法與DEC算法結(jié)合(FCSVM)起來(lái),將正負(fù)懲罰系數(shù)、模糊因子加入到FSVM中,并在懲罰系數(shù)C+和C-的選擇上采用了更客觀的熵值法進(jìn)行了選取,提高了分類的精確度,進(jìn)一步改善SVM算法本身在不平衡數(shù)據(jù)的學(xué)習(xí)上的缺陷。
1 改進(jìn)的數(shù)據(jù)重采樣方法
2 不平衡數(shù)據(jù)集分類算法的改進(jìn)
2.1 改進(jìn)的模糊支持向量機(jī)
支持向量機(jī)方法( support vector machines,
SVM) 作為機(jī)器學(xué)習(xí)的一個(gè)熱點(diǎn)領(lǐng)域,具有良好的泛化能力以及較好的分類精確性,根據(jù)有限的樣本信息在模型的復(fù)雜性和學(xué)習(xí)能力之間尋求最佳折衷,以期獲得最好的推廣能力。傳統(tǒng)的SVM 是針對(duì)兩類的分類問(wèn)題[17-18]。圖2表示的是在二維空間中兩類線性可分的情況。圖中的三角形和實(shí)心圓分別代表正反兩類訓(xùn)練樣本。其中分類線H將兩類樣本正確的分開(kāi)。H1□H2分別代表過(guò)兩類樣本中離H最近的點(diǎn),且平行于H的直線。定義H1,H2之間的距離為分類間隔,用Marin表示。
SVM分為線性可分、非線性可分以及需要核函數(shù)映射三種情況。設(shè)訓(xùn)練樣本T=(xi,yi)(i=1,2,...l),xi為SVM的輸入特征且xi∈Rn,yi∈{+1,-1}為類別標(biāo)簽,l為訓(xùn)練樣本個(gè)數(shù)?;诙诸惸繕?biāo)核函數(shù)SVM實(shí)現(xiàn)非線性劃分的分類算法,其模型的原始問(wèn)題可表示為:
3 實(shí)驗(yàn)與分析
3.1 數(shù)據(jù)來(lái)源
本文數(shù)據(jù)集通過(guò)手工收取京東商城的數(shù)據(jù)集的六類不同類型的產(chǎn)品,分別是蘋果手機(jī)(iphone7),愛(ài)氏晨曦牛奶(Arla),羅萊床上用品(SAIN),喬丹運(yùn)動(dòng)鞋(Jordan),蘇泊爾(supor),SKII化妝品(SKII)。從2017125日開(kāi)始一直到201825日的所有商品的評(píng)價(jià)數(shù)量,通過(guò)人工對(duì)數(shù)據(jù)進(jìn)行分析刪除一些噪聲樣本并進(jìn)行分類,將分類后的數(shù)據(jù)的80%作為樣本的訓(xùn)練集,20%作為樣本的測(cè)試集。利用當(dāng)前流行的word2vec對(duì)樣本進(jìn)行詞向量的訓(xùn)練,生成向量空間,向量空間的維數(shù)為150維。該數(shù)據(jù)的具體分布如表1所示,其中有樣本的個(gè)數(shù),樣本總數(shù),正負(fù)樣本的比例。實(shí)驗(yàn)中所有的數(shù)據(jù)集都采用了5折交叉驗(yàn)證,以便于驗(yàn)證分類器的性能。
為了更好的驗(yàn)證本文提出的改進(jìn)分類算法(MDSMOTE+FCSVM,MD+FC)的性能,在標(biāo)準(zhǔn)SVM的基礎(chǔ)上加入DEC、MDSMOTE、FSVM、FCSVM作為實(shí)驗(yàn)對(duì)比,并且這幾種算法也使用5折交叉驗(yàn)證,所有算法均使用5次結(jié)果的平均值作為最終結(jié)果。
3.2 分析指標(biāo)
在CIPD中,把分類的準(zhǔn)確率當(dāng)做分類效果的評(píng)價(jià)標(biāo)準(zhǔn)是不合理的。這主要是因?yàn)檎悩颖舅嫉谋壤^少,倘若以整體的準(zhǔn)確率作為樣本分類效果的評(píng)判標(biāo)準(zhǔn),就會(huì)使算法忽略少數(shù)類而提高對(duì)多數(shù)類的分類能力,因此在不平衡數(shù)據(jù)集中,人們常常選用Fmeasure作為評(píng)價(jià)標(biāo)準(zhǔn)。
實(shí)驗(yàn)指標(biāo)采用查準(zhǔn)率(precision,PRE)與敏感度(sensitivity,SE)進(jìn)行衡量。PRE與SE的表達(dá)式分別為:
PRE=TPTP+FP(19)
SE=TPTP+FN(20)
其中數(shù)據(jù)集中的正類用P表示,負(fù)類用N表示。FP(False Positives)表示將負(fù)類樣本錯(cuò)分成正類的數(shù)目,F(xiàn)N(False Negative)是指將正類樣本錯(cuò)分成負(fù)類的數(shù)目,TP(True Positives)表示正類樣本被正確分類的個(gè)數(shù)。
查準(zhǔn)率PRE,反映了被分類器判定的正類中真正的正類樣本的比重。分類的靈敏度SE,反映了被正確判定的正例的比重。
F度量(Fmeasure):
Fmeasure=2·Sensitivity·PrecisionSensitivity+Precision=
21/Sensitivity+1/Precision(21)
Fmeasure表示的是分類精度和靈敏度的調(diào)和平均值,用來(lái)評(píng)判分類器在正負(fù)兩類之間的辨別能力,F(xiàn)measure的值越大說(shuō)明分類精確度和靈敏度的值越接近1,分類器的性能越好。
3.3 實(shí)驗(yàn)結(jié)果分析
表2顯示了各個(gè)算法對(duì)6個(gè)數(shù)據(jù)集進(jìn)行預(yù)測(cè)的實(shí)驗(yàn)結(jié)果。實(shí)驗(yàn)結(jié)果表明,本文提出的MD+FC算法在5個(gè)數(shù)據(jù)集的的預(yù)測(cè)結(jié)果中,均占據(jù)最高Fmeasure,剩下一個(gè)接近最好算法的Fmeasure,該算法的Fmeasure值也基本上比其他算法平均提高了9.13%。同時(shí),除了MD+FC算法,F(xiàn)CSVM算法和其他算法比較,有5組數(shù)據(jù)具有最高Fmeasure,剩下的一組也與最好結(jié)果的Fmeasure接近,這說(shuō)明本文對(duì)原有模糊支持向量機(jī)的改進(jìn)較為理想。對(duì)比MD+FC算法和FCSVM算法,結(jié)果顯示,MD+FC算法在5個(gè)數(shù)據(jù)集上的Fmeasure值均高于FCSVM算法,即使是低的那一個(gè)數(shù)據(jù)集,二者在數(shù)值上也是幾乎接近,因此可以說(shuō)明將MDSMOTE過(guò)采樣、錯(cuò)分樣本人工合成新樣本的方法、FCSVM三者相結(jié)合的算法,可以更好的提高預(yù)測(cè)模型的準(zhǔn)確率。綜上所述,本文在樣本重采樣和算法兩方面的改進(jìn)是有一定成效的。
圖3將FCSVM算法對(duì)各個(gè)產(chǎn)品的的分類效果和其他幾種算法進(jìn)行對(duì)比,通過(guò)折線圖更直觀的表現(xiàn)出來(lái),通過(guò)觀察可以發(fā)現(xiàn),F(xiàn)CSVM算法的Fmeasure折線在圖像的最上邊,說(shuō)明了改進(jìn)后的模糊支持向量機(jī)(FCSVM)在分類的精確度方面效果更好。
圖4將MDSVM算法與FCSVM算法對(duì)各產(chǎn)品的分類效果進(jìn)行對(duì)比,通過(guò)觀察發(fā)現(xiàn),MDSVM的折線幾乎在FCSVM上方,即使是稍低的那一點(diǎn),二者也是幾乎重合,由此可以得出,利用錯(cuò)分樣本修正MDSMOTE算法形成的新樣本后,樣本的重要程度得到明顯提升。
4 結(jié) 語(yǔ)
本文針對(duì)傳統(tǒng)支持向量機(jī)在不平衡數(shù)據(jù)集分類時(shí)所存在的缺陷,在樣本處理和算法兩方面進(jìn)行了改進(jìn)。在樣本重采樣方面,利用錯(cuò)分樣本修正,對(duì)MDSMOTE算法合成的新樣本進(jìn)行及時(shí)更新,得到了更具有價(jià)值的樣本集。在算法的改進(jìn)上,將DEC算法和FSVM相結(jié)合,把正負(fù)懲罰系數(shù)加入到傳統(tǒng)的模糊支持向量機(jī)中,同時(shí)引入正負(fù)模糊因子與之對(duì)應(yīng),構(gòu)成了新的算法模型,解決了超平面偏向少類樣本的問(wèn)題,彌補(bǔ)了傳統(tǒng)模糊支持向量機(jī)在不平衡數(shù)據(jù)集分類中的不足,提高了魯棒性。在正負(fù)懲罰系數(shù)的選擇上,用更客觀的熵值法來(lái)代替?zhèn)鹘y(tǒng)方法,避開(kāi)主觀因素的干擾,更具說(shuō)服力。實(shí)驗(yàn)結(jié)果顯示,在6組數(shù)據(jù)集上與其他幾種算法的比較,在絕大多數(shù)情況下MD+FCSVM算法具有最高的Fmeasure,證明了MD+FCSVM算法分類性能的優(yōu)越。把算法應(yīng)用到網(wǎng)購(gòu)評(píng)語(yǔ)分類中,讓人們從少數(shù)類(負(fù)面評(píng)語(yǔ))中獲取到更精準(zhǔn),更詳細(xì),更具有價(jià)值的信息。根據(jù)這些精確分類的負(fù)面評(píng)語(yǔ),生產(chǎn)商們可以總結(jié)出自身產(chǎn)品的不足,包括性能上,外觀上和價(jià)格上的,然后進(jìn)行改進(jìn);售前售后的服務(wù)人員會(huì)根據(jù)顧客的負(fù)面反映,對(duì)營(yíng)銷策略和方案做出相應(yīng)的調(diào)整,以期望在特定的“雙十一”和“雙十二”時(shí)期獲得更可觀的銷量;而潛在的購(gòu)買者通過(guò)分析負(fù)面評(píng)語(yǔ),充分了解到其他購(gòu)買者對(duì)產(chǎn)品詬病的地方,做出是否購(gòu)買的決定,從而做到了理智購(gòu)物,杜絕上當(dāng)受騙。在以后的工作中,會(huì)引入粒子群和遺傳算法等相關(guān)理論,對(duì)參數(shù)進(jìn)行優(yōu)化,進(jìn)一步提高算法分類的速度和效率。
參 考 文 獻(xiàn):
[1] 楊燕.大學(xué)生網(wǎng)購(gòu)現(xiàn)狀的調(diào)查分析[J]. 江蘇商論, 2017(12):189-190.
[2] 黃湘玲.淺析互聯(lián)網(wǎng)沖擊下的實(shí)體商鋪生存之路[J]. 江蘇商論, 2017(1):44-45.
[3] 張文東, 呂扇扇, 張興森.基于改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的非均衡數(shù)據(jù)分類算法[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用, 2017, 26(6):153-156.
[4] WANG Q, LUO Z, HUANG J, et al. A Novel Ensemble Method for Imbalanced Data Learning: Bagging of ExtrapolationSMOTE SVM[J].Computational Intelligence and Neuroscience,2017.
[5] 姚宇, 董本志, 陳廣勝.一種改進(jìn)的樸素貝葉斯不平衡數(shù)據(jù)集分類算法[J]. 黑龍江大學(xué)自然科學(xué)學(xué)報(bào), 2015, 32(5):681-686.
[6] HELAL M A, HAYDAR M S, MOSTAFA S A M. Algorithms Efficiency Measurement on Imbalanced Data Using Geometric Mean and Cross Validation[C]// International Workshop on Computational Intelligence. IEEE, 2017.
[7] MARTINA F, BECCUTI M, BALBO G, et al. Peculiar Genes Selection: A New Features Selection Method to Improve Classification Performances in Imbalanced Data Sets.[J]. Plos One, 2017, 12(8):528-533.
[8] 沈樂(lè)陽(yáng).生物信息學(xué)中的不平衡學(xué)習(xí)新方法研究[D]. 南京:南京理工大學(xué), 2017.
[9] 劉東啟,陳志堅(jiān).面向不平衡數(shù)據(jù)分類的復(fù)合SVM 算法研究[J].計(jì)算機(jī)應(yīng)用研究,2017(4):1023-1027.
[10]TANG Y, ZHANG Y Q, CHAWLA N V, et al. SVMs Modeling for Highly Imbalanced Classification[J]. IEEE Transactions on Systems Man & Cybernetics Part B Cybernetics A Publication of the IEEE Systems Man & Cybernetics Society, 2009, 39(1):281.
[11]TANG B, HE H. KernelADASYN: Kernel Based Adaptive Synthetic Data Generation for Imbalanced Learning[C]// Evolutionary Computation. IEEE, 2015:664-671.
[12]趙清華,張藝豪.改進(jìn)SMOTE 的非平衡數(shù)據(jù)集分類算法研究[J].計(jì)算機(jī)工程與應(yīng)用,2017(8).
[13]KUDOH T, MATSUMOTO Y. Chunking with Support Vector Machines[J]. Journal of Natural Language Processing, 2002, 9(107):3-21.
[14]VEROPOULOS K, CAMPBELL C, CRISTIANINI N. Controlling the Sensitivity of Support Vector Machines[C]// International Joint Conference on Ai, 1999:55-60.
[15]衣柏衡. 基于灰色關(guān)聯(lián)度與改進(jìn)SMOTE的支持向量機(jī)建模與應(yīng)用[D]. 南京:南京航空航天大學(xué), 2016.
[16]衣柏衡, 朱建軍, 李杰. 基于改進(jìn)SMOTE的小額貸款公司客戶信用風(fēng)險(xiǎn)非均衡SVM分類[J]. 中國(guó)管理科學(xué), 2016, 24(3):24-30.
[17]關(guān)玉萍, 宋立新. 基于支持向量機(jī)決策樹(shù)的駕駛員眼睛狀態(tài)檢測(cè)[J]. 哈爾濱理工大學(xué)學(xué)報(bào), 2010, 15(6):5-8.
[18]李巖, 杜永斌, 宋海豐,等. ECT系統(tǒng)輪換對(duì)稱SVM圖像重建改進(jìn)算法[J]. 哈爾濱理工大學(xué)學(xué)報(bào), 2015, 20(3):40-44.
[19]張桂香, 費(fèi)嵐, 杜喆,等. 非均衡數(shù)據(jù)的去噪模糊支持向量機(jī)新方法[J]. 計(jì)算機(jī)工程與應(yīng)用, 2008, 44(16):142-144.
[20]HANG J, ZHANG J, CHENG M. Application of Multiclass Fuzzy Support Vector Machine Classifier for Fault Diagnosis of Wind Turbine[M]. Elsevier NorthHolland, Inc, 2016.
[21]段薇,路向陽(yáng). 基于代價(jià)敏感支持向量機(jī)的銀行信用風(fēng)險(xiǎn)評(píng)估模型[J]. 江西師范科技大學(xué)學(xué)報(bào), 2015(12): 77-78.
[22]張玉, 莫寒, 張烈平. 基于模糊支持向量機(jī)的光伏發(fā)電量預(yù)測(cè)[J]. 熱力發(fā)電, 2017, 46(1):116-120.
(編輯:溫澤宇)