1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phân tích lớp dữ liệu chuỗi thời gian sử dụng giải thuật có thời gian thực thi tùy chọn

96 8 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 96
Dung lượng 2,41 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Để cải thiện thời gian thực thi của giải thuật, đề tài sử dụng các kỹ thuật tính chặn dưới vào cả hai giai đoạn huấn luyện và phân lớp.. Mục tiêu và giới hạn đề tài Mục tiêu của đề tài

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA

NGUYỄN CÔNG THƯƠNG

PHÂN LỚP DỮ LIỆU CHUỖI THỜI GIAN

SỬ DỤNG GIẢI THUẬT CÓ THỜI GIAN THỰC THI TÙY CHỌN

Chuyên ngành: Khoa học Máy tính

LUẬN VĂN THẠC SĨ

TP HỒ CHÍ MINH, Tháng 11 năm 2009

Trang 2

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

Cán bộ hướng dẫn khoa học: PGS TS Dương Tuấn Anh

Cán bộ chấm nhận xét 1: PGS TS Đỗ Phúc

Cán bộ chấm nhận xét 2: TS Võ Thị Ngọc Châu

Luận văn thạc sĩ được bảo vệ tại HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày 03 tháng 03 năm 2010

Trang 3

ĐẠI HỌC QUỐC GIA TP HCM CỘNG HOÀ XÃ HỘI CHỦ NGHIÃ VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc Lập - Tự Do - Hạnh Phúc

- -oOo -

Tp HCM, ngày … tháng … năm 2009

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ và tên học viên: Nguyễn Công Thương Giới tính: Nam  / Nữ  Ngày, tháng, năm sinh: 17/02/1983 Nơi sinh: Hà Tĩnh

Chuyên ngành: Khoa học Máy tính

Khoá: 2007

1- TÊN ĐỀ TÀI: PHÂN LỚP DỮ LIỆU CHUỖI THỜI GIAN SỬ DỤNG GIẢI

THUẬT CÓ THỜI GIAN THỰC THI TÙY CHỌN

2- NHIỆM VỤ LUẬN VĂN:

3- NGÀY GIAO NHIỆM VỤ: 05/09/2008

4- NGÀY HOÀN THÀNH NHIỆM VỤ: 30/11/2009

5- HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: PGS TS Dương Tuấn Anh

Nội dung và đề cương Luận văn thạc sĩ đã được Hội Đồng Chuyên Ngành thông qua

Trang 4

LỜI CAM ĐOAN

Tôi cam đoan rằng, ngoại trừ các kết quả tham khảo từ các công trình khác như

đã ghi rõ trong luận văn, các công việc trình bày trong luận văn này là do chính tôi thực hiện và chưa có phần nội dung nào của luận văn này được nộp để lấy một bằng cấp ở trường này hoặc trường khác

Ngày 28 tháng 11 năm 2009

Nguyễn Công Thương

Trang 5

LỜI CẢM ƠN

Tôi xin gửi lời cảm ơn chân thành và sâu sắc nhất đến PGS TS Dương Tuấn Anh, người Thầy đã tận tình hướng dẫn tôi thực hiện và hoàn thành luận văn này Tôi cũng xin gửi lời cảm ơn Quý Thầy Cô Khoa Khoa học và Kỹ thuật Máy tính, Trường Đại học Bách Khoa TP HCM đã tận tình giảng dạy tôi trong quá trình học đại học cũng như cao học

Cuối cùng và trên hết, con cảm ơn gia đình đã động viên và tạo điều kiện tốt nhất

để con có thể tiếp tục con đường học tập và nghiên cứu Con trân trọng dành tặng thành quả của luận văn này cho Cha Mẹ và cả gia đình

Nguyễn Công Thương

Trang 6

TÓM TẮT LUẬN VĂN

Bài toán phân lớp dữ liệu chuỗi thời gian có vai trò quan trọng trong lĩnh vực khai phá dữ liệu Nó giúp cho việc phân tích dữ liệu và dự đoán tương lai, đặc biệt trong những lĩnh vực như tài chính hay y học

Đề tài này sẽ hiện thực bài toán phân lớp dữ liệu chuỗi thời gian sử dụng giải

thuật phân lớp có thời gian thực thi tùy chọn Giải thuật gồm có hai giai đoạn: Giai đoạn Huấn luyện và Giai đoạn Phân lớp

Trong giai đoạn Huấn luyện, luận văn đề xuất chiến lược sắp xếp Luân phiên (Round Robin) Chiến lược Luân phiên sắp xếp tập huấn luyện sao cho các chuỗi thuộc các lớp khác nhau xuất hiện luân phiên với nhau

Trong giai đoạn Phân lớp, giải thuật sẽ tìm kiếm trong tập huấn luyện chuỗi gần nhất với chuỗi mục tiêu Thứ tự tìm kiếm là thứ tự đã được sắp xếp trong giai đoạn huấn luyện Giải thuật có thể dừng bất kỳ lúc nào Kết quả phân lớp là nhãn lớp của chuỗi gần với chuỗi mục tiêu nhất đến thời điểm dừng giải thuật

Độ tương tự của các chuỗi thời gian được sử dụng là Khoảng cách xoắn thời gian

động Để cải thiện thời gian thực thi của giải thuật, đề tài sử dụng các kỹ thuật tính

chặn dưới vào cả hai giai đoạn huấn luyện và phân lớp Các kỹ thuật tính chặn dưới

được sử dụng gồm có LB_Keogh, FTW và LB_Improved Qua thực nghiệm cho thấy,

LB_Keogh và LB_Improved phù hợp cho kích thước cửa sổ xoắn nhỏ, trong khi FTW

tốt hơn trong trường hợp cửa sổ xoắn lớn

Trang 7

MỤC LỤC

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

TÓM TẮT LUẬN VĂN iii

MỤC LỤC iv

DANH MỤC HÌNH ẢNH vii

DANH MỤC BẢNG BIỂU x

CHƯƠNG 1: GIỚI THIỆU VẤN ĐỀ 1

1.1 Dữ liệu chuỗi thời gian 1

1.2 Bài toán phân lớp dữ liệu chuỗi thời gian 2

1.3 Mục tiêu và giới hạn đề tài 3

1.4 Tóm lược những kết quả đạt được 3

1.5 Cấu trúc của luận văn 4

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 6

2.1 Độ đo khoảng cách trong miền dữ liệu chuỗi thời gian 6

2.1.1 Độ đo khoảng cách Minkowski 6

2.1.2 Độ đo xoắn thời gian động 8

2.2 Bài toán phân lớp dữ liệu 13

2.3 Kỹ thuật phân lớp k láng giềng gần nhất 14

CHƯƠNG 3: CÁC CÔNG TRÌNH CÓ LIÊN QUAN 16

3.1 Các phương pháp thu giảm số chiều 16

3.1.1 Phương pháp không thích nghi dữ liệu 16

3.1.2 Phương pháp thích nghi dữ liệu 19

3.2 Ràng buộc đối với đường xoắn cho khoảng cách DTW 21

Trang 8

3.2.1 Ràng buộc dải Sakoe-Chiba 21

3.2.2 Ràng buộc hình bình hành Itakura 21

3.2.3 Dải Ratanamahatana-Keogh (dải R-K) 22

3.3 Các kỹ thuật tính chặn dưới cho khoảng cách DTW 25

3.3.1 Ý nghĩa của chặn dưới 25

3.3.2 Phương pháp tính chặn dưới LB_Keogh 26

3.3.3 Kỹ thuật chặn dưới FTW 28

3.3.4 Kỹ thuật chặn dưới LB_Improved 31

3.3.5 Đánh giá 34

3.4 Một số giải thuật phân lớp cho dữ liệu chuỗi thời gian 34

