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

Kết hợp giải thuật gom cụm dựa vào độ dốc tích lũy có trọng số và k means để gom cụm dữ liệu chuỗi thời gian

85 20 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 85
Dung lượng 1,37 MB

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

Nội dung

Do đó trong đề tài này chúng tôi đề xuất phương pháp khởi tạo trung tâm cụm ban đầu dựa vào độ dốc tích lũy có trọng số CWS để cải tiến chất lượng lời giải và thời gian thực thi cho giải

Trang 1

ĐẶNG THANH HÙNG

KẾT HỢP GIẢI THUẬT GOM CỤM

DỰA VÀO ĐỘ DỐC TÍCH LŨY CÓ TRỌNG SỐ

VÀ K- MEANS ĐỂ GOM CỤM DỮ LIỆU

CHUỖI THỜI GIAN

NGÀNH: KHOA HỌC MÁY TÍNH

MÃ NGÀNH: 60.48.01.01

LUẬN VĂN THẠC SĨ

HỒ CHÍ MINH, 12/2015

Trang 2

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI

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

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

5 Ủy viên: TS Trần Minh Quang

Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)

Trang 3

TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc lập - Tự do - Hạnh phúc

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

I TÊN ĐỀ TÀI: Kết hợp giải thuật gom cụm dựa vào độ dốc tích lũy có trọng số

và k-Means để gom cụm dữ liệu chuỗi thời gian

II NHIỆM VỤ VÀ NỘI DUNG:

Nghiên cứu phương pháp gom cụm dựa vào độ dốc tích lũy có trọng số, đề xuất phương pháp khởi tạo trung tâm cụm ban đầu dựa vào độ dốc tích lũy có trọng số Xây dựng hệ thống kết hợp giải thuật gom cụm dựa vào độ dốc tích lũy có trọng

số và k-Means để gom cụm dữ liệu chuỗi thời gian

Hiện thực và thực nghiệm để đánh giá hiệu quả của phương pháp đề xuất trên dữ liệu Heterogeneous và dữ liệu chứng khoán

III NGÀY GIAO NHIỆM VỤ : 06/07/2015

IV NGÀY HOÀN THÀNH NHIỆM VỤ : 04/12/2015

V CÁN BỘ HƯỚNG DẪN: PGS.TS Dương Tuấn Anh

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

CÁN BỘ HƯỚNG DẪN

(Họ tên và chữ ký)

PGS.TS Dương Tuấn Anh

TRƯỞNG KHOA KHOA HỌC MÁY TÍNH

(Họ tên và chữ ký)

Trang 4

LỜI CẢM ƠN

Tôi xin gởi lời cảm ơn chân thành và sâu sắc đến PGS.TS.Dương Tuấn Anh, Thầy đã tận tình hướng dẫn, định hướng cho tôi từ cách đặt vấn đề, phương pháp nghiên cứu khoa học đến những công việc cụ thể trong luận văn này

Xin chân thành cảm ơn tất cả quý Thầy Cô trong Khoa Khoa Học Máy Tính

đã tận tình truyền đạt kiến thức cho tôi trong suốt quá trình học tập

Tôi cũng xin cảm ơn gia đình, bạn bè đã động viên và tạo mọi điều kiện tốt nhất để tôi có thể hoàn thành luận văn này

Trang 5

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

Gom cụm dữ liệu thời gian là một công tác khai thác dữ liệu quan trọng trong rất nhiều lĩnh vực như y học, tài chính ngân hàng, hệ thống bán hàng, dự báo thời tiết, chứng khoán Nó là một hướng nghiên cứu rất quan trọng và thách thức

vì dữ liệu chuỗi thời gian thì số chiều rất lớn việc khai thác dữ liệu chuỗi thời gian cần phải thỏa mãn tính hữu hiệu (có độ phức tạp thấp) và đảm bảo kết quả đúng Giải thuật gom cụm dữ liệu thời gian phổ biến nhất hiện nay là giải thuật k-Means, do giải thuật k-Means dễ hiện thực và có thời gian thực thi nhanh Tuy nhiên giải thuật k-Means vẫn còn một số nhược điểm mà nhược điểm chính của giải thuật k-Means là khởi tạo trung tâm cụm ban đầu ngẫu nhiên Do đó trong đề tài này chúng tôi đề xuất phương pháp khởi tạo trung tâm cụm ban đầu dựa vào độ dốc tích lũy có trọng số (CWS) để cải tiến chất lượng lời giải và thời gian thực thi cho giải thuật k-Means

Ngoài ra đề tài cũng nghiên cứu ứng dụng phương pháp thu giảm số chiều xấp xỉ tuyến tính từng đoạn (PLA) để thu giảm số chiều của dữ liệu thời gian và nghiên cứu ứng dụng cấu trúc kd-tree vào vấn đề khởi tạo trung tâm cụm ban đầu Cuối cùng, chúng tôi so sánh kết quả của các phương pháp dựa trên các tiêu chí đánh giá và hàm mục tiêu để đánh giá chất lượng gom cụm Kết quả thực nghiệm cho thấy giải thuật k-Means có khởi tạo trung tâm cụm ban đầu dựa vào độ dốc tích lũy có trọng số là giải thuật hiệu quả nhất và lời giải ổn định qua các lần thực thi, thời gian thực thi không chịu ảnh hưởng nhiều bởi độ lớn của cơ sở dữ liệu

Trang 6

ABSTRACT

Clustering time series data is an important data mining task in various domains such as medicine, finance, banking, sales systems, weather forecasts, stock This area of research is very important and challenging because time series data are often of very high dimensionality Therefore mining time series data must satisfy two requirements: low complexity and desirable accuracy

k-Means algorithm is the simplest and most popular clustering method for time series data since it is easy-to-implement and its complexity is low However, k-means algorithm still has some disadvantages The major disadvantage of k-means algorithm is that the cluster centroid initialization randomly can make the clustering results unstable Therefore in this thesis, we propose a novel approach for the cluster centroid initialization based on the cumulative weighted slopes (CWS) in order to improve clustering quality and speed up the run time for the algorithm

In addition, the thesis also studied Piecewise Linear Approximation (PLA), a dimensionality reduction method for time series data and kd-tree structure for cluster centroid initialization

Finally, we compare the results of the methods based on objective function values and/or some clustering quality evaluation criteria Experimental results show that the k-Means algorithm combined with the cluster centroid initialization based

on the cumulative weighted slopes (CWS) brings out the best performance in terms

of clustering quality and execution time

Trang 7

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 04 tháng 12 năm 2015

Đặng Thanh Hùng

Trang 8

MỤC LỤC

LỜI CẢM ƠN i

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

ABSTRACT iii

LỜI CAM ĐOAN iv

MỤC LỤC v

DANH MỤC HÌNH viii

DANH MỤC BẢNG xi

CHƯƠNG 1: PHÁT BIỂU VẤN ĐỀ 1

1.1 Giới thiệu vấn đề 1

1.2 Bài toán kết hợp giải thuật gom cụm dựa vào độ dốc tích lũy có trọng số và k-Means để gom cụm dữ liệu chuỗi thời gian 2

1.3 Mục tiêu nghiên cứu của đề tài 3

1.4 Phạm vi nghiên cứu 4

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

1.6 Ý nghĩa nghiên cứu 4

1.7 Tóm tắt kết quả đã đạt được 5

1.8 Cấu trúc luận văn 5

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VÀ CÁC CÔNG TRÌNH LIÊN QUAN 7

2.1 Các độ đo tương tự 7

2.1.1 Độ đo Euclid 7

2.1.2 Phương pháp xoắn thời gian động (Dynamic Time Warping - DTW) 9

2.2 Các phương pháp thu giảm số chiều chuỗi thời gian 11

2.2.1 Phương pháp xấp xỉ gộp từng đoạn (Piecewise Aggregate Approximation - PAA) 12

Trang 9

2.2.2 Phương pháp thu giảm số chiều dựa vào độ dốc tích lũy có trọng số

