趙敏華蘇蕤徐立先
1西安建筑科技大學信息與控制工程學院
2山東省科學院自動化研究所
基于PSO-SVM的PMV指標預測系統研究
趙敏華1蘇蕤1徐立先2
1西安建筑科技大學信息與控制工程學院
2山東省科學院自動化研究所
隨著空調應用的日益廣泛,室內環境的熱舒適性和空氣品質越來越受到人們的關注。基于此本文研究了一種自適應粒子群支持向量機分類模型對室內熱舒適度進行評價的方法,文中給出了模型的詳細設計步驟和實現代碼,并采用“智能建筑環境技術平臺”的熱舒適指標數據庫中的夏季PMV數據集對模型進行仿真研究,且與基于網格搜索-SVM模型作了深入對比,實驗結果表明PSO-SVM模型應用到室內環境舒適度評價具有一定優勢。
熱舒適指標 粒子群算法 支持向量機
隨著經濟技術的發展和生活水平的不斷提高,空調在工作、生活中越來越必不可少。研究表明:室內良好舒適的環境可以使人精神愉快、提高工作效率,適宜的熱環境可提高生產率18%[1]。
與以往圍繞“溫度”這一單一影響人體舒適度指標的研究不同,本文選用了一個在環境舒適度研究領域內獲得越來越高認可度和應用度的指標[2~5]——PMV,該指標包含空氣溫度、風速、穿衣指數等7個參數。與過去單純以溫度的高低來衡量環境是否舒適的方法相比,運用PMV指標進行評價的方法更加的全面和科學。
當然,在尋找(研究)這個問題解決方案的過程中,對環境的舒適度做出準確的預測首先就是一個非常重要的環節。本文以此為背景,建立了一種基于PSO-SVM的熱舒適指標預測模型,并通過對實例的Matlab仿真驗證了該模型的可行性。
支持向量機算法(Support Vector Machine,SVM)是由Vapnik等提出的一種以統計學習理論為基礎的新型機器學習方法。它以結構風險最小為原則,本質上是求解凸二次規劃問題,其在解決小樣本、非線性和高維模式識別問題中有較大優勢。
SVM分類法基本思想是在樣本空間中構造最優分類超平面,使得超平面與不同類別的樣本集之間的距離最大,從而達到最大的泛化能力。支持向量機算法的實現與內積核函數有關[6]。
為了選擇合適的核函數并確定最優的核函數參數,引入了粒子群優化算法 (Particle Swarm Optimization,PSO),該算法模擬鳥集群飛行覓食的行為,鳥之間通過集體地協作使群體達到最優目的,是一種基于Swarm Intelligence的優化方法。PSO算法中需要調整的參數較少,因而容易實現[7]。
本文的數據來自我校“智能建筑環境技術平臺”的熱舒適指標數據庫中的夏季PMV數據集,該數據集包含有三種不同熱舒適度的數據共199組樣本數據,每個樣本數據均由人體代謝率,人體對外做功,所著服裝熱阻、空氣溫度、空氣流速、空氣相對濕度、平均輻射溫度共7個參數組成,也就是說每一組樣本數據都是7維的。199組樣本根據PMV值分為3類:PMV=1的26組、PMV=2的137組、PMV=3的36組,在此設定模型輸出1,2,3分別表示三種熱舒適度下的環境。從三類環境中共取99組樣本作為訓練樣本,剩余的 100組作為測試樣本。采用 Matlab中的mapminmax函數將輸入數據歸一化到[-1,1]區間,這樣就完成了數據的預處理工作。

表1 訓練樣本輸入數據

表2 訓練樣本輸出數據
3.1 SVM數學模型的構建
SVM方法完成分類主要分為以下3個步驟:①選定非線性映射K(x),這里是指PMV的計算公式;②將輸入向量X通過K(x)映射到一個高維的特征空間Y中,這里輸入向量X=[x1,x2,……,x199](xi∈R7),高維特征空間Y=[y1,y2,……,y199](yi=1、2或3);③在高維特征空間Y中尋找最優分類平面。
根據以上的理論,進行數學模型地構建。首先,設最優分類平面為ω·x+b=0,此時訓練集應該滿足yi(ω· xi+b)-1≥0,此時分類問題就可以轉化為二次回歸問題min(0.5||ω||2+c(Σδi)),其中yi(ω·xi+b)≥1+δi,δi≥0,c表示懲罰因子。隨后通過引入拉格朗日因子將二次回歸最小化問題轉化為對偶規劃問題max(ΣQi-0.5ΣQiQ·jxi),其中Qi和Qj表示拉格朗日因子。最后SVM的非線性判別函數就可以表示為f(x)=sgn(ΣQiyiK(xi,xj)+b)[8]。
以上理論是支持向量機進行模式分類的基本原理,實際上對其在Matlab環境下進行仿真,實現模型構建和結果分類,僅需要兩條調用語句,即svmtrain和svmpredict。
3.2 PSO優化SVM參數的算法設計
圖1為PSO優化SVM參數算法的基本流程。

