本發(fā)明涉及空調(diào)能耗預(yù)測技術(shù)領(lǐng)域,特別涉及一種基于BP神經(jīng)網(wǎng)絡(luò)模型的建筑空調(diào)能耗預(yù)測方法。
背景技術(shù):
當(dāng)前現(xiàn)代化的建筑,特別是公共建筑中,空調(diào)系統(tǒng)的能耗一直占據(jù)著建筑能耗大約50~60%的比重,節(jié)能潛力巨大。如何有效地管理空調(diào)系統(tǒng)的運(yùn)行能耗一直是當(dāng)前研究的熱點(diǎn)之一。建筑空調(diào)系統(tǒng)能耗的準(zhǔn)確預(yù)測,對于優(yōu)化采暖空調(diào)系統(tǒng)運(yùn)行模式,實(shí)現(xiàn)建筑空調(diào)系統(tǒng)的綜合節(jié)能運(yùn)行具有重要理論指導(dǎo)意義和現(xiàn)實(shí)意義??照{(diào)能耗預(yù)測對于建筑空調(diào)統(tǒng)一調(diào)度、空調(diào)定額能耗管理等方面具有重要的意義。
行業(yè)內(nèi)已有的建筑空調(diào)能耗預(yù)測方法有三類:
(1)第一類是采用回歸分析法進(jìn)行建筑空調(diào)系統(tǒng)的能耗預(yù)測。該方法假設(shè)與空調(diào)系統(tǒng)能耗具有相關(guān)性的N類影響因素,其與空調(diào)能耗之間呈非線性關(guān)系,通過數(shù)據(jù)擬合得到表示空調(diào)系統(tǒng)能耗的高階多項(xiàng)式函數(shù)?;貧w分析方法在建模的過程中有很多的試計算過程,將增大建模的難度,此外輸入?yún)?shù)和輸出參數(shù)之間的依賴程度很大,預(yù)測精度不高。
(2)第二類是基于時間序列預(yù)測模型的空調(diào)負(fù)荷方法。該方法的基本出發(fā)點(diǎn)是利用過去一段時間建筑空調(diào)負(fù)荷的變化特征描述來預(yù)測末來的變化特征??照{(diào)負(fù)荷的時間序列預(yù)測模型的特點(diǎn)是計算速度快和能反映負(fù)荷近期變化的連續(xù)性。其存在的不足是對原始時間序列的平穩(wěn)性要求高、而實(shí)際空調(diào)負(fù)荷一般均不滿足平穩(wěn)性的要求,因此預(yù)測精度不理想。
(3)第三類是將支持向量機(jī)應(yīng)用于空調(diào)逐時負(fù)荷預(yù)測。該方法建立了基于支持向量機(jī)理論的建筑物空調(diào)負(fù)荷預(yù)測模型,并利用遺傳算法、蟻群算法及粒子群算法等對支持向量機(jī)的參數(shù)進(jìn)行優(yōu)化,該方法具有學(xué)習(xí)速度快、全局最優(yōu)和推廣能力強(qiáng)等優(yōu)點(diǎn),但同時,支持向量機(jī)也有對大規(guī)模訓(xùn)練樣本難以實(shí)施以及同時解決多類問題困難的缺點(diǎn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明針對上述現(xiàn)有技術(shù)中存在的問題,提出一種基于BP神經(jīng)網(wǎng)絡(luò)模型的建筑空調(diào)能耗預(yù)測方法,BP神經(jīng)網(wǎng)絡(luò)具有極強(qiáng)的非線性擬合能力,可映射任意復(fù)雜的非線性關(guān)系,相比于現(xiàn)有方法,具備學(xué)習(xí)規(guī)則簡單,便于計算機(jī)實(shí)現(xiàn),具有很強(qiáng)的魯棒型、記憶能力、非線性映射能力以及強(qiáng)大的自學(xué)習(xí)能力等優(yōu)點(diǎn)。
為解決上述技術(shù)問題,本發(fā)明是通過如下技術(shù)方案實(shí)現(xiàn)的:
本發(fā)明提供一種基于BP神經(jīng)網(wǎng)絡(luò)模型的建筑空調(diào)能耗預(yù)測方法,其包括以下步驟:
S11:分析建筑空調(diào)能耗的影響因素;
S12:根據(jù)所述影響因素,采集歷史建筑空調(diào)能耗樣本參數(shù),對所述歷史建筑空調(diào)能耗樣本參數(shù)進(jìn)行預(yù)處理,得到預(yù)處理后的歷史建筑空調(diào)能耗樣本參數(shù);
S13:采用BP神經(jīng)網(wǎng)絡(luò),根據(jù)所述歷史建筑空調(diào)能耗樣本參數(shù)的維度建立建筑空調(diào)能耗預(yù)測模型;
S14:采用預(yù)處理后的所述歷史建筑空調(diào)能耗樣本參數(shù)作為訓(xùn)練樣本對所述建筑空調(diào)能耗預(yù)測模型進(jìn)行訓(xùn)練;
S15:采集近期的實(shí)時建筑空調(diào)能耗樣本參數(shù)對所述建筑空調(diào)能耗預(yù)測模型的建模質(zhì)量進(jìn)行評估,以判斷所述建筑空調(diào)能耗預(yù)測模型的誤差是否在允許范圍內(nèi),若在允許范圍內(nèi),則所述建筑空調(diào)能耗預(yù)測模型的輸出即為建筑空調(diào)能耗預(yù)測值;若不在允許范圍內(nèi),則返回S12或返回S14。
較佳地,所述步驟S11中所述建筑空調(diào)能耗的影響因素包括:靜態(tài)影響因素和動態(tài)影響因素。
較佳地,所述步驟S12具體包括:
S121:對所述歷史建筑空調(diào)能耗樣本參數(shù)根據(jù)所述靜態(tài)影響因素進(jìn)行組合分類;
S122:對組合分類之后的所述歷史建筑空調(diào)能耗樣本參數(shù)中的壞值進(jìn)行剔除;
S123:對壞值剔除之后的所述歷史建筑空調(diào)能耗樣本參數(shù)進(jìn)行歸一化處理。
較佳地,所述步驟S13具體包括:
S131:輸入層神經(jīng)元設(shè)計
所述輸入神經(jīng)元的個數(shù)由所述建筑空調(diào)能耗的動態(tài)影響參數(shù)的維度來決定;
S132:輸出層神經(jīng)元設(shè)計
所述輸出層神經(jīng)元的個數(shù)由所述樣本參數(shù)的輸出向量的維數(shù)來決定;
S133:隱含層神經(jīng)元設(shè)計
所述隱含層神經(jīng)元的個數(shù)由下式?jīng)Q定:
式中:n為隱含層神經(jīng)元的個數(shù);a為輸入層神經(jīng)元的個數(shù);b為輸出層神經(jīng)元的個數(shù);l為1-10之間的常數(shù)。
較佳地,所述步驟S14具體包括:
S141:BP神經(jīng)網(wǎng)絡(luò)的參數(shù)初始化
對所述輸入層神經(jīng)元的輸入值以及所述輸出層神經(jīng)元的輸出值進(jìn)行歸一化,對所述BP神經(jīng)網(wǎng)絡(luò)的參數(shù)及各權(quán)系數(shù)進(jìn)行賦值;
S142:前向傳輸
輸入所述歷史建筑空調(diào)能耗樣本輸入?yún)?shù),計算所述BP神經(jīng)網(wǎng)絡(luò)的輸出值,并與所述歷史建筑空調(diào)能耗樣本輸出參數(shù)進(jìn)行比較,得出所述BP神經(jīng)網(wǎng)絡(luò)的輸出誤差;
S143:反向傳播
根據(jù)誤差反向傳播算法,修正隱含層之間以及隱含層與輸入層之間的權(quán)值系數(shù)和閾值;
S144:重復(fù)步驟S142~S143,直至預(yù)測誤差滿足條件或訓(xùn)練次數(shù)達(dá)到規(guī)定次數(shù);
S145:將歸一化后的輸入值,代入所述BP神經(jīng)網(wǎng)絡(luò)的前向傳輸過程,獲得的輸出值經(jīng)過反歸一化處理,即可得到建筑空調(diào)能耗預(yù)測值。
較佳地,所述步驟S143中的所述誤差反向傳播算法采用動量-學(xué)習(xí)率自適應(yīng)的算法。
較佳地,所述動量-學(xué)習(xí)率自適應(yīng)的算法具體為:
帶有附加動量因子的權(quán)值系數(shù)和閾值的調(diào)節(jié)公式為:
Δwij(k+1)=(1-mc)ηδipj+mcΔwij(k),
Δbi(k+1)=(1-mc)ηδi+mcΔbi(k),
其中,k為訓(xùn)練次數(shù),mc為動量因子;
mc的判斷條件為:
其中,E(k)為第k步誤差平方和;
學(xué)習(xí)率自適應(yīng)優(yōu)化公式為:
η(k)為第k步學(xué)習(xí)率,E(k)為第k步誤差平方和。
建筑空調(diào)能耗預(yù)測模型建筑空調(diào)能耗預(yù)測模型較佳地,所述步驟S15中,所述建筑空調(diào)能耗預(yù)測模型的誤差計算公式為:
其中,P為訓(xùn)練樣本的個數(shù),L為輸出層神經(jīng)元的個數(shù),O為輸出層神經(jīng)元的輸出值,T為訓(xùn)練樣本的輸出值。建筑空調(diào)能耗預(yù)測模型建筑空調(diào)能耗預(yù)測模型
較佳地,所述步驟S15之后還包括:
S16:定期對所述建筑空調(diào)能耗預(yù)測模型的建模質(zhì)量進(jìn)行評估,以判斷所述建筑空調(diào)能耗預(yù)測模型的誤差是否在允許范圍內(nèi);
若在允許范圍內(nèi),則所述建筑空調(diào)能耗預(yù)測模型可用;
若不在允許范圍內(nèi),則所述建筑空調(diào)能耗預(yù)測模型不可用,采集近期的歷史建筑空調(diào)能耗以及影響參數(shù)收集起來,作為新的訓(xùn)練樣本,對所述建筑空調(diào)能耗預(yù)測模型重新進(jìn)行訓(xùn)練,以得到更適合當(dāng)前狀態(tài)下的建筑空調(diào)能耗預(yù)測模型。
較佳地,所述步驟S15之后還包括:
S17:定期采集近期的歷史建筑空調(diào)能耗以及影響參數(shù)收集起來,作為新的訓(xùn)練樣本,對所述建筑空調(diào)能耗預(yù)測模型重新進(jìn)行訓(xùn)練,以得到更適合當(dāng)前狀態(tài)下的建筑空調(diào)能耗預(yù)測模型建筑空調(diào)能耗預(yù)測模型建筑空調(diào)能耗預(yù)測模型。
相較于現(xiàn)有技術(shù),本發(fā)明具有以下優(yōu)點(diǎn):
(1)本發(fā)明提供的基于BP神經(jīng)網(wǎng)絡(luò)模型的建筑空調(diào)能耗預(yù)測方法,采用BP神經(jīng)網(wǎng)絡(luò),具有極強(qiáng)的非線性擬合能力,可映射任意復(fù)雜的非線性關(guān)系,相比于現(xiàn)有方法,具備學(xué)習(xí)規(guī)則簡單,便于計算機(jī)實(shí)現(xiàn),具有很強(qiáng)的魯棒型、記憶能力、非線性映射能力以及強(qiáng)大的自學(xué)習(xí)能力等優(yōu)點(diǎn);
(2)本發(fā)明的基于BP神經(jīng)網(wǎng)絡(luò)模型的建筑空調(diào)能耗預(yù)測方法,采用動量學(xué)習(xí)率自適應(yīng)優(yōu)化的算法,可以幫助BP網(wǎng)絡(luò)模型突破局部極小值,達(dá)到全局最優(yōu)解;同時縮短訓(xùn)練時間,加速收斂,達(dá)到快速進(jìn)行大規(guī)模訓(xùn)練樣本的目的。
當(dāng)然,實(shí)施本發(fā)明的任一產(chǎn)品并不一定需要同時達(dá)到以上所述的所有優(yōu)點(diǎn)。
附圖說明
下面結(jié)合附圖對本發(fā)明的實(shí)施方式作進(jìn)一步說明:
圖1為本發(fā)明的實(shí)施例1的基于BP神經(jīng)網(wǎng)絡(luò)模型的建筑空調(diào)能耗預(yù)測方法的流程圖;
圖2為本發(fā)明的實(shí)施例的BP神經(jīng)網(wǎng)絡(luò)的設(shè)計結(jié)構(gòu)圖;
圖3為本發(fā)明的實(shí)施例的對建筑空調(diào)能耗預(yù)測模型進(jìn)行訓(xùn)練的流程圖;
圖4為本發(fā)明的實(shí)施例的建筑空調(diào)能耗預(yù)測模型的對數(shù)Sigmoid激活函數(shù);
圖5為本發(fā)明的實(shí)施例的一訓(xùn)練樣本的建筑空調(diào)能耗預(yù)測曲線圖;
圖6為本發(fā)明的實(shí)施例2的基于BP神經(jīng)網(wǎng)絡(luò)模型的建筑空調(diào)能耗預(yù)測方法的流程圖;
圖7為本發(fā)明的實(shí)施例3的基于BP神經(jīng)網(wǎng)絡(luò)模型的建筑空調(diào)能耗預(yù)測方法的流程圖。
具體實(shí)施方式
下面對本發(fā)明的實(shí)施例作詳細(xì)說明,本實(shí)施例在以本發(fā)明技術(shù)方案為前提下進(jìn)行實(shí)施,給出了詳細(xì)的實(shí)施方式和具體的操作過程,但本發(fā)明的保護(hù)范圍不限于下述的實(shí)施例。
實(shí)施例1:
結(jié)合圖1-圖4,本實(shí)施例對本發(fā)明的基于BP神經(jīng)網(wǎng)絡(luò)的建筑空調(diào)能耗預(yù)測方法進(jìn)行詳細(xì)描述,其流程圖如圖1所示,其包括以下步驟:
S11:分析建筑空調(diào)能耗的影響因素;
S12:根據(jù)影響參數(shù),采集歷史建筑空調(diào)能耗樣本參數(shù),對歷史建筑空調(diào)能耗樣本參數(shù)進(jìn)行預(yù)處理,得到預(yù)處理后的歷史建筑空調(diào)能耗樣本參數(shù);
S13:采用BP神經(jīng)網(wǎng)絡(luò),根據(jù)歷史建筑空調(diào)能耗樣本參數(shù)的維度建立建筑空調(diào)能耗預(yù)測模型;
S14:采用預(yù)處理后的歷史建筑空調(diào)能耗訓(xùn)練參數(shù)作為訓(xùn)練樣本對建筑空調(diào)能耗預(yù)測模型進(jìn)行訓(xùn)練;
S15:采集近期的實(shí)時建筑空調(diào)能耗樣本參數(shù)對建筑空調(diào)能耗預(yù)測模型的建模質(zhì)量進(jìn)行評估,以判斷建筑空調(diào)能耗預(yù)測模型的輸出值與實(shí)際能耗值之間的誤差是否在允許范圍內(nèi),若在允許范圍內(nèi),則模型可用,建筑空調(diào)能耗預(yù)測模型的輸出即為建筑空調(diào)能耗預(yù)測值;若不在允許范圍內(nèi),則返回S12,重新采集更新的歷史建筑空調(diào)能耗樣本參數(shù),采用更新后的歷史建筑空調(diào)能耗樣本參數(shù)對模型重新進(jìn)行訓(xùn)練,或者,返回S14,對訓(xùn)練參數(shù)進(jìn)行修改,然后再重新進(jìn)行訓(xùn)練,或者,也可以既對歷史建筑空調(diào)能耗樣本參數(shù)進(jìn)行更新,又對訓(xùn)練參數(shù)進(jìn)行修改。
本實(shí)施例中,步驟S11中將影響參數(shù)分為兩類:動態(tài)影響參數(shù)和靜態(tài)影響參數(shù),如表1所示。
靜態(tài)因素主要從建筑自身的結(jié)構(gòu)特點(diǎn)、空調(diào)系統(tǒng)種類等影響建筑空調(diào)能耗的各類靜態(tài)因素出發(fā),對建筑空調(diào)能耗影響因素進(jìn)行收集和分析。本發(fā)明考慮的靜態(tài)因素主要包括:建筑所在區(qū)域、建筑類型、建筑年代、建筑圍護(hù)結(jié)構(gòu)、空調(diào)系統(tǒng)類型等。
動態(tài)因素主要從建筑所處環(huán)境、不同時間等影響建筑空調(diào)能耗的各類動態(tài)因素出發(fā),對建筑空調(diào)能耗影響因素進(jìn)行收集和分析。本發(fā)明考慮的動態(tài)因素主要包括:季節(jié)、氣象、室外溫度、空氣濕度、太陽輻射強(qiáng)度、時刻、建筑面積、是否工作日等。
表1建筑空調(diào)能耗影響因素
本實(shí)施例中,步驟S12具體包括:
S121:對樣本參數(shù)根據(jù)靜態(tài)影響因素進(jìn)行組合分類;
不同地區(qū)、不同類型、不同圍護(hù)結(jié)構(gòu)的建筑,其空調(diào)系統(tǒng)能耗的影響因素往往有其特殊性。首先通過分析比較,將樣本中的所有建筑根據(jù)靜態(tài)影響因素進(jìn)行組合歸類,具有同類靜態(tài)屬性(如建筑類型相同、圍護(hù)結(jié)構(gòu)相似)的建筑,其空調(diào)能耗樣本數(shù)據(jù)可以歸入該類建筑對應(yīng)的模型進(jìn)行訓(xùn)練。
S122:對組合分類之后的樣本參數(shù)中的壞值進(jìn)行剔除;
建立建筑空調(diào)能耗預(yù)測模型需要大量的建筑歷史能耗樣本數(shù)據(jù),這些數(shù)據(jù)大多是通過傳感器等測量設(shè)備采集得來,它們會受到采集設(shè)備本身出現(xiàn)斷線狀態(tài)或數(shù)據(jù)傳輸過程中數(shù)據(jù)出錯問題影響,在大量的數(shù)據(jù)中可能會出現(xiàn)一些異常的數(shù)據(jù)。這些或者在量級上與正常值相差很大,或者雖然在量級上沒有顯著差別,但是誤差卻超過了正常的范圍。這些異常數(shù)據(jù)的存在對于負(fù)荷預(yù)測模型建立將產(chǎn)生嚴(yán)重影響,造成預(yù)測誤差較大,所以應(yīng)首先根據(jù)常識檢驗(yàn)預(yù)測數(shù)據(jù)是否落在正常的值域范圍內(nèi),并根據(jù)數(shù)理統(tǒng)計方法剔除壞值。
S123:對壞值剔除之后的樣本參數(shù)進(jìn)行歸一化處理;
為使模型訓(xùn)練更加有效,防止奇異樣本數(shù)據(jù)的存在,在進(jìn)入模型訓(xùn)練之前,輸入樣本參數(shù)和輸出樣本參數(shù)需進(jìn)行歸一化處理。對模型的輸入、輸出數(shù)據(jù)進(jìn)行一定的預(yù)處理可以加快模型的訓(xùn)練速度。訓(xùn)練結(jié)束后,再將模型的輸入和輸出參數(shù)反歸一化。
本實(shí)施例中,步驟S13具體包括:
S131:輸入層神經(jīng)元設(shè)計
輸入神經(jīng)元的個數(shù)由建筑空調(diào)能耗的動態(tài)影響參數(shù)的維度來決定;本實(shí)施例中,具體包括:季節(jié)、氣象、室外溫度、空氣濕度、太陽輻射強(qiáng)度、時刻、建筑面積、是否工作日8個輸入?yún)?shù)。
S132:輸出層神經(jīng)元設(shè)計
所述輸出層神經(jīng)元的個數(shù)由樣本參數(shù)的輸出向量的維數(shù)來決定;本實(shí)施例的輸出為建筑空調(diào)系統(tǒng)能耗預(yù)測值,因此輸出層只有1個神經(jīng)元。
S133:隱含層神經(jīng)元設(shè)計
隱含層神經(jīng)元數(shù)與求解問題的要求、輸入輸出神經(jīng)元數(shù)的多少有直接的關(guān)系。隱含層神經(jīng)元數(shù)過多會導(dǎo)致學(xué)習(xí)時間過長;隱含層神經(jīng)元數(shù)過少,容錯性差,識別未經(jīng)學(xué)習(xí)的能力樣本低,所以必須綜合多方面的因素進(jìn)行設(shè)計。根據(jù)經(jīng)驗(yàn)可參考以下公式進(jìn)行設(shè)計:
式中:n為隱含層神經(jīng)元的個數(shù);a為輸入層神經(jīng)元的個數(shù);b為輸出層神經(jīng)元的個數(shù);l為1-10之間的常數(shù)。由于本模型為一個8輸入1輸出系統(tǒng),經(jīng)過多次試驗(yàn),最終確定建筑空調(diào)能耗預(yù)測模型的隱含層神經(jīng)元數(shù)為8個。
本實(shí)施例采用的BP神經(jīng)網(wǎng)絡(luò)設(shè)計結(jié)構(gòu)如圖2所示,其中,
xj表示輸入層第j個節(jié)點(diǎn)的輸入,j=1,2,3,4;
wij表示隱含層第i個節(jié)點(diǎn)到輸入層第j個節(jié)點(diǎn)之間的權(quán)值;
θi表示隱含層第i個節(jié)點(diǎn)的閾值;
φ(x)表示隱含層的激勵函數(shù);
wki表示輸出層節(jié)點(diǎn)k到隱含層第i個節(jié)點(diǎn)之間的權(quán)值,i=1,2,3;
ak表示輸出層節(jié)點(diǎn)k的閾值;
ψ(x)表示輸出層的激勵函數(shù);
ok表示輸出層節(jié)點(diǎn)k的輸出。
本實(shí)施例中,步驟S14具體包括:
S141:BP神經(jīng)網(wǎng)絡(luò)的參數(shù)初始化
對輸入層神經(jīng)元的輸入值以及輸出層神經(jīng)元的輸出值進(jìn)行歸一化,對BP神經(jīng)網(wǎng)絡(luò)的參數(shù)及各權(quán)系數(shù)進(jìn)行賦值,其中各層節(jié)點(diǎn)之間的連接權(quán)值w可取(-1,1)的隨機(jī)數(shù);
S142:前向傳輸
輸入歷史建筑空調(diào)能耗樣本輸入?yún)?shù),計算BP神經(jīng)網(wǎng)絡(luò)的輸出值,并與歷史建筑空調(diào)能耗樣本輸出參數(shù)進(jìn)行比較,得出BP神經(jīng)網(wǎng)絡(luò)的輸出誤差;
S143:反向傳播
根據(jù)誤差反向傳播算法,修正隱含層之間以及隱含層與輸入層之間的權(quán)值系數(shù)和閾值;
S144:重復(fù)步驟S142~S143,直至預(yù)測誤差滿足條件或訓(xùn)練次數(shù)達(dá)到規(guī)定次數(shù);
S145:將歸一化后的輸入值,代入BP神經(jīng)網(wǎng)絡(luò)的前向傳輸過程,獲得的輸出值經(jīng)過反歸一化處理,即可得到建筑空調(diào)能耗預(yù)測值。
如圖3所示為本實(shí)施例的BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程圖,本實(shí)施例的訓(xùn)練模型為典型的反饋型神經(jīng)網(wǎng)絡(luò),其中,隱含層和輸出層的傳遞函數(shù)采用對數(shù)Sigmoid函數(shù);訓(xùn)練采用動量-學(xué)習(xí)率自適應(yīng)優(yōu)化的算法,該算法能夠大大提高BP網(wǎng)路找到全局最優(yōu)解的能力,同時減少了訓(xùn)練時間,收斂速度快,收斂誤差小。
BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練算法主要包括兩個方面:信號的前向傳播和誤差的反向傳播。即計算實(shí)際輸出時按從輸入到輸出的方向進(jìn)行,而權(quán)值和閾值的修正從輸出到輸入的方向進(jìn)行。
隱含層和輸出層對數(shù)Sigmoid函數(shù)
φ(x)表示隱含層的激勵函數(shù),ψ(x)表示輸出層的傳遞函數(shù),它們是非線性可微非遞減函數(shù),一般取為對數(shù)Sigmoid函數(shù),即φ(x)=ψ(x)=1/(1+e-x)(對數(shù)Sigmoid激活函數(shù)),它將輸入空間壓縮到一個有限的輸出空間內(nèi)(0-1),如圖4所示:
1)信號的前向傳播過程
隱含層第i個節(jié)點(diǎn)的輸入neti:
隱含層第i個節(jié)點(diǎn)的輸出yi:
輸出層第k個節(jié)點(diǎn)的輸入netk:
輸出層第k個節(jié)點(diǎn)的輸出ok:
2)誤差的反向傳播過程
誤差的反向傳播,即首先由輸出層開始逐層計算各層神經(jīng)元的輸出誤差,然后根據(jù)誤差梯度下降法來調(diào)節(jié)各層的權(quán)值和閾值,使修改后的網(wǎng)絡(luò)的最終輸出能接近期望值。
對于每一個樣本p的二次型誤差準(zhǔn)則函數(shù)為Ep:
系統(tǒng)對p個訓(xùn)練樣本的總誤差準(zhǔn)則函數(shù)為:
根據(jù)誤差梯度下降法依次修正輸出層權(quán)值的修正量Δwki,輸出層閾值的修正量Δak,隱含層權(quán)值的修正量Δwij,隱含層閾值的修正量Δθi。
輸出層權(quán)值調(diào)整公式:
輸出層閾值調(diào)整公式:
隱含層權(quán)值調(diào)整公式:
隱含層閾值調(diào)整公式:
又因?yàn)椋?/p>
所以最后得到以下公式:
其中,P為訓(xùn)練樣本的個數(shù),L為輸出層神經(jīng)元的個數(shù),O為輸出層神經(jīng)元的輸出值,T為訓(xùn)練樣本的輸出值。
3)動量-學(xué)習(xí)率自適應(yīng)優(yōu)化的算法
本發(fā)明在模型訓(xùn)練過程中加入動量-學(xué)習(xí)率自適應(yīng)優(yōu)化的算法,該算法為附加動量法和學(xué)習(xí)率自適應(yīng)優(yōu)化法的組合。附加動量法可以幫助BP網(wǎng)絡(luò)模型突破局部極小值,達(dá)到全局最優(yōu)解;學(xué)習(xí)率自適應(yīng)優(yōu)化法可幫助BP網(wǎng)絡(luò)模型縮短訓(xùn)練時間,加速收斂。
①附加動量法
附加動量法使網(wǎng)絡(luò)在修正其權(quán)值時,不僅考慮誤差在梯度上的作用,而且考慮在誤差曲面上變化趨勢的影響。在沒有附加動量的作用下,網(wǎng)絡(luò)可能陷入淺的局部極小值,利用附加動量的作用有可能滑過這些極小值。
該方法是在反向傳播法的基礎(chǔ)上在每一個權(quán)值(或閾值)的變化上加上一項(xiàng)正比于前次權(quán)值(或閾值)變化量的值,并根據(jù)反向傳播法來產(chǎn)生新的權(quán)值(或閾值)變化。
帶有附加動量因子的權(quán)值和閾值調(diào)節(jié)公式為:
Δwij(k+1)=(1-mc)ηδipj+mcΔwij(k)
Δbi(k+1)=(1-mc)ηδi+mcΔbi(k)
其中k為訓(xùn)練次數(shù),mc為動量因子,本實(shí)施例取0.95。
附加動量法的實(shí)質(zhì)是將最后一次權(quán)值(或閾值)變化的影響,通過一個動量因子來傳遞。當(dāng)動量因子取值為零時,權(quán)值(或閾值)的變化僅是根據(jù)梯度下降法產(chǎn)生;當(dāng)動量因子取值為1時,新的權(quán)值(或閾值)變化則是設(shè)置為最后一次權(quán)值(或閾值)的變化,而依梯度法產(chǎn)生的變化部分則被忽略掉了。以此方式,當(dāng)增加了動量項(xiàng)后,促使權(quán)值的調(diào)節(jié)向著誤差曲面底部的平均方向變化,當(dāng)網(wǎng)絡(luò)權(quán)值進(jìn)入誤差曲面底部的平坦區(qū)時,i將變得很小,于是Δwij(k+1)=Δwij(k),從而防止了Δwij=0的出現(xiàn),有助于使網(wǎng)絡(luò)從誤差曲面的局部極小值中跳出。
根據(jù)附加動量法的設(shè)計原則,當(dāng)修正的權(quán)值在誤差中導(dǎo)致太大的增長結(jié)果時,新的權(quán)值應(yīng)被取消而不被采用,并使動量作用停止下來,以使網(wǎng)絡(luò)不進(jìn)入較大誤差曲面;當(dāng)新的誤差變化率對其舊值超過一個事先設(shè)定的最大誤差變化率時,也得取消所計算的權(quán)值變化。其最大誤差變化率可以是任何大于或等于1的值,本實(shí)施例的取值為1.04。所以,在進(jìn)行附加動量法的模型訓(xùn)練過程中,需要加進(jìn)條件判斷以正確使用其權(quán)值修正公式。
本實(shí)施例在模型訓(xùn)練過程中采用動量法的判斷條件為:
其中,E(k)為第k步誤差平方和;
②學(xué)習(xí)率自適應(yīng)優(yōu)化
對于一個特定的工程問題,要選擇適當(dāng)?shù)膶W(xué)習(xí)率不是一件容易的事情。通常是憑經(jīng)驗(yàn)或?qū)嶒?yàn)獲取,但即使這樣,對訓(xùn)練開始初期功效較好的學(xué)習(xí)率,不見得對后來的訓(xùn)練合適。
為了解決這個問題,本實(shí)施例在訓(xùn)練過程中采用自動優(yōu)化學(xué)習(xí)率的方法。優(yōu)化學(xué)習(xí)率的準(zhǔn)則是:檢查權(quán)值是否真正降低了誤差函數(shù),如果確實(shí)如此,則說明所選學(xué)習(xí)率小了,可以適當(dāng)增加一個量;若不是這樣,而產(chǎn)生了過調(diào),要么就應(yīng)該減少學(xué)習(xí)率的值。學(xué)習(xí)率自適應(yīng)優(yōu)化公式如下:
其中,E(k)為第k步誤差平方和。
通過這種方法,網(wǎng)絡(luò)的初始學(xué)習(xí)率η(0)的選取范圍可以有很大的隨意性。
本實(shí)施例中,步驟S15中,建筑空調(diào)能耗預(yù)測模型的誤差計算公式為:
其中,P為訓(xùn)練樣本的個數(shù),L為輸出層神經(jīng)元的個數(shù),O為輸出層神經(jīng)元的輸出值,T為訓(xùn)練樣本的輸出值。
下面以某省某公共建筑為實(shí)驗(yàn)對象,選取某一年的某一個月進(jìn)行空調(diào)能耗預(yù)測,將預(yù)測結(jié)果與該時間段建筑空調(diào)能耗數(shù)據(jù)進(jìn)行對比,得到曲線如圖5所示,其中,表示模型值,表示實(shí)際值,從圖中可看出,經(jīng)過多個訓(xùn)練和修正,預(yù)測結(jié)果與實(shí)際建筑空調(diào)能耗數(shù)據(jù)趨勢幾乎一致,曲線吻合程度較高。
實(shí)施例2:
如圖6所示為其流程圖,本實(shí)施例是在實(shí)施例1的基礎(chǔ)上,在步驟S15之后增加了:
S16:定期對建筑空調(diào)能耗預(yù)測模型的建模質(zhì)量進(jìn)行評估,以判斷建筑空調(diào)能耗預(yù)測模型的誤差是否在允許范圍內(nèi)。具體做法為:通過將建筑最近一段時間的實(shí)時數(shù)據(jù)作為樣本,帶入訓(xùn)練好的模型仿真得到相應(yīng)的預(yù)測值,比對模型的預(yù)測值和實(shí)際空調(diào)能耗數(shù)據(jù)的偏差,判斷偏差是否在允許范圍內(nèi),以確定模型是否可用,若在允許范圍內(nèi),則建筑空調(diào)能耗預(yù)測模型可用;若不在允許范圍內(nèi),則建筑空調(diào)能耗預(yù)測模型不可用,采集近期的歷史建筑空調(diào)能耗以及影響參數(shù)收集起來,作為新的訓(xùn)練樣本,對建筑空調(diào)能耗預(yù)測模型重新進(jìn)行訓(xùn)練,以得到更適合當(dāng)前狀態(tài)下的建筑空調(diào)能耗預(yù)測模型。
本實(shí)施例中,建筑空調(diào)能耗預(yù)測模型的誤差計算公式也為:
實(shí)施例3:
如圖7所示為其流程圖,本實(shí)施例是在實(shí)施例1的基礎(chǔ)上,在步驟S15之后增加了:
S17:定期采集近期的歷史建筑空調(diào)能耗以及影響參數(shù)收集起來,作為新的訓(xùn)練樣本,對建筑空調(diào)能耗預(yù)測模型重新進(jìn)行訓(xùn)練,以得到更適合當(dāng)前狀態(tài)下的建筑空調(diào)能耗預(yù)測模型。
此處公開的僅為本發(fā)明的優(yōu)選實(shí)施例,本說明書選取并具體描述這些實(shí)施例,是為了更好地解釋本發(fā)明的原理和實(shí)際應(yīng)用,并不是對本發(fā)明的限定。任何本領(lǐng)域技術(shù)人員在說明書范圍內(nèi)所做的修改和變化,均應(yīng)落在本發(fā)明所保護(hù)的范圍內(nèi)。