(CWS) 14

2.2.3 Phương pháp xấp xỉ tuyến tính từng đoạn (Piecewise Linear Approximation - PLA) 15

2.3 Gom cụm dữ liệu 22

2.3.1 Giới thiệu gom cụm dữ liệu 22

2.3.2 Ba cách tiếp cận gom cụm dữ liệu chuỗi thời gian 22

2.4 Giải thuật k-Means 23

2.5 Giải thuật I-k-Means 25

2.6 Phương pháp đo khoảng cách giữa 2 chuỗi thời gian đã xấp xỉ tuyến tính từng đoạn 27

2.7 Phương pháp khởi tạo trung tâm cụm ban đầu bằng kd-tree 30

2.7.1 Cấu trúc kd-tree 30

2.7.2 Giải thuật khởi tạo trung tâm cụm bằng kd-tree 32

2.8 Đánh giá chất lượng gom cụm 35

2.9 Kết luận 38

CHƯƠNG 3: PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ 39

3.1 Các vấn đề về gom cụm dữ liệu chuỗi thời gian 39

3.2 Phương pháp giải quyết vấn đề 39

3.2.1 Chuẩn hóa dữ liệu 41

3.2.2 Thu giảm số chiều bằng PLA đa mức phân giải 41

3.2.3 Xây dựng kd-tree và khởi tạo trung tâm cụm ban đầu dựa trên kd-tree 42

3.2.4 Khởi tạo trung tâm cụm ban đầu dựa dựa vào độ dốc tích lũy có trọng số 43

3.2.5 Gom cụm bằng giải thuật k-Means 43

Trang 10

3.2.7 Đánh giá chất lượng lời giải gom cụm 44

3.2.8 Trực quan hóa kết quả 44

3.3 Kết luận 45

CHƯƠNG 4: THỰC NGHIỆM 46

4.1 Kết quả thực nghiệm 46

4.1.1 Dữ liệu Heterogeneous (Phức hợp) 47

4.1.2 Tập dữ liệu chứng khoán 52

a Dữ liệu chứng khoán Việt Nam 53

b Dữ liệu chứng khoán Mỹ 57

4.2 Kết luận 60

CHƯƠNG 5: KẾT LUẬN 62

5.1 Tổng kết 62

5.2 Những đóng góp của đề tài 62

5.3 Hướng phát triển 63

TÀI LIỆU THAM KHẢO 64 PHỤ LỤC A: BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH - VIỆT A

Trang 11

DANH MỤC HÌNH

Hình 1.1 Đường biểu diễn một chuỗi thời gian điện tâm đồ [1] 1

Hình 1.2 Kết quả gom cụm của dữ liệu 2 chiều 3

Hình 2.1 Minh họa 2 đường giống nhau, nhưng đường cơ bản khác nhau [13] 8

Hình 2.2 Minh họa 2 đường giống nhau, nhưng biên độ dao động khác nhau [13] 9

Hình 2.3 Khoảng cách giữa hai đường giống nhau về hình dạng nhưng lệch nhau về thời gian[13] 9

Hình 2.4 Cách tính khoảng cách theo DTW 11

Hình 2.5a Minh họa phương pháp PAA thu giảm thành 2 chiều [17] 13

Hình 2.5b Minh họa phương pháp PAA [17] 13

Hình 2.6 Hai đoạn có cùng giá trị trung bình nhưng khoảng cách Euclid khác nhau 14

Hình 2.7 Minh họa 2 dạng đoạn thẳng trong biến đổi PLA [27] 16

Hình 2.8 Biểu diễn đường thẳng tốt nhất [40] 17

Hình 2.9 Giải thuật Sliding Window [27] 18

Hình 2.10 Giải thuật Top-Down [27] 20

Hình 2.11 Giải thuật Bottom-Up [27] 21

Hình 2.12 Ba hướng tiếp cận gom cụm dữ liệu chuỗi thời gian [30] 23

Hình 2.13 Giải thuật k-Means 24

Hình 2.14 Minh họa sự thực thi của giải thuật I-k-Means [39] 26

Hình 2.15 Các bước chính của giải thuật I-k-Means 27

Hình 2.16 Quá trình cắt slice [33] 28

Hình 2.17 Lát cắt và các đường thẳng ảo [33] 29

Hình 2.18 Giải thuật xây dựng cây kd-tree cân bằng [34] 31

Hình 2.19 Cây kd-tree được xây dựng từ giải thuật trong hình 2.18 [34] 32

Trang 12

Hình 2.20 Giải thuật khởi tạo các trung tâm cụm ban đầu dựa trên kd-tree [35] 33

Hình 3.1 - Các giai đoạn của một quá trình gom cụm tổng quát 40

Hình 3.2 Kiến trúc tổng quát của hệ thống 41

Hình 3.3 Giải thuật tạo cây kd-tree 42

Hình 3.4 Khởi tạo trung tâm cụm ban đầu dựa vào dốc tích lũy có trọng số 43

Hình 3.5 Trực quan hóa kết quả gom cụm 44

Hình 4.1 Tập dữ liệu Heterogeneous 47

Hình 4.2 Các tiêu chí đánh giá gom cụm với 500 mẫu dữ liệu (Heterogeneous) 48

Hình 4.3 Kết quả đánh giá dựa trên hàm mục tiêu (tập dữ liệu Heterogeneous) 49

Hình 4.4 Kết quả đánh giá dựa trên thời gian thực thi(s) (tập dữ liệu Heterogeneous) 50

Hình 4.5 Kết quả đánh giá dựa trên số lần lặp (tập dữ liệu Heterogeneous) 52

Hình 4.6 Kết quả đánh giá dựa trên hàm mục tiêu (chứng khoán Việt Nam 256 chiều) 53

Hình 4.7 Kết quả đánh giá dựa trên thời gian thực thi (s) (chứng khoán Việt Nam 256 chiều) 54

Hình 4.8 Kết quả đánh giá dựa trên số lần lặp (chứng khoán Việt Nam 256 chiều) 55

Hình 4.9 Kết quả đánh giá dựa trên hàm mục tiêu (chứng khoán Việt Nam 512 chiều) 56

Hình 4.10 Kết quả đánh giá dựa trên thời gian thực thi (s) (chứng khoán Việt Nam 512 chiều) 56

Hình 4.11 Kết quả đánh giá dựa trên số lần lặp (chứng khoán Việt Nam 512 chiều) 57

Hình 4.12 Kết quả đánh giá dựa trên hàm mục tiêu (chứng khoán Mỹ) 58

Hình 4.13 Kết quả đánh giá dựa trên thời gian thực thi (s) (chứng khoán Mỹ) 59

Trang 13

Hình 4.14 Kết quả đánh giá dựa trên số lần lặp (chứng khoán Mỹ) 59

Trang 14

DANH MỤC BẢNG

Bảng 4.1 Các tiêu chí đánh giá gom cụm với 500 mẫu dữ liệu (Heterogeneous) 49

Bảng 4.2 Kết quả đánh giá dựa trên hàm mục tiêu (tập dữ liệu Heterogeneous) 50

Bảng 4.3 Kết quả đánh giá dựa trên thời gian thực thi(s) (tập dữ liệu Heterogeneous) 51

Bảng 4.4 Kết quả đánh giá dựa trên số lần lặp (tập dữ liệu Heterogeneous) 51

Bảng 4.5 Kết quả thực nghiệm 500 chuỗi thời gian mỗi chuỗi có 256 chiều 53

Bảng 4.6 Kết quả thực nghiệm 500 chuỗi thời gian mỗi chuỗi có 512 chiều 55

Bảng 4.7 Kết quả thực nghiệm 500 chuỗi thời gian mỗi chuỗi có 256 chiều 58

Trang 15

CHƯƠNG 1: PHÁT BIỂU VẤN ĐỀ

Trong chương này sẽ giới thiệu yêu cầu, mục tiêu và nội dung sơ lược của đề tài đồng thời cũng nêu lên sự cần thiết để thực hiện đề tài này

