中 華 大 學 碩 士 論 文 -...

114
中 華 大 學 碩 士 論 文 動態時軸校正法下限制的研究 -以語音辨識為例 A Study on the Lower Bounding to the Dynamic Time Warping-Exampled by Voice Recognition 系 所 別:應用數學學系碩士班 學號姓名:M09709010 張俊仁 指導教授:羅 琪 博士 國 九十九 年 八 月

Upload: others

Post on 29-Oct-2019

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

中 華 大 學

碩 士 論 文

動態時軸校正法下限制的研究

-以語音辨識為例

A Study on the Lower Bounding to the

Dynamic Time Warping-Exampled by Voice

Recognition

系 所 別:應用數學學系碩士班

學號姓名:M09709010 張俊仁

指導教授:羅 琪 博士

中 華 民 國 九十九 年 八 月

Page 2: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

v

摘要摘要摘要摘要

近年來,時間數列的分類與群集分析,早已經是資料庫/資料採礦社群中極有興

趣研究的主題之一。但大多數的分類與群集方法中都需要計算兩不同時間數列

{ , 1, 2, , }t

x t n= ⋯ 與{ , 1, 2, , }t

y t n= ⋯ 的不相似性量數,常用的不相似性量數有歐

氏距離、平方歐氏距離、城市區塊距離及明考斯基距離等,但當兩時間數列變動的

形狀相似但時間軸並不相同時,歐氏距離等量數對時間軸的扭曲是非常敏感的。使

用歐氏距離等量數在分類與群集分析中,雖然計算容易,但不可否認的是會面臨錯

誤率較高的現象。

而時間軸偏差的問題可以用動態時軸校正(DTW)法解決,此法是一套根基於「動

態規劃」的方法,可以有效地校正時間軸的偏差,本研究將採用 Fix and Hodges(1951)

所提出的最近鄰居分類法則,來區別與分類多個人說中文”芝麻開門”的語音。此法則

主要是找出距離觀察值最近的 k 個點,這 k 個點中那一組的比例最多,則此觀察值就

分類到那一類組。由於必須計算出每個點到觀察值的距離,本研究中將同時採用歐

氏距離與各種不同附近路徑限制的 DTW 距離計算不相似性量數,然後用 k 個最近鄰

居分類法則來分類多個人說中文字”芝麻開門”的語音,並計算其明顯錯誤率來比較分

類結果。最後亦將探討下限制對錯誤率與計算速度的影響。結論是 DTW 可以大大降

低錯誤率,但費時太久,至於考慮附近連續限制,類型 I 與 III 計算時間較類型 II , IV,

V 少,但對錯誤率影響非常小。若採用下限制適當時,不但可以減少計算與分類的

時間,亦可降低錯誤率。

關關關關 鍵鍵鍵鍵 詞詞詞詞::::動態時軸校正動態時軸校正動態時軸校正動態時軸校正、、、、語音辨識語音辨識語音辨識語音辨識、、、、路徑限制路徑限制路徑限制路徑限制、、、、下限制下限制下限制下限制、、、、時間數列時間數列時間數列時間數列、、、、分類分析分類分析分類分析分類分析、、、、最最最最

近鄰居分類法則近鄰居分類法則近鄰居分類法則近鄰居分類法則

Page 3: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

vi

ABSTRACT

In recent years, classification and clustering of time series data have become one

of the topic of great interest within the database/data mining community. Most

method in classification and clustering are needed to calculate the distance measure

between two { , 1, 2, , }t

x t n= … and { , 1, 2, , }t

y t n= … two series. Several popular

measures of distance are Euclidean distance, squared Euclidean distance, city block

distance and Minkowski distance. However, when two time series are similar but

they are not aligned in the time axis, then the above distance measures are very

sensitive to distortion in time axis. Although using Euclidean and other distance

measures in classification and cluster analysis can make calculation efficient, we have

to face the evidence of higher error rate.

The problem of distortion in the time axis can be solved by using Dynamic Time

Warping (DTW) which is a method based on the dynamic programming (DP). This

research will use the kth nearest neighbor rule, proposed by Fix and Hodges (1951), to

discriminate and classify the speech pattern of several people speaking Chinese “open

the door, sesame”. The kth nearest neighbor rule is to compute the distance from an

observation to all the other points then assign this observation to the group that has the

highest proportion among the kth nearest neighbors. In this research, both Euclidean

distance and DTW distances by various path constraints are used as the dissimilarity

measures. Then the kth nearest neighbor classification rule is used to classify the

speech pattern of several people speaking Chinese “open the door, sesame” and the

apparent error rate is used to compare the classification results. Finally, a discussion

will be made on the effect of lower bounding constraints to the error rate and

computation speed. The results demonstrated that DTW greatly reduced the error rate

but it was time-consuming. Local continuity constraints had no much influence on the

error rate, but constraints I and III spent less time in calculation than constraints II, IV

and V. Finally, if using lower bounding properly, it not only can reduce the time in

calculation and classification, but also can reduce the error rate.

Keywords: dynamic time warping, speech recognition, path constraint, lower

bound, time series, classification analysis, nearest neighbor

classification rule

Page 4: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

vii

誌謝辭誌謝辭誌謝辭誌謝辭

本論文能順利完成,首要感謝的是羅琪老師在論文寫作期間耐心的指導,循序

漸進的教導我,在程式寫作有問題、邏輯概念有疑慮時,老師也會不厭其煩的再三講

解,給予我建議,使程式的邏輯架構更為完善,且老師也為本論文校正疏漏,並給予

許多寶貴的意見,使得本論文能夠更加充實完備,在此表達最誠摯的謝意,感謝老師

的教導和關懷。

其次感謝系上的老師以及同學們,在我遭遇到任何問題時,總是會適時的幫忙、

給予鼓勵。

最後,謹將此篇論文獻給我親愛的雙親以及家人,謝謝你們的關懷、支持與鼓勵,

使我能順利完成學業。

張俊仁 謹於中華大學應用數學學系碩士班

中華民國 99 年 7 月

Page 5: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

viii

目錄目錄目錄目錄

摘要 ............................................................................................................................... v

ABSTRACT .....................................................................................................................vi

誌謝詞 ............................................................................................................................ vii

目錄 ........................................................................................................................... viii

表目錄 ............................................................................................................................... x

圖目錄 ........................................................................................................................... xiii

附錄目錄 ......................................................................................................................... xv

第一章 前言 ..................................................................................................................... 1

1.1 研究的背景 .......................................................................................................1

1.2 相關研究的回顧 ...............................................................................................3

1.3 研究目的 ...........................................................................................................4

1.4 研究的流程 .......................................................................................................5

第二章 研究方法 ............................................................................................................. 7

2.1 時間數列資料的蒐集 .......................................................................................7

2.2 資料的預先處理 ...............................................................................................7

2.3 歐氏距離(Euclidean distance) ......................................................................... 10

2.4 動態時軸校正(Dynamic Time Warping; DTW)............................................... 10

2.5 附近限制(local constraint) .............................................................................. 16

2.6 k 個最近鄰居法則(the kth nearest neighbor rule; kNN) .................................. 20

2.7 明顯錯誤率 ..................................................................................................... 21

2.8 分類結果的評價 ............................................................................................. 22

Page 6: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

ix

第三章 路徑限制的探討 ................................................................................................ 23

3.1 附近路徑限制(local path constraints) .............................................................. 23

3.2 斜率加權函數(slope weighting functions) ....................................................... 27

3.3 全程路徑限制(global path constraints)............................................................ 31

3.4 動態時軸校正法的解(dynamic time warpingsolution) .................................... 34

第四章 下限制的探討 .................................................................................................... 40

4.1 下限制量數的用途 ......................................................................................... 40

4.2 下限制量數的介紹 ......................................................................................... 40

4.3 下限制循序掃描演算法的介紹 ...................................................................... 44

第五章 實例之應用........................................................................................................ 45

5.1 資料的初步分析與解釋.................................................................................. 45

5.2 路徑限制對分類結果的影響 .......................................................................... 47

5.3 路徑限制與下限制對分類結果的影響 .......................................................... 53

5.3.1 宋張鄭分類結果 .................................................................................. 54

5.3.2 張鄭林分類結果 .................................................................................. 59

5.3.3 宋劉羅分類結果 .................................................................................. 65

5.4 分類結果的總結 ............................................................................................. 70

第六章 結論與未來展望 ................................................................................................ 72

6.1 結論 ................................................................................................................ 72

6.2 未來展望 ......................................................................................................... 73

6.3 未來研究方向 ................................................................................................. 73

參考文獻 ......................................................................................................................... 78

附錄 ............................................................................................................................. 83

Page 7: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

x

表表表表目錄目錄目錄目錄

表 3-1 七種附近連續限制類型的局部關係座標增加量的表示圖 ................................ 24

表 3-2 不同類型附近連續限制的 maxQ 與 minQ 的值........................................................ 33

表 3-3 斜率加權函數類型(a)的附近限制、斜率權數及動態規劃遞迴公式 ................ 36

表 3-4 斜率加權函數類型(b)的附近限制、斜率權數及動態規劃遞迴公式 ................ 37

表 3-5 斜率加權函數類型(c)的附近限制、斜率權數及動態規劃遞迴公式 ................ 38

表 3-6 斜率加權函數類型(d)的附近限制、斜率權數及動態規劃遞迴公式 ................ 39

表 4-1 下限制循序掃描演算法 ...................................................................................... 44

表5-1 宋張羅三位錄音者40筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加權

函數類型(d)) ........................................................................................................ 48

表5-2 宋張鄭三位錄音者40筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加權

函數類型(d)) ........................................................................................................ 49

表 5-3 宋張鄭三位錄音者 40 筆聲音資料在 5 種不同附近連續限制、4 種不同斜率加

權函數、有加與沒加全程限制的分類的所需計算時間與錯誤率的統計表...... 49

表 5-4 張鄭林三位錄音者 40 筆聲音資料在 5 種不同附近連續限制、4 種不同斜率加

權函數、有加與沒加全程限制的分類的所需計算時間與錯誤率的統計表...... 51

表 5-5 宋劉羅三位錄音者 40 筆聲音資料在 5 種不同附近連續限制、4 種不同斜率加

權函數、有加與沒加全程限制的分類的所需計算時間與錯誤率的統計表...... 52

表5-6 宋張鄭三位錄音者40筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加權

函數類型(d),附近連續限制類型 I ) ................................................................. 54

表5-7 宋張鄭三位錄音者40筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加權

函數類型(d),附近連續限制類型 II )................................................................. 55

表5-8 宋張鄭三位錄音者40筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加權

函數類型(d),附近連續限制類型 III ) ............................................................... 56

Page 8: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

xi

表5-9 宋張鄭三位錄音者40筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加權

函數類型(d),附近連續限制類型 IV ) ............................................................... 56

表 5-10 宋張鄭三位錄音者 40 筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加

權函數類型(d),附近連續限制類型 V ) ........................................................... 57

表 5-11 宋張鄭三位錄音者 40 筆聲音資料在 5 種不同附近連續限制、3 種不同下限制,

沒加全程限制的分類的所需計算時間、錯誤率及比對次數的統計表 ........... 58

表 5-12 張鄭林三位錄音者 40 筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加

權函數類型(d),附近連續限制類型 I ) ............................................................ 59

表 5-13 張鄭林三位錄音者 40 筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加

權函數類型(d),附近連續限制類型 II ) .......................................................... 60

表 5-14 張鄭林三位錄音者 40 筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加

權函數類型(d),附近連續限制類型 III ) ......................................................... 61

表 5-15 張鄭林三位錄音者 40 筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加

權函數類型(d),附近連續限制類型 IV ) ......................................................... 62

表 5-16 張鄭林三位錄音者 40 筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加

權函數類型(d),附近連續限制類型 V ) .......................................................... 63

表 5-17 張鄭林三位錄音者 40 筆聲音資料在 5 種不同附近連續限制、3 種不同下限制,

沒加全程限制的分類的所需計算時間、錯誤率及比對次數的統計表 ........... 64

表 5-18 宋劉羅三位錄音者 40 筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加

權函數類型(d),附近連續限制類型 I ) ........................................................... 65

表 5-19 宋劉羅三位錄音者 40 筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加

權函數類型(d),附近連續限制類型 II ) .......................................................... 66

表 5-20 宋劉羅三位錄音者 40 筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加

權函數類型(d),附近連續限制類型 III ) ......................................................... 67

表 5-21 宋劉羅三位錄音者 40 筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加

Page 9: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

xii

權函數類型(d),附近連續限制類型 IV ) ......................................................... 67

表 5-22 宋劉羅三位錄音者 40 筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加

權函數類型(d),附近連續限制類型 V ) .......................................................... 68

表 5-23 宋劉羅三位錄音者 40 筆聲音資料在 5 種不同附近連續限制、3 種不同下限制,

沒加全程限制的分類的所需計算時間與錯誤率及比對次數的統計表 ........... 69

Page 10: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

xiii

圖目錄圖目錄圖目錄圖目錄

圖 1-1 兩個人說數字”3”, ”7”, ”2”, ”1”的時間數列圖 .....................................................2

圖 1-2 歐氏距離與 DTW 距離的比較圖 .........................................................................4

圖 1-3 研究的流程圖 .......................................................................................................6

圖 2-1 移除平均數前後對照圖 ........................................................................................8

圖 2-2 移除平均數再除以標準差前後對照圖 .................................................................8

圖 2-3 移除線性趨勢前後對照圖 ....................................................................................9

圖 2-4 移除雜訊(noise)前後對照圖 .................................................................................9

圖 2-5 路徑限制(一)的局部關係圖 ................................................................................ 12

圖 2-6 動態時軸校正法.................................................................................................. 14

圖 2-7 路徑限制(二)的局部關係圖 ................................................................................ 16

圖 2-8 另一種加權係數的路徑限制(二)局部關係圖 ..................................................... 17

圖 2-9 重分配加權係數後的圖 2-8 ................................................................................ 17

圖 2-10 重分配加權係數後的圖 2-7 ............................................................................... 17

圖 2-11 kNN 分類圖 ........................................................................................................ 21

圖 3-1 附近限制局部關係用座標增加量表示圖 ........................................................... 23

圖 3-2 路徑移動與校正路徑範例 .................................................................................. 27

圖 3-3 型 III 類型附近連續限制的四種類型的斜率加權圖 .......................................... 29

圖 3-4 型 II 類型的附近連續限制的四種類型的斜率加權函數重分配前後的加權係數

圖 ......................................................................................................................... 30

圖 3-5 全程路徑限制的結果 ........................................................................................... 33

圖 3-6 全程路徑限制的結果及時軸校正函數可允許的範圍 ......................................... 34

圖 4-1 LB_Kim量數的示範 .......................................................................................... 41

圖 4-2 LB_Yi量數的示範 ............................................................................................. 42

Page 11: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

xiv

圖 4-3 數列Q的上下界U 與 L (Sakoe-Chiba Band) ...................................................... 42

圖 4-4 數列Q的上下界U 與 L (Itakura Parallelogram) .................................................. 43

圖 4-5 數列Q的LB_Keogh 量數的示範(Sakoe-Chiba Band) ........................................ 43

圖 4-6 數列Q的LB_Keogh 量數的示範(Itakura Parallelogram).................................... 43

圖 5-1 羅鄭宋三位錄音者第三筆聲音資料的原始時間數列圖 .................................... 46

圖 5-2 羅鄭宋三位錄音者 40 筆聲音資料平均後的時間數列圖 .................................. 47

圖 6-1 DTW 距離的快速近似 ......................................................................................... 74

圖 6-2 (A)Sakoe-Chiba Band (B)Itakura Parallelogram (C)R-K Band .............................. 74

圖 6-3 (A)為類型 VI (B)Itakura 附近限制 ...................................................................... 75

圖 6-4 二次心跳的時間數列圖用 DTW(左)與 uniform scaling (右)校準的比較圖....... 75

圖 6-5 數列Q拉長前面與數列C 的比較圖 ................................................................... 77

Page 12: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

xv

附錄目錄附錄目錄附錄目錄附錄目錄

附錄 1:第一位錄音者(宋 s)、第二位錄音者(張 g)與第三位錄音者(鄭 k)聲音資料的載

入之程式碼 ....................................................................................................... 83

附錄 2:第一位錄音者(宋 s)、第二位錄音者(張 g)與第三位錄音者(鄭 k)聲音資料的時

間數列圖之程式碼 ............................................................................................ 85

附錄 3:第一位錄音者(宋 s)、第二位錄音者(張 g)與第三位錄音者(鄭 k)聲音資料的歐

式距離之程式碼 ................................................................................................ 86

附錄 4:第一位錄音者(宋 s)、第二位錄音者(張 g)與第三位錄音者(鄭 k)聲音資料的

DTW 距離(附近連續限制類型 I)之程式碼 ...................................................... 87

附錄 5:第一位錄音者(宋 s)、第二位錄音者(張 g)與第三位錄音者(鄭 k)聲音資料的

DTW 距離(附近連續限制類型 II)之程式碼 .................................................... 88

附錄 6:第一位錄音者(宋 s)、第二位錄音者(張 g)與第三位錄音者(鄭 k)聲音資料的

DTW 距離(附近連續限制類型 I)之程式碼 ...................................................... 89

附錄 7:第一位錄音者(宋 s)、第二位錄音者(張 g)與第三位錄音者(鄭 k)聲音資料的

DTW 距離(附近連續限制類型 IV)之程式碼 ................................................... 90

附錄 8:第一位錄音者(宋 s)、第二位錄音者(張 g)與第三位錄音者(鄭 k)聲音資料的

DTW 距離(附近連續限制類型 V)之程式碼 .................................................... 91

附錄 9:第一位錄音者(宋 s)、第二位錄音者(張 g)與第三位錄音者(鄭 k)聲音資料的

DTW 距離(Global 附近連續限制類型 V)之程式碼 ......................................... 93

附錄 10:kNN 分類法當 k = 1 時之程式碼 ................................................................... 95

附錄 11:第一位錄音者(宋 s)、第二位錄音者(張 g)與第三位錄音者(鄭 k)聲音資料的

使用 Kim 的下限制方法(LB_Kim)的 DTW 距離(附近連續限制類型 I) 之程

式碼 ................................................................................................................. 96

附錄 12:第一位錄音者(宋 s)、第二位錄音者(張 g)與第三位錄音者(鄭 k)聲音資料的

Page 13: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

xvi

使用 Yi 的下限制方法(LB_Yi)的 DTW 距離(附近連續限制類型 I) 之程式碼

........................................................................................................................ 98

附錄 13:第一位錄音者(宋 s)、第二位錄音者(張 g)與第三位錄音者(鄭 k)聲音資料的

使用Keogh的下限制方法(LB_Keogh)的DTW距離(附近連續限制類型 I) 之

程式碼 ........................................................................................................... 100

Page 14: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

1

第一章第一章第一章第一章 前言前言前言前言

大家都曾有過經驗,電話鈴響,拿起話機,聽到對方聲音,你不必看來電顯示,

就可以知道是誰打電話給你,因為每個人說話的特性不一樣,聽聲音就可以辨認出

來。語音訊號中攜帶了可供辨認人的因素,主要有三:

一、發音器官的差異

如同人的面貌不同,發音器官也不完全一樣,口腔形狀與聲帶的不同會使得說

話聲音的特性不同。

二、說話型態的差異

由於習慣的不同,說話方式會不一樣,例如有些人說話速度比較快,或是某幾

個音的發音比較特殊。

三、說話內容的差異

使用的語言、教育程度及社會階層的不同,會使得說話的內容有所差異。

1.1 研究研究研究研究的的的的背景背景背景背景

上述這些差異都可以作為說話人語音辨識的依據,本論文將研究興趣放在動態

時軸校正法應用於語音的辨識上。

一直以來,將古典的樣式辨識(pattern recognition)推廣到實驗的時間數列資料,

都是實務上非常有興趣研究的問題。按時間順序所蒐集的一序列的觀察值通常會產

生一個樣式(pattern),此樣式可做為用來與其他不同種類事件的區別的基礎。例如:

在美國蒙大拿州,科學家可能要根據資料來區別地震與核爆,紀錄顯示地震與核爆

的樣示有相當大的差異,因為核爆的訊號在開始時很強,但在後段變動就很弱了,

而地震訊號不會那麼快恢復平靜,所以在後段訊號仍有較大的振動。根據這些差異

的統計特徵,可用來分類未知來源的訊號是地震還是核爆。此種分類方法就是屬於

統計的時間數列的分類分析(the classification analysis of time series)。

Page 15: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

2

近年來,時間數列的分類與群集分析(classification and clustering analysis),早已

是資料庫/資料採礦(database/data mining)社群中極有興趣研究的主題之一。但大多數

的分類與群集方法中都需要計算兩不同時間數列{ , 1, 2, , }t

x t n= … 與{ , 1, 2, , }t

y t n= …

的不相似性量數 (distance measure),常用的不相似性量數有歐氏距離 (Euclidean

distance)、平方歐氏距離、城市區塊距離 (City block distance)及明考斯基距離

(Minkowski distance)…等,公式如下:

2

1

2

1

Euclidean distance( , ) ( )

Squared Euclidean distance( , ) ( )

n

t t

t

n

t t

t

x y x y

x y x y

=

=

= −

= −

1

1

1

City block distance( , ) | |

Minkowski distance( , ) | |

n

t t

t

n ll

t t

t

x y x y

x y x y

=

=

= −

= −

0 2000 4000 6000 8000 10000

-1.0

-0.5

0.0

0.5

1.0

Time Series Plot of ac09

0 2000 4000 6000 8000 10000

-1.0

-0.5

0.0

0.5

1.0

Time Series Plot of au09

0 2000 4000 6000 8000 10000

-1.0

-0.5

0.0

0.5

1.0

Time Series Plot of ac10

0 2000 4000 6000 8000 10000

-1.0

-0.5

0.0

0.5

1.0

Time Series Plot of au10

0 2000 4000 6000 8000 10000

-0.5

0.0

0.5

1.0

Time Series Plot of ac11

0 2000 4000 6000 8000 10000

-1.0

-0.5

0.0

0.5

1.0

Time Series Plot of au11

0 2000 4000 6000 8000 10000

-0.5

0.0

0.5

1.0

Time Series Plot of ac12

0 2000 4000 6000 8000 10000

-1.0

-0.5

0.0

0.5

1.0

Time Series Plot of au12

圖 1-1 兩個人說數字”3”, ”7”, ”2”, ”1”的時間數列圖

但有時兩時間數列變動的形狀相似,但時間軸並不相同,如圖 1-1 所示。左邊是

Page 16: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

3

第一個人說數字 ”3”, ”7”, ”2”, ”1”的語音的時間數列圖,右邊是第二人說數

字”3”, ”7”, ”2”, ”1”的語音的時間數列圖,左邊第一個人說話聲音 4 次的快慢不同,

後二次較快,前二次較慢,右邊第二人說話聲音速度差不多,若直接用上面的不相

似性量數來測量數列相似性,則左邊第一個人的前 2 筆語音資料會較接近第二個人

的聲音,因此如此例所示,歐氏距離等量數是對時間軸的扭曲(distortion)非常敏感

的。使用歐氏距離等量數在分類與群集分析中,雖然計算容易,但不可否認的是會

面臨錯誤率較高的現象。

1.2 相關研究的回顧相關研究的回顧相關研究的回顧相關研究的回顧

時間數列的分類問題(classification problems)不只限於應用在地質上,也可應用於

許多其他的領域。在工程文獻中,有人推出用統計辨識技巧來探測是否有訊號(signal)

藏在雜訊(noise)中,例如:Helstrom(1968)研究雷達訊號探測問題,在工程上,訊號

的探測就相當於對訊號加雜訊(signal plus noise)與單單只有雜訊(noise)的樣式做區別

與分類。此外,在醫學上也可用來區別與分類兩種腦波紀錄圖。Gevins et al. (1975)、

Gersch et al. (1977;1979)都曾應用區別與分類分析到腦波電儀紀錄圖(EEG)的資料

上,主要是用區別分析來區別癲癇患者是否要開始發作。Gersch et al. (1979)也用區別

分析來區別大手術的麻醉藥劑是否足夠。

時間數列的區別與分類分析也可用在聲音的辨識系統上,主要用來區別每個人聲

音當中不同的樣式(Wolf 1976;Markel and Gray 1976)。近來國內也有一些時間數列的

區別與分類分析與聲音辨識的相關研究,例如:輔仁大學統計資訊學系黃孝雲老師研

究使用 SLEX Model 區別非穩定的時間數列資料,並應用到酗酒者與正常人的腦波電

儀紀錄圖的區別(Huang et al. 2003)。另外清華大學電機系的王小川老師指導了很多聲

