韓 濤, 姚 維
(浙江大學(xué)電氣工程學(xué)院,杭州 310027)
隨著我國電力市場的不斷擴(kuò)大與對清潔可再生能源日益增長的需求,風(fēng)力發(fā)電行業(yè)在我國得到了迅猛發(fā)展,風(fēng)機(jī)葉片結(jié)冰現(xiàn)象也日益突出[1-5]。葉片結(jié)冰不僅縮短風(fēng)機(jī)使用壽命,降低生產(chǎn)效益,還會產(chǎn)生安全隱患[6]。部分風(fēng)電設(shè)備具有自動檢測結(jié)冰功能,但其僅能檢測到嚴(yán)重的結(jié)冰現(xiàn)象,風(fēng)機(jī)葉片結(jié)冰是一個(gè)緩變過程,從早期的輕度結(jié)冰到葉片的嚴(yán)重覆冰需要較長的時(shí)間。如果能夠在故障初期有效地檢測到結(jié)冰趨勢,并給予適當(dāng)?shù)膽?yīng)對措施,則能夠有效地避免上述諸多不良影響。
目前,監(jiān)控與采集(supervisory control and data acquisition,SCADA)系統(tǒng)已經(jīng)廣泛應(yīng)用在風(fēng)力發(fā)電領(lǐng)域[7-8],在發(fā)電過程中實(shí)時(shí)采集風(fēng)機(jī)工作的運(yùn)行參數(shù),儲存海量的歷史數(shù)據(jù)。利用智能算法挖掘歷史數(shù)據(jù)中的關(guān)鍵信息,建立結(jié)冰檢測模型,在實(shí)際運(yùn)行中對葉片結(jié)冰進(jìn)行實(shí)時(shí)監(jiān)測,為風(fēng)力發(fā)電的安全與效率提供有力保障。目前,數(shù)據(jù)驅(qū)動的智能算法在風(fēng)機(jī)葉片結(jié)冰檢測已經(jīng)成為風(fēng)電領(lǐng)域內(nèi)的研究熱點(diǎn)之一,如支持向量機(jī)(Support Vector Machine,SVM)[9]、隨機(jī)森林[10]、Xgboost[11-13]、人工神經(jīng)網(wǎng)絡(luò)[14-15]等,這些方法普遍是樣本標(biāo)簽已知的有監(jiān)督算法。
風(fēng)機(jī)葉片結(jié)冰是一個(gè)漸變過程,初期不易被觀測,人工記錄時(shí)容易造成歷史數(shù)據(jù)的標(biāo)簽缺失以及誤標(biāo)注問題。標(biāo)簽的誤標(biāo)注將誤導(dǎo)模型將早期結(jié)冰判別為正常,在一定程度上削弱了模型對早期結(jié)冰趨勢的檢測靈敏度;缺失標(biāo)簽的樣本中也蘊(yùn)含著豐富的信息,如果能對其加以利用,則模型的判別準(zhǔn)確度得以提升。
針對上述問題,提出一種K 近鄰(K-Nearest Neighbor,KNN)[16]與SVM協(xié)同訓(xùn)練[17-18]的風(fēng)機(jī)葉片結(jié)冰早期檢測方法。KNN與SVM被分別用于提取樣本間的相似關(guān)系與樣本自身的判別特征。本方法利用半監(jiān)督學(xué)習(xí)中的協(xié)同訓(xùn)練機(jī)制,充分利用了標(biāo)簽缺失樣本,對可能誤標(biāo)注的樣本進(jìn)行標(biāo)簽矯正與重新訓(xùn)練,對早期結(jié)冰數(shù)據(jù)進(jìn)行信息提取,以提高模型對葉片結(jié)冰檢測的準(zhǔn)確度和靈敏度。
KNN是一種典型的分類算法,它可以直接應(yīng)用于在線場景。采集到新的在線樣本時(shí),KNN 在歷史樣本點(diǎn)中尋找k個(gè)與在線樣本最為相似的歷史樣本,通過投票法獲取標(biāo)簽。
KNN需要事先定義樣本間的距離函數(shù)來度量近鄰關(guān)系,通常情況下選擇歐氏距離。給定兩個(gè)n 維樣本和,其歐氏距離dij定義為:
對于一個(gè)新的在線樣本xnew,KNN 在訓(xùn)練樣本集合中尋找與樣本xnew距離最小的k 個(gè)樣本及其對應(yīng)標(biāo)簽{(x1m,y1m),(x2m,y2m),…,(xkm,ykm)},則xnew的標(biāo)簽被確定為{y1m,y2m,…,ykm}中出現(xiàn)次數(shù)最多的標(biāo)簽類別。KNN利用了樣本間的相似關(guān)系,但對于每個(gè)樣本不同變量的關(guān)系不敏感。
SVM發(fā)展于統(tǒng)計(jì)學(xué)習(xí)理論,是一種具有高泛化能力的分類模型,具有結(jié)構(gòu)風(fēng)險(xiǎn)最小化的特點(diǎn),能夠在模型復(fù)雜性與擬合能力間找到最好的平衡點(diǎn)。
給定訓(xùn)練數(shù)據(jù)集D ={(x1,y1),…,(xm,ym)},其中,每個(gè)樣本點(diǎn)(xi,yi)包括特征xi∈R,標(biāo)簽yi∈{+1,- 1}。對于超平面ωx +b =0,定義樣本點(diǎn)(xi,yi)到該超平面的幾何距離為:
式中:ω為投影向量;b為截距。定義樣本集合關(guān)于該超平面的距離為γ,此距離等價(jià)于樣本集合中所有樣本點(diǎn)到該超平面幾何距離的最小值,即:
SVM旨在找到一個(gè)最佳的超平面,使兩類樣本集合關(guān)于該超平面的距離γ 最大化,從而達(dá)到最佳分割的效果。其優(yōu)化目標(biāo)為:
該優(yōu)化問題可以通過適當(dāng)變換以及拉格朗日乘子法轉(zhuǎn)換為:
式中,αi為對應(yīng)的拉格朗日因子。該問題可通過序列最小優(yōu)化算法求解,從而得到最優(yōu)解α*。根據(jù)Vapnik的理論,α*中至少存在一個(gè)k 使得αk能夠取得最優(yōu)解[19],對于此k,有下述關(guān)系成立:
因此,最優(yōu)分隔超平面的投影向量
以及截距
綜上,對于在線樣本xnew,其標(biāo)簽為
上述運(yùn)算過程主要針對線性可分?jǐn)?shù)據(jù),當(dāng)不同類別間無法通過超平面線性分隔時(shí),可以引進(jìn)非線性的核函數(shù),將原非線性問題轉(zhuǎn)化為高維空間中的線性可分問題。當(dāng)非線性核函數(shù)K(xi,xj)滿足Mercer理論,其就對應(yīng)著高維空間中的一種內(nèi)積,只需將式(5)中的內(nèi)積替換為核函數(shù),即可構(gòu)建非線性分隔的目標(biāo)函數(shù),即:
對應(yīng)的在線樣本標(biāo)簽為:
在核SVM中,最常用的非線性核函數(shù)為徑向基函數(shù):
式中,r為徑向基函數(shù)的到達(dá)率參數(shù)。
協(xié)同訓(xùn)練是一種半監(jiān)督學(xué)習(xí)方法,充分利用標(biāo)簽缺失數(shù)據(jù)中的隱藏信息,提升模型準(zhǔn)確度。協(xié)同訓(xùn)練的主要步驟如圖1 所示。
圖1 協(xié)同訓(xùn)練機(jī)制示意圖
構(gòu)建兩個(gè)彼此不同的分類器,先由有標(biāo)簽樣本進(jìn)行訓(xùn)練,再分別從無標(biāo)簽樣本集合中選擇出高置信度樣本并打上標(biāo)簽,將選出的樣本從無標(biāo)簽集合中剔除,加入對方的有標(biāo)簽樣本集合中。將上述過程重復(fù)多次,直到達(dá)到預(yù)先設(shè)定的最大迭代次數(shù)或沒有新的無標(biāo)簽樣本被選出。這種訓(xùn)練機(jī)制能夠在充分利用標(biāo)簽缺失的樣本信息的同時(shí),使2 種分類器互相促進(jìn),共同提升分類準(zhǔn)確度。
采用KNN和SVM分別充當(dāng)協(xié)同訓(xùn)練中的2 個(gè)分類器。這2 種方法關(guān)注的數(shù)據(jù)模式不同,分類原理也有較大差異,能夠分別從樣本間的相似關(guān)系以及樣本的幾何特征這2 個(gè)相異的角度來進(jìn)行分類,因此適合用于協(xié)同訓(xùn)練。
在協(xié)同訓(xùn)練機(jī)制中,需要根據(jù)分類器的輸出結(jié)果尋找高置信度樣本。對于KNN模型,設(shè)對于某無標(biāo)簽樣本,其在有標(biāo)簽樣本集合中搜索得到的k 個(gè)近鄰樣本為{(x1m,y1m),(x2m,y2m),…,(xkm,ykm)},其中yim∈{1,0},則其將該樣本標(biāo)簽判別為1 和0 的置信度分別為:
對于SVM,可以利用新樣本距離分隔超平面距離γnew來衡量其置信程度
即新樣本距離分隔超平面越遠(yuǎn),置信度越高。
易知,KNN和SVM的分類置信度均為取值在0 ~1 之間的浮點(diǎn)數(shù),且越接近1 說明分類置信度越高。通常情況下,可設(shè)定置信度閾值在0.7 ~0.9 之間,當(dāng)模型對某標(biāo)簽缺失樣本的分類置信度高于該閾值時(shí),即認(rèn)為其是高置信度樣本,并將其用于模型重訓(xùn)練。
基于前述的KNN-SVM 協(xié)同訓(xùn)練方法,可以構(gòu)建風(fēng)機(jī)葉片結(jié)冰的早期檢測算法。該方法能夠?qū)?biāo)簽缺失樣本以及潛在的誤標(biāo)注樣本進(jìn)行信息提取與矯正,提升分類模型的準(zhǔn)確度與靈敏度。具體建模與應(yīng)用步驟如下。
步驟1訓(xùn)練樣本集合構(gòu)建與數(shù)據(jù)標(biāo)準(zhǔn)化。在數(shù)據(jù)集的有標(biāo)簽樣本中,分為結(jié)冰數(shù)據(jù)與正常樣本。通常情況下,結(jié)冰樣本的標(biāo)簽為風(fēng)電場巡視人員發(fā)現(xiàn)結(jié)冰現(xiàn)象后進(jìn)行標(biāo)注,因此可信度較高。由于觀測不及時(shí)以及人為觀察的局限性,一些早期結(jié)冰樣本可能被誤標(biāo)注為正常,如果能對這些樣本的標(biāo)簽進(jìn)行矯正并將其用于模型訓(xùn)練,將可提升模型對早期結(jié)冰的檢測靈敏度。結(jié)冰是一個(gè)緩慢演化的過程,不可能突然發(fā)生,因此設(shè)立如下規(guī)則:在有標(biāo)簽數(shù)據(jù)中,若在結(jié)冰樣本采集時(shí)間點(diǎn)之前一段時(shí)間內(nèi)的樣本被標(biāo)注為正常,則認(rèn)為其標(biāo)簽不可信,將其標(biāo)簽剔除并歸入無標(biāo)簽樣本集合,因此無標(biāo)簽樣本集合中包含標(biāo)簽缺失樣本以及標(biāo)簽不可信樣本。
由于KNN與SVM方法需要各變量的取值范圍一致,利用數(shù)據(jù)標(biāo)準(zhǔn)化方法對原始數(shù)據(jù)進(jìn)行處理。對于每個(gè)變量x,其標(biāo)準(zhǔn)化方法為:
式中:μ、σ分別為該變量在訓(xùn)練集中的均值和標(biāo)準(zhǔn)差。
步驟2模型訓(xùn)練。設(shè)置最大迭代次數(shù)、SVM 和KNN的置信度閾值,利用步驟1 中得到有標(biāo)簽樣本集合與無標(biāo)簽樣本集對兩個(gè)模型進(jìn)行協(xié)同訓(xùn)練,得到訓(xùn)練后的分類模型。
步驟3在線應(yīng)用。將步驟2 中訓(xùn)練好的模型用于在線結(jié)冰檢測。需要注意的是,對于某些樣本,SVM和KNN可能會出現(xiàn)不同的分類結(jié)果,此時(shí)需要利用2種方法的分類置信度進(jìn)行決策。如果KNN 的判定結(jié)果為結(jié)冰(第1 類),SVM 的判別結(jié)果為正常,則最終分類結(jié)果y的計(jì)算方式為:
反之,如果KNN的判定結(jié)果為正常(第0 類),SVM的判別結(jié)果為結(jié)冰,則標(biāo)簽y的計(jì)算方式為:
采用某風(fēng)機(jī)SCADA系統(tǒng)采集的數(shù)據(jù)進(jìn)行模型訓(xùn)練與性能測試。采樣時(shí)間為7 s,數(shù)據(jù)集內(nèi)包括風(fēng)速、有功功率、環(huán)境溫度、機(jī)艙溫度、變槳電動機(jī)溫度、葉片角度等26 個(gè)變量,這些變量構(gòu)成樣本點(diǎn)的特征x。按照前述的訓(xùn)練數(shù)據(jù)集構(gòu)建方法,將在發(fā)現(xiàn)結(jié)冰時(shí)間點(diǎn)之前的20 min內(nèi)的正常標(biāo)簽樣本視為標(biāo)簽不可信,并將其歸入無標(biāo)簽集合中。最終,得到有標(biāo)簽樣本16 572個(gè),無標(biāo)簽樣本2 405 個(gè),隨機(jī)選取有標(biāo)簽數(shù)據(jù)集中80%作為訓(xùn)練集(共13 258 個(gè)樣本),其余20%作為測試集(共3 314 個(gè)樣本)。
實(shí)驗(yàn)之前,需要建立合理的評價(jià)指標(biāo)來客觀評價(jià)模型的檢測性能,參考曹渝昆等[13]所采用的查準(zhǔn)率(precision)、查全率(recall)以及F1指標(biāo)進(jìn)行性能評價(jià)。
利用訓(xùn)練集中的有標(biāo)簽數(shù)據(jù)及無標(biāo)簽數(shù)據(jù)協(xié)同訓(xùn)練KNN和SVM模型,通過交叉驗(yàn)證[20]對模型超參數(shù)進(jìn)行調(diào)整,最終選取KNN 中的近鄰樣本數(shù)目k =7,KNN和SVM的置信度閾值分別為0.7 和0.85。最終無標(biāo)簽樣本中有786 條數(shù)據(jù)被選取為高置信度樣本并參與訓(xùn)練。圖2 展示了模型在測試集中3 314 個(gè)測試樣本的分類結(jié)果的混淆矩陣。
圖2 KNN-SVM方法檢測結(jié)果的混淆矩陣
混淆矩陣是一種用于評估模型分類性能的可視化方法,其橫坐標(biāo)為模型的預(yù)測結(jié)果,縱坐標(biāo)則為真實(shí)的標(biāo)簽。圖中,主對角線上的2 個(gè)元素分別為模型成功檢測出的正常樣本數(shù)目和結(jié)冰樣本數(shù)目,而副對角線上的元素則分別為模型的誤判樣本數(shù)和漏檢樣本數(shù)。如圖2 所示,模型成功地檢測出大多數(shù)結(jié)冰樣本,其有效性得以驗(yàn)證。
為評估協(xié)同訓(xùn)練機(jī)制對結(jié)冰檢測性能的促進(jìn)作用,引入其他結(jié)冰檢測模型,包括KNN、SVM、隨機(jī)森林、Xgboost進(jìn)行性能對比,根據(jù)混淆矩陣計(jì)算各方法的檢測結(jié)果的性能指標(biāo)參數(shù)見表1。
在不使用協(xié)同訓(xùn)練機(jī)制時(shí),KNN的各性能指標(biāo)均低于KNN-SVM 協(xié)同方法,而SVM 除查準(zhǔn)率略高以外,其查全率與F1值也明顯低于協(xié)同模型,這說明2種模型在協(xié)同訓(xùn)練的過程中起到了相互促進(jìn)的作用,提高了結(jié)冰檢測的準(zhǔn)確度。隨機(jī)森林與Xgboost 2 種集成學(xué)習(xí)模型的查準(zhǔn)率略高于所提出的方法,但由于沒有對早期結(jié)冰樣本進(jìn)行充分學(xué)習(xí)與利用,導(dǎo)致其對結(jié)冰數(shù)據(jù)的檢測靈敏度不足,其查全率和F1值均顯著低于KNN-SVM協(xié)同模型,這說明了對無標(biāo)簽和標(biāo)簽不可信數(shù)據(jù)的利用與矯正的必要性。在結(jié)冰檢測中,模型的查全率比查準(zhǔn)率更為重要,因?yàn)橐坏┙Y(jié)冰現(xiàn)象被漏檢,將有可能造成巨大安全隱患,相比于誤檢的后果更加嚴(yán)重。因此,在評估模型性能時(shí)應(yīng)更加關(guān)注模型的查全率。在所有方法中,KNN-SVM協(xié)同方法的查全率顯著高于其他方法,這進(jìn)一步驗(yàn)證了協(xié)同訓(xùn)練機(jī)制的優(yōu)勢。
現(xiàn)有數(shù)據(jù)驅(qū)動風(fēng)機(jī)結(jié)冰檢測方法主要采用有監(jiān)督算法,對于廣泛存在的標(biāo)簽缺失與誤標(biāo)注數(shù)據(jù)沒有進(jìn)行矯正與利用,這在一定程度上降低了葉片結(jié)冰檢測的準(zhǔn)確度。
本文提出了一種基于KNN和SVM協(xié)同訓(xùn)練的風(fēng)機(jī)結(jié)冰檢測模型,該方法能夠?qū)?biāo)簽缺失和標(biāo)簽不可信樣本進(jìn)行信息提取與利用,增加模型對早期結(jié)冰趨勢的擬合能力。實(shí)驗(yàn)結(jié)果表明,相比于其他有監(jiān)督方法,該方法具有較高的檢測準(zhǔn)確性與靈敏度,對風(fēng)力發(fā)電的安全性維護(hù)研究具有實(shí)際意義。