轨迹聚类之分段聚类方法总结
目錄
- 2.距離函數
- 2.1 軌跡距離函數
- 3.軌跡分段
- 3.1 MDL原則
- 參考資料
現有的軌跡聚類算法可分為兩類:
- 一種是基于整體的軌跡聚類,即將一條軌跡視為一個整體而對其不做分段,通過定義軌跡的相似度函數將其聚類,這樣一條軌跡只能屬于一個簇;
- 另一種是基于分段的軌跡聚類,即將一條軌跡分為多段,分段的軌跡之和可以是原軌跡,也可以是原軌跡特征的抽取。之后再進行軌跡聚類,這樣同一條軌跡可能分屬于多個簇,可視的結果會出現分流與聚流的效果。
基于不同的應用場景會運用不同的算法,如果只從準確度上評價而不考慮其它因素,基于分段的軌跡聚類相對更好一此。因為它研究的粒度更細,而基于整體的軌跡聚類會丟失一些細節信息,舉一個例子:
————————————————
如上圖,有五條軌跡TRi(i=1,2,...5)TR_i(i=1,2,...5)TRi?(i=1,2,...5),如果運用基于分段的聚類算法,則方框內的軌跡將聚為一簇;而如果是基于整體的聚類算法,由于五條軌跡最終的走向各不相同,因而很有可能五條軌跡歸屬于不同的類。然而忽略掉起始時的聚集狀態是不合理的,顯然在這種情況下基于分段的軌跡聚類更好一些。
基于此,原文提出了“分段及歸組”的軌跡聚類框架,正如其名,算法分為兩大步:
2.距離函數
2.1 軌跡距離函數
由于DBSCAN算法是基于密度的算法,對于散點的聚類利用歐氏距離衡量就可以,但軌跡就不同如此。
因此必須事先定義軌跡之間的距離。
給定任意的兩條線段,其長度及方向不一定相同,如何衡量它們之間的相似度?
先從簡單的開始,情況一:給定兩條同等長度相互平行且兩起點的連線或兩終點的連線與這兩條線段垂直,那么我們可以用它們之間的垂直距離 d⊥d_⊥d⊥? 來衡量它們的相似度,距離越近就越相似,如果這兩條線段完全重合就意味著其完全相同。(一個衡量指標,即d⊥d_\perpd⊥?)
若在上面的基礎上,情況二:將兩條線段沿其方向錯位或改變其中一條線段的長度,在同等 d⊥d_⊥d⊥? 的情況一和二下,顯然它們的相似度只用垂直距離是不夠的,需要用水平方向的差別來衡量,即水平距離d∥d_∥d∥?。(兩個衡量指標,即d⊥d_\perpd⊥?、d∣∣d_{||}d∣∣?)
若在情況二的基礎上,情況三:將其中一條線段沿某一方向旋轉,則兩條線段的夾角越大,其相似度越小,因此又需要引入夾角距離 dθd_θdθ? 的概念。(下圖描述情況三,求LiL_iLi?和LjL_jLj?的相似度,通過三個指標衡量,即d⊥d_\perpd⊥?、d∣∣d_{||}d∣∣?、dθd_\thetadθ?)
原文對距離的定義就基于這種思想。
3.軌跡分段
軌跡分段是在原軌跡中選取一些特征點,利用特征點的連線來近似原軌跡。特征點是多指軌跡中角度變化較大的點。
對軌跡的分段要保證兩個性質:準確性和簡潔性。
準確性是指特征點不能太少,否則不足以概括軌跡特征;
簡潔性是指特征點要利用盡可能少的點來概括軌跡特征。
這兩個特性相互矛盾,因此算法要能夠很好地平衡這兩個特性。
3.1 MDL原則
原文采用信息壓縮中廣泛采用的標準來平衡:MDL(Minimum Description Length)原則。
最小描述長度( MDL) 原理是 Rissane 在研究通用編碼時提出的。
其基本原理是對于一組給定的實例數據 D , 如果要對其進行保存 ,為了節省存儲空間, 一般采用某種模型 H 對其進行編碼壓縮,然后再保存壓縮后的數據。同時, 為了以后正確恢復這些實例數據,將所用的模型也保存起來。所以需要保存的數據長度( 比特數) 等于這些實例數據進行編碼壓縮后的長度加上保存模型所需的數據長度,將該數據長度稱為總描述長度。最小描述長度( MDL) 原理就是要求選擇總描述長度最小的模型。
如果將貝葉斯網絡作為對實例數據進行壓縮編碼的模型, MDL原理就可以用于貝葉斯網絡的學習。該度量被視為網絡結構的描述長度和在給定結構下樣本數據集的描述長度之和。一方面,用于描述網絡結構的編碼位隨模型復雜度的增加而增加 ; 另一方面, 對數據集描述的編碼位隨模型復雜度的增加而下降。因此,貝葉斯網絡的 MDL總是力求在模型精度和模型復雜度之間找到平衡。構建貝葉斯網絡首先定義一個評分函數, 該評分函數描述了每個可能結構對觀察到的數據擬合, 其目的就是發現評分最大的結構,這個過程連續進行到新模型的評分分數不再比老模型的高為止。
MDL原則包含兩個部分:
原文中對兩部分的定義如下:
L(H)=∑j=1pari?1log2(len(pcjpcj+1))L(H)=\sum_{j=1}^{par_i -1}log_2(len(p_{c_j}p_{c_{j+1}}))L(H)=j=1∑pari??1?log2?(len(pcj??pcj+1??))
L(D∣H)=∑j=1pari?1∑k=cjcj+1?1{log2(d⊥(pcjpcj+1,pkpk+1))+log2(dθ(pcjpcj+1,pkpk+1))}L(D|H)=\sum_{j=1}^{par_i -1}\sum_{k=c_j}^{c_{j+1}-1}\{log_2(d_⊥(p_{c_j}p_{c_{j+1}}, p_{k}p_{k+1})) + log_2(d_\theta(p_{c_j}p_{c_{j+1}}, p_{k}p_{k+1}))\}L(D∣H)=j=1∑pari??1?k=cj?∑cj+1??1?{log2?(d⊥?(pcj??pcj+1??,pk?pk+1?))+log2?(dθ?(pcj??pcj+1??,pk?pk+1?))}
L(D|H)中沒有包含水平距離是因為對于閉合的兩條線段,其水平距離為零。
例如:
參考資料
[1] 軌跡聚類(一):分段及歸組框架(Trajectory Clustering:A Partition-and-Group Framework)) 2016.3
[2] 軌跡聚類(二):分段及歸組框架(Trajectory Clustering:A Partition-and-Group Framework) 2016.3
[3] 基于 DBTCAN 算法的船舶軌跡聚類與航路識別 2022.5
[4] Hausdorff Distance(豪斯多夫距離) 2018.3
[5] Hausdorff 距離 2020.3
[6] Metric評價指標-圖像分割之豪斯多夫距離(Hausdorff distance )
[7] 最小描述長度(MDL)2012.12
[8] 最小描述長度準則—Minimum Description Length 2017.5
[9] 如何判斷兩條軌跡(或曲線)的相似度?2017.12
[10] 軌跡相似性度量方法總結 2021.6
[11] 相似性方法調研 2019.1
總結
以上是生活随笔為你收集整理的轨迹聚类之分段聚类方法总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ssl 2520 小球
- 下一篇: Android开源绘画板(普通绘画模式和