佘 斌, 沈海斌
(浙江大學(xué) 超大規(guī)模集成電路設(shè)計(jì)研究所,浙江 杭州 310027)
?
一種基于Bagging-SVM的智能傳感器集成學(xué)習(xí)方法
佘斌, 沈海斌
(浙江大學(xué) 超大規(guī)模集成電路設(shè)計(jì)研究所,浙江 杭州 310027)
摘要:集成多個(gè)傳感器的智能片上系統(tǒng)(SoC)在物聯(lián)網(wǎng)得到了廣泛的應(yīng)用。在融合多個(gè)傳感器數(shù)據(jù)的分類算法方面,傳統(tǒng)的支持向量機(jī)(SVM)單分類器不能直接對(duì)傳感器數(shù)據(jù)流進(jìn)行小樣本增量學(xué)習(xí)。針對(duì)上述問題,提出一種基于Bagging-SVM的集成增量算法,該算法通過在增量數(shù)據(jù)中采用Bootstrap方式抽取訓(xùn)練集,構(gòu)造能夠反映新信息變化的集成分類器,然后將新老分類器集成,實(shí)現(xiàn)集成增量學(xué)習(xí)。實(shí)驗(yàn)結(jié)果表明:該算法相比SVM單分類器能夠有效降低分類誤差,提高分類準(zhǔn)確率,且具有較好的泛化能力,可以滿足當(dāng)下智能傳感器系統(tǒng)基于小樣本數(shù)據(jù)流的在線學(xué)習(xí)需求。
關(guān)鍵詞:智能傳感器; 集成學(xué)習(xí); 增量學(xué)習(xí); 支持向量機(jī); Bagging算法
0引言
目前,以傳感器技術(shù)與機(jī)器學(xué)習(xí)為基礎(chǔ)發(fā)展出來的智能硬件已經(jīng)廣泛應(yīng)用到人們生活的方方面面,如智能手環(huán)、智能家居、智能醫(yī)療設(shè)備等。尤其是隨著集成電路工藝的不斷進(jìn)步,集成多個(gè)傳感器的片上系統(tǒng)(system on chip,SoC)已成為一種發(fā)展趨勢,因此,有必要對(duì)以傳感器技術(shù)與機(jī)器學(xué)習(xí)結(jié)合為基礎(chǔ)的智能傳感器[1]SoC系統(tǒng)進(jìn)行研究。
支持向量機(jī)(support vector machine,SVM)[2]技術(shù)是常見的多傳感器數(shù)據(jù)融合算法,該分類算法能夠利用小樣本數(shù)據(jù)進(jìn)行學(xué)習(xí)分類,具有較好的泛化性能。但是,單個(gè)SVM分類器無法對(duì)傳感器數(shù)據(jù)流進(jìn)行增量學(xué)習(xí),因此,需要利用新樣本對(duì)已有的單分類器的參數(shù)與內(nèi)部結(jié)構(gòu)進(jìn)行調(diào)整,使分類器能夠適應(yīng)新樣本。但是,在內(nèi)部結(jié)構(gòu)調(diào)整時(shí),機(jī)上需要人為設(shè)定一些參數(shù),并且這些參數(shù)對(duì)算法的影響很大,容易出現(xiàn)過適應(yīng)的問題。而集成式增量學(xué)習(xí)[3]則能夠有效避免上述缺陷,具有預(yù)測準(zhǔn)確度高、對(duì)訓(xùn)練數(shù)據(jù)的分布與次序不敏感、泛化性能好等優(yōu)點(diǎn)。
目前,關(guān)于機(jī)器學(xué)習(xí)的文獻(xiàn)很多,針對(duì)智能傳感器SoC的研究文獻(xiàn)并不多。適應(yīng)于智能傳感器SoC的集成式增量學(xué)習(xí),當(dāng)前最成熟的兩種方法分別為基于Boosting技術(shù)與基于Bagging技術(shù)而發(fā)展出來的一系列算法[4]。文獻(xiàn)[5]則是采用了基于Boosting技術(shù)而發(fā)展出來的Learn++算法對(duì)于智能傳感器的數(shù)據(jù)融合進(jìn)行了研究。該算法各輪基分類器訓(xùn)練數(shù)據(jù)集與前面各輪的學(xué)習(xí)結(jié)果相關(guān),因此,只能串行運(yùn)算,需要耗費(fèi)大量的時(shí)間,只能滿足實(shí)時(shí)性要求較低的智能傳感器系統(tǒng)需求。而基于Bagging的集成算法的各輪訓(xùn)練集之間相互獨(dú)立,能并行產(chǎn)生訓(xùn)練數(shù)據(jù)集,適合并行計(jì)算,這點(diǎn)在多核智能傳感器SoC中的速度優(yōu)勢將會(huì)更加明顯。因此,本文提出了一種適應(yīng)于智能傳感器SoC小樣本數(shù)據(jù)流增量學(xué)習(xí)的Bagging-SVM集成式增量學(xué)習(xí)算法。
1智能傳感器SoC模型
集MCU、加速度計(jì)、陀螺儀、磁力計(jì)、溫濕度傳感器等各種傳感器于一身的SoC已成為一種發(fā)展趨勢。其示意圖如圖1所示。
圖1 多傳感器SoC示意圖Fig 1 Diagram of multi-sensor SoC
傳感器在SoC中會(huì)產(chǎn)生大量數(shù)據(jù),并且會(huì)隨著時(shí)間的積累,數(shù)據(jù)量會(huì)越來越大。為了有效地管理和利用這些數(shù)據(jù),需要對(duì)它們進(jìn)行學(xué)習(xí)、分類。在智能傳感器系統(tǒng)中,傳感器的數(shù)據(jù)流是隨時(shí)間產(chǎn)生的,在訓(xùn)練時(shí)不可能一次將所有的數(shù)據(jù)準(zhǔn)備好,因此,只能逐步將所獲取的樣本中包含的信息納入學(xué)習(xí)系統(tǒng)中,也就是進(jìn)行小樣本增量學(xué)習(xí)。
對(duì)于集成多個(gè)傳感器的SoC,由于片內(nèi)存儲(chǔ)和帶寬資源所限,對(duì)訓(xùn)練和決策算法有如下要求:1)算法計(jì)算規(guī)模適中,收斂速度快;2)預(yù)測準(zhǔn)確度高;3)算法穩(wěn)定性和泛化能力強(qiáng);4)傳感器時(shí)時(shí)刻刻都在產(chǎn)生數(shù)據(jù),能夠在已有數(shù)據(jù)的基礎(chǔ)上學(xué)習(xí)新的數(shù)據(jù),亦即是能夠進(jìn)行增量學(xué)習(xí)?;贐agging-SVM的集成式增量學(xué)習(xí)算法恰好滿足上述要求,可以適應(yīng)智能傳感器SoC的小樣本增量學(xué)習(xí)。
2基于SVM的集成式增量學(xué)習(xí)算法
2.1SVM 理論
SVM是建立在統(tǒng)計(jì)學(xué)習(xí)理論的VC維理論和結(jié)構(gòu)風(fēng)險(xiǎn)最小化原理基礎(chǔ)上的,能較好解決小樣本、非線性、高維數(shù)和局部極小點(diǎn)等實(shí)際問題,具有較高泛化性能的學(xué)習(xí)算法。
SVM可以描述為如下有約束的二次優(yōu)化問題
其對(duì)偶問題為
雖然SVM具有上述優(yōu)點(diǎn),但是在傳感器網(wǎng)絡(luò)中由于訓(xùn)練樣本是隨著時(shí)間的增加而逐步增加的,運(yùn)用SVM算法來訓(xùn)練樣本,其在保留原有的學(xué)習(xí)基礎(chǔ)上無法再繼續(xù)學(xué)習(xí)新類,這就導(dǎo)致了該算法在實(shí)時(shí)系統(tǒng)中的應(yīng)用受到限制,而集成式增量學(xué)習(xí)能夠有效避免上述缺陷。
2.2構(gòu)造Bagging-SVM增量學(xué)習(xí)算法
集成學(xué)習(xí)(ensember learning)[6]是指利用數(shù)據(jù)集獲得多個(gè)訓(xùn)練子集,通過對(duì)每個(gè)數(shù)據(jù)子集訓(xùn)練獲得基分類器,然后將這些基分類器按照某種方式組合起來產(chǎn)生一個(gè)新的集成分類器。在對(duì)樣本集進(jìn)行訓(xùn)練時(shí),集成學(xué)習(xí)通過綜合各個(gè)基分類器的預(yù)測效果得到最終的決策結(jié)果。研究表明[7]:集成學(xué)習(xí)比傳統(tǒng)的單分類器方法在提高學(xué)習(xí)系統(tǒng)的分類預(yù)測性能上更為有效。
Bagging算法是通過對(duì)訓(xùn)練數(shù)據(jù)集使用Bootstrap[8]放回式隨機(jī)重采樣來抽取訓(xùn)練樣本集,利用這些樣本集訓(xùn)練基分類器,從而創(chuàng)建集成分類器。下面給出構(gòu)建Bagging-SVM增量算法的過程:
1)對(duì)于每個(gè)新增的樣本集Sinc,首先通過Bootstrap重采樣獲得一個(gè)新的訓(xùn)練樣本集Sk,然后利用SVM算法對(duì)Sk進(jìn)行學(xué)習(xí),獲得基分類器Hk。
2)采用Bagging算法產(chǎn)生規(guī)模為K的一個(gè)基分類器集合Hinc,然后將Hinc與原來已有的基分類器集合Ho合并,得到新的集成分類器Hnew,即,Hnew=Ho∪Hinc。
集成式增量學(xué)習(xí)算法步驟:
輸入:Sinc:增量數(shù)據(jù)樣本集;
K:設(shè)定的增量集成分類器大小;
Ho:每一次增量訓(xùn)練前的目標(biāo)集成分類器;
輸出:Hnew:每一次增量訓(xùn)練后新的目標(biāo)集成分類器;
基分類器訓(xùn)練算法為SVM。
訓(xùn)練階段:
步驟 1:初始化,設(shè)定增量集成分類器為空集,即Hinc=Null。
Fork=1 toKdo
1)通過Bootstrap重采樣,從Sinc中得到訓(xùn)練樣本集Sk;
2)對(duì)數(shù)據(jù)集Sk進(jìn)行SVM訓(xùn)練,獲得基分類器Hk;
3)將新得到的基分類器與原來的基分器合并,即Hinc=Hinc∪{Hk}。
步驟3:將增量數(shù)據(jù)集訓(xùn)練得到的分類器集合與增量運(yùn)算前的分類器集合合并得到新的分類器集合,Hnew=Ho∪Hinc,輸出Hnew。
對(duì)于未知樣本使用當(dāng)前分類器進(jìn)行分類時(shí),在Hnew中的每一個(gè)基分類器都會(huì)得到一個(gè)分類結(jié)果,然后讓所有的分類器進(jìn)行投票,得票數(shù)最多的類別即為未知樣本的分類結(jié)果。
3實(shí)驗(yàn)與分析
實(shí)驗(yàn)分別從集成分類器與單分類器的性能對(duì)比,集成增量學(xué)習(xí)與集成非增量學(xué)習(xí)的性能對(duì)比,集成學(xué)習(xí)的基分類器規(guī)模對(duì)正確率的影響3個(gè)方面來做研究。實(shí)驗(yàn)數(shù)據(jù)來源于UCI標(biāo)準(zhǔn)機(jī)器學(xué)習(xí)庫中的4個(gè)數(shù)據(jù)樣本集,實(shí)驗(yàn)平臺(tái)配置為:酷睿i3(3.30 GHz),2 GB內(nèi)存,Matlab2013b。
3.1實(shí)驗(yàn)數(shù)據(jù)設(shè)置
每個(gè)樣本集隨機(jī)取出一部分作為測試集,剩余的部分在沒有進(jìn)行增量學(xué)習(xí)的情況下整體用來作為訓(xùn)練集,若是進(jìn)行增量學(xué)習(xí),則將其均分成若干份作為增量集。
樣本集設(shè)置如下:
1)Blance-scale數(shù)據(jù)集有625個(gè)樣本,隨機(jī)選取145個(gè)作為測試集,剩余480個(gè)作為訓(xùn)練集。
2)Ionosphere數(shù)據(jù)集有351個(gè)樣本,隨機(jī)選取81個(gè)作為測試集,剩余270個(gè)作為訓(xùn)練集。
3)Iris數(shù)據(jù)集有150個(gè)樣本,隨機(jī)選取30個(gè)作為測試集,剩余120個(gè)作為訓(xùn)練集。
4)Breast數(shù)據(jù)集有683個(gè)樣本,隨機(jī)選取173個(gè)作為測試集,剩余510個(gè)作為訓(xùn)練集。
以上4個(gè)數(shù)據(jù)集,在增量過程中,則將訓(xùn)練集隨機(jī)均分成三份。每次取其中一份用來作為增量訓(xùn)練集,產(chǎn)生集成分類器,測試性能,到此,一輪增量學(xué)習(xí)結(jié)束。接著開始下一輪增量學(xué)習(xí),直至所有的增量集訓(xùn)練完成。
3.2實(shí)驗(yàn)結(jié)果分析
算法1采用單個(gè)SVM分類器對(duì)所有樣本進(jìn)行訓(xùn)練,記為SVM;算法2 則是利用Bagging算法對(duì)SVM基分類器進(jìn)行集成(分類器數(shù)目為20個(gè)),記為BSVM,其正確率如表1所示;表2則是對(duì)4個(gè)數(shù)據(jù)集采用增量算法(Bootstrap 采樣為10次,即數(shù)據(jù)子集的基分類器為10個(gè)),分3批次學(xué)習(xí),分別計(jì)算其正確率,其增量學(xué)習(xí)過程分別記為BSVM(1),BSVM(2),BSVM(3)。為了消除隨機(jī)性,統(tǒng)計(jì)數(shù)據(jù)采用上述過程10次的平均值。
表1 2種算法性能對(duì)比
表2 增量學(xué)習(xí)分類精度
從表1中可以看出:相比于單個(gè)SVM分類器,Bagging-SVM集成算法的分類精度有了明顯的提高,有效地證明了采用Bagging算法可以通過對(duì)樣本集的獨(dú)立采樣,使得基分類器的差異性得到提高,整個(gè)集成分類器具有更好的泛化能力,能夠改善分類性能;表2是每個(gè)數(shù)據(jù)集經(jīng)過3次增量學(xué)習(xí)的結(jié)果,可以發(fā)現(xiàn),一方面其分類精度總體上隨著增量學(xué)習(xí)次數(shù)的增加略有提高,這是因?yàn)殡S著增量次數(shù)的增加,基分類器的泛化性能隨著個(gè)數(shù)增加而得到提高,算法性能得以改善。另一方面也證明該算法具備增量學(xué)習(xí)能力,可以有效應(yīng)對(duì)智能傳感器數(shù)據(jù)流樣本的學(xué)習(xí)與訓(xùn)練。
將Ionosphere數(shù)據(jù)集應(yīng)用于集成學(xué)習(xí)時(shí)分類器個(gè)數(shù)對(duì)分類精度的影響如圖2所示,可以發(fā)現(xiàn)在分類器數(shù)目較少時(shí),精度隨著分類器增多上升明顯,后面變化趨勢則很緩慢,略有上升。那么是否基分類器數(shù)量越多預(yù)測準(zhǔn)確度越高,文獻(xiàn)[10]指出當(dāng)各個(gè)基分類器差異性越大,集成的效果越好,基分類器的數(shù)目應(yīng)當(dāng)隨著類別的數(shù)目的增加而增加。實(shí)際上,對(duì)于智能傳感器SoC,由于片內(nèi)總線帶寬和存儲(chǔ)資源有限,因此,控制集成學(xué)習(xí)分類器的規(guī)模就顯得很有必要,必須針對(duì)應(yīng)用場合的數(shù)據(jù)集特點(diǎn)選取恰當(dāng)?shù)姆诸惼鲾?shù)目。
4結(jié)論
本文針對(duì)智能傳感器SoC在智能學(xué)習(xí)方面,提出了一種基于Bagging-SVM的集成算法,將SVM算法作為基分類器,能夠針對(duì)小樣本數(shù)據(jù)進(jìn)行分類;而Bagging算法的獨(dú)立重采樣機(jī)制,對(duì)于增量樣本所包含的新特征能夠在增量集成分類器中將其融入進(jìn)來,因此,可以持續(xù)學(xué)習(xí)并保證針對(duì)逐漸變化的樣本集保持較高的分類正確率,適應(yīng)智能傳感器數(shù)據(jù)流的增量學(xué)習(xí)。
圖2 分類器個(gè)數(shù)對(duì)分類精度的影響Fig 2 Influence of number of classifiers on classification precision
隨著增量學(xué)習(xí)的進(jìn)行,集成分類器的規(guī)模將持續(xù)增大,對(duì)于資源有限的智能傳感器SoC,這將是不可接受的。因此,必須針對(duì)基分類器采取淘汰機(jī)制,讓其規(guī)模在訓(xùn)練前后保持在適當(dāng)大小,而不是任其規(guī)模隨時(shí)間的增加而不斷變大。這涉及到選擇性集成的研究[10],將是今后研究方向。
參考文獻(xiàn):
[1]何金田,劉曉旻.智能傳感器原理,設(shè)計(jì)與應(yīng)用[M].北京:電子工業(yè)出版社,2012.
[2]丁世飛,齊丙娟,譚紅艷.支持向量機(jī)理論與算法研究綜述[J].北京:電子科技大學(xué)學(xué)報(bào),2011,40(1):2-10.
[3]Oza N C,Russell S.Online bagging and boosting[C]∥IEEE In-ternational Conference on Systems,Man & Cybernetics,IEEE,2005:2340-2345.
[4]Bauer E,Kohavi R.An empirical comparison of voting classification algorithms:Bagging,boosting,and variants[J].Machine Learning,1999,36(1/2):105-139.
[5]卞桂龍,丁毅,沈海斌.適用于智能傳感器系統(tǒng)的 SVM 集成研究[J].傳感器與微系統(tǒng),2014,33(8):44-47.
[6]Dietterich T G.Ensemble learning[J].The Handbook of Brain Theory and Neural Networks,2002,2:110-125.
[7]程麗麗.支持向量機(jī)集成學(xué)習(xí)算法研究[D].哈爾濱:哈爾濱工程大學(xué),2009.
[8]Bühlmann P.Handbook of Computational Statistics[M].Berlin Heidelberg:Springer,2012:985-1022.
[9]Wang S,Yao X.Relationships between diversity of classification ensembles and single-class performance measures[J].IEEE Transactions on Knowledge & Data Engineering,2013,25(1):206-219.
[10] 張春霞,張講社.選擇性集成學(xué)習(xí)算法綜述[J].計(jì)算機(jī)學(xué)報(bào),2011,34(8):1399-1410.
An ensemble learning method based on Bagging-SVM for intelligent sensor
SHE Bin, SHEN Hai-bin
(Institute of VLSI Design,Zhejiang University,Hangzhou 310027,China)
Abstract:Intelligent system on chip(SoC) which integrates multiple sensors has been widely applied in Internet of Things.However,considering data fusion of multiple sensors,traditional SVM single-classifier can’t directly support small sample incremental learning for sensor data stream.Aiming at above problem,put forward a kind of ensemble incremental algorithm based on Bagging-SVM,the algorithm supports incremental learning by combining original ensemble classifiers with the new ones which can reflect new information change of incremental data sets,while the new classifiers trained by the data sets which is extracted from incremental data sets by Bootstrap means.Experimental results show that the algorithm compared with the single-classifier can effectively decrease classification error,improve classification accuracy and has good generalization ability,which can smoothly meet requirements of intelligent sensor system for online learning based on small sample data flow.
Key words:intelligent sensor; ensemble learning; incremental learning; support vector machine(SVM);Bagging algorithm
DOI:10.13873/J.1000—9787(2016)02—0026—03
收稿日期:2015—05—20
中圖分類號(hào):TP 18; TP 212
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1000—9787(2016)02—0026—03
作者簡介:
佘斌(1990-),男,湖南邵陽人,碩士研究生,研究方向?yàn)橹悄馨踩c芯片設(shè)計(jì)。