曹嘉豪,劉津瑜,許 輝,林智雪,張克非
(1.西南科技大學(xué) 理學(xué)院,四川 綿陽 621010;2.西南科技大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,四川 綿陽 621010)
隨著工業(yè)的不斷發(fā)展,電機(jī)檢測技術(shù)向著高效化、精準(zhǔn)化、智能化、互聯(lián)化快速進(jìn)步[1]。研制基于虛擬儀器技術(shù)的電機(jī)測試系統(tǒng)已成為業(yè)界關(guān)注熱點(diǎn)[2]。德國西門子公司研發(fā)出了通過應(yīng)用于計(jì)算機(jī)的變頻電源,實(shí)現(xiàn)電機(jī)測試的高度自動(dòng)化[3],也代替絕大部分硬件,實(shí)現(xiàn)了全虛擬化電機(jī)測試研究,并且該系統(tǒng)具備測試靈活和極高的系統(tǒng)復(fù)用性兩個(gè)特點(diǎn)。德國申克公司研制出了一種建立數(shù)學(xué)模型,利用參數(shù)認(rèn)定法[4]進(jìn)行電機(jī)測試的新設(shè)備,僅測量近似空載下的電流和電壓,從而獲得電機(jī)性能指標(biāo)。該設(shè)備結(jié)構(gòu)簡單、可靠性高、檢測時(shí)間短,是一種全新的微電機(jī)檢測設(shè)備。在電機(jī)的參數(shù)分析方面,異步電機(jī)方面應(yīng)用較廣,數(shù)學(xué)模型方面線性常微分和偏微分方程組采用較多[5],但對(duì)于高速永磁電機(jī)的評(píng)價(jià)還基本不成熟,大多是直接用單一參數(shù)進(jìn)行性能分析,沒有綜合各項(xiàng)參數(shù)對(duì)電機(jī)性能進(jìn)行評(píng)價(jià)從而不能全面的把握電機(jī)的性能變化[6]。單一參數(shù)大多來自永磁電機(jī)空載時(shí)的計(jì)算[7],在電機(jī)運(yùn)轉(zhuǎn)時(shí),現(xiàn)有的數(shù)學(xué)模型無法得到實(shí)時(shí)的數(shù)據(jù),無法實(shí)時(shí)觀察,且無法預(yù)測到電機(jī)性能變化。隨著永磁電機(jī)測量技術(shù)成熟,得到實(shí)時(shí)數(shù)據(jù)通過在線分析將基于線的分析擴(kuò)大成面或體的電機(jī)性能多參數(shù)分析[8]且對(duì)電機(jī)性能進(jìn)行預(yù)測具有重大研究價(jià)值。
本文針對(duì)永磁同步電機(jī)(TB-416G-30-5型),提出在高速永磁同步電機(jī)中采用機(jī)器學(xué)習(xí)算法進(jìn)行試驗(yàn)數(shù)據(jù)分析,利用灰色關(guān)聯(lián)度分析(grey relational analysis)模型將電機(jī)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行降維分析,通過5-5-1型誤差反向傳播神經(jīng)網(wǎng)絡(luò)(back propagation- neural networks)模型建立應(yīng)用于高速永磁電機(jī)的試驗(yàn)數(shù)據(jù)平臺(tái),實(shí)現(xiàn)了對(duì)高速永磁電機(jī)實(shí)測參數(shù)的解析與更改單項(xiàng)參數(shù)后電機(jī)性能的評(píng)估,通過對(duì)評(píng)估結(jié)果驗(yàn)證,實(shí)現(xiàn)了定量分析。為最終實(shí)現(xiàn)智慧設(shè)計(jì)、智慧加工和遠(yuǎn)程移動(dòng)控制測試流程奠定了基礎(chǔ)。
1)異常值判定。永磁同步電機(jī)(TB-416G-30-5型)在進(jìn)行電機(jī)負(fù)載模擬試驗(yàn)、電機(jī)轉(zhuǎn)向測試、空載反電動(dòng)勢測量、空載反電動(dòng)勢溫度系數(shù)測定、溫升試驗(yàn)、電機(jī)特性曲線測量、空載損耗測量、過載試驗(yàn)、堵轉(zhuǎn)試驗(yàn)等,根據(jù)TB-416G-30-5型永磁同步電機(jī)的各項(xiàng)數(shù)據(jù)額定值,確定10個(gè)屬性的取值范圍,將得到的實(shí)驗(yàn)數(shù)據(jù)中明顯超出可達(dá)范圍的部分元組屬性值記為異常值,對(duì)異常值標(biāo)記為缺失值,后續(xù)處理方法按照缺失值處理。
2)熱卡填充。試驗(yàn)測試還存在數(shù)據(jù)采集及轉(zhuǎn)存過程中的丟失,針對(duì)于該部分?jǐn)?shù)據(jù),本文采用熱卡填充法對(duì)缺失數(shù)據(jù)進(jìn)行填充,具體實(shí)現(xiàn)即是把含有缺失值的元組的其他列屬性值與其他數(shù)據(jù)完整的元組屬性項(xiàng)求歐式距離,用距離最短的元組中對(duì)應(yīng)值作為缺失值的估計(jì)量進(jìn)行填充。
(1)
經(jīng)過預(yù)處理后的試驗(yàn)數(shù)據(jù)存在數(shù)據(jù)維度問題,過多的數(shù)據(jù)維度直接參與BP神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練會(huì)增大訓(xùn)練的時(shí)間復(fù)雜度,在原始數(shù)據(jù)各個(gè)屬性之間存在高關(guān)聯(lián)度的基礎(chǔ)之上,對(duì)電壓(V)、電流(A)、輸入功率(W)、功率因素、頻率(Hz)、轉(zhuǎn)速(rpm)、扭矩(N*m)、機(jī)械功率(W)、溫度(℃)、時(shí)間(s)10個(gè)屬性列進(jìn)行關(guān)聯(lián)度評(píng)價(jià),并對(duì)其做出定量分析,主要分為以下幾個(gè)步驟:
1)確定分析數(shù)列?;疑P(guān)聯(lián)度的輸入,是以上10個(gè)維度相同的不同屬性列??上却_定一列,用來作為參照,接下來則是計(jì)算其他屬性數(shù)列與該參考數(shù)列的相似度。
(2)
式中,Ai(k),Bi(k)分別表示第i個(gè)、第j個(gè)屬性列的序號(hào)為k的試驗(yàn)樣本值。
2)變量無量綱化。由于試驗(yàn)所得數(shù)據(jù)單位不一致,讀取原始數(shù)據(jù)時(shí)只能讀取其在一定單位下實(shí)際值,不同屬性的值存在量級(jí)差異。為消除單位不一致帶來的差異,需要對(duì)輸入的屬性數(shù)列進(jìn)行無量綱化。
于此,引入均值化算子,通過計(jì)算各屬性數(shù)列的均值項(xiàng)。公式(2)轉(zhuǎn)化為:
(3)
接下來對(duì)公式(3)應(yīng)用始點(diǎn)零象化算子,以此來計(jì)算出其相應(yīng)的始點(diǎn)零象:
(4)
式中,Ai(k)0=Ai(k)′-Ai(1)′,Bj(k)0=Bj(k)′-Bj(1)′。
3)關(guān)聯(lián)度計(jì)算?;疑P(guān)聯(lián)度計(jì)算公式如下:
(5)
式中,Eij表示參考數(shù)列Ai與比較數(shù)列Bi的灰色絕對(duì)關(guān)聯(lián)度。其中:
|BSj-ASi|=
通過式(5),可以計(jì)算出的灰色關(guān)聯(lián)度值Eij,進(jìn)一步就可以得出灰色絕對(duì)關(guān)聯(lián)矩陣:
(6)
4)關(guān)聯(lián)度排序。得到灰色絕對(duì)關(guān)聯(lián)度矩陣,對(duì)絕對(duì)關(guān)聯(lián)度值進(jìn)行排序,容易得出Eij=Eji,不考慮當(dāng)i=j的情況,共有45對(duì)關(guān)聯(lián)度值。
1)屬性組確定。根據(jù)關(guān)聯(lián)度排序,可以找到屬性最為相關(guān)的兩組及其以上的評(píng)價(jià)屬性,采用貪心算法,設(shè)計(jì)一個(gè)大小為45的結(jié)構(gòu)體,該結(jié)構(gòu)體包含兩個(gè)屬性點(diǎn)以及兩個(gè)屬性點(diǎn)的絕對(duì)關(guān)聯(lián)度,以關(guān)聯(lián)度值的大小為排序依據(jù),對(duì)排序完成的結(jié)構(gòu)體數(shù)組進(jìn)行遍歷操作,分出對(duì)應(yīng)屬性元組,要求元組屬性在4個(gè)對(duì)應(yīng)元組內(nèi)的一條或多條屬性為一分塊即屬性組,結(jié)果為分塊一:電流、扭矩、機(jī)械功率、時(shí)間;分塊二:電壓、輸入功率、頻率;分塊三:功率因素、轉(zhuǎn)速;分塊四:溫度。
2)特征屬性確定。每個(gè)分塊之間屬性相互獨(dú)立,但一個(gè)分塊內(nèi)存在多條屬性的形框,故此提取其中特殊屬性作為這個(gè)分塊的代表,通過計(jì)算各個(gè)屬性與電機(jī)運(yùn)行效率的關(guān)聯(lián)度最大即發(fā)展趨勢最相近的4條屬性,記為特征屬性,作為BP神經(jīng)網(wǎng)絡(luò)的輸入層。
神經(jīng)網(wǎng)絡(luò)[9]可分為三個(gè)部分,分別是輸入層、隱層和輸出層?;谡`差反向傳遞的人工神經(jīng)網(wǎng)絡(luò)(BP-NN)每層的內(nèi)部神經(jīng)元節(jié)點(diǎn)不進(jìn)行直接關(guān)聯(lián)和信息交流,信息的傳遞在不同層的神經(jīng)元之間進(jìn)行,并且只能與相鄰層神經(jīng)元進(jìn)行溝通,傳遞信息信號(hào)。
BP神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練過程是一個(gè)循環(huán)往復(fù)的過程,大體上劃分為兩個(gè)部分—數(shù)據(jù)信息的正向傳播和誤差的反向傳播。過程如圖1所示。
圖1 BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練階段
當(dāng)BP神經(jīng)網(wǎng)絡(luò)達(dá)到最后允許的誤差要求或是規(guī)定的迭代次數(shù),訓(xùn)練任務(wù)則終止,神經(jīng)網(wǎng)絡(luò)訓(xùn)練則代表完成。
1)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)與算法各層神經(jīng)元個(gè)數(shù)的確定。
輸入層神經(jīng)元個(gè)數(shù)根據(jù)經(jīng)過GRA模型與貪心并查集算法降維處理過后確定了4個(gè)屬性列為輸入,記作X=(x1,x2,,x3,x4)T加入值x0=-1,則向隱含層神經(jīng)元中引入了一個(gè)閾值。對(duì)輸入樣本,在這里需要進(jìn)行一次劃分,96%用來作為訓(xùn)練樣本進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練,4%用作驗(yàn)證神經(jīng)網(wǎng)絡(luò)的準(zhǔn)確度,并對(duì)輸入樣本進(jìn)行歸一化處理。
隱含層神經(jīng)元在訓(xùn)練過程中,同與輸入層神經(jīng)元和輸出層神經(jīng)元相鄰,可直接進(jìn)行信息交流。其個(gè)數(shù)的選擇能影響神經(jīng)網(wǎng)絡(luò)收斂速度,以及神經(jīng)網(wǎng)絡(luò)收斂性能。隱含層神經(jīng)元在信息和誤差傳遞過程中,不斷調(diào)整參數(shù),使預(yù)測值更能接近期望值,使得結(jié)果在誤差范圍內(nèi)。通過經(jīng)驗(yàn)公式[10]:
(7)
確定隱含層神經(jīng)元個(gè)數(shù),其中α為區(qū)間[1,10]之間整數(shù),n=4代表輸入層神經(jīng)元個(gè)數(shù),m=1為輸出層神經(jīng)元個(gè)數(shù)。
根據(jù)上述表達(dá)式計(jì)算出隱含層神經(jīng)元的個(gè)數(shù)范圍為[4,13],故此選取5個(gè)神經(jīng)元來設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)隱層。隱層神經(jīng)元向量Y=(y1,y2,y3,y4,y5)T,加入值y0=-1,則對(duì)輸出層神經(jīng)元引入了一個(gè)閾值。記O=(o1)T為神經(jīng)網(wǎng)絡(luò)輸出層神經(jīng)元向量,D=(d1)T為神經(jīng)網(wǎng)絡(luò)期望輸出的向量。設(shè)置權(quán)值矩陣V=(v1,v2,v3,v4,v5)T為輸入層到隱層之間的轉(zhuǎn)換矩陣,列向量vj=(v1j,v2j,v3j,v4j)T表示隱含層第j個(gè)神經(jīng)元其對(duì)應(yīng)的權(quán)值向量,vij表示輸入層第i個(gè)神經(jīng)元與隱含層第j個(gè)神經(jīng)元之間的連接權(quán)。權(quán)值矩陣W=(w1)T為隱含層到神經(jīng)網(wǎng)絡(luò)輸出層之間的傳遞矩陣,其中列向量w1=(w11,w21,w31,w41,w51)為輸出層的第1個(gè)神經(jīng)元的權(quán)值向量,wjk為隱含層第j個(gè)神經(jīng)元與輸出層第k個(gè)神經(jīng)元之間的連接權(quán)。
圖2 BP神經(jīng)網(wǎng)絡(luò)模型
2)BP-NN模型建立。輸出層表達(dá)式記為:
o1=f(net1)
(8)
隱層時(shí),隱含層存在:
yj=f(netj),j=1,2,…,5
(9)
在數(shù)據(jù)傳遞過程中,對(duì)傳遞函數(shù)f(x)采用S型函數(shù),即公式(10)所示:
(10)
函數(shù)f(x)的一些天然優(yōu)勢—連續(xù)性、可導(dǎo),且有:f′(x)=f(x)[1-f(x)]。
3)調(diào)整網(wǎng)絡(luò)信息誤差與權(quán)值。定義誤差E,其代表期望輸出與神經(jīng)網(wǎng)絡(luò)預(yù)測輸出的符合程度,誤差E的具體計(jì)算方式如式(11)所示:
(11)
將公式(11)引入隱含層進(jìn)行計(jì)算,可以得到均方誤差:
(12)
同時(shí)加入輸入層,進(jìn)行展開:
(13)
由上式可以看出,網(wǎng)絡(luò)輸入誤差是各層權(quán)值wj1、vij的函數(shù),因此調(diào)整權(quán)值可改變誤差E,使權(quán)值的調(diào)整量與誤差的負(fù)梯度成正比,即:
i=1,2,…,4;j=1,2,…,5
其中:負(fù)號(hào)表示梯度下降,常數(shù)表示比例系數(shù),在訓(xùn)練中反映了學(xué)習(xí)速率,設(shè)定為0.01。
經(jīng)過一系列轉(zhuǎn)換,得出三層BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法權(quán)值調(diào)整具體公式為:
(14)
神經(jīng)網(wǎng)絡(luò)訓(xùn)練中,各層數(shù)值的變化主要是由輸入信號(hào)、
學(xué)習(xí)率以及誤差信號(hào)決定的。針對(duì)輸出層的誤差E,當(dāng)它的值在預(yù)先設(shè)定的誤差0.001范圍內(nèi)時(shí),則表明神經(jīng)網(wǎng)絡(luò)訓(xùn)練達(dá)到了精度要求,完成神經(jīng)網(wǎng)絡(luò)訓(xùn)練階段,便可使用得到的訓(xùn)練模型對(duì)實(shí)際的預(yù)測樣本進(jìn)行預(yù)測試驗(yàn)。
4)測試樣本集驗(yàn)證。由訓(xùn)練得到的BP神經(jīng)網(wǎng)絡(luò)模型,對(duì)先前劃分的測試集進(jìn)行測試,輸入樣本指標(biāo),得到預(yù)測的電機(jī)運(yùn)行效率,設(shè)定一個(gè)閾值v=0.05,當(dāng)誤差率絕對(duì)值在誤差率范圍內(nèi)時(shí),表示預(yù)測準(zhǔn)確,否則失敗。
通過對(duì)永磁同步電機(jī)(TB-416G-30-5型)進(jìn)行分別進(jìn)行電機(jī)負(fù)載模擬試驗(yàn)、電機(jī)轉(zhuǎn)向測試、空載反電動(dòng)勢測量、空載反電動(dòng)勢溫度系數(shù)測定、溫升試驗(yàn)、電機(jī)特性曲線測量、空載損耗測量、過載試驗(yàn)、堵轉(zhuǎn)試驗(yàn)等,得到記錄的10個(gè)屬性項(xiàng)數(shù)據(jù),共計(jì)1 068條記錄。試驗(yàn)數(shù)據(jù)經(jīng)過異常值過濾和缺失值填補(bǔ)后,部分?jǐn)?shù)據(jù)如表1所示。
經(jīng)過試驗(yàn)數(shù)據(jù)預(yù)處理后,將數(shù)據(jù)放入灰色關(guān)聯(lián)度求解函數(shù),可求解得到對(duì)應(yīng)的絕對(duì)關(guān)聯(lián)度矩陣。
表1 數(shù)據(jù)預(yù)處理
其中:X1...X5...X10分別表示電壓(V)、電流(A)、輸入功率(W)、功率因素、頻率(Hz)、轉(zhuǎn)速(rpm)、扭矩(N*m)、機(jī)械功率(W)、溫度(℃)、時(shí)間(s)。
表2 屬性關(guān)聯(lián)矩陣
為后續(xù)分析更加簡明,將關(guān)聯(lián)矩陣表示為圖3。
圖3 關(guān)聯(lián)度分析
利用該矩陣,結(jié)合貪心算法思想,將其中相關(guān)度較高的元組屬性相連接,如圖4所示。
圖4 關(guān)聯(lián)度求解
運(yùn)用并查集思想,尋找每個(gè)屬性組與運(yùn)行效率關(guān)聯(lián)度最大的屬性列,得出屬性1、2、3、4;設(shè)計(jì)4-5-1的BP神經(jīng)網(wǎng)絡(luò),對(duì)樣本數(shù)據(jù)做劃分,使用隨機(jī)函數(shù)選取96%的數(shù)據(jù)作訓(xùn)練,剩余4%數(shù)據(jù)作為測試樣本。經(jīng)過試驗(yàn)后,神經(jīng)網(wǎng)絡(luò)對(duì)測試集測試準(zhǔn)確率如圖5所示。
圖5 神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)果
具體預(yù)測數(shù)據(jù)見表3,其中誤差率為預(yù)測值與實(shí)際值的差值與實(shí)際值的比值。
表3 神經(jīng)網(wǎng)絡(luò)預(yù)測值
對(duì)測試樣本進(jìn)行神經(jīng)網(wǎng)絡(luò)模型驗(yàn)證[11],總數(shù)記為n,并以0.05為最大誤差允許范圍,誤差在范圍內(nèi)認(rèn)定為預(yù)測準(zhǔn)確,個(gè)數(shù)記為m,超出范圍記為預(yù)測失敗,用m/n表示神經(jīng)網(wǎng)絡(luò)預(yù)測準(zhǔn)確率,計(jì)算得到神經(jīng)網(wǎng)絡(luò)預(yù)測的準(zhǔn)確率為90.86%。
本次實(shí)驗(yàn)利用BP神經(jīng)網(wǎng)絡(luò)經(jīng)過訓(xùn)練樣本訓(xùn)練后,神經(jīng)網(wǎng)絡(luò)預(yù)測準(zhǔn)確率在90%左右,原因主要有以下幾點(diǎn):
1)訓(xùn)練數(shù)據(jù)過少:對(duì)于1000條數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練樣本而言,數(shù)據(jù)量依舊不夠,隨著后續(xù)數(shù)據(jù)不斷增多,預(yù)測效果也會(huì)提升。
2)BP神經(jīng)網(wǎng)絡(luò)的輸入層維度過小:選取的4個(gè)屬性作為神經(jīng)網(wǎng)絡(luò)的輸入,其包含的信息量不足以表示10列屬性,考慮增加神經(jīng)網(wǎng)絡(luò)的輸入屬性類,即對(duì)灰色關(guān)聯(lián)度分析做改進(jìn)。
3)電機(jī)效率評(píng)價(jià)的主觀因素。電機(jī)效率標(biāo)準(zhǔn)評(píng)價(jià)的數(shù)據(jù)是期初人為測試得到,存在一定的人為主觀因素影響,使得電機(jī)效率評(píng)價(jià)標(biāo)準(zhǔn)不一致。
4)BP神經(jīng)網(wǎng)絡(luò)本身局限性:存在收斂慢、容易陷入局部最小值、出現(xiàn)過擬合現(xiàn)象等不定因素。
考慮到神經(jīng)網(wǎng)絡(luò)對(duì)電機(jī)運(yùn)行效率的預(yù)測效果不佳在一定程度上是因?yàn)樯窠?jīng)網(wǎng)絡(luò)輸入屬性較少。這里對(duì)灰色關(guān)聯(lián)分析維度選擇進(jìn)行了調(diào)整,改變貪心算法要求為分出5個(gè)屬性組,如圖6所示。
圖6 灰色關(guān)聯(lián)度劃分
通過增加輸入層神經(jīng)元個(gè)數(shù),得到的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)即使5—5—1型,減小訓(xùn)練誤差值goal=0.000 1,設(shè)定網(wǎng)絡(luò)訓(xùn)練中最小梯度grad=1.0e-005。更改神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)后,對(duì)試驗(yàn)數(shù)據(jù)再做訓(xùn)練測試,得到的神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)果如圖7所示。
電機(jī)測試數(shù)據(jù)分析模型經(jīng)過改進(jìn),最終得到神經(jīng)網(wǎng)絡(luò)的準(zhǔn)確度在94%左右。
本文設(shè)計(jì)了基于多參數(shù)評(píng)價(jià)的電機(jī)動(dòng)態(tài)性能評(píng)估模型,通過灰關(guān)聯(lián)度進(jìn)行參數(shù)選擇并建立權(quán)重,使用BP神經(jīng)網(wǎng)絡(luò)將篩選出來的參數(shù)進(jìn)行訓(xùn)練評(píng)價(jià),根據(jù)其模型的特性,采用多組數(shù)據(jù)訓(xùn)練得到評(píng)價(jià)結(jié)果。在誤差分析方面,用同種參數(shù)的電機(jī)測試數(shù)據(jù)前部分用于評(píng)價(jià),后半部分對(duì)結(jié)果進(jìn)行誤差分析。在此基礎(chǔ)上,對(duì)評(píng)價(jià)模型得到的結(jié)果與真實(shí)表現(xiàn)電機(jī)性能的效率之間采用了擬合模型反驗(yàn)證了評(píng)價(jià)模型的準(zhǔn)確性。這些曲線的獲得一方面可及時(shí)了解客戶使用狀態(tài),另一方面通過產(chǎn)品運(yùn)行數(shù)據(jù),幫助設(shè)計(jì)人員及時(shí)了解產(chǎn)品缺陷,解決問題于發(fā)生之前,最終這些數(shù)據(jù)為后期進(jìn)行大數(shù)據(jù)分析奠定堅(jiān)實(shí)的基礎(chǔ)。