凌 毓,張金區(qū),李鄉(xiāng)儒,李 慧
(華南師范大學(xué)計算機(jī)學(xué)院,廣東 廣州 510631)
脈沖星是快速旋轉(zhuǎn)的中子星,因不斷發(fā)出電磁脈沖信號而得名。脈沖星是20世紀(jì)60年代天文學(xué)的重要發(fā)現(xiàn)之一[1]。對脈沖星的研究可以為擁有極端物理屬性的中子星研究提供重要信息,極大地推動物理、天文、導(dǎo)航和時間度量等領(lǐng)域的發(fā)展[2-3]。基于脈沖星信號的周期性特征,利用快速傅里葉變換將時間域信號轉(zhuǎn)換為頻率域信號,并結(jié)合快速折疊算法成為探測脈沖星信號的主要方法[4]。隨著對脈沖信號的挖掘,近年來相繼發(fā)現(xiàn)了兩類沒有周期性特征的天文脈沖信號,它們分別來自旋轉(zhuǎn)瞬間射電體(Rotating Radio Transients, RRATs)和快速射電暴(Fast Radio Bursts, FRBs)[2,5-6]。旋轉(zhuǎn)瞬間射電體信號的發(fā)射在時間上非常零星和分散,無法在傳統(tǒng)的周期性搜尋中發(fā)現(xiàn)它們。快速射電暴由銀河系外的射電突發(fā)信號組成,目前發(fā)現(xiàn)極個別的周期性現(xiàn)象,但仍然以缺乏周期性為主要特征。這兩類天文現(xiàn)象的脈沖信號,由于它們轉(zhuǎn)瞬即逝的特征,稱之為單脈沖天體信號。單脈沖信號的搜尋不但是周期性信號搜尋方法的有益補(bǔ)充,而且是旋轉(zhuǎn)瞬間射電體和快速射電暴的主要探測方法[4]。
目前,單脈沖信號的識別方法主要分為啟發(fā)式閾值搜尋算法和機(jī)器學(xué)習(xí)算法。啟發(fā)式搜尋是一種利用問題所具有的啟發(fā)信息來引導(dǎo)搜尋、發(fā)現(xiàn)目標(biāo)的算法,該算法通過減小搜尋范圍降低問題的復(fù)雜性,提高計算效率。這類方法主要是基于文[2]提出的單脈沖信號分類框架,該框架將單脈沖信號的提取分為消色散、匹配濾波、閾值化和判斷等4個步驟,以判斷被檢測信號中單脈沖信號是否存在。例如,文[7]使用一種聚類算法將信噪比高于一定閾值的疑似脈沖事件篩選為單脈沖候選體。文[8]根據(jù)色散和信號時間對脈沖事件進(jìn)行分組,然后基于相鄰分組中最大信噪比判斷脈沖信號是否有峰值,據(jù)此篩選并創(chuàng)建診斷圖以供人工檢查。文[9]進(jìn)一步提出了一種簡單的遞歸峰值識別算法,利用彌散脈沖組(Dispersed Pulse Groups, DPG)擬合線的斜率來識別大斜率趨勢,并據(jù)此篩選單脈沖事件候選體。這些方法雖然在檢測脈沖信號時有一定的作用,但是它們主要依靠閾值分割提取脈沖星信號,所采用的特征來源于分組中最強(qiáng)的脈沖信號,由此導(dǎo)致它們精度有限,且需要大量人工參與,難以適應(yīng)大規(guī)模、海量的數(shù)據(jù)處理。
近年來,隨著傳感器技術(shù)的發(fā)展和大規(guī)模射電巡天的推進(jìn),機(jī)器學(xué)習(xí)已經(jīng)成為脈沖星信號識別的重要途經(jīng)[10]。機(jī)器學(xué)習(xí)方法是通過對已知脈沖星信號的特征進(jìn)行統(tǒng)計分析,建立學(xué)習(xí)模型,然后利用學(xué)習(xí)模型對未知脈沖信號進(jìn)行判斷的方法。該方法通常有4個步驟:(1)建立基準(zhǔn)數(shù)據(jù)集;(2)特征提??;(3)模型訓(xùn)練與評價;(4)模型應(yīng)用。文[11]在總結(jié)利用機(jī)器學(xué)習(xí)篩選脈沖信號時指出,目前已有的機(jī)器學(xué)習(xí)算法主要用于周期性脈沖信號的搜尋。例如,人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network, ANN)算法[12-14]和模式識別算法[15]都在周期性脈沖信號搜尋中得到應(yīng)用。雖然機(jī)器學(xué)習(xí)在周期性脈沖信號中已經(jīng)有了許多探索,但在單脈沖信號識別中的應(yīng)用才剛剛開始,并逐漸受到重視。單脈沖信號識別的機(jī)器學(xué)習(xí)應(yīng)用方面,文[12]在啟發(fā)式閾值搜尋算法的基礎(chǔ)上,挑選了信噪比、脈沖寬度等12個特征作為三層人工神經(jīng)網(wǎng)絡(luò)的輸入,首次以機(jī)器學(xué)習(xí)的方法進(jìn)行單脈沖信號篩選。文[9]利用綠岸射電望遠(yuǎn)鏡(Green Bank Telescope, GBT)觀測的數(shù)據(jù)集,從脈沖數(shù)量-色散圖、信噪比-色散圖中提取16個特征,比較了支持向量機(jī)(Support Vector Machines, SVM)、人工神經(jīng)網(wǎng)絡(luò)、規(guī)則歸納法(Rule Induction, RULE)和決策樹等方法,實(shí)驗(yàn)結(jié)果表明,使用隨機(jī)森林集成樹的分類器在查全率和查準(zhǔn)率方面有最佳的整體效果。文[16]以低頻射電聯(lián)合陣列巡天(LOFAR Tied-Array All-sky Survey, LOTAAS)數(shù)據(jù)集為例,根據(jù)每個特征的信息增益,篩選用于單脈沖信號分類的5個重要指標(biāo):峰值檢測窗口寬度、脈沖色散平均值、脈沖信噪比、窗口寬度分布曲線超額峰度和信噪比分布曲線超額峰度,通過比較幾種不同的機(jī)器學(xué)習(xí)算法,認(rèn)為基于高斯-海靈格快速決策樹的方法在單脈沖信號分類中具有最好的性能。
從以往的研究來看,基于決策樹的方法是性能最好的方法之一,但是對決策樹模型的參數(shù)估計大多采用小規(guī)模隨機(jī)抽樣的方法計算,無法保證分類結(jié)果最優(yōu)。近些年機(jī)器學(xué)習(xí)領(lǐng)域?qū)Q策樹模型進(jìn)行了改進(jìn)和提升,尤其是基于梯度提升的GBDT和XGBoost算法在許多領(lǐng)域都得到了廣泛的應(yīng)用[17]。因此,本文旨在探討XGBoost結(jié)合包裹式特征選擇方法進(jìn)行單脈沖信號識別的性能分析。
良好的基準(zhǔn)數(shù)據(jù)集是進(jìn)行機(jī)器學(xué)習(xí)訓(xùn)練應(yīng)用和研究的基礎(chǔ),然而面對海量的脈沖信號,對脈沖信號進(jìn)行標(biāo)注是短期難以完成的事情。因此在本文中,我們直接使用文[15]已標(biāo)注的數(shù)據(jù)集用于模型的研究,此數(shù)據(jù)集來源于低頻射電聯(lián)合陣列巡天項目。低頻射電陣列由荷蘭射電天文研究所主持研發(fā),是一種由數(shù)千個天線組成的大型射電望遠(yuǎn)鏡陣列,這些天線分組分布在荷蘭和其他歐洲國家的觀測站點(diǎn),在最低頻段以高分辨率和高靈敏度進(jìn)行脈沖星廣泛且深入的研究[18]。低頻射電聯(lián)合陣列巡天項目利用其中12個子站進(jìn)行觀測,對天空的每個指向產(chǎn)生222個同時段的射電數(shù)據(jù),每次觀測時間持續(xù)1 h,記錄數(shù)據(jù)的時間分辨率為0.492 ms,每小時可以接收16.9 TB的原始數(shù)據(jù)[19]。本文實(shí)驗(yàn)所用數(shù)據(jù)集是從歷次觀測中抽取的。
脈沖星的搜尋大致需要4個階段,分別是射電信號數(shù)據(jù)收集、消色散處理、周期性脈沖或單脈沖搜尋以及人工判別[3]。色散效應(yīng)是天體物理信號和射頻干擾信號的重要區(qū)別之一[20]。天體物理信號到達(dá)地球時受空間不同密度自由電子的影響,不同頻率的信號產(chǎn)生不同的延遲效應(yīng)。色散是對信號傳播方向上自由電子總數(shù)量的度量。由于事先不知道天體信號對應(yīng)的色散,所以在消色散處理時,需要用不同的色散值嘗試。由此可知,對于一個單脈沖信號,雖然本質(zhì)上對應(yīng)著唯一一個色散,但經(jīng)過消色散處理會生成很多根據(jù)不同消色散得到的候選脈沖信號,這些不同的候選脈沖信號仍然可能被檢測為峰值信號。這樣,理論上一個脈沖信號可能被檢測為多個峰值信號,它們對應(yīng)的色散值非常接近。因此,我們可以通過對被檢測的一系列峰值信號按照對應(yīng)的色散值進(jìn)行聚類分析,聚集到一起的峰值信號形成一個彌散脈沖組。圖1(a)展示了一個彌散脈沖組中不同色散值時的脈沖信號的信噪比分布。對單脈沖信號的識別,主要識別彌散脈沖組是來源于脈沖星還是射頻干擾,如果被識別為脈沖星信號,則輸出特征圖信息,供人工進(jìn)一步判斷。
本文所采用的數(shù)據(jù)是在0~550 pc cm-3的色散范圍內(nèi),對色散每隔0.01~0.1 pc cm-3進(jìn)行一次計算處理得到的。對色散處理后的數(shù)據(jù),采用不同長度的矩形窗進(jìn)行峰值檢測,將信噪比大于5的信號保存,形成一個信號事件表,保存的信息包括窗口寬度、色散、信號時間等?;谛盘柺录碇忻織l記錄的信號時間和色散值的鄰近程度,對信號事件進(jìn)行聚類分組,對信號時間在30 ms內(nèi)、色散差值在2 pc cm-3內(nèi)的信號事件歸為一個彌散脈沖組。圖1展示了脈沖星編號為B1133+16的一個彌散脈沖組的信號事件分布情況,以及一個射頻干擾信號構(gòu)成的彌散脈沖組的分布情況。從圖1可以看出,脈沖星信號和射頻干擾信號的彌散脈沖組在信噪比分布曲線形態(tài)上有顯著差異,窗口寬度的分布曲線也有明顯差異,這些形態(tài)特征有助于脈沖星彌散脈沖組的識別。
圖1 單脈沖和射頻干擾彌散脈沖組事件分布示意圖
經(jīng)過濾波和峰值檢測篩選后,信號事件表記錄的總數(shù)約374萬條,形成彌散脈沖組53 066條,其中35 063條為射頻干擾,18 003條為47個已知脈沖星。對彌散脈沖組的特征設(shè)計是進(jìn)行正確分類的重要內(nèi)容,參考已有彌散脈沖組特征應(yīng)用的方法,本文設(shè)計以下特征:
(1)色散(Dispersion Measure, DM),是脈沖星和地球之間沿信號傳播方向的自由電子積分柱密度,單位pc cm-3,一個彌散脈沖組的色散值取其中最強(qiáng)的信號事件對應(yīng)的色散值。
(2)信噪比(S/N),是信號和噪聲的比值,即射電望遠(yuǎn)鏡接收信號的電壓與同時記錄的噪聲電壓的比值。信噪比越高,信號越強(qiáng),噪聲越弱。信噪比是判斷脈沖事件的主要依據(jù),一個彌散脈沖組的信噪比取其中最強(qiáng)信號事件對應(yīng)的信噪比。
(3)窗口寬度(Duration),對時間序列信號進(jìn)行峰值檢測時,所用的矩形窗函數(shù)的窗口寬度,即窗口的時間范圍,是用于峰值提取的計算參數(shù)。峰值檢測采用一系列不同的窗口寬度,不同的窗口寬度可能檢出不同的峰值結(jié)果。一個彌散脈沖組的窗口寬度取其中最強(qiáng)的信號事件對應(yīng)的窗口寬度。
(4)色散范圍(DM Extent, DM_E),是一個彌散脈沖組中所有信號事件對應(yīng)的色散值范圍,即圖1第1個子圖中曲線的覆蓋范圍。
(5)時間范圍(Time Extent, Time_E),是一個彌散脈沖組中所有信號事件對應(yīng)的時間范圍,單位s。
(6)事件個數(shù)(Number of Events, N_Events),是一個彌散脈沖組包含的信號事件的數(shù)量,事件數(shù)量太少說明沒有太強(qiáng)的色散效應(yīng),大概率不是脈沖星信號。
(7)色散平均值(Average DM, aDM),是同一個彌散脈沖組的所有信號事件的平均色散。
(8)脈沖平均時間(Average Time of Pulse, aTime),形成一個彌散脈沖組的所有信號的平均時間。因?yàn)榈皖l射電聯(lián)合陣列巡天項目利用12個子站同時觀測,對天空的每個指向產(chǎn)生222個天體輻射數(shù)據(jù),這些數(shù)據(jù)經(jīng)過預(yù)處理,形成很多不同時間序列的數(shù)據(jù),脈沖平均時間對于判斷不同時間序列的脈沖信號是否來自同一天體有一定幫助。對于脈沖星信號,多個子站可能同時觀測到,而對于射頻干擾信號,往往只有一個子站觀測到。
(9)信噪比分布曲線超額峰度(KurtSigma):形成一個彌散脈沖組所有信號的信噪比分布曲線的峰度減去正態(tài)分布的峰度,即圖1(a)和(b)中曲線的峰度減去正態(tài)分布的峰度,正態(tài)分布的峰度系數(shù)為3。
(10)窗口寬度分布曲線超額峰度(KurtDuration):形成一個彌散脈沖組的每個事件在峰值檢測時所用窗口寬度的分布曲線峰度減去正態(tài)分布的峰度,即圖1(c)和(d)分布曲線的峰度減去正態(tài)分布的峰度。
特征選擇的目的在于去除與當(dāng)前學(xué)習(xí)任務(wù)無關(guān)和冗余的特征,降低學(xué)習(xí)任務(wù)的難度,促進(jìn)對特征和問題的理解,關(guān)鍵是建立一種評價標(biāo)準(zhǔn)區(qū)分哪些特征組合有助于識別。為了增強(qiáng)特征與模型之間的相關(guān)性,提升模型性能,識別前,本文采用包裹法進(jìn)行特征選擇。
包裹式特征選擇方法與后續(xù)任務(wù)選用的分類學(xué)習(xí)器直接相關(guān),以學(xué)習(xí)器的性能作為特征子集的評估準(zhǔn)則,即包裹式特征選擇方法直接針對給定學(xué)習(xí)器進(jìn)行優(yōu)化(圖2)。因此,包裹式特征選擇方法決策的特征子集最易與當(dāng)前選用的分類器契合。
圖2 包裹式特征選擇
本文采用遞歸特征消除(Recursive feature elimination, RFE)的方法實(shí)現(xiàn)包裹式特征選擇。分類器在給定的特征集合上進(jìn)行訓(xùn)練,再從當(dāng)前的特征集合中移除最不重要的特征,在新的特征集合上繼續(xù)訓(xùn)練。不斷重復(fù)遞歸過程,直到最終達(dá)到所需要的特征數(shù)量,選出最優(yōu)的特征子集。對于給定分類器,最后選出的特征子集包含的特征就是最重要的特征。
XGBoost是一種集成學(xué)習(xí)算法,在決策樹的基礎(chǔ)上采用集成策略。XGBoost包含一個迭代殘差樹的集合,利用梯度提升算法,不斷減小已生成的決策樹的損失,每一棵樹都在學(xué)習(xí)前面所有樹的殘差,將每棵樹預(yù)測的結(jié)果相加作為樣本的最終預(yù)測結(jié)果。
XGBoost利用向前分布算法,學(xué)習(xí)到包含K棵樹的加法模型為
(1)
其中,K為樹的總數(shù);ft為第t棵樹;xi為輸入樣本;y^i為預(yù)測結(jié)果;ft(xi)為第t棵樹的預(yù)測結(jié)果;F為決策樹組成的函數(shù)空間。
為了求解整個決策樹的函數(shù)空間,需要不斷優(yōu)化目標(biāo)函數(shù),XGBoost的整體目標(biāo)函數(shù)可以表示為[21]
(2)
其中,l(yi,y^i)為損失函數(shù),表示預(yù)測值y^i與目標(biāo)值yi之間的差值;Ω(fk)為第k棵樹的正則項,用來約束決策樹的復(fù)雜度,決策樹的復(fù)雜度越高,正則項越大。
首先,通過貪心算法尋找局部最優(yōu)解:
(3)
其中,y^i(t)為第t次迭代時樣本xi的第i棵樹的預(yù)測結(jié)果。每次迭代尋找使損失函數(shù)最大程度降低的ft,由于前t-1棵樹的結(jié)構(gòu)已確定,因此,第1棵樹至第t-1棵樹的復(fù)雜度可以用一個常量C表示。此時,目標(biāo)函數(shù)可以改寫為
(4)
其次,對目標(biāo)函數(shù)采用二階泰勒近似展開得到
(5)
其中,gi和hi分別為誤差函數(shù)的一階導(dǎo)數(shù)和二階導(dǎo)數(shù):
gi=?y^(t-1)l(yi,y^i(t-1)),
移除對第t輪迭代來說為常數(shù)項的l(yi,y^i(t-1)),得到
(6)
XGboost中正則項用來衡量樹的復(fù)雜度,
(7)
其中,T為每棵樹的節(jié)點(diǎn)數(shù)量;ω為每棵樹的葉子節(jié)點(diǎn)的輸出分?jǐn)?shù);γ和λ為常數(shù)。進(jìn)一步將目標(biāo)函數(shù)表示為
(8)
將輸入的xi映射到葉子節(jié)點(diǎn),則有ft(xi)=ωq(xi),ω∈RT,q:Rd→{1,2,…,T},并定義每個葉子節(jié)點(diǎn)j的樣本集合為Ij={i|q(xi)=j}。此時,目標(biāo)函數(shù)可以表示為
(9)
其中,Gj=∑i∈Ijgi;Hj=∑i∈Ijhi。
最后,對目標(biāo)函數(shù)進(jìn)行優(yōu)化,計算第t輪時使目標(biāo)函數(shù)最小的葉子節(jié)點(diǎn)的輸出分?jǐn)?shù)ω,直接對ω求導(dǎo),使導(dǎo)數(shù)為0,得到
(10)
將(10)式代入(9)式,得到最終優(yōu)化的目標(biāo)函數(shù)
(11)
在選擇特征屬性進(jìn)行節(jié)點(diǎn)分裂時,XGBoost會利用貪心算法或近似貪心算法遍歷所有特征的劃分點(diǎn),分別計算對應(yīng)的目標(biāo)函數(shù)值的增益,選擇最優(yōu)的特征進(jìn)行分裂。當(dāng)新的分裂帶來的增益小于設(shè)定的閾值或達(dá)到設(shè)定的最大深度時,停止樹的生長。XGBoost對代價函數(shù)進(jìn)行二階泰勒展開,還引入縮減、行抽樣和列抽樣等操作,具有良好的預(yù)防過擬合、較高的計算效率和泛化能力的特性。對于XGBoost的程序?qū)崿F(xiàn)可以直接采用基于Python語言的機(jī)器學(xué)習(xí)工具包Scikit-learn。
基于上述理論和方法,本文將包裹式特征選擇和XGBoost算法相結(jié)合,根據(jù)輸入的數(shù)據(jù)集,設(shè)定一個閾值,取在該閾值下的最佳特征子集,并將得到的特征子集輸入XGBoost算法用于分類,得到結(jié)果。具體流程如圖3。
圖3 XGBoost結(jié)合包裹式特征選擇算法流程圖
為了分析當(dāng)前算法的分類效果,我們利用混淆矩陣對模型的預(yù)測結(jié)果進(jìn)行評價。本文數(shù)據(jù)集分為射頻干擾彌散脈沖組和單脈沖彌散脈沖組。如果一個脈沖星的彌散脈沖組被正確識別為單脈沖信號,稱為真陽性(True Positive, TP),若被錯誤地識別為射頻干擾信號,稱為偽陰性(False Negative, FN)。同樣,如果一個射頻干擾被錯誤地識別為單脈沖信號,稱為假陽性(False Positive, FP),若被正確地識別為射頻干擾,稱為真陰性(True Negative, TN)。表1為二分類情況下的混淆矩陣。
表1 二分類混淆矩陣
在二分類問題中常用的評價指標(biāo)有準(zhǔn)確率(Accuracy)、誤分類率(Error)、精確率(Precision)、召回率(Recall)和F1分?jǐn)?shù)(F1-score)[22]。其中,準(zhǔn)確率表示正確分類的樣本占總樣本的比例,當(dāng)數(shù)據(jù)集中存在各類別樣本不平衡的情況時,分類器傾向?qū)颖九袛酁閬碜员壤^大的類別,出現(xiàn)準(zhǔn)確率虛高的情況。因此,僅憑準(zhǔn)確率不能客觀評價算法的性能,還需要引入其他評價指標(biāo)。精確率表示預(yù)測為脈沖星的樣本中真正的脈沖星信號所占的比例。召回率表示脈沖星信號被正確識別的比例。精確率和召回率兩個指標(biāo)存在此消彼長的問題,F(xiàn)1分?jǐn)?shù)則綜合了精確率和召回率的結(jié)果,可以調(diào)和平均兩個指標(biāo),當(dāng)前算法得到的F1分?jǐn)?shù)越高說明算法的性能整體上越理想。
實(shí)驗(yàn)使用的數(shù)據(jù)集包含來自47個已知脈沖星的彌散脈沖組18 003個,射頻干擾彌散脈沖組35 063個。具體操作步驟是將數(shù)據(jù)集隨機(jī)劃分10次,使用交叉驗(yàn)證方法進(jìn)行模型的訓(xùn)練和評估,其中80%用于訓(xùn)練,剩余的20%用于驗(yàn)證。為了避免在數(shù)據(jù)分類時出現(xiàn)數(shù)據(jù)泄露,同時保證單脈沖樣本和射頻干擾樣本盡量均衡,在實(shí)驗(yàn)中不是直接對數(shù)據(jù)集進(jìn)行隨機(jī)劃分,而是分別將屬于47個已知脈沖星的彌散脈沖組和射頻干擾彌散脈沖組隨機(jī)進(jìn)行10次分組,每次分組將80%,即38個已知脈沖星的彌散脈沖組和射頻干擾的彌散脈沖組用于訓(xùn)練,剩余9個用于驗(yàn)證。
為了對比分析,本文除了采用XGBoost方法外,還對GBDT、AdaBoost、隨機(jī)森林和BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行了實(shí)驗(yàn)對比。為了使結(jié)果具有可對比性,對比前每種方法都進(jìn)行了調(diào)優(yōu),實(shí)驗(yàn)結(jié)果選用的都是經(jīng)調(diào)試的最優(yōu)參數(shù),其中BP神經(jīng)網(wǎng)絡(luò)采用三層架構(gòu)(輸入層10個節(jié)點(diǎn),隱藏層56個節(jié)點(diǎn),輸出2個節(jié)點(diǎn)),學(xué)習(xí)率為0.001 5,使用交叉熵?fù)p失函數(shù)和Adam優(yōu)化器;GBDT和隨機(jī)森林的最大迭代次數(shù)是100,最大深度是20,學(xué)習(xí)率為2;AdaBoost的最大迭代次數(shù)是100。表2顯示了5種模型在該數(shù)據(jù)集上10次隨機(jī)劃分的平均實(shí)驗(yàn)結(jié)果。
表2 適用于不同模型的最優(yōu)特征子集及平均實(shí)驗(yàn)結(jié)果
包裹式特征選擇的過程緊密結(jié)合選用的分類器,通過某種特征搜尋策略在模型上檢驗(yàn)多種特征子集的分類性能,表2列出了不同分類器和其最優(yōu)特征組合的分類評價結(jié)果。從表2可以看出,5種模型對脈沖星彌散脈沖組和射頻干擾彌散脈沖組的分類結(jié)果都具有較高的精確率和召回率,特別是XGBoost的精確率、召回率和F1分?jǐn)?shù)是5種模型中最高的,比其他模型平均高出1到2個百分點(diǎn)。從誤分類率來看,GBDT的誤分類率最高,XGBoost的誤分類率最低。綜合幾個指標(biāo)的結(jié)果可以看出,XGBoost在單脈沖信號彌散脈沖組分類識別方面更有綜合優(yōu)勢。
從特征應(yīng)用上看,色散、信噪比、窗口寬度、色散范圍、時間范圍、事件個數(shù)、色散平均值、窗口寬度分布曲線超額峰度、信噪比分布曲線超額峰度等9個特征參數(shù)被5個模型都看作是最優(yōu)特征組合,AdaBoost和BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)一步把脈沖平均時間也選為最優(yōu)特征。平均時間沒有被其他3個模型選為最優(yōu)特征,說明該特征對單脈沖識別的作用不是特別顯著。
對XGBoost分類器,除了用于模型訓(xùn)練的特征之外,超參數(shù)也在一定程度上影響單脈沖識別的結(jié)果,其中樹的最大深度、模型的學(xué)習(xí)速率是影響結(jié)果性能的主要參數(shù)。
圖4為樹的最大深度對模型的訓(xùn)練時間以及F1分?jǐn)?shù)的影響。當(dāng)樹的最大深度小于25時,訓(xùn)練模型消耗的時間穩(wěn)步上升,而后基本保持平穩(wěn)不變。模型的F1分?jǐn)?shù)隨著樹的最大深度變化呈現(xiàn)先升后降而后平穩(wěn)的趨勢。當(dāng)樹的最大深度為6時,XGBoost能夠在測試集上獲得一個最高的F1分?jǐn)?shù),且用時相對較短。由此可見,在本文使用的數(shù)據(jù)集上,樹的最大深度為6時能同時權(quán)衡訓(xùn)練模型的時間消耗和單脈沖分類任務(wù)的性能。圖5展示了學(xué)習(xí)速率對XGBoost性能的影響。由圖5可知,在學(xué)習(xí)率達(dá)到0.007時,XGBoost能獲得最好的分類性能。
圖4 模型的F1分?jǐn)?shù)與樹的最大深度變化關(guān)系
特征數(shù)量同樣也影響模型對單脈沖識別的性能。在本文所使用的數(shù)據(jù)集上對10個特征使用XGBoost結(jié)合包裹式特征選擇算法對特征重要程度進(jìn)行分析。針對包裹式特征選擇算法,我們通過設(shè)置不同閾值獲得不同規(guī)模的最優(yōu)特征子集,并比較分析基于這些特征子集的模型性能。表3展示了基于不同規(guī)模特征子集訓(xùn)練的XGBoost模型在單脈沖信號識別任務(wù)的F1分?jǐn)?shù)。
表3 XGBoost模型基于不同規(guī)模的最優(yōu)特征子集訓(xùn)練時分類的F1分?jǐn)?shù)
結(jié)果表明,特征的數(shù)量也會影響脈沖信號分類的性能。雖然每個特征對模型的影響不同,但輸入特征的數(shù)量和組合也是影響模型性能的關(guān)鍵因素??梢钥闯?,輸入不同數(shù)量的特征會得到不同的結(jié)果。當(dāng)特征數(shù)量為9,特征為色散、信噪比、窗口寬度、色散范圍、時間范圍、事件個數(shù)、色散平均值、窗口寬度分布曲線超額峰度、信噪比分布曲線超額峰度時,可以獲得最高的F1分?jǐn)?shù)。
圖5 模型的F1分?jǐn)?shù)隨學(xué)習(xí)率的變化趨勢
近年來,隨著周期性脈沖信號探測方法的成熟,單脈沖信號識別成為脈沖星研究的一個重要方向。由于單脈沖信號可以提取的特征相對較少,機(jī)器學(xué)習(xí)成為最主要的方法。設(shè)計關(guān)鍵特征,并尋找最優(yōu)的機(jī)器學(xué)習(xí)算法是當(dāng)前脈沖星信號識別的關(guān)鍵任務(wù)。
本文在前人研究的基礎(chǔ)上,將XGBoost分類器與包裹式特征選擇相結(jié)合,以低頻射電聯(lián)合陣列巡天數(shù)據(jù)集為例,與AdaBoost、GBDT、隨機(jī)森林和BP神經(jīng)網(wǎng)絡(luò)等模型進(jìn)行了實(shí)驗(yàn)對比。研究結(jié)果表明,XGBoost在單脈沖識別方面誤分類率更低,精確率、召回率和F1分?jǐn)?shù)更高,是單脈沖信號識別提取的優(yōu)秀方法。本文在實(shí)驗(yàn)設(shè)計中,將47個已知脈沖星和射頻干擾信號分別隨機(jī)進(jìn)行10次分組,有效避免了數(shù)據(jù)集劃分造成數(shù)據(jù)泄露的影響。如果直接將來自47個脈沖星的18 003個彌散脈沖組進(jìn)行分組訓(xùn)練和測試,得到精確度將高達(dá)99.79%,F(xiàn)1分?jǐn)?shù)高達(dá)99.76%??梢娪?xùn)練集和測試集的劃分方法對識別結(jié)果具有重要影響。
從特征選擇上看,本文的實(shí)驗(yàn)結(jié)果表明,色散、信噪比、窗口寬度、色散范圍、時間范圍、事件個數(shù)、色散平均值、窗口寬度分布曲線超額峰度、信噪比分布曲線超額峰度等9個特征被最多模型選擇,具有良好的判別力。
對單脈沖信號進(jìn)行標(biāo)注并建立訓(xùn)練數(shù)據(jù)集是一項費(fèi)力耗時的工作,需要長期的積累。本文雖然是以低頻射電聯(lián)合陣列巡天數(shù)據(jù)集作為研究對象,其研究結(jié)果和方法可以為我國開展以FAST探測信號為主的單脈沖信號研究與應(yīng)用提供參考。目前對我國FAST數(shù)據(jù)的挖掘和應(yīng)用正在大力推進(jìn),并已成功探測到屬于單脈沖的快速射電暴[23-24]。另外,隨著對單脈沖信號特征的持續(xù)分析和挖掘,新的研究方法也將不斷提出和改進(jìn)。