3.4.1 Các giải thuật phân lớp có sử dụng chỉ mục 34

3.4.2 Các giải thuật học “hăm hở” hơn 35

3.5 Giải thuật phân lớp có thời gian thực thi tùy chọn 35

3.5.1 Giải thuật phân lớp 36

3.5.2 Sắp xếp tập huấn luyện 37

3.6 Kết luận 40

CHƯƠNG 4: HỆ THỐNG PHÂN LỚP CÓ THỜI GIAN THỰC THI TÙY CHỌN 42

4.1 Đặt vấn đề 42

4.2 Hướng giải quyết vấn đề 42

4.3 Giai đoạn huấn luyện 45

4.3.1 Giải thuật NN_LBKeogh 45

4.3.2 Giải thuật NN_FTW 47

4.3.3 Giải thuật NN_LBImproved 48

4.3.4 Giải thuật huấn luyện 50

Trang 9

4.4 Giai đoạn Phân lớp 51

CHƯƠNG 5: THỰC NGHIỆM 54

5.1 Tập dữ liệu 54

5.2 Thực nghiệm giai đoạn huấn luyện 55

5.2.1 Tập dữ liệu TwoPat 55

5.2.2 Tập dữ liệu Clustered 60

5.2.3 Nhận xét 63

5.3 Thực nghiệm giai đoạn phân lớp 64

5.3.1 Tập dữ liệu TwoPat 64

5.3.2 Tập dữ liệu Clustered 68

5.3.3 Độ chính xác của giải thuật phân lớp 70

5.3.4 Nhận xét 72

CHƯƠNG 6: KẾT LUẬN 73

6.1 Tổng kết 73

6.2 Những đóng góp của đề tài 74

6.3 Hướng phát triển 74

DANH MỤC TÀI LIỆU THAM KHẢO 76

BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH – VIỆT 81

Trang 10

DANH MỤC HÌNH ẢNH

Hình 1.1: Đường biểu diễn dữ liệu chuỗi thời gian 1

Hình 1.2: Bài toán phân lớp dữ liệu chuỗi thời gian 2

Hình 2.1: Hình ảnh trực giác của khoảng cách Euclid 7

Hình 2.2: Hai mẫu dữ liệu có hình dạng giống nhau nhưng lệch nhau về thời gian 8

Hình 2.3: Cách tính khoảng cách xoắn thời gian động: A) Cho hai chuỗi mục tiêu Q và C, B) Ma trận tính DTW, C) Kết quả tính DTW 9

Hình 2.4: Đồ thị biểu diễn hai chuỗi thời gian 11

Hình 2.5: Ma trận tính DTW cho hai chuỗi thời gian 11

Hình 2.6: Giải thuật phân lớp k-Nearest-Neighbor 15

Hình 3.1: Cách biến đổi chuỗi dữ liệu ban đầu theo các phương pháp DFT, DWT và PAA 17

Hình 3.2: Cách biến đổi chuỗi ban đầu theo các phương pháp SVD, PACA và PLA 19

Hình 3.3: Hai loại ràng buộc đối với đường xoắn: a) Dải Sakoe-Chiba và b) Hình bình hành Itakura 22

Hình 3.4: Hình dạng của các loại ràng buộc cửa sổ xoắn: A) Dải R-K, B) Dải Sakoe-Chiba, C) Hình bình hành Itakura 22

Hình 3.5: Minh họa giải thuật tìm kiếm tiến sử dụng độ chính xác 23

Hình 3.6: Giải thuật tìm kiếm tuần tự sử dụng chặn dưới 25

Hình 3.7: Đường bao ứng với hai loại ràng buộc: A) Dải Sakoe-Chiba và B) Hình bình hành Itakura 27

Hình 3.8: Hình ảnh trực quan của chặn dưới LB_Keogh 28

Hình 3.9: Quá trình xấp xỉ hóa phân đoạn 29

Hình 3.10: Quá trình tính chặn dưới FTW 30

Hình 3.11: Hình ảnh trực quan của chặn dưới LB_Improved 32

Trang 11

Hình 3.12: Quá trình tính chặn dưới LB_Improved 33

Hình 3.13: Giải thuật phân lớp có thời gian thực thi tùy chọn 36

Hình 3.14: Giải thuật sắp xếp tập huấn luyện 38

Hình 3.15: Ví dụ tập huấn luyện được sắp xếp bởi chiến lược SimpleRank 41

Hình 4.1: Giải thuật sắp xếp RoundRobin 43

Hình 4.2: Ví dụ tập huấn luyện được sắp xếp bởi chiến lược SimpleRank 44

Hình 4.3: Ví dụ tập huấn luyện được sắp xếp bởi chiến lược Luân phiên 44

Hình 4.4: Giải thuật NN_LBKeogh 46

Hình 4.5: Giải thuật NN_FTW 47

Hình 4.6: Giải thuật NN_LBImproved 49

Hình 4.7: Giải thuật huấn luyện 50

Hình 4.8: Giải thuật phân lớp 52

Hình 5.1: Biểu đồ thời gian thực thi giai đoạn huấn luyện trên tập dữ liệu TwoPat 56

Hình 5.2: Biểu đồ tỷ lệ thời gian thực thi giai đoạn huấn luyện trên tập dữ liệu TwoPat 57

Hình 5.3: Biểu đồ tỷ lệ thu giảm khoảng cách DTW giai đoạn huấn luyện trên tập dữ liệu TwoPat 59

Hình 5.4: Biểu đồ thời gian thực thi giai đoạn huấn luyện trên tập dữ liệu Clustered 61 Hình 5.5: Biểu đồ tỷ lệ thời gian giai đoạn huấn luyện trên tập dữ liệu Clustered 62

Hình 5.6: Biểu đồ tỷ lệ thu giảm số lượng khoảng cách DTW trong giai đoạn huấn luyện trên tập dữ liệu Clustered 63

Hình 5.7: Biểu đồ tỷ lệ thời gian thực thi giai đoạn phân lớp trên tập dữ liệu TwoPat 66

Hình 5.8: Biểu đồ tỷ lệ thu giảm trong giai đoạn phân lớp ứng với cửa sổ xoắn 10% trên tập dữ liệu TwoPat 68

Trang 12

Hình 5.9: Biểu đồ tỷ lệ thời gian thực thi giai đoạn huấn luyện của giải thuật có sử

dụng chặn dưới so với giải thuật không sử dụng chặn dưới 69Hình 5.10: Biểu đồ tỷ lệ thu giảm số lượng khoảng cách DTW trong giai đoạn phân

lớp trên tập dữ liệu Clustered 70Hình 5.11: Độ chính xác của giải thuật phân lớp trên tập dữ liệu TwoPat 71Hình 5.12: Độ chính xác của giải thuật phân lớp trên tập dữ liệu Clustered 71

Trang 13

không sử dụng chặn dưới 61Bảng 5-7: Tỷ lệ thu giảm số lượng khoảng cách DTW trong giai đoạn huấn luyện trên

tập dữ liệu Clustered 62Bảng 5-8: Thời gian thực thi giai đoạn phân lớp 64Bảng 5-9: Tỷ lệ về thời gian thực thi giai đoạn phân lớp của giải thuật có sử dụng chặn

dưới với giải thuật không sử dụng chặn dưới 65Bảng 5-10: Số lượng khoảng cách DTW cần tính trong giai đoạn phân lớp trên tập dữ

liệu TwoPat 67Bảng 5-11: Tỷ lệ thu giảm về số lượng khoảng cách DTW trong giai đoạn phân lớp

trên tập dữ liệu TwoPat 67Bảng 5-12: Thời gian thực thi giai đoạn phân lớp trên tập dữ liệu Clustered ứng với