1.1 Giới thiệu vấn đề

Dữ liệu chuỗi thời gian (time series) là chuỗi trị số thực, mỗi trị biểu diễn

một giá trị đo tại những thời điểm cách đều nhau

Hình 1.1 Đường biểu diễn một chuỗi thời gian điện tâm đồ [1]

Khai thác dữ liệu thời gian bằng cách gom cụm dữ liệu là một lĩnh vực nghiên cứu trong nhiều thập kỷ qua Nó có ứng dụng to lớn trong nhiều lĩnh vực khác nhau như y học, tài chính ngân hàng, hệ thống bán hàng, dự báo thời tiết, chứng khoán, khoa học, kỹ thuật

Có nhiều công trình nghiên cứu về gom cụm dữ liệu chuỗi thời gian [2], [3], [4] Gom cụm dữ liệu được sử dụng như một công cụ phân tích dữ liệu hoặc được

sử dụng trong bước tiền xử lý cho các giải thuật khai phá dữ liệu khác [5] Gom cụm cũng được sử dụng để phân lớp trong một số trường hợp [6]

Trang 16

Năm 2006, Yang và Wu thực hiện cuộc thăm dò ý kiến từ các nhà nghiên cứu hàng đầu trong lĩnh vực khai phá dữ liệu và máy học nhằm xác định các hướng nghiên cứu nào sẽ là quan trọng và thách thức nhất cho các nghiên cứu trong tương

lai thuộc lĩnh vực khai phá dữ liệu Kết quả khảo sát nêu trong bài báo “10

Challenging Problems in Data Mining Research” cho thấy hướng nghiên cứu về

khai phá dữ liệu chuỗi thời gian được xếp thứ 3 trong 10 hướng nghiên cứu sẽ là quan trọng và thách thức nhất [7]

Do đó gom cụm dữ liệu thời gian là một công trình khai thác dữ liệu quan trọng trong rất nhiều lĩnh vực nó là một hướng nghiên cứu rất quan trọng và thách thức vì dữ liệu chuỗi thời gian thì số chiều rất lớn nên việc khai thác dữ liệu chuỗi thời gian cần phải thỏa mãn tính hữu hiệu (có độ phức tạp tính toán thấp) và đảm bảo kết quả đúng Đây là một thách thức đã thúc đẩy chúng tôi thực hiện nghiên cứu

Giải thuật gom cụm phổ biến nhất hiện nay đối với dữ liệu chuỗi thời gian là giải thuật k-Means, do giải thuật k-Means dễ hiện thực và có thời gian thực thi khá

nhanh Ý tưởng của giải thuật này cho trước một số nguyên dương k, với k là số cụm cần gom Đầu tiên, ta chọn ngẫu nhiên k đối tượng trong không gian dữ liệu

làm các trung tâm cụm ban đầu, sau đó duyệt qua các đối tượng dữ liệu còn lại và dựa trên một hàm tính khoảng cách để gán các đối tượng này vào cụm có trung tâm cụm gần nó nhất, sau đó tính toán lại trung tâm cụm và duyệt qua tất cả các đối tượng dữ liệu để gán lại vào cụm hợp lý cho đến khi không có phép gán nào được thực hiện nữa thì giải thuật dừng

Trang 17

Ý tưởng chính của đề tài này là thực hiện gom cụm dữ liệu chuỗi thời gian

với hai bước (1) dựa vào độ dốc tích lũy có trọng số (Cumulative Weighted Slopes) [8] để thu giảm số chiều của dữ liệu thời gian từ một dữ liệu N chiều thu giảm thành

một chiều duy nhất, với áp dụng giải thuật k-Means để gom cụm dữ liệu trên thành các trung tâm cụm ban đầu và (2) áp dụng giải thuật k-Means để gom cụm dữ liệu thời gian với các trung tâm cụm ban đầu được xác định bởi bước 1

Hình 1.2 Kết quả gom cụm của dữ liệu 2 chiều

1.3 Mục tiêu nghiên cứu của đề tài

Mục tiêu nghiên cứu của đề tài trên cơ sở dữ liệu chuỗi thời gian tập trung vào các nội dung sau:

 Nghiên cứu các phương pháp gom cụm dữ liệu chuỗi thời gian

 Nghiên cứu độ dốc tích lũy có trọng số

 Kết hợp giải thuật gom cụm dựa vào độ dốc tích lũy có trọng số và Means để gom cụm dữ liệu chuỗi thời gian

k- Nghiên cứu sử dụng kd-tree khởi tạo trung tâm cụm ban đầu

 Thử nghiệm trên các bộ dữ liệu mẫu và so sánh kết quả của khởi tạo trung tâm cụm ban đầu ngẫu nhiên, dựa vào kd-tree và khởi tạo trung tâm cụm ban đầu bằng độ dốc tích lũy có trọng số

 Trực quan hóa kết quả gom cụm dữ liệu chuỗi thời gian

Trang 18

1.4 Phạm vi nghiên cứu

Phương pháp thu giảm số chiều dựa vào độ dốc tích lũy có trọng số và kết hợp giải thuật gom cụm dựa vào độ dốc tích lũy có trọng số và k-Means để gom cụm dữ liệu chuỗi thời gian

Dữ liệu phân tích :

 Tập dữ liệu phức hợp Heterogeneous

 Tập dữ liệu chứng khoán Mỹ

 Tập dữ liệu chứng khoán Việt Nam

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

Sử dụng kết hợp giữa nghiên cứu lý thuyết và nghiên cứu thực tiễn

Nghiên cứu lý thuyết: thu thập các thông tin thông qua nghiên cứu các tài liệu về dữ liệu chuỗi thời gian, các phương pháp gom cụm dữ liệu chuỗi thời gian từ

đó rút ra được phương pháp gom cụm chuỗi thời gian thích hợp

Nghiên cứu thực tiễn: từ kết quả các cơ sở lý thuyết đã rút ra trong quá trình nghiên cứu lý thuyết để áp dụng vào thực tế xây dựng hệ thống gom cụm kết hợp giải thuật gom cụm dựa vào độ dốc tích lũy có trọng số và k-Means để gom cum dữ liệu chuỗi thời gian Quá trình nghiên cứu thực tiễn sẽ thực hiện các công việc:

 Gom cụm với tập dữ liệu phức hợp dùng các tiêu chí đánh giá như: Jaccard, Rand, FM, CSM, NMI để đánh giá chất lượng gom cụm

 Gom cụm với các tập dữ liệu chứng khoán dùng hàm mục tiêu để đánh giá chất lượng gom cụm

 Điều chỉnh giải thuật và các tham số để đạt kết quả có độ chính xác cao

1.6 Ý nghĩa nghiên cứu

Kết quả nghiên cứu giúp chúng ta đánh giá được chất lượng gom cum của giải thuật k-Means kết hợp với các phương pháp:

Trang 19

 Thu giảm số chiều dựa vào độ dốc tích lũy có trọng số

 Khởi tạo trung tâm cụm ban đầu bằng độ dốc tích lũy có trọng số

 Khởi tạo trung tâm cụm ban đầu bằng kd-tree

 Khởi tạo trung tâm cụm ban đầu bằng ngẫu nhiên

Từ kết quả đánh giá chất lượng gom cụm của các phương pháp giúp chúng ta lựa chọn phương pháp gom cụm thích hợp cho nhu cầu gom cụm dữ liệu chuỗi thời gian của chúng ta như cần thời gian thực thi nhanh hay cần độ chính xác cao…

1.7 Tóm tắt kết quả đã đạt được

