陳兆熙,王 莉
(南昌交通學(xué)院,江西南昌 330100)
船舶導(dǎo)航系統(tǒng)為船舶路徑規(guī)劃的自動(dòng)化發(fā)展提供了有效輔助,船舶能夠使用性能卓越的導(dǎo)航系統(tǒng)完成航行控制[1–2]。而目前航行距離的逐漸增加,航向和航行環(huán)境的不可判斷性凸顯,地理信息定位數(shù)據(jù)也呈爆發(fā)式增長(zhǎng)。在海量信息數(shù)據(jù)環(huán)境中,想要準(zhǔn)確、快速挖掘所需的導(dǎo)航數(shù)據(jù),存在一定難度。甄榮等[3]在挖掘船舶導(dǎo)航信息中的航跡數(shù)據(jù)時(shí),使用高斯混合模型,此模型以高斯混合聚類(lèi)的方式,完成航跡信息挖掘。但當(dāng)屬性差異不顯著的航跡數(shù)據(jù)混雜在一起時(shí),信息挖掘精度便會(huì)下降。任成杰等[4]在挖掘船舶導(dǎo)航信息中的航跡數(shù)據(jù)時(shí),使用GRU 自編碼器先提取航跡數(shù)據(jù)特征,再以聚類(lèi)的方式完成航跡數(shù)據(jù)聚類(lèi)挖掘。但此方法在提取大規(guī)模航跡數(shù)據(jù)特征時(shí),需要經(jīng)過(guò)多次訓(xùn)練,才可以保證編碼器的特征提取精度,因此存在挖掘耗時(shí)長(zhǎng)的問(wèn)題。
針對(duì)以上問(wèn)題,本文設(shè)計(jì)一種基于滑動(dòng)窗口的船舶導(dǎo)航信息關(guān)聯(lián)挖掘系統(tǒng)。
所設(shè)計(jì)的基于滑動(dòng)窗口的船舶導(dǎo)航信息關(guān)聯(lián)挖掘系統(tǒng)整體架構(gòu)如圖1所示。
此次設(shè)計(jì)的船舶導(dǎo)航信息關(guān)聯(lián)挖掘系統(tǒng)屬于Client/Server 結(jié)構(gòu),當(dāng)用戶(hù)在客戶(hù)端的挖掘界面輸入導(dǎo)航信息挖掘請(qǐng)求后,客戶(hù)端將請(qǐng)求信息發(fā)送至服務(wù)端,服務(wù)端由船舶導(dǎo)航信息挖掘模塊組成,通過(guò)信息訪(fǎng)問(wèn)接口A(yíng)PI,在船舶導(dǎo)航信息數(shù)據(jù)源中采用滑動(dòng)窗口劃分的方式提取候選數(shù)據(jù)流,再構(gòu)建船舶導(dǎo)航信息挖掘的關(guān)聯(lián)規(guī)則,挖掘滿(mǎn)足用戶(hù)請(qǐng)求條件的導(dǎo)航信息,返回挖掘界面。
船舶導(dǎo)航信息關(guān)聯(lián)挖掘系統(tǒng)硬件結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)的硬件結(jié)構(gòu)Fig.2 Hardwarestructure of thesystem
如圖2所示,系統(tǒng)硬件結(jié)構(gòu)主要包括S3C2440處理器、人機(jī)交互屏、CAN 總線(xiàn)、串口等。CAN 總線(xiàn)和導(dǎo)航設(shè)備自身的標(biāo)準(zhǔn)串行接口相連,便可作為系統(tǒng)客戶(hù)端和服務(wù)端的連接載體。人機(jī)交互屏可為用戶(hù)提供挖掘請(qǐng)求輸入、挖掘結(jié)果顯示服務(wù),具備人機(jī)交互功能。系統(tǒng)硬件平臺(tái)主控制器為ARM920T 內(nèi)核,在此控制器管理下,系統(tǒng)的LCD顯示器可以支持STN 格式、TFT 格式數(shù)據(jù)的顯示??刂破骶邆?通道的串行接口,4通道高速數(shù)據(jù)JTAG 接口,具備大規(guī)模船舶導(dǎo)航信息處理能力。
圖3為船舶導(dǎo)航信息關(guān)聯(lián)挖掘算法示意圖。
如圖3所示,采用滑動(dòng)窗口進(jìn)行導(dǎo)航信息關(guān)聯(lián)挖掘時(shí),將船舶導(dǎo)航信息流輸入本文系統(tǒng)后,系統(tǒng)通過(guò)滑動(dòng)窗口先挖掘出獲選信息流。獲取候選信息流后,再采用Apriori 算法挖掘?qū)Ш叫畔?shù)據(jù)流中的頻繁項(xiàng)集,完成船舶導(dǎo)航信息關(guān)聯(lián)挖掘。
1.2.1 基于滑動(dòng)窗口的候選信息流挖掘
設(shè)置需要挖掘的船舶導(dǎo)航信息類(lèi)型P是時(shí)間段t中的數(shù)據(jù)at,則基于滑動(dòng)窗口的候選信息流挖掘步驟為:
1)提取某段船舶導(dǎo)航信息記錄的時(shí)間序列,從時(shí)間t開(kāi)始,設(shè)置滑動(dòng)窗口信息點(diǎn)為
式中: d (.)為 距離計(jì)算函數(shù);a vg(.)為平均計(jì)算函數(shù)。
3)若時(shí)間段t與時(shí)間段t?1導(dǎo)航信息之間的距離均值絕對(duì)值是則
此時(shí)處于距離均值周?chē)拇皩?dǎo)航信息為:
5)多次執(zhí)行上述操作,最后輸出候選導(dǎo)航信息流A。
1.2.2 基于A(yíng)priori 算法的導(dǎo)航信息關(guān)聯(lián)挖掘
關(guān)聯(lián)規(guī)則可以體現(xiàn)數(shù)據(jù)之間相關(guān)性,若多個(gè)數(shù)據(jù)之間存在相關(guān)性,關(guān)聯(lián)規(guī)則便可體現(xiàn)數(shù)據(jù)之間的關(guān)系。為了對(duì)導(dǎo)航信息進(jìn)行關(guān)聯(lián)挖掘,以獲得候選導(dǎo)航信息流為基礎(chǔ),采用Apriori 算法進(jìn)行導(dǎo)航信息的關(guān)聯(lián)挖掘。
設(shè)置候選導(dǎo)航信息流A中的某信息為項(xiàng),各個(gè)導(dǎo)航信息記錄就是1個(gè)項(xiàng)集,將其設(shè)成A={A1,A2,...,Am},m為項(xiàng)集中導(dǎo)航信息記錄總數(shù)目。關(guān)聯(lián)規(guī)則設(shè)成其中,a表示導(dǎo)航信息中的某數(shù)據(jù),Y表示用戶(hù)請(qǐng)求信息類(lèi)型,在分析關(guān)聯(lián)規(guī)則是否滿(mǎn)足需求時(shí),需要使用支持度support(aY)與置信度con fidence(aY),前者表示某項(xiàng)集在用戶(hù)需求信息類(lèi)型中的支持度,后者表示關(guān)聯(lián)規(guī)則的可信度,支持度與置信度的計(jì)算公式為:
其中:count(aY) 為船舶導(dǎo)航信息a和用戶(hù)請(qǐng)求信息的匹配數(shù)目;count(a) 為 船舶導(dǎo)航信息a的信息量。分析a與Y之間的關(guān)聯(lián)規(guī)則支持度與置信度,如果均滿(mǎn)足最小閾值,那么a就是和Y匹配的導(dǎo)航信息。在分析a與Y之間關(guān)聯(lián)規(guī)則支持度與置信度的基礎(chǔ)上,采用Apriori 算法先把候選導(dǎo)航信息數(shù)據(jù)流A映射為“0”與“1”的元素矩陣,稱(chēng)為布爾矩陣。矩陣行與列分別表示導(dǎo)航信息數(shù)據(jù)類(lèi)型、用戶(hù)請(qǐng)求的導(dǎo)航信息類(lèi)型。比如滑動(dòng)窗口分為5 個(gè),那么便可構(gòu)建5×5的布爾矩陣:
將布爾矩陣C每列用戶(hù)請(qǐng)求的導(dǎo)航信息項(xiàng),以并集的方式,構(gòu)建候選頻繁A項(xiàng)集,整理C中各列“1”元素的數(shù)目,執(zhí)行剪枝處理,如果i列“1”元素?cái)?shù)目小于閾值 β,便采取剪枝處理,反之去除此列,構(gòu)建頻繁A?1項(xiàng)集。
將頻繁A?1項(xiàng) 集執(zhí)行連接處理,將C的項(xiàng)列執(zhí)行邏輯“與”計(jì)算,得到候選頻繁A?2項(xiàng)集。將候選頻繁A?2項(xiàng)集中,每個(gè)子元素的“1”和閾值對(duì)比,更新候選頻繁A?2 項(xiàng)集。循環(huán)操作,當(dāng)項(xiàng)集A為空集便可停止,輸出最后挖掘的頻繁項(xiàng)集,此項(xiàng)集即為用戶(hù)請(qǐng)求的船舶導(dǎo)航信息關(guān)聯(lián)挖掘結(jié)果。
為測(cè)試本文系統(tǒng)是否有效,進(jìn)行系統(tǒng)導(dǎo)航信息挖掘性能分析。
圖4和圖5為本文系統(tǒng)挖掘界面為用戶(hù)提供的請(qǐng)求信息示例圖、導(dǎo)航信息挖掘結(jié)果顯示圖。
圖4 導(dǎo)航信息挖掘請(qǐng)求信息示例圖Fig.4 Example of navigation information mining request information
圖5 導(dǎo)航信息挖掘結(jié)果顯示圖Fig.5 Display of navigation information mining results
為體現(xiàn)本文系統(tǒng)的挖掘精度,以航跡信息為例,將挖掘的航跡信息量Aj和實(shí)際航跡信息量Ab之間平均距離O作為指標(biāo),O可體現(xiàn)挖掘信息量的完備性,其數(shù)值越小,表示信息越完備、越準(zhǔn)確。則
表1 船舶導(dǎo)航信息中航跡信息挖掘效果Tab.1 Effect of track information mining in ship navigation information
可知,船舶導(dǎo)航信息中航跡信息挖掘效果較好,O的數(shù)值極小,說(shuō)明本文系統(tǒng)挖掘信息量的完備性顯著,準(zhǔn)確性顯著。原因是本文系統(tǒng)能夠?qū)⒋皩?dǎo)航信息數(shù)據(jù)流劃分為多個(gè)滑動(dòng)窗口,通過(guò)關(guān)聯(lián)規(guī)則挖掘的方式,挖掘與用戶(hù)請(qǐng)求相匹配的導(dǎo)航信息。圖6和圖7為本文系統(tǒng)使用前后,多種導(dǎo)航信息挖掘耗時(shí)對(duì)比結(jié)果。
圖6 系統(tǒng)使用后挖掘耗時(shí)Fig.6 Mining timeconsumption after system use
圖7 系統(tǒng)使用前挖掘耗時(shí)Fig.7 Mining time beforesystem use
對(duì)比可知,本文系統(tǒng)對(duì)多種導(dǎo)航信息挖掘耗時(shí)小于0.4 s,和使用前相比,挖掘耗時(shí)明顯縮短,說(shuō)明本文系統(tǒng)的挖掘效率有所提升。原因是本文系統(tǒng)利用滑動(dòng)窗口劃分技術(shù),能夠把大規(guī)模的船舶導(dǎo)航信息分解為多個(gè)窗口,提高數(shù)據(jù)挖掘有序性,從而保證數(shù)據(jù)的處理效率。
本文設(shè)計(jì)基于滑動(dòng)窗口的船舶導(dǎo)航信息關(guān)聯(lián)挖掘系統(tǒng),引入滑動(dòng)窗口技術(shù)和關(guān)聯(lián)規(guī)則挖掘算法,能夠在規(guī)?;?fù)雜化的導(dǎo)航信息流中,將雜亂無(wú)章的信息劃分為多個(gè)挖掘操作窗口,從而以關(guān)聯(lián)規(guī)則挖掘的方式,提取匹配用戶(hù)請(qǐng)求的導(dǎo)航信息數(shù)據(jù)。實(shí)驗(yàn)結(jié)果顯示,本文系統(tǒng)導(dǎo)航信息挖掘的完備性顯著,準(zhǔn)確性顯著,挖掘耗時(shí)小于0.4 s,導(dǎo)航信息挖掘性能得到提升。