音轉換或語音辨識的相關論文(Hung et al. 1999;Huang et al. 2000;Wang 1999;Wang

et al. 2000;You et al. 2000;Yu et al. 1999),這些文獻中提到聲調辨認的問題分為基

頻軌跡追蹤和辨認系統建立兩個部份,找到聲音的資料後,定義特徵參數來建立一個

Page 17: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

4

特徵向量,再藉由這個特徵向量來辨別聲音。而中華大學應用數學系羅琪老師也做過

一些聲音辨識的研究(Lo and Yu 2006),主要是著重在頻域(frequency domain)的統計頻

譜估計及區別與分類分析。本論文仍延續語音辨識的研究方向,將採用最近鄰居分類

法則來區別與分類多個人說中文字”芝麻開門”的語音,並採用動態時軸校正法來處理

及校正時間軸的偏差問題,為了增加動態時軸校正法的計算速度,本論文將探討動態

時軸校正法中的各種不同路徑限制對結果的影響,另外為了加速搜尋速度與分類的速

度,本論文亦將探討各種不同下限制(lowing bounding)對結果的影響。

1.3 研究研究研究研究的的的的目的目的目的目的

本論文的研究目的主要是將動態時軸校正法應用於多人說中文”芝麻開門”的語

音時間數列資料的分類分析上,與圖 1-1 類似,說”芝麻開門”的語音的時間數列資料

變動的波形可能相似,但有說話速度快慢不同的情形產生,所以在比較兩語音的時

間數列時,應考慮到時間軸的偏差問題。

圖 1-2 歐氏距離與 DTW 距離的比較圖

而時間軸偏差的問題可以用動態時軸校正(Dynamic Time Warping,簡稱 DTW)

法解決,此法是一套根基於「動態規劃」(Dynamic Programming,簡稱 DP)的方法,

可以有效地校正時間軸的偏差,如圖 1-2 所示,歐氏距離不一定高點對高點、低點對

Page 18: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

5

低點,使用 DTW 距離才有可能使高點對高點、低點對低點。

語音辨識一直是一個相當值得研究與探討的問題,本論文將採用 Fix and

Hodges(1951)所提出的最近鄰居法則(nearest neighbor rule),來做為區別與分類多個人

說中文”芝麻開門”的語音。此法亦稱為 k 個最近鄰居法則(k nearest neighbor rule),此

法則主要是找出距離觀察值最近的 k 個點,這 k 個點中那一組的比例最多,則此觀察

值就分類到那一類組。由於必須計算出每個點到觀察值的距離,本論文擬同時採用歐

式距離與各種不同附近路徑限制(local path constraint)的 DTW 距離計算不相似性量

數,然後用 k 個最近鄰居法則分類多個人說中文字”芝麻開門”的語音,並計算明顯錯

誤率(apparent error rate)及平均錯誤率來比較結果。另外亦將探討全程路徑限制(global

path constraint)對錯誤率與計算速度的影響,以及探討採用下限制(lowing bounding)對

搜尋分類速度及錯誤率的影響。

1.4 研究的流程研究的流程研究的流程研究的流程

本論文先將三位錄音者說中文”芝麻開門”的聲音時間數列資料畫圖、解釋並加以

比較,然後將這些資料做預先處理後,先用下限制量數,將可能不是最佳適配的數列

排除掉,再同時採用歐氏距離與各種不同附近路徑限制的 DTW 距離計算其不相似性

量數,然後用 k 個最近鄰居法則分類多個人說中文字”芝麻開門”的語音,並計算明顯

錯誤率來比較分類結果。本論文的整個研究的流程,使用軟體 Microsoft Office Visio

2003 畫成研究的流程圖,如圖 1-3 所示。

Page 19: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

6

圖 1-3 研究的流程圖

Page 20: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

7

第二章第二章第二章第二章 研究方法研究方法研究方法研究方法

語音辨識一直是相當具有挑戰性的技術,因為影響語音的變數很多,例如語音會

隨著區域、年齡、性別等有所差別。本論文是研究一秒鐘說中文字”芝麻開門”的語音

辨識,屬於短時段的分析。本章介紹本論文所採用的研究方法與原因,分成八個小節,

2.1 節是實驗的方法及聲音資料的取得過程的概述,2.2 節為資料的預先處理,2.3 節

為歐氏距離的計算,2.4 節為動態時軸校正法(Dynamic Time Warping; DTW)的介紹,

2.5 節為附近限制(local constraint)的介紹,2.6 節是 k 個最近鄰居演算法(the kth nearest

neighbor rule; kNN)的回顧,2.7 節是明顯錯誤率的計算,最後 2.8 節為分類結果的評

價。

2.1 時間數列資料的蒐集時間數列資料的蒐集時間數列資料的蒐集時間數列資料的蒐集

令{ , 1, 2, , }t

x t n= ⋯ 代表一組時間數列資料(time series data)。本論文擬辨識三個

人說中文字”芝麻開門”的語音,因此蒐集語音資料的實驗為每個人各說中文字”芝麻

開門”40 次。每次說中文字”芝麻開門”的語音,由電腦軟體 GoldWave 4.25 錄音後,

再轉換成數字資料。錄音時頻道(channel)設為單頻(mono),時間長度(length)設為一秒

鐘,而抽樣週率(sampling rate)設為 11025 赫(Hertz),透過此軟體及麥克風,可錄下說

中文的聲紋資料,再將.wav 檔轉成.txt 檔儲存,以方便軟體使用。由於資料太多,統

計軟體與數學軟體 MATLAB 都無法處理,所以每隔一個取一個,只取 5512 筆資料來

做分析。聲音資料取得後,先畫時間數列圖(time series plot),由時間數列圖,可比較

三個人說中文字”芝麻開門”聲音振幅大小與頻率快慢的不同,亦可看出三個人的聲音

波形的差異。

2.2 資料資料資料資料的的的的預先處理預先處理預先處理預先處理

在計算歐氏距離或 DTW 距離之前,必須先處理資料,因為歐氏距離對資料的某

Page 21: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

8

些扭曲(distortion)非常的敏感,在大多數的問題中,這些扭曲並沒有意義,因此可以

而且應該移除它們。一般常見的扭曲影響有 offset translation、amplitude scaling、linear

trend 及 noise 四種。

Transformation I: Offset TranslationTransformation I: Offset Translation

0 50 100 150 200 250 3000

0.5

1

1.5

2

2.5

3

0 50 100 150 200 250 300

x = x- mean(x)

y = y - mean(y)

圖 2-1 移除平均數前後對照圖

Transformation II: Amplitude ScalingTransformation II: Amplitude Scaling

0 100 200 300 400 500 600 700 800 900 1000 0 100 200 300 400 500 600 700 800 900 1000

x = (x - mean(x)) / std(x)

y = (y - mean(y)) / std(y)

圖 2-2 移除平均數再除以標準差前後對照圖

Page 22: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

9

Transformation III: Linear Trend

0 20 40 60 80 100 120 140 160 180 200

-4

-2

0

2

4

6

8

10

12

0 20 40 60 80 100 120 140 160 180 200

-3

-2

-1

0

1

2

3

4

5

Removed offset translation

Removed amplitude scaling

Removed linear trend

圖 2-3 移除線性趨勢前後對照圖

Transformation IV: NoiseTransformation IV: Noise

0 20 40 60 80 100 120 140-4

-2

0

2

4

6

8

0 20 40 60 80 100 120 140-4

-2

0

2

4

6

8

x = smooth(x)

y = smooth(y)

圖 2-4 移除雜訊(noise)前後對照圖

(註:圖 2-1 到圖 2-4 取自 Dr. Eamonn Keogh, Data Mining and Machine Learning

in Time Series Databases)

圖 2-1 是兩個形狀相似但平均數不相同的時間數列,移除平均數前後的對照圖,

圖 2-2 是兩個平均數、標準差不同的時間數列,移除平均數再除以標準差前後的對照

圖,圖 2-3 是兩個不同的時間數列(其中一個數列有線性趨勢,另一個沒有),移除線

Page 23: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

10

性趨勢前後的對照圖,圖 2-4 是兩個有雜訊的時間數列,移除雜訊前後的對照圖。由

於”芝麻開門”的語音資料沒有線性趨勢(linear trend),所以只對 offset translation,

amplitude scaling 及 noise 做處理,處理方法是對每一個時間數列t

x 在計算距離前,都

先減去平均數再除以標準差,然後再平滑,也就是

mean( )smooth

std( )

t tt

t

x xx

x

−=

2.3 歐歐歐歐氏氏氏氏距離距離距離距離(Euclidean distance)

一般而言,對於兩個長度為 n的時間數列{ , 1, 2, , }t

x t n= ⋯ ,{ , 1, 2, , }t

y t n= ⋯ ,兩

時間數列 x 與 y 之間的直線距離,稱為歐氏距離(Euclidean distance),公式如下:

distance 2

1

( , ) ( )n

t t

t

x y x y=

= −∑ ,

但是如果兩個時間數列的長度不同,那它們之間的距離,就無法使用上面的數學式來

計算。

2.4 動態時軸校正動態時軸校正動態時軸校正動態時軸校正(Dynamic Time Warping; DTW)

由於每個人都會有自己講話的習慣,所以就會有速度的快慢,說話速度快時就等

於將聲音壓縮,說話速度慢時就等於將聲音擴張,所以為了使辨識更準確,在辨識時

必須將時間軸偏差的問題考慮進來。因此本論文就使用動態時軸校正法,來解決時間

軸偏差,然後進行語音的辨識。

DTW 是 Dynamic Time Warping 的簡稱,一般翻譯成「動態時軸校正」或「動態

時間扭曲」,這是一套根基於 Bellman(1957)的動態規劃(Dynamic Programming,簡稱

DP)的方法。由於兩處理後的時間數列 x 與 y 的元素位置都是代表時間,所以在時間

軸可能出現偏差,因此並不知道兩個向量的元素的對應關係,因此必須靠著一套有效

的運算方法,才可以找到最佳的對應關係。

Page 24: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

11

動態規劃法最先由蘇俄學者 Slutsker(1968)、Vintsyuk(1968)與 Velichko and

Zagoruyko(1970)應用到 DTW,另外同時亦有日本學者 Sakoe and Chiba(1978)做相同

的研究。

假設有兩個時間數列,其中一個長度為m ,用{ , 1, 2, , }i

x i m= ⋯ 代表,另一個長

度為 n,用{ , 1, 2, , }j

y j n= ⋯ 代表,而 DTW 的目標,就是要找到一組校正路徑(warping

path)或稱為校正函數(warping function)

1 2, , , , , , ( , ), 1, 2, ,k K k k k

F c c c c c i j k K= = =⋯ ⋯ ⋯ ,

校正路徑是一連串的移動,每一個移動用一對座標表示。

而最佳校正路徑就是使得經由上述路徑的「點對點」,由起點到終點整個路徑正

規化的累積距離

1

1

( )

( )

K

k k

k

K

k

k

d c w

DTW F

w

=

=

=

∑,

為最小,其中 ( ) ( , )k k k

d c d i j= 代表兩個點ki

x 與kj

y 的距離(例如: ( , )k kk k i jd i j x y= − ),

而 kw 是一個與F 有關的非負的加權係數(nonnegative weighting coefficient),且1

K

k

k

w=

是一個正規化因子(normalizing factor),校正路徑必須受到下面三個條件的限制:

1. 端點條件(endpoint condition)

1 1 1i j= = , , K Ki m j n= = ,

也 就 是 起 點 (beginning point) 1 1 1( , ) (1,1)c i j= = , 終 點 (ending

point) ( , ) ( , )K K Kc i j m n= = ,此端點關係代表這是「頭對頭,點對點」的比對。

2.附近連續條件(local continuity condition)

連續條件有多種形式,例如︰Sakoe and Chiba(1978)提出下面條件︰

1 1k ki i−

− ≤ , 1 1k kj j−

− ≤ ,

也就是假設最佳校正路徑上任一點可以表示成 ( , )kc i j= ,那麼其前一點 1kc−路徑只有

三種可能: ( 1, )i j− , ( , 1)i j − , ( 1, 1)i j− − ,此局部關係定義了路徑的附近連續性,

Page 25: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

12

如圖 2-5 所示。

2

圖 2-5 路徑限制(一)的局部關係圖

3. 單調條件(monotonic condition)

1 0k ki i−

− ≥ , 1 0k kj j−

− ≥ ,

也就是假設最佳校正路徑不會隨著時間向後走,也就是 1ki −與 1kj −

的值只會增加或維

持相同,不會減少。

若定義 kw 使得 DTW(F)公式分母部分變成常數與 F 無關,則 DTW(F)可以簡化。

例如:若 1 1( ) ( )k k k k kw i i j j− −

= − + − , 0 0( 0)i j= = ,則 kw 變成了城市區塊距離(city block

distance),而且

1

K

k

k

w m n=

= +∑ ,

則 DTW(F)簡化為

1

1( ) ( )

K

k k

k

DTW F d c wm n =

=+∑ ,

但是,要如何快速地找到這條最佳校正路徑呢?可以根據動態規劃原理,依下面

四個步驟進行:

1. 目標函數的定義:定義 ( , )D i j 是 1 2{ , , , }ix x x⋯ 與 1 2{ , , , }jy y y⋯ 之間的 DTW 距離,

對應的最佳校正路徑是由 (1,1)走到 ( , )i j 。

2. 目標函數之遞迴關係:

( 1, ) ( , ),

( , ) min ( 1, 1) 2 ( , ),

( , 1) ( , )

D i j d i j

D i j D i j d i j

D i j d i j

− +

= − − + − +

其中 ( , )d i j 代表 ix 與 jy 的距離(例: ( , )i i

d i j x y= − )。

Page 26: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

13

因為已知在到達 ( 1, )i j− 、 ( 1, 1)i j− − 與 ( , 1)i j − 這三個點時,已經累積的最小距

離是 ( 1, )D i j− 、 ( 1, 1)D i j− − 與 ( , 1)D i j − ,則當要計算 ( , )D i j 時,是從三個可能來源

中挑一個,計算公式如下︰

[ ]

[ ]

[ ]

( 1, ) ( ( 1)) ( ) ( , ),

( , ) min ( 1, 1) ( ( 1)) ( ( 1)) ( , ),

( , 1) ( ) ( ( 1)) ( , )

D i j i i j j d i j

D i j D i j i i j j d i j

D i j i i j j d i j

− + − − + −

= − − + − − + − −

− + − + − −

3. 端點條件: 1(1,1) (1,1) 2 (1,1)D w d d= = 。

4. 最後答案: ( , )D m n 。

在實際運算時,會先建立一個 n m× 的校正矩陣(warping matrix) D,先根據端點

條件填入 (1,1)D ,然後再根據遞迴關係,逐行或逐列算出 ( , )D i j 的值,最後可以得到

( , )D m n 。所以兩時間數列{ , 1, 2, , }i

x i m= ⋯ 與{ , 1, 2, , }j

y j n= ⋯ 的整體 DTW 距離為

( , )D m n

m n+。

為了將相關最佳路徑找出來,在計算遞迴關係式時,要記錄每一個最小點的對應

的路徑,直到求出 ( , )D m n ,再反覆回推前一個最佳路徑的位置,如此一再反覆,才

能算出整體的最佳路徑。

為了讓大家更了解動態時軸校正法如何校正兩個時間數列的時間軸,所以用圖

2-6 來示範,圖 2-6 中有兩個形狀相似但速度不同的時間數列 x 與 y ,為了校正時間

軸的差異,先建立一個 n m× 的校正矩陣 D,其中 ( , )D i j 代表路徑由 (1,1)到 ( , )i j 的累

積距離,矩陣中黑色方格部分就是最佳路徑 F。

Page 27: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

14

圖 2-6 動態時軸校正法

(A) 兩時間數列 x 與 y 形狀相似但速度不同。

(B) 為了校正兩數列,建立校正矩陣D,然後尋找最佳路徑F 。

(C) 校正結果。

下面舉個小例子來驗證上述結果,假設有兩個小向量,分別為 (1,5, 4)t = 、

(3,2,6, 2)r = ,所以 3, 4m n= = ,使用 DTW 方法求出以下矩陣跟距離。數學軟體

MATLAB 2007 的程式碼如下:

t=[1 5 4];

r=[3 2 6 2];

m=length(t)+1;

n=length(r)+1;

z=inf(m,n);

for i=2:m

for j=2:n

z(2,2)=2*abs(t(1)-r(1));

x=min(abs(t(i-1)-r(j-1))+z(i-1,j),2*(abs(t(i-1)-r(j-1)))+z(i-1,j-1));

y=min(2*(abs(t(i-1)-r(j-1)))+z(i-1,j-1),abs(t(i-1)-r(j-1))+z(i,j-1));

z(i,j)=min(x,y);

end

end

z

DTW=z(m,n)/(m+n-2)

Page 28: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

15

z =

Inf Inf Inf Inf Inf

Inf 4 5 10 11

Inf 6 8 7 10

Inf 7 9 9 11

DTW =

1.57142857142857

由上面矩陣 z 得到矩陣 D中 ( , )D m n 的值,如下:

所 以 (1,5, 4)t = 與 (3,2,6, 2)r = 兩 向 量 所 算 出 來 的 DTW 距 離 為

( , ) (3, 4) 111.57142857142857

3 4 7

D m n D

m n= = =

+ +,所以最佳校正路徑為 1 2 3 4, , ,F c c c c= ,也

就是 1 (1,1)c = , 2 (1, 2)c = , 3 (2,3)c = , 4 (3, 4)c = 。而 1 2w = , 2 1w = , 3 2w = , 4 2w = ,

所以4

1 2 3 4

1

k

k

w w w w w=

= + + +∑ 2 1 2 2 7= + + + = 。

1 5 4

3 2 6 2

(1,4) (2,4) (3,4)

(1,3)

(1,2)

(1,1) (2,1) (3,1)

(3,2)

(3,3)

(2,3)

(2,2)

校正結果 最佳校正路徑

(1,4) 11D = (2,4) 10D = (3, 4) 11D =

(1,3) 10D = (2,3) 7D = (3,3) 9D =

(1, 2) 5D = (2,2) 8D = (3,2) 9D =

(1,1) 4D = (2,1) 6D = (3,1) 7D =

Page 29: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

16

2.5 附近附近附近附近限制限制限制限制(local constraint)

1

2

2

2

(i-1,j-1) (i,j-1)

(i-1,j) (i,j)

(i-2,j-1)

(i-1,j-2)

圖 2-7 路徑限制(二)的局部關係圖

另一個常用到的較複雜的附近路徑限制(local path constraint),如圖 2-7 所示,此

種附近路徑限制會有下列特色:

1. 會「跳點」,因此若有一點雜訊,最佳的 DTW 路徑會跳掉此點。

2. 如果最佳路徑是對應於總距離的最小值,那麼最佳路徑會盡量不走對角,以使對

應到的點數降低。

此時k

w 的定義若仍為 1 1( ) ( )k k k k k

w i i j j− −

= − + − , 0 0( 0)i j= = ,則1

k

k

k

w=

∑ 仍為

1

K

k

k

w m n=

= +∑ ,

則 DTW(F)簡化為

1

1( ) ( )

K

k k

k

DTW F d c wm n =

=+∑ ,

若取 { }1 1min ( ), ( )k k k k k

w i i j j− −

= − − , 0 0( 0)i j= = ,則圖 2-7 路徑限制(二)的局部關係圖

中的加權係數變為圖 2-8 所示。

Page 30: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

17

圖 2-8 另一種加權係數的路徑限制(二)局部關係圖

若使用此種加權係數,因為有係數為 0,會造成不合理地不連續。因此克服此問題的

方法就是重分配(redistribute)或平滑(smooth)權數。圖 2-8 重分配加權係數後的圖為圖

2-9。

1/21/

2

1/2

1

圖 2-9 重分配加權係數後的圖 2-8

3/23/2

3/2

2

圖 2-10 重分配加權係數後的圖 2-7

同理,圖 2-10 是重分配加權係數後的圖 2-7,並根據動態規劃原理,此最佳路徑的遞

迴關係改為

Page 31: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

18

3 3( 2, 1) ( 1, ) ( , ),

2 2

( , ) min ( 1, 1) 2 ( , ),

3 3( 1, 2) ( , 1) ( , )

2 2

D i j d i j d i j

D i j D i j d i j

D i j d i j d i j

− − + − +

= − − +

− − + − +

其 中 ( , )d i j 代 表i

x 與j

y 的 距 離 ( 例 : ( , )i i

d i j x y= − ) , 並 且 端 點 條 件 為

1(1,1) (1,1) 2 (1,1)D w d d= = 。

與前面相同,在實際運算時,會先建立一個 n m× 的矩陣 D,先根據端點條件填

入 (1,1)D ,然後再根據遞迴關係,逐行或逐列算出 ( , )D i j 的值,最後可以得到

( , )D m n 。所以兩時間數列{ , 1, 2, , }i

x i m= ⋯ 與{ , 1, 2, , }j

y j n= ⋯ 的整體 DTW 距離為

( , )D m n

m n+。

為了將相關最佳路徑找出來,在計算遞迴關係式時,要記錄每一個最小點的對應

的路徑,直到求出 ( , )D m n ,再反覆回推前一個最佳路徑的位置,如此一再反覆,才

能算出整體的最佳路徑。

當路徑限制(二),加權係數如圖 2-10 時,繼續使用 2.4 節的例子作示範,兩向量

為 (1,5, 4)t = , (3,2,6, 2)r = , 3, 4m n= = ,使用 DTW 法求出以下矩陣跟距離。程式

碼如下:

clear

t=[1 5 4];

r=[3 2 6 2];

m=length(t)+1;

n=length(r)+1;

z=inf(m,n);

for i=3:m

for j=3:n

z(2,2)=2*abs(t(1)-r(1));

if (z(i-2,j-1)==inf & z(i-1,j-1)==inf & z(i-1,j-2)==inf)

z(i,j)=inf;

else

x=min(1.5*(abs(t(i-1)-r(j-1))+(abs(t(i-2)-r(j-1))))+z(i-2,j-1),

Page 32: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

19

2*(abs(t(i-1)-r(j-1)))+z(i-1,j-1));

y=min(2*(abs(t(i-1)-r(j-1)))+z(i-1,j-1),

1.5*(abs(t(i-1)-r(j-1))+(abs(t(i-1)-r(j-2))))+z(i-1,j-2));

z(i,j)=min(x,y);

end

end

end

z

DTW=z(m,n)/((m-1)+(n-1))

z =

Inf Inf Inf Inf Inf

Inf 4 Inf Inf Inf

Inf Inf 10 10 Inf

Inf Inf 11.5 14 14

DTW =

2

由上面矩陣 z 得到矩陣 D中 ( , )D m n 的值,如下:

因 此 (1,5, 4)t = 與 (3,2,6, 2)r = 兩 向 量 所 算 出 來 的 DTW 距 離 為

( , ) (3, 4) 142

3 4 7

D m n D

m n= = =

+ +。所以最佳校正路徑為 1 2 3, ,F c c c= ,也就是 1 (1,1)c = ,

2 (2,3)c = , 3 (3, 4)c = 。 而 1 2w = , 2 3w = , 3 2w = , 因 此3

1 2 3

1

k

k

w w w w=

= + +∑

2 3 2 7= + + = 。或者,最佳校正路徑為 1 (1,1)c = , 2 (2, 2)c = , 3 (3, 4)c = 。而 1 2w = ,

2 2w = , 3 3w = ,而3

1 2 3

1

2 2 3 7k

k

w w w w=

= + + = + + =∑ 。

(1, 4)D = ∞ (2, 4)D = ∞ (3,4) 14D =

(1,3)D = ∞ (2,3) 10D = (3,3) 14D =

(1, 2)D = ∞ (2,2) 10D = (3, 2) 11.5D =

(1,1) 4D = (2,1)D = ∞ (3,1)D = ∞

Page 33: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

20

2.6 k 個個個個最近鄰居法最近鄰居法最近鄰居法最近鄰居法則則則則(the kth nearest neighbor rule;

kNN)

最早的無母數分類法是 Fix and Hodges(1951)所提出的最近鄰居法則,也稱為 k 個

最近鄰居法則(the kth nearest neighbor rule), g 個組別(groups)的 k 個最近鄰居法則如

下:

1. 計算觀察值i

xɶ到所有其他 1 2( 1)

gn n n+ + + −⋯ 個觀察值

jxɶ的距離。

2. 找出距離i

xɶ最近的 k 個點。

3. i

k 代表 k 個點中屬於第 i組的點數。

Page 34: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

21

4. 如果 1 2

1 2

max , , ,gi

i g

kk k k

n n n n

=

⋯ ,,,,則將 ix

ɶ分類到第 i組,也就是最近的 k 個鄰居中,

是第 i組的比例最高,則將 ixɶ分類到第 i組。。。。

