王俊艷
(太原科技大學(xué)復(fù)雜系統(tǒng)與智能計算實驗室,山西 太原030024)
隨著“大數(shù)據(jù)時代”的到來,由于它的信息量大、類型多、速度快時效高、價值密度低的特點,所以如何從大量數(shù)據(jù)提取出有用的信息并且被利用起來是一個比較重要的話題。分類是數(shù)據(jù)挖掘的一個重要技術(shù),比較有名的算法有Bayes判別法、支持向量機(jī)和K-近鄰法等。
傳統(tǒng)的群智能優(yōu)化算法大多模擬動物群體的社會行為,由于這些算法模擬的動物群體均只能較低,其個體難以進(jìn)行有效決策,所以算法容易陷入局部極值點。而社會情感優(yōu)化算法[1](SEOA)是通過模擬人類情感、情緒對行為的影響而構(gòu)造的一種群智能優(yōu)化算法,由于個體有情感因素的加入,能夠利用每個人的情緒作為控制策略,從而提高了算法的性能,改善了算法的多樣性和靈活性。它已被成功應(yīng)用于電力系統(tǒng)無功優(yōu)化[2]、團(tuán)簇結(jié)構(gòu)優(yōu)化[3]等實際問題中。本文將把社會情感算法應(yīng)用于分類問題,針對連續(xù)屬性建立模型。
在社會情感算法中,情感能力是人類智能的重要標(biāo)志,它影響著人的決策、學(xué)習(xí)和交流,并在人類的決策中起著決定性的作用。社會情感算法模擬了理智情況下的人在參與某種社會活動時,感知周圍環(huán)境對其影響,通過情緒的反饋采取相應(yīng)的決策,進(jìn)而指導(dǎo)下一步的活動。
在初始化階段,將所有個體的情緒指數(shù)都設(shè)為0,所有個體根據(jù)不同的情緒值進(jìn)行更新。
當(dāng)Ej(t+1)<m1時,
此時個體情緒低落,因此在自己歷史最好評價學(xué)習(xí)時,其行為更趨向于規(guī)避那些群體歷史最差評價的個體,因此設(shè)置c代表個體歷史最好社會評價值,
當(dāng)時,
此時個體情緒平和,能夠冷靜思考并且學(xué)習(xí)積極性提高,除了自我學(xué)習(xí)外還會向整個種群里歷史評價最好的個體學(xué)習(xí),因此其行為更傾向于學(xué)習(xí)而非規(guī)避即表示群體歷史最好社會評價值,
當(dāng)E(jt+1)>m2時,
此時個體情緒高昂,學(xué)習(xí)的渴望非常強(qiáng)烈,而忽略群體歷史較差評價的負(fù)面影響,只考慮外界環(huán)境的最好評價。
分類模型有很多種表示方法,如決策樹、神經(jīng)網(wǎng)絡(luò)、數(shù)學(xué)公式、規(guī)則和框架等。由于分類規(guī)則表示形式簡單,容易理解,因此宜采用規(guī)則來描述分類問題。分類模型按功能可以分類規(guī)則發(fā)現(xiàn)和規(guī)則集驗證兩部分。
首先介紹分類的總體結(jié)構(gòu)圖,主要包含三層嵌套算法,每一層算法用來完成某種特定的任務(wù)。分類總體結(jié)構(gòu)圖如圖1所示。
圖1 分類總體結(jié)構(gòu)圖
最內(nèi)層為分類規(guī)則探索算法Classification Rule Discovery Algorithm,在此采用社會情感優(yōu)化算法。其任務(wù)是尋找并返回比較好的規(guī)則,該規(guī)則對已給定的訓(xùn)練實例具有較好的分類。
Covering Algorithm在接收到訓(xùn)練集實例集后,激發(fā)分類規(guī)則探索算法Classification Rule Discovery Algorithm,除去已被分類規(guī)則正確分類的實例來簡化訓(xùn)練集,分類規(guī)則探索算法重復(fù)執(zhí)行,直到訓(xùn)練集中剩余的實例數(shù)達(dá)到預(yù)先設(shè)置值為止或者已經(jīng)全部正確分類,此時便生成了該類規(guī)則的規(guī)則集合。
最外層的算法是確認(rèn)算法Validation Algorithm,它的目的不僅在于確定由Covering Algorithm所返回的規(guī)則集的準(zhǔn)確度,計算其結(jié)果,如準(zhǔn)確度、耗時等。
用社會情感算法進(jìn)行提取分類規(guī)則時,由于每次都是針對某類進(jìn)行的,所以現(xiàn)以第i類規(guī)則提取的算法實現(xiàn)步驟為:
(1)設(shè)置最大迭代次數(shù),種群初始化且初始群體個體的情緒指數(shù);
(2)根據(jù)公式(1)(3)(5)計算個體的社會評價值;
(3)計算每個個體的社會評價值;
(4)對于每個個體,將其社會評價值與所經(jīng)歷過的最好社會評價值進(jìn)行比較,若較好,則將其作為當(dāng)前的最好評價;
(5)對每個個體,將其社會評價與群體所經(jīng)過的最好社會評價值進(jìn)行比較,若較好,則將其作為當(dāng)前的全局最好評價;
(6)是否達(dá)到最大的進(jìn)化代數(shù)或者數(shù)據(jù)全部正確分類,若是進(jìn)入(7),否則執(zhí)行(2);
(7)將生成的第i類規(guī)則放入規(guī)則集中,然后在數(shù)據(jù)集中刪除規(guī)則所覆蓋的實例,查看剩余的數(shù)據(jù)數(shù)是否小于設(shè)定的值,若是,則該類規(guī)則提取完成,否則執(zhí)行(1)。
適應(yīng)值函數(shù)采用文獻(xiàn)[4],即用準(zhǔn)確度和精確度兩者綜合來評價分類規(guī)則的好壞。
w1和w2是權(quán)重系數(shù),取值在0~1之間,且w1+w2=1.
本實驗中數(shù)據(jù)集Iris Plant采用的是UCI[5]機(jī)器學(xué)習(xí)數(shù)據(jù)庫提供的,采用的是隨機(jī)測試,隨機(jī)選擇9/10數(shù)據(jù)作為訓(xùn)練集來進(jìn)行分類規(guī)則的提取,其余的1/10用已經(jīng)得到的分類規(guī)則作為測試集,驗證分類的正確率。實驗共運(yùn)行十次,統(tǒng)計十次均值作為此分類的結(jié)果。在SEOA算法中,Gmax選取1000代,情緒指數(shù)w1、w2取值為0.49和0.6。下面給出用公式(6)為適應(yīng)值函數(shù)對Iris Plant提取得到的分類規(guī)則:
If 4.554 then class=Iris Setosa If 4.9 then class=Iris Versicolour If 4.9 then class=Iris Virginica 其分類正確率達(dá)到了91.4%。 本文把社會情感算法應(yīng)用于連續(xù)屬性的分類問題中,進(jìn)行分類規(guī)則的提取,取得了比較好的效果,由于社會情感算法在模擬情緒選擇方式時采用了現(xiàn)行遞減的方式,并不符合人的正常心理變化,因此可以對其改進(jìn)然后再進(jìn)行分類規(guī)則的提取,還可以嘗試在更多數(shù)據(jù)集上實現(xiàn)分類。 [1]崔志華.社會情感優(yōu)化算法[M].北京:電子工業(yè)出版社,2011.26-29. [2]魏戰(zhàn)紅.社會情感優(yōu)化算法及其在電力系統(tǒng)無功優(yōu)化中的應(yīng)用研究[D].太原:太原科技大學(xué),2011. [3]Yongjing Chen, Zhihua Cui, Jianchao Zeng.Structural Optimization of Lennard-Jones Clusters by Hybrid Social Cognitive Optimization Algorithm,Proceedings of 9th IEEE International Conference on Cognitive Informatics(ICCI 2010),July 7-9,Tsinghua University,beijing,China,pp.204-208. [4]王俊艷.應(yīng)用微粒群算法提取分類規(guī)則[D].太原:太原科技大學(xué),2008. [5]UCI repository of machine learning database [EB/OL].www.cgi.com/technology/m lc/db,2005-05.4 結(jié)束語