cửa sổ xoắn 10% 68Bảng 5-13: Tỷ lệ thời gian thực thi giai đoạn phân lớp của giải thuật có sử dụng chặn

dưới so với giải thuật không sử dụng chặn dưới 69Bảng 5-14: Tỷ lệ thu giảm số lượng khoảng cách DTW trong giai đoạn phân lớp trên

tập dữ liệu Clustered ứng với kích thước cửa sổ xoắn 10% 70

Trang 14

CHƯƠNG 1: GIỚI THIỆU VẤN ĐỀ

Chương này sẽ trình bày yêu cầu, mục tiêu và nội dung sơ lược của đề tài, cùng với động cơ để thực hiện đề tài này Chương này cũng trình bày những kết quả đã đạt được của đề tài

1.1 Dữ liệu chuỗi thời gian

Dữ liệu chuỗi thời gian (time series data) là dữ liệu được quan sát và ghi nhận

theo thời gian xuất hiện Ví dụ: giá chứng khoán, tỷ giá ngoại tệ, thông tin thời tiết …

Dữ liệu này thường rất lớn, có thể lên đến hàng tỷ điểm Việc phân tích dữ liệu này rất

có ý nghĩa nhằm rút ra những đặc trưng cơ bản của dữ liệu, dự đoán dữ liệu trong tương lai, hỗ trợ ra quyết định, … Tuy nhiên, dữ liệu này có kích thước rất lớn nên việc phân tích cần phải được thực hiện với sự hỗ trợ của các công cụ máy tính để thông tin được đáp ứng kịp thời Chính vì vậy nghiên cứu và ứng dụng dữ liệu chuỗi thời gian được quan tâm nghiên cứu nhiều trong lĩnh vực khoa học máy tính và các lĩnh vực khác

Phạm vi nghiên cứu của đề tài này tập trung vào các dữ liệu thời gian có dạng

các dãy giá trị có thứ tự theo dạng T=t 1 , t2,…, t m với t i là dữ liệu tại thời điểm thứ i

Hình 1.1 là ví dụ đồ thị biểu diễn dữ liệu chuỗi thời gian

Trang 15

1.2 Bài toán phân lớp dữ liệu chuỗi thời gian

Tập hợp dữ liệu chuỗi thời gian liên quan đến một lĩnh vực hoặc một bài toán ứng dụng thường có kích thước rất lớn Tuy nhiên, tập hợp dữ liệu này thường có mối liên hệ chặt chẽ với nhau Dựa trên những mối liên hệ đó, người ta thường thống kê và phân loại dữ liệu thành một số lớp với một số đặc trưng nhất định Ví dụ, dữ liệu giá chứng khoán có thể phân loại thành các lớp: ổn định, tăng trưởng đều, không ổn định,

… Nhu cầu đặt ra là dùng dữ liệu thống kê trong quá khứ để phân loại dữ liệu hiện tại hoặc tương lai Việc phân loại này có ý nghĩa rất lớn trong nhiều lĩnh vực như: dự đoán tình trạng giá một chứng khoán, dự đoán kiểu thời tiết, … Hình 1.2 minh họa cơ

sở dữ liệu thống kê có hai lớp dữ liệu và yêu cầu phân loại mẫu dữ liệu O thuộc lớp

nào trong hai lớp đó

Hình 1.2: Bài toán phân lớp dữ liệu chuỗi thời gian

Bài toán phân lớp dữ liệu chuỗi thời gian được đặt ra để giải quyết vấn đề trên Phân lớp là quá trình học có giám sát bao gồm hai giai đoạn: huấn luyện và kiểm tra Giai đoạn huấn luyện sẽ thực hiện việc học dựa trên tập huấn luyện Giai đoạn kiểm tra sẽ thực hiện kiểm tra kết quả phân lớp cho một tập kiểm thử

Mẫu dữ liệu O

Trang 16

1.3 Mục tiêu và giới hạn đề tài

Mục tiêu của đề tài là phân lớp cho một tập dữ liệu chuỗi thời gian do người

dùng nhập vào (tập dữ liệu mục tiêu) dựa trên một tập huấn luyện (Training Set) cho

trước Đề tài này giới hạn nghiên cứu ở những khía cạnh sau đây:

- Toàn bộ dữ liệu trong tập huấn luyện và dữ liệu trong tập mục tiêu đều có chiều dài bằng nhau

- Sử dụng độ đo khoảng cách xoắn thời gian động (Dynamic Time Warping)

để tính khoảng cách giữa hai chuỗi thời gian Khoảng cách Euclid được xem

như là một trường hợp đặc biệt của khoảng cách xoắn thời gian động

- Sử dụng giải thuật phân lớp 1 láng giềng gần nhất (1-Nearest-Neighbor) có

thời gian thực thi tùy chọn

- Áp dụng kỹ thuật tính chặn dưới cho khoảng cách xoắn thời gian động để cải thiện thời gian thực thi giai đoạn huấn luyện (training) và giai đoạn phân lớp (classifying)

- Hiện thực và kiểm nghiệm bài toán về các tiêu chí: Thời gian thực thi, độ chính xác của giải thuật phân lớp

- Giao diện tương tác của chương trình thân thiện với người dùng

1.4 Tóm lược những kết quả đạt được

Với những yêu cầu của đề tài, sau thời gian nghiên cứu và hiện thực, chúng tôi đã xây dựng hệ thống phân lớp dữ liệu chuỗi thời gian Hệ thống này gồm hai thành phần chính: Huấn luyện và Phân lớp Thành phần Huấn luyện cho phép người dùng nhập

vào một tập huấn luyện gồm m chuỗi thời gian có chiều dài bằng nhau Thành phần

Huấn luyện sẽ thực hiện việc sắp xếp tập huấn luyện Thành phần phân lớp sẽ cho

phép người dùng nhập vào một chuỗi thời gian O, hệ thống sẽ sử dụng tập huấn luyện

đã được sắp xếp để cho biết kết quả dự đoán lớp của O

Thành phần huấn luyện làm nhiệm vụ sắp xếp tập huấn luyện Việc sắp xếp này phải tính khoảng cách xoắn thời gian động của tất cả các cặp chuỗi Hệ thống áp dụng

Trang 17

ba kỹ thuật tính chặn dưới LB_Keogh, FTW và LB_Improved để cải thiện thời gian

thực thi

Thành phần phân lớp tìm chuỗi gần nhất của chuỗi mục tiêu O trong tập huấn

luyện Hệ thống cũng áp dụng ba kỹ thuật tính chặn dưới trên để cải thiện thời gian thực thi

Dựa trên hệ thống đã hiện thực, đề tài tiến hành thực nghiệm trên hai tập dữ liệu mẫu và so sánh kết quả khi sử dụng ba kỹ thuật tính chặn dưới vào giải thuật phân lớp

có thời gian thực thi tùy chọn Việc so sánh được thực hiện trong hai giai đoạn:

- Giai đoạn huấn luyện, đề tài so sánh ba kỹ thuật tính chặn dưới về thời gian thực thi và tỉ lệ thu giảm số lần tính DTW

- Giai đoạn phân lớp, đề tài so sánh ba kỹ thuật tính chặn dưới về thời gian thực thi, tỉ lệ thu giảm số lần tính DTW và độ chính xác của giải thuật phân lớp

Như vậy, hệ thống hiện thực sẽ được trình bày trong các chương sau đã đáp ứng được những yêu cầu và nhiệm vụ của đề tài

1.5 Cấu trúc của luận văn

Phần còn lại của luận văn được tổ chức theo cấu trúc sau:

Chương 2 giới thiệu một số lý thuyết nền tảng được sử dụng trong đề tài bao gồm hai độ đo khoảng cách được sử dụng trong việc tìm khoảng cách trong miền dữ liệu