圖 2-11 kNN 分類圖

從圖 2-11 舉例來說,假如紅色代表第一組,藍色代表第二組,當想知道問

號分類到哪一組的話,kNN 演算法就先計算問號點,和 k 個其他已經知道第一組或

第二組的資料點之間的距離(如圖上的直線),如果 kNN的 k如果設定成 1,也就是 1NN

的話,代表電腦會找出距離問號最近的點,在圖上是紅色的點,所以我們可以將此問

號分類到第一組,本論文也就是使用 1NN 之方法。

如果 3k = ,也就是使用 3NN 的話,電腦會將最接近問號的三個點找出來,假如

三個點中,紅色的點較多,可以將問號分類到第一組,以此類推,也會有 5NN、7NN、

9NN,端看問題的需要而定。

2.7 明顯錯誤率明顯錯誤率明顯錯誤率明顯錯誤率

根據 kNN 所求出來的分類結果,來計算錯誤率,並在計算錯誤率之前,要先做

出下面的矩陣,此矩陣被稱為混淆矩陣(confusion matrix):

Page 35: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

22

預測所屬母體(Predicted membership)

1π 2π

實際所屬母體 1π

(Actual membership) 2π

1Cn 1Mn 1n

2n 2Mn 2Cn

上面矩陣中的 1Cn 代表屬於 1π 也被正確分到 1π 的個數(number of 1π items correctly

classified as 1π items), 1Mn 代表屬於 1π 卻被錯誤分到 2π 的個數, 2Cn 代表屬於 2π 也

被正確分到 2π 的個數,而 2Mn 則代表屬於 2π 卻被錯誤分到 1π 的個數。 因此下面公式

將用來計算明顯錯誤率(the apparent error rate; APER)

1 2

1 2

M Mn nAPER

n n

+=

+,

將錯誤分類的總個數 1 2M Mn n+ ,除以母體 1π 與 2π 的總個數 1 2n n+ 即可得到。

另外亦可將上面明顯錯誤率的公式推廣到 g 個母體的情形,令 iMn 代表屬於 iπ 卻

被錯誤分類到其他母體的個數, 1, 2, ,i g= ⋯ 。因此 g 個組別的明顯錯誤率的公式為

1 21

1 2

1

g

iMM M gMi

g

gi

i

nn n n

APERn n n

n

=

=

+ + += =

+ + +

⋯。

2.8 分類結果分類結果分類結果分類結果的的的的評價評價評價評價

最後為了比較歐式距離與 DTW 距離用在 k 個最近鄰居分類法則中的分類結果,

先分別用歐式距離與 DTW 計算距離,然後用 k 個鄰居法則來分類三個人各 40 次說

中文”芝麻開門”的語音結果,並且計算明顯錯誤率(the apparent error rate)。另外為了

避免只比較一組三位錄音者說中文的語言辨聲結果不夠客觀,另外我們還會再做很多

組三人語音辨識的實驗,最後算出平均的錯誤率,以比較結果。

Page 36: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

23

第三章第三章第三章第三章 路徑限制的探討路徑限制的探討路徑限制的探討路徑限制的探討

由第二章可知,校正路徑(warping path)必須受到端點條件、附近連續條件及單調

條件三個條件的限制,其中第二個限制條件,附近連續限制(local continuity constraint)

的型式有很多種,在 2.4 與 2.5 節,有介紹其中最簡單的兩種附近路徑限制(local path

constraint),本章將探討更多種類的附近路徑限制。另外在最佳校正路徑搜尋時,配

合路徑限制的加權係數(weighting coefficient)的選擇,亦是一個值得探討的問題,配

合附近路徑限制使用時,此加權係數又稱為斜率加權函數(slope weighting function),

本章將探討四種類型的斜率加權函數對附近連續限制的影響。最後由於在搜尋最佳校

正路徑時,某些區域根本不會通過,所以為了加速計算與搜尋的速度,在第三章亦探

討全程路徑限制(global path constraint)。因此第三章分成四個小節,3.1 節是附近路徑

限制的探討,3.2 節是斜率的加權函數的探討,3.3 節是全程路徑限制的探討,最後

3.4 節則是動態時軸校正法的解。

3.1 附近路徑限制附近路徑限制附近路徑限制附近路徑限制(local path constraints)

定義路徑P為一連串的移動,每一個移動用一對座標增加量(coordinate increment)

表示為P 1 1 2 2 K Kp q p q p q⋯→( , )( , ) ( , )。圖 3-1 示範了三條可能路徑P 1、P2 與P 3。

1P 2P

3P

P 1→(1,1)(1,0)

P 2→(1, 1)

P 3→(1,1)(0,1)

圖 3-1 附近限制局部關係用座標增加量表示圖

而第二章所提到的一組校正路徑(warping path)

Page 37: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

24

1 2, , , , ,k KF c c c c= ⋯ ⋯

通常設定 1 11, 1p q= = 且 ( , )k k kc i j= ,其中

1

k

k i

i

i p=

=∑

1

k

k i

i

j q=

=∑

所以此組校正路徑起點在 1 1 1 1 1( , ) ( , ) (1,1)c i j p q= = = ,而此組校正路徑的終點在

1 1

( , ) ( , ) ( , )K K

K K K i i

i j

c i j p q m n= =

= = =∑ ∑ 。

利用上面表示法,任何簡單類型的附近連續限制(local continuity constraints)可以

很容易的被具體指明,表 3-1 包含了幾種附近限制類型的摘要。

表 3-1 七種附近連續限制類型的局部關係座標增加量的表示圖

類型

Type

附近連續限制

Local continuity constraint

可能路徑

Allowable Path

Specification

I

2P

1P

3P

P 1→(1,0)

P 2→(1,1)

P 3→(0,1)

II

1P

2P

3P

P 1→(1,1)(1,0)

P 2→(1, 1)

P 3→(1,1)(0,1)

III

1P 2P

3P

P 1→(2,1)

P 2→(1,1)

P 3→(1,2)

Page 38: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

25

IV

1P

4P2P

3P

P 1→(1,1)(1,0)

P 2→(1,2)(1,0)

P 3→(1,1)

P 4→(1,2)

V

1P

2P

3P

5P

4P

P 1→(1,1)(1,0)(1,0)

P 2→(1,1)(1,0)

P 3→(1,1)

P 4→(1,1)(0,1)

P 5→(1,1)(0,1)(0,1)

VI

1P

2P

3P

P 1→(1,1) (1,1) (1,0)

P 2→(1, 1)

P 3→(1,1) (1,1) (0,1)

ITAKURA

1P

2P

3P

P 1→(1,0)

P 2→(1, 1)

P 3→(1,2)

consecutive(1,0)(1,0)

disallowed

上表中,型 I 類型限制就是第二章圖 2-5 所使用的路徑限制,其附近連續限制條

件是由 Sakoe and Chiba(1978)所提出,條件如下:

Page 39: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

26

1 1k ki i−

− ≤ , 1 1k kj j−

− ≤ ,

很明顯地, 1k ki i−

= 與 1k kj j−

= 兩者不能同時發生,P 1、P 2、P 3 都只做一個移動。

另外型 II 類型與型 III 類型限制雖有相同的發源點(originating points),但型 II 類

型限制中,P 1 與P 3 兩者都做兩個移動,因此有兩個正常的增加量,但型 III 類型限

制中,P 1 與P 3 雖也有兩個增加量,但都只做一個移動,這些附近路徑(local paths)可

稱為增加量路徑(incremental paths)來意味著附近限制。

型 V 類型限制雖更複雜,但只是將上面型 II 類型再推廣到P 1、P 2、P 3、P 4、P

5 五條可能路徑,其中P 1 與P 5 有三個增加量,P 2 與P 4 有兩個增加量。型 VI 類型限

制也是將上面型 II 類型再推廣到P 1 與P 3 兩者都做三個移動。

而型 I、II、III、V、VI 類型的限制都是對稱類型(symmetrical type),型 IV 類型

的限制則是一個不對稱類型(asymmetrical type)的限制。型 I、II、III、IV 四種類型限

制都是由 Sakoe and Chiba(1978)所建議。另外有一例外類型的限制是由 Itakura(1975)

所提出的,此類型的路徑限制禁止 (1,0)(1,0)連續限制,也就是不允許有一個路徑會連

續橫走兩次。

接著用一個例子示範,在本例中,使用型 II 類型的附近連續路徑,兩個時間數

列,其中一個長度為 11m = ,{ , 1, 2, ,11}ix i = ⋯ ,另一個長度為 9n = ,{ , 1, 2, ,9}j

y j = ⋯ ,

而校正路徑為

1 2 3 4 5 6 7 8, , , , , , ,F c c c c c c c c=

也 就 是 1 2 3 4 5 6(1,1), (2, 2), (3,3), (4,5), (6,6), (7,7),c c c c c c= = = = = =

7 8(9,8), (11,9)c c= = 。

Page 40: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

27

ki

kj

2P

2P

2P

3P

1P

2P

1P

1P

圖 3-2 路徑移動與校正路徑範例

圖 3-2 若用路徑移動表示,可寫成

P→P2 P2 P2 P 3 P 1 P2 P 1 P 1

其中P 1→(1,1)(1,0),P2→(1,1),P 3→(1,1)(0,1)。

3.2 斜率加權函數斜率加權函數斜率加權函數斜率加權函數(slope weighting functions)

在第二章中,由起點到終點整個路徑正規化的累積距離為

1

1

( )

( )

K

k k

k

K

k

k

d c w

DTW F

w

=

=

=

其中k

w 是一個非負的加權係數(weighting coefficient),亦稱為斜率加權函數(slope

weighting function),如同附近路徑限制一樣,有許多可能的斜率加權函數類型。下面

四種類型的斜率加權函數是由 Sakoe and Chiba(1978)所提出:

Page 41: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

28

Type (a) 1 1min{ , }k k k k k

w i i j j− −

= − −

Type (b) 1 1max{ , }k k k k k

w i i j j− −

= − −

Type (c) 1( )k k k

w i i−

= −

Type (d) 1 1( ) ( )k k k k k

w i i j j− −

= − + −

上面四個公式中,假設起始值 0 0( 0)i j= = 。圖 3-3 展示了型 III 類型附近連續限制應

用 Type(a)、(b)、(c)、(d)四種斜率加權函數的斜率加權效果,每條路徑旁的數字代表

所對應之加權值。由於兩數列的偏差(distortion)愈高代表較不可能相配(match),較大

的加權值則被用在較不喜好的路徑,圖 3-3(b)則顯示了加權傾向對對角路徑移動有維

持較強的偏好。

1

P 1→(2,1) min{2, 1} 1k

w = =

P 2→(1,1) min{1, 1} 1k

w = =

P 3→(1,2) min{1, 2} 1k

w = =

(a) 1 1min{ , }k k k k k

w i i j j− −

= − −

1

P 1→(2,1) max{2, 1} 2k

w = =

P 2→(1,1) max{1, 1} 1k

w = =

P 3→(1,2) max{1, 2} 2k

w = =

(b) 1 1max{ , }k k k k k

w i i j j− −

= − −

1

P 1→(2,1) 2k

w =

P 2→(1,1) 1k

w =

P 3→(1,2) 1k

w =

(c) 1( )k k k

w i i−

= −

Page 42: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

29

2

P 1→(2,1) 2 1 3k

w = + =

P 2→(1,1) 1 1 2k

w = + =

P 3→(1,2) 1 2 3k

w = + =

(d) 1 1( ) ( )k k k k k

w i i j j− −

= − + −

圖 3-3 型 III 類型附近連續限制的四種類型的斜率加權圖

若將四種類型的斜率加權函數應用到表 3-1 的各種類型的附近連續限制上,有時

可能有 0 的情形出現。例如:型 II 類型附近連續限制搭配 Type(a)類型的斜率加權函

數,則

P 1→(1,1)(1,0) min{1,1} 1k

w = = min{1,0} 0k

w = =

P2→(1,1) min{1,1} 1k

w = =

P 3→(1,1)(0,1) min{1,1} 1k

w = = min{0,1} 0k

w = =

導致沿著P 1 及P 3 的部分的移動的加權係數為 0。如此一來,只有對角移動所引起的

偏差才可能被考慮在下面整個路徑正規化的累積距離

1

1

( )

( )

K

k k

k

K

k

k

d c w

DTW F

w

=

=

=

中,因此使用上面類型的斜率加權會導致在正規化時,出現不合理地不連續的情形。

其中一種減輕上面問題的方法就是重分配(redistribute)或平滑(smooth)權數。

Page 43: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

30

1

1

1 1/2

1/2

1

(a) 1 1min{ , }k k k k k

w i i j j− −

= − −

(b) 1 1max{ , }k k k k k

w i i j j− −

= − −

(c) 1( )k k k

w i i−

= −

12

2

2

3/23

/2

3/2

2

(d) 1 1( ) ( )k k k k k

w i i j j− −

= − + −

圖 3-4 型 II 類型的附近連續限制的四種類型的斜率加權函數重分配前後的加權係數

Page 44: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

31

在整個路徑正規化的累積距離的公式中,

1

1

( )

( )

K

k k

k

K

k

k

d c w

DTW F

w

=

=

=

分母部分1

K

k

k

w=

∑ 是一個正規化因子(normalizing factor),其目的是為了使 ( )DTW F 與校

正路徑的長度無關,而正規化因子1

K

k

k

w=

∑ 的值與採用的斜率加權函數有關,當斜率加

權函數的類型為(c)與(d)時,而正規化因子分別為

Type (c) 1

1 1 1

( )K K K

k k k k K

k k k

w i i p i m−

= = =

= − = = =∑ ∑ ∑

Type (d) 1 1

1 1 1

[( ) ( )] ( )K K K

k k k k k k k

k k k

w i i j j p q− −

= = =

= − + − = +∑ ∑ ∑

1 1

K K

k k K K

k k

p q i j m n= =

= + = + = +∑ ∑

另外,但當斜率加權函數的類型為(a)與(b)時,會使得在用動態規劃法找一組校正路

徑 F 使得整個路徑正規化的累積距離 ( )DTW F 最小時不易計算,因此使用任意選擇

地合理地正規化因子可使得動態規劃過程容易許多。因此當斜率加權函數類型為(a)

與(b)時,設定

Type (a) 1

K

k K

k

w i m=

= =∑

Type (b) 1

K

k K

k

w i m=

= =∑

3.3 全程路徑限制全程路徑限制全程路徑限制全程路徑限制(global path constraints)

使用附近路徑限制(local path constraint),發現有部分比例的 ( , )k k

i j 平面不會被包

含在最佳路徑會越過的範圍內,因此若考慮全程路徑限制,可縮小計算範圍,增加計

算與分類的速度。

每種類型的附近限制的可允許的範圍可用下面兩個參數來定義:

Page 45: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

32

( )

1max

( )

1

max

l

l

Kl

i

i

Kl

l

i

i

p

Q

q

=

=

=

∑ (3.1)

( )

1min

( )

1

min

l

l

Kl

i

i

Kl

l

i

i

p

Q

q

=

=

=

∑ (3.2)

上面(3.1)與(3.2)兩個公式中的 l表示在限制集合內,可能路徑Pl的指數(index),另外l

K

代表在Pl的總移動次數。例:由圖 3-1 可知,型 II 類型限制中,P 1、P 2、P 3 的 l與 lK

分別為 1, 2, 3l = , 2, 1, 2l

K = 。

當 1l = 時, 2l

K = ,所以

2( ) ( )

1 1

2( )( )

11

1 12

1 0

l

l

Kl l

i i

i i

Kll

iiii

p p

qq

= =

==

+= = =

+

∑ ∑

∑∑

當 2l = 時, 1l

K = ,所以

1( ) ( )

1 1

1( )( )

11

11

1

l

l

Kl l

i i

i i

Kll

iiii

p p

qq

= =

==

= = =

∑ ∑

∑∑

當 3l = 時, 2l

K = ,所以

2( ) ( )

1 1

2( )( )

11

1 0 1

1 1 2

l

l

Kl l

i i

i i

Kll

iiii

p p

qq

= =

==

+= = =

+

∑ ∑

∑∑

因此,

max

min

1max 2, 1, 2

2

1 1min 2, 1,

2 2

Q

Q

= =

= =

因此 maxQ 與 minQ 兩個參數分別就明確指明在時軸校正時的最大與最小可能擴

Page 46: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

33

展。正常地, max

min

1Q

Q= 。表 3-2 中顯示了表 3-1 中的各種類型限制的 maxQ 與 minQ 的

值。

表 3-2 不同類型附近連續限制的 maxQ 與 minQ 的值

Type maxQ minQ

I ∞ 0

II 2 12

III 2 12

IV 2 12

V 3 13

ITAKURA 2 12

利用可能路徑擴展的最大與最小可能值,可以定義全程路徑限制如下:

max

max

( 1)1 1 ( 1)k

k k

ij Q i

Q

−+ ≤ ≤ + − (3.3)

max

max

( )( ) k K

K k K k K

i ij Q i i j j

Q

−+ − ≤ ≤ + (3.4)

方程式(3.3)指明了在 ( , )k k

i j 平面上,根據附近限制,可以由起點(1,1)藉由可允許路徑

所有可到達點的範圍,同理,方程式(3.4)則指明了在 ( , )k k

i j 平面上,根據附近限制,

由可允許路徑所有可能點到終點 ( , )K K

i j 的範圍。

2

k Kk K

i ij j

−= +

11

2

kk

ij

−= +

2 ( )k k K Kj i i j= × − +

2 ( 1) 1k k

j i= × − + ( , )K K

i j

(1,1)

max 2Q =

LEGAL RANGE

圖 3-5 全程路徑限制的結果

Page 47: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

34

圖 3-5 示範了方程式(3.3)與(3.4)在 ( , )k k

i j 平面上,當min

1max 2

QQ = = 時的全程路徑

限制的結果,正確路徑的範圍是由斜率為 2與1

2的線所形成的菱形。另外由 Sakoe and

Chiba(1978)所提出的額外附加的全程路徑限制為

0k ki j T− ≤ (3.5)

0T 代表兩個時間數列在任何時候可允許的最大時間偏離。若額外再加上此限制圖 3-5

需修正為圖 3-6。此額外限制先排除了過度時軸拉長或壓縮的情形,可以有效地減少

菱形的範圍。

2

k Kk K

i ij j

−= +

11

2

kk

ij

−= +

2 ( )k k K K

j i i j= × − +

2 ( 1) 1k k

j i= × − + ( , )K K

i j

(1,1)

max 02, k k

Q i j T= − ≤

0k kj i T= −

0k kj i T= +

LEGAL RANGE

圖 3-6 全程路徑限制的結果及時軸校正函數可允許的範圍

3.4 動態時軸動態時軸動態時軸動態時軸校正法的解校正法的解校正法的解校正法的解(dynamic time warping solution)

在本節將介紹如何用動態規劃原理,快速地找到一組最佳校正路徑 F,使得由起

點 (1,1)到終點 ( , )m n 的整個路徑的正規化的累積距離

Page 48: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

35

1

1

( )

( )

K

k k

k

K

k

k

d c w

DTW F

w

=

=

=

為最小。由於為了加速計算,所以亦可能考慮加上附近路徑限制與全程路徑限制,所

以並不是所有 (1,1)到 ( , )m n 範圍上的所有點都要搜尋與計算的。凡是不用計算的點,

令它們有一個極大的累積距離,如此一來在演算過程中就會自動被排除掉。令累積距

離 起 始 值 (0,0) 0D = , 真 正 起 點 是 (1,1) , 結 束 點 是 ( , )K K

i m j n= = ,

, ,1 1

( , ) min ( ) min ( , )k k k k

K K

k k k k ki j i j

k k

D m n d c w d i j w= =

= =∑ ∑ ,如此有一套遞迴演算公式如下:

1.目標函數的定義:定義 ( , )D i j 是{ }1 2, , ,i

x x x⋯ 與{ }1 2, , , jy y y⋯ 之間的 DTW 距離,對

應的最佳校正路徑是由 (1,1)走到 ( , )i j 。

2.目標函數之遞迴關係:1 , 1 , ( , )i m j n i j GCR≤ ≤ ≤ ≤ ∈ ,GCR 代表 ( , )i j 所在的比對

範圍,則'

, , '1

( , ) min ( , )k k

K

k k ki j K

k

D i j d i j w=

= ∑ [ ]( ', ')min ( ', ') (( ', '), ( , ))

i jD i j f i j i j= + ,左式中 f 是點

( ', ')i j 與點 ( , )i j 之間的加權累積附近距離, f 的公式如下:

' ' '

0

(( ', '), ( , )) ( , )sL

K l K l K l

l

f i j i j d i j w− − −

=

=∑

sL 代表由點 ( ', ')i j 到點 ( , )i j 所要移動的次數。

3.端點條件: (0,0) 0D =

3.端點條件: 1(1,1) (1,1)D w d=

3.端點條件: ( , )D i j = ∞ if ( , )i j GCR∉

4.最終答案: ( , )D m n

所以兩時間數列{ }1 2, , , mx x x⋯ 與{ }1 2, , , ny y y⋯ 的之間的整體 DTW 距離為

1

( , )K

k

k

D m n

w=

∑。表

3-3 到表 3-6 整理出四種類型斜率加權函數與五種附近路徑限制(I, II, III, IV, V)共 20

種組合的動態規劃的遞迴公式。至於 GCR 的比對範圍,則參考表 3-2 與公式(3.3)與(3.4)

可得。

Page 49: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

36

表 3-3 斜率加權函數類型(a)的附近限制、斜率權數及動態規劃遞迴公式

Local Constraints & Slope Weights DP Recursion Formula

1

11

( 1, ) ( , ),

( , ) min ( 1, 1) ( , ),

( , 1) ( , )

D i j d i j

D i j D i j d i j

D i j d i j

− +

= − − + − +

1/2

1/21

/2

1/2

1

12

12

( 2, 1) ( ( 1, ) ( , )),

( , ) min ( 1, 1) ( , ),

( 1, 2) ( ( , 1) ( , ))

D i j d i j d i j

D i j D i j d i j

D i j d i j d i j

− − + − +

= − − + − − + − +

1

( 2, 1) ( , ),

( , ) min ( 1, 1) ( , ),

( 1, 2) ( , )

D i j d i j

D i j D i j d i j

D i j d i j

− − +

= − − + − − +

1/2 1

12

( 2, 1) ( ( 1, ) ( , )),

( 2, 2) ( 1, ) ( , ),( , ) min

( 1, 1) ( , ),

( 1, 2) ( , )

D i j d i j d i j

D i j d i j d i jD i j

D i j d i j

D i j d i j

− − + − +

− − + − + =

− − + − − +

1/31/3

1/3 1

1/2

1/2

1/3

1/2

1/3

1/3

1/2

13

12

12

13

( 3, 1) ( ( 2, ) ( 1, ) ( , )),

( 2, 1) ( ( 1, ) ( , )),

( , ) min ( 1, 1) ( , ),

( 1, 2) ( ( , 1) ( , )),

( 1, 3) ( ( , 2) ( , 1) ( , ))

D i j d i j d i j d i j

D i j d i j d i j

D i j D i j d i j

D i j d i j d i j

D i j d i j d i j d i j

− − + − + − +

− − + − +

= − − +

− − + − + − − + − + − +

Page 50: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

37

表 3-4 斜率加權函數類型(b)的附近限制、斜率權數及動態規劃遞迴公式

Local Constraints & Slope Weights DP Recursion Formula

1

11

( 1, ) ( , ),

( , ) min ( 1, 1) ( , ),

( , 1) ( , )

D i j d i j

D i j D i j d i j

D i j d i j

− +

= − − + − +

1

11

1

1

( 2, 1) ( 1, ) ( , ),

( , ) min ( 1, 1) ( , ),

( 1, 2) ( , 1) ( , )

D i j d i j d i j

D i j D i j d i j

D i j d i j d i j

− − + − +

= − − + − − + − +

1

( 2, 1) 2 ( , ),

( , ) min ( 1, 1) ( , ),

( 1, 2) 2 ( , )

D i j d i j

D i j D i j d i j

D i j d i j

− − +

= − − + − − +

32

( 2, 1) ( 1, ) ( , ),

( 2, 2) ( ( 1, ) ( , )),( , ) min

( 1, 1) ( , ),

( 1, 2) 2 ( , )

D i j d i j d i j

D i j d i j d i jD i j

D i j d i j

D i j d i j

− − + − +

− − + − + =

− − + − − +

1

11

1

1 1

1

1

1

( 3, 1) ( 2, ) ( 1, ) ( , ),

( 2, 1) ( 1, ) ( , ),

( , ) min ( 1, 1) ( , ),

( 1, 2) ( , 1) ( , ),

( 1, 3) ( , 2) ( , 1) ( , )

