日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DTW算法原理解析

發布時間:2023/12/9 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DTW算法原理解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?? ??? ?DTW為(Dynamic Time Warping,動態時間歸準)的簡稱。應用很廣,主要是在模板匹配中,比如說用在孤立詞語音識別,計算機視覺中的行為識別,信息檢索等中。可能大家學過這些類似的課程都看到過這個算法,公式也有幾個,但是很抽象,當時看懂了但不久就會忘記,因為沒有具體的實例來加深印象。
?? ??? ?這次主要是用語音識別課程老師上課的一個題目來理解DTW算法。
?? ??? ?首先還是介紹下DTW的思想:假設現在有一個標準的參考模板R,是一個M維的向量,即R={R(1),R(2),……,R(m),……,R(M)},每個分量可以是一個數或者是一個更小的向量。現在有一個才測試的模板T,是一個N維向量,即T={T(1),T(2),……,T(n),……,T(N)}同樣每個分量可以是一個數或者是一個更小的向量,注意M不一定等于N,但是每個分量的維數應該相同。
?? ??? ?由于M不一定等于N,現在要計算R和T的相似度,就不能用以前的歐式距離等類似的度量方法了。那用什么方法呢?DTW就是為了解決這個問題而產生的。
?? ??? ?首先我們應該知道R中的一個分量R(m)和T中的一個分量T(n)的維數是相同的,它們之間可以計算相似度(即距離)。在運用DTW前,我們要首先計算R的每一個分量和T中的每一個分量之間的距離,形成一個M*N的矩陣。(為了方便,行數用將標準模板的維數M,列數為待測模板的維數N)。
?? ??? ?然后下面的步驟該怎么計算呢?用個例子來看看。
?? ??? ?這個例子中假設標準模板R為字母ABCDEF(6個),測試模板T為1234(4個)。R和T中各元素之間的距離已經給出。如下:

? ? ? ??

? ? ? ??既然是模板匹配,所以各分量的先后匹配順序已經確定了,雖然不是一一對應的。現在題目的目的是要計算出測試模板T和標準模板R之間的距離。因為2個模板的長度不同,所以其對應匹配的關系有很多種,我們需要找出其中距離最短的那條匹配路徑。現假設題目滿足如下的約束:當從一個方格((i-1,j-1)或者(i-1,j)或者(i,j-1))中到下一個方格(i,j),如果是橫著或者豎著的話其距離為d(i,j),如果是斜著對角線過來的則是2d(i,j).其約束條件如下圖像所示:

? ? ? ? 其中g(i,j)表示2個模板都從起始分量逐次匹配,已經到了M中的i分量和T中的j分量,并且匹配到此步是2個模板之間的距離。并且都是在前一次匹配的結果上加d(i,j)或者2d(i,j),然后取最小值。

? ? ? ?

? ? ? ? 所以我們將所有的匹配步驟標注后如下:

? ? ? ? 怎么得來的呢?比如說g(1,1)=4, 當然前提都假設是g(0,0)=0,就是說g(1,1)=g(0,0)+2d(1,1)=0+2*2=4.

? ? ? ? g(2,2)=9是一樣的道理。首先如果從g(1,2)來算的話是g(2,2)=g(1,2)+d(2,2)=5+4=9,因為是豎著上去的。

? ? ? ? 如果從g(2,1)來算的話是g(2,2)=g(2,1)+d(2,2)=7+4=11,因為是橫著往右走的。

? ? ? ? 如果從g(1,1)來算的話,g(2,2)=g(1,1)+2*d(2,2)=4+2*4=12.因為是斜著過去的。

? ? ? ? 綜上所述,取最小值為9. 所有g(2,2)=9.

? ? ? ? 當然在這之前要計算出g(1,1),g(2,1),g(1,2).因此計算g(I,j)也是有一定順序的。

? ? ? ? 其基本順序可以體現在如下:

? ? ? ? 計算了第一排,其中每一個紅色的箭頭表示最小值來源的那個方向。當計算了第二排后的結果如下:

? ? ? ? 最后都算完了的結果如下:

? ? ? ? 到此為止,我們已經得到了答案,即2個模板直接的距離為26. 我們還可以通過回溯找到最短距離的路徑,通過箭頭方向反推回去。如下所示:

? ? ? ? 到這里,估計大家動手算一下就會明白了。其實很簡單,通過例子的學習后再回去看那些枯燥的理論公式就發現很容易了。 ? ? ? ? 在實際應用中,比如說語音識別中的孤立詞識別,我們首先訓練好常見字的讀音,提取特征后作為一個模板。當需要識別一個新來的詞的時候,也同樣提取特征,然后和訓練數據庫中的每一個模板進行匹配,計算距離。求出最短距離的那個就是識別出來的字了。

轉自:http://www.cnblogs.com/tornadomeet/archive/2012/03/23/2413363.html

總結

以上是生活随笔為你收集整理的DTW算法原理解析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。