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

Kết hợp thu giảm số chiều và kỹ thuật lập trình đa luồng để tăng tốc gom cụm dữ liệu chuỗi thời gian với độ đo xoắn thời gian động

94 16 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 94
Dung lượng 3,1 MB

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

Nội dung

Giới thiệu đề tài 1 GIỚI THIỆU ĐỀ TÀI 1.1 Dữ liệu chuỗi thời gian và vấn đề khai phá dữ liệu chuỗi thời gian 1.1.1 Khai phá dữ liệu Khai phá dữ liệu là: - một quá trình trích xuất tri

Trang 1

ĐẠI HỌC QUỐC GIA TP HCM

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

-

TRẦN NHẬT TUẤN

KẾT HỢP THU GIẢM SỐ CHIỀU

VÀ KỸ THUẬT LẬP TRÌNH ĐA LUỒNG

ĐỂ TĂNG TỐC GOM CỤM DỮ LIỆU CHUỖI THỜI GIAN VỚI ĐỘ ĐO XOẮN THỜI GIAN ĐỘNG

LUẬN VĂN THẠC SĨ

TP HỒ CHÍ MINH, tháng 07 năm 2017

Trang 2

ĐẠI HỌC QUỐC GIA TP HCM

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

-

TRẦN NHẬT TUẤN

KẾT HỢP THU GIẢM SỐ CHIỀU

VÀ KỸ THUẬT LẬP TRÌNH ĐA LUỒNG

ĐỂ TĂNG TỐC GOM CỤM DỮ LIỆU CHUỖI THỜI GIAN VỚI ĐỘ ĐO XOẮN THỜI GIAN ĐỘNG

Chuyên ngành: KHOA HỌC MÁY TÍNH

Mã số: 60.48.01.01

LUẬN VĂN THẠC SĨ

PGS TS DƯƠNG TUẤN ANH

TP HỒ CHÍ MINH, tháng 07 năm 2017

Trang 3

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 THÀNH PHỐ 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 : TS PHẠM VĂN CHUNG

Cán bộ chấm nhận xét 2 : TS LÊ VĂN QUỐC ANH

Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 18 tháng 07 năm 2017 Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: 1 PGS TS QUẢN THÀNH THƠ (Chủ tịch)

2 TS NGUYỄN AN KHƯƠNG (Thư ký)

3 TS PHẠM VĂN CHUNG (Phản biện 1)

4 TS LÊ VĂN QUỐC ANH (Phản biện 2)

5 TS TRẦN TUẤN ANH (Ủy viên)

Trang 4

ĐẠI HỌC QUỐC GIA TP.HCM

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

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập - Tự do - Hạnh phúc

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

- Ứng dụng kỹ thuật lập trình đa luồng để tăng tốc việc tính toán độ đo DTW

- Tìm hiểu giải thuật K-medoids cải tiến được dùng làm giải thuật gom cụm chính

III NGÀY GIAO NHIỆM VỤ: 16/01/2017

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 18/06/2017

V CÁN BỘ HƯỚNG DẪN: PGS TS DƯƠNG TUẤN ANH

Trang 5

LỜI CÁM ƠN

Đầu tiên tôi xin được gửi lời cảm ơn tập thể các thầy cô của khoa Khoa học & Kỹ thuật Máy tính trường Đại học Bách Khoa đã tận tình chỉ dạy và trang bị cho tôi những kiến thức cần thiết đề làm nền tảng cho việc thực hiện luận văn cũng như những kinh nghiệm quý báu để tôi vững tin hơn trong môi trường làm việc sau này Xin chân thành cảm ơn thầy Dương Tuấn Anh đã tận tình giúp đỡ, định hướng và cung cấp ý tưởng cũng như tài liệu tham khảo trong thời gian tôi làm luận văn Ngoài ra, tôi xin được gửi lời cảm ơn chân thành đến gia đình và bạn bè - những người luôn ở bên cạnh động viên tôi về vật chất lẫn tinh thần và hỗ trợ tôi hoàn thành luận văn này

Trang 6

TÓM TẮT

Dữ liệu chuỗi thời gian đã trở nên rất cần thiết và phổ biến trong nhiều lĩnh vực ứng dụng Ý tưởng về việc thu thập và phân tích dữ liệu chuỗi thời gian đã có từ lâu Tuy nhiên, vẫn có những thách thức nhất định khi làm việc với dữ liệu chuỗi thời gian, cụ thể là gom cụm dữ liệu, bài toán đóng vai trò quan trọng trong rất nhiều ứng dụng dữ liệu Với nhiều trường hợp thì độ đo Euclid tỏ ra quá cứng nhắc vì không thích nghi được với những phép biến đổi như tịnh tiến, co giãn biên độ hay xoắn trục thời gian Hơn nữa, độ đo này đã được chứng minh là ít chính xác và thường cho kết quả không mong muốn trong một số lĩnh vực ứng dụng như dữ liệu đa phương tiện Sự ra đời của độ đo xoắn thời gian động (DTW) đã góp phần giải quyết vấn đề trên bằng cách cho phép ánh xạ các hình dạng tương tự nhau thậm chí khi các hình dạng đó không còn khớp về trục thời gian Tuy độ đo DTW cho kết quả tốt hơn độ đo khoảng cách Euclid trên gần như mọi bài toán, nhưng lại thời gian tính toán rất lâu Vì vậy, một số giải pháp được đưa ra để tăng tốc DTW

Đề tài nghiên cứu này tập trung vào việc xây dựng chương trình gom cụm dữ liệu dựa vào giải thuật K-medoids với độ đo xoắn thời gian động DTW, kết hợp kỹ thuật thu giảm số chiều PAA và kỹ thuật lập trình đa luồng để tăng tốc thời gian gom cụm Đặc điểm nổi bật của phương pháp này là đánh đổi giữa thời gian thực thi và kết quả đạt được Kết quả thực nghiệm cho thấy chất lượng gom cụm vẫn tương đối chính xác nhưng đã rút ngắn đáng kể về mặt thời gian

Trang 7

ABSTRACT

Time series data have become a ubiquitous, necessary data source in many application domains About the idea of collecting and analyzing time series data, there are still certain challenges in working with them, namely cluster analysis – which plays an important role in a wide variety of data applications In most cases, using Euclidean dissimilarity for time series data is inelastic in regards to transformation methods, such as shifting, scaling or time warping Moreover, its result is not good and unexpected in some application domains, for example, multimedia data Dynamic Time Warping, as a dissimilarity measure, overcomes the problem by mapping analogous shapes, even those are not matched on time axis Although being better than Euclidean dissimilarity at quality of results in most of clustering problems, DTW calculation takes a very long time to finish execution Therefore, it requires techniques to accelerate DTW calculation

This study focuses on building clustering system based on K-medoids algorithm and DTW distance, combining dimensionality reduction and multithreading technique to speed up time series clustering The outstanding feature of this method is the tradeoff between execution time and clustering quality Experimental results show that clustering quality is acceptably accurate, while taking significantly less time to execute

Trang 8

LỜI CAM ĐOAN

Tôi xin cam đoan các kết quả báo cáo trong luận văn này và chương trình là sản phẩm

do công sức lao động của chính tôi thực hiện, không có sự sao chép từ những công trình nào khác, ngoại trừ những kết quả từ các công trình khác đã ghi rõ trong luận văn Tất cả các kiến thức tôi học hỏi được từ những tài liệu tham khảo đều được trích dẫn nguồn đầy đủ Nếu có bất cứ sai phạm nào so với lời cam đoan, tôi xin chịu các hình thức xử lý theo quy định

Trang 9

MỤC LỤC

GIỚI THIỆU ĐỀ TÀI 1

1.1 Dữ liệu chuỗi thời gian và vấn đề khai phá dữ liệu chuỗi thời gian 1

1.1.1 Khai phá dữ liệu 1

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

1.1.3 Khai phá dữ liệu chuỗi thời gian 2

1.2 Bài toán gom cụm trong dữ liệu chuỗi thời gian 3

1.3 Mục tiêu 7

1.4 Phương pháp nghiên cứu 8

1.5 Ý nghĩa của luận văn 8

1.6 Những kết quả đạt được của luận văn 9

1.7 Nội dung chính của luận văn 10

CƠ SỞ LÝ THUYẾT 11

2.1 Các độ đo khoảng cách chuỗi thời gian 11

2.1.1 Các độ đo trong không gian Euclid 11

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

2.2 Các giải thuật gom cụm dữ liệu thường dùng 16

2.2.1 Giải thuật K-means 17

2.2.2 Giải thuật K-medoids 18

2.3 Các phương pháp thu giảm số chiều dựa vào đặc trưng 20

2.3.1 Các phương pháp biến đổi sang miền tần số 20

2.3.2 Các phương pháp xấp xỉ tuyến tính từng đoạn 22

2.4 Các tiêu chí đánh giá chất lượng gom cụm 23

CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN 26

3.1 Cách biểu diễn xấp xỉ gộp từng đoạn (PAA) 26

Trang 10

3.2 Độ đo xoắn thời gian động với biểu diễn dữ liệu đã thu giảm số chiều bằng PAA 28

3.3 Giải thuật gom cụm K-medoids cải tiến 29

3.4 Kỹ thuật lập trình đa luồng để tăng tốc tính toán độ đo DTW 30

HỆ THỐNG GOM CỤM DỮ LIỆU CHUỖI THỜI GIAN 34

4.1 Đặt vấn đề 34

4.2 Hướng giải quyết 35

4.2.1 Kỹ thuật tính khoảng cách PDTW 35

4.2.2 Kỹ thuật khởi tạo trung tâm cụm của giải thuật K-medoids cải tiến 37

4.2.3 Kỹ thuật lập trình đa luồng 39

4.3 Kiến trúc chi tiết hệ thống 41

4.3.1 Module giao diện người dùng 42