chuỗi thời gian là khoảng cách Euclid và khoảng cách Xoắn thời gian động Chương

này cũng sẽ giới thiệu giải thuật phân lớp được sử dụng chính trong đề tài là giải thuật

phân lớp k Láng giềng gần nhất (k-Nearest-Neighbor)

Chương 3 giới thiệu một số công trình nghiên cứu có liên quan đến đề tài này Các công trình được giới thiệu tập trung vào hai lĩnh vực chính là tăng tốc việc tính

toán khoảng cách xoắn thời gian động và rút ngắn thời gian phân lớp dữ liệu chuỗi

thời gian

Chương 4 trình bày những vấn đề gặp phải khi giải quyết bài toán phân lớp dữ liệu chuỗi thời gian Chương này sẽ phân tích những vấn đề chính mà hệ thống cần

Trang 18

giải quyết Đề tài tập trung vào cải thiện thời gian thực thi của giải thuật phân lớp có

thời gian thực thi tùy chọn bằng cách áp dụng kỹ thuật tính chặn dưới vào cả hai giai

đoạn huấn luyện và phân lớp Sau đó sẽ là các bước giải quyết vấn đề

Chương 5 trình bày kết quả thực nghiệm trên hai tập dữ liệu

Chương 6 trình bày một số kết luận sau khi thực hiện đề tài

Trang 19

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

Để giải quyết bài toán phân lớp dữ liệu chuỗi thời gian, đề tài này sử dụng một số

lý thuyết từ các lĩnh vực khác nhau Do đó, chương này sẽ trình bày những điểm cơ

bản của các lý thuyết đó Đầu tiên là độ đo khoảng cách Euclid và độ đo khoảng cách

xoắn thời gian động (Dynamic Time Warping), cách tính độ đo khoảng cách xoắn thời

gian động Sau đó là phần giới thiệu ý tưởng chính của kỹ thuật phân lớp k láng giềng

gần nhất (k-Nearest Neighbors)

2.1 Độ đo khoảng cách trong miền dữ liệu chuỗi thời gian

Việc giải quyết bài toán tìm kiếm tương tự và các bài toán phức tạp hơn dựa trên bài toán tìm kiếm tương tự (trong đó có bài toán phân lớp) luôn cần phải có một độ đo tương tự giữa các mẫu dữ liệu Độ đo tương tự này chính là độ đo khoảng cách giữa chúng Nếu hai mẫu hoàn toàn giống nhau thì khoảng cách bằng 0 Ngược lại hai mẫu càng khác nhau thì khoảng cách giữa chúng càng lớn Để có thể tính toán được thì

khoảng cách này phải được tính bằng giá trị số Gọi X, Y là hai mẫu dữ liệu Trong đề tài này, khoảng cách giữa X và Y được ký hiệu bằng D(X, Y)

Trong lĩnh vực dữ liệu chuỗi thời gian, có nhiều độ đo khoảng cách đã được đề

xuất Tuy nhiên, hai độ đo được quan tâm nhất là độ đo Minkowski và độ đo Xoắn thời

gian động (Dynamic Time Warping)

2.1.1 Độ đo khoảng cách Minkowski

Giả sử có hai chuỗi thời gian Q và C có chiều dài n có dạng:

Trang 20

p = : Max

Tuy p có thể có nhiều lựa chọn khác nhau, nhưng trong các nghiên cứu về dữ liệu chuỗi thời gian, p=2 (khoảng cách Euclid) thường được sử dụng Hình 2.1 minh họa

hình ảnh trực giác của khoảng cách Euclid

Hình 2.1: Hình ảnh trực giác của khoảng cách Euclid (nguồn:[22])

Ưu điểm:

- Tính toán dễ dàng

- Có khả năng sử dụng trong tất cả các bài toán tìm kiếm tương tự như phân lớp, gom cụm, so trung chuỗi con, … Đặc biệt độ đo này thích hợp khi sử dụng các phép biến đổi thu giảm số chiều

Nhược điểm:

- Nhạy cảm với nhiễu

- Không thích hợp đối với dữ liệu cho hình dạng gần giống nhau nhưng lệch nhau về mặt thời gian Hình 2.2 minh họa hai chuỗi thời gian có hình dạng giống nhau nhưng lệch nhau về mặt thời gian

- Chỉ tính được đối với hai chuỗi có chiều dài bằng nhau Trong các trường hợp cần tính khoảng cách giữa hai chuỗi có chiều dài không bằng nhau thì không thể sử dụng khoảng cách Euclid

Nhằm khắc phục những nhược điểm này, độ đo khoảng cách xoắn thời gian động

đã được đề nghị

Trang 21

Hình 2.2: Hai mẫu dữ liệu có hình dạng giống nhau nhưng lệch nhau về thời gian (nguồn: [30])

2.1.2 Độ đo xoắn thời gian động

Độ đo xoắn thời gian động (Dynamic Time Warping) xuất hiện đầu tiên trong

lĩnh vực xử lý giọng nói (speech processing) Kỹ thuật này được giới thiệu vào lĩnh vực khai phá dữ liệu chuỗi thời gian bởi Berndt và Clifford (1994) [3]

Giả sử có hai chuỗi thời gian Q và C có chiều dài lần lượt là n và m, với:

Q = q 1 , q 2 , …, q i , …, q n

C = c 1 , c 2 , …, c j , …, c m

Để tính toán khoảng cách DTW giữa hai chuỗi trên, ta xây dựng một ma trận D kích thước m n Trong đó, phần tử D ij = d(q i , c j ) là khoảng cách giữa hai điểm q i

c j (với khoảng cách Euclid thì d(q i , c j ) = (q i - c j)2) Ma trận này được minh họa trong

Hình 2.3 Đường xoắn (warping path) W là một tập các phần tử liên tục của ma trận định nghĩa một ánh xạ giữa Q và C Phần tử thứ k của W được định nghĩa là w k =(i, j) k,

Trang 22

Trong đó chi phí xoắn của một đường xoắn là tổng khoảng cách của các cặp điểm tương ứng với các ô nằm trên đường xoắn đó

Hình 2.3: Cách tính khoảng cách xoắn thời gian động: A) Cho hai chuỗi mục

tiêu Q và C, B) Ma trận tính DTW, C) Kết quả tính DTW (nguồn: [17])

Đường xoắn tối ưu này có thể tìm được bằng cách sử dụng phương pháp quy

hoạch động (dynamic programming) để tính công thức truy hồi định nghĩa khoảng cách tích lũy (cumulative distance) (i, j) như sau:

Trang 23

của các ô liền kề trước ô đó Khoảng cách xoắn thời gian động của hai chuỗi thời gian

Q và C là căn bậc hai của khoảng cách tích lũy tại ô (m, n)

Khoảng cách Euclid có thể được xem là trường hợp đặc biệt của khoảng cách

DTW, trong đó phần tử thứ k của W được ràng buộc sao cho w k = (i, j) k , i = j = k Lưu

ý rằng trường hợp đặc biệt này chỉ đúng khi hai chuỗi có chiều dài bằng nhau vì khoảng cách Euclid không thể tính được đối với hai chuỗi có chiều dài khác nhau Trong thực tế, ta không cần phải tính tất cả đường xoắn có thể, vì nhiều đường xoắn trong số đó tương ứng với những đường xoắn không hợp lý (ví dụ, một điểm trong một chuỗi điện tâm đồ ánh xạ tới toàn bộ nhịp tim trong một chuỗi điện tâm đồ khác) Thay vào đó, ta xem xét những ràng buộc sau để làm giảm số lượng đường xoắn cần phải xét trong quá trình so trùng

- Điều kiện biên: w 1 = (1, 1) và w K = (m, n), ràng buộc này yêu cầu đường

