本發(fā)明屬于計(jì)算機(jī)領(lǐng)域,具體涉及一種航空飛行數(shù)據(jù)分析系統(tǒng),尤其涉及一種面向航空電子數(shù)據(jù)的分布式挖掘系統(tǒng);此外,本發(fā)明還涉及該面向航空電子數(shù)據(jù)的分布式挖掘系統(tǒng)的實(shí)現(xiàn)方法。
背景技術(shù):
:航空飛行運(yùn)行是一項(xiàng)龐大的綜合系統(tǒng)。在飛行的全過(guò)程中,在各部門各崗位間,都有大量的、種類繁多的數(shù)據(jù)需要傳遞,比如機(jī)組信息、氣象狀況、航行信息、航線風(fēng)險(xiǎn)系數(shù)評(píng)估、艙單信息、起飛數(shù)據(jù)、特情預(yù)案等數(shù)據(jù)。由于受到技術(shù)和管理模式的限制,傳統(tǒng)的數(shù)據(jù)傳遞方式是通過(guò)電話、發(fā)放紙質(zhì)文檔、手冊(cè)等。這些傳統(tǒng)的保障方式存在諸多缺點(diǎn),甚至成為限制民航業(yè)繼續(xù)發(fā)展的瓶頸。航空數(shù)據(jù)對(duì)每一次航班的安全起飛和經(jīng)濟(jì)效益有著極其重要的影響。而航空數(shù)據(jù)的特點(diǎn)是多源、復(fù)雜、大規(guī)模,現(xiàn)有的單一平臺(tái)的數(shù)據(jù)分析系統(tǒng)的應(yīng)用有限,因此針對(duì)這些多源的大規(guī)模飛行數(shù)據(jù),亟需研發(fā)一種面向航空電子數(shù)據(jù)的數(shù)據(jù)分析系統(tǒng)?,F(xiàn)有的數(shù)據(jù)分類算法對(duì)比見下表1:表1體系化對(duì)抗環(huán)境中,實(shí)時(shí)感知數(shù)據(jù)源的數(shù)據(jù)是一個(gè)關(guān)鍵性的問題,這些數(shù)據(jù)源通常來(lái)自多種傳感器,高效的管理數(shù)據(jù)源產(chǎn)生的異構(gòu)的數(shù)據(jù)成為這個(gè)問題的一個(gè)難點(diǎn)。本發(fā)明針對(duì)這些問題,對(duì)現(xiàn)有的分布式框架和相關(guān)的數(shù)據(jù)分析方法進(jìn)行了一定的研究,嘗試找出處理和分析多源的大規(guī)模飛行數(shù)據(jù)的有效方法。技術(shù)實(shí)現(xiàn)要素:本發(fā)明要解決的技術(shù)問題在于提供一種面向航空電子數(shù)據(jù)的分布式挖掘系統(tǒng),該系統(tǒng)在數(shù)據(jù)實(shí)時(shí)性的基礎(chǔ)上,支持歷史數(shù)據(jù)的關(guān)聯(lián)模型建立,利用實(shí)時(shí)的數(shù)據(jù)和關(guān)聯(lián)模型完成實(shí)時(shí)預(yù)測(cè),對(duì)飛行員的決策提供一定的指導(dǎo)。具體來(lái)說(shuō),該系統(tǒng)需要實(shí)現(xiàn)以下功能:飛行數(shù)據(jù)實(shí)時(shí)共享、飛行數(shù)據(jù)關(guān)聯(lián)分析和實(shí)時(shí)輔助決策。為此,本發(fā)明還提供該面向航空電子數(shù)據(jù)的分布式挖掘系統(tǒng)的實(shí)現(xiàn)方法。為解決上述技術(shù)問題,本發(fā)明提供一種面向航空電子數(shù)據(jù)的分布式挖掘系統(tǒng),包括數(shù)據(jù)關(guān)聯(lián)分析模塊、數(shù)據(jù)關(guān)聯(lián)分析應(yīng)用模塊和數(shù)據(jù)存儲(chǔ)模塊;數(shù)據(jù)關(guān)聯(lián)分析模塊從數(shù)據(jù)源中獲取訓(xùn)練數(shù)據(jù),完成數(shù)據(jù)關(guān)聯(lián)模型建立,將模型提供給數(shù)據(jù)關(guān)聯(lián)分析應(yīng)用模塊使用,數(shù)據(jù)關(guān)聯(lián)分析應(yīng)用模塊完成實(shí)時(shí)預(yù)測(cè)并將結(jié)果顯示在屏幕上,數(shù)據(jù)關(guān)聯(lián)分析應(yīng)用模塊利用數(shù)據(jù)存儲(chǔ)模塊實(shí)現(xiàn)的云存儲(chǔ)功能完成實(shí)時(shí)存儲(chǔ)的功能。作為本發(fā)明優(yōu)選的技術(shù)方案,所述數(shù)據(jù)存儲(chǔ)模塊包括讀取文件路徑單元和演示控制單元;所述讀取文件路徑單元用于讀取用戶選擇的數(shù)據(jù)源文件存放路徑;所述演示控制單元用于演示數(shù)據(jù)的存儲(chǔ)情況,它周期性地讀取存儲(chǔ)記錄并顯示到面板上;所述數(shù)據(jù)存儲(chǔ)模塊采用hadoop分布式存儲(chǔ)平臺(tái)及hbase分布式數(shù)據(jù)庫(kù),從多架飛機(jī)實(shí)時(shí)獲取數(shù)據(jù),然后通過(guò)云存儲(chǔ)方式再存儲(chǔ)到多架飛機(jī)上,并實(shí)時(shí)獲取并共享多架飛機(jī)的數(shù)據(jù)。作為本發(fā)明優(yōu)選的技術(shù)方案,所述數(shù)據(jù)關(guān)聯(lián)分析模塊包括訓(xùn)練數(shù)據(jù)路徑單元、訓(xùn)練參數(shù)選擇單元和數(shù)據(jù)分割方式選擇單元;所述訓(xùn)練數(shù)據(jù)路徑單元用于讀取用戶選擇的訓(xùn)練數(shù)據(jù)存放路徑,所述訓(xùn)練參數(shù)選擇單元用于讀取用戶選擇的各個(gè)訓(xùn)練參數(shù)值,所述數(shù)據(jù)分割方式選擇單元用于讀取用戶選擇的數(shù)據(jù)分割方式,所述數(shù)據(jù)關(guān)聯(lián)分析模塊根據(jù)上述單元讀取的內(nèi)容來(lái)進(jìn)行模型的建立和訓(xùn)練。作為本發(fā)明優(yōu)選的技術(shù)方案,所述數(shù)據(jù)關(guān)聯(lián)分析模塊采用svm分類器,對(duì)應(yīng)代碼的svm包,通過(guò)svm的方法,對(duì)已有的數(shù)據(jù)和分析結(jié)果進(jìn)行分類,其核心模塊是數(shù)據(jù)拆分程序和調(diào)用的libsvm分類器包,拆分程序?qū)?shù)據(jù)源結(jié)果為0的記錄拆分成n份,n由用戶輸入,分別和結(jié)果為1的記錄組成n個(gè)訓(xùn)練數(shù)據(jù)集,用libsvm訓(xùn)練后輸出n個(gè)模型,預(yù)測(cè)時(shí)使用n個(gè)模型結(jié)果進(jìn)行預(yù)測(cè)結(jié)果進(jìn)行與/或操作輸出預(yù)測(cè)結(jié)果;所述數(shù)據(jù)關(guān)聯(lián)分析模塊中數(shù)據(jù)關(guān)聯(lián)模型建立通過(guò)用戶指定輸入?yún)?shù)完成。作為本發(fā)明優(yōu)選的技術(shù)方案,所述svm分類器為使用rbf核的非線性svm分類器;所述svm分類器為二分割分類器。作為本發(fā)明優(yōu)選的技術(shù)方案,所述數(shù)據(jù)關(guān)聯(lián)分析應(yīng)用模塊包括模型路徑選擇單元、讀取文件路徑單元和演示控制單元;所述模型路徑選擇單元用于讀取用戶選擇的訓(xùn)練模型存放路徑,所述讀取文件路徑單元用于讀取用戶選擇的數(shù)據(jù)源文件存放路徑,所述演示控制單元利用讀取的模型對(duì)數(shù)據(jù)進(jìn)行分析,將預(yù)測(cè)結(jié)果顯示到面板上。此外,本發(fā)明還提供一種上述系統(tǒng)的實(shí)現(xiàn)方法,包括數(shù)據(jù)存儲(chǔ)模塊的數(shù)據(jù)存儲(chǔ)實(shí)現(xiàn)、數(shù)據(jù)關(guān)聯(lián)分析模塊的建立數(shù)據(jù)關(guān)聯(lián)模型實(shí)現(xiàn)和數(shù)據(jù)關(guān)聯(lián)分析應(yīng)用模塊的實(shí)時(shí)預(yù)測(cè)結(jié)果顯示實(shí)現(xiàn)。作為本發(fā)明優(yōu)選的技術(shù)方案,所述數(shù)據(jù)存儲(chǔ)模塊的數(shù)據(jù)存儲(chǔ)實(shí)現(xiàn)包括如下步驟:1)初始化hbase連接;2)創(chuàng)建表、列簇;3)本機(jī)數(shù)據(jù)導(dǎo)入內(nèi)存;4)開始演示;5)實(shí)時(shí)數(shù)據(jù)上傳hbase,同時(shí)實(shí)時(shí)從hbase獲取所有節(jié)點(diǎn)數(shù)據(jù);6)判斷是否終止演示,是則結(jié)束,否則回到步驟4)。作為本發(fā)明優(yōu)選的技術(shù)方案,所述數(shù)據(jù)關(guān)聯(lián)分析模塊的建立數(shù)據(jù)關(guān)聯(lián)模型實(shí)現(xiàn)包括如下步驟:1)讀取數(shù)據(jù)、取出各屬性值的上下界;2)再次掃描數(shù)據(jù),用上下界縮放數(shù)據(jù)后調(diào)用read_prob函數(shù)產(chǎn)生svm_problem;3)svm_problem進(jìn)行交叉驗(yàn)證,得到訓(xùn)練準(zhǔn)確率;4)基于svm_problem調(diào)用svm_train函數(shù),生成模型并存儲(chǔ);5)結(jié)束。作為本發(fā)明優(yōu)選的技術(shù)方案,所述數(shù)據(jù)關(guān)聯(lián)分析應(yīng)用模塊的實(shí)時(shí)預(yù)測(cè)結(jié)果顯示實(shí)現(xiàn)包括如下步驟:1)初始化hbase連接;2)創(chuàng)建表、列簇;3)本機(jī)數(shù)據(jù)導(dǎo)入內(nèi)存;4)開始演示;5)實(shí)時(shí)數(shù)據(jù)上傳hbase,同時(shí)實(shí)時(shí)從hbase獲取所有節(jié)點(diǎn)數(shù)據(jù)再使用svm算法實(shí)時(shí)預(yù)測(cè)結(jié)果;6)判斷是否終止演示,是則結(jié)束,否則回到步驟4)。根據(jù)以上提供的技術(shù)方案,與現(xiàn)有技術(shù)相比,本發(fā)明提供的面向航空電子數(shù)據(jù)的分布式挖掘系統(tǒng),具有以下有益效果:1、本發(fā)明將hadoop分布式存儲(chǔ)平臺(tái)及hbase分布式數(shù)據(jù)庫(kù)優(yōu)化后應(yīng)用到航空電子大數(shù)據(jù)系統(tǒng),是本領(lǐng)域的首創(chuàng),本發(fā)明對(duì)大規(guī)模的航電數(shù)據(jù)進(jìn)行分布式存儲(chǔ),能夠?qū)崟r(shí)地存儲(chǔ)和共享數(shù)據(jù),并利用歷史數(shù)據(jù)的分析,對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行火力打擊的預(yù)測(cè),從而成功地為飛行員提供有效的決策指導(dǎo),預(yù)測(cè)成功率高達(dá)94%。2、本發(fā)明用機(jī)器學(xué)習(xí)中的分類算法來(lái)解決飛行中火力打擊的結(jié)果預(yù)測(cè)問題,相比于以前直接用軟件模擬飛行過(guò)程來(lái)得到結(jié)果,該方法在保證一定準(zhǔn)確率的前提下速度要快好多倍,因此提高了體系化對(duì)抗系統(tǒng)的決策效率。由于打擊中擊中的情況要遠(yuǎn)遠(yuǎn)低于擊不中,造成訓(xùn)練數(shù)據(jù)不平衡,影響決策準(zhǔn)確度。因此,本發(fā)明在svm的基礎(chǔ)上,創(chuàng)新地使用數(shù)據(jù)分割的方法,來(lái)提高準(zhǔn)確度。將決策輔助功能集成到航電系統(tǒng)中,即可以利用存儲(chǔ)的數(shù)據(jù)進(jìn)行訓(xùn)練分類器,又能用訓(xùn)練好的分類器進(jìn)行實(shí)時(shí)的火力打擊預(yù)測(cè),并根據(jù)預(yù)測(cè)結(jié)果為飛行器實(shí)時(shí)地提供決策建議。3、經(jīng)試驗(yàn)驗(yàn)證,本發(fā)明系統(tǒng)優(yōu)選使用rbf核的非線性svm分類器準(zhǔn)確率最高,而優(yōu)選使用二分割分類器的f1值最高。4、經(jīng)試驗(yàn)驗(yàn)證,本發(fā)明系統(tǒng)支持靜態(tài)減少節(jié)點(diǎn)以及動(dòng)態(tài)增加節(jié)點(diǎn)。附圖說(shuō)明下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)一步說(shuō)明。圖1是本發(fā)明面向航空電子數(shù)據(jù)的分布式挖掘系統(tǒng)的總體框架圖。圖2是本發(fā)明面向航空電子數(shù)據(jù)的分布式挖掘系統(tǒng)的模塊單元結(jié)構(gòu)圖。圖3是本發(fā)明系統(tǒng)中數(shù)據(jù)存儲(chǔ)模塊邏輯流程圖。圖4是本發(fā)明系統(tǒng)中數(shù)據(jù)關(guān)聯(lián)分析模塊邏輯流程圖。圖5是本發(fā)明系統(tǒng)中數(shù)據(jù)關(guān)聯(lián)分析應(yīng)用模塊的示例圖。圖6是本發(fā)明系統(tǒng)中數(shù)據(jù)關(guān)聯(lián)分析應(yīng)用模塊邏輯流程圖。圖7是本發(fā)明系統(tǒng)中數(shù)據(jù)關(guān)聯(lián)分析模塊中非線性svm的示例圖。圖8和圖9是本發(fā)明系統(tǒng)中數(shù)據(jù)關(guān)聯(lián)分析模塊中數(shù)據(jù)分割的示例圖。具體實(shí)施方式現(xiàn)在結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。這些附圖均為簡(jiǎn)化的示意圖,僅以示意方式說(shuō)明本發(fā)明的基本結(jié)構(gòu),因此其僅顯示與本發(fā)明有關(guān)的構(gòu)成。如圖1所示,本發(fā)明面向航空電子數(shù)據(jù)的分布式挖掘系統(tǒng)系統(tǒng)整體分為3個(gè)模塊,數(shù)據(jù)存儲(chǔ)模塊,數(shù)據(jù)關(guān)聯(lián)分析模塊和數(shù)據(jù)關(guān)聯(lián)分析應(yīng)用模塊。數(shù)據(jù)關(guān)聯(lián)分析模塊從數(shù)據(jù)源中獲取訓(xùn)練數(shù)據(jù),可以通過(guò)用戶指定輸入?yún)?shù),完成數(shù)據(jù)關(guān)聯(lián)模型建立,將模型提供給數(shù)據(jù)關(guān)聯(lián)分析應(yīng)用模塊使用,數(shù)據(jù)關(guān)聯(lián)分析應(yīng)用模塊完成實(shí)時(shí)預(yù)測(cè)并將結(jié)果顯示在屏幕上,數(shù)據(jù)關(guān)聯(lián)分析應(yīng)用模塊利用數(shù)據(jù)存儲(chǔ)模塊實(shí)現(xiàn)的云存儲(chǔ)功能完成實(shí)時(shí)存儲(chǔ)的功能。由于系統(tǒng)是在分布式平臺(tái)基礎(chǔ)上開發(fā)的,搭建系統(tǒng)時(shí)首先需要在多臺(tái)設(shè)備(開發(fā)系統(tǒng)時(shí)使用6臺(tái))上搭建hadoop和hbase完全分布式環(huán)境。每臺(tái)設(shè)備相當(dāng)于一個(gè)飛行節(jié)點(diǎn),其中有一臺(tái)作為主節(jié)點(diǎn),來(lái)進(jìn)行調(diào)度和顯示等操作。1.數(shù)據(jù)存儲(chǔ)模塊(1)分布式存儲(chǔ)平臺(tái)為完成數(shù)據(jù)可靠性存儲(chǔ)過(guò)程,參考技術(shù)方案中的設(shè)計(jì),借助已有的分布式云平臺(tái),基于hdfs實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)功能。在六臺(tái)專用測(cè)試設(shè)備上部署hdfs的服務(wù)端,待所有節(jié)點(diǎn)模擬飛行員就位(設(shè)備開機(jī))后,在任一節(jié)點(diǎn)啟動(dòng)hdfs的start-all.sh命令,六臺(tái)測(cè)試設(shè)備組建成統(tǒng)一的數(shù)據(jù)共享平臺(tái),分別監(jiān)聽相應(yīng)功能的端口。數(shù)據(jù)存儲(chǔ)或查詢請(qǐng)求達(dá)到時(shí),使用對(duì)應(yīng)端口傳輸數(shù)據(jù)。平臺(tái)的數(shù)據(jù)可靠性和容錯(cuò)性借助hdfs的冗余備份功能完成。(2)分布式數(shù)據(jù)庫(kù)在已有的hdfs穩(wěn)定存儲(chǔ)的基礎(chǔ)上,項(xiàng)目為規(guī)范化管理所有數(shù)據(jù),基于hbase實(shí)現(xiàn)了一個(gè)分布式數(shù)據(jù)庫(kù),使用hadoop的hdfs來(lái)完成可靠存儲(chǔ),使用hadoop的mapreduce框架來(lái)加速系統(tǒng)數(shù)據(jù)查詢操作。hbase的表格設(shè)計(jì)如下:實(shí)際存儲(chǔ)時(shí),每個(gè)數(shù)據(jù)包對(duì)應(yīng)一個(gè)rowkey,每個(gè)rowkey只包含一個(gè)數(shù)據(jù)塊的信息,hbase利用列存的方式保證系統(tǒng)數(shù)據(jù)的可靠性。(3)運(yùn)行流程該模塊運(yùn)行過(guò)程包括數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)顯示兩個(gè)步驟。數(shù)據(jù)存儲(chǔ):隔40ms吐出一次數(shù)據(jù),將數(shù)據(jù)存儲(chǔ)到hbase中,因樣本數(shù)據(jù)量較小,讀取完成之后從第一個(gè)數(shù)據(jù)開始再次吐出。數(shù)據(jù)顯示:另開線程完成文件的讀取過(guò)程,每隔10ms從hbase環(huán)境中實(shí)時(shí)查詢從上次時(shí)間戳查詢到現(xiàn)在時(shí)間戳?xí)r間內(nèi)所有的記錄,從記錄中讀取最后一條記錄,實(shí)時(shí)顯示在屏幕上。如圖2所示,數(shù)據(jù)存儲(chǔ)模塊包括讀取文件路徑單元和演示控制單元,用于數(shù)據(jù)存儲(chǔ)演示。讀取文件路徑單元用于讀取用戶選擇的數(shù)據(jù)源文件存放路徑,演示控制單元用于演示數(shù)據(jù)的存儲(chǔ)情況,它周期性地讀取存儲(chǔ)記錄并顯示到面板上。如圖3所示,數(shù)據(jù)存儲(chǔ)模塊邏輯流程包括如下步驟:1)初始化hbase連接;2)創(chuàng)建表、列簇;3)本機(jī)數(shù)據(jù)導(dǎo)入內(nèi)存;4)開始演示;5)實(shí)時(shí)數(shù)據(jù)上傳hbase,同時(shí)實(shí)時(shí)從hbase獲取所有節(jié)點(diǎn)數(shù)據(jù);6)判斷是否終止演示,是則結(jié)束,否則回到步驟4)。2.數(shù)據(jù)關(guān)聯(lián)分析模塊由于航電的訓(xùn)練數(shù)據(jù)具有低維度(7維),大容量(420w條記錄)和不平衡性(0和1比例為15:1)的特點(diǎn),我們綜合考慮以上算法,最終選擇使用支持向量機(jī)svm來(lái)完成數(shù)據(jù)分析過(guò)程中模型建立工作。這一部分主要使用的svm分類器,對(duì)應(yīng)代碼的svm包,通過(guò)svm的方法,對(duì)已有的數(shù)據(jù)和分析結(jié)果進(jìn)行分類,其核心模塊是數(shù)據(jù)拆分程序和調(diào)用的libsvm分類器包,拆分程序?qū)?shù)據(jù)源結(jié)果為0的記錄拆分成n份(n由用戶輸入),分別和結(jié)果為1的記錄組成n個(gè)訓(xùn)練數(shù)據(jù)集,用libsvm訓(xùn)練后輸出n個(gè)模型,預(yù)測(cè)時(shí)使用n個(gè)模型結(jié)果進(jìn)行預(yù)測(cè)結(jié)果進(jìn)行與/或操作輸出預(yù)測(cè)結(jié)果。運(yùn)行過(guò)程主要包括以下三個(gè)步驟。數(shù)據(jù)歸一化:掃描數(shù)據(jù)集,取出上下界,完成數(shù)據(jù)的歸一化操作,保證每個(gè)變量對(duì)結(jié)果的作用平衡。數(shù)據(jù)分割:因?yàn)閿?shù)據(jù)的特殊性,結(jié)果為0的記錄數(shù)量遠(yuǎn)多于結(jié)果為1,所以本發(fā)明采取技術(shù)方案中的劃分策略,將結(jié)果為1的數(shù)據(jù)劃分成n份,分別與0組合之后形成n個(gè)數(shù)據(jù)源,這一部分在read_prob函數(shù)中實(shí)現(xiàn)。數(shù)據(jù)訓(xùn)練:調(diào)用libsvm軟件包中的各個(gè)函數(shù)(包括svm_scale、svm_train等),對(duì)各svm_problem訓(xùn)練,生成svm_model并dump(轉(zhuǎn)存)到硬盤上。如圖2所示,數(shù)據(jù)關(guān)聯(lián)分析模塊包括訓(xùn)練數(shù)據(jù)路徑單元、訓(xùn)練參數(shù)選擇單元、數(shù)據(jù)分割方式選擇單元,用于建立模型、進(jìn)行模型訓(xùn)練。訓(xùn)練數(shù)據(jù)路徑單元用于讀取用戶選擇的訓(xùn)練數(shù)據(jù)存放路徑,訓(xùn)練參數(shù)選擇單元用于讀取用戶選擇的各個(gè)訓(xùn)練參數(shù)值,數(shù)據(jù)分割方式選擇單元用于讀取用戶選擇的數(shù)據(jù)分割方式,數(shù)據(jù)關(guān)聯(lián)分析模塊根據(jù)這些單元讀取的內(nèi)容來(lái)進(jìn)行模型的建立和訓(xùn)練。如圖4所示,數(shù)據(jù)關(guān)聯(lián)分析模塊邏輯流程包括如下步驟:1)讀取數(shù)據(jù)、取出各屬性值的上下界,包括經(jīng)度、緯度、高度、橫滾角、直航角、俯仰角和速度7個(gè)屬性;2)再次掃描數(shù)據(jù),用上下界scale數(shù)據(jù)(縮放數(shù)據(jù),以提高訓(xùn)練和預(yù)測(cè)時(shí)數(shù)據(jù)的處理速度)后調(diào)用read_prob函數(shù)產(chǎn)生svm_problem;3)svm_problem進(jìn)行crossvalidation(交叉驗(yàn)證),得到訓(xùn)練準(zhǔn)確率;4)基于svm_problem調(diào)用svm_train函數(shù),生成模型并存儲(chǔ);5)結(jié)束。3.數(shù)據(jù)關(guān)聯(lián)分析應(yīng)用模塊應(yīng)用模塊的整體設(shè)計(jì)原則是利用數(shù)據(jù)存儲(chǔ)模塊完成存儲(chǔ),利用數(shù)據(jù)關(guān)聯(lián)分析模塊輸出的最優(yōu)模型作為輸入模型,對(duì)任一數(shù)據(jù)實(shí)時(shí)預(yù)測(cè),如圖5所示。其中,多分模型的數(shù)據(jù)預(yù)測(cè)遵循如下規(guī)則:2分:或模型:n1|n2與模型:n1&n24分:先與后或:(n1&n2)|(n3&n4)先或后與:(n1|n2)&(n3|n4)8分:先與后或:(n1&n2&n3&n4)|(n5&n6&n7&n8)先或后與:(n1|n2|n3|n4)&(n5|n6|n7|n8)運(yùn)行過(guò)程主要包括以下三個(gè)步驟。初始化:初始化hbase的連接,完成表的創(chuàng)建,列簇的創(chuàng)建等操作,從硬盤讀取需要存儲(chǔ)的文件內(nèi)容。數(shù)據(jù)產(chǎn)生:每隔40ms吐出一次數(shù)據(jù),將數(shù)據(jù)存儲(chǔ)到hbase中,因樣本數(shù)據(jù)量較小,讀取完成之后從第一個(gè)數(shù)據(jù)開始再次吐出。數(shù)據(jù)顯示:另開線程完成文件的讀取過(guò)程,每隔10ms從hbase環(huán)境中實(shí)時(shí)查詢從上次時(shí)間戳查詢到現(xiàn)在時(shí)間戳?xí)r間內(nèi)所有的記錄,從記錄中讀取最后一條記錄,用這個(gè)數(shù)據(jù)調(diào)用svm完成實(shí)時(shí)預(yù)測(cè),并將結(jié)果顯示在屏幕上。如圖2所示,數(shù)據(jù)關(guān)聯(lián)分析應(yīng)用模塊包括模型路徑選擇單元、讀取文件路徑單元、演示控制單元,用于數(shù)據(jù)分析演示。模型路徑選擇單元用于讀取用戶選擇的訓(xùn)練模型存放路徑,讀取文件路徑單元用于讀取用戶選擇的數(shù)據(jù)源文件存放路徑,演示控制單元利用讀取的模型對(duì)數(shù)據(jù)進(jìn)行分析,將預(yù)測(cè)結(jié)果顯示到面板上。如圖6所示,數(shù)據(jù)關(guān)聯(lián)分析應(yīng)用模塊邏輯流程包括如下步驟:1)初始化hbase連接;2)創(chuàng)建表、列簇;3)本機(jī)數(shù)據(jù)導(dǎo)入內(nèi)存;4)開始演示;5)實(shí)時(shí)數(shù)據(jù)上傳hbase,同時(shí)實(shí)時(shí)從hbase獲取所有節(jié)點(diǎn)數(shù)據(jù)再使用svm算法實(shí)時(shí)預(yù)測(cè)結(jié)果;6)判斷是否終止演示,是則結(jié)束,否則回到步驟4)。在體系化對(duì)抗決策體系中,歷史數(shù)據(jù)信息是十分寶貴的資源,對(duì)歷史信息的分析和提煉可以完成許多功能,比如說(shuō)歷史火力打擊信息可以用來(lái)輔助決策。通過(guò)對(duì)一組歷史飛行過(guò)程及火力打擊的結(jié)果分析,我們可以獲取一個(gè)飛行狀態(tài)的分類器模型,利用這個(gè)模型可以預(yù)測(cè)節(jié)點(diǎn)火力打擊結(jié)果。把預(yù)測(cè)模型引入“資源云”平臺(tái)上之后,我們可以根據(jù)每個(gè)節(jié)點(diǎn)的火力打擊預(yù)測(cè)結(jié)果,完成一些輔助決策功能,提高體系化對(duì)抗系統(tǒng)的決策效率。針對(duì)已有的飛行狀態(tài)信息數(shù)據(jù)集和打擊結(jié)果,可以近似的把問題看做一個(gè)輸入是飛機(jī)發(fā)射導(dǎo)彈時(shí)的航電信息和目標(biāo)的絕對(duì)位置信息,輸出是擊中和沒擊中目標(biāo)的二分類分類器模型,分析比較常用的二分類分類器,得出一個(gè)結(jié)果最優(yōu)的分類器模型應(yīng)用到?jīng)Q策系統(tǒng)中。(1)分類器算法由于要解決的是一個(gè)二分類問題,標(biāo)號(hào)為0和1。那么分類器就是要找到一個(gè)面,將所有樣本點(diǎn)分到面的兩側(cè)。即,對(duì)于任一樣本x=(b1,b2,…bm),分類器決策函數(shù)f:f(x)=g(f(x))a.線性可分svm線性可分svm分類器決策函數(shù)中的f(x)=wtx+b,它本質(zhì)上是尋找一個(gè)能將樣本點(diǎn)按標(biāo)號(hào)分到兩側(cè)的具有最大化margin的超平面,margin是所有數(shù)據(jù)點(diǎn)到超平面的幾何間隔的最小值。從統(tǒng)計(jì)的角度講,由于正負(fù)樣本可以看作從兩個(gè)不同的分布隨機(jī)抽樣得到,若分類邊界與兩個(gè)分布的距離越大,抽樣出的樣本落在分類邊界另一邊的概率越小。所以,最大化margin可以保證最壞情況下的泛化誤差最小,分類器確信度更高。分類器決策函數(shù)中的f(x)=wtx+b,那么它的超平面為wtx+b=0.給定訓(xùn)練集合t,超平面wtx+b=0,定義樣本點(diǎn)(xi,yi)到超平面的函數(shù)間隔為:幾何間隔為:設(shè)n為樣本點(diǎn)數(shù)目,定義t中所有樣本點(diǎn)的函數(shù)間隔的最小值為:超平面的margin為t中所有樣本點(diǎn)的幾何間隔的最小值:最大化margin可表示為:變化得:可以看出,w、b等比例縮放對(duì)超平面和幾何間隔都沒有影響,而函數(shù)間隔會(huì)同比例縮放。所以,令代入上式,而最大化等價(jià)于最小化這樣就得到了線性可分svm的最優(yōu)化問題:這是一個(gè)凸二次規(guī)劃問題,應(yīng)用拉格朗日對(duì)偶性,通過(guò)求解對(duì)偶問題可得到最優(yōu)解,求解的過(guò)程就不贅述了。b.非線性svm對(duì)于非線性的分類問題,決策面是一個(gè)曲面,曲面通過(guò)一定映射,會(huì)變成高維空間中的一個(gè)超平面,這樣就可以用線性可分svm中的方法來(lái)解決。例如,兩類數(shù)據(jù)分布為兩個(gè)圓圈的形狀(如圖7所示),這樣的數(shù)據(jù)本身是線性不可分的,理想的分界面應(yīng)該是一個(gè)圓而不是一條線(超平面)。若用x1和x1表示這個(gè)二維平面的坐標(biāo),那么它的決策面可寫成這樣的形式:a0+a1x1+a2x2+a3x12+a4x22+a5x1x2=0如果我們構(gòu)造一個(gè)五維空間,坐標(biāo)值分別為z1=x1、z2=x2、z3=x12、z4=x22、z5=x1x2,那么上面的決策面方程在新的空間中可以寫作:可以看出,這正是一個(gè)超平面的方程。如果我們按這樣的方式將數(shù)據(jù)映射到五維空間,那么在新空間中原來(lái)的非線性數(shù)據(jù)就變成線性可分的了,從而可以使用線性svm算法處理。由于在線性可分svm的求解過(guò)程中,需要計(jì)算的地方數(shù)據(jù)向量總是以內(nèi)積的形式出現(xiàn),所以,我們定義計(jì)算兩個(gè)向量在映射過(guò)后的空間中的內(nèi)積的函數(shù)為核函數(shù),用核函數(shù)來(lái)簡(jiǎn)化映射空間中的內(nèi)積運(yùn)算。所以,對(duì)于非線性情況,處理方法是選擇一個(gè)核函數(shù),通過(guò)它將數(shù)據(jù)映射到高維空間,變成高維空間中的一個(gè)線性可分問題,以此來(lái)解決在原始空間中線性不可分的問題,然后再用線性可分svm算法進(jìn)行處理。svm常用的核函數(shù)有四種:線性核(等同于線性可分svm)、多項(xiàng)式核、rbf核、sigmoid核,具體形式如下表2。表2類型函數(shù)表達(dá)式線性核ut*v多項(xiàng)式核(g*ut*v+coef0)degreerbf核exp(-g*||u-v||2)sigmoid核tanh(g*ut*v+coef0)數(shù)據(jù)分割由于樣本數(shù)據(jù)集中兩類數(shù)據(jù)比例懸殊,造成不平衡問題。嘗試將訓(xùn)練集中比例較高的那一類樣本分割成幾塊,每塊與另一類樣本分別組成一個(gè)子訓(xùn)練集,對(duì)每個(gè)子訓(xùn)練集進(jìn)行訓(xùn)練,得到子分類模型。將子分類模型通過(guò)一些運(yùn)算可以組成新的分類器,對(duì)數(shù)據(jù)進(jìn)行預(yù)測(cè)。這樣處理,可以一定程度上改善數(shù)據(jù)不平衡問題。例如,將label=0的樣本分割成四塊,分別與label=1的樣本組成四個(gè)子訓(xùn)練集,對(duì)它們進(jìn)行訓(xùn)練得到四個(gè)子分類模型。每個(gè)子分類模型對(duì)輸入數(shù)據(jù)進(jìn)行預(yù)測(cè),得到四個(gè)output,可以對(duì)這四個(gè)output進(jìn)行與運(yùn)算,得到最終的output,這就相當(dāng)于一個(gè)新的分類器,示意圖如圖8和圖9所示。以下通過(guò)具體實(shí)驗(yàn)來(lái)驗(yàn)證本發(fā)明的效果:1.分類器算法評(píng)測(cè)實(shí)驗(yàn)(1)數(shù)據(jù)集用作實(shí)驗(yàn)的原始飛行數(shù)據(jù)樣本共4497432個(gè),其中擊中(label=1)的有316768個(gè),未擊中(label=0)的有4180664個(gè)。將原始數(shù)據(jù)按照50%、25%、25%的比例均勻劃分為trainset、validationset、testset三個(gè)集合。其中,trainset用來(lái)訓(xùn)練分類器;validationset用來(lái)測(cè)試不同分類器的性能,確定分類模型的網(wǎng)絡(luò)結(jié)構(gòu)或者控制模型復(fù)雜程度的參數(shù);testset用來(lái)檢驗(yàn)最終選擇的最優(yōu)分類模型的性能。(2)實(shí)驗(yàn)結(jié)果對(duì)不同分類器算法進(jìn)行測(cè)試實(shí)驗(yàn),評(píng)估實(shí)驗(yàn)結(jié)果,選取最佳的分類器模型,用testset進(jìn)行驗(yàn)證。a.線性可分svm用liblinear實(shí)現(xiàn)線性可分svm,進(jìn)行測(cè)試,結(jié)果如下表3:表3accuracyprecisionrecallf192.9669%000由于數(shù)據(jù)集中l(wèi)abel=1的數(shù)目遠(yuǎn)遠(yuǎn)低于label=0的實(shí)例數(shù)目(比例約為1:13),因此線性svm會(huì)全部預(yù)測(cè)0,但是顯然這樣是毫無(wú)意義的。b.非線性svm用libsvm實(shí)現(xiàn)不同類型的非線性svm,進(jìn)行測(cè)試,結(jié)果如下表4:表4核函數(shù)accuracyprecisionrecallf1線性核92.9669%000多項(xiàng)式核92.9669%000rbf核94.3549%0.5990.5960.597sigmod核85.9684%000可以看出選用rbf核函數(shù)的結(jié)果最好,準(zhǔn)確率達(dá)到了94.4%,1的預(yù)測(cè)率也超過(guò)了50%。c.數(shù)據(jù)分割子訓(xùn)練集用前面提到的libsvm的rbf核類型進(jìn)行訓(xùn)練,因?yàn)樗男Ч詈?。i.二分割將label=0的訓(xùn)練數(shù)據(jù)隨機(jī)分割成兩塊,與label為1的數(shù)據(jù)組成兩個(gè)子訓(xùn)練集,訓(xùn)練得到兩個(gè)model,分別對(duì)validationset進(jìn)行預(yù)測(cè),得到兩個(gè)output,按與和或兩種關(guān)系處理output得到最終分類結(jié)果。測(cè)試結(jié)果如下表5:表5accuracyprecisionrecallf1與94.1015%0.5560.8060.658或94.0866%0.5540.8110.659ii.四分割將label=0的訓(xùn)練數(shù)據(jù)隨機(jī)分割成四塊,與label為1的數(shù)據(jù)組成四個(gè)子訓(xùn)練集,訓(xùn)練得到四個(gè)model,分別對(duì)validationset進(jìn)行預(yù)測(cè),得到四個(gè)output,按全與、全或、先與后或、先或后與四種關(guān)系處理output得到最終分類結(jié)果。測(cè)試結(jié)果如下表6:表6accuracyprecisionrecallf1全與93.1026%0.5050.9260.654全或93.0137%0.5020.9310.652先與后或93.0717%0.5040.9280.653先或后與93.0503%0.5030.9290.653iii.八分割將label=0的訓(xùn)練數(shù)據(jù)隨機(jī)分割成八塊,與label為1的數(shù)據(jù)組成八個(gè)子訓(xùn)練集,訓(xùn)練得到八個(gè)model,分別對(duì)validationset進(jìn)行預(yù)測(cè),得到八個(gè)output,按全與、全或、先與后或、先或后與四種關(guān)系處理output得到最終分類結(jié)果。測(cè)試結(jié)果如下表7:表7iv.三分之二分割將label=0的訓(xùn)練數(shù)據(jù)隨機(jī)分割成三塊,每?jī)蓧K與label為1的數(shù)據(jù)組成三個(gè)子訓(xùn)練集,訓(xùn)練得到三個(gè)model,分別對(duì)validationset進(jìn)行預(yù)測(cè),得到三個(gè)output,按與和或兩種關(guān)系處理output得到最終分類結(jié)果。測(cè)試結(jié)果如下表8:表8accuracyprecisionrecallf1與94.3033%0.5750.7290.643或94.2959%0.5740.7340.644d.驗(yàn)證實(shí)驗(yàn)根據(jù)以上測(cè)試,可以看出,單純使用rbf核的非線性svm分類器準(zhǔn)確率最高,而二分割分類器的f1值最高。用testset對(duì)這兩種最優(yōu)分類模型進(jìn)行驗(yàn)證實(shí)驗(yàn),結(jié)果如下表9:表9分類器accuracyprecisionrecallf1rbf核svm94.3391%0.5990.5950.597二分割-與94.0945%0.5550.8070.658二分割-或94.0772%0.5540.8120.659驗(yàn)證得到,這兩種分類器性能與前面的測(cè)試結(jié)果基本一致,確實(shí)最優(yōu)。2.本發(fā)明面向航空電子數(shù)據(jù)的分布式挖掘系統(tǒng)系統(tǒng)系統(tǒng)測(cè)試a.數(shù)據(jù)存儲(chǔ)模塊測(cè)試運(yùn)行軟件系統(tǒng),進(jìn)入數(shù)據(jù)采集模塊,然后開始演示。觀察dashboard面板上的數(shù)據(jù),隨著程序運(yùn)行,面板能實(shí)時(shí)顯示集群中各節(jié)點(diǎn)的狀態(tài)信息,且可以看出飛行數(shù)據(jù)正被存儲(chǔ),證明該模塊能夠?qū)崟r(shí)存儲(chǔ)各個(gè)節(jié)點(diǎn)的數(shù)據(jù)。b.數(shù)據(jù)關(guān)聯(lián)分析模塊測(cè)試運(yùn)行軟件系統(tǒng),進(jìn)入數(shù)據(jù)關(guān)聯(lián)分析模塊,分別采用不同的核函數(shù)選擇參數(shù)和分割參數(shù),對(duì)輸入數(shù)據(jù)集進(jìn)行訓(xùn)練,均能成功地得到分類模型,證明該模塊能夠用不同方法進(jìn)行數(shù)據(jù)分析。c.數(shù)據(jù)關(guān)聯(lián)分析應(yīng)用模塊測(cè)試運(yùn)行軟件系統(tǒng),進(jìn)入數(shù)據(jù)關(guān)聯(lián)分析應(yīng)用模塊,選取參數(shù),然后開始演示。界面能實(shí)時(shí)顯示所有節(jié)點(diǎn)的飛行數(shù)據(jù)和預(yù)測(cè)火力打擊結(jié)果,證明該模塊能夠?qū)︼w行數(shù)據(jù)進(jìn)行實(shí)時(shí)存儲(chǔ)和預(yù)測(cè)。d.系統(tǒng)節(jié)點(diǎn)靜態(tài)減少測(cè)試按照相應(yīng)的方法,將系統(tǒng)節(jié)點(diǎn)由6個(gè)靜態(tài)減少到4個(gè),檢查集群中hadoop和hbase的節(jié)點(diǎn)數(shù),均變成了4,說(shuō)明系統(tǒng)支持靜態(tài)減少節(jié)點(diǎn)。e.系統(tǒng)節(jié)點(diǎn)動(dòng)態(tài)增加測(cè)試按照相應(yīng)的方法,將系統(tǒng)節(jié)點(diǎn)由前一測(cè)試中的4個(gè)動(dòng)態(tài)增加到6個(gè),并在新增加的節(jié)點(diǎn)上運(yùn)行系統(tǒng)軟件。檢查系統(tǒng)數(shù)據(jù)存儲(chǔ)功能界面上節(jié)點(diǎn)信息的變化,由原來(lái)的4成功變成了6,說(shuō)明系統(tǒng)支持動(dòng)態(tài)增加節(jié)點(diǎn)。以上述依據(jù)本發(fā)明的理想實(shí)施例為啟示,通過(guò)上述的說(shuō)明內(nèi)容,相關(guān)工作人員完全可以在不偏離本項(xiàng)發(fā)明技術(shù)思想的范圍內(nèi),進(jìn)行多樣的變更以及修改。本項(xiàng)發(fā)明的技術(shù)性范圍并不局限于說(shuō)明書上的內(nèi)容,必須要根據(jù)權(quán)利要求范圍來(lái)確定其技術(shù)性范圍。當(dāng)前第1頁(yè)12