D i j d i j d i j d i j

D i j d i j d i j

D i j D i j d i j

D i j d i j d i j

D i j d i j d i j d i j

− − + − + − +

− − + − + = − − +

− − + − +

− − + − + − +

Page 51: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

38

表 3-5 斜率加權函數類型(c)的附近限制、斜率權數及動態規劃遞迴公式

Local Constraints & Slope Weights DP Recursion Formula

1

01

( 1, ) ( , ),

( , ) min ( 1, 1) ( , ),

( , 1)

D i j d i j

D i j D i j d i j

D i j

− +

= − − + −

1

1/21

1/2

1

12

( 2, 1) ( 1, ) ( , ),

( , ) min ( 1, 1) ( , ),

( 1, 2) ( ( , 1) ( , ))

D i j d i j d i j

D i j D i j d i j

D i j d i j d i j

− − + − +

= − − + − − + − +

1

( 2, 1) 2 ( , ),

( , ) min ( 1, 1) ( , ),

( 1, 2) ( , )

D i j d i j

D i j D i j d i j

D i j d i j

− − +

= − − + − − +

( 2, 1) ( 1, ) ( , ),

( 2, 2) ( 1, ) ( , ),( , ) min

( 1, 1) ( , ),

( 1, 2) ( , )

D i j d i j d i j

D i j d i j d i jD i j

D i j d i j

D i j d i j

− − + − +

− − + − + =

− − + − − +

1

1/2

1/3

1

1 1

1/2

1/3

1

1/3

12

13

( 3, 1) ( 2, ) ( 1, ) ( , ),

( 2, 1) ( 1, ) ( , ),

( , ) min ( 1, 1) ( , ),

( 1, 2) ( ( , 1) ( , )),

( 1, 3) ( ( , 2) ( , 1) ( , ))

D i j d i j d i j d i j

D i j d i j d i j

D i j D i j d i j

D i j d i j d i j

D i j d i j d i j d i j

− − + − + − +

− − + − +

= − − +

− − + − + − − + − + − +

Page 52: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

39

表 3-6 斜率加權函數類型(d)的附近限制、斜率權數及動態規劃遞迴公式

Local Constraints & Slope Weights DP Recursion Formula

1

12

( 1, ) ( , ),

( , ) min ( 1, 1) 2 ( , ),

( , 1) ( , )

D i j d i j

D i j D i j d i j

D i j d i j

− +

= − − + − +

3/2

3/23

/2

3/2

2

32

32

( 2, 1) ( ( 1, ) ( , )),

( , ) min ( 1, 1) 2 ( , ),

( 1, 2) ( ( , 1) ( , ))

D i j d i j d i j

D i j D i j d i j

D i j d i j d i j

− − + − +

= − − + − − + − +

2

( 2, 1) 3 ( , ),

( , ) min ( 1, 1) 2 ( , ),

( 1, 2) 3 ( , )

D i j d i j

D i j D i j d i j

D i j d i j

− − +

= − − + − − +

3/2 2

2

3

32

( 2, 1) ( ( 1, ) ( , )),

( 2, 2) 2( ( 1, ) ( , )),( , ) min

( 1, 1) 2 ( , ),

( 1, 2) 3 ( , )

D i j d i j d i j

D i j d i j d i jD i j

D i j d i j

D i j d i j

− − + − +

− − + − + =

− − + − − +

4/34/3

4/3 2

3/2

3/2

4/3

3/2

4/3

4/3

3/2

43

32

32

43

( 3, 1) ( ( 2, ) ( 1, ) ( , )),

( 2, 1) ( ( 1, ) ( , )),

( , ) min ( 1, 1) 2 ( , ),

( 1, 2) ( ( , 1) ( , )),

( 1, 3) ( ( , 2) ( , 1) ( , ))

D i j d i j d i j d i j

D i j d i j d i j

D i j D i j d i j

D i j d i j d i j

D i j d i j d i j d i j

− − + − + − +

− − + − +

= − − +

− − + − + − − + − + − +

Page 53: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

40

第第第第四四四四章章章章 下限制的探討下限制的探討下限制的探討下限制的探討

前面第三章探討多種不同附近路徑限制類型,由於使用附近路徑限制,雖然有部

分比例的 ( , )k ki j 平面不會被包含在最佳校正路徑會越過的範圍內,但對計算與分類的

速度的減少有限。另外第三章亦探討全程路徑限制,可縮小計算範圍,對於增加計算

速度有很大的幫助。但對分類速度的幫助也是有限,所以為了加速搜尋與分類的速

度,本章將介紹與探討下限制(lower bounding),並介紹幾種常用的下限制量數。4.1

節先介紹下限制量數的用途,4.2 節是常用的四種下限制量數的介紹,4.3 則是下限制

循序掃描演算法的介紹。

4.1 下限制量數的用途下限制量數的用途下限制量數的用途下限制量數的用途

在從事時間數列的分類與群集分析時,需要計算兩不同時間數列的不相似性量

數,若使用的不相似性量數是歐式距離,雖然計算與分類的時間都很快,但因為有時

間軸的偏差問題,卻會面臨分類錯誤率較高的問題,為了解決時間軸的偏差問題,採

用動態時軸校正距離(DTW 距離)計算不相似性量數,雖然可以有效地校正時間軸的

偏差,降低分類的錯誤率,但又面臨計算與分類速度太慢的問題,因此為了降低計算

速度而考慮採用全程路徑限制外,另外也考慮使用下限制量數,將可能不是最佳適配

的數列先排除掉,因此排除掉的數列就不必計算 DTW 距離。

希望下限制量數能具有下面兩個特性:

1. 計算快速-量數若需花太多時間計算則幫助不大。

2. 下限制必須夠緊(tight)-若下限制不夠緊,則很少數列會被排除掉,對分類速度的

減少有限。

4.2 下限制量數的介紹下限制量數的介紹下限制量數的介紹下限制量數的介紹

在使用 k 個最近鄰居分類法則來分類三位錄音者說中文字“芝麻開門”的語音

Page 54: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

41

時 , 由 於 每 個 人 的 聲 音 數 列 有 40 筆 , 若 全 部 都 比 對 , 則 需 比 對

(39 40 40) 120 119 120 14280+ + × = × = 次,而每次比對都需計算 DTW 距離,因此即使

考慮了全程與附近路徑限制,雖加快了一些計算速度,對於整體計算與分類的速度的

增加仍有限,同此考慮使用下限制量數,可使得先通過初步相似性比對,排除可能不

是最佳配置的數列,如此一來,需實際計算 DTW 距離的次數減少,自然增加了計算

與分類的速度。

一般文獻上常見的下限制量數有四個,第一個下限制量數是由 Kim et al.(2001)

所提出的,一般用LB_Kim代表,下限制量數的公式為

_ max{ , , , }LB Kim A B C D=

上式中 A代表兩數列 1 2{ , , , }nC c c c= ⋯ 與 1 2{ , , , }nQ g g g= ⋯ 的起始點的距離,B 代表兩

數列的最小值的距離,C 代表兩數列的最大值的距離,D代表兩數列終點的距離,如

圖 4-1 所示。

圖 4-1 LB_Kim量數的示範

第二個下限制量數是由 Yi et al. (1998) 所提出的,其下限制量數的公式為

LB_Yi =灰色線的長度平方和

先求出數列 Q 的極大值與極小值,然後將數列C 大於max( )Q 的點到max( )Q 的距離平

方和數列C 小於min( )Q 的點到min( )Q 的距離平方和相加即得,如圖 4-2 灰色區域。

Page 55: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

42

圖 4-2 LB_Yi量數的示範

第三個與第四個下限制量數是由 Keogh(2002)所提出的,先定義兩個新的數列U

與 L

max( : )i i r i rU q q− +

=

min( : )i i r i rL q q− +

=

r 稱為 reach,代表校正可允許的範圍, iU 代表 i rq−到 i rq

+共 2 1r + 個Q數列值的極大

值, iL 代表 i rq−到 i rq

+共 2 1r + 個Q數列值的極小值,U 與 L形成一個由上由下包覆Q

的限制的範圍。圖 4-3 與圖 4-4 都是數列Q的U 與 L的示範,圖 4-3 中使用 Sakoe-Chiba

Band,圖 4-4 使用 Itakura Parallelogram。若使用 Sakoe-Chiba Band, r 值與 i無關,反

之若使用 Itakura Parallelogram, r 值與 i有關, r 是 i的函數。由圖 4-3 與圖 4-4 可看

出U 與 L對數列Q形成一個包覆範圍(bounding envelope),Sakoe-Chiba Band 是固定

寬度,但包覆範圍不會均勻等寬。當數列變動快,包覆的限制範圍較寬,若數列變動

小,則包覆的限制範圍較窄。

圖 4-3 數列Q的上下界U 與 L (Sakoe-Chiba Band)

Page 56: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

43

圖 4-4 數列Q的上下界U 與 L (Itakura Parallelogram)

得到U 與 L之後,下面定義 Keogh 的下限制量數,公式為

2

2

1

( )

LB_Keogh( , ) ( )

0

i i i in

i i i i

i

c U if c U

Q C c L if c L

otherwise=

− >

= − >

也就是將數列C 高於 iU 的點到 iU 的距離平方和與數列C 低於 iL 的點到 iL 的距離平方

和相加後,再開根號即得,如圖 4-5 與圖 4-6 所示。

圖 4-5 數列Q的LB_Keogh 量數的示範(Sakoe-Chiba Band)

圖 4-6 數列Q的LB_Keogh 量數的示範(Itakura Parallelogram)

Page 57: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

44

4.3 下限制循序掃描演算法的介紹下限制循序掃描演算法的介紹下限制循序掃描演算法的介紹下限制循序掃描演算法的介紹

下面表 4-1 是一個用下限制距離量數去加速數列 Q 的循序掃描搜尋演算法。此演

算法先假定該筆的目前最佳距離(best_so_far)為無窮大(infinity),再將所有資料庫中的

數列i

C 做下面計算:

計算其數列i

C 與數列 Q 的下限制量數(lower_bound_distance)存在 LB_dist 中,若

其下限制量數距離 LB_dis 比目前最佳距離 best_so_far 還大,則數列i

C 會被排除掉,

不必計算數列i

C 與數列 Q 的 DTW 距離,若其下限制量數距離 LB_dis 比目前最佳距

離 best_so_far 還小,才去計算數列i

C 與數列 Q 的 DTW 距離並將數列i

C 與數列 Q 的

DTW 距離存在 true_dist,若驗證其實際的 DTW 距離(true_dist)是否比目前最佳距離

還小,若成立,則將此筆數列i

C 的 DTW 距離令為目前最佳距離且紀錄該數列的編號

(index_of_best_match),迴圈結束後即可得知何筆數列i

C 為數列 Q 的最佳比對。

表 4-1 下限制循序掃描演算法

Algorithm Lower_Bounding_Sequential_Scan ( )Q

1. best_so_far = infinity;

2. for all sequences in database

3. LB_dist = lower_bound_distance ( , )iC Q ;

4. if LB_dist<best_so_far

5. true_dist = DTW ( , )iC Q ;

6. if true_dist < best_so_far

7. best_so_far = true_dist;

8. index_of_best_match = i;

9. endif

10. endif

11. endfor

Page 58: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

45

第第第第五五五五章章章章 實例之應用實例之應用實例之應用實例之應用

在本章節要將動態時軸校正法,實際應用到語音的辨識上,首先在 5.1 節先將三

個人說中文”芝麻開門”的聲音的原始時間數列圖畫出、解釋並做比較,5.2 節是最近

鄰居分類法則的分類結果,分別使用歐式距離與五種附近連續限制類型的 DTW 距離

來計算兩個聲音的時間數列的距離,5.3 節也是最近鄰居分類法則的分類結果,分別

使用歐式距離與斜率加權函數類型為(d)的五種附近連續限制類型的 DTW 距離來計

算兩個聲音的時間數列的距離,另外並採用三種下限制量數,最後 5.4 節是分類結果

比較,平均錯誤率與平均程式執行時間來做比較與分析。程式以及繪圖部分都是用數

學軟體 MATLAB 2007 完成的。

5.1 資料的初步分析與解釋資料的初步分析與解釋資料的初步分析與解釋資料的初步分析與解釋

為了比較三個人說中文”芝麻開門”聲音波形的不同,先將取得的錄音資料畫出原

始的時間數列圖,放在圖 5-1 中,上面是第一位錄音者(羅)40 筆錄音中第三筆的原始

時間數列圖,以藍色代表。中間則是第二位錄音者(鄭)40 筆錄音中第三筆的原始時間

數列圖,以紅色代表。下面則是第三位錄音者(宋) 40 筆錄音中第三筆的原始時間數

列圖,以綠色代表。

接著由圖 5-1,三位錄音者第三筆聲音資料的原始時間數列圖可看出,第一位錄

音者(羅)聲音的變動大致可分為四個區域,第一個區域與第二區域較靠近,可見錄音

者說中文”芝麻”兩個字有連音,而後面的二個字的聲音較分開。第二位錄音者(鄭)說

中文”芝麻開門”的樣式大致分為兩大個區域,”芝麻”兩個字形成一個區域,”開門”兩

個字形成另一個區域,聲音上下振幅較大,且聲音從開始到結束之間的間隔時間較

長。最後第三位錄音者(宋)聲音的變動可以很明顯的看出四個區域,說中文”芝麻開門”

四個字是一個一個字說的,四個字之間都有一小段的停頓時間。所以三位錄音者的聲

音波形的大小與樣式相當不同,應該很好區別,第一位錄音者說話速度較快,音量較

Page 59: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

46

小,四個中文字是一個一個字說的,前兩個字偶爾會連在一起,反之第二位錄音者說

圖 5-1 羅鄭宋三位錄音者第三筆聲音資料的原始時間數列圖

話速度較慢,音量較大,前兩個中文字連在一起,中間短暫停一下,後兩個中文字又

連在一起,最後第三位錄音者音量適中,咬字幾乎不會連在一起,一個一個字的說著。

圖 5-2 為羅鄭宋三位錄音者 40 筆聲音平均後的時間數列圖,上面第一位錄音者

(羅)40 次平均聲音上下變動的幅度較小,且分佈的區域較為集中,多集中在 1000~5000

之間,大致呈現三個區域。而中間第二位錄音者(鄭)40 次平均聲音上下變動的幅度較

大,而分佈的區域較為廣泛,由 0~5512 之間都有,還可看出大致呈現兩個區域。最

後下面第三位錄音者(宋)40 次平均聲音上下變動的幅度也較大,多集中在 800~5512

之間,可以看出大致呈現三個區域。

Page 60: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

47

圖 5-2 羅鄭宋三位錄音者 40 筆聲音資料平均後的時間數列圖

5.2 路徑限制路徑限制路徑限制路徑限制對對對對分類結果分類結果分類結果分類結果的影響的影響的影響的影響

實際參與錄音實驗的人共有十一人,若三三為一組來做語音辨識,共有 11

3( ) 165=

組,但由於用附近連續限制類型 I 與斜率加權函數類型(d)的 DTW 計算距離再用最近

鄰居分類法則分類,執行一組所需電腦執行程式的時間都接近或超過 24 小時,所以

無法將 165 組全做,所以只由 165 組中隨機抽出 24 組,然後將其中 22 組三三錄音者

語音辨識的分類結果的混淆矩陣與明顯錯誤率算出,由 22 組三三錄音者 40 筆聲音資

料的分類結果,可以清楚的看出,使用歐氏距離搭配 1 個最近鄰居分類法則的錯誤率

在 0.267~0.525 之間,幾乎都比 DTW 距離(附近連續限制類型 I,斜率加權函數類型(d))

搭配 1 個最近鄰居分類法則的錯誤率高很多,但是歐氏距離的執行速度非常的快速,

介於 0.641 秒~1.656 秒之間;使用 DTW 距離搭配 1 個最近鄰居的分類方法在執行速

度上卻非常的慢,介於 23.838 小時到 26.512 小時之間,但辨識結果的錯誤率都是 0。

Page 61: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

48

表5-1 宋張羅三位錄音者40筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加權

函數類型(d))

歐氏距離

宋婉怡 張家祥 羅琪

宋婉怡 15 0 25

張家祥 0 34 6

羅琪 1 1 38

Error

rate 0.275000000

Elapsed

time (s) 0.705714

DTW 距離 (附近連續限制類型 I) DTW 距離 (附近連續限制類型 II)

宋婉怡 張家祥 羅琪 宋婉怡 張家祥 羅琪

宋婉怡 37 3 0 宋婉怡 37 3 0

張家祥 1 37 2 張家祥 1 38 1

羅琪 0 1 39 羅琪 0 1 39

Error

rate 0.058333333 Error

rate 0.0500000

Elapsed

time(hr) 25.658322829593 小時 Elapsed

time(hr) 22.3279 小時

事實上也有兩組 DTW 距離搭配 1 個最近鄰居分類法則的分類的錯誤率不為 0,

由表 5-1 宋張羅這一組的語音資料的分類結果可知,宋與羅兩人說中文”芝麻開門”聲

音的波形非常相似,只是速度及停頓的時間不同,用歐氏距離時,宋 40 筆聲音資料

中有 25 筆被錯誤分類到羅,但用 DTW 距離明顯地改善此時間軸扭曲的現象,大大

地提高正確分類的比率。另外若比較 DTW 兩種不同類型的附近連續限制,可以發現

若採用附近連續限制類型 II 時,明顯錯誤率有微幅下降,另外在計算時間上,也有

明顯的約 3 小時節省。

Page 62: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

49

表5-2 宋張鄭三位錄音者40筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加權

函數類型(d))

歐氏距離

宋婉怡 張家祥 鄭至傑

宋婉怡 34 6 0

張家祥 1 37 2

鄭至傑 0 26 14

Error

rate 0.291666667

Elapsed

time (s) 0.702419

DTW 距離 (附近連續限制類型 I) DTW 距離 (附近連續限制類型 II)

宋婉怡 張家祥 鄭至傑 宋婉怡 張家祥 鄭至傑

宋婉怡 37 3 0 宋婉怡 37 3 0

張家祥 1 37 2 張家祥 1 38 1

鄭至傑 0 1 39 鄭至傑 0 1 39

Error

rate 0.058333333 Error

rate 0.05000000

Elapsed

time(hr) 25.7262 Elapsed

time(hr) 22.9311

另外由表 5-2 宋張鄭這一組的語音資料的分類結果可知,張與鄭兩人說中文"芝

麻開門"聲音的波形也相似,所以使用歐氏距離時,鄭 40 筆聲音資料中有 26 筆被錯

誤分類到張,但用 DTW 距離有明顯地改善,只有 1 筆被分錯。另外若比較 DTW 兩

種不同類型的附近連續限制,可知用類型 II 時,錯誤率有為略下降,時間也有約 3

小時左右的節省。

為了比較與探討 5 種不同附近連續限制(I, II, III, IV, V)、4 種不同斜率加權函數

(type(a)、(b)、(c)、(d))與有加或沒加全程路徑限制(global path constraint)時,三位錄

音者 40 筆聲音資料的分類結果,所以建立表 5-3 到表 5-5,表 5-3 是宋張鄭這一組的

分類結果,表 5-4 是張鄭林這一組的分類結果,表 5-5 則是宋劉羅這一組的分類結果。

表 5-3 宋張鄭三位錄音者 40 筆聲音資料在 5 種不同附近連續限制、4 種不同斜率加

權函數、有加與沒加全程限制的分類的所需計算時間與錯誤率的統計表

Page 63: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

50

類型 未加全程限制

計算時間

未加全程限

制錯誤率

加全程限制

時間

加全程限制

錯誤率 時間減少%

歐氏距離 0.702419 秒鐘 0.291666667 無 無 無

Ia DTW 13.9044 小時 0.058333333 7.6850 小時 0.050000000 44.72973%

Ib DTW 13.9133 小時 0.058333333 7.7110 小時 0.050000000 44.57821%

Ic DTW 13.8696 小時 0.341666667 7.7614 小時 0.350000000 44.04020%

Id DTW 13.9248 小時 0.058333333 7.7523 小時 0.050000000 44.32739%

IIa DTW 17.1992 小時 0.050000000 9.8337 小時 0.050000000 42.82467%

IIb DTW 17.1383 小時 0.050000000 9.7928 小時 0.050000000 42.86014%

IIc DTW 17.2015 小時 0.050000000 9.7738 小時 0.050000000 43.18054%

IId DTW 17.1896 小時 0.050000000 9.7844 小時 0.050000000 43.07954%

IIIa DTW 13.8601 小時 0.050000000 7.6455 小時 0.050000000 44.83806%

IIIb DTW 14.0109 小時 0.050000000 7.6850 小時 0.050000000 45.14985%

IIIc DTW 13.9686 小時 0.050000000 7.5436 小時 0.050000000 45.99602%

IIId DTW 13.9281 小時 0.050000000 7.6533 小時 0.050000000 45.05137%

IVa DTW 19.3713 小時 0.050000000 11.2080 小時 0.050000000 42.14121%

IVb DTW 19.3641 小時 0.050000000 11.3107 小時 0.050000000 41.58933%

IVc DTW 19.4549 小時 0.050000000 11.2375 小時 0.050000000 42.23820%

IVd DTW 19.3911 小時 0.050000000 11.2558 小時 0.050000000 41.95378%

Va DTW 32.2681 小時 0.050000000 23.7285 小時 0.050000000 26.46453%

Vb DTW 32.0186 小時 0.050000000 23.6310 小時 0.050000000 26.19602%

Vc DTW 32.1447 小時 0.050000000 23.8773 小時 0.050000000 25.71933%

Vd DTW 32.2567 小時 0.050000000 23.9338 小時 0.050000000 25.80208%

首先由表 5-3 宋張鄭這一組的聲音資料的歐氏距離分類的錯誤率是 0.2917,有三

成的資料被分錯,但用 DTW 距離後,錯誤率明顯地降低很多,除了在附近連續限制

類型為 I 且斜率加權函數類型為(c)時,錯誤率仍有 0.3417 外,在連續附近類型 I 與斜

率加權函數類型(a)(b)(d)的組合時,錯誤率都降低到 0.0583,剩下其他連續附近類型

II, III, IV, V 與斜率加權函數類型(a)(b)(c)(d)的組合時,錯誤率都降低到 0.05。所以可

知 DTW 距離明顯地改善了時間軸扭曲的現象,大大地降低了錯誤分類的機率。至於

計算時間方面,與前兩組相同,同一附近連續限制類(不論斜率加權函數),平均計算

時間都差不多,類型 I, III 所需的計算時間比類型 II, IV, V 少,類型 V 所需時間是類

型 I, III 所需時間的兩倍多。附近連續限制類型 II, III, IV, V 雖然計算時間不同,但錯

Page 64: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

51

誤率都相同。

至於有加全程路徑限制時,類型 I, II, III, IV 可以減少 42-45%的計算時間,而類

型 V 只能減少約 26%的計算時間,所以全程路徑限制的確可以有效地減少計算時間,

但是全程路徑限制對錯誤率的影響不大,大部分錯誤率都不變,只有 Ic 合時有改變。

表 5-4 張鄭林三位錄音者 40 筆聲音資料在 5 種不同附近連續限制、4 種不同斜率加

權函數、有加與沒加全程限制的分類的所需計算時間與錯誤率的統計表

類型 未加全程限制

計算時間

未加全程限

制錯誤率

加全程限制

計算時間

加全程限制

錯誤率 時間減少%

歐氏距離 0.559663 秒鐘 0.416666667 無 無 無

Ia DTW 14.0132 小時 0.000000000 7.7055 小時 0.000000000 45.01256%

Ib DTW 13.8943 小時 0.000000000 7.6914 小時 0.000000000 44.64349%

Ic DTW 14.0279 小時 0.491666667 7.7176 小時 0.358333333 44.98392%

Id DTW 13.9629 小時 0.000000000 7.7329 小時 0.000000000 44.61824%

IIa DTW 17.0918 小時 0.000000000 9.8017 小時 0.000000000 42.65262%

IIb DTW 17.1383 小時 0.000000000 9.7836 小時 0.000000000 42.91382%

IIc DTW 17.1962 小時 0.000000000 9.7947 小時 0.000000000 43.04149%

IId DTW 17.1903 小時 0.000000000 9.7829 小時 0.000000000 43.09058%

IIIa DTW 13.9015 小時 0.000000000 7.5921 小時 0.000000000 45.38647%

IIIb DTW 14.0031 小時 0.000000000 7.6527 小時 0.000000000 45.34996%

IIIc DTW 13.9416 小時 0.000000000 7.5878 小時 0.000000000 45.57440%

IIId DTW 13.9839 小時 0.000000000 7.6419 小時 0.000000000 45.35215%

IVa DTW 19.3921 小時 0.000000000 11.2318 小時 0.000000000 42.08054%