Chúng tôi đã áp dụng phương pháp gom cụm dựa vào độ dốc tích lũy có trọng số để gom cụm dữ liệu chuỗi thời gian, đồng thời áp dụng cấu trúc kd-tree để khởi tạo trung tâm cụm ban đầu cho giải thuật k-Means, và đề xuất phương pháp khởi tạo trung tâm cụm ban đầu dựa vào độ dốc tích lũy có trọng số cho giải thuật k-Means, kết quả thu được là chất lượng lời giải khi khởi tạo trung tâm cụm bằng phương pháp dựa vào độ dốc tích lũy có trọng số tốt hơn về chất lượng lời giải lẫn thời gian thực thi so với giải thuật k-Means khởi tạo trung tâm cụm ban đầu một cách ngẫu nhiên hoặc khởi tạo trung tâm cụm ban đầu áp dụng cấu trúc kd-tree Ngoài ra chúng tôi xây dựng được một phương pháp trực quan hóa kết quả gom cụm phù hợp với tập dữ liệu lớn

1.8 Cấu trúc luận văn

Các phần còn lại của luận văn được tổ chức như sau:

Chương 2: trình bày các lý thuyết và các công trình liên quan làm nguồn tham khảo và là cơ sở cho việc thực hiện luận văn, bao gồm các công trình về độ đo tương tự, các phương pháp thu giảm số chiều, ba cách tiếp cận gom cụm dữ liệu chuỗi thời gian, giải thuật k-Means, giải thuật khởi tạo trung tâm cụm ban đầu và

vấn đề chọn giá trị k (số lượng cụm cần gom) tối ưu

Chương 3: trình bày một số vấn đề về gom cụm dữ liệu chuỗi thời gian và đưa ra cách để giải quyết các vấn đề và phác họa kiến trúc tổng quát của hệ thống

Trang 20

“Kết hợp gom cụm dựa vào độ dốc tích lũy có trọng số và k-Means để gom cụm dữ

liệu chuỗi thời gian”

Chương 4: trình bày một số kết quả thực nghiệm và đánh giá

Chương 5: trình bày kết luận của nghiên cứu những đóng góp của đề tài và hướng phát triển

Trang 21

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VÀ CÁC CÔNG TRÌNH

LIÊN QUAN

Chương này trình bày các lý thuyết và các công trình liên quan làm nguồn tham khảo và là cơ sở cho việc thực hiện luận văn, bao gồm các công trình về độ đo tương tự, các phương pháp thu giảm số chiều, ba cách tiếp cận gom cụm dữ liệu chuỗi thời gian, giải thuật k-Means và giải thuật khởi tạo trung tâm cụm ban đầu

2.1 Các độ đo tương tự

Để tính khoảng cách giữa 2 đối tượng X, Y ký hiệu là D(X, Y) có nhiều độ đo

tương tự đã được sử dụng như độ đo Euclid, độ đo tương tự giữa các chuỗi nhị phân [9], độ đo tương tự giữa các hàm mật độ xác xuất [10], độ đo xoắn thời gian động [11], độ đo chuỗi con chung dài nhất [12] Do đó việc lựa chọn một độ đo tương tự tùy thuộc rất nhiều vào lĩnh vực ứng dụng Trong các bài toán về khai phá dữ liệu chuỗi thời gian, để so sánh hai chuỗi người ta thường sử dụng hai độ đo tương tự là

Euclid và xoắn thời gian động (Dynamic Time Warping) để tính khoảng cách giữa

với nhiễu, và không thích hợp khi dữ liệu có đường căn bản (base line) khác nhau

(Hình 2.1) hay có biên độ dao động khác nhau (Hình 2.2) thì khoảng cách hai mẫu

sẽ rất khác nhau

Trang 22

Để khắc phục những nhược điểm trên thì trước khi áp dụng các giải thuật so trùng mẫu thì chúng ta cần chuẩn hóa dữ liệu Có nhiều phương pháp chuẩn hóa dữ liệu và sau đây là một số phương pháp chuẩn hóa dữ liệu thường được dùng

 Chuẩn hóa trung bình zero (Zero-Mean normalization) [6]

Biến đổi dữ liệu Q thành dữ liệu Q’ có cùng đường căn bản theo công thức

sau:

Q’[i] = Q[i] – mean(Q)

Để các dữ liệu có cùng biên độ dao động thì ta dùng phép biến đổi sau:

Q’[i] = (Q[i]- mean(Q)) / var(Q)

Với mean(Q)là giá trị trung bình của Q và var(Q) là phương sai của Q

 Chuẩn hóa nhỏ nhất-lớn nhất (Min-Max normalization) [6]

Chuỗi Q được biến đổi thành chuỗi Q’ theo công thức:

hóa

Hình 2.1 Minh họa 2 đường giống nhau, nhưng đường cơ bản khác nhau [13]

Trang 23

Hình 2.2 Minh họa 2 đường giống nhau, nhưng biên độ dao động khác nhau [13]

2.1.2 Phương pháp xoắn thời gian động (Dynamic Time Warping - DTW)

Trong trường hợp hai mẫu cần so sánh có hai đường biểu diễn không hoàn toàn giống nhau nhưng hình dạng biến đổi rất giống nhau thì khi so sánh độ tương

tự giữa hai mẫu bằng cách so sánh từng cặp điểm 1-1 (so điểm thứ i của đường thứ nhất và điểm thứ i của đường thứ hai) là không phù hợp Hình 2.1 minh họa hai

đường biểu diễn rất giống nhau về hình dạng nhưng lệch nhau về thời gian

Hình 2.3 Khoảng cách giữa hai đường giống nhau về hình dạng nhưng lệch nhau về thời

gian[13]

Trang 24

Trong trường hợp này, nếu tính khoảng cách bằng cách ánh xạ 1-1 giữa hai đường thì kết quả rất khác nhau và có thể dẫn đến kết quả cuối cùng không giống như mong muốn.Vì vậy để khắc phục nhược điểm này, một điểm có thể ánh xạ với

nhiều điểm và ánh xạ này không thẳng hàng Phương pháp này gọi là xoắn thời gian

động [11] (Dynamic Time Warping - DTW)

Cách tính DTW:

Cách đơn giản nhất để tính DTW của 2 đường X và Y là ta xây dựng ma trận

D(m x n) với m = |X| và n = |Y| Khi đó, D ij = d(x i , y j ) (Hình 2.4)

Sau khi xây dựng ma trận D, ta tìm đường đi từ ô (0, 0) đến ô (m, n) thỏa

mãn những ràng buộc sau:

 Không được đi qua trái hay đi xuống

 Đường đi phải liên tục

 Ô (i, j) thuộc đường đi phải thỏa |i - j| <= w

Giả sử có K ô đi từ ô (0, 0) đến ô (m, n) thỏa mãn những điều kiện trên, khi

đó

)min(

),

K

w C

Q DTW

K

k k

 

Tuy nhiên, ta có thể dùng quy hoạch động để giải quyết bài toán này Trong

đó, công thức truy hồi để tính D(i, j):

D (i, j) = | x i – y j | + min {D(i – 1, j), D(i – 1, j – 1), D(i, j – 1) }

Độ đo tương tự 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 Độ đo tương tự này có nhược điểm là thời gian chạy lâu, 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, tiêu biểu nhất là công trình của Keogh và các cộng sự, năm 2002 [14]

Trang 25

Hình 2.4 Cách tính khoảng cách theo DTW

2.2 Các phương pháp thu giảm số chiều chuỗi thời gian

Dữ liệu chuỗi thời gian thường số chiều rất lớn nên việc khai thác dữ liệu trực tiếp trên chuỗi thời gian gốc sẽ không hiệu quả Để khắc phục vấn đề này ta

nên áp dụng phương pháp biến đổi để thu giảm số chiều (dimensionality reduction)

của dữ liệu

x 2 , …, x n } thành chuỗi thời gian có N chiều Y = {y 1 , y 2 , …, y N } với N <<n, sao cho

vẫn giữ được các đặc trưng cần quan tâm của chuỗi thời gian ban đầu Có rất nhiều phương pháp thu giảm số chiều phương pháp tổng quát để thu giảm số chiều có thể được tóm tắt như sau:

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

 Thiết kế một kỹ thuật thu giảm số chiều để rút trích đặc trưng có chiều

dài N trong một chuỗi thời gian có chiều dài n (N << n), với N 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)

