高志華,賁可榮
海軍工程大學(xué) 計(jì)算機(jī)工程系,武漢 430033
潛艇聲學(xué)故障識(shí)別是根據(jù)影響潛艇隱身性能的振動(dòng)異常殼體部位向內(nèi)定位出倉內(nèi)設(shè)備或區(qū)域(即查找內(nèi)部主要噪聲源),從而提供聲學(xué)故障報(bào)警和修復(fù)建議[1]。因此聲學(xué)故障識(shí)別研究對于提高潛艇隱身性能十分關(guān)鍵,也是目前研究熱點(diǎn)之一。潛艇中的故障會(huì)帶來不正常的機(jī)械振動(dòng),從而引發(fā)異常的聲響。由于振動(dòng)參數(shù)比起其他可從潛艇中獲取的狀態(tài)參數(shù)更能直接、快速、準(zhǔn)確地反映機(jī)器運(yùn)行狀態(tài),所以振動(dòng)噪聲信號一般作為對機(jī)組狀態(tài)進(jìn)行監(jiān)測與診斷的主要依據(jù)。實(shí)際應(yīng)用中很難獲取到描述各種故障(工況)狀態(tài)的噪聲源樣本,即可以采集到大量的機(jī)械噪聲數(shù)據(jù),但對這些數(shù)據(jù)進(jìn)行標(biāo)注需要專家參與且要耗費(fèi)大量時(shí)間且代價(jià)昂貴。由于存在可用于學(xué)習(xí)的已標(biāo)注噪聲源樣本嚴(yán)重缺失的問題,因此研究小樣本條件下潛艇的機(jī)械噪聲源識(shí)別具有重要意義。
在擁有少量有標(biāo)識(shí)樣本的情況下,如何利用大量的未標(biāo)識(shí)樣本來改善學(xué)習(xí)器性能成為當(dāng)前機(jī)器學(xué)習(xí)研究中最受關(guān)注的問題之一[2]。研究表明,對于訓(xùn)練樣本的精確標(biāo)記不但需要該領(lǐng)域中大量的專家參與,并且標(biāo)記樣本花費(fèi)的時(shí)間是其獲取時(shí)間的10倍以上[3]。這種現(xiàn)實(shí)使傳統(tǒng)的機(jī)器學(xué)習(xí)算法無法得以有效應(yīng)用,原因在于監(jiān)督學(xué)習(xí)需要大量標(biāo)記樣本對分類器進(jìn)行迭代訓(xùn)練,否則根據(jù) PAC(Probably Approximately Correct)學(xué)習(xí)理論,算法的泛化性能無法有效提高[4]。
在這種情況下,半監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)方法應(yīng)運(yùn)而生并迅速發(fā)展,成為解決上述問題的重要技術(shù)。半監(jiān)督學(xué)習(xí)中的主動(dòng)學(xué)習(xí)技術(shù)利用一個(gè)好的樣本選擇策略對眾多未標(biāo)注樣本進(jìn)行選擇標(biāo)注,使之能夠加入到訓(xùn)練集中進(jìn)行訓(xùn)練[5]。本文提出一種基于主動(dòng)學(xué)習(xí)和自學(xué)習(xí)的SVDD(Support Vector Data Description)噪聲源識(shí)別方法,該方法首先采用不確定性采樣策略從大量無標(biāo)記樣本中選擇信息量大的樣本交給專家進(jìn)行標(biāo)注,然后對未標(biāo)記樣本加以利用,選出部分有代表性的樣本進(jìn)行自動(dòng)標(biāo)注,進(jìn)一步將通過主動(dòng)學(xué)習(xí)和自學(xué)習(xí)標(biāo)記后的樣本加入到訓(xùn)練集中對分類器SVDD進(jìn)行循環(huán)訓(xùn)練,以實(shí)現(xiàn)在最少標(biāo)記樣本代價(jià)下最大程度地提高分類器的性能。
支持向量機(jī)(SVM)方法具有良好的理論性質(zhì),如以統(tǒng)計(jì)學(xué)習(xí)理論為基礎(chǔ)的泛化能力,以核方法引入的非線性機(jī)制,以及凸優(yōu)化理論保證的全局最優(yōu)解性質(zhì)等[6]。與已有的機(jī)器學(xué)習(xí)方法(如神經(jīng)網(wǎng)絡(luò))相比,SVM更易于使用,因此在許多領(lǐng)域得到了廣泛應(yīng)用。支持向量數(shù)據(jù)描述方法(SVDD)靈感來自于支持向量機(jī),是一種采用直接尋找封閉區(qū)域分類的單類(one-class)分類方法[7]。Vapnik認(rèn)為如果樣本的數(shù)據(jù)量比較小時(shí),采用直接尋找封閉區(qū)域的方式來分類比估計(jì)概率密度的方法更為有效[8]。
給定數(shù)據(jù)集{xi}(xi∈Rn;i=1,2,…,N),通常情況下,即使排除了偏遠(yuǎn)的樣本點(diǎn),數(shù)據(jù)依然不會(huì)呈現(xiàn)球狀分布。為了使算法適用于更廣泛的領(lǐng)域,SVDD采用同SVM方法類似的核函數(shù)方法,把樣本變換到更高維的特征空間,假設(shè)非線性映射?(x)將數(shù)據(jù)映射到高維特征空間。奇異的數(shù)據(jù)點(diǎn)應(yīng)該位于超球體的外面,為了減少奇異點(diǎn)的影響,引入松弛因子ξi≥0(即允許存在錯(cuò)誤)。為訓(xùn)練樣本建立一個(gè)最小超球,設(shè)超球球心和半徑分別為a和R,則廣義描述模型即為如下凸二次規(guī)劃:
約束條件為:
其中C是一個(gè)常數(shù),控制對錯(cuò)分樣本的懲罰程度。將式(2)代入式(1)引入Lagrange系數(shù)后優(yōu)化方程變?yōu)椋?/p>
圖1 基于主動(dòng)學(xué)習(xí)和自學(xué)習(xí)的學(xué)習(xí)系統(tǒng)框圖
對于任一支持向量xs,R由下式給出:
正定核或Mercer核都可以用來作為SVDD的核函數(shù),本文選用高斯核:
本文將one-class分類方法SVDD擴(kuò)展至多類分類問題中。初始訓(xùn)練時(shí)為每一個(gè)模式類構(gòu)建一個(gè)超球,使得該超球體內(nèi)包含該模式類別中的所有已標(biāo)注樣本。當(dāng)大量未標(biāo)注樣本載入后,選擇其中最有“價(jià)值”的樣本進(jìn)行標(biāo)注,并將最終選擇的樣本加入到訓(xùn)練集中進(jìn)行學(xué)習(xí)以更新分類模型。在選擇最有“價(jià)值”樣本的過程中,既考慮到樣本的不確定性,又兼顧樣本的代表性,采用主動(dòng)學(xué)習(xí)技術(shù)和自學(xué)習(xí)相結(jié)合的方法對樣本進(jìn)行標(biāo)注。
考慮到構(gòu)造訓(xùn)練樣本集的標(biāo)注負(fù)擔(dān),在算法設(shè)計(jì)時(shí)主要從兩個(gè)方面出發(fā):(1)對于選出的用于人工標(biāo)注的樣本必須是對于當(dāng)前的分類模型而言最具信息量的,以最大化人工標(biāo)注的效率;(2)對于剩余的大量未標(biāo)注樣本所包含的信息,在不增加人工標(biāo)注負(fù)擔(dān)的情況下,要進(jìn)一步加以利用?;谝陨蟽牲c(diǎn)考慮,本文提出了一種基于不確定性樣本選擇和代表性樣本選擇相結(jié)合的SVDD分類算法。其中,最具信息量的樣本采用主動(dòng)學(xué)習(xí)技術(shù)選取,提供給專家進(jìn)行手工標(biāo)注。在剩下的未標(biāo)注樣本集中選擇有代表性的樣本進(jìn)行自動(dòng)標(biāo)注,進(jìn)一步對訓(xùn)練樣本集進(jìn)行補(bǔ)充更新。本文提出的基于主動(dòng)學(xué)習(xí)和自學(xué)習(xí)的SVDD分類系統(tǒng),如圖1所示。
該學(xué)習(xí)系統(tǒng)包括兩個(gè)部分:學(xué)習(xí)引擎使用SVDD作為基準(zhǔn)學(xué)習(xí)算法得到分類器,對訓(xùn)練集進(jìn)行訓(xùn)練,對測試集進(jìn)行測試。選擇引擎綜合考慮未標(biāo)注樣本集中樣本的不確定性和代表性兩個(gè)因素,選擇最有“價(jià)值”的樣本進(jìn)行標(biāo)注,并將最終選擇的樣本加入到訓(xùn)練集中進(jìn)行學(xué)習(xí)以更新分類模型。算法在分類器達(dá)到指定分類率或指定迭代次數(shù)時(shí)終止。
主動(dòng)學(xué)習(xí)(active learning)技術(shù)可以解決標(biāo)注困難帶來的有限樣本情況下的分類問題,在主動(dòng)學(xué)習(xí)中,學(xué)習(xí)器主動(dòng)選擇那些對于當(dāng)前分類模型最有價(jià)值的樣本進(jìn)行標(biāo)注,并將這些帶有類別標(biāo)號的樣本添加到訓(xùn)練樣本集,對分類模型進(jìn)行重新訓(xùn)練。通過迭代的方式,對分類模型進(jìn)行更新[9]。采樣策略是主動(dòng)學(xué)習(xí)技術(shù)的核心,可以分為3種:基于不確定性的采樣策略、基于版本空間縮減的采樣策略和基于誤差縮減的采樣策略[10]。
基于不確定性的采樣策略是適用性最廣的一類采樣策略,它可以有效減少人類專家的工作量,提高分類器的分類精確度和泛化能力,是目前研究最為充分的采樣策略[11]。這種采樣思想雖然適用于大多數(shù)分類模型,但在與不同分類模型時(shí),算法實(shí)現(xiàn)方式各不相同。本文選擇的是SVDD這樣一種采用封閉區(qū)域分類的分類模型,采樣策略使用樣本與區(qū)域描述邊界之間的距離作為計(jì)算形式,選擇與落入單類描述邊界之外或多類描述區(qū)域重疊的樣本作為最不確定的樣本。
對于多類分類問題,SVDD對每一個(gè)目標(biāo)類訓(xùn)練一個(gè)相應(yīng)的超球,假設(shè)有m類,每個(gè)類分別被標(biāo)記為ωi(i=1,2,…,m)。將屬于類別ωi的訓(xùn)練樣本記為子集Di,用Di訓(xùn)練一個(gè)SVDD分類器,并計(jì)算出相應(yīng)的中心ai和半徑Ri。設(shè)未標(biāo)注樣本集為U={x1,x2,…,xn},Y={1,2,…}為可能的類別標(biāo)號,ai為由已標(biāo)記樣本集確定的m個(gè)模式類的SVDD超球球心。未標(biāo)注樣本xs(xs∈U)到球心ai的距離為:
當(dāng)m個(gè)最小超球確定之后,它們之間的位置也隨之確定。理想的情況是超球之間彼此獨(dú)立,但實(shí)際上超球之間完全有可能出現(xiàn)交疊的情況,因此新樣本xs與超球之間的位置關(guān)系有3種:(1)xs落入某一個(gè)超球中;(2)xs落入兩個(gè)或多個(gè)超球的交疊區(qū)域;(3)xs落在所有超球之外。
情況(1)說明未標(biāo)注樣本xs同時(shí)落在兩個(gè)(或更多)已知類別的封閉決策區(qū)域之內(nèi),即被標(biāo)記了多個(gè)類別標(biāo)簽。情況(3)說明未標(biāo)注樣本xs落在所有已知類別的封閉決策區(qū)域之外,即被判決為不屬于任何已知類別。這兩種情況都說明了樣本xs不能被已有的學(xué)習(xí)模型預(yù)測所屬類別,樣本所屬類別具有不確定性,需要交給專家進(jìn)行人工標(biāo)注。
在大量未標(biāo)注樣本集中提取不確定性樣本交由專家標(biāo)注之后,可以進(jìn)一步從剩下的未標(biāo)注樣本集中提取部分確定的且具有代表性的樣本進(jìn)行自動(dòng)標(biāo)注,然后加入到訓(xùn)練樣本集中,用于提高分類模型的泛化性能。自學(xué)習(xí)是半監(jiān)督學(xué)習(xí)中一個(gè)常用的技術(shù)[12]。在自學(xué)習(xí)中,添加到訓(xùn)練樣本集里的樣本的標(biāo)號不是由用戶進(jìn)行人工標(biāo)注,而是由當(dāng)前的分類器預(yù)測得到的。從直觀上說,如果選擇那些在當(dāng)前分類器下分類結(jié)果最明確的樣本進(jìn)行自學(xué)習(xí),引入錯(cuò)誤標(biāo)號的概率是最小的。但是從樣本所包含的信息量這個(gè)角度來說,這些分類結(jié)果最明確的樣本所包含的信息量是非常低的,對于當(dāng)前分類面的影響極小。因此,將這些樣本加入到訓(xùn)練樣本集,對分類模型的影響很小,同時(shí)反而增加了分類器訓(xùn)練時(shí)的計(jì)算負(fù)擔(dān)。為解決以上矛盾,本文通過設(shè)置閾值來提高自學(xué)習(xí)選出樣本的信息量。
假設(shè)ω為已知模式類別,將訓(xùn)練樣本集和未標(biāo)注樣本集分別記為L和U,其中L是在初始分類時(shí),由專家人工標(biāo)注的少量樣本。
步驟1用訓(xùn)練樣本集L采用SVDD算法訓(xùn)練出ω個(gè)超球狀封閉決策區(qū)域。
步驟2導(dǎo)入未標(biāo)注樣本集U。
步驟3用訓(xùn)練生成的ω個(gè)SVDD分類器對未標(biāo)注樣本集U進(jìn)行預(yù)測:
(1)采用2.2節(jié)中的不確定樣本選擇的主動(dòng)學(xué)習(xí)策略從U中選出M個(gè)樣本,所構(gòu)成的集合記為SAL,由專家對SAL中的樣本進(jìn)行人工標(biāo)注;
采用2.3節(jié)中的代表性樣本的自學(xué)習(xí)方法從剩余的未標(biāo)注樣本集合U-SAL中選出N個(gè)樣本,所構(gòu)成的集合記為SSL,并記錄其類別標(biāo)號,即進(jìn)行樣本的自動(dòng)標(biāo)注。
步驟4更新訓(xùn)練樣本集:Lnew=L∪(SAL∪SSL)。
步驟5更新分類模型:用訓(xùn)練樣本集Lnew重新訓(xùn)練SVDD分類模型。若達(dá)到指定分類精度或迭代次數(shù),則算法停止;否則轉(zhuǎn)至步驟2。
實(shí)驗(yàn)使用1∶1實(shí)體艙段模型構(gòu)建仿真環(huán)境,在艙段內(nèi)安裝了泵、電機(jī)、激振器3種設(shè)備各一個(gè),3種設(shè)備各自有不同的工作模式,泵可以工作在關(guān)閉、半開、全開3種狀態(tài),電機(jī)可以工作在關(guān)閉和開啟兩種狀態(tài),激振器可以產(chǎn)生不同工作電壓下頻率不同的振動(dòng)。3種設(shè)備各自的工作模式與不同模式之間的組合,共形成45種工作模式(工況),用以模擬潛艇的正?;蛲蛔儠r(shí)的機(jī)械噪聲源。使用布設(shè)在相應(yīng)部位的振動(dòng)加速度傳感器進(jìn)行振動(dòng)噪聲信號采樣,通過功率譜特征提取方法處理采樣信號,經(jīng)過采樣保持、A/D轉(zhuǎn)化、低頻濾波、FFT變化、積分壓縮、歸一化,最終提取25維特征向量作為噪聲源樣本進(jìn)行研究。實(shí)驗(yàn)環(huán)境中共布設(shè)了19個(gè)振動(dòng)加速度傳感器,本文實(shí)驗(yàn)只針對單傳感器采集數(shù)據(jù),數(shù)據(jù)由布設(shè)在耐壓殼左舷位置的傳感器采集獲得。
設(shè)計(jì)實(shí)驗(yàn)驗(yàn)證本文提出的ALSL-SVDD算法的性能,實(shí)驗(yàn)環(huán)境是PC機(jī)2.5 GHz CPU,2 GB內(nèi)存,Windows XP操作系統(tǒng),Matlab 7.1實(shí)驗(yàn)平臺(tái)。實(shí)驗(yàn)以SVDD為基準(zhǔn)分類模型,參數(shù)設(shè)置:核函數(shù)為RBF(Radial Basis Function),懲罰因子ξ和控制因子C通過十折交叉驗(yàn)證每次均取最佳參數(shù)。
實(shí)驗(yàn)采用有標(biāo)注數(shù)據(jù)進(jìn)行學(xué)習(xí)的算法(簡稱Init)和隨機(jī)采樣方法(簡稱Random)作為對比算法。有標(biāo)注數(shù)據(jù)進(jìn)行學(xué)習(xí)的算法是一般的有監(jiān)督學(xué)習(xí)方法,訓(xùn)練時(shí)需要大量已標(biāo)注樣本。隨機(jī)采樣方法可以認(rèn)為是一種被動(dòng)學(xué)習(xí),被動(dòng)地接受隨機(jī)選定的訓(xùn)練樣本,忽略了樣本包含的信息量。本文提出的ALSL-SVDD學(xué)習(xí)算法從未標(biāo)注樣本集中選擇最有價(jià)值的樣本,可以更快改善分類器的性能。實(shí)驗(yàn)分別從各類別識(shí)別率、總識(shí)別率和樣本標(biāo)注代價(jià)兩個(gè)方面對算法的性能進(jìn)行評價(jià)。
實(shí)驗(yàn)選取6種典型工作模式(工況),每種工況16個(gè)樣本。將整個(gè)數(shù)據(jù)集各類分別取30%作為已標(biāo)注樣本集,50%作為未標(biāo)注樣本集,全數(shù)據(jù)集用于測試。表1給出了3種算法各類別的識(shí)別率和總的識(shí)別率。
表1 3種算法的識(shí)別率比較 (%)
就實(shí)驗(yàn)結(jié)果的各類平均識(shí)別率來看,Random-SVDD和ALSL-SVDD明顯優(yōu)于Init-SVDD,原因是Random-SVDD和ALSL-SVDD在初始的30%的已標(biāo)注樣本集基礎(chǔ)上繼續(xù)從50%的未標(biāo)注樣本集選擇樣本標(biāo)注,擴(kuò)充了訓(xùn)練集。但是Random-SVDD只是隨機(jī)的選擇樣本,而ALSL-SVDD是有指導(dǎo)性地選擇有價(jià)值的樣本,因此在識(shí)別率達(dá)到幾乎同等較高水平時(shí),采用ALSL-SVDD所需的標(biāo)注代價(jià)較Random-SVDD相比要低,如圖2所示。
圖2 兩種算法的學(xué)習(xí)曲線
圖2給出了ALSL-SVDD和Random-SVDD兩種算法的學(xué)習(xí)曲線。其中,橫軸給出人工標(biāo)注的樣本數(shù)目,縱軸給出各類平均分類正確率。從學(xué)習(xí)曲線圖上可看出,整體呈上升趨勢,且ALSL-SVDD的上升速度更快,尤其是在樣本標(biāo)注數(shù)目較少時(shí)。在達(dá)到相同的分類正確率(約90%)時(shí),ALSL-SVDD方法比隨機(jī)采樣算法節(jié)約了將近1/4的樣本標(biāo)注工作量。
本文針對潛艇故障識(shí)別中噪聲源樣本標(biāo)記代價(jià)大的問題,分析了適用于解決小樣本分類問題的支持向量數(shù)據(jù)描述分類模型和樣本標(biāo)注技術(shù),提出了一種基于SVDD的主動(dòng)學(xué)習(xí)和自學(xué)習(xí)方法相結(jié)合的分類算法。這種算法以SVDD為基準(zhǔn)分類模型,初始訓(xùn)練時(shí)僅需少量已標(biāo)注樣本,對于大量未標(biāo)注樣本算法每次從中選擇最不確定的樣本交給專家標(biāo)注,同時(shí)選擇最具有代表性的樣本進(jìn)行自動(dòng)標(biāo)注。最后在潛艇機(jī)械噪聲源數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,該方法可以在不降低識(shí)別率的同時(shí)有效減少標(biāo)注代價(jià)。本文算法中的參數(shù)threshold是在訓(xùn)練前人為指定的,下一步的研究是如何進(jìn)行無監(jiān)督參數(shù)選擇,對ALSL-SVDD算法作進(jìn)一步的改進(jìn)。
[1]章林柯,崔立林.潛艇機(jī)械噪聲源分類識(shí)別的小樣本研究思想及相關(guān)算法評述[J].船舶力學(xué),2011,15(8):940-947.
[2]繆志敏,趙陸文,胡谷雨,等.基于單類分類器的半監(jiān)督學(xué)習(xí)[J].模式識(shí)別與人工智能,2009,22(6):924-930.
[3]Zhu Xiaojin.Semi-supervised learning literature survey,TR1530[R].University of Wisconsin-Madison,2005.
[4]Hsu D J.Algorithms for active learning[D].Sandiego:University of California,2010.
[5]Settles B.Active learning literature survey,TR1648[R].University of Wisconsin-Madison,2009.
[6]Vapnik V N.The naturn of statistical learning theory[M].New York:Springer-Verlag,1995.
[7]Tax D M J,Duin R P W.Support vector data description[J].Machine Learning,2004,54:45-66.
[8]Vapnik V N.Statistical learning theory[M].Danvers,MA:John Wiley&Sons,2000.
[9]Dasgupta S.Coarse sample complexity bounds for active learning[M]//Advances in Neural Information Processing Systems.Cambridge:MIT Press,2006:235-242.
[10]Muslea I,Minton S,Knoblock C A.Active learning with multiple-views[J].Journal of Artificial Intelligence Research,2006,27:203-233.
[11]吳偉寧,劉揚(yáng),郭茂祖,等.基于采樣策略的主動(dòng)學(xué)習(xí)算法研究進(jìn)展[J].計(jì)算機(jī)研究與發(fā)展,2012,49(6):1162-1173.
[12]陳榮,曹永鋒,孫洪.基于主動(dòng)學(xué)習(xí)和半監(jiān)督學(xué)習(xí)的多類圖像分類[J].自動(dòng)化學(xué)報(bào),2011,37(8):954-962.