xoắn phải bắt đầu và kết thúc ở hai góc đối diện của ma trận

- Tính liên tục: cho w k = (a, b), thì w k – 1 = (a’, b’) trong đó a – a’ 1 và b – b’

 1 Ràng buộc này yêu cầu đường xoắn phải di chuyển giữa những ô liền kề (kể cả những ô liền kề theo đường chéo)

- Tính đơn điệu tăng: cho w k = (a, b) thì w k – 1 = (a’, b’) với a – a’ 0 và b –

b’ 0 Ràng buộc này yêu cầu các điểm trong W phải tăng đơn điệu theo thời

Trang 24

Hai chuỗi này được biểu diễn bằng đồ thị ở Hình 2.4

Hình 2.4: Đồ thị biểu diễn hai chuỗi thời gian

Để tính khoảng cách DTW giữa hai chuỗi trên, ta xây dựng ma trận tính khoảng cách tích lũy như trong Hình 2.5 Mỗi ô trong ma trận này chứa khoảng cách tích lũy của cặp điểm tương ứng

Q

C

Trang 25

Trong ma trận ở Hình 2.5, giá trị của các ô được tính như sau:

- (1, 1) = (Q1 – C1)2

- (1, i) = (1, i-1) + (Q1 – Ci)2

- (i, 1) = (i-1, 1) + (Qi – C1)2

- Các ô còn lại: (i, j) = min{(i-1, j), (j-1, i), (i-1, j-1)} + (Qi – Cj)2

Sau khi tính được giá trị cho tất cả các ô, ta có đường xoắn bao gồm các ô tham gia tích lũy giá trị cho ô (10, 10) Trong ví dụ trên, đường xoắn là các ô được tô xám Vậy, khoảng cách DTW của hai chuỗi Q và C như trên là 22 ≈ 4.7, trong khi khoảng cách Euclid là 8

Một số ưu điểm và nhược điểm của khoảng cách DTW được tóm tắt như sau:

- Nhược điểm lớn nhất của khoảng cách DTW là độ phức tạp tính toán lớn

Với hai chuỗi Q và C có chiều dài lần lượt là m và n, để tính khoảng cách DTW của hai chuỗi này, ta phải xây dựng ma trận D có kích thước m n và

tính khoảng cách tích lũy tương ứng với hàm  (công thức 2.3) cho mọi ô trong ma trận đó Như vậy, độ phức tạp tính toán của giải thuật tính DTW sử

dụng phương pháp quy hoạch động là O(mn)

Trang 26

2.2 Bài toán phân lớp dữ liệu

Bài toán phân lớp dữ liệu được trình bày bởi Han & Kamber [13] Bài toán này được định nghĩa là một quá trình xử lý gồm hai giai đoạn

Trong giai đoạn đầu tiên, một bộ phân lớp (classifier) được xây dựng dựa trên

một tập các lớp được xác định trước Đây là giai đoạn học (hay giai đoạn huấn luyện), trong đó giải thuật phân lớp xây dựng bộ phân lớp bằng cách phân tích hay học từ một

tập huấn luyện (Training set) bao gồm các mẫu dữ liệu cùng với nhãn lớp tương ứng

Vì nhãn lớp của các mẫu dữ liệu trong tập huấn luyện được cung cấp, bước này còn

được gọi là học có giám sát (supervised learning) Điều này trái ngược với học không

có giám sát (unsupervised learning), trong đó nhãn lớp của mỗi mẫu dữ liệu trong tập

huấn luyện không được biết trước, và số lượng lớp được học cũng có thể không được biết

Trong giai đoạn thứ hai, mô hình được sử dụng cho việc phân lớp Độ chính xác kết quả dự đoán của bộ phân lớp sẽ được đánh giá Nếu ta dùng ngay tập huấn luyện

để đo độ chính xác của bộ phân lớp, kết quả đánh giá này gần như tối ưu, vì bộ phân

lớp có xu hướng quá khớp (overfit) với dữ liệu Vì vậy, ta phải dùng tập kiểm tra (test

set) Tập kiểm tra này bao gồm các mẫu dữ liệu kiểm tra cùng với nhãn lớp tương ứng Những mẫu dữ liệu kiểm tra này được lựa chọn ngẫu nhiên từ tập dữ liệu tổng quát Tập kiểm tra này độc lập với tập huấn luyện, nghĩa là chúng không được dùng để xây dựng bộ phân lớp Độ chính xác của giải thuật phân lớp trên một tập kiểm tra là tỷ lệ phần trăm của các mẫu dữ liệu kiểm tra được phân lớp đúng bởi giải thuật đó Nếu độ chính xác của giải thuật phân lớp là chấp nhận được thì giải thuật đó sẽ được dùng để phân lớp cho các mẫu dữ liệu trong tương lai mà nhãn lớp chưa được biết

Theo [13], giải thuật phân lớp bao gồm các phương pháp: Phương pháp quy nạp

dựa trên cây quyết định (Decision tree induction), phân lớp Bayes (Bayesian

classification), phân lớp dựa trên luật (Rule-based classification), phân lớp bằng lan

truyền ngược (Classification by Backpropagation) dùng mạng thần kinh nhân tạo

(Neural Network), Support Vector Machine, phân lớp bằng phân tích luật kết hợp (Classification by Association Rule Analysis), các giải thuật học lười (Lazy Learners)

Trang 27

hay còn gọi là học từ các láng giềng (Learning from Neighbors) Ngoài ra, còn có các giải thuật học khác như giải thuật di truyền (Genetic Algorithms), tập mờ (Fuzzy set)

2.3 Kỹ thuật phân lớp k láng giềng gần nhất

Kỹ thuật phân lớp k láng giềng gần nhất (k-Nearest-Neighbor) được mô tả lần

đầu tiên vào đầu thập niên 1950 Đây là kỹ thuật phân lớp cho các đối tượng dữ liệu

dựa trên các mẫu huấn luyện gần nó nhất k láng giềng gần nhất là một loại phương pháp học dựa trên ví dụ (instance-based learning), hay phương pháp học lười (lazy

learning), trong đó tất cả các tính toán được trì hoãn đến lúc phân lớp Tập huấn luyện

được mô tả bao gồm n thuộc tính và nhãn lớp tương ứng của nó Mỗi đối tượng dữ liệu thể hiện một điểm trong không gian n chiều Bằng cách này, toàn bộ tập huấn luyện được lưu trữ trong một không gian mẫu n chiều Khi cho một đối tượng dữ liệu chưa được xác định lớp, giải thuật k láng giềng gần nhất tìm kiếm trong không gian mẫu để

có được k mẫu huấn luyện gần với đối tượng đó nhất k mẫu huấn luyện này là k “mẫu

láng giềng gần nhất” của mẫu cần phân lớp Kết quả phân lớp cho đối tượng mục tiêu

là kết quả bầu cử của k mẫu láng giềng gần nhất của nó Nghĩa là nhãn lớp của đối tượng mục tiêu được xác định là lớp có nhiều mẫu xuất hiện nhất trong k mẫu láng giềng gần nhất của đối tượng mục tiêu đó Nếu k = 1 thì nhãn lớp của đối tượng mục tiêu chính là nhãn lớp của mẫu gần nó nhất Trong ví dụ ở Hình 2.6, nếu k=3, mẫu cần phân lớp (mẫu hình tròn) sẽ được xác định thuộc lớp hình tam giác Nhưng nếu k=5,

mẫu cần phân lớp sẽ được xác định thuộc lớp hình vuông

Giải thuật k láng giềng gần nhất không định nghĩa chi tiết độ đo tương tự giữa các đối tượng dữ liệu Tùy theo đặc điểm của từng loại dữ liệu mà ta có thể dùng các