và chứng minh rằng nó tuân thủ điều kiện chặn dưới: DN (X’, Y’) ≤ D(X,

Trang 26

Y) 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

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

Biến đổi sang miền tần số như: biến đổi Fourier rời rạc (Discrete Fourier Transform - DFT) [15], biến đổi Wavelet rời rạc (Discrete Wavelet Transform -

DWT) [16]

Xấp xỉ tuyến tính từng đoạn như: xấp xỉ gộp từng đoạn (Piecewise Aggregate Approximation - PAA) [17], xấp xỉ hằng số từng đoạn thích nghi

(Adaptive Piecewise Constant Approximation - APCA) [18]

Dựa vào điểm quan trọng như: phương pháp điểm cực trị (Major Extrema)

…, x N ) với (N<<n)

Trang 27

Giá trị trung bình ở đoạn thứ i được tính bởi công thức sau:

Trong công thức trên:

n số chiều của dữ liệu thời gian

N số chiều cần thu giảm

Hình 2.5a Minh họa phương pháp PAA thu giảm thành 2 chiều [17]

Ưu điểm của phương pháp này là đơn giản, 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 (Euclid, DTW)

Nhưng nhược điểm của nó là phương pháp có thể bỏ qua những điểm đặc biệt trong từng đoạn xấp xỉ của chuỗi thời gian Vì vậy, trong nhiều trường hợp các đoạn có giá trị trung bình bằng nhau nhưng về khoảng cách Euclid rất khác nhau

Hình 2.5b Minh họa phương pháp PAA [17]

Trang 28

Hình 2.6 là hai ví dụ minh họa cho các trường hợp này Nhược điểm này làm cho PAA không thích hợp với một số dữ liệu chuỗi thời gian trong lĩnh vực tài chính [27] Ngoài ra, chặn dưới của phương pháp PAA cũng chưa thật sự chặt

Hình 2.6 Hai đoạn có cùng giá trị trung bình nhưng khoảng cách Euclid khác nhau

Năm 2001, Keogh và các cộng sự đưa ra một cách tiếp cận tổng quát hơn so với PAA Phương pháp này được gọi là xấp xỉ hằng số từng đoạn thích nghi (APCA – Adaptive Piecewise Constant Approximation) [18], nó cho phép các đoạn con có chiều dài khác nhau nhằm xấp xỉ tốt hơn chuỗi thời gian

2.2.2 Phương pháp thu giảm số chiều dựa vào độ dốc tích lũy có trọng

số (CWS)

Trong phần này chúng tôi giới thiệu một phương pháp rút trích đặc trưng dựa

vào độ dốc tích lũy có trọng số (Cumulative Weighted Slopes) được đề xuất bởi D

Toshniwal và R C Joshi, năm 2005 [8] Ý tưởng chính của phương pháp này là

dựa vào độ dốc tích lũy có trọng số để thu giảm số chiều của dữ liệu thời gian từ N

chiều thu giảm thành một chiều duy nhất Độ dốc tích lũy được tính bởi hai công thức sau:

Công thức thứ nhất được biểu diễn như sau:

tổng số đoạn trong chuỗi thời gian đã được chia và được tính bởi công thức sau:

Trang 29

S ik = { y“ i(k+1) - y“ ik } / Δt (2.1)

Giả định rằng bắt đầu và kết thúc tọa độ cho các đoạn thứ k của chuỗi thời gian được biểu diễn bởi (t' ik , y" ik ) và (t' i(k + 1) , y" i(k + 1) ) Và Δt là độ rộng của mỗi đoạn và là một hằng số Sự lựa chọn Δt do người dùng quy định hoặc phụ thuộc miền dữ liệu Nhưng cần chú ý rằng việc lựa chọn Δt không được quá lớn (làm mất

chi tiết của dữ liệu) hoặc quá nhỏ (dẫn đến tính toán quá mức) Trọng số kết hợp với

và m là tổng số của các đoạn trong chuỗi thời gian đã được chia

Công thức thứ hai được biểu diễn như sau:

tổng số đoạn trong chuỗi thời gian đã được chia và được tính như công thức (2.1)

được chia

D Toshniwal và R C Joshi [8] đề xuất một phương pháp gom cụm dữ liệu chuỗi thời gian dựa vào độ dốc tích lũy có trọng số nhưng công tác thực nghiệm cho phương pháp này còn sơ sài, chưa có tính thuyết phục

2.2.3 Phương pháp xấp xỉ tuyến tính từng đoạn (Piecewise Linear Approximation - PLA)

Phương pháp xấp xỉ tuyến tính từng đoạn (Piecewise Linear Approximation

– PLA) do E Keogh và cộng sự đề nghị từ năm 1998 [27] Ý tưởng chính của phương pháp này là biến đổi chuỗi dữ liệu ban đầu thành 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 là xấp xỉ tốt nhất (best fit line) những điểm có trong đoạn chuỗi thời gian đó Các đoạn thẳng

Trang 30

này có thể rời nhau (Linear Regression) hoặc liên tục (Linear Interpolation) Cách biểu diễn này rất trực quan và phù hợp để thu giảm số chiều cho tất cả các loại dữ liệu chuỗi thời gian Hình 2.7 minh họa về 2 dạng đoạn thẳng Linear Regression và Linear Interpolation Hiện nay có 3 giải thuật biến đổi PLA phổ biến: Sliding Window, Top-Down, và Bottom-Up [27] Ngoài ra, cũng đã có các công trình liên quan đến lập chỉ mục giúp cải tiến hiệu quả của việc tìm kiếm tương tự trên dữ liệu chuỗi thời gian [28] [29]

Hình 2.7 Minh họa 2 dạng đoạn thẳng trong biến đổi PLA [27]

Phương pháp xấp xỉ tuyến tính từng đoạn (PLA) được dùng phổ biến cho

việc thu giảm số chiều của dữ liệu là do [27]:

 Hỗ trợ tìm kiếm tương tự chính xác

 Hỗ trợ nhiều độ đo khoảng cách

 Hỗ trợ đồng thời khai phá văn bản và khai phá dữ liệu chuỗi thời gian

 Hỗ trợ các giải thuật gom cụm và giải thuật phân loại

 Hỗ trợ phát hiện điểm thay đổi

Sau đây là trình bày chi tiết ba phương pháp xấp xỉ tuyến tính từng đoạn (PLA) phổ biến:

a Tìm đường thẳng tốt nhất qua một tập điểm

Ý tưởng chính của phương pháp này là tìm đường thẳng đi qua n điểm sao

cho tổng bình phương khoảng cách Euclid của các điểm so với đường thẳng này là

Trang 31

nhỏ nhất Đường thẳng này gọi là đường thẳng tốt nhất (best fit line) Hình 2.8

minh họa đường thẳng tốt nhất qua một tập điểm

Với tập n điểm (x 1 , y 1 ),….(x n , y n ) thì đường thẳng tốt nhất có dạng y = ax+b,

với hệ số a, b sao cho cực tiểu tổng sau:

Để thỏa mãn yêu cầu trên, giá trị của a, b được xác định theo công thức sau:

2 1 1

2

1 1