4.3.2 Module xử lý chuỗi thời gian 43

4.3.3 Module gom cụm dữ liệu 44

4.3.4 Module đánh giá kết quả gom cụm 45

4.3.5 Module trực quan hóa dữ liệu và kết quả 45

THỰC NGHIỆM 47

5.1 Giới thiệu tập dữ liệu mẫu 47

5.2 Đánh giá thời gian thực thi của kỹ thuật lập trình đa luồng 49

5.3 Đánh giá chất lượng gom cụm và thời gian thực thi của hệ thống 51

5.3.1 Tập dữ liệu Face Four 52

5.3.2 Tập dữ liệu Trace 53

5.3.3 Tập dữ liệu CBF 55

5.3.4 Tập dữ liệu Heterogeneous 56

5.3.5 Tập dữ liệu CC 58

5.3.6 Tập dữ liệu Inline Skate 60

5.4 Kết luận 62

Trang 11

GIẢI THUẬT GOM CỤM DỰA VÀO CÁC ĐỈNH MẬT ĐỘ 63

6.1 Giới thiệu giải thuật 63

6.2 Chi tiết giải thuật 64

6.3 Hiện thực giải thuật gom cụm dựa vào các đỉnh mật độ trong hệ thống 66

6.3.1 Tính toán mật độ cục bộ 𝝆 66

6.3.2 Tính toán khoảng cách 𝜹 66

6.3.3 Lựa chọn trung tâm cụm 67

6.3.4 Gán các đối tượng vào các cụm 67

6.4 Thực nghiệm 67

6.4.1 So sánh thời gian thực thi của giải thuật Density Peaks với giải thuật K-medoids cải tiến 67

6.4.2 Thực nghiệm giải thuật gom cụm Density Peaks với các tập dữ liệu 68

6.4.3 So sánh chất lượng gom cụm của giải thuật Density Peaks với giải thuật K-medoids cải tiến 70

6.5 Kết luận 73

KẾT LUẬN 74

7.1 Tổng kết 74

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

7.3 Hướng phát triển 75

TÀI LIỆU THAM KHẢO 76

Trang 12

DANH SÁCH HÌNH VẼ

Hình 1.1 Minh họa đường biểu diễn dữ liệu chuỗi thời gian chứng khoán 2

Hình 1.2 Minh họa quá trình gom cụm dữ liệu chuỗi thời gian 4

Hình 1.3 Minh họa gom cụm chuỗi thời gian dùng độ đo khoảng cách Euclid (trái) và độ đo DTW (phải) 6

Hình 2.1 (a) Tính khoảng cách theo Euclid và (b) tính khoảng cách theo DTW 12

Hình 2.2 Ma trận xoắn và đường xoắn tối ưu [10] 13

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

Hình 2.4 Ma trận xoắn tính DTW cho hai chuỗi thời gian 16

Hình 2.5 Quá trình gom cụm dùng K-means [11] 18

Hình 2.6 Các trường hợp thay thế của giải thuật K-medoids [11] 19

Hình 2.7 Minh họa cách biến đổi dữ liệu theo các phương pháp DFT, DWT [30] 21

Hình 3.1 Minh họa cho kỹ thuật thu giảm số chiều dữ liệu 27

Hình 3.2 Chuỗi X và xấp xỉ PAA của nó X' 27

Hình 3.3 Hai chuỗi thời gian tương tự và sắp xếp khoảng cách xoắn giữa chúng Hình trên là sắp xếp bởi DTW Hình dưới là sắp xếp PDTW trên biểu diễn thu giảm số chiều PAA của chúng 29

Hình 3.4 Minh họa kỹ thuật cải tiến tốc độ tính toán DTW 31

Hình 4.1 Lưu đồ giải thuật cho phương thức tính PAA 35

Hình 4.2 Lưu đồ giải thuật K-medoids cải tiến 37

Hình 4.3 Hệ thống gom cụm dữ liệu chuỗi thời gian 41

Hình 4.4 Giao diện chính của chương trình 42

Hình 4.5 Giao diện thể hiện kết quả gom cụm 45

Hình 4.6 Giao diện trực quan hóa dữ liệu 46

Hình 4.7 Giao diện trực quan hóa kết quả gom cụm 46

Hình 5.1 Hình minh họa tập dữ liệu Heterogeneous 48

Hình 5.2 Biểu đồ so sánh thời gian thực thi gom cụm giữa việc có áp dụng và không áp dụng kỹ thuật lập trình đa luồng 50

Hình 5.3 Hình minh họa tập dữ liệu Face Four 52

Hình 5.4 Đồ thị thời gian và chất lượng gom cụm trên tập Face Four 53

Hình 5.5 Hình minh họa tập dữ liệu Trace 53

Hình 5.6 Đồ thị thời gian và chất lượng gom cụm trên tập Trace 54

Trang 13

Hình 5.7 Hình minh họa tập dữ liệu CBF 55

Hình 5.8 Đồ thị thời gian và chất lượng gom cụm trên tập CBF 56

Hình 5.9 Hình minh họa tập dữ liệu Heterogeneous 56

Hình 5.10 Đồ thị thời gian và chất lượng gom cụm trên tập Heterogeneous 57

Hình 5.11 Hình minh họa tập dữ liệu CC 58

Hình 5.12 Đồ thị thời gian và chất lượng gom cụm trên tập CC 59

Hình 5.13 Hình minh họa tập dữ liệu Inline Skate 60

Hình 5.14 Đồ thị thời gian và chất lượng gom cụm trên tập Inline Skate 61

Hình 6.1 Giải thuật trong không gian hai chiều (A) Phân bố điểm (B) Đồ thị quyết định dữ liệu trong A 65

Hình 6.2 Một số ví dụ kết quả gom cụm các đỉnh mật độ 65

Hình 6.3 Đồ thị thời gian và chất lượng gom cụm trên tập Trace 69

Hình 6.4 Đồ thị thời gian và chất lượng gom cụm trên tập Heterogeneous 70

Hình 6.5 Đồ thị so sánh thời gian và chất lượng gom cụm của 2 giải thuật trên tập Trace 72

Hình 6.6 Đồ thị so sánh thời gian và chất lượng gom cụm của 2 giải thuật trên tập Heterogeneous 73

Trang 14

DANH SÁCH BẢNG

Bảng 5.1 Bảng so sánh thời gian thực thi gom cụm giữa việc có áp dụng và không

áp dụng kỹ thuật lập trình đa luồng (đơn vị thời gian: giây) 50Bảng 5.2 Bảng thời gian (đơn vị: ms) và chất lượng gom cụm trên tập Face Four 52Bảng 5.3 Bảng thời gian (đơn vị: ms) và chất lượng gom cụm trên tập Trace 54Bảng 5.4 Bảng thời gian (đơn vị: ms) và chất lượng gom cụm trên tập CBF 55Bảng 5.5 Bảng thời gian (đơn vị: ms) và chất lượng gom cụm trên tập

Heterogeneous 57Bảng 5.6 Bảng thời gian (đơn vị: ms) và chất lượng gom cụm trên tập CC 58Bảng 5.7 Bảng thời gian (đơn vị: ms) và chất lượng gom cụm trên tập Inline Skate 61Bảng 6.1 Bảng so sánh thời gian thực thi (đơn vị: ms) của hai giải thuật K-medoids cải tiến và Density Peaks 68Bảng 6.2 Bảng thời gian (đơn vị: ms) và chất lượng gom cụm trên tập Trace 69Bảng 6.3 Bảng thời gian (đơn vị: ms) và chất lượng gom cụm trên tập

Heterogeneous 70Bảng 6.4 Bảng so sánh thời gian (đơn vị: ms) và chất lượng gom cụm của 2 giải thuật trên tập Trace 71Bảng 6.5 Bảng so sánh thời gian (đơn vị: ms) và chất lượng gom cụm của 2 giải thuật trên tập Heterogeneous 72

Trang 15

Giới thiệu đề tài

1

GIỚI THIỆU ĐỀ TÀI

1.1 Dữ liệu chuỗi thời gian và vấn đề khai phá dữ liệu chuỗi thời gian

1.1.1 Khai phá dữ liệu

Khai phá dữ liệu là:

- một quá trình trích xuất tri thức từ lượng lớn dữ liệu

- một quá trình không dễ (non-trivial) trích xuất thông tin ẩn, hữu ích, chưa được

biết trước từ dữ liệu

Các tác vụ khai phá dữ liệu: khai phá mô tả lớp/khái niệm (đặc trưng hóa và phân biệt hóa dữ liệu) - description, khai phá luật kết hợp/tương quan - association rule, phân loại/lớp dữ liệu - classification, dự báo - prediction, gom cụm dữ liệu - clustering, phân tích xu hướng - trend analysis, phân tích độ lệch và phần tử ngoại biên - outlier, phân tích độ tương tự - similarity analysis,…

Trong số các tác vụ trên, gom cụm là quá trình gom nhóm (cụm) dữ liệu hoặc đối tượng Các đối tượng trong cùng một cụm tương tự với nhau hơn so với đối tượng ở các cụm khác Đại diện hoặc mô tả của các cụm tạo thành được sử dụng trong các bài toán ra quyết định như classification, prediction, outlier detection

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

Dữ liệu chuỗi thời gian (time series) là tập hợp các quan sát tuần tự theo thời gian [1]

Dữ liệu này có thể là hai chiều hay nhiều chiều nhưng phải có một chiều là thời gian Chúng phổ biến rộng khắp trong đời sống Các số liệu được đo đạc như tỷ lệ ủng hộ ứng viên tổng thống Mỹ, đo huyết áp, lượng mưa hàng năm ở Brazil, giá trị cổ phiếu Yahoo, lượng truy cập web mỗi giây,… thay đổi liên tục theo thời gian Một đường biểu diễn dữ liệu chuỗi thời gian chứng khoán được minh họa ở Hình 1.1 Do đó, có thể nói dữ liệu chuỗi thời gian xuất hiện thực tế trong nhiều lĩnh vực như tin sinh học, người máy, y học, hóa học, nhận dạng cử chỉ, khí tượng học, thiên văn học, sinh trắc học, tài chính, sản xuất,… Một mẫu 4000 ảnh được lấy ngẫu nhiên từ 15 tờ báo xuất

