本發(fā)明涉及公交路線查詢
技術領域:
,尤其是涉及一種能夠提供乘客準確、及時、優(yōu)化的公交信息服務,生成出行輔助計劃,主動而合理的引導乘客出行的基于深度學習的城市公交線路查詢方法。
背景技術:
:隨著我國汽車產業(yè)的逐步發(fā)展,城市道路擁堵問題日益嚴重。通過有效分析目前城市公交線路和站點的相關數據,并在此基礎上建立合理的數學分析模型對大規(guī)模公交線路數據進行充分挖掘,找出不同線路之間彼此存在的內在關系,從而為乘客提供合理的公交出行路線。傳統的公交線路查詢算法有迪杰斯特拉(DijKstra)算法及其相應的改進算法、Floyd算法、Moore算法、深度優(yōu)先搜索算法以及遺傳算法等?;谀壳暗难芯楷F狀,諸如此類算法對于大規(guī)模的公交線路數據進行有效成分分析及彼此內聯關系的分析及時間優(yōu)化上還存在一定的不足,難以得到一個較為合理的公交出行路線。技術實現要素:本發(fā)明的發(fā)明目的是為了克服現有技術中的針對現有城市公交的相關數據,根據目前傳統的算法進行線路查詢,由于換成次數、出行時間、起始距離以及行程費用等因素的相互制約,因此傳統方法難以得到一個較為合理的公交出行路線的不足,提供了一種能夠提供乘客準確、及時、優(yōu)化的公交信息服務,生成出行輔助計劃,主動而合理的引導乘客出行的基于深度學習的城市公交線路查詢方法。為了實現上述目的,本發(fā)明采用以下技術方案:一種基于深度學習的城市公交線路查詢方法,包括如下步驟:(1-1)采集公交線路相關數據;(1-2)對公交線路數據進行預處理;(1-3)采用深度自動編碼器(DAE)和主成分分析(PCA)相結合進行公交線路數據訓練,獲得改進的深度自動編碼器(PCA-DAE)神經網絡模型;(1-4)訓練大規(guī)模公交線路數據,得到改進的深度神經網絡自動編碼器PCA-DAE預測模型;(1-5)利用訓練好的PCA-DAE預測模型進行公交線路查詢。作為優(yōu)選,所述步驟(1-1)包括如下步驟:(2-1)采集各城市公交線路數據;(2-2)采集公交各線路的站點數據;(2-3)采集各線路的起止出發(fā)時間,停運時間,各相鄰站點之間行駛需要的時間等數據,形成線路時間數據鏈條;(2-4)采集各線路相鄰站點間的距離數據,形成線路距離數據鏈條;(2-5)采集各線路的行程費用數據。作為優(yōu)選,所述步驟(1-3)包括如下步驟:(3-1)DAE的預訓練:采用PCA將經過預處理的公交線路數據生成DAE神經網絡的輸入層;用無監(jiān)督的方法將DAE的隱含層全部初始化,然后再用逐層wake-sleep算法將每個隱含層訓練為自動關聯器,實現輸入數據的重構,其基本步驟可總結如下:(3-1-1)逐層構建單層神經元,每次構造一個單層網絡;(3-1-2)當所有層構造完后,每層采用wake-sleep算法進行調優(yōu);每次僅調整一層,逐層調整;(3-2)在神經網絡模型的輸出層之后加入支持向量機(SVM)分類器,將整個神經網絡訓練成能完成分層特征提取和數據分類任務的多重感知器;(3-3)DAE的微調:通過監(jiān)督學習,利用梯度下降法調整網絡參數:采用BP算法將深度自動編碼器的輸入層、輸出層和所有隱含層視為一個整體,用有監(jiān)督學習算法進一步調整經過預訓練的神經網絡,經過多次迭代后,所有權值及偏置均被優(yōu)化。其中,PCA是一種目標統計特性的最佳正交變換,將原本高維空間投影到一個新的低維度且相互正交的空間上,找出樣本的主要成分來重新表達圖像的某些細節(jié)特征。假設有m個訓練樣本,特征維度均為n維,此時所有訓練樣本的特征向量就可以用矩陣(3.1)表示為:P=p11p12p13...p1np21p22p23...p2np31p31p33...p3n............pm1pm2pm3...pmn---(3.1)]]>其中行數為訓練樣本的數量,列數為每個樣本的特征維度。矩陣P的樣本均值為P‾={Σi=1mpi1m,Σi=1mpi2m,...,Σi=1mRinm}---(3.2)]]>降維之前需要計算矩陣P的協方差矩陣。記P={q1,q2,q3,…,qn},其中q1=[p11,p21,p31,…,pm1]T,q2=[p12,p22,p32,…,pm2]T其它的依次類推。協方差矩陣計算如下:CP=cov(q1,q1)cov(q1,q2)cov(q1,q3)...cov(q1,qn)cov(q2,q1)cov(q2,q2)cov(q2,q3)...cov(q2,qn)cov(q3,q1)cov(q3,q2)cov(q3,q3)...cov(q3,qn)............cov(qn,q1)cov(qn,q2)cov(qn,q3)...cov(qn,qn)---(3.3)]]>最后計算協方差矩陣CP的特征值和特征向量。假設取所有特征值中的前m個值。此時特征向量矩陣K={k1,k2,k3,…,km}T,最后的降維矩陣可以表示為:Result=[P-P‾]×KT---(3.4)]]>通過上式可以有出最后降維的維度為m,因此特征值的選取個數即是降維的維數。其中,DAE由編碼器、解碼器和隱含層組成。編碼器是輸入x到隱含表示h的映射,表示為:h=f(x)=Sf(w+bn),其中,w為權重,b為偏置,Sf是非線性激活函數,一般為邏輯函數,其表達式為:sigmoid(z)=1/(1+z-1)解碼器函數g(h)將隱含層數據映射回重構y,表示為:y=g(h)=Sg(w′h+by)其中,Sg是解碼器的激活函數,一般為線性函數或者sigmoid函數。訓練DAE的過程是在訓練樣本集D上尋找參數θ={W,by,bh}的最小化重構誤差,重構誤差的表達式為:JAE=Σx∈DL(x,g(f(x)))]]>其中,L為重構誤差函數,一般可以用平方誤差函數或交叉熵損失函數,二者分別表示為:L(x,y)=||x-y||2L(x,y)=-Σi=1dxilogyi+(1-xi)log(1-yi)]]>其中,平方誤差用于線性Sg,交叉熵損失函數用于sigmoid。其中,wake-sleep算法:A、wake階段:認知過程,通過下層的輸入特征(Input)和向上的認知(Encoder)權重產生每一層的抽象表示(Code),在通過當前的生成(Decoder)權重產生一個重建信息(Reconstruction),計算輸入特征和重建信息殘差,使用梯度下降修改層間的下行生成(Decoder)權重。B、sleep階段:生成過程,通過上層概念(Code)和向下的生成(Decoder)權重,生成下層的狀態(tài),再利用認知(Encoder)權重產生一個抽象景象。利用初始上層概念和新建抽象景象的殘差,利用梯度下降修改層間向上的認知(Encoder)權重。以上步驟的主要目的是進行網絡參數的初始化。作為優(yōu)選,所述步驟(1-4)包括如下步驟:(4-1)PCA-DAE在分布式系統上訓練大規(guī)模公交線路數據:在CPU+GPU協同計算集群上實現。作為優(yōu)選,所述步驟(1-5)包括如下步驟:(5-1)輸入數據為乘客出行始發(fā)站和終點站的公交站點數據;(5-2)輸出結果為公交出行路線方案:(5-2-1)有直達路線的優(yōu)先采用直達路線;(5-2-2)在沒有直達的情況下優(yōu)先考慮一次換乘方案,并將所有的一次換乘方案依次按照出行時間長短、距離遠近、費用多少等因素進行排序,供乘客進行選擇;(5-2-3)當沒有一次換乘方案的條件下優(yōu)先考慮二次換乘方案,并將所有的二次換乘方案依次按照(5-2-2)中給定的相關因素進行排序,供乘客進行選擇;(5-2-4)同理,當沒有二次換乘方案的條件下優(yōu)先考慮三次換乘方案,并將所有的三次換乘方案也依次按照(5-2-2)中給定的相關因素進行排序,供乘客進行選擇;(5-2-5)當需要超過3次以上換乘才能達到目的地的情況下,能告知乘客合理選擇其它的出行方式。因此,本發(fā)明具有如下有益效果:深度學習算法提供乘客準確、及時、優(yōu)化的公交信息服務,生成出行輔助計劃,主動而合理的引導乘客出行,不僅方便了乘客,還讓缺少秩序的交通出行變得有秩序,使客流分布更加合理。附圖說明圖1是本發(fā)明的一種方法流程圖;圖2是本發(fā)明的一種全國公交線路數據集合示意圖;圖3是本發(fā)明的一種自動編碼模型;圖4是本發(fā)明的一種改進的深度自動編碼器PCA-DAE預測模型。具體實施方式下面結合附圖和具體實施方式對本發(fā)明做進一步的描述。如圖1所述的實施例是一種基于深度學習的城市公交線路查詢方法,包括如下步驟:步驟100:采集公交線路相關數據:步驟110:采集各城市公交線路數據;步驟120:采集公交各線路的站點數據;步驟130:采集各線路的起止出發(fā)時間,停運時間,各相鄰站點之間行駛需要的時間等數據,形成線路時間數據鏈條;步驟140:采集各線路相鄰站點間的距離數據,形成線路距離數據鏈條;步驟150:采集各線路的行程費用數據。對于公交數據按照一定規(guī)律對其進行分組,形成相應的數據集;以城市為單位進行匯總,最后將形成全國的公交線路數據;將城市數據當成父節(jié)點,對每個城市的所有公交路線進行統計,將上述五種數據分別放在不同路線的子數據集中,最后將得到一個較大規(guī)模的全國公交路網數據集合,如圖2所示。步驟200:對公交線路數據進行預處理:根據上述的五類公交數據,對其進行統一歸一化處理,獲得各個城市的公交線路數據記為(X1,X2,X3…,Xn),其中X1表示第一條線路的相關數據,X2表示第二條線路的相關數據,其它的依次類推;每條公交線路數據具體包含文中上述的五種數據,如路線數據R1,R1中包含的站點數據(S1,S2,S3…,Sn),相鄰站點行程時間及起止出發(fā)時間數據(T1,T2,T3…,Tn-1),相鄰站點行程距離數據(D1,D2,D3…,Dn-1)和票價數據M1。步驟300:采用深度自動編碼器(DAE)和主成分分析(PCA)相結合進行公交線路數據訓練,獲得改進的深度自動編碼器(PCA-DAE)神經網絡模型;步驟310:DAE的預訓練:采用PCA將經過預處理的公交線路數據生成DAE神經網絡的輸入層;用無監(jiān)督的方法將DAE的隱含層全部初始化,然后再用逐層wake-sleep算法將每個隱含層訓練為自動關聯器,實現輸入數據的重構,其基本步驟可總結如下:步驟311:逐層構建單層神經元,每次構造一個單層網絡;步驟312:當所有層構造完后,每層采用wake-sleep算法進行調優(yōu);每次僅調整一層,逐層調整。通過PCA得到第一層公交數據流記為code(h1(1),h2(1),h3(1),…,ht(1),…,hn(1))。本發(fā)明采用的自動編碼模型如圖3所示,我們將第一層輸出的code當成第二層的輸入input數據流,將input公交線路數據流輸入一個encoder編碼器,就會得到一個code,這個code也就是輸入的一個表示,為了確定輸出code就是input的一個表示,加一個decoder解碼器,這時候decoder就會輸出一個信息reconstruction,輸出的這個信息和一開始的輸入數據input是比較接近的,在理想情況下幾乎是一樣的,我們就有理由相信這個code是輸入input的最好詮釋。所以,每一層就是通過調整encoder編碼器和decoder解碼器的參數,使得重構誤差最小,此時就得到了輸入input數據流的第一個表示了,即編碼code。因為是無標簽數據,所以誤差的來源就是直接重構后與原輸入input相比得到。從而得到第二層的參數,并且得到第二層輸入公交數據流的code(h1(2),h2(2),h3(2),…,ht(2),…,hn(2)),也就是原輸入信息(x1,x2,x3,…,xt,…,xn)的第二個表達了。其他層利用同樣的方法進行訓練,訓練當前層,前面層的參數都是固定的,這時候他們的decoder已經不需要了。步驟320:在神經網絡模型的輸出層之后加入支持向量機(SVM)分類器,將整個神經網絡訓練成能完成分層特征提取和數據分類任務的多重感知器;步驟330:DAE的微調:通過監(jiān)督學習,利用梯度下降法調整網絡參數:采用BP算法將深度自動編碼器的輸入層、輸出層和所有隱含層視為一個整體,用有監(jiān)督學習算法進一步調整經過預訓練的神經網絡,經過多次迭代后,所有權值及偏置均被優(yōu)化。步驟331:隨機選取類標數據樣本用BP算法對神經網絡進行訓練,計算各層的輸出;步驟332:求出各層的重構誤差,并根據誤差修正權值和偏置;步驟333:根據性能指數判定誤差是否滿足要求,如果未能滿足要求則重復步驟331和步驟332,直到整個網絡輸出滿足期望要求;步驟334:得出最后改進的深度自動編碼器PCA-DAE預測模型如圖4所示。步驟400:訓練大規(guī)模公交線路數據,得到改進的深度神經網絡自動編碼器PCA-DAE預測模型;PCA-DAE在分布式系統上訓練大規(guī)模公交線路數據:在CPU+GPU協同計算集群上實現。步驟500:利用訓練好的PCA-DAE預測模型進行公交線路查詢。步驟510:輸入數據為乘客出行始發(fā)站和終點站的公交站點數據;步驟520:輸出結果為公交出行路線方案:步驟521:有直達路線的優(yōu)先采用直達路線;步驟522:在沒有直達的情況下優(yōu)先考慮一次換乘方案,并將所有的一次換乘方案依次按照出行時間長短、距離遠近、費用多少等因素進行排序,供乘客進行選擇;步驟523:當沒有一次換乘方案的條件下優(yōu)先考慮二次換乘方案,并將所有的二次換乘方案依次按照步驟522中給定的相關因素進行排序,供乘客進行選擇;步驟524:同理,當沒有二次換乘方案的條件下優(yōu)先考慮三次換乘方案,并將所有的三次換乘方案也依次按照步驟522中給定的相關因素進行排序,供乘客進行選擇;步驟525:當需要超過3次以上換乘才能達到目的地的情況下,能告知乘客合理選擇其它的出行方式。本發(fā)明使用深度學習自動編碼器DAE模型對大規(guī)模公交線路數據進行分析,從而完成起止站點間線路的查詢任務。完成預訓練和微調的DAE具有生物神經系統的基本特征,在一定程度上反映了人腦的若干功能,是對生物系統的成功模擬,實現了無監(jiān)督學習和監(jiān)督學習的有機結合,且不同隱含層能學到不同的特征,低階隱含層為高階隱含層提供特征模式,便于高階隱含層進行模式組合。同時,DAE的拓撲結構完整,具有強大的非線性擬合能力,能發(fā)現數據的分布式特征表示,提取數據的潛在分層特征,獲取原始輸入的“層次型分組”或“部分-整體分解”結構,因而可以更好地表示輸入數據,具有大規(guī)模并行、分布式處理、自組織和自學習等優(yōu)點。因此,本發(fā)明具有如下有益效果:深度學習算法提供乘客準確、及時、優(yōu)化的公交信息服務,生成出行輔助計劃,主動而合理的引導乘客出行,不僅方便了乘客,還讓缺少秩序的交通出行變得有秩序,使客流分布更加合理。應理解,本實施例僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍。此外應理解,在閱讀了本發(fā)明講授的內容之后,本領域技術人員可以對本發(fā)明作各種改動或修改,這些等價形式同樣落于本申請所附權利要求書所限定的范圍。當前第1頁1 2 3