1

) ( ) (

) )(

( ) (

i i

n i i n

i i n

i i i

x x

n

y x

y x n a

2 1 1

2

1 1

1 1

2

)()(

))(

())(

i i

n

i i i

n

i i n

i i n

i i

x x

n

y y

x y

x b

Hình 2.8 Biểu diễn đường thẳng tốt nhất [40]

Trang 32

b Giải thuật Sliding Window

Giải thuật Sliding Window (cửa sổ trượt) sử dụng một cửa sổ trượt với cạnh

trái được neo tại điểm đầu tiên chưa được xấp xỉ tuyến tính Quá trình xấp xỉ là một quá trình tuần tự, lặp lại việc tuyến tính hóa đoạn dữ liệu được chứa trong cửa sổ với chiều dài cửa sổ tăng dần (bằng cách trượt cạnh phải cửa sổ trên đoạn dữ liệu cần xấp xỉ) cho đến khi nào sai số tuyến tính hóa của nó vượt quá một ngưỡng được chỉ định trước Đoạn dữ liệu nằm trong cửa sổ sẽ được xấp xỉ thành một đoạn thẳng Sau đó quá trình được tiếp tục với cạnh trái cửa sổ bây giờ được neo tại điểm ngay sau điểm cuối cùng vừa được tuyến tính hoá Quá trình sẽ được lặp đi lặp lại cho đến khi toàn bộ chuỗi dữ liệu được chuyển thành các đoạn thẳng Hình 2.9 minh họa cho giải thuật này

Hình 2.9 Giải thuật Sliding Window [27]

Algorithm Seg_TS = Sliding_Window(T, max_error)

Trang 33

Sliding Window là một giải thuật đơn giản, trực quan và đặc biệt là trực tuyến Mã giả trên đây được trình bày ở dạng ban đầu của nó Đã có một số những điều chỉnh, tối ưu được đề xuất nhằm cải tiến giải thuật ở dạng ban đầu này

 Nhóm Koski với việc tăng biến i lên những khoảng k > 1 đối với dữ liệu

ECG để tăng tốc giải thuật Chẳng hạn với k = 15 (tại tần số 400Hz), tốc

độ giải thuật có thể tăng 15 lần với chỉ một hiệu ứng nhỏ ảnh hưởng lên kết quả đầu ra

 Nhóm Vulling dựa trên nhận xét sai số tuyến tính là một giá trị đơn điệu không giảm đã đề xuất giản lược quá trình tính toán bằng cách thay vì

kiểm tra mọi giá trị của i từ 2 cho đến giá trị sẽ được chọn, ta sẽ chọn giá trị ban đầu bằng s, với s là chiều dài trung bình của các đoạn đã được

chuyển thành đoạn thẳng trước đó Nếu sai số tuyến tính của đoạn đó vẫn

nhỏ hơn max_error thì giải thuật tiếp tục tăng i như trong giải thuật ban đầu Ngược lại, nếu sai số tuyến tính của nó lớn hơn max_error thì giải thuật sẽ giảm i cho tới khi sai số của nó nhỏ hơn max_error Sự điều

chỉnh này có thể giúp giải thuật cải tiến đáng kể tốc độ thực thi trong trường hợp độ dài trung bình của các đoạn thẳng lớn so với độ lệch chuẩn của nó Nhóm Keogh tiến thêm một bước với đề nghị sử dụng tìm kiếm nhị phân cho chiều dài của segment

Sliding Window là một giải thuật trực tuyến, có tác dụng trong những trường hợp mà chúng ta cần những kết quả nhanh chóng mà không cần phải có đầy đủ dữ liệu Tuy nhiên, đây cũng chính là nhược điểm của Sliding Window khi nó không thể nhìn trước, thiếu cái nhìn toàn cục nên kết quả xấp xỉ thường không tốt lắm Một nhược điểm nữa là khả năng kháng nhiễu yếu

c Giải thuật Top-Down

Giải thuật Top-Down xem xét mọi phân hoạch có thể của dữ liệu chuỗi thời gian để tìm ra điểm chia tốt nhất Sau đó sai số xấp xỉ của cả hai phần sẽ lần lượt được đem so sánh với một ngưỡng lỗi cho phép quy định trước Nếu phần nào có

Trang 34

sai số lớn hơn giá trị ngưỡng đó giải thuật Top-Down sẽ được gọi đệ quy trên phần

đó cho đến khi mọi đoạn thẳng đều có sai số xấp xỉ trong ngưỡng cho phép Hình 2.10 minh họa cho giải thuật này

Hình 2.10 Giải thuật Top-Down [27]

Cũng như Sliding Window, đã có nhiều nhà khoa học, nhóm nghiên cứu quan tâm Top-Down đã đề xuất ra một số những điểu chỉnh, tối ưu để cải tiến tốc

độ, hiệu quả của thuật toán, chẳng hạn như:

Algorithm Seg_TS = Top_Down(T , max_error)

// Đệ quy để phân chia phân mảnh trái nếu cần

If calculate_error( T[breakpoint + 1:length(T)] ) > max_error

Seg_TS = Top_Down(T[breakpoint + 1: length(T)]);

end;

Trang 35

 Nhóm Park và các cộng sự để nghị trước khi thực hiên giải thuật nên quét trước để xác định những vùng lồi, lõm Những điểm cực trị này sẽ được

sử dụng để tạo nên bộ đoạn thẳng ban đầu, và sau đó giải thuật Down mới được gọi trên những đoạn thẳng này Sự điểu chỉnh này mang đến hiệu quả đáng kể trên những bộ dữ liệu nhân tạo Tuy nhiên đối với

Top-bộ dữ liệu thật với lượng nhiễu bất kì thì nó lại cho 1 kết quả rất tệ

 Nhóm Smyth-Ge sử dụng giải thuật để tạo ra dạng biểu diễn dữ liệu có thể hỗ trợ cho mô hinh Markov ẩn đối với bài toán tìm điểm dị thường và

so trùng mẫu

Hình 2.11 Giải thuật Bottom-Up [27]

Algorithm Seg_TS = Bottom_Up(T , max_error)

For i = 1 : 2 : length(T) // Khởi tạo một xấp xỉ tốt

Seg_TS = concat(Seg_TS, create_segment(T[i: i + 1 ]));

end;

for i = 1 : length(Seg_TS) – 1 // Tính chi phí của việc nối 2 segment lại với nhau

merge_cost(i) = calculate_error([merge(Seg_TS(i), Seg_TS(i+1))]);

end;

while min(merge_cost) < max_error // While not finished

index = min(merge_cost); // Tìm cặp có chi phí thấp nhất để nối lại

Seg_TS(index) = merge(Seg_TS(index), Seg_TS(index+1)));

Trang 36

d Giải thuật Bottom-Up

Ngược lại với Top-Down, giải thuật Bottom-Up bắt đầu với phân hoạch thô

nhất của dữ liệu chuỗi thời gian (n/2 đoạn thẳng được dùng để xấp xỉ n điểm của

chuỗi thời gian) Sau đó, chi phí (sai số) xấp xỉ được tính trên từng cặp đoạn thẳng liền kề nhau Giải thuật sẽ tiến hành lặp đi lặp lại quá trình hợp cặp đoạn thẳng nào

có chi phí xấp xỉ thấp nhất lại với nhau, sau đó tính toán lại chi phí xấp xỉ của những cặp liên quan Quá trình lặp chỉ dừng khi nào chi phí xấp xỉ của cặp nhỏ nhất thoả mãn điều kiện dừng của thuật toán Hình 2.11 minh họa cho giải thuật này

2.3 Gom cụm dữ liệu

2.3.1 Giới thiệu gom cụm dữ liệu

Gom cụm là sự phân chia các đối tượng dữ liệu vào các nhóm sao cho độ đo tương tự giữa các đối tượng trong cùng nhóm là nhỏ nhất và giữa các đối tượng

trong các nhóm khác nhau là lớn nhất Mỗi nhóm được gọi là một cụm (cluster) Theo khía cạnh học máy (machine learning), các cụm tương ứng với các mẫu chưa

biết, như vậy việc phân chia các đối tượng dữ liệu vào các cụm là một quá trình học không giám sát

2.3.2 Ba cách tiếp cận gom cụm dữ liệu chuỗi thời gian

Theo T W Liao (2005), có ba cách tiếp cận cho bài toán gom cụm dữ liệu

chuỗi thời gian [30], Hình 2.12 trình bày ba cách tiếp cận này: Dựa vào dữ liệu gốc (raw-data-based), dựa vào đặc trưng (feature-based), dựa vào mô hình (model-

based) Trong đó, cách tiếp cận triển vọng nhất để gom cụm dữ liệu chuỗi thời gian