IVb DTW 19.3847 小時 0.000000000 11.3087 小時 0.000000000 41.66172%

IVc DTW 19.4169 小時 0.000000000 11.2563 小時 0.000000000 42.02834%

IVd DTW 19.3989 小時 0.000000000 11.2491 小時 0.000000000 42.01166%

Va DTW 32.2851 小時 0.000000000 23.7199 小時 0.000000000 26.52989%

Vb DTW 32.1346 小時 0.000000000 23.6467 小時 0.000000000 26.41359%

Vc DTW 32.1874 小時 0.000000000 23.8592 小時 0.000000000 25.87410%

Vd DTW 32.2348 小時 0.000000000 23.9225 小時 0.000000000 25.78673%

接著由表 5-4 可知,張鄭林這一組的聲音資料的歐氏距離分類的錯誤率是 0.4167

很高,但用 DTW 距離後,錯誤率明顯地降低很多,除了在附近連續限制類型為 I 且

Page 65: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

52

斜率加權函數類型為(c)時,錯誤率仍有 0.4917 外,其他連續附近類型與斜率加權函

數類型的組合,錯誤率都將低到 0。所以可知 DTW 距離明顯地改善了時間軸扭曲的

現象,大大地降低了錯誤分類的機率。至於計算時間方面,同一附近連續限制類型(不

論斜率加權函數),平均計算時間差不多,類型 I, III 所需的計算時間比類型 II, IV, V

少,類型 V 所需時間是類型 I, III 所需時間的兩倍多。附近連續限制類型 II, III, IV, V

雖然計算時間不同,但錯誤率都相同。

至於有加全程路徑限制時,類型 I, II, III, IV 可以減少 42-45%的計算時間,而類

型 V 只能減少約 26%的計算時間,所以全程路徑限制的確可以有效地減少計算時間,

但是全程路徑限制對錯誤率的影響不大,大部分錯誤率都不變,只有 Ic 合時有改變。

表 5-5 宋劉羅三位錄音者 40 筆聲音資料在 5 種不同附近連續限制、4 種不同斜率加

權函數、有加與沒加全程限制的分類的所需計算時間與錯誤率的統計表

類型 未加全程限制

計算時間

未加全程限

制錯誤率

加全程限制

時間

加全程限制

錯誤率 時間減少%

歐氏距離 0.561110 秒鐘 0.491666667 無 無 無

Ia DTW 14.0292 小時 0.041666667 7.7812 小時 0.041666667 44.53568%

Ib DTW 13.9914 小時 0.041666667 7.8012 小時 0.041666667 44.24289%

Ic DTW 14.0203 小時 0.133333333 7.8161 小時 0.125000000 44.25155%

Id DTW 13.9768 小時 0.041666667 7.7763 小時 0.041666667 44.36280%

IIa DTW 17.1847 小時 0.050000000 9.8294 小時 0.050000000 42.80145%

IIb DTW 17.1243 小時 0.050000000 9.7514 小時 0.050000000 43.05519%

IIc DTW 17.1964 小時 0.050000000 9.8021 小時 0.050000000 42.99912%

IId DTW 17.1908 小時 0.050000000 9.7938 小時 0.050000000 43.02883%

IIIa DTW 14.3904 小時 0.050000000 7.6192 小時 0.050000000 47.05359%

IIIb DTW 13.8647 小時 0.050000000 7.6778 小時 0.050000000 44.62340%

IIIc DTW 13.9031 小時 0.050000000 7.5215 小時 0.050000000 45.90055%

IIId DTW 14.0385 小時 0.050000000 7.6003 小時 0.050000000 45.86103%

IVa DTW 19.5276 小時 0.050000000 11.1608 小時 0.050000000 42.84602%

IVb DTW 19.3576 小時 0.050000000 11.1887 小時 0.050000000 42.19996%

IVc DTW 19.4824 小時 0.050000000 11.1982 小時 0.050000000 42.52146%

IVd DTW 19.2885 小時 0.050000000 11.1792 小時 0.050000000 42.04215%

Va DTW 32.2347 小時 0.050000000 23.8721 小時 0.050000000 25.94285%

Vb DTW 32.1148 小時 0.050000000 23.7699 小時 0.050000000 25.98459%

Page 66: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

53

Vc DTW 32.1097 小時 0.050000000 23.8431 小時 0.050000000 25.74487%

Vd DTW 32.2432 小時 0.050000000 23.8946 小時 0.050000000 25.89259%

最後由表 5-5 可知,宋劉羅這一組的聲音資料的歐氏距離分類的錯誤率是 0.4917

很高,幾乎一半都分錯,但用 DTW 距離後,錯誤率明顯地降低很多,除了在附近連

續限制類型為 I 且斜率加權函數類型為(c)時,錯誤率仍有 0.1333 外,在連續附近類

型 I 與斜率加權函數類型(a)(b)(d)的組合時,錯誤率都降低到 0.0417,剩下其他連續

附近類型 II, III, IV, V 與斜率加權函數類型(a)(b)(c)(d)的組合時,錯誤率都低到 0.05。

所以可知 DTW 距離明顯地改善了時間軸扭曲的現象,大大地降低了錯誤分類的機

率。至於計算時間方面,與張鄭林這一組相同,同一附近連續限制類(不論斜率加權

函數),平均計算時間都差不多,類型 I, III 所需的計算時間比類型 II, IV, V 少,類型

V 所需時間是類型 I, III 所需時間的兩倍多。附近連續限制類型 II, III, IV, V 雖然計算

時間不同,但錯誤率都相同。

至於有加全程路徑限制時,類型 I, II, III, IV 可以減少 42-45%的計算時間,而類

型 V 只能減少約 26%的計算時間,所以全程路徑限制的確可以有效地減少計算時間,

但是全程路徑限制對錯誤率的影響不大,大部分錯誤率都不變,只有 Ic 合時有改變。

5.3 路徑限制路徑限制路徑限制路徑限制與下限制對與下限制對與下限制對與下限制對分類結果分類結果分類結果分類結果的影響的影響的影響的影響

由前面 5.2 節的結果可知,使用動態時軸校正法,的確可以有效地降低錯誤分類

的機率,但是相對地計算時間卻很長,5 種附近連續路徑限制中,類型 I, III 所需計

算時間比類型 II, IV, V 較少,而若加上全程路徑限制時,確實對減少計算時間有幫

助,但卻對錯誤率的影響不大。

在本小節中,將考慮使用下限制,就是將可能不是最佳配置的數列,先過濾排除

掉,目的是要增加計算與分類的速度。由於在 5.3 節要考慮 3 種下限制量數( LB_Kim、

LB_Yi 、 LB_Keogh )與 5 種附近連續限制(I, II, III, IV, V),所以無法將 ( )11

3 165= 組合

全做,只由 165 組中,隨機抽出宋張鄭、張鄭林與宋劉羅三組資料,將結果放在 5.3.1

Page 67: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

54

節、5.3.2 節與 5.3.3 節中。

5.3.1 宋張鄭分類結果宋張鄭分類結果宋張鄭分類結果宋張鄭分類結果

5.3.1 節是宋張鄭三位錄音者 40 筆聲音資料的分類結果,表 5-6 到表 5-10 是當附

近限制為 I ~ V 時,歐式距離、DTW 距離、用LB_Kim下限制數量的 DTW 距離、用

LB_Yi下限制數量的 DTW 距離以及用LB_Keogh 下限制數量的 DTW 距離,三位錄

音者 40 筆聲音資料的分類結果。而表 5-11 則是宋張鄭三位錄音者 40 筆聲音資料在 5

種不同附近連續限制、3 種不同下限制,斜率加權函數類型為(d)且沒加全程路徑限制

的分類所需時間、錯誤率及比對時間統計表。

表5-6 宋張鄭三位錄音者40筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加權

函數類型(d),附近連續限制類型 I )

歐氏距離

宋婉怡 張家祥 鄭至傑

宋婉怡 34 6 0

張家祥 1 37 2

鄭至傑 0 26 14

Error

rate 0.291666667

Elapsed

time (s) 0.702419

DTW 距離 (附近連續限制類型 I) DTW 距離 (附近連續限制類型 I)

下限制量數 LB_Kim

宋婉怡 張家祥 鄭至傑 宋婉怡 張家祥 鄭至傑

宋婉怡 37 3 0 宋婉怡 39 1 0

張家祥 1 37 2 張家祥 10 30 0

鄭至傑 0 1 39 鄭至傑 6 2 32

Error

rate 0.058333333 Error

rate 0.158333333

Elapsed

time(hr) 25.7262 Elapsed

time(hr) 1.160216

DTW 距離 (附近連續限制類型 I)

下限制量數 LB_Yi

DTW 距離 (附近連續限制類型 I)

下限制量數 LB_Keogh

Page 68: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

55

宋婉怡 張家祥 鄭至傑 宋婉怡 張家祥 鄭至傑

宋婉怡 39 1 0 宋婉怡 27 4 9

張家祥 1 36 3 張家祥 5 31 4

鄭至傑 0 1 39 鄭至傑 5 7 28

Error

rate 0.050000000 Error

rate 0.283333333

Elapsed

time(hr) 15.728177 Elapsed

time(hr) 2.52822

表5-7 宋張鄭三位錄音者40筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加權

函數類型(d),附近連續限制類型 II )

歐氏距離

宋婉怡 張家祥 鄭至傑

宋婉怡 34 6 0

張家祥 1 37 2

鄭至傑 0 26 14

Error

rate 0.291666667

Elapsed

time (s) 0.702419

DTW 距離 (附近連續限制類型 II) DTW 距離 (附近連續限制類型 II)

下限制量數 LB_Kim

宋婉怡 張家祥 鄭至傑 宋婉怡 張家祥 鄭至傑

宋婉怡 37 3 0 宋婉怡 39 1 0

張家祥 1 37 2 張家祥 1 39 0

鄭至傑 0 1 39 鄭至傑 0 1 39

Error

rate 0.058333333 Error

rate 0.025000000

Elapsed

time(hr) 25.7262 Elapsed

time(hr) 2.1444

DTW 距離 (附近連續限制類型 II)

下限制量數 LB_Yi

DTW 距離 (附近連續限制類型 II)

下限制量數 LB_Keogh

宋婉怡 張家祥 鄭至傑 宋婉怡 張家祥 鄭至傑

宋婉怡 39 1 0 宋婉怡 27 6 7

張家祥 1 37 2 張家祥 6 29 5

鄭至傑 0 1 39 鄭至傑 4 6 30

Error

rate 0.041666667 Error

rate 0.2833333333

Page 69: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

56

Elapsed

time(hr) 17.599412 Elapsed

time(hr) 3.021594

表5-8 宋張鄭三位錄音者40筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加權

函數類型(d),附近連續限制類型 III )

歐氏距離

宋婉怡 張家祥 鄭至傑

宋婉怡 34 6 0

張家祥 1 37 2

鄭至傑 0 26 14

Error

rate 0.291666667

Elapsed

time (s) 0.702419

DTW 距離 (附近連續限制類型 III) DTW 距離 (附近連續限制類型 III)

下限制量數 LB_Kim

宋婉怡 張家祥 鄭至傑 宋婉怡 張家祥 鄭至傑

宋婉怡 37 3 0 宋婉怡 39 1 0

張家祥 1 37 2 張家祥 2 38 0

鄭至傑 0 1 39 鄭至傑 0 1 39

Error

rate 0.058333333 Error

rate 0.033333333

Elapsed

time(hr) 25.7262 Elapsed

time(hr) 1.515982

DTW 距離 (附近連續限制類型 III)

下限制量數 LB_Yi

DTW 距離 (附近連續限制類型 III)

下限制量數 LB_Keogh

宋婉怡 張家祥 鄭至傑 宋婉怡 張家祥 鄭至傑

宋婉怡 39 1 0 宋婉怡 36 4 0

張家祥 1 37 2 張家祥 6 29 5

鄭至傑 0 1 39 鄭至傑 8 1 31

Error

rate 0.041666667 Error

rate 0.200000000

Elapsed

time(hr) 14.396935 Elapsed

time(hr) 3.295675

表5-9 宋張鄭三位錄音者40筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加權

函數類型(d),附近連續限制類型 IV )

歐氏距離

Page 70: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

57

宋婉怡 張家祥 鄭至傑

宋婉怡 34 6 0

張家祥 1 37 2

鄭至傑 0 26 14

Error

rate 0.291666667

Elapsed

time (s) 0.702419

DTW 距離 (附近連續限制類型 IV) DTW 距離 (附近連續限制類型 IV)

下限制量數 LB_Kim

宋婉怡 張家祥 鄭至傑 宋婉怡 張家祥 鄭至傑

宋婉怡 37 3 0 宋婉怡 39 1 0

張家祥 1 37 2 張家祥 1 39 0

鄭至傑 0 1 39 鄭至傑 0 1 39

Error

rate 0.058333333 Error

rate 0.025000000

Elapsed

time(hr) 25.7262 Elapsed

time(hr) 1.060764

DTW 距離 (附近連續限制類型 IV)

下限制量數 LB_Yi

DTW 距離 (附近連續限制類型 IV)

下限制量數 LB_Keogh

宋婉怡 張家祥 鄭至傑 宋婉怡 張家祥 鄭至傑

宋婉怡 39 1 0 宋婉怡 30 5 5

張家祥 1 37 2 張家祥 5 31 4

鄭至傑 0 1 39 鄭至傑 4 7 29

Error

rate 0.041666667 Error

rate 0.2500000000

Elapsed

time(hr) 9.527858 Elapsed

time(hr) 3.04215845

表 5-10 宋張鄭三位錄音者 40 筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加

權函數類型(d),附近連續限制類型 V )

歐氏距離

宋婉怡 張家祥 鄭至傑

宋婉怡 34 6 0

張家祥 1 37 2

鄭至傑 0 26 14

Error

rate 0.291666667

Page 71: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

58

Elapsed

time (s) 0.702419

DTW 距離 (附近連續限制類型 V) DTW 距離 (附近連續限制類型 V)

下限制量數 LB_Kim

宋婉怡 張家祥 鄭至傑 宋婉怡 張家祥 鄭至傑

宋婉怡 37 3 0 宋婉怡 39 1 0

張家祥 1 37 2 張家祥 1 39 0

鄭至傑 0 1 39 鄭至傑 0 1 39

Error

rate 0.058333333 Error

rate 0.025000000

Elapsed

time(hr) 25.7262 Elapsed

time(hr) 2.051063

DTW 距離 (附近連續限制類型 V)

下限制量數 LB_Yi

DTW 距離 (附近連續限制類型 V)

下限制量數 LB_Keogh

宋婉怡 張家祥 鄭至傑 宋婉怡 張家祥 鄭至傑

宋婉怡 39 1 0 宋婉怡 30 5 5

張家祥 1 38 1 張家祥 6 30 4

鄭至傑 0 1 39 鄭至傑 4 6 30

Error

rate 0.033333333 Error

rate 0.2500000000

Elapsed

time(hr) 14.805090 Elapsed

time(hr) 4.131159

表 5-11 宋張鄭三位錄音者 40 筆聲音資料在 5 種不同附近連續限制、3 種不同下限制,

沒加全程限制的分類的所需計算時間、錯誤率及比對次數的統計表

下限制 類型 未加全程限制

計算時間

未加全程限

制錯誤率 比對次數

無 歐氏距離 0.702419 秒鐘 0.291666667 14280

無 Id DTW 13.9248 小時 0.058333333 14280

IId DTW 17.1896 小時 0.050000000 14280

IIId DTW 13.9281 小時 0.050000000 14280

IVd DTW 19.3911 小時 0.050000000 14280

Vd DTW 32.2432 小時 0.050000000 14280

LB_Kim Id DTW 1.1602 小時 0.158333333 402

IId DTW 2.1444 小時 0.025000000 942

IIId DTW 1.5159 小時 0.033333333 803

IVd DTW 1.0607 小時 0.025000000 858

Page 72: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

59

Vd DTW 2.0510 小時 0.025000000 1088

LB_Yi Id DTW 15.7281 小時 0.050000000 8036

IId DTW 17.5994 小時 0.041666666 7764

IIId DTW 14.3969 小時 0.041666666 7667

IVd DTW 9.5278 小時 0.041666666 7701

Vd DTW 14.8050 小時 0.033333333 8505

LB_Keogh Id DTW 2.5282 小時 0.283333333 1365

IId DTW 3.0215 小時 0.283333333 1431

IIId DTW 3.2956 小時 0.200000000 1779

IVd DTW 3.0421 小時 0.250000000 1893

Vd DTW 4.1311 小時 0.25000000 2274

由表 5-6 到表 5-11 可以看出,採用LB_Keogh ,雖然有大大減少計算時間,但

分類錯誤率不但沒有降低,卻反而增加,所以LB_Keogh 並沒有預期的好。反之若採

用LB_Yi 則錯誤分類的機率都有略減降,但計算時間有時不但沒有減少,反而還增

加,所以LB_Yi也不好。至於LB_Kim,雖然計算比LB_Yi及LB_Keogh 都簡單,但

計算時間有大幅降低,錯誤率除了在 Id DTW 增加外,其餘都有降低,所以採用

LB_Kim對分類宋張鄭此三位錄音者的幫助很大。

5.3.2 張鄭林張鄭林張鄭林張鄭林分類結果分類結果分類結果分類結果

5.3.2 節是張鄭林三位錄音者 40 筆聲音資料的分類結果,表 5-12 到表 5-16 是當

附近限制為 I ~ V 時,歐式距離、DTW 距離、用LB_Kim下限制數量的 DTW 距離、

用LB_Yi下限制數量的 DTW 距離以及用LB_Keogh 下限制數量的 DTW 距離,三位

錄音者 40 筆聲音資料的分類結果。而表 5-17 則是張鄭林三位錄音者 40 筆聲音資料

在 5 種不同附近連續限制、3 種不同下限制,斜率加權函數類型為(d)且沒加全程路徑

限制的分類所需時間、錯誤率及比對時間統計表。

表 5-12 張鄭林三位錄音者 40 筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加

權函數類型(d),附近連續限制類型 I )

歐氏距離

張家祥 鄭至傑 林韋誠

Page 73: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

60

張家祥 40 0 0

鄭至傑 25 13 2

林韋誠 19 4 17

Error

rate 0.416666667

Elapsed

time (s) 0.559663

DTW 距離 (附近連續限制類型 I) DTW 距離 (附近連續限制類型 I)

下限制量數 LB_Kim

張家祥 鄭至傑 林韋誠 張家祥 鄭至傑 林韋誠

張家祥 40 0 0 張家祥 40 0 0

鄭至傑 0 40 0 鄭至傑 7 32 1

林韋誠 0 0 40 林韋誠 13 0 27

Error

rate 0.000000000 (type(a)(b)(d)) Error

rate 0.175000000

Elapsed

time (h) 13.9626(type(d)) Elapsed

time(hr) 1.085342

DTW 距離 (附近連續限制類型 I)

下限制量數 LB_Yi

DTW 距離 (附近連續限制類型 I)

下限制量數 LB_Keogh

張家祥 鄭至傑 林韋誠 張家祥 鄭至傑 林韋誠

張家祥 40 0 0 張家祥 39 1 0

鄭至傑 0 40 0 鄭至傑 0 40 0

林韋誠 0 0 40 林韋誠 0 2 38

Error

rate 0.000000000 Error

rate 0.0250000000

Elapsed

time(hr) 16.978747 Elapsed

time(hr) 2.86411

表 5-13 張鄭林三位錄音者 40 筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加

權函數類型(d),附近連續限制類型 II )

歐氏距離

張家祥 鄭至傑 林韋誠

張家祥 40 0 0

鄭至傑 25 13 2

林韋誠 19 4 17

Error

rate 0.416666667

Elapsed

time (s) 0.559663

Page 74: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

61

DTW 距離 (附近連續限制類型 II) DTW 距離 (附近連續限制類型 II)

下限制量數 LB_Kim

張家祥 鄭至傑 林韋誠 張家祥 鄭至傑 林韋誠

張家祥 40 0 0 張家祥 40 0 0

鄭至傑 0 40 0 鄭至傑 0 40 0

林韋誠 0 0 40 林韋誠 2 4 34

Error

rate 0.000000000 (type(a)(b)(d)) Error

rate 0.050000000

Elapsed

time(hr) 17.1903(type(d) Elapsed

time(hr) 3.783942

DTW 距離 (附近連續限制類型 II)

下限制量數 LB_Yi

DTW 距離 (附近連續限制類型 II)

下限制量數 LB_Keogh

張家祥 鄭至傑 林韋誠 張家祥 鄭至傑 林韋誠

張家祥 40 0 0 張家祥 40 0 0

鄭至傑 0 40 0 鄭至傑 0 40 0

林韋誠 0 0 40 林韋誠 1 0 39

Error

rate 0.000000000 Error

rate 0.0083333333

Elapsed

time(hr) 19.278576 Elapsed

time(hr) 5.045611

表 5-14 張鄭林三位錄音者 40 筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加

權函數類型(d),附近連續限制類型 III )

歐氏距離

張家祥 鄭至傑 林韋誠

張家祥 40 0 0

鄭至傑 25 13 2

林韋誠 19 4 17

Error

rate 0.416666667

Elapsed

time (s) 0.559663

DTW 距離 (附近連續限制類型 III) DTW 距離 (附近連續限制類型 III)

下限制量數 LB_Kim

張家祥 鄭至傑 林韋誠 張家祥 鄭至傑 林韋誠

張家祥 40 0 0 張家祥 40 0 0

鄭至傑 0 40 0 鄭至傑 0 40 0

Page 75: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

62

林韋誠 0 0 40 林韋誠 2 5 33

Error

rate

0.000000000 (type(a)(b)(d))

Error

rate

0.058333333

Elapsed

time(hr) 13.9839(type(d)) Elapsed

time(hr) 2.703893

DTW 距離 (附近連續限制類型 III)

下限制量數 LB_Yi

DTW 距離 (附近連續限制類型 III)

下限制量數 LB_Keogh

張家祥 鄭至傑 林韋誠 張家祥 鄭至傑 林韋誠

張家祥 40 0 0 張家祥 39 1 0

鄭至傑 0 40 0 鄭至傑 4 35 1

林韋誠 0 0 40 林韋誠 2 2 36

Error

rate 0.000000000 Error

rate 0.0833333333

Elapsed

time(hr) 15.677174 Elapsed

time(hr) 3.084266

表 5-15 張鄭林三位錄音者 40 筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加

權函數類型(d),附近連續限制類型 IV )

歐氏距離

張家祥 鄭至傑 林韋誠

張家祥 40 0 0

鄭至傑 25 13 2

林韋誠 19 4 17

Error

rate 0.416666667

Elapsed

time (s) 0.559663

DTW 距離 (附近連續限制類型 IV) DTW 距離 (附近連續限制類型 IV)

下限制量數 LB_Kim

張家祥 鄭至傑 林韋誠 張家祥 鄭至傑 林韋誠

張家祥 40 0 0 張家祥 40 0 0

鄭至傑 0 40 0 鄭至傑 0 40 0

林韋誠 0 0 40 林韋誠 0 3 37

Error

rate

0.000000000 (type(a)(b)(d))

Error

rate

0.025000000

Elapsed

time(hr) 19.3989(type(d)) Elapsed

time(hr) 3.512145

Page 76: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

63

DTW 距離 (附近連續限制類型 IV)

下限制量數 LB_Yi

DTW 距離 (附近連續限制類型 IV)

下限制量數 LB_Keogh

張家祥 鄭至傑 林韋誠 張家祥 鄭至傑 林韋誠

張家祥 40 0 0 張家祥 39 1 0

鄭至傑 0 40 0 鄭至傑 1 39 0

林韋誠 0 0 40 林韋誠 1 2 37

Error

rate 0.000000000 Error

rate 0.0416666667

Elapsed

time(hr) 10.557669 Elapsed

time(hr) 3.421389

表 5-16 張鄭林三位錄音者 40 筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加

權函數類型(d),附近連續限制類型 V )

歐氏距離

張家祥 鄭至傑 林韋誠

張家祥 40 0 0

鄭至傑 25 13 2

林韋誠 19 4 17

Error

rate 0.416666667

Elapsed

time (s) 0.559663

DTW 距離 (附近連續限制類型 V) DTW 距離 (附近連續限制類型 V)

下限制量數 LB_Kim

張家祥 鄭至傑 林韋誠 張家祥 鄭至傑 林韋誠

張家祥 40 0 0 張家祥 40 0 0

鄭至傑 0 40 0 鄭至傑 0 40 0

林韋誠 0 0 40 林韋誠 0 3 37

Error

rate

0.000000000 (type(a)(b)(d))

Error

rate

0.025000000

Elapsed

time(hr) 32.2348(type(d)) Elapsed