Trang 16

Giới thiệu đề tài

có thể được xử lý Cuối cùng là vấn đề xử lý dữ liệu hỗn tạp, có định dạng dữ liệu khác nhau, tần số lấy mẫu khác nhau, bị nhiễu và thiếu giá trị,…

1.1.3 Khai phá dữ liệu chuỗi thời gian

Gần tương tự như khai phá dữ liệu trong trường hợp tổng quát, các tác vụ chính trong khai phá dữ liệu chuỗi thời gian [2] bao gồm:

Trang 17

Giới thiệu đề tài

3

- So trùng (indexing): Tên gọi khác là truy vấn bằng nội dung (query by content) Cho trước một chuỗi thời gian Q, và độ đo tương tự/sai biệt D(Q,C) nào đó, tìm

chuỗi thời gian tương tự nhất trong cơ sở dữ liệu DB

- Gom cụm (clustering): Tìm các phân nhóm tự nhiên của những chuỗi thời gian

trong cơ sở dữ liệu DB dựa vào độ đo tương tự/sai biệt D(Q,C) nào đó

- Phân lớp (classification): Cho trước một chuỗi thời gian Q chưa đánh nhãn, gán

nó vào một trong hai hoặc nhiều lớp đã được định nghĩa trước

- Dự báo (prediction hay forecasting): Cho trước một chuỗi thời gian Q chứa n điểm

dữ liệu, dự đoán giá trị tại thời điểm n + 1

- Tổng kết (summarization): Cho trước một chuỗi thời gian Q chứa n điểm dữ liệu với n là một số rất lớn, tạo một xấp xỉ (có thể minh họa bằng đồ thị) của Q mà có

thể giữ lại những đặc trưng chủ yếu của nó, nhưng vừa một trang đơn, màn hình máy tính, v.v…

- Phát hiện bất thường (anomaly detection): Tên gọi khác là dò tìm điểm đáng chú

ý (interestingness detection) Cho trước một chuỗi thời gian bình thường Q, và

một chuỗi thời gian không chú thích R, tìm tất cả các phần của R có chứa các mẫu

bất thường (xuất hiện mà không được mong đợi)

- Phân đoạn (segmentation): Tên gọi khác là phát hiện thay đổi (change detection) (a) Cho trước một chuỗi thời gian Q chứa n điểm dữ liệu, xây dựng một mẫu Q’,

từ K phân đoạn (K << n), sao cho Q’ gần xấp xỉ với Q (b) Cho trước một chuỗi thời gian Q, phân hoạch nó thành K phần đồng đều

- Phát hiện mô típ (motif discovery): Phát hiện mô típ về cốt lõi là việc tìm tất cả mọi chuỗi con (gọi là mô típ) mà xuất hiện lặp lại trong một chuỗi thời gian dài hơn [3]

1.2 Bài toán gom cụm trong dữ liệu chuỗi thời gian

Gom cụm dữ liệu chuỗi thời gian là một tiến trình rất quan trọng trong quá trình cô đọng và tổng quát hóa dữ liệu Gom cụm tương tự như phân lớp ở chỗ phân loại dữ liệu vào các nhóm Tuy nhiên, các nhóm này không được định nghĩa trước, mà được

Trang 18

Giới thiệu đề tài

4

định nghĩa bằng bản thân dữ liệu, dựa trên sự tương tự giữa các chuỗi thời gian Gom cụm thường được xem như việc học không giám sát, dựa trên việc quyết định sự tương tự giữa các dữ liệu ở một số thuộc tính định nghĩa trước Những dữ liệu tương

tự nhau nhất được nhóm vào các cụm, nhưng các cụm đó phải rất khác biệt nhau

Hai phương pháp tổng quát cho gom cụm dữ liệu chuỗi thời gian là gom cụm phân

hoạch và gom cụm phân cấp Gom cụm phân cấp tính khoảng cách theo cặp, và sau

đó trộn các cụm tương tự từ dưới lên, không cần biết trước số lượng cụm Đây là một trong những công cụ tốt nhất để đánh giá dữ liệu, bằng cách tạo một biểu đồ nhánh của vài chuỗi thời gian từ miền được quan tâm Tuy nhiên, ứng dụng của nó chỉ giới hạn ở các tập dữ liệu nhỏ do độ phức tạp tính toán bậc hai Hình 1.2 minh họa một ví

dụ cho phương pháp gom cụm này

Các phương pháp phân hoạch đặt lại vị trí cho đối tượng bằng cách di chuyển chúng

từ cụm này tới cụm khác, bắt đầu từ một phân hoạch khởi tạo Các giải thuật tối thiểu hóa sai số là một trong số các phương pháp phân hoạch Các giải thuật này được sử dụng thường xuyên nhất, có xu hướng làm việc tốt với các cụm đặc và cô lập Ý tưởng cơ bản của chúng là tìm các cấu trúc gom cụm mà tối thiểu hóa một tiêu chuẩn sai số (đo khoảng cách giữa đối tượng và giá trị thể hiện của cụm) nào đó Tiêu chuẩn

nổi tiếng nhất là tổng bình phương sai số (Sum of Squared Error), đo tổng bình

phương khoảng cách Euclid giữa các đối tượng tới các giá trị thể hiện của chúng Giải

Hình 1.2 Minh họa quá trình gom cụm dữ liệu chuỗi thời gian

Trang 19

Giới thiệu đề tài

5

thuật đơn giản và thường dùng nhất, sử dụng tiêu chuẩn bình phương sai số là giải

thuật K-means Giải thuật này phân hoạch dữ liệu vào K cụm (C 1 ,C 2 , ,C K), thể hiện

bằng các trung tâm cụm Trung tâm của mỗi cụm được tính bằng giá trị trung bình

(mean) tất cả các đối tượng thuộc về cụm đó Độ phức tạp tuyến tính là một trong các nguyên nhân dẫn tới sự phổ biến của các giải thuật K-means Dù cho số lượng đối tượng rất lớn, kết quả tính toán của giải thuật này là rất ấn tượng Do đó, K-means có lợi thế khi so sánh với các giải thuật gom cụm khác (ví dụ như gom cụm phân cấp)

có độ phức tạp phi tuyến Các lý do khác cho sự phổ biến của giải thuật này là tính

dễ hiểu, hiện thực đơn giản, tốc độ hội tụ nhanh và khả năng đáp ứng với dữ liệu thưa

thớt Một giải thuật phân hoạch khác cũng sử dụng ý tưởng tối thiểu hóa SSE là giải

thuật medoids Giải thuật này rất giống means, chỉ khác là mỗi cụm của

K-medoids được thể hiện bằng đối tượng gần trung tâm nhất (medoid) trong cụm, thay

vì một giá trị trung bình ngầm định có thể không thuộc về cụm đó như của K-means Phương pháp K-medoids trội hơn giải thuật K-means khi dữ liệu có sự tồn tại của nhiễu và các phần tử biên vì một medoid ít bị ảnh hưởng bởi các phần tử biên hay các giá trị cực trị so với một mean Tuy nhiên, quá trình của K-medoids đòi hỏi chi phí cao hơn phương pháp K-means

Tìm kiếm tương tự (similarity search) là công tác căn bản nhất để khai thác những cơ

sở dữ liệu chuỗi thời gian Bài toán tìm kiếm tương tự là thành phần căn bản trong nhiều công tác khai phá dữ liệu chuỗi thời gian cao cấp hơn như gom cụm, phân lớp, tìm mô típ, phát hiện mẫu bất thường, khám phá luật kết hợp và trực quan hóa dữ liệu

Đã có nhiều độ đo tương tự đã được sử dụng Việc chọn một độ đo tương tự là tùy thuộc rất nhiều vào miền ứng dụng và trong nhiều trường hợp thì một độ đo thuộc

chuẩn L p đơn giản như độ đo Euclid là đủ tốt để dùng Tuy nhiên trong nhiều trường hợp thì độ đo Euclid tỏ ra quá cứng nhắc vì không thích nghi được với những phép

biến đổi như tịnh tiến (shifting), co giãn biên độ (scaling) hay xoắn trục thời gian

(time warping) Hơn nữa, độ đo này đã được chứng minh là ít chính xác và thường cho kết quả không mong muốn trong một số lĩnh vực ứng dụng như dữ liệu đa phương tiện Nhiều phương pháp tìm kiếm tương tự mới hơn dựa vào những độ đo tương tự

Trang 20

Giới thiệu đề tài

6

mềm dẻo và vững chắc hơn như độ đo xoắn thời gian động (Dynamic Time Warping

- DTW), độ đo chuỗi con chung dài nhất (Longest Common Subsequence - LCS) Sự

ra đời của DTW đã góp phần giải quyết vấn đề trên bằng cách cho phép ánh xạ các hình dạng tương tự nhau thậm chí khi các hình dạng đó không còn khớp về trục thời gian Hình 1.3 minh họa cho sự khác nhau giữa gom cụm chuỗi thời gian dùng độ đo Euclid và gom cụm chuỗi thời gian dùng độ đo DTW

Hình 1.3 Minh họa gom cụm chuỗi thời gian dùng độ đo khoảng cách Euclid (trái) và

độ đo DTW (phải)

Tuy độ đo DTW cho kết quả tốt hơn độ đo khoảng cách Euclid trên gần như mọi bài toán, nhưng lại thời gian tính toán rất lâu Vì vậy, một số giải pháp được đưa ra để tăng tốc DTW, bao gồm:

- Sử dụng các ràng buộc (constraint): giới hạn số các ô được đánh giá trong ma trận

chi phí, qua đó DTW tìm thấy đường xoắn tối ưu qua cửa sổ ràng buộc

- Rút trích đặc trưng: tăng tốc giải thuật DTW bằng cách thao tác trên biểu diễn dữ liệu đã thu giảm độ lớn sau khi áp dụng một số phương pháp biến đổi, gọi là những

kỹ thuật thu giảm số chiều (dimensionality reduction)

Nhu cầu sử dụng kỹ thuật thu giảm số chiều xuất phát từ việc dữ liệu chuỗi thời gian thường cực kỳ lớn và do đó tìm kiếm trực tiếp trên những dữ liệu này sẽ rất phức tạp

Trang 21

Giới thiệu đề tài

7

và không hữu hiệu Việc thu giảm số chiều của dữ liệu dẫn tới biểu diễn dữ liệu chuỗi thời gian thành các dạng khác Sau đó, ta sẽ xây dựng các giải thuật tính toán, phân tích trên các dạng biểu diễn này

Có ba nhóm phương pháp chính để thu giảm số chiều là:

- Các phương pháp biến đổi sang miền tần số: gồm có biến đổi Fourier rời rạc (discrete Fourier transform - DFT), biến đổi wavelet rời rạc (discrete wavelet

transform - DWT)

- Các phương pháp xấp xỉ tuyến tính từng đoạn: gồm có xấp xỉ tuyến tính từng đoạn (piecewise linear approximation - PLA), xấp xỉ gộp từng đoạn (piecewise aggregate approximation - PAA), xấp xỉ hằng số từng đoạn thích nghi (adaptive

piecewise constant approximation - APCA)

- Các phương pháp điểm quan trọng: gồm có điểm mốc (landmark), điểm cực trị (extrema), điểm PIP (perceptually important points)

PAA được chọn lựa làm phương pháp thu giảm số chiều cho luận văn này, và theo

đó là việc xây dựng giải thuật tính toán DTW trên biểu diễn dữ liệu đã được thu giảm

số chiều (Piecewise Dynamic Time Warping - PDTW) [5] Kỹ thuật này tận dụng việc chúng ta có thể xấp xỉ một cách hiệu quả hầu hết chuỗi thời gian bằng phương pháp PAA Kỹ thuật này giúp tăng tốc DTW một hằng số lớn Giá trị hằng số phụ thuộc vào dữ liệu nhưng điển hình là từ hàng chục đến hàng trăm lần

Để giúp tăng tốc độ tính toán ma trận xoắn DTW, qua đó tăng tốc giải thuật DTW về

tổng thể, kỹ thuật lập trình đa luồng (multithreading) cũng được sử dụng, dựa trên ý

tưởng mỗi ô trong ma trận xoắn của hai chuỗi bất kỳ là một tác vụ tính toán và phụ thuộc vào kết quả tính toán của ô phía trên và ô phía bên trái của tác vụ này Việc áp dụng kỹ thuật này vẫn có thể đảm bảo tính toán được khoảng cách DTW chính xác như cách tính DTW cổ điển, với thời gian tính toán được rút ngắn lại

1.3 Mục tiêu

Mục tiêu nghiên cứu của đề tài này trên cơ sở dữ liệu chuỗi thời gian là xây dựng hệ thống gom cụm dữ liệu dựa vào giải thuật gom cụm K-medoids cải tiến với độ đo

Trang 22

Giới thiệu đề tài

8

xoắn thời gian động DTW, kết hợp kỹ thuật thu giảm số chiều PAA và kỹ thuật lập trình đa luồng, với các vấn đề chính sau:

- Tìm hiểu cách tính khoảng cách DTW: ưu điểm của DTW đó là độ chính xác cao

so với các độ đo Euclid, nhưng cách tính toán phức tạp và chậm Do đó, đề tài sẽ tìm hiểu các phương pháp tính khoảng cách DTW

- Tìm hiểu phương pháp xấp xỉ gộp từng đoạn PAA để thu giảm số chiều và giải thuật PDTW để tính độ đo DTW cho dữ liệu chuỗi thời gian đã thu giảm số chiều bằng PAA

- Ứng dụng kỹ thuật lập trình đa luồng để tăng tốc việc tính toán độ đo DTW

- Tìm hiểu giải thuật K-medoids cải tiến [24] sẽ được dùng làm giải thuật gom cụm chính trong đề tài

- Tìm hiểu giải thuật gom cụm dựa vào các điểm cực đại mật độ (density peaks) và

so sánh hiệu quả của giải thuật này với giải thuật K-medoids cải tiến nói trên

1.4 Phương pháp nghiên cứu

Các phương pháp sẽ được sử dụng trong quá trình nghiên cứu:

- Phương pháp phân tích và tổng hợp lý thuyết

o Tìm hiểu về dữ liệu chuỗi thời gian và gom cụm dữ liệu chuỗi thời gian

o Tìm hiểu các vấn đề liên quan tới tăng tốc gom cụm dữ liệu chuỗi thời gian

o Tìm hiểu độ đo xoắn thời gian động DTW

o Tìm hiểu kỹ thuật thu giảm số chiều và kỹ thuật lập trình đa luồng

- Phương pháp hiện thực hóa áp dụng những kiến thức đã tìm hiểu

- Phương pháp thu thập dữ liệu để tìm kiếm một số tập dữ liệu mẫu

- Phương pháp thực nghiệm và đánh giá để kiểm tra độ hiệu quả của giải pháp đề xuất trên một số tập dữ liệu mẫu

1.5 Ý nghĩa của luận văn

Hiện nay có một số giải pháp để tăng tốc gom cụm dữ liệu với độ đo DTW, ví dụ như

sử dụng các ràng buộc Tuy nhiên, có một số bất lợi trong việc sử dụng ràng buộc là

Trang 23

Giới thiệu đề tài

9

không thể tìm thấy đường xoắn nếu nó không hoàn toàn nằm trong cửa sổ hay chỉ làm việc tốt trong những lĩnh vực mà chuỗi thời gian có sự thay đổi nhỏ về mặt thời gian

Luận văn đi theo một cách tiếp cận khác Dựa trên ý tưởng của Keogh và Pazzani [5]

về việc tăng tốc DTW cho các ứng dụng khai phá dữ liệu chuỗi thời gian, thực hiện gom cụm dữ liệu bằng K-medoids cải tiến với độ đo DTW trên biểu diễn dữ liệu đã được thu giảm số chiều, chúng tôi đề xuất hiện thực giải thuật này, kết hợp với kỹ thuật lập trình đa luồng để tăng tốc độ tính toán

1.6 Những kết quả đạt được của luận văn

Sau một thời gian nghiên cứu và hiện thực, chúng tôi đã đạt được các kết quả tích cực, đó là:

- Xây dựng được hệ thống gom cụm dữ liệu chuỗi thời gian với độ đo xoắn thời gian động sử dụng kết hợp kỹ thuật lập trình đa luồng và kỹ thuật thu giảm số chiều PAA, rút ngắn nhiều lần thời gian thực thi gom cụm mà ít gây ảnh hưởng tới chất lượng gom cụm

- Vận dụng và hiện thực một kỹ thuật khởi tạo trung tâm cụm, nòng cốt của giải thuật gom cụm K-medoids cải tiến đề xuất bởi Park và Jun [24], nhằm rút ngắn thời gian tính toán so với các giải thuật K-medoids thông thường

- Vận dụng được kỹ thuật lập trình đa luồng và xử lý song song tác vụ để giảm thời gian tính toán khoảng cách DTW nhưng vẫn cho kết quả tuyệt đối chính xác như phương pháp cổ điển

- Đề xuất áp dụng giải thuật gom cụm dựa vào các đỉnh mật độ như một giải pháp thay thế cho các giải thuật K-medoids trong một số trường hợp

- Cho phép người dùng tùy biến nhiều thông số chương trình: có áp dụng kỹ thuật

đa luồng hay không, chuẩn hóa dữ liệu, các tùy chọn liên quan tới PAA, chọn lựa giải thuật gom cụm, số cụm dữ liệu

Trang 24

Giới thiệu đề tài

10

- Kết quả thực nghiệm trên các bộ dữ liệu mẫu cho thấy hệ thống đã đáp ứng được tiêu chí rút ngắn đáng kể thời gian thực thi mà vẫn đảm bảo chất lượng gom cụm chuỗi thời gian với độ đo xoắn thời gian động

Như vậy, hệ thống này về cơ bản đã đáp ứng được các yêu cầu của bài toán đặt ra Chúng tôi sẽ trình bày chi tiết về hệ thống ở các phần sau

1.7 Nội dung chính của luận văn

Chương 1, giới thiệu vấn đề

Chương 2, các cơ sở lý thuyết sử dụng trong nghiên cứu này, bao gồm các lý thuyết

về độ đo khoảng cách của chuỗi thời gian, các kỹ thuật về gom cụm dữ liệu thường

và dữ liệu chuỗi thời gian, cùng với các phương pháp thu giảm số chiều

Chương 3, các công trình nghiên cứu liên quan

Chương 4, nội dung chi tiết thiết kế và hiện thực hệ thống gom cụm kết hợp kỹ thuật thu giảm số chiều và lập trình đa luồng

Chương 5, các kết quả thực nghiệm đạt được, đánh giá chất lượng gom cụm của hệ thống và thời gian chạy của giải thuật

Chương 6, bổ sung phần lý thuyết, hiện thực và thực nghiệm cho giải thuật gom cụm dựa vào các đỉnh mật độ

Chương 7, kết luận, đóng góp của đề tài và hướng phát triển trong tương lai

Trang 25

thường và dữ liệu chuỗi thời gian cũng như giới thiệu về cách xác định số cụm k tối