là dựa vào đặc trưng, tức là dữ liệu chuỗi thời gian sẽ qua giai đoạn rút trích đặc trưng nhằm thu giảm số chiều trước khi được gom cụm

a Hướng tiếp cận dựa vào dữ liệu gốc:

Hướng tiếp cận này chủ yếu cải tiến các độ đo trên dữ liệu thường thành độ

đo hữu hiệu cho dữ liệu chuỗi thời gian Có nhiều giải thuật gom cụm trên dữ liệu

Trang 37

chuỗi thời gian gốc nhưng chủ yếu chỉ áp dụng cho các dữ liệu ít chiều, khối lượng

dữ liệu nhỏ

b Hướng tiếp cận dựa vào đặc trưng:

Dữ liệu chuỗi thời gian sẽ qua giai đoạn rút trích đặc trưng (feature

axtraction) nhằm thu giảm số chiều trước khi đưa vào quá trình gom cụm nhằm loại

bỏ những đặc trưng của chuỗi không cần thiết cho mục tiêu gom cụm, giảm kích thước chuỗi giúp quá trình gom cụm hiệu quả hơn

Hai giải thuật thường được dùng để gom cụm dữ liệu chuỗi thời gian dựa vào đặc trưng là k-Means và I-k-Means

c Hướng tiếp cận dựa vào mô hình:

Hình 2.12 Ba hướng tiếp cận gom cụm dữ liệu chuỗi thời gian [30]

Dữ liệu sẽ đưa qua tiến trình nhận dạng và xác định các thông số mô hình trước khi thực hiện mô hình hóa Hướng tiếp cận dựa trên mô hình sẽ xem mỗi chuỗi thời gian được tạo ra bởi một số mô hình hay bởi sự pha trộn của phân bố xác

Trang 38

suất cơ bản Các chuỗi thời gian được xem là tương tự khi các mô hình biểu thị đặc điểm cho mỗi chuỗi tương tự

Có nhiều cách tiếp cận gom cụm dựa trên mô hình như ARIMA, ARMA, HISMOOTH, Xích Markov

2.4 Giải thuật k-Means

Ý tưởng của giải thuật k-Means là cho trước một số nguyên dương k, với k là

số cụm cần gom Đầu tiên, ta chọn ngẫu nhiên k đối tượng trong không gian dữ liệu

làm các trung tâm cụm ban đầu, sau đó duyệt qua các đối tượng dữ liệu còn lại và dựa trên hàm mục tiêu để gán các đối tượng này vào cụm có trung tâm cụm gần nó nhất, sau đó tính toán lại trung tâm cụm và duyệt qua tất cả các đối tượng dữ liệu để gán lại vào cụm hợp lý cho đến khi không có phép gán nào được thực hiện nữa thì giải thuật dừng

Độ phức tạp của giải thuật k-Means là O(kNrD), trong đó k là số cụm được cung cấp bởi người dùng, r là số lần lặp cho đến khi hội tụ D là số chiều của các điểm, N là số lượng đối tượng có trong cơ sở dữ liệu

Hình 2.13 trình bày các bước chính của giải thuật k-Means

Hình 2.13 Giải thuật k-Means

Bước 1: Nhập giá trị k

Bước 2: Chọn ngẫu nhiên k đối tượng dữ liệu làm trung tâm (centroid) của mỗi

cụm

Bước 3: Gán mỗi đối tượng vào cụm có trung tâm cụm gần nhất với nó

Bước 4: Tính lại trung tâm của mỗi cụm bằng trung bình cộng của tất cả các đối tượng đã được gán vào cụm

Bước 5: Nếu tất cả các đối tượng không thay đổi cụm ở lần lặp cuối thì ngưng giải thuật.Ngược lại, quay lại bước 3

Trang 39

Giải thuật k-Means là giải thuật gom cụm dữ liệu thời gian phổ biến nhất [31] do dễ hiện thực và thời gian thực thi nhanh [32], tuy nhiên vẫn còn một số nhược điểm như lời giải phụ thuộc vào việc chọn các trung tâm cụm ban đầu, không thể xác định số cụm cần gom bao nhiêu là hợp lí (ngưởi dùng phải tự xác định

thông số k), và thời gian thực thi sẽ chậm đối với dữ liệu có số chiều lớn

Sau đây là một số phương pháp khắc phục các nhược điểm trên:

có số chiều lớn chúng ta dùng các phương pháp thu giảm số chiều để giảm số chiều của dữ liệu Cụ thể, chúng tôi dùng phương pháp thu giảm

số chiều PLA đa mức phân giải

cụm ban đầu chúng tôi sử dụng phương pháp khởi tạo trung tâm cụm ban đầu dựa vào độ dốc tích lũy có trọng số được trình bày trong mục 3.2.4

và phương pháp khởi tạo trung tâm cụm ban đầu bằng kd-tree được trình bày trong mục 2.7

k-Means là một giải thuật leo đồi, do đó nó có thể hội tụ cục bộ chứ không đạt tối ưu toàn cục Sự lựa chọn các trung tâm cụm lúc khởi động giải thuật ảnh hưởng rất lớn đến kết quả gom cụm

2.5 Giải thuật I-k-Means

Giải thuật I-k-Means do Lin và các cộng sự đề xuất năm 2004 [39], giải thuật được minh họa trong hình 2.15 Cách tiếp cận chính của giải thuật là tiếp cận lặp có

tính tăng cường (lần chạy giải thuật k-Means ở mức phân giải thứ i +1 sẽ sử dụng

các trung tâm cụm ban đầu được xác định trong lần lặp chạy giải thuật k-Means ở

mức phân giải thứ i để khởi tạo trung tâm cụm ban đầu cho lần chạy giải thuật Means ở mức phân giải thứ i + 1) nhờ lợi dụng đặc điểm đa mức phân giải của biến

k-đổi Haar wavelet Hình 2.14 minh họa cho các chuỗi thời gian được thu giảm số chiều ở nhiều mức phân giải, giải thuật I-k-Means được thực hiện bằng cách chạy

Trang 40

giải thuật k-Means bắt đầu từ mức phân giải thứ hai (tại mức phân giải thứ i, đối tượng có 2 (i-1) chiều) và tiến trình tăng dần tới các mức phân giải tốt hơn

Hình 2.14 Minh họa sự thực thi của giải thuật I-k-Means [39]

Khi thực hiện giải thuật I-k-Means, tại mức khởi đầu (mức phân giải thứ hai) các trung tâm cụm khởi động được chọn ngẫu nhiên Còn tất cả các mức khác, các trung tâm cụm khởi động được chọn dựa vào kết quả của việc thực hiện k-Means ở mức phân giải trước Nghĩa là, các cụm kết quả của việc thực hiện k-Means ở mức

phân giải i (i ≥ 2) được dùng để tính các trung tâm cụm khởi động cho lần chạy ở mức phân giải i+1

Với cách tiếp cận này giải thuật I-k-Means đã khắc phục được nhược điểm phụ thuộc vào kết quả khởi tạo trung tâm cụm ban đầu của giải thuật k-Means

Ngoài ra giải thuật I-k-Means là giải thuật có thời gian thực thi tùy định (anytime

algorithm), nghĩa là người dùng có thể kết thúc quá trình thực thi của giải thuật tại bất kì thời điểm nào Những giải thuật có thời gian thực thi tùy định là những giải thuật có sự tương quan giữa chất lượng của lời giải và thời gian thực thi của giải thuật Chất lượng của lời giải sẽ tăng lên cùng với thời gian thực thi, người sử dụng

có thể xem xét kết quả tại bất kỳ thời điểm nào và quyết định dừng chương trình, tạm ngưng hay tiếp tục cho chương trình thực thi đến lúc kết thúc Ngoài ra các giải thuật khai phá dữ liệu thường cần người dùng lựa chọn các tham số, việc xây dựng