time(hr) 3.772207

DTW 距離 (附近連續限制類型 V)

下限制量數 LB_Yi

DTW 距離 (附近連續限制類型 V)

下限制量數 LB_Keogh

張家祥 鄭至傑 林韋誠 張家祥 鄭至傑 林韋誠

張家祥 40 0 0 張家祥 39 0 1

鄭至傑 0 40 0 鄭至傑 1 39 0

林韋誠 0 0 40 林韋誠 1 3 36

Page 77: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

64

Error

rate 0.000000000 Error

rate 0.0500000000

Elapsed

time(hr) 16.608171 Elapsed

time(hr) 3.689544

表 5-17 張鄭林三位錄音者 40 筆聲音資料在 5 種不同附近連續限制、3 種不同下限制,

沒加全程限制的分類的所需計算時間、錯誤率及比對次數的統計表

下限制 類型 未加全程限制

計算時間

未加全程限

制錯誤率 比對次數

無 歐氏距離 0.559663 秒鐘 0.416666667 14280

無 Id DTW 13.9629 小時 0.000000000 14280

IId DTW 17.1903 小時 0.000000000 14280

IIId DTW 13.9839 小時 0.000000000 14280

IVd DTW 19.3989 小時 0.000000000 14280

Vd DTW 32.2348 小時 0.000000000 14280

LB_Kim Id DTW 1.0853 小時 0.175000000 508

IId DTW 3.7839 小時 0.050000000 942

IIId DTW 2.7038 小時 0.058333333 1459

IVd DTW 3.5121 小時 0.025000000 1893

Vd DTW 3.7722 小時 0.025000000 2021

LB_Yi Id DTW 16.9787 小時 0.000000000 8656

IId DTW 19.2785 小時 0.000000000 8632

IIId DTW 15.6771 小時 0.000000000 8489

IVd DTW 10.5576 小時 0.000000000 8550

Vd DTW 16.6081 小時 0.000000000 9645

LB_Keogh Id DTW 2.8641 小時 0.025000000 1055

IId DTW 5.0456 小時 0.008333333 2219

IIId DTW 3.0842 小時 0.083333333 1345

IVd DTW 3.4213 小時 0.041666667 1770

Vd DTW 3.6895 小時 0.050000000 1935

由表 5-12 到表 5-17 可以看出,採用LB_Keogh ,雖然有大大減少計算時間,但

分類錯誤率不但沒有降低,卻反而增加,所以LB_Keogh 並沒有預期的好。反之若採

用LB_Yi 則錯誤分類的機率仍然都是 0,但計算時間有時不但沒有減少,反而還增

加,所以LB_Yi也不好。至於LB_Kim,雖然計算比LB_Yi及LB_Keogh 都簡單,但

計算時間有大幅降低,錯誤率除了在 Id DTW 減少外,其餘都略有增加,所以採用

Page 78: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

65

LB_Kim對分類張鄭林此三位錄音者若想節省時間,將稍稍犧牲精確度。

5.3.3 宋劉羅宋劉羅宋劉羅宋劉羅分分分分類結果類結果類結果類結果

5.3.3 節是宋劉羅三位錄音者 40 筆聲音資料的分類結果,表 5-18 到表 5-22 是當

附近限制為 I ~ V 時,歐式距離、DTW 距離、用LB_Kim下限制數量的 DTW 距離、

用LB_Yi下限制數量的 DTW 距離以及用LB_Keogh 下限制數量的 DTW 距離,三位

錄音者 40 筆聲音資料的分類結果。而表 5-23 則是宋劉羅三位錄音者 40 筆聲音資料

在 5 種不同附近連續限制、3 種不同下限制,斜率加權函數類型為(d)且沒加全程路徑

限制的分類所需時間、錯誤率及比對時間統計表。

表 5-18 宋劉羅三位錄音者 40 筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加

權函數類型(d),附近連續限制類型 I )

歐氏距離

宋婉怡 劉信賢 羅琪

宋婉怡 15 0 25

劉信賢 0 7 33

羅琪 1 0 39

Error

rate 0.491666667

Elapsed

time (s) 0.561110

DTW 距離 (附近連續限制類型 I) DTW 距離 (附近連續限制類型 I)

下限制量數 LB_Kim

宋婉怡 劉信賢 羅琪 宋婉怡 劉信賢 羅琪

宋婉怡 37 3 0 宋婉怡 39 1 0

劉信賢 1 39 0 劉信賢 12 24 4

羅琪 0 1 39 羅琪 20 1 19

Error

rate 0.041666667 (d) Error

rate 0.316666667

Elapsed

time(hr) 13.9768(type(d)) Elapsed

time(hr) 0.718964

DTW 距離 (附近連續限制類型 I)

下限制量數 LB_Yi

DTW 距離 (附近連續限制類型 I)

下限制量數 LB_Keogh

Page 79: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

66

宋婉怡 劉信賢 羅琪 宋婉怡 劉信賢 羅琪

宋婉怡 39 1 0 宋婉怡 28 2 0

劉信賢 1 39 0 劉信賢 13 23 4

羅琪 1 1 38 羅琪 19 3 18

Error

rate 0.033333333 Error

rate 0.3416666667

Elapsed

time(hr) 13.998585 Elapsed

time(hr) 1.865231

表 5-19 宋劉羅三位錄音者 40 筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加

權函數類型(d),附近連續限制類型 II )

歐氏距離

宋婉怡 劉信賢 羅琪

宋婉怡 15 0 25

劉信賢 0 7 33

羅琪 1 0 39

Error

rate 0.491666667

Elapsed

time (s) 0.561110

DTW 距離 (附近連續限制類型 II) DTW 距離 (附近連續限制類型 II)

下限制量數 LB_Kim

宋婉怡 劉信賢 羅琪 宋婉怡 劉信賢 羅琪

宋婉怡 37 3 0 宋婉怡 39 1 0

劉信賢 1 38 1 劉信賢 5 33 2

羅琪 0 1 39 羅琪 4 1 35

Error

rate 0.050000000 0.108333333

Elapsed

time(hr) 17.1908 1.720929

DTW 距離 (附近連續限制類型 II)

下限制量數 LB_Yi

DTW 距離 (附近連續限制類型 II)

下限制量數 LB_Keogh

宋婉怡 劉信賢 羅琪 宋婉怡 劉信賢 羅琪

宋婉怡 39 1 0 宋婉怡 38 2 0

劉信賢 1 39 0 劉信賢 4 35 1

羅琪 1 1 38 羅琪 6 2 32

Error

rate 0.033333333 Error

rate 0.1250000000

Page 80: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

67

Elapsed

time(hr) 15.632801 Elapsed

time(hr) 3.778554

表 5-20 宋劉羅三位錄音者 40 筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加

權函數類型(d),附近連續限制類型 III )

歐氏距離

宋婉怡 劉信賢 羅琪

宋婉怡 15 0 25

劉信賢 0 7 33

羅琪 1 0 39

Error

rate 0.491666667

Elapsed

time (s) 0.561110

DTW 距離 (附近連續限制類型 III) DTW 距離 (附近連續限制類型 III)

下限制量數 LB_Kim

宋婉怡 劉信賢 羅琪 宋婉怡 劉信賢 羅琪

宋婉怡 37 3 0 宋婉怡 39 1 0

劉信賢 1 38 1 劉信賢 6 30 4

羅琪 0 1 39 羅琪 5 1 34

Error

rate 0.050000000 (type(a)(b)(d)) Error

rate 0.141666667

Elapsed

time(hr) 14.0385(type(d)) Elapsed

time(hr) 1.232978

DTW 距離 (附近連續限制類型 III)

下限制量數 LB_Yi

DTW 距離 (附近連續限制類型 III)

下限制量數 LB_Keogh

宋婉怡 劉信賢 羅琪 宋婉怡 劉信賢 羅琪

宋婉怡 39 1 0 宋婉怡 37 2 1

劉信賢 1 38 1 劉信賢 5 32 3

羅琪 1 1 38 羅琪 7 1 32

Error

rate 0.041666667 Error

rate 0.1583333333

Elapsed

time(hr) 13.012962 Elapsed

time(hr) 3.108942

表 5-21 宋劉羅三位錄音者 40 筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加

權函數類型(d),附近連續限制類型 IV )

歐氏距離

Page 81: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

68

宋婉怡 劉信賢 羅琪

宋婉怡 15 0 25

劉信賢 0 7 33

羅琪 1 0 39

Error

rate 0.491666667

Elapsed

time (s) 0.561110

DTW 距離 (附近連續限制類型 IV) DTW 距離 (附近連續限制類型 IV)

下限制量數 LB_Kim

宋婉怡 劉信賢 羅琪 宋婉怡 劉信賢 羅琪

宋婉怡 37 3 0 宋婉怡 36 4 0

劉信賢 1 38 1 劉信賢 4 34 2

羅琪 0 1 39 羅琪 6 1 33

Error

rate 0.050000000 (type(a)(b)(d)) Error

rate 0.1416666667

Elapsed

time(hr) 19.2885(type(d)) Elapsed

time(hr) 1.211361

DTW 距離 (附近連續限制類型 IV)

下限制量數 LB_Yi

DTW 距離 (附近連續限制類型 IV)

下限制量數 LB_Keogh

宋婉怡 劉信賢 羅琪 宋婉怡 劉信賢 羅琪

宋婉怡 39 1 0 宋婉怡 36 3 1

劉信賢 1 38 1 劉信賢 6 30 4

羅琪 1 1 38 羅琪 9 2 29

Error

rate 0.0500000000 Error

rate 0.2083333333

Elapsed

time(hr) 11.514469 Elapsed

time(hr) 2.879113

表 5-22 宋劉羅三位錄音者 40 筆聲音資料分類結果的混淆矩陣與明顯錯誤率(斜率加

權函數類型(d),附近連續限制類型 V )

歐氏距離

宋婉怡 劉信賢 羅琪

宋婉怡 15 0 25

劉信賢 0 7 33

羅琪 1 0 39

Error

rate 0.491666667

Page 82: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

69

Elapsed

time (s) 0.561110

DTW 距離 (附近連續限制類型 V) DTW 距離 (附近連續限制類型 V)

下限制量數 LB_Kim

宋婉怡 劉信賢 羅琪 宋婉怡 劉信賢 羅琪

宋婉怡 37 3 0 宋婉怡 36 4 0

劉信賢 1 38 1 劉信賢 4 34 2

羅琪 0 1 39 羅琪 6 1 33

Error

rate 0.050000000 (type(a)(b)(d)) Error

rate 0.1416666667

Elapsed

time(hr) 32.2432(type(d)) Elapsed

time(hr) 1.211361

DTW 距離 (附近連續限制類型 V)

下限制量數 LB_Yi

DTW 距離 (附近連續限制類型 V)

下限制量數 LB_Keogh

宋婉怡 劉信賢 羅琪 宋婉怡 劉信賢 羅琪

宋婉怡 39 1 0 宋婉怡 38 1 1

劉信賢 1 38 1 劉信賢 6 31 3

羅琪 1 1 38 羅琪 7 3 30

Error

rate 0.0416666667 Error

rate 0.1750000000

Elapsed

time(hr) 17.594877 Elapsed

time(hr) 4.084678

表 5-23 宋劉羅三位錄音者 40 筆聲音資料在 5 種不同附近連續限制、3 種不同下限制,

沒加全程限制的分類的所需計算時間與錯誤率及比對次數的統計表

下限制 類型 未加全程限制

計算時間

未加全程限

制錯誤率 比對次數

無 歐氏距離 0.561110 秒鐘 0.491666667 14280

無 Id DTW 13.9768 小時 0.041666667 14280

IId DTW 17.1908 小時 0.050000000 14280

IIId DTW 14.0385 小時 0.050000000 14280

IVd DTW 19.2885 小時 0.050000000 14280

Vd DTW 32.2432 小時 0.050000000 14280

LB_Kim Id DTW 0.718964 小時 0.316666667 337

IId DTW 1.720929 小時 0.108333333 767

IIId DTW 1.232978 小時 0.141666667 664

IVd DTW 0.885951 小時 0.125000000 714

Page 83: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

70

Vd DTW 1.211361 小時 0.141666667 733

LB_Yi Id DTW 13.9985 小時 0.033333333 7168

IId DTW 15.6328 小時 0.033333333 6983

IIId DTW 13.0129 小時 0.041666667 6872

IVd DTW 11.5144 小時 0.050000000 6244

Vd DTW 17.5948 小時 0.041666667 7325

LB_Keogh Id DTW 1.8652 小時 0.341666667 757

IId DTW 3.7785 小時 0.125000000 1311

IIId DTW 3.1089 小時 0.158333333 1053

IVd DTW 2.8791 小時 0.208333333 948

Vd DTW 4.0846 小時 0.175000000 1483

由表 5-18 到表 5-23 可以看出,採用LB_Keogh ,雖然有大大減少計算時間,但

分類錯誤率不但沒有降低,卻反而增加,所以LB_Keogh 並沒有表現很好。反之若採

用LB_Yi則錯誤分類的機率稍稍減少,但計算時間有時不但沒有減少,反而還增加,

所以LB_Yi也不好。至於LB_Kim,雖然計算比LB_Yi及LB_Keogh 都簡單,但計算

時間有大幅降低,錯誤率除了在 Id DTW 減少外,其餘都略有增加,所以採用LB_Kim

對分類宋劉羅此三位錄音者若想節省時間,將略犧牲精確度。

5.4 分類分類分類分類結果的結果的結果的結果的總結總結總結總結

最後將 5.3.2 節和 5.3.3 節的分類結果,整理成下面結論:

(1)歐氏距離的執行時間大約只需 1 秒鐘左右,但平均明顯錯誤率高達 0.3958,但是

使用 DTW 之後,執行程式時間增加到 22~25 小時之間,但平均明顯錯誤率降低到

只剩 0.0042~0.0049 之間,因此 DTW 有明顯地改善時間軸扭曲的現象,大大地降

低錯誤率分類的機率。另外 DTW(IId)的錯誤率比 DTW(Id)略下降,但在執行時間

上,DTW(IId)比 DTW(Id)執行速度省了大約 1~4 小時,但仍需花許多時間在計算

上。

(2)不論採用那一種附近連續限制類型(I, II, III, IV, V)或哪一種斜率加權函數

Page 84: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

71

(type(a),(b),(d)),使用 DTW 距離分類錯誤率都比歐氏距離的錯誤率降低很多,但有

一種組合例外,就是 Ic 時,計算時間不但增加,錯誤率有時降低不多,有時甚至

還增加,所以不建議採用 DTW(Ic)。

(3)不論用哪一種附近連續限制類型(I, II, III, IV, V),計算時間都比歐氏距離多非常

多,類型 I、III 需約 14 小時,類型 II 需約 17 小時,類型 IV 需約 19 小時,類型 V

需約 32 小時。至於斜率加權函數類型的選擇對計算時間影響很少。

(4)採用全程路徑限制對錯誤率的影響不大,但對計算時間的減少的確有很大的幫

助,附近限制類型 I~IV 平均減少約 42~45%的計算時間,但類型 V 只能減少約 26%

的計算時間。

(5)採用下限制對錯誤率與計算時間都有影響,採用LB_Keogh,雖然有大大減少計算

時間,但分類錯誤率不但沒有降低,卻反而增加。採用LB_Yi則錯誤分類的機率有

略減降,但計算時間有時不但沒有減少,反而還增加。採用LB_Kim,雖然計算比

LB_Yi及LB_Keogh 都簡單,但計算時間有大幅降低,錯誤率可能略有增加,若想

節省時間採用LB_Kim,將略犧牲精確度。

Page 85: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

72

第第第第六六六六章章章章 結論與未來展望結論與未來展望結論與未來展望結論與未來展望

在此章節共分成三小節,首先 6.1 節是對這篇論文作結論,6.2 節是對未來的展

望,6.3 節是以本論文為基礎,提出未來的研究方向。

6.1 結論結論結論結論

本論文主要探討語言時間數列辨識時,會碰到時間軸的偏差問題,而時間軸的偏

差可以利用動態時軸校正法解決。因此本論文將動態時軸校正法應用於三個人說中

文”芝麻開門”的語音時間數列資料的分類上,錄音者共有 11 人,每個人說芝麻開門

40 次,再由 ( )11

3 165= 組中,隨機抽出 24 組三個人,同時採用歐氏距離與 DTW 距離,

計算不相似性量數,然後用 1 個最近鄰居分類法則來分類三個人說芝麻開門的語音,

並計算平均明顯錯誤率及平均執行時間來比較分類結果。另外利用宋張鄭、張鄭林宋

劉羅及宋劉羅這三組資料來比較與探討 5 種不同附近連續限制、4 種不同斜率加權函

數與是否有加全程路徑限制的分類結果與計算時間。最後利用宋張鄭、張鄭林宋劉羅

及宋劉羅這三組資料來比較與探討 5種不同附近連續限制與 3種下限制在斜率加權函

數為(d)與沒有加全程路徑限制的分類結果與計算時間。

結論是歐氏距離雖然平均執行時間只有 1.0224 秒,但平均明顯錯誤率為 0.3958

卻很高。反之 DTW 距離(Id)的平均明顯錯誤率只有 0.0049,雖大大地改善了時間軸

扭曲的問題,但平均執行時間卻花費 25.7516 小時。若採用 DTW 距離(IId)錯誤率略

下降,計算時間也較短,但仍然非常久。

考慮使用 5 種附近連續限制(I, II, III, IV, V)與 4 種斜率加權函數(type(a), (b), (c),

(d))後,分類的錯誤率明顯比歐氏距離的錯誤率降低許多,但使用 DTW(Ic)時,要注

意除了計算時間會較長外,有時錯誤率不但不一定降低甚至還會增加。在計算時間

上,類型 I, III 約需 14 小時,類型 II 約需 17 小時,類型 IV 約需 19 小時,類型 V 需

約 32 小時,在加入全程路徑限制後,對錯誤率的影響不大,但對計算時間的減少有

Page 86: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

73

很大的幫助,類型 I~IV 約減少 42~45%的計算時間,類型 V 約減少約 26%的時間。

若考慮使用 DTW 時,建議使用 DTW(IIa, IIb, IIc, IId, IIIa, IIIb, IIIc, IIId),錯誤率不但

可以大幅降低,計算時間也較少,但不建議使用 DTW(Ic, Va, Vb, Vc, Vd),DTW(Ic)

不一定降低錯誤率,而類型 V 的計算時間比其他類型 I, II, III, IV 多出許多,即使用

全程限制也不能降低很多時間。

另外若考慮採用下限制對錯誤率與計算時間都有影響,採用LB_Keogh,雖然有

大大減少計算時間,但分類錯誤率不但沒有降低,卻反而增加。採用LB_Yi則錯誤分

類的機率有略減降,但計算時間有時不但沒有減少,反而還增加。採用LB_Kim,雖

然計算比 LB_Yi 及 LB_Keogh 都簡單,但計算時間有大幅降低,錯誤率可能略有增

加,若想節省時間採用LB_Kim,將略犧牲精確度。

6.2 未來展望未來展望未來展望未來展望

現今科技愈趨發達,身分辨識已與生活緊密相關,而辨識身分的方法有指紋辨

識、聲音辨識、簽字辨識以及眼睛虹膜辨識…等,其中聲音辨識的問題已廣泛地使用

在各個領域,例如:用在網路門禁確認個人身份系統上,這是因為聲音和指紋一樣是

每一個人與生俱來的特徵,且聲音的擷取也很方便。由實證研究的結果可以得知,24

組的三三錄音者聲音資料的分類平均明顯錯誤率相當低,因此使用 DTW(Ic 除外)搭

配最近鄰居法則的分類來辨識三個人說中文的聲音樣式的結果相當不錯,下限制若適

當對錯誤率降低與計算時間減少都有幫助,並且希望以後可以往加快計算與分類速度

及增加辨識精確度方向發展。

6.3 未來研究方向未來研究方向未來研究方向未來研究方向

未來本論文可以推廣的方向有:

Page 87: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

74

圖 6-1 DTW 距離的快速近似

(1) 減少資料數量,用縮短後(compressed)的時間數列來近似原始的時間數列,然後再

用 DTW 法到簡化後的時間數列,如圖 6-1 所示。(圖取自 Dr. Eamonn Keogh, Data

Mining and Machine Learning in Time Series Database)

(2) 除了考慮 Itakura Parallelogram 的全程限制(global constraint),亦可考慮其他全程限

制,例如:Sakoe-Chiba Band,如圖 6-2(A)所示,及 Ratanamahatana-Keogh Band(R-K

Band),如圖 6-2(C)所示,縮小計算範圍,增加計算與分類速度。

(A) (B) (C)

圖 6-2 (A)Sakoe-Chiba Band (B)Itakura Parallelogram (C)R-K Band

(3) 考慮另外兩種類型的附近連續限制,如圖 6-3(A)(B)所示。Itakura 與類型 IV 的附

近限制有微妙的差別,也是一個值得探討的主題。

Page 88: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

75

1P

2P

3P

1P

2P

3P

(A) (B)

圖 6-3 (A)附近連續限制 VI (B)Itakura 附近限制

(4) 動態時軸校正法(DTW)雖然可以有效地校正時間軸的偏差問題,但卻只限於局部

調正(local adjustment)時間軸,至於整體的調整(global adjustment)則需考慮另一種

方法,稱為尺度一致法(uniform scaling),為了介紹 DTW 與 uniform scaling 的差

異,以下面實驗示範:

截取某個人的心電圖一秒鐘的片段紀錄,第一次時間數列獲得 2 次心跳,第二次

(運動時)時間數列獲得 3 次心跳,若使用 DTW 測量兩時間數列的相似性,得到沒有

圖 6-4 二次心跳的時間數列圖用 DTW(左)與 uniform scaling (右)校準的比較圖

(圖取自 Dr. E. Keogh, T. Palpansa V, B. Zordan, D. Gunopulos and M. Cardle, Indexing

Large Human-Motion Databases)

Page 89: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

76

意義的結果,因為 DTW 必須配對每個點,但無法對應 2 個與 3 個心跳。反之,uniform

scaling 可以拉長較快的心跳,直到找到幾乎完美的校準。所以在 uniform scaling 先

找到最佳整體配置後,再用 DTW 移除局部差異是很有用的。

接下來大致簡介一下一致尺度法(Uniform Scaling),假設有兩個時間數列,一個

是Q長度為 n,用 1 2( , , , )n

Q q q q= ⋯ 代表,另一個是C 長度為m,用 1 2( , , , )m

C c c c= ⋯ 代

表,假設 n m≤ 。若只有興趣要將數列Q拉長去和數列C 的前面做比較,這樣可以簡

化 uniform scaling 的介紹。在比較兩時間數列時,若恰好 n m= ,可以使用普遍存在

的歐式距離

2

1

( , ) ( )n

i i

i

D Q C q c=

= −∑

或平方歐式距離

2

1

( , ) ( )n

i i

i

D Q C q c=

= −∑

來測量兩數列Q與C 的距離。

若 n m< 時,則上面平方歐式距離的方式沒有定義。但可以操取下面三種方式之

一來解決數列長度不同的問題。方法一是將數C 後面去掉,只比較Q與 1 2( , , , )n

c c c⋯ ,

方法二是將數列Q拉長到長度為m,方法三是將數列Q拉長到長度 ( )p n p m≤ ≤ ,將

數列C 後面 -m p 個值去掉,然後再使用上面平方歐式距離的公式。

上面方法二中的拉長數列的概念,可以用在下面改變尺度的定義上。為了改變時

間數列Q的尺度去產生一個新的長度為 p 的時間數列QP ,使用下面公式:

[ ]j n

jp

QP Q×

= ,1 j p≤ ≤

中括弧代表括弧內的值若不是整數,將小數部分去除後的整數,另外p

n稱為尺度因子

(scaling factor,簡稱 sf)。下面圖 6-5 示範原本數列Q與數列C 的前面部分的並沒有很

好的相適(match),但數列Q拉長後的數列QP 則與數列C 的前面部分有很好的相適。

Page 90: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

77

圖 6-5 數列Q拉長前面與數列C 的比較圖

Page 91: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

78

參考文獻參考文獻參考文獻參考文獻與網址與網址與網址與網址

Bellman, R. (1957). Dynamic Programming, Princeton Univ. Press, New

Jersey.

Berndt, D. and J. Clifford. (1994). Using dynamic time warping to find

patterns in time series. AAAI-94 Workshop on Knowledge Discovery in

Databases, pp.229-248.

Bricker, P. D., R. Gnanadesikan, M. V. Mathews, S. Pruzansky, P. A. Tukey, K.

W. Wachter, and J. L. Warner. (1971). Statistical techniques for talker

identification. Bell Syst. Tech. J. no. 50, pp.1427-1454.