ưu nhất trong giải thuật gom cụm K-medoids và các phương pháp đánh giá chất lượng gom cụm dữ liệu, cùng với các phương pháp thu giảm số chiều

2.1 Các độ đo khoảng cách chuỗi thời gian

Các bài toán tìm kiếm mẫu, phân loại hay gom cụm dữ liệu chuỗi thời gian đều sử dụng kiểu dữ liệu mà ở đó được biểu diễn thành một chuỗi các số thực Vì vậy, để giải quyết các bài toán này ta phải sử dụng các độ đo khoảng cách giữa các cặp chuỗi thời gian với nhau Giả sử ta có hai chuỗi thời gian 𝑄 và 𝐶 với các độ dài n và m tương ứng là 𝑄 = 𝑞1, 𝑞2, … , 𝑞𝑖, … , 𝑞𝑛và 𝐶 = 𝑐1, 𝑐2, … , 𝑐𝑗, … , 𝑐𝑚 Ta cần phải xác định

độ đo khoảng cách 𝐷𝑖𝑠𝑡(𝑄, 𝐶) của hai chuỗi thời gian này

2.1.1 Các độ đo trong không gian Euclid

Hiện nay, có rất nhiều độ đo khoảng cách đã được sử dụng cho gom cụm dữ liệu chuỗi thời gian tùy thuộc vào từng miền ứng dụng và trong đó các độ đo trong không gian Euclid là đủ khả năng để giải quyết bài toán này Tuy nhiên, vì sự thiếu linh hoạt

để áp dụng trong các kỹ thuật biến đổi như tịnh tiến (shifting), kéo dãn (stretching) hay co lại (contracting) trên trục thời gian nên các độ đo này ngày càng trở nên thiếu

chính xác [6] Sau đây, chúng tôi sẽ giới thiệu một vài độ đo trong không gian Euclid

Trang 26

Cơ sở lý thuyết

12

Tùy thuộc vào từng miền ứng dụng mà chúng ta sử dụng độ đo phù hợp nhưng thông thường độ đo Euclid là đủ tốt và có độ chính xác chấp nhận được để áp dụng

Ngoài ra, các độ đo trên phải thỏa mãn một số tính chất sau [7]:

- 𝐷𝑖𝑠𝑡(𝑄, 𝐶) ≥ 0: khoảng cách phải là số không âm

- 𝐷𝑖𝑠𝑡(𝑄, 𝑄) = 0: khoảng cách từ một đối tượng tới chính nó là 0

- 𝐷𝑖𝑠𝑡(𝑄, 𝐶) = 𝐷𝑖𝑠𝑡(𝐶, 𝑄): khoảng cách là hàm đối xứng

- 𝐷𝑖𝑠𝑡(𝑄, 𝐶) ≤ 𝐷𝑖𝑠𝑡(𝑄, 𝑇) + 𝐷𝑖𝑠𝑡(𝑇, 𝐶): khoảng cách trực tiếp từ 𝑄 tới 𝐶 không lớn hơn khoảng cách đi qua các điểm trung gian 𝑇 khác

Ưu điểm: thời gian tính toán nhanh, có thể áp dụng cho các bài toán khai phá dữ liệu

khác và các độ đo thỏa mãn bất đẳng thức tam giác nên có thể dễ dàng lập chỉ mục, giảm thời gian tìm kiếm

Khuyết điểm: chỉ áp dụng khi những chuỗi có chiều dài bằng nhau [8], dễ bị ảnh

hưởng bởi nhiễu [9]

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

Việc sử dụng độ đo trong không gian Euclid đối với dữ liệu chuỗi thời gian có hình dạng giống nhau nhưng khác nhau về thời gian sẽ sinh ra kết quả tính toán không chính xác vì cách ánh xạ điểm thứ 𝑖 của chuỗi này với điểm thứ 𝑖 của chuỗi khác Vì vậy để khắc phục điểm yếu này thì độ đo xoắn thời gian động đã ra đời Hình 2.1 thể hiện sự khác nhau giữa cách tính khoảng cách theo Euclid và theo DTW

Hình 2.1 (a) Tính khoảng cách theo Euclid và (b) tính khoảng cách theo DTW

Kỹ thuật tính toán khoảng cách xoắn thời gian động là cách sắp xếp hai chuỗi thời gian sao cho giá trị khoảng cách là nhỏ nhất [6] Để sắp xếp được hai chuỗi này, chúng ta phải xây dựng ma trận 𝑛 × 𝑚 nơi phần tử (𝑖, 𝑗) của ma trận là khoảng cách 𝐷𝑖𝑠𝑡(𝑞𝑖, 𝑐𝑗) của hai điểm 𝑞𝑖, 𝑐𝑗 và mỗi điểm (𝑖, 𝑗) này là sự sắp xếp giữa hai điểm

Trang 27

Cơ sở lý thuyết

13

𝑞𝑖, 𝑐𝑗 Đường xoắn 𝑊 (warping path) được định nghĩa là sự sắp xếp của những phần

tử trong hai chuỗi 𝑄 và 𝐶 , tức là ánh xạ giữa 𝑄 và 𝐶 Từ đó, chúng ta có 𝑊 =

(2.1)

Chúng ta có thể tính toán được DTW bằng giải thuật quy hoạch động (dynamic

programming) gồm biến giai đoạn, biến trạng thái và biến quyết định để mô tả quá trình chuyển đổi trạng thái hợp lệ Trong đó, biến giai đoạn đơn giản chỉ là một sự tăng đơn điệu các sự kiện, biến trạng thái là các điểm (𝑖, 𝑗) trong ma trận và biến quyết định để giới hạn những đường xoắn hợp lệ làm giảm không gian tìm kiếm Việc giới hạn không gian tìm kiếm sẽ giúp tiết kiệm được chi phí tính toán và cải thiện

Hình 2.2 Ma trận xoắn và đường xoắn tối ưu [10]

Trang 28

Cơ sở lý thuyết

14

được vấn đề hiệu suất, cho nên đường xoắn thời gian phải tuân theo một vài ràng buộc sau:

- Tính đơn điệu (monotonicity): những điểm phải được sắp thứ tự đơn điệu tương

ứng với thời gian, tức là cho 𝑤𝑘 = (𝑎, 𝑏) thì 𝑤𝑘−1= (𝑎′, 𝑏′) với a – a' ≥ 0 và

b – b' ≥ 0

- Tính liên tục (continuity): từng bước trong đường xoắn phải liền kề nhau, tức là

cho 𝑤𝑘 = (𝑎, 𝑏) thì 𝑤𝑘−1= (𝑎′, 𝑏′) với a – a' ≤ 1 và b – b' ≤ 1

- Cửa sổ xoắn (warping window): những điểm hợp lệ phải rơi vào khoảng cửa sổ

xoắn cho trước 𝜔 > 0 với |𝑖𝑘 − 𝑗𝑘| ≤ 𝜔

- Ràng buộc độ dốc (slope constraint): những đường xoắn hợp lệ phải bị ràng buộc

về độ dốc, điều này giúp tránh trường hợp những bước di chuyển quá lớn theo một hướng

- Điều kiện biên (boundary conditions): 𝑤1 = (1,1) và 𝑤𝑘 = (𝑛, 𝑚) điều này giúp đường xoắn bắt đầu và kết thúc tại các điểm nằm ở góc trên đường chéo của ma trận

Tiếp theo, chúng ta sẽ tính toán khoảng cách DTW bằng quy hoạch động dựa vào mối quan hệ đệ quy sau, mà định nghĩa khoảng cách tích lũy 𝛾(𝑖, 𝑗) của mỗi điểm: 𝛾(𝑖, 𝑗) = 𝐷𝑖𝑠𝑡(𝑞𝑖, 𝑐𝑗) + 𝑚𝑖𝑛 {𝛾(𝑖 − 1, 𝑗 − 1), 𝛾(𝑖 − 1, 𝑗), 𝛾(𝑖, 𝑗 − 1)} (2.2) Khoảng cách đó là tổng khoảng cách giữa các phần tử hiện tại với khoảng cách tích lũy nhỏ nhất của các điểm xung quanh Độ đo Euclid có thể xem như trường hợp đặc biệt của DTW với ràng buộc 𝑤𝑘 = (𝑖, 𝑗)𝑘, 𝑖 = 𝑗 = 𝑘 và hai chuỗi có độ dài bằng nhau

Chi tiết giải thuật tính khoảng cách DTW như sau:

Input

𝑄: 𝑎𝑟𝑟𝑎𝑦 [1 … 𝑛], 𝐶: 𝑎𝑟𝑟𝑎𝑦 [1 … 𝑚], 𝐷𝑇𝑊 ∶ 𝑎𝑟𝑟𝑎𝑦 [1 … 𝑛, 1 … 𝑚] Output: 𝐷𝑇𝑊[𝑛, 𝑚]

1 for i = 1 : n

2 for j = 1 : m

Trang 29

Ví dụ sau đây sẽ minh họa cho giải thuật tính khoảng cách DTW Giả sử chúng ta có

2 chuỗi thời gian:

𝑄 = (5, 6, 3, 2, 9, 5, 9, 4, 8, 5)

𝐶 = (3, 4, 1, 8, 3, 7, 4, 4, 8, 2) Hai chuỗi này được biểu diễn đồ thị bằng Hình 2.3

Để tính khoảng cách DTW chúng ta xây dựng ma trận tính khoảng cách tích lũy của hai chuỗi trên như Hình 2.4 Mỗi ô trong ma trận sẽ chứa khoảng cách tích lũy tương ứng của cặp điểm đó Trong ma trận xoắn Hình 2.4 thì các ô được tính toán như sau:

𝛾(1, 1) = (𝑄1− 𝐶1)2

𝛾(1, 𝑗) = 𝛾(1, 𝑗 − 1) + (𝑄1− 𝐶𝑗)2𝛾(𝑖, 1) = 𝛾(𝑖 − 1, 1 ) + (𝑄𝑖− 𝐶1)2

