2015-04-01 39 views
3

對於使用DTW算法的stepPattern,我有點困惑。我不得不承認,一個月前,我不知道該算法的存在。如何決定在DTW算法中使用哪個stepPattern

故事開始於特定類型的圖像比較。 正如您在下面看到的,是我選擇從圖像中提取「時間」序列數據的方式。

enter image description here

的想法是讓所有叉距離第一叉,因爲它播種。因此,對於兩個不同的圖像,您有兩個不同的距離值數組。 這個想法的一個關鍵點是這兩個數組的值是相互對應的。

通過的是,我的意思是兩個陣列的所述第一值不同於所述第二左叉到第一主叉(如播種與編號爲1的圖像中的)之間的距離等等...

通過有了這些值,我使用了DTW算法,通過使用R package

這裏是我想要你的意見的地方。我想這在兩個方面:

A)非對稱

我使用的,因爲我是從什麼瞭解,我讀了你可以使用非對稱stepPattern如果你有相應的值來檢查。爲了與其他圖像的值爲1,與其他圖像的值2第一圖像的值2,依此類推比較第一圖像的價值1 ...

首先我運行這個

dist = dtw(F,K1,keep=TRUE,step.pattern = asymmetric) 

,然後我把它改變成

dist = dtw(K1,F,keep=TRUE,step.pattern = asymmetric) 

這兩個不同的執行返回我不同的距離值(dist$distance)。我不喜歡那樣,但正如我理解後者,結果必須預期,因爲該方法只改變了我的價值(X軸)(糾正我,如果我錯了)。

B)Symmetric1

之後我決定與在

dist = dtw(F,K1,keep=TRUE,step.pattern = symmetric1) 

dist = dtw(K1,F,keep=TRUE,step.pattern = symmetric1) 

返回相同的距離值(dist$distance)以不同的方式運行。

正如你所知道的,有更多的stepPatterns。所以根據我應該選擇stepPattern來處理我的案例?

謝謝。

回答

1

你最好的選擇可能是symmetric2模式,該模式具有以下理想特性:

  1. 這是衆所周知的,常用
  2. 是對稱的,你可以理解欣賞
  3. 它normalizable的屬性,所以你可以比較不同長度的對齊。

其他模式將缺少一個或多個上述屬性。

+0

非常感謝。 – 2015-04-08 19:28:36