周思陽,郭 鈞
(武漢理工大學(xué) 機(jī)電工程學(xué)院,湖北 武漢 430070)
三相電能表的功能主要是通過測量三相交換電網(wǎng)的電源輸出功率,以及所接負(fù)荷的電力損耗。三相電能表使用電子電路中的電子設(shè)備芯片來測量電量[1-2]。三相電能表中數(shù)字電子設(shè)備信息技術(shù)的應(yīng)用,不但能夠更準(zhǔn)確地測算用電量,同時(shí)也能夠更合理地解決供電需求[3]。但在三相電能表檢定過程中常常因?yàn)橥饨绛h(huán)境因素產(chǎn)生誤差,使得檢定結(jié)果超差,需對(duì)檢定工位的環(huán)境進(jìn)行風(fēng)險(xiǎn)預(yù)警[4]。筆者基于對(duì)三相電能表檢定環(huán)境的風(fēng)向預(yù)警,建立風(fēng)險(xiǎn)評(píng)估策略,引入GA-BP(genetic algorithm-back propagation)神經(jīng)網(wǎng)絡(luò)算法模型進(jìn)行優(yōu)化求解。
因?qū)嶋H情況較為復(fù)雜,做出以下假設(shè):
(1)流水線上進(jìn)行檢定的三相電能表均為標(biāo)準(zhǔn)電能表,即內(nèi)部不存在明顯誤差影響因素。
(2)影響三相電能表誤差的主要因素為外界環(huán)境影響因素。
(3)電能表檢定結(jié)果受到電壓、頻率、功率因素、溫度、濕度、檢驗(yàn)臺(tái)、檢定人員、逆向序、電流和電壓線路的諧波分量等因素的影響,從眾多影響因素中選取電壓、頻率、功率因素、溫度、濕度這前5個(gè)影響程度最大的因素作為主要因素來研究。
BP神經(jīng)網(wǎng)絡(luò)中的機(jī)器學(xué)習(xí)過程主要是由輸入信息的正向傳遞和誤差信息的逆向傳遞兩個(gè)過程組成。在正向與逆向傳遞的循環(huán)中,通過網(wǎng)絡(luò)的權(quán)值向量空間遵循梯度下降的策略,合適的權(quán)值經(jīng)過動(dòng)態(tài)迭代,最終使得模型誤差進(jìn)一步降低,以便于獲取準(zhǔn)確的輸出結(jié)果。
目標(biāo)函數(shù)1(BP神經(jīng)元的輸入和輸出):
(1)
(2)
(3)
式(1)為輸入變量通過BP神經(jīng)元計(jì)算后,得到的第j個(gè)神經(jīng)元的凈輸入值Sj;式(2)中Sj的傳遞函數(shù)f(·)在經(jīng)過映射后,得出第j個(gè)神經(jīng)元的輸出yj;式(3)為Tan-Sigmoid函數(shù),即在神經(jīng)網(wǎng)絡(luò)中使用的電能分析函數(shù),同樣包括在內(nèi)的還有線性函數(shù)和閾值函數(shù),輸入值x為任意值。
目標(biāo)函數(shù)2(定義誤差函數(shù)):
(4)
(5)
目標(biāo)函數(shù)3(輸出層權(quán)值調(diào)整函數(shù)):
利用累積誤差調(diào)整模型中的輸入權(quán)值Wjk,即可再一次降低全局誤差E,如式(6)所示。
(6)
式中,η為學(xué)習(xí)量,且一般為一個(gè)非負(fù)常數(shù),用來控制該模型的學(xué)習(xí)速率。
式(7)為定義誤差信號(hào)的函數(shù)δyj。
(7)
(8)
(9)
把式(8)和式(9)代入δyj,根據(jù)鏈?zhǔn)椒▌t可得式(10)。
(10)
其中zk為隱含層傳遞變量,最后通過式(11)進(jìn)行輸出層各神經(jīng)元的權(quán)值調(diào)節(jié),得到優(yōu)化后的輸出層權(quán)值。
(11)
目標(biāo)函數(shù)4(輸出層權(quán)值調(diào)整函數(shù)):
初始輸出權(quán)值由式(12)得出。
(12)
將式(12)的權(quán)值進(jìn)行調(diào)整,調(diào)整的過程和輸出層相似,最后得到隱含層中各個(gè)神經(jīng)元的權(quán)值調(diào)整的式(13)。
(13)
電能表存在超差的風(fēng)險(xiǎn),若檢測結(jié)果為超差則判定為不合格,因此需要對(duì)風(fēng)險(xiǎn)做出預(yù)警。基于對(duì)誤差實(shí)驗(yàn)進(jìn)行測量的三相電能表均為誤差等級(jí)0.05級(jí)的標(biāo)準(zhǔn)三相電能表,故判斷測試結(jié)果可以比較真實(shí)地還原誤差實(shí)驗(yàn)工位的現(xiàn)實(shí)情況,在完成基本偏離計(jì)算并得出平衡負(fù)荷值后,按照J(rèn)JG596-1999《中華人民共和國國家測量檢定規(guī)程——電子式電能表》中所規(guī)定的標(biāo)準(zhǔn)三相電能表的精度條件,制定三相電能表的風(fēng)險(xiǎn)評(píng)估措施。
根據(jù)對(duì)三相電能表的誤差檢定實(shí)驗(yàn)的結(jié)果特性以及預(yù)警結(jié)論的正確性,制定了如下規(guī)則:
(1)按照一定的時(shí)間間隔t,取m臺(tái)電能表在n個(gè)時(shí)刻的m×n數(shù)據(jù)。
(2)利用SPSS(statistical product and service solutions)軟件的權(quán)重分析,對(duì)影響誤差的主要因素進(jìn)行權(quán)值計(jì)算,從而確定輸入變量。
(3)利用MATLAB軟件使用GA-BP神經(jīng)網(wǎng)絡(luò)算法對(duì)誤差進(jìn)行預(yù)測。
(4)若對(duì)超差電能表能夠進(jìn)行準(zhǔn)確的預(yù)測,則說明風(fēng)險(xiǎn)預(yù)警有效。
筆者采用遺傳算法對(duì)BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行了一定程度的優(yōu)化,也就是基于遺傳算法結(jié)構(gòu)涵蓋了整個(gè)搜尋空間的特點(diǎn),在隨機(jī)解集中,使用遺傳算法尋得在一定范圍內(nèi)的優(yōu)化解,得到BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的最初值,然后將整個(gè)BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)按照負(fù)梯度方向加以快速搜索,以達(dá)到全局的最小點(diǎn)。這種方法,既實(shí)現(xiàn)了輸出結(jié)果在全局的最小點(diǎn)上收斂,又可以提高收斂的效率[6-7]。
基于遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)算法流程如圖1所示。
圖1 基于遺傳算法優(yōu)化的 BP 神經(jīng)網(wǎng)絡(luò)算法流程
步驟1權(quán)值和閾值在BP神經(jīng)網(wǎng)絡(luò)中都有一定的次序級(jí)聯(lián),其中包括:由N位染色體組型隨機(jī)生成的輸入層與隱含層連接權(quán)值、隱含層閾值、隱含層與輸出層連接權(quán)值、輸出層閾值,將這些BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,都按次序級(jí)聯(lián)出來[8];
步驟2利用適應(yīng)度函數(shù)來選擇均方誤差,然后再利用均方誤差對(duì)染色體的適合度進(jìn)行測算,以確定預(yù)計(jì)結(jié)論是不是滿足了目標(biāo)條件,如果滿足要求,則轉(zhuǎn)至步驟4;
步驟3生成新個(gè)體,具體操作是對(duì)符合適應(yīng)度值條件的新個(gè)體進(jìn)行變異、交叉、復(fù)制計(jì)算;
步驟4確認(rèn)新個(gè)體能否滿足均方誤差值函數(shù)的所有條件,如果不符合則轉(zhuǎn)到步驟2,否則轉(zhuǎn)步驟5;
步驟5按順序劃分最優(yōu)解個(gè)體,并將BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值進(jìn)行更替;
步驟6正向傳播的BP神經(jīng)網(wǎng)絡(luò)中,對(duì)全局偏差做出了預(yù)測,權(quán)重和閾值可以通過對(duì)網(wǎng)絡(luò)參數(shù)的相互加以校正和調(diào)節(jié),并通過對(duì)BP神經(jīng)網(wǎng)絡(luò)的循環(huán)練習(xí),直到原先擬定的練習(xí)次數(shù)和精度條件都得以實(shí)現(xiàn),輸出結(jié)果,該算法結(jié)束。
BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的定義,有如下兩個(gè)較為主要的指導(dǎo)準(zhǔn)則:①針對(duì)一般性的模式識(shí)別,三層神經(jīng)網(wǎng)絡(luò)能很好地處理問題;②三層神經(jīng)網(wǎng)絡(luò)中,隱含層的神經(jīng)網(wǎng)絡(luò)總量n2和輸入層的神經(jīng)元總量n1相互之間具有類似的關(guān)聯(lián):n2=2×n1+1。
根據(jù)上述原則,在建模中,由于樣本層有3個(gè)輸入?yún)?shù),以及3個(gè)輸出參數(shù),因此n2取值為7,所設(shè)置的BP神經(jīng)網(wǎng)絡(luò)統(tǒng)計(jì)結(jié)構(gòu)就是3-7-3,即輸入層有3個(gè)節(jié)點(diǎn),隱含層有7個(gè)節(jié)點(diǎn),輸出層有3個(gè)節(jié)點(diǎn),總共3×7+7×3=42個(gè)權(quán)值,以及7+3=10個(gè)閾值,故采用遺傳算法優(yōu)化參量的個(gè)數(shù)就是42+10=52。取3組具有特征的數(shù)據(jù)作為訓(xùn)練樣本,進(jìn)行神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。然后再利用誤差范數(shù)測算個(gè)體的適應(yīng)度,個(gè)體的誤差范數(shù)越大,個(gè)體的適應(yīng)度就越小,該個(gè)體越劣,反之越優(yōu)。
通過持續(xù)的訓(xùn)練,使得網(wǎng)絡(luò)模擬的輸出數(shù)值偏差越來越小,這就是網(wǎng)絡(luò)練習(xí)的過程,也是一個(gè)不斷調(diào)整權(quán)數(shù)和閾值的過程。對(duì)BP神經(jīng)網(wǎng)絡(luò)的練習(xí)函數(shù)一般默認(rèn)為trainLM(·),為LM(levenberg-marquardt)算法[9],利用改進(jìn)的方法,可以對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行不斷的練習(xí)。
在遺傳算法的編碼方式中,個(gè)體編號(hào)一般都采取了二進(jìn)制編號(hào)的形式,將所有個(gè)體串成一個(gè)二進(jìn)制串,由輸入層與隱含層連接值、隱含層閾值、隱含層與輸出層連接值、輸出層閾值4個(gè)部分構(gòu)成,連接權(quán)值與閾值也都采取了M位二進(jìn)制的編號(hào)形式,將所有的權(quán)值都與閾值的編號(hào)相連,共同組成了單一個(gè)體的編號(hào)。因此,由于本例的網(wǎng)絡(luò)結(jié)構(gòu)是3-7-3,其中權(quán)值和閾值的個(gè)數(shù)如表1所示。
表1 權(quán)值和閾值的設(shè)置
(1)所使用的遺傳算法中,權(quán)值和閾值的編碼假設(shè)為十位二進(jìn)制數(shù),那么個(gè)體的二進(jìn)制代碼長度是520位。其中,前210位就是在輸入層與隱含層之間的連接權(quán)值的編號(hào);第211~280位是隱含層閾值編號(hào);第281~490位則是隱含層與輸出層之間的連接權(quán)值編號(hào);第491~520位則是輸出層閾值的編號(hào)。
(2)適應(yīng)度參數(shù)。利用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行估計(jì)時(shí),希望使預(yù)期值與估計(jì)預(yù)期值之間的殘差盡可能最小,并對(duì)估計(jì)樣本與預(yù)期樣本的預(yù)期值之間的誤差矩陣的賦范為目標(biāo)函數(shù)的輸出值。
(3)選定算子。對(duì)選定算子進(jìn)行隨機(jī)遍歷抽樣。
(4)交叉算子。交叉算子中使用了經(jīng)過簡化的單點(diǎn)交叉算子。
(5)變異算子。變異以一定幾率產(chǎn)生變異基因,用隨機(jī)方式產(chǎn)生變異的基因。如果選擇的基因編碼是0,則變成1;如果是1,則變成0。
遺傳算法以及運(yùn)行參數(shù)如表2所示。
表2 遺傳算法的參數(shù)設(shè)定
3.3.1 輸入模式的確定
筆者采用SPSS權(quán)重分析法,通過輸入電能表的環(huán)境變量,求解得到環(huán)境溫度、相對(duì)濕度和電壓各自所占的權(quán)數(shù)。
根據(jù)分析可知,環(huán)境因素對(duì)于三相電能表誤差檢測的影響較大,對(duì)于三相電能表的風(fēng)險(xiǎn)預(yù)警起重要的判斷作用[10]。通過SPSS權(quán)重分析得到的權(quán)數(shù)如表3所示,對(duì)溫度、濕度和電壓這3個(gè)誤差因素的權(quán)數(shù)進(jìn)行歸一化處理后得到輸入變量。
表3 誤差因素的權(quán)數(shù)
3.3.2 輸出模式的確定
根據(jù)JJG596-1999《中華人民共和國國家測試儀表檢定規(guī)則——電子式能量表》中規(guī)定的三相電能表的主要誤差標(biāo)準(zhǔn),由于檢測對(duì)象為0.05級(jí)的三相電能表,其中基本誤差限為衡量輸出誤差的標(biāo)準(zhǔn)。為了方便BP神經(jīng)網(wǎng)絡(luò)的輸出,這里規(guī)定輸出數(shù)據(jù)的最大值為1,數(shù)據(jù)越大則代表當(dāng)前類型的誤差越嚴(yán)重,越有可能趨近于故障。規(guī)定若目前的狀態(tài)是“正?!?則算法輸出值是{1,0,0};若目前的狀態(tài)是“正超差”,則算法輸出值為{0,1,0},那么則表示當(dāng)前的狀況為“正超差”;若目前的狀態(tài)是“負(fù)超差”,則算法輸出值為{0,0,1};其中“正超差”與“負(fù)超差”均判為故障。
基于1.1中假設(shè)條件成立的情況下,本實(shí)驗(yàn)?zāi)M流水線檢測環(huán)境,在同一檢測臺(tái)上對(duì)10個(gè)電能表進(jìn)行檢測,以電能表1為例,統(tǒng)計(jì)了電能表1在不同時(shí)刻的實(shí)際測量誤差,取了10個(gè)時(shí)間段的數(shù)據(jù)測得實(shí)際誤差,并與預(yù)測誤差進(jìn)行對(duì)比,為進(jìn)一步分析預(yù)測誤差與實(shí)際誤差的比較情況,判斷對(duì)于誤差的預(yù)測是否滿足基本誤差的風(fēng)險(xiǎn)預(yù)警條件,預(yù)測結(jié)果與實(shí)測結(jié)果如圖2所示。筆者并計(jì)算了實(shí)際誤差和基于GA- BP 神經(jīng)網(wǎng)絡(luò)模型的預(yù)測誤差和相對(duì)誤差值,結(jié)果如表4所示。
表4 預(yù)測誤差分析
圖2 GA-BP神經(jīng)網(wǎng)絡(luò)模型的誤差對(duì)比
從表4可知,絕對(duì)誤差和相對(duì)誤差的平均值為0.003 7%和9.62%;此外,絕對(duì)誤差和相對(duì)誤差的最大值為0.007%和20%,最小值為0.001%和2.5%。對(duì)電能表1來說,預(yù)測結(jié)果具有較好的仿真性,其預(yù)測誤差和實(shí)際誤差較為接近,且在實(shí)測結(jié)果為“正常”時(shí),預(yù)測結(jié)果并沒有出現(xiàn)“超差”的錯(cuò)誤判斷,這一點(diǎn)尤為關(guān)鍵。
僅憑借電能表1的結(jié)果不足以說明該GA-BP神經(jīng)網(wǎng)絡(luò)模型預(yù)測的可靠性,經(jīng)過對(duì)10個(gè)電能表樣本的分析后,得出總數(shù)據(jù)的對(duì)比圖如圖3所示。
圖3 GA-BP神經(jīng)網(wǎng)絡(luò)模型的仿真曲線對(duì)比
從圖3可知,采用GA-BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行預(yù)測,其預(yù)測結(jié)果對(duì)于實(shí)測結(jié)果有較好的仿真性,兩種結(jié)果基本吻合,尤其是電能表7和電能表4在“正超差”和“負(fù)超差”這兩個(gè)異常結(jié)果處,預(yù)測誤差與實(shí)際誤差的輸出值相近。因此GA-BP 神經(jīng)網(wǎng)絡(luò)模型的預(yù)測準(zhǔn)確度較高,能夠一定程度實(shí)現(xiàn)對(duì)于電能表檢定的風(fēng)險(xiǎn)預(yù)警。
針對(duì)三相電能表在流水線上的檢定環(huán)境進(jìn)行了影響因素的篩選、權(quán)值的分析,將分析的結(jié)果用于輸入變量的歸一化,再運(yùn)用GA-BP 神經(jīng)網(wǎng)絡(luò)模型對(duì)測量結(jié)果進(jìn)行預(yù)測,通過對(duì)比預(yù)測結(jié)果與測量結(jié)果來驗(yàn)證GA-BP 神經(jīng)網(wǎng)絡(luò)模型的準(zhǔn)確性。
由于本文的模型只考慮了5種外界因素的影響和測量準(zhǔn)確規(guī)范等假設(shè),未使用其他算法進(jìn)行對(duì)照實(shí)驗(yàn),因此其準(zhǔn)確性有待進(jìn)一步的驗(yàn)證。