陳弘揚,薛 珂,王心塵
(國家無線電監測中心福建監測站,福建 廈門 361004)
國家短波監測網由北京、哈爾濱、上海、福建、深圳、成都、云南、陜西和烏魯木齊等9個短波監測站以及短波監測指揮控制中心(北京)組成。自建成以來,國家短波監測網為短波無線電管理的各項工作,如重大活動保障、國際干擾申訴處置、頻率指配、干擾查找等提供了有力支撐,并為頻率及臺站的規劃和審批工作提供了可靠支持,有力地維護了短波電波秩序。
隨著短波監測網監測能力大幅度上升帶來的海量數據處理需求,以及大數據、云計算、AI、機器學習等新的概念的普及應用,如何實現新概念與短波數據分析的結合,挖掘短波監測數據藍海中更有價值的內容應當是未來發展中值得重點關注的問題。
早期的無線電監測是以人工耳聽及手動分析為主,而隨著監測網技術水平和建設規模的提升及軟件無線電理論的日漸完善,隨之而來的是監測數據量急劇增加,對于海量數據的各種聯系和規則的挖掘、主動發現異常信號數據、當前頻譜使用態勢分析以及對未來頻譜需求預測,是無線電監測工作中的重要部分。而機器學習技術的目標正是從雜亂無章的海量數據中挖掘出潛在的有價值的信息和知識。
機器學習指的是通過設計某些算法來訓練計算機 通過已知數據得出一個最適合的模型,再利用這個模型對未知數據給出判斷的過程,也就是讓計算 機具備 像人一樣的學習能力,進而從大量監測數據中挖掘出其中隱含的規律,并用于預測或者分類。
近年來,機器學習技術迅速發展,在社會各行業得到了廣泛應用,如工業生產、金融投資、醫學、旅游、天文氣象等領域。隨著數據量的快速增長,傳統的統計分析方法已經無法滿足需求,人們開始轉而利用計算機的高性能來分析數據庫中的海量數據,從中挖掘數據蘊藏的更深的價值。當前越來越多的技術工作,如數據挖掘、云計算、知識發現、信號處理等同機器學習概念聯系起來[1],充分證明了機器學習可以在海量數據處理方面發揮重要的作用。機器學習可以依托原始樣本分析數據規律,并利用歷史經驗,以更加智能的方式產生決策[2]。
機器學習涉及領域廣泛,包括概率方面、統計方面、算法復雜度理論等諸多學科[3],而隨著機器學習理論的不斷發展和計算機性能的提升,機器學習應用得到了進一步發展,已經廣泛應用于語音識別、圖像識別、數據挖掘、機器人控制等諸多領域。
在無線電監測方面,機器學習的應用主要包括針對黑廣播頻譜參數進行采樣學習、信號檢測發現、調制模式或干擾識別、認知無線電等。
由于機器學習最本質的目的就是從大量的數據分析中汲取知識,因此機器學習與短波大數據的結合顯然值得重點關注,特別是當短波新技術發展及專業化應用趨勢日趨明顯的情況下,如何從無到有地實現機器學習手段的工程化,進而利用機器學習方法針對短波大數據進行分析處理依然是一項具有挑戰性的工作。
業內應用最廣的3款機器學習工具是Python、MATLAB和WEKA。
(1)Python是一種用于通用編程的解釋型高級編程語言,目前已有很多機器學習(深度學習)框 架,能夠比較 好地支 持機 器 學習,因此如果需要進行多運行環境的適配和移植,計算模塊使用Python是個比較理想的方案。
(2)MATLAB是一種多范型數值計算環境,它提 供了大量機器 學習算法,常見的比如PCA、SVM、決策樹、集成學習等,應付日常需求綽綽有余。但同時它也存在無法開發單獨的應用和迭代循環性能 差的問題,而且 正 版MATLAB的每個 license都價格不菲。如此昂貴的價格以及美國日漸加強的知識產權保護措施,也使得MATLAB不再適用于大數據的機器學習研究。
(3)WEKA是一款集機器學習、數據挖掘和可視化為 一 體的 軟件,它作為 一 個 免費、公開的數據挖掘平臺,包含了大量的機器學習算法,如數據預處 理、分類、回歸、聚類、關聯規則分析等。WEKA操作簡單,計算速度快,是入門機器學習的不錯選擇怕,同時用戶還可以通過Java語言,在其架構上開發更多的數據挖掘算法。
綜上所述,若有編程基礎,可以選擇功能更加強大的Python,若編程基礎薄弱或沒有編程基礎,則可以使用WEKA。對于大部分無線電監測從業者來說,關注的是監測數據的挖掘,也就是機器學習方法的應用,所以WEKA的機器學習功能能夠滿足無線電監測從業者的需求。
在短波監測中,信號的調制方式是一個非常重要的屬性,它對于分辨信號是否合法有著很大的意義。傳統的信號分析方法是由監測人員進行手動分析,但對于越來越大的數據量,這個方式存在效率不高的短板。由于短波信號在頻譜上的特征比較明顯,我們可以嘗試在WEKA的知識流界面使用分類方法對海量短波監測數據進行調制方式識別的機器學習。
分類是一種重要的數據挖掘形式,它通過一個分類函數構造一個分類模型(即分類器),將未知類別的數據對象映射到某個給定的類別。
分類的一個重要預測模型是決策樹,它是一種與流程圖類似的樹結構,它包括了決策節點、分支和葉節點這三個 部分。決策節點表示待分類樣本的某一個屬性,在此處進行一個判斷,不同判斷結論形成不同的分支,葉節點代表一種分類結果。選擇分支的特征可以用到決策樹中應用最廣泛的算法——C4.5算法,它采用信息增益率作為當前最優決策屬性的度量標準。本文將使用C4.5算法對短波監測數據中的調制方式這一屬性進行決策樹分類的機器學習。
我們使用的短波監測數據集包含1 230條數據,具備頻率、功率、帶寬、定位位置(國內或國外)、調制方式、發射是否規律這6個屬性。在WEKA的知識流界面中,添加如圖1所示的組件,其中CSVLoader是數據源組件,用于加載數據集;ClassAssigner用于指明數據集中需要分類的屬性;CrossValidationFoldMaker是交叉驗證組件,用于設置訓練集和測試集的比例等;J48組件是本流程的核心算法部分,J48即WEKA中決策樹下的C4.5 算法;GraphViewer及TextViewer是最后的圖形及文字結果輸出組件。各組件通過“批量傳遞數據”模式連接后,設置好各組件中的參數,點擊開始后,WEKA開始運行,結束后可得到如圖2所示結果,在1 230條數據中,分類正確的是1 199條,正確率為97.48%,這一正確率在大體量的數據集中是個不錯的結果,說明該決策樹分類模型可以用于海量監測數據的調制類型分類中。從圖3的結果中可以看出,錯誤分類的數據主要是SSB信號和數字調制的信號,要提升分類正確率,還需要更多的準確數據或更多的數據屬性來豐富決策樹,這也是我們未來努力的方向。

圖1 知識流界面中利用J48算法進行分類

圖2 J48算法分類結果1

圖3 J48算法分類結果2
本文首先介紹了短波監測數據分析面臨的挑戰,然后通過文獻調研對機器學習在短波監測數據分析方面的應用進行了歸納,接著對主流的機器學習工具進行了調研,并選取WEKA作為機器學習工具,對短波監測數據集中的調制方式進行分類,得到了較高的正確率,證明了機器學習在短波監測數據分析的可行性。