張冬松,馬 琪
(杭州電子科技大學(xué) 微電子CAD研究所,浙江 杭州 310018)
?
一種基于SVM的負(fù)載識別算法
張冬松,馬 琪
(杭州電子科技大學(xué) 微電子CAD研究所,浙江 杭州 310018)
負(fù)載識別技術(shù)能夠自動識別出電網(wǎng)中正在使用的負(fù)載類型。文中提出一種基于支持向量機(jī)SVM的負(fù)載類型識別算法,由于SVM只支持二分類,算法采用了One-Against-One組合多個SVM的方法來構(gòu)建多分類器進(jìn)行負(fù)載識別。通過提取特征量并進(jìn)行歸一化預(yù)處理構(gòu)建訓(xùn)練集來訓(xùn)練SVM多分類器,運(yùn)用遺傳算法對SVM參數(shù)進(jìn)行尋優(yōu),尋找識別準(zhǔn)確率最高的參數(shù)組合。測試結(jié)果表明,該SVM多分類器的識別效果較好。
支持向量機(jī);遺傳算法;負(fù)載識別
負(fù)載監(jiān)測技術(shù)如智能儀表可以為發(fā)電廠提供實(shí)時的能源消耗、最大需求、消耗模式和電能質(zhì)量,電力公司可利用這些信息進(jìn)行分析,提供一些激勵項(xiàng)目來鼓勵用戶使用能效更高的設(shè)備,以及幫助電力公司有效管理電力需求并建立未來的擴(kuò)張計(jì)劃。負(fù)載監(jiān)測技術(shù)中的識別電網(wǎng)中正在使用的負(fù)載類型,能夠幫助人們監(jiān)測管理電網(wǎng)中正在使用的負(fù)載,提高能源利用效率[1]。還可應(yīng)用于監(jiān)管電網(wǎng)違禁電器。
文獻(xiàn)[2~8]是基于負(fù)載穩(wěn)定狀態(tài)下的一些特征如有功功率、無功功率、電流諧波等進(jìn)行負(fù)載識別的。文獻(xiàn)[9]采用兩階段的模糊分類方法,第一階段采用基于Fuzzy c-Means聚類方法來初步確定參數(shù)和模糊的If-Then規(guī)則,第二階段采用EBPA算法(Error Back-Propagation Algorithm)和遺傳算法(GA)來尋找好的參數(shù)來提高負(fù)載識別的準(zhǔn)確率。文獻(xiàn)[10]通過ESD(Edge Symbol Detector)來檢測負(fù)載的接通斷開事件,并通過3個特征基于支持向量機(jī)進(jìn)行負(fù)載識別。文獻(xiàn)[11]提出使用隱馬爾可夫模型(Hidden Markov Model, HMM)和稀疏的維特比算法(Sparse Viterbi Algorithm)來進(jìn)行負(fù)載識別。
實(shí)驗(yàn)所用的電流數(shù)據(jù)是通過Stm32單片機(jī)采集的,即將傳感器接入負(fù)載所在支路,用Stm32單片機(jī)的A/D模塊采集傳感器信號。從負(fù)載的電流波形中提取了一些特征量,根據(jù)這些特征,采用基于支持向量機(jī)(Support Vector Machine,SVM)的多分類器對負(fù)載類型進(jìn)行識別。由于不同的參數(shù)會直接影響SVM分類性能,基于遺傳算法對SVM參數(shù)進(jìn)行尋優(yōu)。
在負(fù)載識別領(lǐng)域廣泛使用的一些特征有:過零率、電流峰值、電流絕對值均值、電流均方根值、電流方差、總諧波失真THD(Total Harmonic Distortion)、波峰因數(shù)(Crest Factors)、波形因素(Form Factors)。
單個周期電流過零的次數(shù)就是過零率,也就是單個周期采樣電流由正變負(fù)以及由負(fù)變正的次數(shù)??傊C波失真THD計(jì)算公式如下,式中Ih為電流第h次諧波成分
(1)
波峰因素是電流的峰值與電流的均方根值的比值;波形因素是電流的均方根值與電流基波分量的比值;除了那些廣泛使用的特征外,根據(jù)對各負(fù)載電流波形數(shù)據(jù)的分析,提取了3次、5次、7次、9次諧波在除基波以外的諧波成分中所占比例及電流波形斜率方差,3次諧波比例計(jì)算公式為
(2)
同理可得5次、7次、9次諧波在除基波以外的諧波成分中的比例。電流波形某點(diǎn)斜率近似認(rèn)為是相鄰兩個采樣點(diǎn)直線斜率,計(jì)算公式如式(3)所示,電流波形斜率方差計(jì)算公式如式(4)所示
(3)
(4)
圖1 鹵素?zé)艉褪謽屻@的電流波形圖
電流波形斜率方差能夠有效區(qū)分一些在其他特征很相似的負(fù)載,鹵素?zé)艉褪謽屻@的電流波形如圖1所示,隨機(jī)選取500個樣本的鹵素?zé)艉褪謽屻@的電流波形斜率方差對比如圖2所示。
基于SVM對負(fù)載進(jìn)行識別,為減小數(shù)據(jù)間的差異過大對SVM分類識別的影響,需要對提取的特征量進(jìn)行歸一化預(yù)處理,方法如下
xk=(xk-xmean)/xvar
(5)
其中,xmean為某一維特征量序列的均值;xvar為對應(yīng)維特征量的方差,對提取的12維負(fù)載特征數(shù)據(jù)都按式(5)處理。
圖2 鹵素?zé)艉褪謽屻@的電流波形斜率方差對比圖
支持向量機(jī)SVM最早于1995年由Cortes & Vapnik提出[12],是針對二分類的一種算法,其基本思想是尋找一個超平面,使得兩類數(shù)據(jù)距離這個超平面的間隔最大化。當(dāng)兩類數(shù)據(jù)是線性可分的時候,其分類函數(shù)為
f(x)=ωTx+b
(6)
其中,f(x)>0對應(yīng)一類數(shù)據(jù)點(diǎn);f(x)<0對應(yīng)另一類數(shù)據(jù)點(diǎn)。用于負(fù)載識別的特征量顯然是非線性數(shù)據(jù)集,需要引入核函數(shù)來將特征量映射到高維空間來解決非線性的問題[13],但無限增加維數(shù)會引發(fā)維數(shù)災(zāi)難,同時也會使得模型的泛化能力變差,因此引入松弛變量ξ={ξ1,ξ2,…,ξn},允許對待分類的樣本有一定程度的錯分。通過增加懲罰值和松弛變量,問題將轉(zhuǎn)化為解決以下優(yōu)化問題
subject toyi(ωTφ(xi)+b)≥1-ξi
ξi≥0,i=1,…,n
(7)
式中,φ(xi)將xi映射到一個高維空間;C是一個>0的參數(shù)。由于向量ω可能是維數(shù)很高的高維向量,通常轉(zhuǎn)化為求解下面的對偶問題
subjecttoyTα=0
0≤αi≤C,i=1,…,n
(8)
其中,e=[1,…,1]T是一個元素全為1的向量,Q是一個n行n列的矩陣,Qij=yiyjK(xi,xj),K(xi,xj)=φ(xi)φ(yj) 為核函數(shù)。當(dāng)式(8)解決以后,根據(jù)原來的對偶關(guān)系,最優(yōu)的ω滿足
(9)
決策函數(shù)
(10)
其中,x為待分類的測試向量;xi為支持向量;αi為權(quán)重系數(shù);b為一個常數(shù)。SVM可以通過一個訓(xùn)練數(shù)據(jù)集將不同類別之間的差異最大化,它作為一個廣泛使用的分類器可以有效區(qū)分不同負(fù)載特征之間的差別,達(dá)到負(fù)載識別的目的。
SVM是一個二類分類算法,而負(fù)載種類繁多,因此需要一個能夠分類多類的算法,可以通過采用基于One-Against-One的方法來組合多個SVM進(jìn)行負(fù)載識別。該方法首先對任意兩類負(fù)載之間均設(shè)計(jì)一個SVM二分類器,當(dāng)要對k個類別負(fù)載進(jìn)行識別(多分類)時就需要有k(k-1)/2個SVM。當(dāng)對一組未知負(fù)載類別的特征量進(jìn)行識別(多分類)時,對每個SVM二分類器的結(jié)果進(jìn)行投票,最后得票最多的負(fù)載類別即為該組未知特征量的負(fù)載類別。例如,如果需要識別A、B、C3類負(fù)載,分別對(A,B)、(A,C)和(B,C)設(shè)計(jì)一個SVM二分類器。對于一組待識別負(fù)載類別的特征量,投票形式如下:
(A,B)-SVM Classifier,如果是Awin,則A=A+1;否則B=B+1;
(A,C)- SVM Classifier,如果是Awin,則A=A+1;否則C=C+1;
(B,C)- SVM Classifier,如果是Bwin,則B=B+1;否則C=C+1;
最終識別(多分類)結(jié)果為max(A,B,C)。
首先從原始負(fù)載電流數(shù)據(jù)提取出相應(yīng)的特征量,構(gòu)成負(fù)載識別的原始特征數(shù)據(jù)集,對這個特征數(shù)據(jù)集進(jìn)行歸一化得到用于負(fù)載識別的特征數(shù)據(jù)集。將這個特征數(shù)據(jù)集的25%作為基于SVM多分類的負(fù)載分類器的訓(xùn)練集,來訓(xùn)練各個SVM二分類器。
SVM分類器需要先確定懲罰參數(shù)c和核參數(shù)gamma(g),gamma是徑向核函數(shù)[14]作為kernel后,函數(shù)自帶的一個參數(shù)為了提高SVM分類器的分類準(zhǔn)確率,采用遺傳算法(GA)結(jié)合K折交叉驗(yàn)證尋找較好的參數(shù)c和g組合。K折交叉驗(yàn)證即將訓(xùn)練集分為K個子集,分別讓每個子集作為測試集,其余作為訓(xùn)練集來訓(xùn)練SVM,這樣會得到K個模型,用這K個模型測試集分類準(zhǔn)確率的平均值來評估參數(shù)c和g的優(yōu)劣,K折交叉驗(yàn)證可以有效地避免過學(xué)習(xí)以及欠學(xué)習(xí)狀態(tài)的發(fā)生,一般K≥2,只有在原始數(shù)據(jù)集合數(shù)據(jù)量小時才嘗試取2,實(shí)驗(yàn)采用K=5。
整個負(fù)載分類器的訓(xùn)練過程如圖3所示,GA對SVM的參數(shù)尋優(yōu)即訓(xùn)練都是離線做的,用尋優(yōu)后的參數(shù)訓(xùn)練出來的SVM才是真正用于負(fù)載識別的。
遺傳算法(Genetic Algorithm,GA)是一種全局優(yōu)化的隨機(jī)搜索算法,算法包含選擇、交叉和變異3個操作。遺傳算法是從代表問題可能潛在解集的一個種群開始,按照適者生存和優(yōu)勝劣汰的原理,逐代演化產(chǎn)生越來越好的近似解[15]。遺傳算法第一步是對染色體進(jìn)行編碼,實(shí)驗(yàn)采用LIBSVM在Matlab R2014a平臺進(jìn)行,LIBSVM是臺灣大學(xué)林智仁教授等開發(fā)設(shè)計(jì)的一個SVM軟件包[16]。需要對懲罰參數(shù)c和核參數(shù)g進(jìn)行尋優(yōu),因此一條染色體代表一對c和g組合。對染色體采用二進(jìn)制編碼,染色體總長度為24位,每12位表示一個參數(shù),其中前8位表示整數(shù)部分,后4位表示小數(shù)部分,隨機(jī)產(chǎn)生20個染色體序列作為初始種群。
圖3 負(fù)載分類器訓(xùn)練過程
在進(jìn)化過程中,依據(jù)個體適應(yīng)度值來決定保存還是丟棄,適應(yīng)度值采用一條染色體對應(yīng)的c和g參數(shù)組合的交叉驗(yàn)證準(zhǔn)確率。當(dāng)有兩條染色體的交叉驗(yàn)證準(zhǔn)確率相同時,選擇c較小的c和g組合作為更好的參數(shù),因?yàn)檫^高的c會導(dǎo)致過學(xué)習(xí)狀態(tài)的發(fā)生,即訓(xùn)練集分類準(zhǔn)確率很高而測試集分類準(zhǔn)確率很低(分類器的泛化能力降低),所以在相同的交叉驗(yàn)證準(zhǔn)確率下選擇較小的c的染色體。重復(fù)進(jìn)行選擇交叉變異操作,直到達(dá)到最大進(jìn)化代數(shù)或最佳個體在一定代數(shù)內(nèi)不發(fā)生變化。
采用LIBSVM進(jìn)行負(fù)載分類器的訓(xùn)練和測試,實(shí)驗(yàn)采用了電磁爐、空調(diào)、日光燈等10種負(fù)載,訓(xùn)練集的樣本總數(shù)為9 856個,測試集樣本總數(shù)為30 583個,SVM采用徑向基(RBF)核函數(shù)。采用GA尋找較優(yōu)參數(shù)的適應(yīng)度進(jìn)化曲線如圖4所示,采用決策樹,BP網(wǎng)絡(luò)以及對參數(shù)c和g采用默認(rèn)參數(shù)以及用遺傳算法尋優(yōu)后的參數(shù)的負(fù)載識別(分類)準(zhǔn)確率結(jié)果對比如表1所示,同默認(rèn)參數(shù)相比,測試集遺傳參數(shù)尋優(yōu)后的負(fù)載識別整體準(zhǔn)確率達(dá)到了98.3%,提升了1.4%以上。對于負(fù)載識別,提出的方法比決策樹和BP神經(jīng)網(wǎng)絡(luò)的識別準(zhǔn)確率要高。
表1 采用決策樹,BP網(wǎng)絡(luò)及SVM的負(fù)載識別(分類)準(zhǔn)確率結(jié)果對比
圖4 利用GA尋優(yōu)的適應(yīng)度(準(zhǔn)確率)曲線
采用遺傳參數(shù)尋優(yōu)后參數(shù)的負(fù)載分類器進(jìn)行負(fù)載識別,得到各個負(fù)載識別的具體結(jié)果如表2所示,其中電磁爐有4個工作狀態(tài)(功率分別為1 200 W、1 400 W、1 800 W和2 100 W),調(diào)光燈采用了4個工作狀態(tài),(分別為60°、75°、90°和120°)??諝鈮嚎s機(jī)的識別準(zhǔn)確率最低,但也超過了94%,實(shí)驗(yàn)結(jié)果表明,基于SVM的多分類方法能夠較為準(zhǔn)確的識別出負(fù)載類型。
表2 基于SVM的負(fù)載識別實(shí)驗(yàn)結(jié)果
[1] Anonymous.BP statistical review of world energy[R].Houston:BP Global,2016.
[2] Umeh K C,A Mohamed.A rule-based expert system for harmonic load recognition[C].Kuala Lumpur:Power and Energy Conference,2004.
[3] Drenker S,Kader A.Nonintrusive monitoring of electric loads[J].IEEE Computer Applications in Power,1999,12(4):47-51.
[4] Mahmood Akbar,Zubair Ahmad Khan.Modified nonintrusive appliance load monitoring for nonlinear devices[C].Pakistan:Multitopic Conference,INMIC 2007,IEEE International,2007.
[5] Laughman C.Advanced nonintrusive monitoring of electric loads[J].IEEE Power and Energy Magazine,2003(6):56-63.
[6] Cole A,Albicki A.Nonintrusive identification of electrical loads in a three-phase environment based on harmonic content[J].IEEE Power and Energy Magazine,2000(1):24-29.
[7] Jie Mei,Dawei He,Ronald G,et al.Random forest based adaptive non-intrusive load identification[C].Beijing:International Joint Conference on Neural Networks(IJCNN), 2014.
[8] Lin Y H,Tsai M S.A novel feature extraction method for the development of nonintrusive load monitoring system based on BP-ANN[C].Tainan:International Symposium on Computer, Communication,Control and Automation (3CA),2010.
[9] Lin Y H, Tsai M S, Chen C S. Applications of fuzzy classification with fuzzy c-means clustering and optimization strategies for load identification in NILM systems[C]. Nanjing:IEEE International Conference on Fuzzy Systems, 2011.
[10] Jiang L, Luo S, Li J. Automatic power load event detection and appliance classification based on power harmonic features in nonintrusive appliance load monitoring[C].Shanghai:Industrial Electronics and Applications,IEEE, 2013.
[11] Makonin S, Popowich F, Baji I V, et al. Exploiting HMM sparsity to perform online real-time nonintrusive load monitoring[J].IEEE Transactions on Smart Grid, 2016, 7(6):1-11.
[12] Vapnik V N.Statistical learning theory[M].New York:Wiley,1998.
[13] Jiang L,Li J,Luo S,et al.Literature review of power disaggregation[C].Shanghai:IEEE International Conference on Modelling Identification and Control,2011.
[14] 張子瑜,陳進(jìn),史習(xí)智,等.徑向高斯核函數(shù)時頻分布及在故障診斷中的應(yīng)用[J].振動工程學(xué)報(bào),2001,14(1):53-59.
[15] 韓盈盈,章毅鵬,沈鴻平,等.基于遺傳算法和0-1規(guī)劃的規(guī)則圖形碎片拼接[J].電子科技,2015,28(5):136-139.
[16] Chang C C, Lin C J. LIBSVM: A library for support vector machines[J].ACM Transactions on Intelligent Systems & Technology,2011(2):1-27.
A Load Identification Algorithm Based on SVM
ZHANG Dongsong,MA Qi
(Microelectronics CAD Center,Hangzhou Dianzi University,Hangzhou 310018,China)
Load identification technique can identify the different types of loads in a power system. This paper presents a load identification algorithm based on support vector machine (SVM), which adopted the one-against-one method which combined multiple SVMs to build a multi-classifier to deal with load identification because SVM is only a binary-classifier. In this paper, the SVM-based multi-classifier was trained by extracted characteristic quantities normalized, during which the genetic algorithm (GA) was used to optimize the SVM parameters for the highest recognition accuracy. The experimental results show the validity of the SVM-based multi-classifier.
support vector machine;genetic algorithm;load identification
2016- 11- 01
張冬松(1991-),男,碩士研究生。研究方向:嵌入式系統(tǒng)設(shè)計(jì)。馬琪(1968-),男,博士,研究員。研究方向:嵌入式系統(tǒng)設(shè)計(jì)。
10.16180/j.cnki.issn1007-7820.2017.08.016
TP391.4
A
1007-7820(2017)08-059-04