DeWitt, P. E. (1985). His master’s (Digital) voice. Time 125, no. 13,

PP.84-85.

Fix, E., and J. L. Hodges. (1951). Discriminatory analysis, nonparametric

discrimination: consistency properties. Report No. 4, Project No. 21-49-004,

Brooks Air Force Base, USAF School of Aviation Medicine.

Furui, Sadaoki. (2001). Digital Speech Processing, Synthesis, and

Recognition, 2nd edition, revised and expanded. Marcel Dekker, Inc., New

York.

Gersch, W., and J. Yonemoto. (1977). Automatic classification of

multivariate EEG, using an amount of information measure and the

eigenvalues of parametric time series model features. Comput. Biomed. Res.

no.10, pp.297-316.

Gersch, W., F. Martinelli, J. Yonemoto, M. D. Lew, and J. A. McEwan. (1979).

Automatic classification of electroencephalograms: Kullback-Leibler nearest

neighbor rules. Science, no. 205, pp.193-195.

Gevins, A. S., C. L. Veagar, S. L. Diamond, J. Spire, G. Zeitlin, and A. Gevins.

(1975). Automated analysis of the electrical activity of the human brain

(EEG). A progress report. Proc. IEEE, no. 63, pp.1382-1399.

Page 92: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

79

Grenander, U. (1950). Stochastic processed and statistical inference. Arkiv

for Mat. 1, no. 17, pp.195-277.

Helstrom, C. W. (1968). Statistical Theory of Signal Detection, 2nd

ed.

Pergamon ,New York.

Huang, H. Y. (2003). Discrimination of nonstationary time series using the

SLEX model. Ph.D. dissertation, Dept. of Statistics, University of

Pittsburgh.

Huang, T. H., K. H. You, and H. C. Wang (2000). Speech model

compensation with direct adaptation of cepstral variance to noisy environment.

In the proceedings of the International Conference on Spoken Language

Processing, ICSLP2000, Beijing, China, IV. pp.366-369

Hung, W. W. and H. C. Wang (1999). Using adaptive signal limiter together

with noise-robust techniques for noisy speech recognition. In proceedings of

the 6th European Conference on Speech Communication and Technology,

EUROSPEECH’99, Budapest, Hungary, pp.2491-2494.

Itakura, F. (1975). Minimum prediction residual principle applied to speech

recognition. IEEE Trans. Acoustics, Speech, and Signal Proc, ASSP-23, 1,

pp.52-72.

Johnson, R. A., and D. Wichern. (1982). Applied Multivariate Statistical

Analysis. Prentice Hall, New Jersey

Keogh, E. (2002). Exact indexing of dynamic time warping. In

proceedings of the 28th

International Conference on Very Large Data Bases,

Hong Kong, pp.406-417.

Keogh, E., T. Palpanas,, V. B. Zordan, D. Gunopulos, and M. Cardle, (2004).

Indexing large human-motion databases. In proceedings of the 30th

International Conference on Very Large Data Bases, Vol. 30, Toronto,

pp.780-791.

Kim, S., S. Park and W. Chu(2001). An index-based approach for similarity

Page 93: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

80

search supporting time warping in large sequence databases. In proceedings

of the 17th

International Conference on Data Engineering, pp.607-614.

Lo, Chi and Shihfen Yu (2006). Statistical spectral estimation and

discriminant analysis with an application to the voice recognition. Chung Hua

Journal of Science and Engineering, 4, no. 3, pp.65-75.

Markel, J. D., and A. H. Gray, Jr. (1976). Linear Prediction of Speech.

Berlin: Springer-Verlag, Berlin.

Oppenheim, A. V., and A. S. Willsky. (1983). Signals and Systems.

Prentice-Hall, Singapore.

Ratanamahatana, C. A. and E. Keogh. Making time-series classification more

accurate using learned constraints. In SIAM International Conference on

Data Mining.

Rabiner, L. and B. Juang. (1993). Fundamentals of speech recognition.

Prentice-Hall, New Jersey.

Sakoe, H. and S. Chiba. (1978). Dynamic programming optimization for

spoken word recognition. IEEE Trans. Acoustics, Speech, and Signal Proc.,

Vol. ASSP-26 1, pp.43-49.

Shumway, R. H. (1982). Discriminant analysis for time series. In

Handbook of Statistics, Vol. II, Classification, Pattern Recognition and

Reduction of Dimensionality, ed. P. R. Krishnaiah, pp.1-43. North Holland,

Amsterdam.

Shumway, R. H. (1988). Applied Statistical Time Series Analysis.

Prentice-Hall, New Jersey.

Slutsker, G. (1968). Non-linear method of analysis of Speech Signal. Trudy N.

I. I. R.

Page 94: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

81

Velichko, V. and N. Zagoruyko (1970). Automatic recognition of

200words. Int. J. Man-Machine studies, 2, pp.223-234.

Vintsyuk, T. K. (1968). Speech recognition by dynamic programming.

Kybernetika, 4, 1, pp.81-88

Wang, H. C. (1999). Speech research infra-structure in Taiwan –From

database design to performance assessment. In the proceedings of the. Second

International Workshop on East-Asian Language resources and evaluation

(Oriental COCOSDA’99), Taipei, Taiwan, pp.53-56.

Wang, H. C., F. Seide, C. Y. Tseng, and L. S. Lee (2000). MAT2000 – Design,

collection, and validation of a Mandarin 2000-speaker telephone speech

database. In proceedings of the International Conference on Spoken Language

Processing, ICSLP2000, Beijing, China, IV. pp.460-463.

Wei, William W. S. (2006). Time Series Analysis: Univariate and

Multivariate Methods, 2nd

edition. Pearson Education, New York.

Wolf, J. J. (1976). Speech recognition and understanding. In Digital

Pattern Recognition, ed. K. S. Fu, pp.167-203. Springer-Verlag, Berlin.

Yi, B. K., H. Jagadish and C. Faloutsos(1998). Efficient retrieval of similar

time sequences under time warping. In ICDE, pp23-27.

You, K. H., T. H. Hwang, and H. C. Wang (2000). Combination of temporal

trajectory filtering and projection measure for robust speaker identification. In

proceedings of the International Conference on Spoken Language Processing,

ICSLP2000, Beijing, China, II. pp.791-794.

Yu, A. T. and H. C. Wang (1999). Effect of noise on line spectrum frequency

and a robust speech recognition method for the low bit-rate encoded speech.

In proceedings of the The XIVth International Congress of Phonetic Sciences,

ICPhS’99, San Francisco, CA, pp.1697-1700.

王小川(2007),語音訊號處理(修訂版),台北:全華圖書股份有限公司。

Page 95: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

82

清 華 大 學 資 訊 工 程 學 系 教 授 - 張 智 星 老 師 ,

http://neural.cs.nthu.edu.tw/jang/books/audioSignalProcessing/

kNN 演算法,http://mmdays.wordpress.com/2007/05/16/knn/

Page 96: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

83

附錄附錄附錄附錄 1::::第一位錄音者第一位錄音者第一位錄音者第一位錄音者(宋宋宋宋 s)、、、、第二位錄音者第二位錄音者第二位錄音者第二位錄音者(張張張張 g)

與第三位錄音者與第三位錄音者與第三位錄音者與第三位錄音者(鄭鄭鄭鄭 k)聲音資料的聲音資料的聲音資料的聲音資料的載入之載入之載入之載入之

程式碼程式碼程式碼程式碼

clear %清除變數

si01=load('C:\voice\s01.txt'); %載入變數 si02=load('C:\voice\s02.txt'); si03=load('C:\voice\s03.txt'); si04=load('C:\voice\s04.txt'); si05=load('C:\voice\s05.txt'); …… si036=load('C:\voice\s36.txt'); si037=load('C:\voice\s37.txt'); si038=load('C:\voice\s38.txt'); si039=load('C:\voice\s39.txt'); si040=load('C:\voice\s40.txt');

ssi01=si01(4:4:end); %要使得變數長度為5512,並取中間的數值 ssi02=si02(4:4:end); ssi03=si03(4:4:end); ssi04=si04(4:4:end); ssi05=si05(4:4:end); …… ssi036=si036(4:4:end); ssi037=si037(4:4:end); ssi038=si038(4:4:end); ssi039=si039(4:4:end); ssi040=si040(4:4:end);

%使變數減平均數除標準差再平滑 ss01= smooth((ssi01-mean(ssi01))/std(ssi01)); ss02= smooth((ssi02-mean(ssi02))/std(ssi02)); ss03= smooth((ssi03-mean(ssi03))/std(ssi03)); ss04= smooth((ssi04-mean(ssi04))/std(ssi04)); ss05= smooth((ssi05-mean(ssi05))/std(ssi05)); …… ss036= smooth((ssi036-mean(ssi036))/std(ssi036)); ss037= smooth((ssi037-mean(ssi037))/std(ssi037)); ss038= smooth((ssi038-mean(ssi038))/std(ssi038)); ss039= smooth((ssi039-mean(ssi039))/std(ssi039)); ss040= smooth((ssi040-mean(ssi040))/std(ssi040));

gi01=load('C:\voice\g01.txt'); gi02=load('C:\voice\g02.txt'); gi03=load('C:\voice\g03.txt'); gi04=load('C:\voice\g04.txt'); gi05=load('C:\voice\g05.txt'); …… gi036=load('C:\voice\g36.txt'); gi037=load('C:\voice\g37.txt'); gi038=load('C:\voice\g38.txt'); gi039=load('C:\voice\g39.txt'); gi040=load('C:\voice\g40.txt');

Page 97: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

84

ggi01=gi01(2:2:end); ggi02=gi02(2:2:end); ggi03=gi03(2:2:end); ggi04=gi04(2:2:end); ggi05=gi05(2:2:end); …… ggi036=gi036(2:2:end); ggi037=gi037(2:2:end); ggi038=gi038(2:2:end); ggi039=gi039(2:2:end); ggi040=gi040(2:2:end);

gg01= smooth((ggi01-mean(ggi01))/std(ggi01)); gg02= smooth((ggi02-mean(ggi02))/std(ggi02)); gg03= smooth((ggi03-mean(ggi03))/std(ggi03)); gg04= smooth((ggi04-mean(ggi04))/std(ggi04)); gg05= smooth((ggi05-mean(ggi05))/std(ggi05)); …… gg036= smooth((ggi036-mean(ggi036))/std(ggi036)); gg037= smooth((ggi037-mean(ggi037))/std(ggi037)); gg038= smooth((ggi038-mean(ggi038))/std(ggi038)); gg039= smooth((ggi039-mean(ggi039))/std(ggi039)); gg040= smooth((ggi040-mean(ggi040))/std(ggi040)); ki01=load('C:\voice\l01.txt'); ki02=load('C:\voice\l02.txt'); ki03=load('C:\voice\l03.txt'); ki04=load('C:\voice\l04.txt'); ki05=load('C:\voice\l05.txt'); …… ki036=load('C:\voice\l36.txt'); ki037=load('C:\voice\l37.txt'); ki038=load('C:\voice\l38.txt'); ki039=load('C:\voice\l39.txt'); ki040=load('C:\voice\l40.txt');

kki01=li01(2:2:end); kki02=li02(2:2:end); kki03=li03(2:2:end); kki04=li04(2:2:end); kki05=li05(2:2:end); …… kki036=li036(2:2:end); kki037=li037(2:2:end); kki038=li038(2:2:end); kki039=li039(2:2:end); kki040=li040(2:2:end);

kk01= smooth((lli01-mean(lli01))/std(lli01)); kk02= smooth((lli02-mean(lli02))/std(lli02)); kk03= smooth((lli03-mean(lli03))/std(lli03)); kk04= smooth((lli04-mean(lli04))/std(lli04)); kk05= smooth((lli05-mean(lli05))/std(lli05)); …… kk036= smooth((lli036-mean(lli036))/std(lli036)); kk037= smooth((lli037-mean(lli037))/std(lli037)); kk038= smooth((lli038-mean(lli038))/std(lli038)); kk039= smooth((lli039-mean(lli039))/std(lli039)); kk040= smooth((lli040-mean(lli040))/std(lli040));

Page 98: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

85

附錄附錄附錄附錄 2::::第一位錄音者第一位錄音者第一位錄音者第一位錄音者(宋宋宋宋 s)、、、、第二位錄音者第二位錄音者第二位錄音者第二位錄音者(張張張張 g)

與第三位錄音者與第三位錄音者與第三位錄音者與第三位錄音者(鄭鄭鄭鄭 k)聲音資料的聲音資料的聲音資料的聲音資料的時間數時間數時間數時間數

列圖之程式碼列圖之程式碼列圖之程式碼列圖之程式碼

