袁慧宇,趙 娟,戴海峰,楊遠貴
(1. 淮北師范大學信息學院,安徽 淮北 235000;2. 淮北師范大學,安徽 淮北 235000)
在信息與計算技術(shù)等新興科技的驅(qū)動下,天文研究領(lǐng)域已從傳統(tǒng)的單目標觀測和手工處理數(shù)據(jù)轉(zhuǎn)向多目標觀測和自動數(shù)據(jù)處理[1]。大量巡天項目的開展為天文學研究提供了海量數(shù)據(jù),如ROTSE,ASAS,SuperWASP,MACHO,OGLE,SDSS,LAMOST和Kepler等,由計算機自動完成目標交叉證認[2]、觀測、實時數(shù)據(jù)處理和分析[3]等,獲得光譜、測光、周期以及類型等數(shù)據(jù)。隨著數(shù)據(jù)量的進一步增大,單服務器難以實時完成數(shù)據(jù)處理,分布式計算被應用到數(shù)據(jù)處理中提高處理效率[4]。面對海量天文數(shù)據(jù),必須借助支持向量機、神經(jīng)網(wǎng)絡、遺傳算法等人工智能算法對數(shù)據(jù)進行分析和處理,挖掘有用的信息[5]。例如:基于隨機森林方法對SDSS和XMM數(shù)據(jù)的天體進行分類[6];基于機器學習方法尋找射電脈沖信號[7];基于密近雙星的Roche勢對雙星進行分類[8]等,這些標志著天文學研究邁入了大數(shù)據(jù)時代。
通過觀測獲得的食雙星光變曲線,可以快速確定其類型,搜尋出具有特殊演化意義的雙星系統(tǒng),為研究一些特殊天體和現(xiàn)象提供了重要的研究窗口。這對豐富和發(fā)展雙星的研究內(nèi)容,通過食雙星認識星團和星系的形成和演化具有重要的意義。文[9]使用多項式擬合光變曲線,根據(jù)擬合后曲線的主極小和次極小的寬度和深度給出光變曲線類型;文[10-11]使用傅里葉變換提取光變曲線數(shù)據(jù)的頻率特征,根據(jù)所得頻率特征進行分類,但在算法實現(xiàn)上使用了軟件計算的完美光變曲線數(shù)據(jù)進行參數(shù)設置,使用特征量較少,未考慮儀器測試誤差、天氣原因等引起的數(shù)據(jù)波動影響,因此僅能完成對光變曲線進行初步分類,不能識別載有特殊天文現(xiàn)象的光變曲線。
本文提出一種基于支持向量機(Support Vector Machine, SVM)的食雙星光變曲線自動分類算法,以快速傅里葉變換所得的頻率信號為特征量,對支持向量機模型進行訓練獲得能自動分類的模型。
食雙星光變曲線可分為EA,EB和EW 3種,針對分類需求提出分類方法如圖1。第1步對原始數(shù)據(jù)進行預處理,歸一化原始數(shù)據(jù)并減小其中噪聲;第2步通過快速傅里葉變換提取頻率信號作為特征數(shù)據(jù);第3步使用支持向量機算法訓練分類模型并測試;第4步對流程優(yōu)化,獲得最優(yōu)的分類模型。
自動化全天巡視(All Sky Automated Survey, ASAS)用理論光變曲線所得特征進行分類,未考慮實測數(shù)據(jù)中的噪聲影響[12]。而本文使用食雙星目錄與圖集[注]http://caleb.eastern.edu(Catalog and AtLas of Eclipsing Binaries, CALEB)實測數(shù)據(jù)(包括相位和較差星等)。由于天氣因素以及儀器誤差等影響,實測數(shù)據(jù)不可避免地帶有噪聲影響。為了降低噪聲的影響,首先進行預處理。
(1)歸一化,相位數(shù)值在[0, 1]之間,不需要處理。較差星等可通過(1)式歸一化到[0, 1]之間。
(1)
其中,m′為歸一化后的較差星等;m為原始較差星等;mmax和mmin分別為較差星等最大值和最小值。
圖1 光變曲線分類方法
Fig.1 Automatic classification algorithm scheme for light curve
(2)
(3)
原始光變曲線為時間序列數(shù)據(jù),需將其特征提取出來用于分析。常用特征包括主極小和次極小差值、主極小波谷半高全寬等。本文采用光變曲線的頻率特性作為特征值。實際實現(xiàn)時可用快速離散傅里葉變換將相位/較差星等變?yōu)轭l域信號,將頻域信號與對應光變曲線類型組成特征數(shù)據(jù)集{f0,f1, ...,fd,T},其中fi(i=0, 1, ...,d)為頻率分量,T為光變曲線類型。
支持向量機是建立在統(tǒng)計學習理論和結(jié)構(gòu)風險最小原理基礎上的一種有監(jiān)督的機器學習算法,基本思想是將特征值映射到高維向量空間,獲得可將不同類數(shù)據(jù)分割的超平面,該算法常作為自動分類的機器學習算法。在實際使用中,通常將原始數(shù)據(jù)分為訓練集和測試集。使用訓練集訓練支持向量機模型,獲得映射函數(shù)和分割平面(即分類模型),使用測試集驗證所得模型。
算法實現(xiàn)采用Python編程。Python是一種面向?qū)ο蟮慕忉屝陀嬎銠C編程語言,由于其易用性、簡潔性和可擴展性,成為最受歡迎的程序設計語言之一。Python擁有大量的科學計算擴展庫,可用于實現(xiàn)本文提出的算法。
第1步進行原始數(shù)據(jù)下載和收集。本文使用Urllib3和BeautifulSoup庫自動分析CALEB網(wǎng)頁數(shù)據(jù)并存儲網(wǎng)站提供的300個變星的坐標、星名、類型及747條光變曲線,但網(wǎng)站未給出光變曲線類型。隨后通過變星坐標與變星總表[注]http://www.sai.msu.su/gcvs/gcvs/intr.htm(General Catalogue of Variable Stars new version, GCVS)數(shù)據(jù)交叉對比獲得光變曲線類型。
第2步實現(xiàn)光變曲線數(shù)據(jù)預處理。這里以BE Vul(EA),YY Cet(EB)和TW Cet(EW)3個變星的V波段數(shù)據(jù)為例。原始數(shù)據(jù)如圖2(a)。由圖2(a)可知,由于觀測設備等限制,觀測數(shù)據(jù)質(zhì)量較差。表現(xiàn)為數(shù)據(jù)點個數(shù)不一致、浮動較大、數(shù)據(jù)較離散等。將相位均分為間隔0.005的新相位點,應用歸一化/均值濾波/線性插值后所得數(shù)據(jù)如圖2(b)。由圖2(b)可知,預處理保留了原始數(shù)據(jù)的變化趨勢,相對原始數(shù)據(jù)更加平滑。
圖2 原始數(shù)據(jù)(a)與預處理后數(shù)據(jù)(b)
Fig.2 Original data (a) and pre processed data (b)
第3步使用Numpy和Scipy庫對預處理后的數(shù)據(jù)進行快速傅里葉變換完成頻域變化。以上文所述3顆星數(shù)據(jù)為例,所得頻率值如圖3。其中橫坐標代表信號諧波頻率。
第4步進行支持向量機模型訓練。使用上述方法把747條光變曲線處理后獲得數(shù)據(jù)集{f0,f1, ...,fd,T}。首先測試頻率分量選擇對模型訓練的影響。用[fi,fj]表示從fi到fj的連續(xù)頻率分量集合,用{fx,fy}表示fx,fy獨立的頻率分量集合。支持向量機模型選用線性核函數(shù),訓練集為373條數(shù)據(jù),測試集為374條數(shù)據(jù),懲罰因子設為1.0。其中,核函數(shù)是將輸入空間映射到高維空間的函數(shù)算法,懲罰因子是對錯誤分類的容忍度,降低容忍度能獲得更好的訓練結(jié)果,但也可能產(chǎn)生過擬合。最終的結(jié)果如圖 4。由圖4可知,選取偶次諧波作為特征值時,分類正確率較高(圖中數(shù)據(jù)a、b和c),即使僅用f0也可獲得78.6%的分類正確率(圖中數(shù)據(jù)a)。選擇奇次諧波分量作為特征值時,正確率最高僅為57.8%(圖中數(shù)據(jù)d、e),說明奇次諧波分量不適合作為特征值。比較圖中結(jié)果f到i,正確率隨著選取頻率數(shù)量的增多而上升,說明選擇更多頻率分量有助于優(yōu)化分類結(jié)果。訓練集和測試集正確率相差小于2%,說明訓練結(jié)果有效,且未達到過度訓練。綜合以上結(jié)果,偶次諧波分量適用于作為特征值。
圖3 快速傅里葉變換的結(jié)果
Fig.3 Result of FFT
a{f0},b{f0,f2},c{f0,f2,f4},d{f1,f3},e{f1,f3,f5},f[f0,f2],g[f0,f4],h[f0,f6],i[f0,f8]
圖4 分類正確率與特征值的關(guān)系
Fig.4 Relationship between classifying accuracy and characteristic value
優(yōu)化支持向量機參數(shù)設置以獲得更好的結(jié)果。支持向量機參數(shù)主要包括核函數(shù)選擇和懲罰因子設置。選擇不同核函數(shù)和懲罰因子,使用數(shù)據(jù)集{f0,f2,f4,f6,f8}作為特征值,所得結(jié)果如圖5。由圖5可知,4種核函數(shù)按優(yōu)劣順序依次為linear,rbf,sigmoid和poly。提高懲罰因子初期能顯著提升linear,rbf和sigmoid的分類正確率,但在某一閾值后正確率達到穩(wěn)定,懲罰因子對poly無影響。當選用linear核函數(shù),懲罰因子設置為2.0時,獲得最優(yōu)分類模型,分類正確率分別為89.8%(訓練集)和84.8%(測試集)。保存已訓練好的模型用于其他新的光變曲線數(shù)據(jù)分類與識別。
由結(jié)果可知,訓練所得模型正確率高,能滿足分類需求,但仍有分類錯誤的數(shù)據(jù)。下面對分類錯誤的數(shù)據(jù)進行分析,找出分類錯誤的原因。
將分類錯誤的數(shù)據(jù)進行整理和分析,結(jié)果表明分類錯誤主要來自以下2方面:(1)兩個網(wǎng)站的光變曲線和分類信息不一致,如AU Pup和AW Lac兩個目標星的原始數(shù)據(jù)與預處理后數(shù)據(jù)如圖6(a),由圖可知該光變曲線類型應為EW型,但GCVS給出的光變曲線類型均為EB型,可修改原始光變曲線類型數(shù)據(jù)消除這種錯誤;(2)光變曲線類型分類缺乏明確的區(qū)分標準,如圖6(b),GCVS給出XZ Cmi和SW Lyn分別為EB和EA型,但CALEB所給光變曲線數(shù)據(jù)非常接近,所以必需明確分類標準,并對原始數(shù)據(jù)逐條進行手工分類與核對,由于該工作量較大暫未進行。
圖5 支持向量機參數(shù)與分類正確率關(guān)系
Fig.5 Relationship between SVM parameters and classifying accuracy
圖6 分類錯誤的光變曲線
Fig.6 Light curve of classification error
我們修正了上文所述光變曲線與分類不一致的錯誤,共計14個目標,重新進行支持向量機模型訓練和測試,結(jié)果如圖7。由圖5可知sigmoid和poly效果較差,這次僅進行l(wèi)inear和rbf兩種核函數(shù)的測試。由圖7可知linear核函數(shù)結(jié)果較好,當懲罰因子設置為5.8時,分類正確率為92.8%(訓練集)和89.0%(測試集)。如果使用rbf核函數(shù),當懲罰因子設置為5.6時,分類正確率為90.9%(訓練集)和86.4%(測試集)。
使用linear和rbf兩種核函數(shù)訓練的模型對160條光變曲線數(shù)據(jù)[注]https://www.researchgate.net/profile/Y-G_Yang進行分類測試,分類正確率均為88.8%,檢查錯誤類型,主要是EA和EB兩種光變曲線分類錯誤。
圖7 基于修正數(shù)據(jù)支持向量機參數(shù)與分類正確率關(guān)系
Fig.7 Relationship between SVM parameters and classifying accuracy based on the modified data
本文提出一種基于機器學習的光變曲線自動分類算法,使用快速傅里葉變換提取目標數(shù)據(jù)的頻率,選用偶次頻率分量作為光變曲線特征值,使用所提取特征值訓練支持向量機模型獲得分類模型。采用Python編程實現(xiàn)上述算法并進行優(yōu)化,實驗數(shù)據(jù)使用CALEB的實測光變曲線數(shù)據(jù)和GCVS的分類數(shù)據(jù),結(jié)果表明,采用[f0,f2,f4,f6,f8]作為特征值時,選用linear核函數(shù),懲罰因子設置為2.0可獲得最優(yōu)分類結(jié)果,分類正確率為89.8%(訓練集)和84.8%(測試集),基本滿足分類需求。
對分類錯誤的數(shù)據(jù)進行分析,結(jié)果表明,分類錯誤的第1個原因是CALEB的光變曲線數(shù)據(jù)和GCVS分類信息不一致,該類錯誤可以通過修改分類信息消除,第2個原因是光變曲線類型分類缺乏明確區(qū)分標準,某些非常接近的光變曲線數(shù)據(jù)被分為不同類型,對最終測試結(jié)果造成干擾,需要制定明確的分類標準并對原始數(shù)據(jù)重新分類才可以避免該種錯誤。將第1種錯誤全部修正后,正確率提升到92.8%(訓練集)和89.0%(測試集)。由于未制定明確的分類標準,第2種錯誤還未修復。
在天文觀測中自動化技術(shù)應用越來越廣泛,獲取的數(shù)據(jù)量也越來越多,在常規(guī)的觀測數(shù)據(jù)中往往包含著我們感興趣的特殊數(shù)據(jù),預示著特殊的天文現(xiàn)象如雙星合并等,需要篩選特殊數(shù)據(jù),然后對該目標進行重點觀測,能獲得更有用的數(shù)據(jù)結(jié)果。如何從大量數(shù)據(jù)中快速篩選出特殊數(shù)據(jù)是一個難點。在隨后的研究中將特殊光變曲線數(shù)據(jù)整理為樣本數(shù)據(jù),對支持向量機算法進行訓練,使所得模型能夠快速識別特殊光變曲線數(shù)據(jù),從而能夠快速響應。