𝛾(𝑖, 𝑗) = 𝑚𝑖𝑛{𝛾(𝑖 − 1, 𝑗 − 1), 𝛾(𝑖, 𝑗 − 1), 𝛾(𝑖 − 1, 𝑗)} + (𝑄𝑖 − 𝐶𝑗)2

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

Trang 30

Cơ sở lý thuyết

16

Sau khi đã tính tất cả giá trị tích lũy cho các ô, chúng ta được một đường xoắn tối ưu bao gồm các ô tham gia tích lũy cho ô (10,10) Trong hình trên thì đường xoắn tối

ưu là các ô được tô màu

Vậy khoảng cách DTW của hai chuỗi trên là √28 ≈ 5,2915, trong khi khoảng cách Euclid của hai chuỗi trên là √122 ≈ 11,0454

Ưu điểm: Phương pháp DTW có ưu điểm là cho kết quả chính xác hơn so với độ đo

Euclid và cho phép nhận dạng mẫu có hình dạng giống nhau nhưng chiều dài hình dạng về thời gian có thể khác nhau

Khuyết điểm: thời gian chạy lâu và độ phức tạp của DTW là 𝑂(𝑛𝑚), tuy nhiên gần

đây đã có những công trình tăng tốc độ tìm kiếm tương tự dùng độ đo DTW

2.2 Các giải thuật gom cụm dữ liệu thường dùng

Các giải thuật gom cụm dữ liệu được chia theo từng đặc trưng riêng biệt bao gồm phân hoạch, phân cấp, dựa trên mật độ, dựa trên lưới, dựa trên mô hình và các giải thuật khác Ở đây, chúng tôi sẽ đề cập đến giải thuật phổ biến là gom cụm phân hoạch

Hình 2.4 Ma trận xoắn tính DTW cho hai chuỗi thời gian

Trang 31

Cơ sở lý thuyết

17

Các giải thuật gom cụm phân hoạch được sử dụng rất phổ biến vì nó đơn giản và là phiên bản cơ bản nhất của phân tích gom cụm Giải thuật này hoạt động được trước hết phải giả sử số cụm mà các đối tượng có thể được nhóm lại, tức là thông số k Những cụm được hợp thành từ các đối tượng thỏa điều kiện tối ưu hóa các tiêu chuẩn phân hoạch mục tiêu như độ đo tương tự dựa vào khoảng cách Giải thuật này gồm hai phương pháp cổ điển nhất là K-means và K-medoids

Hiện nay, có rất nhiều giải thuật và phương pháp để gom cụm dữ liệu chuỗi thời gian

như áp dụng phương pháp PCA thu giảm chiều và kết hợp giải thuật gom cụm phân cấp để gom cụm dữ liệu [12] hay gom cụm dữ liệu dựa trên các đặc trưng [13], nhưng

giải thuật K-means hay những giải thuật cải tiến của nó [14] vẫn được sử dụng rộng rãi và phổ biến nhờ tính đơn giản của nó

2.2.1 Giải thuật K-means

Giải thuật này dựa trên nguyên tắc trung tâm cụm, tức là đối tượng trung bình của

cụm đó Tương tự K-medoids, đầu tiên chọn lấy k đối tượng ngẫu nhiên để làm trung

tâm cụm, những đối tượng còn lại được gán vào các cụm mà độ tương tự với trung tâm cụm là lớn nhất hay là khoảng cách của chúng tới trung tâm cụm là nhỏ nhất Với mỗi đối tượng được gán thêm vào cụm thì trung tâm cụm mới sẽ được tính lại bằng các đối tượng đã được gán cho cụm đó và sử dụng trung tâm cụm mới đó cho đối tượng tiếp theo Giải thuật tiếp tục cho đến khi hết tập dữ liệu và sau đó gán lại các đối tượng với trung tâm cụm mới Cứ như thế cho đến khi chất lượng gom cụm không đổi hoặc ta có thể dừng sau một số lần lặp

Ưu điểm: độ phức tạp nhỏ 𝑂(𝑛𝑘𝑡) với n là số đối tượng, k là số cụm và t là số lần

lặp, do đó thích hợp với các tập dữ liệu lớn

Khuyết điểm: phải xác định số cụm k trước, việc xác định đối tượng trung bình cũng

phức tạp hơn đối với khoảng cách DTW Ngoài ra, giải thuật bị ảnh hưởng bởi nhiễu

và cực trị cục bộ nên kết quả là kích thước các cụm thường đồng đều và có dạng siêu cầu

Hình 2.5 mô tả quá trình thực hiện giải thuật K-means để gom cụm dữ liệu với trung tâm cụm được biểu diễn bởi một dấu “+”

Trang 32

Cơ sở lý thuyết

18

2.2.2 Giải thuật K-medoids

Phiên bản tiêu biểu nhất đó là giải thuật PAM Giải thuật hoạt động bằng cách lấy

một đối tượng làm đại diện cho mỗi cụm, những đối tượng còn lại được gán vào cụm

mà khoảng cách từ chúng tới đối tượng đại diện là nhỏ nhất Sau đó, sự phân hoạch được thực hiện bằng cách tối thiểu hóa khoảng cách của một đối tượng 𝑝 với đối tượng đại diện tương ứng bằng công thức sau:

𝐸 = ∑ ∑ 𝑑(𝑝, 𝑜𝑖)

𝑝∈𝐶𝑖

𝑘 𝑖=1

trong đó E là hàm chi phí của tất cả đối tượng 𝑝 trong tập dữ liệu, 𝑜𝑖 là đối tượng đại diện tương ứng với cụm 𝐶𝑖 Quá trình thay thế đối tượng đại diện bằng đối tượng khác dựa trên hàm chi phí được lặp đi lặp lại cho tới khi kết quả gom cụm không đổi Ngoài ra, ta có thể dừng chương trình sau một số lần lặp đã được định trước

Chi tiết giải thuật gom cụm K-medoids (PAM) như sau:

Input: k: số cụm, D: tập dữ liệu gồm n đối tượng

Output: tập đối tượng thuộc k cụm

1 Chọn k đối tượng ngẫu nhiên từ tập D làm đối tượng đại diện

2 repeat

3 Gán các đối tượng còn lại vào cụm có đối tượng đại diện gần nó nhất

4 Chọn ngẫu nhiên một đối tượng không là đại diện 𝑜𝑟𝑎𝑛𝑑𝑜𝑚

5 Tính tổng chi phí S cho việc thay thế đối tượng đại diện 𝑜𝑗 bởi đối

tượng 𝑜𝑟𝑎𝑛𝑑𝑜𝑚 bằng hàm chi phí E đã đề cập ở trên

Hình 2.5 Quá trình gom cụm dùng K-means [11]

Trang 33

Cơ sở lý thuyết

19

6 Nếu 𝑆 < 0 thì thay thế đối tượng 𝑜𝑗 bằng đối tượng 𝑜𝑟𝑎𝑛𝑑𝑜𝑚 để tạo

nên tập k đối tượng đại diện mới

7 until không thể tối thiểu hóa S được nữa

Hình 2.6 mô tả bốn trường hợp xem xét sự thay thế đối tượng đại diện bằng các đối

tượng khác dùng hàm chi phí E Cụ thể, ta giả sử 𝑜1, … , 𝑜𝑘 là k đối tượng đại diện

hiện tại, để xác định đối tượng 𝑜𝑟𝑎𝑛𝑑𝑜𝑚 là một sự thay thế tốt cho đối tượng 𝑜𝑗 (1 ≤

𝑗 ≤ 𝑘) thì ta tính khoảng cách từ mọi đối tượng p đến đối tượng đại diện gần nhất

của tập {𝑜1, … , 𝑜𝑗−1, 𝑜𝑟𝑎𝑛𝑑𝑜𝑚, 𝑜𝑗+1, … , 𝑜𝑘} và dùng khoảng cách này để cập nhật hàm chi phí

Hình 2.6a và Hình 2.6b cho thấy đối tượng p đang được gán cho đối tượng đại diện

𝑜𝑗, ta xét xem đối tượng này có thể được gán lại cho đối tượng khác được không miễn

là gần nó nhất Vì vậy, Hình 2.6a và Hình 2.6b cho thấy đối tượng p được gán lại cho

đối tượng 𝑜𝑖 và 𝑜𝑟𝑎𝑛𝑑𝑜𝑚 tương ứng vì nó gần hơn so với đối tượng 𝑜𝑗

Ngoài ra, Hình 2.6c và Hình 2.6d cho thấy đối tượng p đang được gán cho đối tượng

đại diện 𝑜𝑖 trong khi ta đang xem xét thay thế đối tượng đại diện 𝑜𝑗 bằng đối tượng đại diện 𝑜𝑟𝑎𝑛𝑑𝑜𝑚 Hình 2.6c thể hiện đối tượng p vẫn được gán cho 𝑜𝑖 vì nó vẫn gần

𝑜𝑖 hơn 𝑜𝑟𝑎𝑛𝑑𝑜𝑚 Trong khi đó Hình 2.6d thì ngược lại vì đối tượng p gần 𝑜𝑟𝑎𝑛𝑑𝑜𝑚

hơn

Hình 2.6 Các trường hợp thay thế của giải thuật K-medoids [11]

Ưu điểm: giảm thiểu sự ảnh hưởng của nhiễu vì mỗi cụm được đại diện bởi phần tử

chính giữa cụm

Trang 34

Cơ sở lý thuyết

20

Khuyết điểm: số cụm k phải được xác định trước và độ phức tạp của giải thuật là

𝑂(𝑘(𝑛 − 𝑘)2) nên giải thuật bị ảnh hưởng bởi kích thước tập dữ liệu Để khắc phục điểm yếu về độ phức tạp, người ta đã phát triển một kỹ thuật dựa trên việc lấy mẫu