subplot(3,1,1);plot(timeseries(ss01),'b'),title('Time series plot of

ss01');xlabel(' ');ylabel(' ') set(gca,'xtick',[0 1000 2000 3000 4000 5000 5512]); set(gca,'xticklabel',{'0','1000','2000','3000','4000','5000','5512'}); axis([0 5512 -5 5]) subplot(3,1,2);plot(timeseries(gg01),'r'),title('Time series plot of

gg01');xlabel(' ');ylabel(' ') set(gca,'xtick',[0 1000 2000 3000 4000 5000 5512]); set(gca,'xticklabel',{'0','1000','2000','3000','4000','5000','5512'}); axis([0 5512 -5 5]) subplot(3,1,3);plot(timeseries(kk01),'g'),title('Time series plot of

kk01');xlabel(' ');ylabel(' ') set(gca,'xtick',[0 1000 2000 3000 4000 5000 5512]); set(gca,'xticklabel',{'0','1000','2000','3000','4000','5000','5512'}); axis([0 5512 -5 5])

Page 99: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

86

附錄附錄附錄附錄 3::::第一位錄音者第一位錄音者第一位錄音者第一位錄音者(宋宋宋宋 s)、、、、第二位錄音者第二位錄音者第二位錄音者第二位錄音者(張張張張 g)

與第三位錄音者與第三位錄音者與第三位錄音者與第三位錄音者(鄭鄭鄭鄭 k)聲音資料的聲音資料的聲音資料的聲音資料的歐式距歐式距歐式距歐式距

離之程式碼離之程式碼離之程式碼離之程式碼

tic %算出執行時間 到後面toc結束 NN=zeros(120); lks=[ss01,ss02,ss03,ss04,ss05,ss06,ss07,ss08,ss09,ss010,ss011,ss012,ss013

,ss014,ss015,ss016,ss017,ss018,ss019,ss020,ss021,ss022,ss023,ss024,ss025,

ss026,ss027,ss028,ss029,ss030,ss031,ss032,ss033,ss034,ss035,ss036,ss037,s

s038,ss039,ss040,gg01,gg02,gg03,gg04,gg05,gg06,gg07,gg08,gg09,gg010,gg011

,gg012,gg013,gg014,gg015,gg016,gg017,gg018,gg019,gg020,gg021,gg022,gg023,

gg024,gg025,gg026,gg027,gg028,gg029,gg030,gg031,gg032,gg033,gg034,gg035,g

g036,gg037,gg038,gg039,gg040,kk01,kk02,kk03,kk04,kk05,kk06,kk07,kk08,kk09

,kk010,kk011,kk012,kk013,kk014,kk015,kk016,kk017,kk018,kk019,kk020,kk021,

kk022,kk023,kk024,kk025,kk026,kk027,kk028,kk029,kk030,kk031,kk032,kk033,k

k034,kk035,kk036,kk037,kk038,kk039,kk040]; for i=1:120 for j=1:120 NN(i,j)=sqrt(sum((lks(:,i)-lks(:,j)).^2)); end end toc

Page 100: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

87

附錄附錄附錄附錄 4::::第一位錄音者第一位錄音者第一位錄音者第一位錄音者(宋宋宋宋 s)、、、、第二位錄音者第二位錄音者第二位錄音者第二位錄音者(張張張張 g)

與第三位錄音者與第三位錄音者與第三位錄音者與第三位錄音者(鄭鄭鄭鄭k)聲音資料的聲音資料的聲音資料的聲音資料的DTW距距距距

離離離離(附近連續限制類型附近連續限制類型附近連續限制類型附近連續限制類型 I)之程式碼之程式碼之程式碼之程式碼

tic NN=zeros(120); lks=[ss01,ss02,ss03,ss04,ss05,ss06,ss07,ss08,ss09,ss010,ss011,ss012,ss013

,ss014,ss015,ss016,ss017,ss018,ss019,ss020,ss021,ss022,ss023,ss024,ss025,

ss026,ss027,ss028,ss029,ss030,ss031,ss032,ss033,ss034,ss035,ss036,ss037,s

s038,ss039,ss040,gg01,gg02,gg03,gg04,gg05,gg06,gg07,gg08,gg09,gg010,gg011

,gg012,gg013,gg014,gg015,gg016,gg017,gg018,gg019,gg020,gg021,gg022,gg023,

gg024,gg025,gg026,gg027,gg028,gg029,gg030,gg031,gg032,gg033,gg034,gg035,g

g036,gg037,gg038,gg039,gg040,kk01,kk02,kk03,kk04,kk05,kk06,kk07,kk08,kk09

,kk010,kk011,kk012,kk013,kk014,kk015,kk016,kk017,kk018,kk019,kk020,kk021,

kk022,kk023,kk024,kk025,kk026,kk027,kk028,kk029,kk030,kk031,kk032,kk033,k

k034,kk035,kk036,kk037,kk038,kk039,kk040];

for i=1:120

for j=1:120 if (j>i) %因為是對稱矩陣,所以是算一半,i=j時,只會是0 t=lks(:,i)'; r=lks(:,j)'; m=length(t)+1; n=length(r)+1; z=inf(m,n); for o=2:m for p=2:n z(2,2)=2*abs(t(1)-r(1)); x=min(abs(t(o-1)-r(p-1))+z(o-1,p),

2*(abs(t(o-1)-r(p-1)))+z(o-1,p-1)); y=min(x,abs(t(o-1)-r(p-1))+z(o,p-1)); z(o,p)=min(x,y); end end NN(i,j)=z(m,n)/(m+n-2); %路徑限制1DTW之距離 end end end NN=NN+transpose(NN); %算一半加上另一半剛好是完整

toc/3600 %把時間秒鐘變成小時

Page 101: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

88

附錄附錄附錄附錄 5::::第一位錄音者第一位錄音者第一位錄音者第一位錄音者(宋宋宋宋 s)、、、、第二位錄音者第二位錄音者第二位錄音者第二位錄音者(張張張張 g)

與第三位錄音者與第三位錄音者與第三位錄音者與第三位錄音者(鄭鄭鄭鄭k)聲音資料的聲音資料的聲音資料的聲音資料的DTW距距距距

離離離離(附近連續限制類型附近連續限制類型附近連續限制類型附近連續限制類型 II)之程式碼之程式碼之程式碼之程式碼

tic NN=zeros(120); lks=[ss01,ss02,ss03,ss04,ss05,ss06,ss07,ss08,ss09,ss010,ss011,ss012,ss013

,ss014,ss015,ss016,ss017,ss018,ss019,ss020,ss021,ss022,ss023,ss024,ss025,

ss026,ss027,ss028,ss029,ss030,ss031,ss032,ss033,ss034,ss035,ss036,ss037,s

s038,ss039,ss040,gg01,gg02,gg03,gg04,gg05,gg06,gg07,gg08,gg09,gg010,gg011

,gg012,gg013,gg014,gg015,gg016,gg017,gg018,gg019,gg020,gg021,gg022,gg023,

gg024,gg025,gg026,gg027,gg028,gg029,gg030,gg031,gg032,gg033,gg034,gg035,g

g036,gg037,gg038,gg039,gg040,kk01,kk02,kk03,kk04,kk05,kk06,kk07,kk08,kk09

,kk010,kk011,kk012,kk013,kk014,kk015,kk016,kk017,kk018,kk019,kk020,kk021,

kk022,kk023,kk024,kk025,kk026,kk027,kk028,kk029,kk030,kk031,kk032,kk033,k

k034,kk035,kk036,kk037,kk038,kk039,kk040]; for i=1:120 for j=1:120 if (j>i) t=lks(:,i)'; r=lks(:,j)'; m=length(t)+1; n=length(r)+1; z=inf(m,n); for o=3:m for p=3:n z(2,2)=2*abs(t(1)-r(1)); if (z(o-2,p-1)==inf & z(o-1,p-1)==inf & z(o-1,p-2)==inf) z(o,p)=inf; else

x=min(1.5*(abs(t(o-1)-r(p-1))+(abs(t(o-2)-r(p-1))))+z(o-2,p-1),

2*(abs(t(o-1)-r(p-1)))+z(o-1,p-1));

y=min(x,1.5*(abs(t(o-1)-r(p-1))+(abs(t(o-1)-r(p-2))))+z(o-1,p-2)); z(o,p)=min(x,y); end end end NN(i,j)=z(m,n)/((m-1)+(n-1)); end end end NN=NN+transpose(NN); toc/3600

Page 102: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

89

附錄附錄附錄附錄 6::::第一位錄音者第一位錄音者第一位錄音者第一位錄音者(宋宋宋宋 s)、、、、第二位錄音者第二位錄音者第二位錄音者第二位錄音者(張張張張 g)

與第三位錄音者與第三位錄音者與第三位錄音者與第三位錄音者(鄭鄭鄭鄭k)聲音資料的聲音資料的聲音資料的聲音資料的DTW距距距距

離離離離(附近連續限制類型附近連續限制類型附近連續限制類型附近連續限制類型 I)之程式碼之程式碼之程式碼之程式碼

tic NN=zeros(120); lks=[ss01,ss02,ss03,ss04,ss05,ss06,ss07,ss08,ss09,ss010,ss011,ss012,ss013

,ss014,ss015,ss016,ss017,ss018,ss019,ss020,ss021,ss022,ss023,ss024,ss025,

ss026,ss027,ss028,ss029,ss030,ss031,ss032,ss033,ss034,ss035,ss036,ss037,s

s038,ss039,ss040,gg01,gg02,gg03,gg04,gg05,gg06,gg07,gg08,gg09,gg010,gg011

,gg012,gg013,gg014,gg015,gg016,gg017,gg018,gg019,gg020,gg021,gg022,gg023,

gg024,gg025,gg026,gg027,gg028,gg029,gg030,gg031,gg032,gg033,gg034,gg035,g

g036,gg037,gg038,gg039,gg040,kk01,kk02,kk03,kk04,kk05,kk06,kk07,kk08,kk09

,kk010,kk011,kk012,kk013,kk014,kk015,kk016,kk017,kk018,kk019,kk020,kk021,

kk022,kk023,kk024,kk025,kk026,kk027,kk028,kk029,kk030,kk031,kk032,kk033,k

k034,kk035,kk036,kk037,kk038,kk039,kk040]; for i=1:120 for j=1:120 if (j>i) t=lks(:,i)'; r=lks(:,j)'; m=length(t)+1; n=length(r)+1; z=inf(m,n); for o=3:m for p=3:n z(2,2)=2*abs(t(1)-r(1)); if (z(o-2,p-1)==inf & z(o-1,p-1)==inf & z(o-1,p-2)==inf) z(o,p)=inf; else

x=min(3*(abs(t(o-1)-r(p-1)))+z(o-2,p-1),

2*(abs(t(o-1)-r(p-1)))+z(o-1,p-1)); y=min(x,3*(abs(t(o-1)-r(p-1)))+z(o-1,p-2)); z(o,p)=y; end end end NN(i,j)=z(m,n)/(m+n-2); end end end NN=NN+transpose(NN); toc/3600

Page 103: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

90

附錄附錄附錄附錄 7::::第一位錄音者第一位錄音者第一位錄音者第一位錄音者(宋宋宋宋 s)、、、、第二位錄音者第二位錄音者第二位錄音者第二位錄音者(張張張張 g)

與第三位錄音者與第三位錄音者與第三位錄音者與第三位錄音者(鄭鄭鄭鄭k)聲音資料的聲音資料的聲音資料的聲音資料的DTW距距距距

離離離離(附近連續限制類型附近連續限制類型附近連續限制類型附近連續限制類型 IV)之程式碼之程式碼之程式碼之程式碼

tic NN=zeros(120); lks=[ss01,ss02,ss03,ss04,ss05,ss06,ss07,ss08,ss09,ss010,ss011,ss012,ss013

,ss014,ss015,ss016,ss017,ss018,ss019,ss020,ss021,ss022,ss023,ss024,ss025,

ss026,ss027,ss028,ss029,ss030,ss031,ss032,ss033,ss034,ss035,ss036,ss037,s

s038,ss039,ss040,gg01,gg02,gg03,gg04,gg05,gg06,gg07,gg08,gg09,gg010,gg011

,gg012,gg013,gg014,gg015,gg016,gg017,gg018,gg019,gg020,gg021,gg022,gg023,

gg024,gg025,gg026,gg027,gg028,gg029,gg030,gg031,gg032,gg033,gg034,gg035,g

g036,gg037,gg038,gg039,gg040,kk01,kk02,kk03,kk04,kk05,kk06,kk07,kk08,kk09

,kk010,kk011,kk012,kk013,kk014,kk015,kk016,kk017,kk018,kk019,kk020,kk021,

kk022,kk023,kk024,kk025,kk026,kk027,kk028,kk029,kk030,kk031,kk032,kk033,k

k034,kk035,kk036,kk037,kk038,kk039,kk040]; for i=1:120 for j=1:120 if (j>i) t=lks(:,i)'; r=lks(:,j)'; m=length(t)+1; n=length(r)+1; z=inf(m,n); for o=3:m for p=3:n z(2,2)=2*abs(t(1)-r(1)); if (z(o-2,p-1)==inf & z(o-1,p-1)==inf & z(o-1,p-2)==inf) z(o,p)=inf; else

x0=min(1.5*(abs(t(o-1)-r(p-1))+(abs(t(o-2)-r(p-1))))+z(o-2,p-1),

2*(abs(t(o-1)-r(p-1))+(abs(t(o-2)-r(p-1))))+z(o-2,p-2)); x1=min(x0,2*(abs(t(o-1)-r(p-1)))+z(o-1,p-1)); x2=min(x1,3*(abs(t(o-1)-r(p-1)))+z(o-1,p-2)); z(o,p)=x2; end end end NN(i,j)=z(m,n)/(m+n-2); end end end NN=NN+transpose(NN); toc/3600

Page 104: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

91

附錄附錄附錄附錄 8::::第一位錄音者第一位錄音者第一位錄音者第一位錄音者(宋宋宋宋 s)、、、、第二位錄音者第二位錄音者第二位錄音者第二位錄音者(張張張張 g)

與第三位錄音者與第三位錄音者與第三位錄音者與第三位錄音者(鄭鄭鄭鄭k)聲音資料的聲音資料的聲音資料的聲音資料的DTW距距距距

離離離離(附近連續限制類型附近連續限制類型附近連續限制類型附近連續限制類型 V)之程式碼之程式碼之程式碼之程式碼

tic NN=zeros(120); lks=[ss01,ss02,ss03,ss04,ss05,ss06,ss07,ss08,ss09,ss010,ss011,ss012,ss013

,ss014,ss015,ss016,ss017,ss018,ss019,ss020,ss021,ss022,ss023,ss024,ss025,

ss026,ss027,ss028,ss029,ss030,ss031,ss032,ss033,ss034,ss035,ss036,ss037,s

s038,ss039,ss040,gg01,gg02,gg03,gg04,gg05,gg06,gg07,gg08,gg09,gg010,gg011

,gg012,gg013,gg014,gg015,gg016,gg017,gg018,gg019,gg020,gg021,gg022,gg023,

gg024,gg025,gg026,gg027,gg028,gg029,gg030,gg031,gg032,gg033,gg034,gg035,g

g036,gg037,gg038,gg039,gg040,kk01,kk02,kk03,kk04,kk05,kk06,kk07,kk08,kk09

,kk010,kk011,kk012,kk013,kk014,kk015,kk016,kk017,kk018,kk019,kk020,kk021,

kk022,kk023,kk024,kk025,kk026,kk027,kk028,kk029,kk030,kk031,kk032,kk033,k

k034,kk035,kk036,kk037,kk038,kk039,kk040]; for i=1:120 for j=1:120 if (j>i) t=lks(:,i)'; r=lks(:,j)'; m=length(t)+1; n=length(r)+1; z=inf(m,n); for o=3 % o等於3,t(0)不能定義所以第一路徑不可走,但是當p>4第五路徑可走 for p=4:n

z(2,2)=2*(abs(t(1)-r(1))); z(3,3)=2*(abs(t(2)-r(2)))+z(2,2); if (z(o-2,p-1)==inf & z(o-1,p-1)==inf & z(o-1,p-2)==inf) z(o,p)=inf; else

x0=min(1.5*(abs(t(o-2)-r(p-1))+(abs(t(o-1)-r(p-1))))+z(o-2,p-1),

2*(abs(t(o-1)-r(p-1)))+z(o-1,p-1));

x1=min(x0,1.5*(abs(t(o-1)-r(p-2))+abs(t(o-1)-r(p-1)))+z(o-1,p-2)); x2=min(x1,4*(abs(t(o-1)-r(p-3))+abs(t(o-1)-r(p-2))+abs(t(o-1)-r(p-1)))/3+

z(o-1,p-3)); z(o,p)=x2; end end end for p=3 % p等於3,r(0)不能定義所以第五路徑不可走,但是當o>4第一路徑可走 for o=4:n

z(2,2)=2*(abs(t(1)-r(1))); z(3,3)=2*(abs(t(2)-r(2)))+z(2,2); if (z(o-2,p-1)==inf & z(o-1,p-1)==inf & z(o-1,p-2)==inf) z(o,p)=inf; else

x0=min(1.5*(abs(t(o-2)-r(p-1))+(abs(t(o-1)-r(p-1))))+z(o-2,p-1),

2*(abs(t(o-1)-r(p-1)))+z(o-1,p-1));

x1=min(x0,1.5*(abs(t(o-1)-r(p-2))+abs(t(o-1)-r(p-1)))+z(o-1,p-2));

x2=min(x1,4*(abs(t(o-3)-r(p-1))+abs(t(o-2)-r(p-1))+abs(t(o-1)-r(p-1)))/3+

z(o-3,p-1));

z(o,p)=x2;

Page 105: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

92

end end end for o=4:m % o,p都大於4,五條路徑都可走 for p=4:n z(2,2)=2*(abs(t(1)-r(1))); z(3,3)=2*(abs(t(2)-r(2)))+z(2,2); if (z(o-2,p-1)==inf & z(o-1,p-1)==inf & z(o-1,p-2)==inf) z(o,p)=inf; else

x0=min(4*(abs(t(o-3)-r(p-1))+abs(t(o-2)-r(p-1))+abs(t(o-1)-r(p-1)))/3+z(o

-3,p-1),1.5*(abs(t(o-2)-r(p-1))+(abs(t(o-1)-r(p-1))))+z(o-2,p-1));

x1=min(x0,2*(abs(t(o-1)-r(p-1)))+z(o-1,p-1));

x2=min(x1,1.5*(abs(t(o-1)-r(p-2))+abs(t(o-1)-r(p-1)))+z(o-1,p-2));

x3=min(x2,4*(abs(t(o-1)-r(p-3))+abs(t(o-1)-r(p-2))+abs(t(o-1)-r(p-1)))/3+

z(o-1,p-3)); z(o,p)=x3; end end end NN(i,j)=z(m,n)/(m+n-2); end end end NN=NN+transpose(NN); toc/3600

Page 106: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

93

附錄附錄附錄附錄 9::::第一位錄音者第一位錄音者第一位錄音者第一位錄音者(宋宋宋宋 s)、、、、第二位錄音者第二位錄音者第二位錄音者第二位錄音者(張張張張 g)

與第三位錄音者與第三位錄音者與第三位錄音者與第三位錄音者(鄭鄭鄭鄭k)聲音資料的聲音資料的聲音資料的聲音資料的DTW距距距距

離離離離(Global附近連續限制類型附近連續限制類型附近連續限制類型附近連續限制類型 V)之程式碼之程式碼之程式碼之程式碼 tic NN=zeros(120); lks=[ss01,ss02,ss03,ss04,ss05,ss06,ss07,ss08,ss09,ss010,ss011,ss012,ss013

,ss014,ss015,ss016,ss017,ss018,ss019,ss020,ss021,ss022,ss023,ss024,ss025,

ss026,ss027,ss028,ss029,ss030,ss031,ss032,ss033,ss034,ss035,ss036,ss037,s

s038,ss039,ss040,gg01,gg02,gg03,gg04,gg05,gg06,gg07,gg08,gg09,gg010,gg011

,gg012,gg013,gg014,gg015,gg016,gg017,gg018,gg019,gg020,gg021,gg022,gg023,

gg024,gg025,gg026,gg027,gg028,gg029,gg030,gg031,gg032,gg033,gg034,gg035,g

g036,gg037,gg038,gg039,gg040,kk01,kk02,kk03,kk04,kk05,kk06,kk07,kk08,kk09

,kk010,kk011,kk012,kk013,kk014,kk015,kk016,kk017,kk018,kk019,kk020,kk021,

kk022,kk023,kk024,kk025,kk026,kk027,kk028,kk029,kk030,kk031,kk032,kk033,k

k034,kk035,kk036,kk037,kk038,kk039,kk040]; for i=1:120 for j=1:120 if (j>i) t=lks(:,i)'; r=lks(:,j)'; m=length(t)+1; n=length(r)+1; z=inf(m,n); for o=3 % o等於3,t(0)不能定義所以第一路徑不可走,但是當p>4第五路徑可走 for p=4:n z(2,2)=2*(abs(t(1)-r(1))); z(3,3)=2*(abs(t(2)-r(2)))+z(2,2); if(p>=0.5*(o+1) && p>=(2*(o-m)+n) && p<=(2*o-1) && p<=(0.5*(o-m)+n))

%Global判別式,其餘程式碼一樣 x0=min(1.5*(abs(t(o-2)-r(p-1))+(abs(t(o-1)-r(p-1))))+z(o-2,p-1),2*(abs(t(

o-1)-r(p-1)))+z(o-1,p-1));

x1=min(x0,1.5*(abs(t(o-1)-r(p-2))+abs(t(o-1)-r(p-1)))+z(o-1,p-2));

x2=min(x1,4*(abs(t(o-1)-r(p-3))+abs(t(o-1)-r(p-2))+abs(t(o-1)-r(p-1)))/3+

z(o-1,p-3));

z(o,p)=x2; else z(o,p)=inf; end end end for p=3 % p等於3,r(0)不能定義所以第五路徑不可走,但是當o>4第一路徑可走 for o=4:n z(2,2)=2*(abs(t(1)-r(1))); z(3,3)=2*(abs(t(2)-r(2)))+z(2,2); if(p>=0.5*(o+1) && p>=(2*(o-m)+n) && p<=(2*o-1) && p<=(0.5*(o-m)+n))

%Global判別式,其餘程式碼一樣 x0=min(1.5*(abs(t(o-2)-r(p-1))+(abs(t(o-1)-r(p-1))))+z(o-2,p-1),2*(abs(t(

o-1)-r(p-1)))+z(o-1,p-1));

x1=min(x0,1.5*(abs(t(o-1)-r(p-2))+abs(t(o-1)-r(p-1)))+z(o-1,p-2));

x2=min(x1,4*(abs(t(o-3)-r(p-1))+abs(t(o-2)-r(p-1))+abs(t(o-1)-r(p-1)))/3+

z(o-3,p-1)); z(o,p)=x2; else z(o,p)=inf;

Page 107: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

94

end end end for o=4:m % o,p都大於4,五條路徑都可走

for p=4:n z(2,2)=2*(abs(t(1)-r(1))); z(3,3)=2*(abs(t(2)-r(2)))+z(2,2); if(p>=0.5*(o+1) && p>=(2*(o-m)+n) && p<=(2*o-1) && p<=(0.5*(o-m)+n))

%Global判別式,其餘程式碼一樣 x0=min(4*(abs(t(o-3)-r(p-1))+abs(t(o-2)-r(p-1))+abs(t(o-1)-r(p-1)))/3+z(o

-3,p-1),1.5*(abs(t(o-2)-r(p-1))+(abs(t(o-1)-r(p-1))))+z(o-2,p-1));

x1=min(x0,2*(abs(t(o-1)-r(p-1)))+z(o-1,p-1));

x2=min(x1,1.5*(abs(t(o-1)-r(p-2))+abs(t(o-1)-r(p-1)))+z(o-1,p-2));

x3=min(x2,4*(abs(t(o-1)-r(p-3))+abs(t(o-1)-r(p-2))+abs(t(o-1)-r(p-1)))/3+

z(o-1,p-3)); z(o,p)=x3; else z(o,p)=inf; end end end NN(i,j)=z(m,n)/(m-1); end end end NN=NN+transpose(NN); toc/3600

Page 108: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

95

附錄附錄附錄附錄 10::::kNN分類法當分類法當分類法當分類法當 k = 1時之程式碼時之程式碼時之程式碼時之程式碼

laa=zeros(120,3); for i=1:120 [B,IX] = sort(NN(i,:),2); %此方法會從小排到大並且列出原本的位置 laa(i,1)=length(find(IX(2)<41)); laa(i,2)=length(find(IX(2)>40 & IX(2)<81)); laa(i,3)=length(find(IX(2)>80 & IX(2)<121)); end

sum1=0; sum2=0; sum3=0; for i=1:40

if (laa(i,1)>laa(i,2)) sum1=sum1+1; elseif (laa(i,2)>laa(i,1)) sum2=sum2+1; else sum3=sum3+1; end end

sum4=0; sum5=0; sum6=0; for i=41:80 if (laa(i,2)>laa(i,1)) sum5=sum5+1; elseif (laa(i,1)>laa(i,2)) sum4=sum4+1; else sum6=sum6+1; end end

sum7=0; sum8=0; sum9=0; for i=81:120 if (laa(i,3)>laa(i,1)) sum9=sum9+1; elseif (laa(i,1)>laa(i,2)) sum7=sum7+1; else sum8=sum8+1; end end

shi=[sum1 sum2 sum3;sum4 sum5 sum6;sum7 sum8 sum9]; error=1-(sum(shi(1,1)+shi(2,2)+shi(3,3))/(sum(shi(1,:)+shi(2,:)+shi(3,:))

)); disp(' 1 2 3') disp(' ______________') disp(shi) fprintf('Error rate %8.9f\n', error)

Page 109: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

96

附錄附錄附錄附錄 11::::第一位錄音者第一位錄音者第一位錄音者第一位錄音者(宋宋宋宋 s)、、、、第二位錄音者第二位錄音者第二位錄音者第二位錄音者(張張張張 g)

與第三位錄音者與第三位錄音者與第三位錄音者與第三位錄音者(鄭鄭鄭鄭 k)聲音資料的聲音資料的聲音資料的聲音資料的使用使用使用使用

Kim 的下限制方法的下限制方法的下限制方法的下限制方法(LB_Kim)的的的的 DTW 距距距距

離離離離(附近連續限制類型附近連續限制類型附近連續限制類型附近連續限制類型 I) 之程式碼之程式碼之程式碼之程式碼 NN=zeros(120); lks=[ss01,ss02,ss03,ss04,ss05,ss06,ss07,ss08,ss09,ss010,ss011,ss012,ss013

,ss014,ss015,ss016,ss017,ss018,ss019,ss020,ss021,ss022,ss023,ss024,ss025,

ss025,ss026,ss027,ss028,ss029,ss030,ss031,ss032,ss033,ss034,ss035,ss036,s

s037,ss038,ss039,ss040,gg01,gg02,gg03,gg04,gg05,gg06,gg07,gg08,gg09,gg010

,gg011,gg012,gg013,gg014,gg015,gg016,gg017,gg018,gg019,gg020,gg021,gg022,

gg023,gg024,gg025,gg026,gg027,gg028,gg029,gg030,gg031,gg032,gg033,gg034,g

g035,gg036,gg037,gg038,gg039,gg040,kk01,kk02,kk03,kk04,kk05,kk06,kk07,kk0

8,kk09,kk010,kk011,kk012,kk013,kk014,kk015,kk016,kk017,kk018,kk019,kk020,

kk021,kk022,kk023,kk024,kk025,kk026,kk027,kk028,kk029,kk030,kk031,kk032,k

k033,kk034,kk035,kk036,kk037,kk038,kk039,kk040]; LLL=zeros(120,1); Q=zeros(3,3); c=0;

for j=1:120 far=inf; for i=1:120 if i==j else LB(1,1)=abs(lks(1,i)-lks(1,j));%兩數列起始點的距離

LB(1,2)=abs(max(lks(:,i))-max(lks(:,j)));%兩數列最大值的距離

LB(1,3)=abs(min(lks(:,i))-min(lks(:,j)));% 兩數列最小值的距離

LB(1,4)=abs(lks(5512,i)-lks(5512,j));%兩數列終點的距離

LB_1=max(LB,[],2); %取出最大值 if LB_1<far t=lks(:,i)'; r=lks(:,j)'; m=length(t)+1; n=length(r)+1; z=zeros(m,n); z(:,1)=inf; z(1,:)=inf; for o=2:m for p=2:n z(2,2)=2*abs(t(1)-r(1));

x=min(abs(t(o-1)-r(p-1))+z(o-1,p),2*(abs(t(o-1)-r(p-1)))+z(o-1,p-1));

y=min(2*(abs(t(o-1)-r(p-1)))+z(o-1,p-1),abs(t(o-1)-r(p-1))+z(o,p-1)); z(o,p)=min(x,y); end end NN(i,j)=z(m,n)/(m+n-2); true=NN(i,j); c=c+1;

Page 110: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

97

if true<far far=true; match=i; end end end end end error=1-(sum(Q(1,1)+Q(2,2)+Q(3,3))/(sum(Q(1,:)+Q(2,:)+Q(3,:)))); disp(' 1 2 3') disp(' ______________') disp(Q) fprintf('Error rate %8.9f\n', error) fprintf('time: %f hours of LB_Kim_DTW_1d\n', toc/3600)

Page 111: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

98

附錄附錄附錄附錄 12::::第一位錄音者第一位錄音者第一位錄音者第一位錄音者(宋宋宋宋 s)、、、、第二位錄音者第二位錄音者第二位錄音者第二位錄音者(張張張張 g)

與第三位錄音者與第三位錄音者與第三位錄音者與第三位錄音者(鄭鄭鄭鄭 k)聲音資料的聲音資料的聲音資料的聲音資料的使用使用使用使用 Yi

的下限制方法的下限制方法的下限制方法的下限制方法(LB_Yi)的的的的 DTW距離距離距離距離(附近附近附近附近

連續限制類型連續限制類型連續限制類型連續限制類型 I) 之程式碼之程式碼之程式碼之程式碼 lks=[ss01,ss02,ss03,ss04,ss05,ss06,ss07,ss08,ss09,ss010,ss011,ss012,ss013

,ss014,ss015,ss016,ss017,ss018,ss019,ss020,ss021,ss022,ss023,ss024,ss025,

ss025,ss026,ss027,ss028,ss029,ss030,ss031,ss032,ss033,ss034,ss035,ss036,s

s037,ss038,ss039,ss040,gg01,gg02,gg03,gg04,gg05,gg06,gg07,gg08,gg09,gg010

,gg011,gg012,gg013,gg014,gg015,gg016,gg017,gg018,gg019,gg020,gg021,gg022,

gg023,gg024,gg025,gg026,gg027,gg028,gg029,gg030,gg031,gg032,gg033,gg034,g

g035,gg036,gg037,gg038,gg039,gg040,kk01,kk02,kk03,kk04,kk05,kk06,kk07,kk0

8,kk09,kk010,kk011,kk012,kk013,kk014,kk015,kk016,kk017,kk018,kk019,kk020,

kk021,kk022,kk023,kk024,kk025,kk026,kk027,kk028,kk029,kk030,kk031,kk032,k

k033,kk034,kk035,kk036,kk037,kk038,kk039,kk040]; NN=zeros(120); LLL=zeros(120,1); Q=zeros(3,3); c=0;

for j=1:120 far=inf; Q_max=max(lks(:,j));%該數列的最大值(上限制)

Q_min=min(lks(:,j));%該數列的最小值(下限制) for i=1:120 if i==j else LB_Yi=0; for k=1:5512 if lks(k,i)>=0 if lks(k,i)>Q_max %判斷超出上限制的值

LB_Yi=LB_Yi+(lks(k,i)-Q_max)*(lks(k,i)-Q_max);%計

算距離 end else if lks(k,i)<Q_min %判斷低於上限制的值

LB_Yi=LB_Yi+(Q_min-lks(k,i))*(Q_min-lks(k,i));%計

算距離 end end end if LB_Yi<far t=lks(:,i)'; r=lks(:,j)'; m=length(t)+1; n=length(r)+1; z=zeros(m,n); z(:,1)=inf; z(1,:)=inf; for o=2:m for p=2:n z(2,2)=2*abs(t(1)-r(1));

Page 112: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

99

x=min(abs(t(o-1)-r(p-1))+z(o-1,p),2*(abs(t(o-1)-r(p-1)))+z(o-1,p-1));

y=min(2*(abs(t(o-1)-r(p-1)))+z(o-1,p-1),abs(t(o-1)-r(p-1))+z(o,p-1)); z(o,p)=min(x,y); end end NN(i,j)=z(m,n)/(m+n-2); true=NN(i,j); c=c+1;

if true<far c=c+1; far=true; match=i; end end end end end

Page 113: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

100

附錄附錄附錄附錄 13::::第一位錄音者第一位錄音者第一位錄音者第一位錄音者(宋宋宋宋 s)、、、、第二位錄音者第二位錄音者第二位錄音者第二位錄音者(張張張張 g)

與第三位錄音者與第三位錄音者與第三位錄音者與第三位錄音者(鄭鄭鄭鄭 k)聲音資料的聲音資料的聲音資料的聲音資料的使用使用使用使用

Keogh的下限制方法的下限制方法的下限制方法的下限制方法(LB_Keogh)的的的的DTW

距離距離距離距離(附近連續限制類型附近連續限制類型附近連續限制類型附近連續限制類型 I) 之程式碼之程式碼之程式碼之程式碼 tic NN=zeros(120); lks=[ss01,ss02,ss03,ss04,ss05,ss06,ss07,ss08,ss09,ss010,ss011,ss012,ss013

,ss014,ss015,ss016,ss017,ss018,ss019,ss020,ss021,ss022,ss023,ss024,ss025,

ss025,ss026,ss027,ss028,ss029,ss030,ss031,ss032,ss033,ss034,ss035,ss036,s

s037,ss038,ss039,ss040,gg01,gg02,gg03,gg04,gg05,gg06,gg07,gg08,gg09,gg010

,gg011,gg012,gg013,gg014,gg015,gg016,gg017,gg018,gg019,gg020,gg021,gg022,

gg023,gg024,gg025,gg026,gg027,gg028,gg029,gg030,gg031,gg032,gg033,gg034,g

g035,gg036,gg037,gg038,gg039,gg040,kk01,kk02,kk03,kk04,kk05,kk06,kk07,kk0

8,kk09,kk010,kk011,kk012,kk013,kk014,kk015,kk016,kk017,kk018,kk019,kk020,

kk021,kk022,kk023,kk024,kk025,kk026,kk027,kk028,kk029,kk030,kk031,kk032,k

k033,kk034,kk035,kk036,kk037,kk038,kk039,kk040]; LLL=zeros(120,1); Q=zeros(3,3); c=0;

U=zeros(5512,1); L=zeros(5512,1); qL=0; qU=0; R=1000;%寬度

for j=1:120 for k=1:5512 qU=k+R; qL=k-R; if qL<=1 qL=1; end if qU >=5512 qU=5512; end U(k)=max(lks(qL:qU,j));%上限制數列

L(k)=min(lks(qL:qU,j));%下限制數列 end far=inf; for i=1:120 qU_c=0; qL_c=0; if i==j else LB_Keogh=0; for l=1:5512 if lks(l,i) > U(l,1) LB_temp=sqrt((lks(l,i)-U(l,1)).^2);%超出上限制距離 qU_c=qU_c+1; elseif lks(l,i) < L(l,1)

Page 114: 中 華 大 學 碩 士 論 文 - chur.chu.edu.twchur.chu.edu.tw/bitstream/987654321/6227/1/GM097090100.pdf · The problem of distortion in the time axis can be solved by using Dynamic

101

LB_temp=sqrt((lks(l,i)-L(l,1)).^2);%低於下限制距離 qL_c=qL_c+1; else LB_temp=0; end LB_Keogh=LB_Keogh+LB_temp; end

if LB_Keogh<far t=lks(:,i)'; r=lks(:,j)'; m=length(t)+1; n=length(r)+1; z=inf(m,n); for o=3:m for p=3:n z(2,2)=2*abs(t(1)-r(1)); if (z(o-2,p-1)==inf && z(o-1,p-1)==inf && z(o-1,p-2)==inf) z(o,p)=inf; else

x=min(3*(abs(t(o-1)-r(p-1)))+z(o-2,p-1),2*(abs(t(o-1)-r(p-1)))+z(o-1,p-1)

); y=min(x,3*(abs(t(o-1)-r(p-1)))+z(o-1,p-2)); z(o,p)=y; end end end NN(i,j)=z(m,n)/(m+n-2); true=NN(i,j); c=c+1;

if true<far far=true; match=i; end end end end

end