độ đo tương tự khác nhau Trong trường hợp dữ liệu chuỗi thời gian, độ đo tương tự có thể là khoảng cách Euclid hoặc khoảng cách DTW như được mô tả ở mục 2.1

Với giải thuật phân lớp k láng giềng gần nhất, giai đoạn huấn luyện chỉ bao gồm

việc lưu trữ các đối tượng dữ liệu trong tập huấn luyện cùng với nhãn lớp tương ứng Việc lưu trữ này có thể bao gồm việc sắp xếp thứ tự cho tập huấn luyện

Trang 28

Hình 2.6: Giải thuật phân lớp k-Nearest-Neighbor

Giá trị tốt nhất cho k phụ thuộc vào dữ liệu Thông thường, giá trị k càng lớn thì

mức độ ảnh hưởng của nhiễu trên kết quả phân lớp càng giảm, nhưng lại làm cho ranh giới giữa các lớp ít tách biệt nhau hơn Trong bài toán phân lớp nhị phân (gồm có hai

lớp), k thường được chọn là một số nguyên lẻ nhằm tránh trường hợp bầu cử ngang bằng Trong lĩnh vực khai phá dữ liệu chuỗi thời gian, k-nearest-neighbor thường được

sử dụng với k=1

Trang 29

CHƯƠNG 3: CÁC CÔNG TRÌNH CÓ LIÊN QUAN

Chương này sẽ trình bày các công trình có liên quan đến đề tài Các công trình này được trình bày trong bốn mục liên quan đến bốn chủ đề chính: các phương pháp thu giảm số chiều, ràng buộc đối với đường xoắn, các kỹ thuật tăng tốc trong việc tính DTW và giải thuật phân lớp có thời gian thực thi tùy chọn

3.1 Các phương pháp thu giảm số chiều

Phương pháp thu giảm số chiều (dimensionality reduction) [22] sẽ mã hóa chuỗi

thời gian X={x 1 , x 2 , ,x n } gồm n hệ số thành chuỗi dữ liệu Y={y 1 , y 2 , , y k } gồm k hệ

số của các đường cơ bản Chuỗi nguyên thủy có thể được phục hồi từ chuỗi đã được

thu giảm với một độ chính xác nhất định Nếu k càng lớn thì chuỗi phục hồi càng

chính xác với chuỗi ban đầu và ngược lại Như vậy, nếu một chuỗi dữ liệu ban đầu

được xem như là một điểm trong không gian n chiều, thì một chuỗi sau khi thu giảm

có thể được xem như là một điểm trong không gian k chiều, và việc tính toán chỉ cần thực hiện trên dữ liệu k chiều

3.1.1 Phương pháp không thích nghi dữ liệu

Phương pháp này được gọi là không thích nghi vì việc thu giảm số chiều dựa trên

các đường cơ bản được định nghĩa trước và không phụ thuộc vào dữ liệu như đường

sin, đường cosin, đường haar, …

Các phương pháp dựa trên ý tưởng này gồm có biến đổi Fourier rời rạc (Discrete Fourier Transform – DFT) [2], biến đổi Wavelet rời rạc (Descrete Wavelet Transform – DWT) [4], xấp xỉ gộp từng đoạn (Piecewise Aggregate Approximation – PAA) [21]

Phương pháp biến đổi Fourier rời rạc:

Phương pháp biến đổi Fourier rời rạc (Discrete Fourier Transform – DFT) do

Agrawal và các cộng sự đề nghị [2] Trong phương pháp biến đổi Fourier rời rạc thì

đường dữ liệu ban đầu được biểu diễn bởi các đường căn bản Nhưng đường căn bản

trong trường hợp này là đường sin và cosin

Trang 30

𝑪 𝒕 = 𝑨𝒌𝐜𝐨𝐬 𝟐𝝅𝒘𝒌𝒕 + 𝑩𝒌𝐬𝐢𝐧 𝟐𝝅𝒘𝒌𝒕

𝒏

𝒌=𝟏

(𝟑 𝟏)

Ngoài khả năng nén dữ liệu, với cách tính khoảng cách dựa trên khoảng cách

Euclid thì phương pháp Fourier cho phép so sánh gián tiếp 2 chuỗi X, Y thông qua khoảng cách của 2 chuỗi X f , Y f đã được biến đổi Sở dĩ phép biến đổi Fourier rời rạc

có tính chất trên là vì:

D(X, Y) ≥ α D(Xf , Yf ) (trong đó α là hằng số)

Vì vậy, phương pháp Fourier đã được sử dụng trong nhiều ứng dụng và một số phương pháp lập chỉ mục như F-index, ST-index … đã được đề nghị Ưu diểm của

phương pháp này là thích hợp với các loại đường biểu diễn dữ liệu khác nhau và giải

thuật để biến đổi dữ liệu chỉ có độ phức tạp O(nlgn) Tuy nhiên, nhược điểm lớn nhất

rất khó giải quyết nếu các đường biểu diễn có chiều dài khác nhau

Hình 3.1: Cách biến đổi chuỗi dữ liệu ban đầu theo các phương pháp DFT, DWT và PAA (nguồn: [21])

Trang 31

Phương pháp biến đổi Wavelet rời rạc:

Phương pháp biến đổi Wavelet rời rạc (Descrete Wavelet Transform – DWT) do

Chan & Fu đề nghị [4] Phương pháp DWT cũng giống phương pháp DFT, tuy nhiên đường cơ bản của nó không phải là đường lượng giác sin hay cosin mà là đường haar như Hình 3.1 Đường Haar được định nghĩa theo các công thức như sau:

𝜓𝑓𝑖 = 𝜓 2𝑗𝑥 − 𝑖

Ngoài sử dụng đường Haar, phương pháp Wavelet có thể sử dụng các đường cơ bản khác như đường Daubechies, Coiflet, Symmlet… Tuy nhiên, Haar Wavalet đã

được sử dụng rất nhiều trong khai phá dữ liệu chuỗi thời gian và lập chỉ mục [28]

Giải thuật Wavelet rất hiệu quả bởi vì nó mã hóa đơn giản và nhanh Độ phức tạp

của việc mã hóa này là tuyến tính Đặc biệt, giải thuật này rất thích hợp với những dữ

liệu tĩnh ít thay đổi Bởi vì đường Haar cũng không thay đổi liên tục Một ưu điểm của

giải thuật Wavelet là nó hỗ trợ một số phương pháp tính khoảng cách khác không phải

là dựa trên khoảng cách Euclid

Tuy nhiên nhược điểm lớn nhất là chiều dài chuỗi dữ liệu ban đầu của nó phải là một số lũy thừa 2 Còn chiều dài của chuỗi truy vấn cũng nên là số lũy thừa của 2 thì giải thuật mới thực hiện hiệu quả

Phương pháp xấp xỉ gộp từng đoạn:

Phương pháp xấp xỉ gộp từng đoạn do E Keogh và cộng sự đề nghị [21] Phương pháp này rất đơn giản, ta tuần tự xấp xỉ k giá trị liền kề nhau thành cùng một giá trị bằng trung bình cộng của k điểm đó Quá trình cứ tiếp tục như vây từ trái sang phải

Kết quả cuối cùng là đường thẳng có dạng bậc thang

Với phương pháp này, thời gian tính toán rất nhanh và cách biểu diễn của nó hỗ trợ nhiều phương pháp tính khoảng cách khác nhau

Trang 32

3.1.2 Phương pháp thích nghi dữ liệu