gọi là CLARA Giải thuật này thay thế việc phải xem xét toàn bộ các đối tượng không

là đại diện bằng việc chỉ phải xem xét trên một tập mẫu ngẫu nhiên được rút ra từ tập

dữ liệu ban đầu và việc lấy mẫu được thực hiện nhiều lần sau đó cho ra kết quả gom cụm tốt nhất

2.3 Các phương pháp thu giảm số chiều dựa vào đặc trưng

Phương pháp tổng quát để thu giảm số chiều có thể tóm tắt như sau [4]:

1 Thiết lập một độ đo tương tự d

2 Thiết kế một kỹ thuật thu giảm số chiều để rút trích một đặc trưng có chiều dài k (tức là một đặc trưng gồm k giá trị), với k có thể được xử lý một cách hữu hiệu nhờ

một cấu trúc chỉ mục không gian (đa chiều)

3 Cung cấp một độ đo tương tự d k trên một không gian đặc trưng k chiều và chứng

tỏ rằng nó tuân thủ điều kiện sau đây:

Điều kiện (2.3) có nghĩa là hàm khoảng cách tính trên không gian đặc trưng (hay

không gian thu giảm) của hai chuỗi thời gian đã được biến đổi X’, Y’ từ hai chuỗi thời gian ban đầu X, Y phải chặn dưới khoảng cách thật giữa chúng trên không gian nguyên

thủy

2.3.1 Các phương pháp biến đổi sang miền tần số

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

Phương pháp biến đổi rời rạc Fourier do Agrawal và cộng sự đề nghị ([15], [16],

[17]) Trong phương pháp biến đổi Fourier 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

𝐶(𝑡) = ∑ 𝐴𝑘cos(2𝜋𝑤𝑘𝑡) + 𝐵𝑘𝑠𝑖𝑛(2𝜋𝑤𝑘𝑡))

𝑛

𝑘=1

Trang 35

Cơ sở lý thuyết

21

Ưu điểm: 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 𝑂(𝑛𝑙𝑔𝑛)

Khuyết điểm: rất khó giải quyết nếu các chuỗi thời gian có chiều dài khác nhau 2.3.1.2 Phương pháp biến đổi wavelet rời rạc (DWT)

Phương pháp thu giảm số chiều bằng biến đổi rời rạc Wavelet rời rạc do Chan và Fu

đề nghị năm 1999 [18] 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ư trong Hình 2.7

Ưu điểm: rất hiệu quả bởi vì nó mã hóa nhanh và đơn giản với độ phức tạp của việc

mã hóa này là tuyến tính; hỗ trợ nhiều mức phân giải

Khuyết điểm: 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 và

chiều dài của chuỗi con 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ả

Hình 2.7 Minh họa cách biến đổi dữ liệu theo các phương pháp DFT, DWT [30]

Trang 36

Cơ sở lý thuyết

22

2.3.2 Các phương pháp xấp xỉ tuyến tính từng đoạn

2.3.2.1 Phương pháp xấp xỉ tuyến tính từng đoạn (PLA)

Phương pháp xấp xỉ tuyến tính từng đoạn (piecewise linear approximation) do Keogh

và cộng sự đề nghị ([1], [19]) 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 Mỗi đoạn thẳng tuyến tính nối cặp điểm ở hai đầu đoạn thẳng xấp xỉ tốt nhất (best-fit) những điểm có trong phân đoạn chuỗi thời gian đó 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

Ưu điểm: có rất nhiều ưu thế bao gồm nén dữ liệu và lọc nhiễu; có nhiều giải thuật

cho phân đoạn chuỗi dữ liệu

Khuyết điểm: câu hỏi mở là làm sao chọn giá trị K (số phân đoạn tối ưu dùng để thể

hiện một chuỗi thời gian đặc biệt) tốt nhất Vấn đề này liên quan đến viẹc đánh đổi giữa độ chính xác và độ chặt, và rõ ràng không có giải pháp tổng quát

2.3.2.2 Phương pháp xấp xỉ gộp từng đoạn (PAA)

Phương pháp xấp xỉ gộp từng đoạn (piecewise aggregate approximation) do Keogh

và cộng sự đề nghị năm 2001 [20] 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 đó Qúa 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 độ đo khoảng cách

Ưu điểm: thời gian tính toán nhanh và dễ dàng; hỗ trợ câu truy vấn có chiều dài khác

nhau; hàm khoảng cách được đề nghị có giá trị chặn dưới chặt so với dữ liệu gốc

Khuyết điểm: xây dựng lại chuỗi ban đầu khó và thường sinh lỗi lớn, trong khi các

phương pháp khác có công thức để tái tạo lại chuỗi ban đầu với tỷ lệ lỗi nhỏ; không quan tâm đến những đặc biệt khác như điểm giá trị cực trị của mỗi đoạn xấp xỉ

2.3.2.3 Phương pháp xấp xỉ hằng số từng đoạn thích nghi (APCA)

Phương pháp xấp xỉ hằng số từng đoạn thích nghi (adaptive piecewise constant

approximation) do Keogh và cộng sự đề nghị năm 2001 [21] Phương pháp APCA

Trang 37

Cơ sở lý thuyết

23

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 ở PAA có kích thước bằng nhau, còn ở APCA thì kích thước của các đoạn là khác nhau tùy theo dữ liệu Những vùng nào trên chuỗi thời gian có biến động nhấp nhô nhiều thì được phân thành những đoạn ngắn, còn những vùng nào ít biến động thì được phân thành những đoạn dài hơn

Ưu điểm: tính toán nhanh với độ phức tạp 𝑂(𝑛); hiệu quả hơn các cách tiếp cận khác

trên một số tập dữ liệu; hỗ trợ các truy vấn có độ dài tùy ý; hỗ trợ độ đo Euclid có trọng số; hỗ trợ truy vấn chính xác nhanh, và thậm chí nhanh hơn với các truy vấn xấp xỉ trên cùng cấu trúc dữ liệu

Khuyết điểm: tương đối khó hiện thực; không dễ nhìn nếu hình dung một cách trực

tiếp

2.4 Các tiêu chí đánh giá chất lượng gom cụm

Đánh giá chất lượng gom cụm dữ liệu là một công việc quan trọng nhằm xác định chất lượng của kết quả gom cụm mang lại để từ đó tiến hành điều chỉnh và lựa chọn

vì gom cụm là một quá trình học không giám sát Thông thường ta hay sử dụng hai

phương pháp đánh giá phổ biến là đánh giá nội và đánh giá ngoại Ngoài ra, ta còn

có cách đánh giá tương đối đó là đánh giá kết quả gom cụm bằng việc so sánh các kết quả gom cụm khác ứng với các bộ trị thông số khác nhau Các phương pháp này đều

dựa trên hai tiêu chí đó là độ nén (compactness) các đối tượng trong cụm nên gần nhau và độ phân tách (separation) các cụm nên xa nhau

Đánh giá nội (internal validation): đánh giá kết quả gom cụm theo chính tập dữ

liệu, dùng cho các dữ liệu hoàn toàn ngẫu nhiên và ta không biết một đối tượng thuộc

cụm nào Ta thường dùng một hàm mục tiêu (objective function) để đánh giá chất

lượng và hàm mục tiêu thường sử dụng đó là tổng sai khác các phần tử trong cụm đến trung tâm cụm đó đối với tất cả các cụm [14] Cực tiểu của hàm này sẽ cho phương pháp gom cụm tốt nhất có thể

𝐹 = ∑ ∑ ‖𝑥𝑘− 𝑐𝑖‖

𝑘∈𝐶𝑖𝑀

𝑖=1

Trang 38

Cơ sở lý thuyết

24

Đánh giá ngoại (external validation): đánh giá kết quả gom cụm dựa vào cấu trúc

được chỉ định trước cho tập dữ liệu Trong đề tài này, ta sẽ sử dụng các phương pháp

đánh giá như chỉ số Rand, Adjusted Rand Index (ARI), Jaccard, Fowlkes và Mallow (FM), Cluster Similarity Measure (CSM), Normalized Mutual Information (NMI) Giả sử dữ liệu có M cụm Gọi 𝐺 = 𝐺1; 𝐺2; … ; 𝐺𝑀 là các cụm thực sự mà ta đã biết trước và 𝐴 = 𝐴1; 𝐴2; … ; 𝐴𝑀 là các cụm kết quả do giải thuật sinh ra Gọi D là tập dữ liệu ban đầu và với mọi cặp dữ liệu trong D ta tính các thông số sau:

- a: là số cặp dữ liệu đồng thời thuộc một cụm trong G và cũng thuộc một cụm trong A

- b: là số cặp dữ liệu đồng thời thuộc một cụm trong G nhưng khác cụm trong A

- c: là số cặp dữ liệu đồng thời thuộc một cụm trong A nhưng khác cụm trong G

- d: là số cặp dữ liệu đồng thời không thuộc cụm trong A và G

Dưới đây là các công thức đánh giá của các phương pháp trên và có giá trị trong đoạn

[0,1], càng đến gần 1 thì A và G càng giống nhau, giải thuật cho kết quả gom cụm tốt

và ngược lại

- Rand: được Rand đề xuất vào năm 1971 [26] dựa trên hai chỉ số a và d thể hiện

sự giống nhau và hai chỉ số b và c thể hiện sự khác nhau

𝑅𝑎𝑛𝑑 = 𝑎 + 𝑑

𝑎 + 𝑏 + 𝑐 + 𝑑

- ARI: được Hubert và Arabie (1985) [27] đưa ra nhằm cải tiến chỉ số Rand, đây

là phương pháp cho cơ hội sửa chữa đối với chỉ số Rand Vì vậy, ARI có thể cho

ra giá trị âm nên làm tăng độ nhạy của chỉ số hơn là Rand

Trang 39