圖1 PSO優化SVM參數算法的基本流程
Step 1:設定相關參數
①種群規模sizepop:由于在本文中需要優化的參數只有兩個,即懲罰因子c和核函數的參數g,因此群體中均是由這兩個參數組合而成的二維粒子(c,g),因此取sizepop=30并且設定搜索空間的維度是2。
②慣性權重ω:它是用來平衡全局搜索和局部搜索效果的參數,較大的ω有利于群體在更大的范圍內進行搜索,而較小的ω能夠保證群體收斂到最優位置,本文將ω設定為0.8。
③學習因子c1和c2:它們用于調整單個粒子在群體尋優過程中,自身經驗和社會經驗在其運動中的作用,表示每個粒子向pbest和gbest位置的隨機加速項的權重。如果c1=0,則代表粒子自身沒有認知能力。如果c2=0,代表粒子沒有進行群體信息共享,一般c1和c2的取值范圍為[0,4][9],本文設定c1=c2=2,交叉驗證的參數k=3。
Step 2:初始化種群和速度
①在確定PSO的相關參數和搜索維度后,在Matlab中進行種群和速度初始化的語句如下:
pop(i,1)=(popcmax-popcmin)*rand+popcmin;
pop(i,2)=(popgmax-popgmin)*rand+popgmin;
V(i,1)=Vcmax*rands(1);
V(i,2)=Vgmax*rands(1);
其中,popcmax=102,popcmin=10-1,popgmax=103,popgmin=10-2。
②計算初始適應度:
cmd=‘[-v’,num2str(v)‘,-c’,num2str(pop(i,1))‘,-g’, num2str(pop(i,2))];
fitness(i)=svmtrain(train_pmv_labels,train_pmv, cmd);
fitness(i)=-fitness(i);
Step 3:迭代尋優;
①極值更新[10]:比較粒子個體的適應度值fitness (j)和其經歷過的最好位置的適應度值local_fitness(j),若前者小于后者,則將后者的值賦給前者。再比較新的粒子個體適應度值和所有群體所經歷的最好位置的適應度值,此時若前者小于后者,則將后者的值賦給前者。Matlab中的部分代碼如下:
個體最優更新:
if fitness(j)<local_fitness(j)
local_x(j,:)=pop(j,:);
local_fitness(j)=fitness(j);
群體最優更新:
if fitness(j)<global_fitness
global_x=pop(j,:);
global_fitness=fitness(j);
②速度更新:以①生成的兩個極值為基礎,采用Matlab編寫的部分程序如下:
V(j,:)=wV*V(j,:)+c1*rand*(local_x(j,:)-pop(j,:)) +c2*rand*(global_x-pop(j,:));
Step 4:自適應變異;
考慮到種群更新過程中粒子變異的幅度對全局搜索能力和局部搜索能力可能會產生影響,因此本文引入了自適應變異策略,并取粒子變異率為0.5,對所有的粒子分配一個隨機數rand,采用Matlab編寫的部分程序如下:
if rand>0.5
k=ceil(2*rand);
if k==1
pop(j,k)=(20-1)*rand+1;
if k==2
pop(j,k)=(popgmax-popgmin)*rand+popgmin;
Step 5:迭代終止判斷;
判斷程序的運行是否達到了設定的最大迭代次數maxgen(maxgen=200)。如果達到了,則輸出最優的粒子,并將得到的最好的c和g值賦給支持向量機,進入接下來的預測分類環節;如果沒有達到,則返回Step3,繼續進行下一輪尋優過程,直到滿足終止條件。
4.1 SVM模型對樣本的預測
由圖2可以看出,采用SVM模型對100組測試樣本進行分類的結果準確率很低,只有69%,遠不能滿足課題對于樣本準確分類的需求。這說明引入優化算法,為SVM模型選擇合適的c和g非常有必要。

圖2 基于SVM模型的識別結果
事實上,如何選擇適合模型的優化算法也是一個值得研究的課題,下文中將采用兩種比較典型的算法來優化已有模型,并將優化結果進行比對,找到最適合的優化算法。
4.2 基于PSO-SVM模型對樣本的預測
考慮到PSO算法中的rand對實驗結果的影響,也為了使仿真結果更具說服力,將該模型運行了10次,發現各次運行得到的c和g的值都是一樣的,并且最終樣本預測的準確率都可以達到100%。下面以其中一次的運行結果進行說明。PSO算法尋優過程中的適應度變換曲線如圖3所示,PSO算法尋找最優c和g的過程如圖4所示,基于PSO-SVM模型的分類結果如圖5所示。
圖3說明PSO算法可以較快地找到最優解,即bestc和bestg;圖4中由于尋優曲線很密集,沒辦法直觀地看到bestc和bestg的位置,但是這在Matlab的command窗口中是有結果輸出的:best=1,best= 0.0625,bestacc=100。這里的bestacc=100指的是K-折交叉驗證過程中的最高精度是100%。從圖5可以看出,PSO-SVM模型對100組測試樣本進行分類,準確率可達100%。