Cũng giống như phương pháp không thích nghi dữ liệu, thì phương pháp này cũng biểu diễn dữ liệu ban đầu bằng những đường cơ bản Tuy nhiên, những đường này là phụ thuộc vào dữ liệu Mỗi loại dữ liệu khác nhau sẽ có các đường cơ bản khác nhau (Hình 3.2) Như vậy dễ dàng nhận thấy cách biểu diễn này hiệu quả hơn, nhưng ngược lại thời gian để biến đổi sẽ lớn hơn rất nhiều Một số phương pháp thích nghi dữ

liệu là phân rã trị kỳ dị (Singular Value Decomposition - SVD) [24], xấp xỉ tuyến tính

từng đoạn (Piecewise Linear Approximation - PLA) [9], xấp xỉ hằng số từng đoạn thích nghi (Adaptive Piecewise Constant Approximation - APCA) [22]

Hình 3.2: Cách biến đổi chuỗi ban đầu theo các phương pháp

SVD, PACA và PLA (nguồn: [21])

Trang 33

Phương pháp SVD:

Phương pháp phân rã trị kỳ dị do F Korn và cộng sự đề nghị [24] Phương pháp

SVD cũng giống như phương pháp DFT, DWT Tuy nhiên, đường cơ bản thì phụ thuộc

vào dữ liệu Những đường cơ bản này gọi là đường eigenwave Với mỗi dữ liệu thì ta

có giải thuật để xây dựng đường eigenwave Tuy nhiên độ phức tạp của phương pháp

SVD là rất cao Và mỗi khi thêm dữ liệu mới vào thì ta phải chạy lại giải thuật Đây là

nhược điểm chính mà phương pháp SVD không được sử dụng rộng rãi Ưu điểm lớn nhất của giải thuật này là các đường eigenwave cho phép ta thấy được hình dạng của

dữ liệu

Phương pháp APCA:

Phương pháp xấp xỉ hằng số từng đoạn thích nghi do Keogh và cộng sự đề nghị [22] Phương pháp APCA giống như phương pháp PAA là xấp xỉ dữ liệu ban đầu thành những đoạn thẳng nằm ngang Tuy nhiên, nó khác với PAA là các đoạn này có kích thước bằng nhau, còn APCA thì kích thước của các đoạn nằm ngang là khác nhau Tuy

nhiên phương pháp này rất ít được sử dụng

Phương pháp PLA:

Phương pháp xấp xỉ tuyến tính từng đoạn do Keogh và cộng sự đề nghị [21]

Trong phương pháp này ta sẽ biểu diễn dữ liệu ban đầu bằng chuỗi các đoạn thẳng tuyến tính Các đoạn thẳng này có thể rời nhau hoặc liên tục Cách biểu diễn này rất trực quan và nó phù hợp để nén tất cả các loại dữ liệu chuỗi thời gian Hơn thế nữa, việc tìm các chuỗi đoạn thẳng này có thể thực hiện trong thời gian tuyến tính và ta có thể áp dụng rộng rãi nhiều cách tính khoảng cách khác nhau như là phép truy vấn mờ hay có thể thay đổi theo yêu cầu của người dùng…

Nhược điểm lớn nhất là chưa có phép lập chỉ mục hiệu quả cho cách biểu diễn này Tuy nhiên, với các biểu biễn tuyến tính thì việc tìm kiếm cũng thực hiện rất nhanh chóng

Trang 34

3.2 Ràng buộc đối với đường xoắn cho khoảng cách DTW

Việc tính DTW có chi phí lớn vì phải tìm đường xoắn đạt giá trị nhỏ nhất trong

ma trận bằng quy hoạch động Độ phức tạp của giải thuật là O(n 2) Tuy nhiên, đường xoắn tối ưu thường gần đường chéo của ma trận Vì vậy, ta có thể giảm bớt chi phí tính toán bằng cách giới hạn lại phạm vi tìm đường xoắn tối ưu thay vì tìm trên toàn bộ

ma trận Hai ràng buộc về đường xoắn phổ biến là dải Sakoe-Chiba và hình bình hành

Itakura Trong phạm vi đề tài này, ràng buộc đối với đường xoắn này được gọi là cửa

sổ xoắn (warping window)

3.2.1 Ràng buộc dải Sakoe-Chiba

Ràng buộc trên cửa sổ xoắn này được đề xuất bởi Sakoe và Chiba (1978) [33] Ràng buộc này được mô tả như sau

Gọi đường xoắn tối ưu là tập các ô trong ma trận gióng hàng của hai chuỗi thời gian:

W = w 1 , w 2 , …, w k , …, w K max(n, m) K m + n + 1

Trong đó w k = (i, j) k Ràng buộc dải Sakoe-Chiba (Sakoe-Chiba Band) yêu cầu

|i–j| r, trong đó r là một số nguyên dương cho trước được gọi là cửa sổ xoắn

Hình 3.3.a minh họa hình dạng cửa sổ xoắn ứng với ràng buộc dải Sakoe-Chiba

3.2.2 Ràng buộc hình bình hành Itakura

Ràng buộc hình bình hành Itakura (Itakura Paralelogram) được đề xuất bởi

Itakura (1975) [15] Ràng buộc hình bình hành Itakura cũng định nghĩa đường xoắn cũng bao gồm một tập các ô trong ma trận gióng hàng của hai chuỗi thời gian:

W = w 1 , w 2 , …, w k , …, w K max(n, m) K m + n + 1 Trong đó w k = (i, j) k Ràng buộc Itakura Parallelogram yêu cầu |i – j| r, trong đó

r là một hàm biến thiên theo thời gian

Hình 3.3.b minh họa hình dạng cửa sổ xoắn ứng với ràng buộc Hình bình hành Itakura

Trang 35

Hình 3.3: Hai loại ràng buộc đối với đường xoắn: a) Dải Sakoe-Chiba

và b) Hình bình hành Itakura (nguồn: [31])

3.2.3 Dải Ratanamahatana-Keogh (dải R-K)

Ratanamahatana & Keogh (2004) [30] đã đề xuất dải Ratanamahatana-Keogh (dải R-K) dựa trên nhận xét rằng cửa sổ xoắn có thể có hình dạng không đồng nhất Dải R-K được đề xuất nhằm hai mục đích: tăng tốc việc tính toán khoảng cách DTW

và nâng cao độ chính xác của quá trình phân lớp vì cửa sổ xoắn là kết quả học dựa trên tập dữ liệu mẫu Hình 3.4.A trình bày một ví dụ của dải R-K khi so sánh với dải Sakoe-Chiba và Hình bình hành Itakura

Hình 3.4: Hình dạng của các loại ràng buộc cửa sổ xoắn: A) Dải R-K,

B) Dải Sakoe-Chiba, C) Hình bình hành Itakura (nguồn: [30])

Trang 36

Để tìm ra dải R-K cho một tập dữ liệu, Ratanamahatana và các cộng sự xem bài toán này như một bài toán tìm kiếm cổ điển Để sử dụng kỹ thuật tìm kiếm heuristic,

cần phải đặc tả hướng tìm kiếm, như tìm kiếm tiến (forward), tìm kiếm lùi (backward)

hay kết hợp hai hướng (bi-direction), trạng thái khởi động, hàm heuristic, các thao tác

và phép kiểm tra cuối cùng Tìm kiếm tiến bắt đầu với trạng thái là dải Sakoe-Chiba có kích thước bằng 0 (khoảng cách Euclid), còn tìm kiếm lùi bắt đầu với trạng thái là dải

đồng nhất có kích thước bằng cạnh lớn nhất m

Hình 3.5 minh họa ý tưởng của giải thuật tìm kiếm tiến Giải thuật tìm kiếm tiến bắt đầu với dải Euclid và thử tăng toàn bộ đoạn đường bao trước khi đánh giá lại độ chính xác phân lớp tương ứng Nếu độ chính xác phân lớp được cải thiện, giải thuật tiếp tục tăng toàn bộ đoạn đó của đường bao; ngược lại, giải thuật chia đoạn đường bao đó thành hai nửa và lần lượt tăng mỗi phần một cách độc lập trước khi đánh giá lại Giải thuật tìm kiếm lùi cũng tương tự, ngoại trừ việc bắt đầu với một dải rộng và