Ngày đăng: 27/01/2021, 09:28

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] E. Keogh, “A Tutorial on Indexing and Mining Time Series Data,” In The IEEE International Conference on Data Mining (ICDM 2001), San Jose, USA, November 29, 2001 Sách, tạp chí
Tiêu đề: A Tutorial on Indexing and Mining Time Series Data,” In "The IEEE International Conference on Data Mining (ICDM 2001)
[2] G. Das, K. Lin, H. Mannila, G. Reganathan, and P. Smyth, “Rule Discovery from Time Series,” Proc. of the 4th Int'l Conference on Knowledge Discovery and Data Mining, pp. 16-22, New York, NY, Aug 27-31, 1998 Sách, tạp chí
Tiêu đề: Rule Discovery from Time Series,” "Proc. of the 4th Int'l Conference on Knowledge Discovery and Data Mining
[3] P. Cotofrei and K. Stoffel, “Classification Rules + Time = Temporal Rules,” Proc. of the 2002 Int'l Conference on Computational Science, pp. 572-581, Amsterdam, Netherlands, Apr 21-24, 2002 Sách, tạp chí
Tiêu đề: Classification Rules + Time = Temporal Rules,” "Proc. of the 2002 Int'l Conference on Computational Science
[4] E. Keogh and S. Kasetty, “On the Need for Time Series Data Mining Benchmarks: A Survey and Empirical Demonstration,” Proc. of the 8th ACM SIGKDD Int'l Conference on Knowledge Discovery and Data Mining, Edmonton, pp. 102- 111, Alberta, Canada, July 23-26, 2002 Sách, tạp chí
Tiêu đề: On the Need for Time Series Data Mining Benchmarks: A Survey and Empirical Demonstration,” "Proc. of the 8th ACM SIGKDD Int'l Conference on Knowledge Discovery and Data Mining, Edmonton
[5] S. K. Harms, J. Deogun, and T. Tadesse, “Discovering Sequential Association Rules with Constraints and Time Lags in Multiple Sequences,”Proc. of the 13th Int'l Symposium on Methodologies for Intelligent Systems, pp. 432-441, Lyon, France, June 27-29, 2002 Sách, tạp chí
Tiêu đề: Discovering Sequential Association Rules with Constraints and Time Lags in Multiple Sequences,”"Proc. of the 13th Int'l Symposium on Methodologies for Intelligent Systems
[6] J. Han and M. Kamber, “Data Mining: Concepts and Techniques,” Morgan Kaufmann Publishers, San Francisco, CA, 2002 Sách, tạp chí
Tiêu đề: Data Mining: Concepts and Techniques,” "Morgan Kaufmann Publishers
[7] Q. Yang and X. Wu, “10 Challenging Problems in Data Mining Research,” International Journal of Information Technology and Decision Making, vol. 5, pp.597-604, 2006 Sách, tạp chí
Tiêu đề: 10 Challenging Problems in Data Mining Research,” "International Journal of Information Technology and Decision Making, vol
[8] D. Toshniwal and R. C. Joshi (Oct.2005), “Using Cumulative Weighted Slopes for Clustering Time Series Data,” GESTS Int’l Trans. Computer Science and Engr., Vol.20, No.1, pp. 29-40 Sách, tạp chí
Tiêu đề: Using Cumulative Weighted Slopes for Clustering Time Series Data,” "GESTS Int’l Trans. Computer Science and Engr
[9] S.-S Choi, S.-H. Cha, C. C. Tappert, “A Survey of Binary Similarity and Distance Measures,” Journal of Systemics, Cybernetics and Informatics, vol. 8,no.1, pp. 43-48, 2010 Sách, tạp chí
Tiêu đề: A Survey of Binary Similarity and Distance Measures,” "Journal of Systemics, Cybernetics and Informatics
[10] S.-H. Cha, “Comprehensive Survey on Distance/Similarity Measures between Probability Density Functions,” International Journal of Mathematical Models and Methods in Applied Sciences, vol. 1, no. 4, pp. 300-307, 2007 Sách, tạp chí
Tiêu đề: Comprehensive Survey on Distance/Similarity Measures between Probability Density Functions,” "International Journal of Mathematical Models and Methods in Applied Sciences
[11] D. Berndt and J. Clifford, “Using dynamic time warping to find patterns in time series,” In Proceedings of AAAI Workshop on Knowledge Discovery in Databases, KDD 94, Seattle, Washington, USA,1994, pp. 359-370 Sách, tạp chí
Tiêu đề: Using dynamic time warping to find patterns in time series,” In "Proceedings of AAAI Workshop on Knowledge Discovery in Databases
[12] M. Vlachos, D. Gunopulos, G. Das, “Indexing Time Series under Condition of Noise,” In M. Last, A. Kandel &amp; H. Bunke (Eds.), Data Mining in Time Series Databases. World Scientific Publishing, 2004 Sách, tạp chí
Tiêu đề: Indexing Time Series under Condition of Noise,” In "M. Last, A. Kandel & H. Bunke (Eds.), Data Mining in Time Series Databases
[13] E. Keogh, “Mining Shape and Time Series Databases with Symbolic Representations,” In tutorial of the 13rd ACM International Conference on Knowledge Discovery and Data Mining, KDD 2007, California, USA Sách, tạp chí
Tiêu đề: Mining Shape and Time Series Databases with Symbolic Representations,” In "tutorial of the 13rd ACM International Conference on Knowledge Discovery and Data Mining
[14] E. Keogh and C. A. Ratanamahatana, “Exact Indexing of Dynamic Time Warping,” in VLDB '02 Proceedings of the 28th international conference on Very Large Data Bases , 2002, pp. 406-417 Sách, tạp chí
Tiêu đề: Exact Indexing of Dynamic Time Warping,” in "VLDB '02 Proceedings of the 28th international conference on Very Large Data Bases
[15] R. Agrawal, C. Faloutsos, A. Swami , “Efficient similarity search in sequence databases,” In Proceedings of the 4th International Conference on Foundations of Data Organization and Algorithms, Chicago, 1993, pp. 69-84 Sách, tạp chí
Tiêu đề: Efficient similarity search in sequence databases,” In "Proceedings of the 4th International Conference on Foundations of Data Organization and Algorithms
[16] K. Chan and A. W. Fu, “Efficient Time Series Matching by Wavelets,” InProceedings of the 15th IEEE Int'l Conference on Data Engineering, Sydney, Australia, 1999, pp. 126-133 Sách, tạp chí
Tiêu đề: Efficient Time Series Matching by Wavelets,” In"Proceedings of the 15th IEEE Int'l Conference on Data Engineering
[17] E. Keogh, K. Chakrabarti , M. Pazzani , S. Mehrotra , “Dimensionality Reduction for Fast Similarity Search in Large Time Series Databases,” In Sách, tạp chí
Tiêu đề: Dimensionality Reduction for Fast Similarity Search in Large Time Series Databases
[18] E. Keogh, K. Chakrabarti, S. Mehrotra, and M. Pazzani, “Locally adaptive dimensionality reduction for indexing large time series databases,” In Proceedings of the 2001 ACM SIGMOD Conference on Management of Data, 2001, pp. 151- 162 Sách, tạp chí
Tiêu đề: Locally adaptive dimensionality reduction for indexing large time series databases,” In "Proceedings of the 2001 ACM SIGMOD Conference on Management of Data
[19] E. Fink, K. B. Pratt, “Indexing of compressing time series,” In Mark Last, Abraham Kandel and Horst Bunke, editors. Data mining in time series Databases, World Scientific, Singapore, 2003 Sách, tạp chí
Tiêu đề: Indexing of compressing time series,” In" Mark Last, Abraham Kandel and Horst Bunke, editors. Data mining in time series Databases
[20] A. Strehl, and J. Ghosh, “Cluster Ensembles – A Knowledge Reuse Framework for Combining Multiple Partitions,” J. of Machine Learning Research, 3(3), 2002, pp. 583-617 Sách, tạp chí
Tiêu đề: Cluster Ensembles – A Knowledge Reuse Framework for Combining Multiple Partitions,” "J. of Machine Learning Research

TỪ KHÓA LIÊN QUAN

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