圖3 PSO算法適應度變換曲線

圖4 PSO算法優化bestc.bestg的軌跡

圖5 基于PSO-SVM模型的識別結果

圖6 網格搜索法優化bestc,bestg的軌跡

圖7 基于網格搜索-SVM模型的識別結果
4.3 基于網格搜索-SVM模型對樣本的預測
為了進一步說明PSO-SVM模型的優越性,同時證明PSO算法的引入對于SVM模型參數選取的有利影響,將網格搜索法也引入到了SVM模型的參數選取中,同樣將基于網格搜索-SVM模型運行10次,發現每次得到的bestc和bestg都有一定的差異,而樣本的分類結果準確率在96.73%~98.00%之間,網格搜索法尋找bestc和bestg的過程如圖6所示(bestc=0.5,bestg=2.225,bestacc=99),基于網格搜索-SVM模型運行10次中最優1次的分類結果如圖7所示。
4.4 PSO-SVM模型和網格搜索-SVM模型的對比
表3給出了兩種模型10次運行的平均時間和預測準確率,從表中可以看出PSO-SVM模型的平均預測準確率高于網格搜索法-SVM模型2.635%,但是前者運行時間卻比后者長9.4802s,但是考慮到當前計算機的智能化程度和運算速度,這種級別的時間差幾乎不會給計算機的運行帶了額外的負擔,因而引入PSO算法進行更精準的預測還是很有必要的。

表3 兩種模型預測結果對比
本文研究了基于PSO-SVM模型的環境舒適度評價模型,文中給出了在Matlab環境下創建該模型的詳細步驟及實現代碼。最后的仿真結果證明了PSO算法引入的有效性,也證明了將PSO-SVM模型應用到室內環境的舒適度預測是可行的,此模型也可應用到其他領域,用來解決相關的分類預測問題。
[1]羅婷.基于PMV指標的室內熱舒適控制方法的應用研究[D].濟南:山東建筑大學,2009
[2]牛潤萍,陳其針,張培紅.熱舒適的研究現狀與展望[J].人類工效學,2004,10(1):38-40
[3]王丹,曹紅奮.基于PMV控制目標的舒適性空調應用研究[J].潔凈與空調技術,2011,3(1):8-11
[4]郭富軍,楊昌智.舒適指標在空調系統控制中的應用研究[J].湖南大學學報,2000,2(9):761-764
[5]魏東,潘興華,張明廉.舒適性指標PMV在暖通空調控制中的應用[J].北京建筑工程學院學報,2004,20(1):52-56
[6]王興芬,李雪燕,張繼松.基于支持向量機的網上銀行驗證碼識別研究[J].計算機工程與應用,2012,1(6):1-7
[7]王海軍,喬燁.PSO-SVM模型在葡萄酒品質分類中的應用研究[J].計算機與數字工程,2012,40(8):146-148
[8]黃玉玲,王勇.時序電路測試生成新算法研究[J].無線電工程, 2008,38(7):49-52
[9]邵年華,黃領梅,沈冰,等.PSO-SVM模型在蒸發預測中的應用[J].黑龍江水專學報,2009,36(2):8-10
[10]姜明輝,袁緒川,馮玉強.PSO-SVM模型的構建與應用[J].哈爾濱工業大學學報,2009,41(2):169-171
Re s e a rc h of PMV Inde x Fore c a s ting Sys te m ba s e d on PSO-SVM
ZHAO Min-hua1,SU Rui1,XU Li-xian2
1 School of Information and Control Engineering,Xi’an University of Architecture and Technology
2 Automatic Institute of Shandong Academy
With the increasingly widespread application of air-condition,the indoor environmental thermal comfort and the air quality have got more and more people’s attention.Based on this condition,the paper is researched on an adaptive PSO support vector machine classification model given a detailed model of the design steps and implementation code, then the model is validated using the summer PMV data sets of thermal comfort index database on“Intelligent Building Environment Technology Platform”.At last,the experimental results show that the PSO-SVM model is applied to indoor environmental comfort evaluation has certain advantages than the grid-based search-SVM model in depth comparison.
PMV,PSO,support vector machines
1003-0344(2015)03-073-4
2014-1-26
蘇蕤(1988~),女,碩士研究生;西安建筑科技大學信息與控制工程學院(710055);E-mail:surui1988surui@163.com
陜西省教育廳自然科學研究項目基金(12JK0999);西安建筑科技大學科技計劃項目(JC1215)