cố gắng giảm kích thước thay vì tăng

Hình 3.5: Minh họa giải thuật tìm kiếm tiến sử dụng độ chính xác

(nguồn: [30])

Trang 37

Giải thuật được mô tả chi tiết như sau:

- Trạng thái khởi động, là hình dạng dải ban đầu cho mỗi lớp:

o Tìm kiếm tiến: R i = 0

o Tìm kiếm lùi: R i = m

- Hàm heuristic, được dùng để đánh giá chất lượng của thao tác Nếu chỉ sử dụng độ chính xác phân lớp làm hàm heuristic, có thể rất nguy hiểm vì nguy

cơ quá khớp (overfitting) Vì vậy, cần dùng hai hàm heuristic khác nhau:

o Độ chính xác phân lớp: h(env) = đánh giá độ chính xác phân lớp sử dụng khoảng cách DTW dựa trên đường bao env

o Độ đo khoảng cách: h(env) = đánh giá tỉ lệ của khoảng cách DTW trung

bình giữa các đối tượng được phân lớp đúng với các đối tượng được phân lớp sai

- Một tập các thao tác, định nghĩa tất cả các thao tác hợp lệ có thể được thực hiện tại mỗi bước Có hai thao tác có thể tại mỗi bước sau khi hàm heuristic

đã được đánh giá:

o Nếu hàm heuristic được cải thiện, tiếp tục làm việc với đoạn đường bao

hiện tại (được đặc tả bằng điểm đầu và điểm cuối)

o Nếu hàm heuristic không được cải thiện, hủy bỏ sự thay đổi đối với

đường bao, và thực hiện thay đổi trên nửa trái (điểm đầu : điểm giữa-1)

và nửa phải (điểm giữa : điểm cuối) một cách độc lập

- Phép kiểm tra cuối cùng, xác định khi nào thì giải thuật kết thúc:

o Tìm kiếm tiến: Giải thuật dừng khi một trong các điều sau đây đúng:

 Hàm heuristic không được cải thiện

 Chiều rộng của đường bao đạt giá trị m

 Điều kiện điểm đầu – điểm cuối + 1 ngưỡng thỏa mãn với tất cả

các đoạn con của đường bao

o Tìm kiếm lùi: Giải thuật dừng khi một trong các điều sau đây đúng:

 Hàm heuristic không được cải thiện

 Đường bao có chiều rộng bằng 0 (khoảng cách Euclid)

 Điều kiện điểm đầu – điểm cuối + 1 ngưỡng thỏa mãn với tất cả

các đoạn con của đường bao

Trang 38

Về mặt lý thuyết, ngưỡng có thể là một ô, nhưng ngưỡng này có thể gây ra tình trạng quá khớp (overfitting) Ratanamahatana và các cộng sự đề nghị ngưỡng có giá trị

𝑚 2, trong đó m là chiều dài của chuỗi dữ liệu nhập

3.3 Các kỹ thuật tính chặn dưới cho khoảng cách DTW

Mục này giới thiệu ý nghĩa của chặn dưới cho khoảng cách DTW trong quá trình tìm kiếm tuần tự và trình bày một số chặn dưới cho khoảng cách DTW phổ biến

3.3.1 Ý nghĩa của chặn dưới

Ý nghĩa của việc tính chặn dưới được Ratanamahatana và Keogh trình bày trong [31] và có thể được tóm lược như sau: Bài toán tìm kiếm tương tự sử dụng khoảng cách Euclid có độ phức tạp I/O lớn, tuy nhiên việc tìm kiếm tương tự sử dụng DTW

còn có chi phí CPU lớn Độ phức tạp tính toán của DTW là O(n2) với tập mẫu có chiều

dài n) Một cách để giải quyết vấn đề này là sử dụng một hàm chặn dưới tính toán

nhanh, giúp lược bớt những chuỗi không thể là chuỗi so trùng tốt nhất Hình 3.6 thể hiện giải thuật tìm kiếm tuần tự sử dụng chặn dưới

end for

Hình 3.6: Giải thuật tìm kiếm tuần tự sử dụng chặn dưới (nguồn: [31])

Trang 39

Trong giải thuật này, việc tính toán khoảng cách DTW là không cần đối với những chuỗi có chặn dưới lớn hơn khoảng cách tốt nhất hiện tại

Các chặn dưới phải thỏa mãn một số ràng buộc sau:

- Không có lỗi so trùng sót (false dismissal): giá trị của chặn dưới phải luôn

luôn nhỏ hơn hoặc bằng khoảng cách thực

- Tính toán nhanh: độ phức tạp tính toán phải nhỏ hơn nhiều lần độ phức tạp tính toán của độ đo DTW nguyên thủy

- Chặn dưới chặt: giá trị của chặn dưới càng gần với khoảng cách thực càng tốt Chặn dưới có giá trị gần như bằng 0 sẽ không được sử dụng

Có rất nhiều công trình đề xuất cách tính chặn dưới cho DTW Tuy nhiên, đề tài chỉ giới thiệu ba phương pháp tính chặn dưới tiêu biểu Đó là LB_Keogh, FTW và LB_Improved

3.3.2 Phương pháp tính chặn dưới LB_Keogh

Chặn dưới LB_Keogh được Keogh và các cộng sự đề xuất năm 2002 [17] Để

tính được chặn dưới này, trước tiên các tác giả đề xuất tìm đường bao (envelope) của

chuỗi thời gian dựa trên cửa sổ xoắn Và các tác giả cũng đề xuất hai cách tính đường bao dựa trên 2 loại cửa sổ xoắn phổ biến nhất là dải Sakoe-Chiba và hình bình hành Itakura

Với cửa sổ xoắn kích thước r, đường bao của chuỗi thời gian Q được tính như

sau:

U i = max(q i-r : q i+r)

L i = min(q i-r : q i+r)

U và L lần lượt đại diện cho đường bao phía trên (Upper) và đường bao phía dưới

(Lower) Với cửa sổ xoắn dải Sakoe-Chiba, r là một hằng số Còn với Itakura Parallelogram, r là một hàm theo biến i Lưu ý rằng, cho dù kích thước cửa sổ xoắn là

một hằng số (dải Sakoe-Chiba), đường bao có thể có chiều rộng không bằng nhau Đường bao rộng hơn đối với những chuỗi thời gian thay đổi nhanh, và hẹp hơn với những chuỗi dữ liệu thay đổi chậm Hình 3.7 minh họa hình dạng của đường bao ứng

Trang 40

với hai loại ràng buộc cửa sổ xoắn phổ biến: dải Sakoe-Chiba và hình bình hành Itakura

Hình 3.7: Đường bao ứng với hai loại ràng buộc: A) Dải Sakoe-Chiba

và B) Hình bình hành Itakura (nguồn: [17])

Một tính chất hiển nhiên nhưng rất quan trọng của U và L đó là:

i L i q i U i Với đường bao U và L được định nghĩa như trên, chặn dưới LB_Keogh được

định nghĩa bằng công thức sau:

Từ khi được công bố đến nay, đã có rất nhiều công trình nghiên cứu sử dụng chặn dưới LB_Keogh để tăng tốc quá trình tính khoảng cách DTW Ngoài các công trình của Keogh và các cộng sự, nhiều công trình của các nhóm nghiên cứu khác cũng

sử dụng chặn dưới này Các công trình này được liệt kê và mô tả tại website LB_Keogh [18]

Ngày đăng: 08/03/2021, 23:44

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w