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 2CÔ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 3TRƯỜ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 4LỜ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 5TÓ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 6ABSTRACT
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 7LỜ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 8MỤ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 92.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 103.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 11DANH 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 12Hì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 13Hình 4.14 Kết quả đánh giá dựa trên số lần lặp (chứng khoán Mỹ) 59
Trang 14DANH 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 15CHƯƠ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 16Nă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 181.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 21CHƯƠ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 23Hì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 24Trong 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 25Hì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 26Y) 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 27Giá 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 28Hì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 29S 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 30nà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 31nhỏ 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 32b 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 33Sliding 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 34sai 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 36d 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 37chuỗ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 38suấ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 39Giả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 40giả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