Cơ sở lý thuyết

25

- Jaccard: do Jaccard (1912) [28] giới thiệu nhằm đo độ tương tự giữa hai tập hợp

hữu hạn, được định nghĩa là tỷ số giữa kích thước của giao với kích thước của

hợp của hai tập hợp

𝐽𝑎𝑐𝑐𝑎𝑟𝑑 = 𝑎

𝑎 + 𝑏 + 𝑐

- Fowlkes và Mallow: do Fowlkes và Mallow (1983) [29] đề xuất nhằm so sánh

độ tương tự giữa hai tập hợp mà không liên quan với nhau, khắc phục nhược điểm

chỉ dùng cho các tập hợp có liên quan của chỉ số Rand Ngoài ra, chỉ số FM còn

cho ra kết quả tốt khi có sự ảnh hưởng của nhiễu

𝑀 𝑖=1

√(∑ |𝐺𝑖| log|𝐺𝑖 |

𝑁

𝑀 𝑖=1 ) ∗ (∑ |𝐴𝑗| log|𝐴𝑗|

Trang 40

Các công trình nghiên cứu liên quan

26

CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN

Chương này sẽ tập trung trình bày các công trình nghiên cứu có liên quan đến vấn đề

mà đề tài đang giải quyết Đó là các phương pháp tính xấp xỉ gộp từng đoạn và theo

đó là một giải thuật xoắn thời gian động cho biểu diễn dữ liệu trên, giải thuật gom cụm K-medoids cải tiến và kỹ thuật lập trình đa luồng để tăng tốc tính toán DTW

3.1 Cách biểu diễn xấp xỉ gộp từng đoạn (PAA)

Chúng ta biểu thị mỗi truy vấn chuỗi thời gian như 𝑋 = 𝑥1, … , 𝑥𝑛 Đặt N là chiều của

chuỗi thời gian biến đổi mà chúng ta muốn làm việc với 1 ≤ 𝑁 ≤ 𝑛 Để tiện lợi, ta

giả sử rằng N là thừa số của n nhằm mục đích đơn giản hóa Lưu ý đây không phải là

yêu cầu bắt buộc đối với cách tiếp cận của chúng ta

Một chuỗi thời gian X có độ dài n được thể hiện trong không gian N bằng một vector

𝑋̅ = 𝑥̅1, … , 𝑥̅𝑛 Phần tử thứ i của 𝑋̅ được tính bằng phương trình sau:

được tính và một vector của các giá trị này trở thành biểu diễn dữ liệu được giảm

Hình 3.1 minh họa một chuỗi thời gian gồm có 8 (n) điểm và được chiếu lên 2 (N) chiều Chuỗi thời gian được chia thành 2 (N) khung và tính trung bình cho mỗi khung

Một vector của các giá trị trung bình này trở thành biểu diễn dữ liệu được thu giảm

số chiều

Hai trường hợp đặc biệt đáng chú ý là khi 𝑁 = 𝑛, biểu diễn dữ liệu biến đổi sẽ giống hệt như biểu diễn ban đầu Khi 𝑁 = 1, biểu diễn dữ liệu biến đổi đơn giản là trung

Ngày đăng: 28/01/2021, 19:10

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Keogh, E. and Pazzani, M., 1998, An enhanced representation of time series which allows fast and accurate classification, clustering and relevance feedback, Proceedings of the 4th International Conference on Knowledge Discovery and Data Mining, New York, NY, Aug 27-31, pp. 239-241 Sách, tạp chí
Tiêu đề: Proceedings of the 4th International Conference on Knowledge Discovery and Data Mining
[2] Ratanamahatana, C. A., Lin, J., Gunopulos, D., Keogh, E., Vlachos, M., Das, G., 2010, Mining Time Series Data, Data Mining and Knowledge Discovery Handbook, Springer, pp. 1049-1050 Sách, tạp chí
Tiêu đề: Data Mining and Knowledge Discovery Handbook
[4] Dương Tuấn Anh, 2011, Tổng quan về tìm kiếm tương tự trên dữ liệu chuỗi thời gian, Tạp Chí Phát Triển Khoa Học và Công Nghệ, Tập 14, Số K2-2011, pp.71-77 Sách, tạp chí
Tiêu đề: Tạp Chí Phát Triển Khoa Học và Công Nghệ, Tập 14, Số K2-2011
[5] Keogh, E. and Pazzani, M., 2000, Scaling up Dynamic Time Warping for Datamining Applications, Proceedings of the sixth ACM SIGKDD international conference on Knowledge discovery and data mining, pp. 285-289 Sách, tạp chí
Tiêu đề: Proceedings of the sixth ACM SIGKDD international conference on Knowledge discovery and data mining
[6] Berndt, D. J. and Clifford, J., 1994, Using Dynamic Time Warping to Find Patterns in Time Series, AAA1-94 Workshop on Knowledge Discovery in Databases, pp. 229-248 Sách, tạp chí
Tiêu đề: AAA1-94 Workshop on Knowledge Discovery in Databases
[7] Han, J., Kamber, M. and Pei, J., 2012, Getting to Know Your Data, Data Mining:Concepts and Techniques, 3th ed., Massachusetts: Morgan Kaufmann Publishers, 2012, pp. 39-82 Sách, tạp chí
Tiêu đề: Data Mining:Concepts and Techniques
[8] Hautamaki, V., Nykanen, P. and Franti, P., 2008, Time series Clustering by Approximate Prototypes, 19th International Conference on Pattern Recognition, Florida, pp. 1-4 Sách, tạp chí
Tiêu đề: 19th International Conference on Pattern Recognition
[10] Keogh, E. and Ratanamahatana, C. A., 2002, Exact indexing of dynamic time warping, Proceedings of 28th International Conference on Very Large Databases, pp. 406-417 Sách, tạp chí
Tiêu đề: Proceedings of 28th International Conference on Very Large Databases
[11] Han, J., Kamber, M. and Pei J., 2012, Cluster Analysis: Basic Concepts and Methods in Data Mining: Concepts and Techniques, 3th ed., Massachusetts:Morgan Kaufmann Publishers, pp. 443-496 Sách, tạp chí
Tiêu đề: Data Mining: Concepts and Techniques
[12] Gavrilov, M., Anguelov, D., Indyk, P. and Motwani, R., 2000, Mining the Stock Market: Which Measure is Best, Proceedings of the 6th ACM Int'l Conference on Knowledge Discovery and Data Mining, pp. 487-496 Sách, tạp chí
Tiêu đề: Proceedings of the 6th ACM Int'l Conference on Knowledge Discovery and Data Mining
[13] Zhang, H., Ho, T. B., Zhang, Y. and Lin, M. S., 2005, Unsupervised Feature Extraction for Time Series Clustering Using Orthogonal Wavelet Transform, Journal on Informatics, vol. 30, pp. 305-319 Sách, tạp chí
Tiêu đề: Journal on Informatics
[14] Lin, J., Vlachos, M., Keogh, E. and Gunopulos D., 2004, Iterative Incremental Clustering of Time Series, 9th International Conference on Extending Database Technology, pp. 106-122 Sách, tạp chí
Tiêu đề: 9th International Conference on Extending Database Technology
[15] Agrawal, R., Faloutsos, C. and Swami, A.N., 1993, Efficient Similarity Search in Sequence Databases, Proc. 4th Int. Conf. on Foundations of Data Organization and Algorithms (FODO), pp. 69-84 Sách, tạp chí
Tiêu đề: Proc. 4th Int. Conf. on Foundations of Data Organization and Algorithms (FODO)
[16] Agrawal, R., Lin, K., Sawhney, H.S., and Shim, K., 1995, Fast similarity search in the presence of noise, scaling, and translation in time-series databases, Proceedings of the 21st International Conference on Very Large Databases, VLDB95, Zurich, Switzerland, pp. 490-501 Sách, tạp chí
Tiêu đề: Proceedings of the 21st International Conference on Very Large Databases
[17] Faloutsos, C., Ranganathan, M., Manolopoulos, Y., 1994, Fast Subsequence Matching in Time-Series Databases, Proceedings of the 14th ACM SIGMOD International Conference on Management of Data (SIGMOD 1994), May 24- 27, pp. 419-429 Sách, tạp chí
Tiêu đề: Proceedings of the 14th ACM SIGMOD International Conference on Management of Data (SIGMOD 1994)
[18] Chan, K., Fu, A. W., 1999, Efficient time series matching by wavelets, Proceedings of the 15th IEEE International Conference on Data Engineering, Sydney, Australia, pp. 126-133 Sách, tạp chí
Tiêu đề: Proceedings of the 15th IEEE International Conference on Data Engineering
[19] Keogh, E., Chu, S., Hart, D., Pazzani, M., 2001, An online algorithm for segmenting time series, Proceedings of the IEEE International Conference on Data Mining, California, USA, pp. 289-296 Sách, tạp chí
Tiêu đề: Proceedings of the IEEE International Conference on Data Mining
[20] Keogh, E., Chakrabarti, K., Pazzani, M. and Mehrotra, S., 2001, Dimensionality reduction for fast similarity search in large time series databases, Journal of Knowledge and Information Systems, Vol. 3, No. 3, pp. 263-286 Sách, tạp chí
Tiêu đề: Journal of Knowledge and Information Systems
[21] Keogh, E., Chakrabarti, K., Pazzani, M. and Mehrotra, S, 2001, Locally adaptive dimensionality reduction for indexing large time series databases, Proceedings of the 2001 ACM SIGMOD Conference on Management of Data, May 21-24, pp. 151-162 Sách, tạp chí
Tiêu đề: Proceedings of the 2001 ACM SIGMOD Conference on Management of Data
[31] Keogh, E. and Folias, T., 2015, The UCR Time Series Data Mining Archive, [http://www.cs.ucr.edu/~eamonn/TSDMA/index.html] Link

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