Đề tài này đề nghị sử dụng cấu trúc dữ liệu cây đặc trưng cụm Cluster Feature tree trong các giải thuật gom cụm dữ liệu chuỗi thời gian dựa trên phân hoạch như K-means, I-K-means, EM.. T
Trang 1Trường Đại Học Bách Khoa
VÕ LÊ QUY NHƠN
GOM CỤM DỮ LIỆU CHUỖI THỜI GIAN SỬ
DỤNG CFTREE VÀ PHÉP BIẾN ĐỔI
WAVELET
Chuyên ngành: Khoa học máy tính
LUẬN VĂN THẠC SĨ
TP HỒ CHÍ MINH, tháng 11 năm 2009
Trang 2ĐẠI HỌC QUỐC GIA TP HCM CỘNG HOÀ XÃ HỘI CHỦ NGHIÃ VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc Lập - Tự Do - Hạnh Phúc
- -oOo -
Tp HCM, ngày tháng năm 2009 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ và tên học viên : Võ Lê Quy Nhơn - Giới tính : Nam ;/ Nữ -
Ngày, tháng, năm sinh : 12/04/1971 - Nơi sinh : TP Quy Nhơn -
Chuyên ngành : Khoa học Máy tính -
Khoá : 2007 -
1- TÊN ĐỀ TÀI : Gom cụm dữ liệu chuỗi thời gian sử dụng phép biến đổi Wavelet và cây đặc trưng cụm -
2- NHIỆM VỤ LUẬN VĂN : -
-
-
3- NGÀY GIAO NHIỆM VỤ : -
4- NGÀY HOÀN THÀNH NHIỆM VỤ : -
5- HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN : TS Dương Tuấn Anh -
Nội dung và đề cương Luận văn thạc sĩ đã được Hội Đồng Chuyên Ngành thông qua
(Họ tên và chữ ký)
Trang 3CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
Cán bộ hướng dẫn khoa học : PGS TS Dương Tuấn Anh -
Cán bộ chấm nhận xét 1 : -
Cán bộ chấm nhận xét 2 : -
Luận văn thạc sĩ được bảo vệ tại
HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ
TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày tháng năm 2009
Trang 4LỜ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 21 tháng 11 năm 2009
Võ Lê Quy Nhơn
Trang 5LỜ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 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 và
Kỹ Thuật Máy Tính đã tận tình truyền đạt những kiến thức quý báu 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 6
TÓM TẮT
Dữ liệu chuỗi thời gian tồn tại trong rất nhiều lĩnh vực như tài chính, chứng khoán, y học, thời tiết, môi trường, địa lý,…Nhu cầu khai phá thông tin từ những dữ liệu này rất lớn, trong đó 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 dữ liệu chuỗi thời gian là một quá trình học không giám sát, là một công cụ độc lập để xem xét phân bố dữ liệu và là bước tiền xử lý cho các thuật toán khác như phân lớp, tiên đoán, ra quyết định, Đề tài này đề nghị sử dụng cấu trúc dữ liệu cây đặc trưng cụm (Cluster Feature tree) trong các giải thuật gom cụm dữ liệu chuỗi thời gian dựa trên phân hoạch như K-means, I-K-means, EM Trong đó cây đặc trưng cụm được sử dụng với mục tiêu khởi tạo các trọng tâm cụm và hạn chế không gian tìm kiếm của bài toán và có thể gom cụm được dữ liệu có kích thước lớn với giới hạn về tài nguyên tính toán như bộ nhớ, CPU, thích hợp với dữ liệu có tính thời gian thực (streaming) Đề tài trình bày vấn đề thu giảm số chiều dữ liệu dựa vào
sự phân giải trên nhiều mức của phép biến đổi Haar wavelet và vấn đề chất lượng gom cụn được nâng cao khi sử dụng cây đặc trưng cụm do tránh được tối ưu cục bộ mà các giải thuật gom cụm dựa trên phân hoạch hay gặp phải
và vấn đề gom cụm được dữ liệu có kích thước rất lớn
Trang 7MỤC LỤC
Chương I: PHÁT BIỂU VẤN ĐỀ - 11
1.1 Dữ liệu chuỗi thời gian - 11
1.2 Bài toán gom cụm trong dữ liệu chuỗi thời gian: - 12
1.3 Mục tiêu và giới hạn của đề tài: - 15
1.4 Tóm lược những kết quả đạt được: - 16
1.5 Cấu trúc luận văn: - 17
Chương II: TỔNG THUẬT CÁC CÔNG TRÌNH LIÊN QUAN - 18
2.1 Các phương pháp đo độ tương tự - 18
a) Độ đo Minkowski - 18
b) Phương pháp xoắn thời gian động (Dynamic Time Warping - DTW) - 20
c) Phương pháp chuỗi con chung dài nhất (longest common subsequence - LCS) 21 d) Phương pháp tính độ tương tự dựa trên xác suất - 22
2.2 Các phương pháp thu giảm số chiều (dimensional reduction) - 23
a) Phương pháp biến đổi Fourier rời rạc (Discrete Fourier Transform - DFT) 23
b) Phương pháp biến đổi Wavelet rời rạc (Discrete Wavelet Transform - DWT) 24 c) Phương pháp xấp xỉ gộp từng đoạn (Piecewise Aggregate Approximation - PAA) - 24
2.3 Các phương pháp rời rạc hóa dữ liệu chuỗi thời gian: - 25
a) Phương pháp xấp xỉ gộp ký hiệu hóa (Symbolic Aggregate approXimation - SAX) - 25
2.4 Các phương pháp gom cụm trong dữ liệu chuỗi thời gian: - 26
Chương III: CƠ SỞ LÝ THUYẾT - 31
3.1 Một số khái niệm về phép biến đổi wavelet: - 31
3.2 Giải thuật có tính chất thời gian thực thi tùy chọn: - 33
3.3 Giải Thuật K-means: - 33
3.4 Giải Thuật I-K-means - 36
3.5 Khán niệm cây đặc trưng cụm và giải thuật gom cụm BIRCH (Balanced Iterative Reducing and Clustering using Hierarchies) [12]: - 38
3.6 Vấn đề chọn số cụm K tối ưu nhất: - 48
3.7 Đánh giá chất lượng của giải thuật gom cụm: - 49
Chương IV: HỆ THỐNG GOM CỤM DỮ LIỆU CHUỖI - 51
THỜI GIAN - 51
4.1 Đặt vấn đề: - 51
4.2 Hướng giải quyết: - 52
4.2.3 Thực hiện gom cụm sử dụng K-means hoặc I-K-means: - 57
4.3 Kiến trúc chi tiết và hiện thực hệ thống: - 59
Chương V: THỰC NGHIỆM - 63
Phần : THƯ MỤC THAM KHẢO - 70
PHỤ LỤC 1: BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH - VIỆT - 74
Trang 8DANH MỤC HÌNH
Hình 1.1 Minh họa đồ thị biểu diễn dữ liệu chuỗi thời gian 11
Những khó khăn và thách thức khi nghiên cứu chuỗi thời gian [17]: 11
Hình 1.2 Minh họa quá trình gom cụm dữ liệu chuỗi thời gian 12
Hình 2.8: Minh họa các trường hợp tính chất của hai mẫu là giống nhau nhưng 19
giá trị khác nhau thì khoảng cách hai mẫu sẽ rất khác nhau 19
Hình 2.9: Minh họa hai đường biểu diễn rất giống nhau về hình dạng 20
nhưng lệch nhau về thời gian 20
Hình 2.10: minh họa cách tính khoảng cách theo DWT 21
Hình 2.11: Minh họa phương pháp LCS 22
Hình 2.1: Minh họa phương pháp DFT 23
Hình 2.2: Minh họa phương pháp DWT 24
Hình 2.3: Minh họa phương pháp PAA 25
Hình 2.7: Minh họa phương pháp SAX 26
Hình 2.8 minh họa các phương pháp gom cụm dữ liệu chuỗi thời gian 27
Hình 2.9 : Minh họa quá trình gom cụm phân cấp 28
Hình 3.1 Một ví dụ về chuỗi thời gian và các hệ số wavelet ở tỷ lệ 2 32
Hình3.2: Ví dụ về phép biến đổi Haar Wavelet 32
Hinh 3.3 các giai đoạn của một quá trình gom cụm tổng quát .34
Hinh 3.4 Giải thuật K-means 34
Hình3.5: Các bước chạy giải thuật K-means với 3 cụm[21] 35
Hình 3.6 minh họa nhược điểm giải thuật K-means 36
Hình 3.6:Giải thuật I-Kmeans thực hiện tại mỗi mức của phép biến đổi Wavelet 37
Hinh 3.7 Giải thuật I-K-means[10] 37
Hình 3.8: Minh họa cây đặc trưng cụm 41
Hinh 3.9 Giải thuật BIRCH 42
Hình 3.10 Giải thuật BIRCH[15] 42
Hình 3.11: Minh họa cây đặc trưng cụm 43
Hình 3.12.a: Minh họa quá trình chèn nút vào cây đặc trưng cụm 43
Hình 3.12.b: Minh họa quá trình chèn nút vào cây đặc trưng cụm 44
Hình 3.12.c: Minh họa quá trình chèn nút vào cây đặc trưng cụm 44
Hình 3.12.d: Minh họa quá trình chèn nút vào cây đặc trưng cụm 45
Hình 3.12.e: Minh họa quá trình chèn nút vào cây đặc trưng cụm 45
Hình 3.13: Minh họa quá trình trộn 2 nút trên cây đặc trưng cụm 46
Hình 3.14: Xây dựng lại cây đặc trưng cụm 46
Hinh 3.15 Hạn chế của giải thuật BIRCH 47
Hình 4.1 các giai đoạn của một quá trình gom cụm tổng quát 52
Hình 4.2: Kiến trúc tổng quát của mô hình 53
Hình 4.3 Giải thuật thu giảm số chiều bằng phép biến đổi Wavelet 55
Hình 4.4: Giải thuật xây dựng cây đặc trưng cụm 56
Hình 4.5: Giải thuật xây dựng lại cây đặc trưng cụm 57
Hình 4.6 Giải thuật đề nghị .58
hình 4.7 Kiến trúc chi tiết hệ thống gom cụm dữ liệu chuỗi thời gian .59
hình 4.8 Trực quan hóa kết quả bằng đồ thị 60
Hình 5.1 Hệ thống thực nghiệm 63
Trang 9Hình 5.2 Tập dữ liệu Heterogeneous 64
Bảng 5.1 : Kết quả đánh giá chất lượng gom cụm 65
Hình 5.2 Kết quả đánh giá dựa trên hàm mục tiêu (obj func) và thời gian chạy .65
Hình 5.3 Kết quả đánh giá dựa trên hàm mục tiêu và thời gian chạy 66
Trang 10DANH MỤC BẢNG
Bảng 5.1 : Kết quả đánh giá chất lượng gom cụm 61
Trang 11Chương I: PHÁT BIỂU VẤN ĐỀ
Phần 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 Dữ liệu chuỗi thời gian
Dữ liệu chuỗi thời gian (chuỗi thời gian data) là dữ liệu được quan sát
và ghi nhận theo thời gian xuất hiện 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 Có rất nhiều loại dữ liệu khác nhau
có yếu tố thời gian trong các lĩnh vực tài chính, chứng khoán, y học, thời tiết, môi trường, địa lý,…Dữ liệu này thường là những dữ liệu rất lớn, có thể lên đến hàng tỷ điểm Việc phân tích các dữ liệu này là rất cần thiết để phục vụ cho các công việc phân tích thông tin, đưa ra các quyết định, Tuy nhiên, những
dữ liệu này rất lớn (hàng tera byte dữ liệu) nên cần phải áp dụng các công cụ máy tính để thực hiện phân tích mới có thể đạt được thông tin kịp thời Chính
vì vậy nghiên cứu và ứng dụng dữ liệu thời gian là một lĩnh vực được nghiên cứu nhiều trong lĩnh vực khoa học máy tính và các lĩnh vực khác
Phạm vi nghiên cứu của đề tài này tập trung vào các dữ liệu thời gian có
dạng là dãy các giá trị có thứ tự theo dạng T=t 1 ,t 2 , …, t m với t i là dữ liệu tại
thời điểm thứ i Hình 1.1 là ví dụ đồ thị biểu diễn dữ liệu chuỗi thời gian
Hình 1.1 Minh họa đồ thị biểu diễn dữ liệu chuỗi thời gian
Những khó khăn và thách thức khi nghiên cứu chuỗi thời gian [17]:
Dữ liệu quá lớn Ví dụ: trong 1 giờ, dữ liệu điện tâm đồ (ECG) là 1 GigaByte
B
D
Trang 12Phụ thuộc nhiều yếu tố chủ quan: Việc đánh giá mức độ tương tự giữa các dữ liệu phụ thuộc vào yếu tố chủ quan của người dùng, của tập dữ liệu…Nên việc đánh giá các kết quả thực nghiệm rất khó khăn
Sự không đồng nhất của dữ liệu: Định dạng của các loại dữ liệu khác nhau, tần số lấy mẫu khác nhau Ngoài ra, dữ liệu có thể bị nhiễu, thiếu một vài giá trị, hoặc không sạch…
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 quá trình học không giám sát,
là một công cụ độc lập để xem xét phân bố dữ liệu và là bước tiền xử lý cho các thuật toán khác như phân lớp, tiên đoán, ra quyết định,
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 Hình 1.2 là một ví dụ về gom cụm
dữ liệu chuỗi thời gian (Biễu diễn dạng phân cấp cụm)
Hình 1.2 Minh họa quá trình gom cụm dữ liệu chuỗi thời gian
Gom cụm dữ liệu chuỗi thời gian được sử dụng trong các lĩnh vực tài chính, y học, dự báo thời tiết và trong rất nhiều lĩnh vực khác Mục tiêu của gom cụm là phân hoạch dữ liệu thành các nhóm sao cho các thành phần trong cụm là tương tự nhau còn các thành phần khác cụm là rất khác nhau
Do đặc thù dữ liệu chuỗi thời gian là rất lớn nên để gom cụm hay phân tích dữ liệu một cách hiệu quả, ta cần tìm cách thu giảm số chiều của dữ liệu,
Trang 13biể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
Một số cách thu giảm số chiều dữ liệu chuỗi thời gian: Phương pháp Singular Value Decomposition (SVD) do F Korn và cộng sự đề xuất năm
1997 [25] Phương pháp biến đổi Fourier rời rạc (Discrete Fourier Transform –DTF) do Agrawal, R và các cộng sự đề xuất nằm 1993 [1] Phương pháp chia
dữ liệu thành các đoạn dùng phương pháp xấp xỉ (Piecewise Aggregate Approximations) do Keogh, E và các cộng sự đề xuất 2000 [3] Biểu diễn bằng phương pháp biến đổi Wavelet rời rạc (Discrete Wavelet Transform – DWT) do Chan, K và Fu, W đề xuất năm 1999 [5] Phương pháp biểu diễn
thành chuỗi bit (bitstring) do Keogh, E và cộng sự đề xuất năm 1999 [11],
phương pháp xấp xỉ gộp ký hiệu hóa (Symbolic Aggregate approXimation – SAX) do Lin, J đề xuất năm 2003 [26] Biểu diễn bằng mô hình: HMM (hidden Markov model) [6], ARMA [6]
- Các phương pháp đo độ tương tự sử dụng trong giải thuật gom cụm:
¾ Độ đo Minkowski Trong phương pháp này sự tương tự giữa hai mẫu được định nghĩa như sau:
Sim(X, Y)=p ( )
n i
P=1 (Manhattan) P=2 (Euclid) P=∞ (Max)
¾ Phương pháp xoắn thời gian động (Dynamic Time Warping)
¾ Phương pháp đo độ tương tự dựa trên xác xuất
¾ Phương pháp chuỗi con chung dài nhất (Longest common subsequence)
- Một số giải thuật sử dụng trong gom cụm dữ liệu:
Trang 14Các giải thuật gom cụm được phát triển trong khoảng 50 năm gần đây
và có rất nhiều giải thuật
Nhóm các giải thuật truyền thống gồm có nhóm các giải thuật gom cụm dựa trên phân hoạch: K-means, EM, K-medoids .Nhóm các giải thuật gom
cụm theo cấu trúc phân cấp: agglomerative, divisive
Hiện nay có rất nhiều giải thuật mới được đưa ra nhằm nâng cao hiệu quả như giải thuật BIRCH, PAM, CLARA, CLARANS, CURE, CHAMELEON, ROCK
Han và Kamber [32] phân các giải thuật gom cụm dữ liệu thành năm loại: Phương pháp dựa trên phân hoạch (partitioning methods), phương pháp phân cấp (hierarchical methods), phương pháp dựa trên mật độ (densitybased methods), phương pháp lưới (grid-based methods), phương pháp dựa vào mô
hình (model-based methods)
Có ba cách tiếp cận cho bài toán gom cụm dữ liệu chuỗi thời gian[18]: Dựa vào dữ liệu nguyên sơ (raw-data-based), dữ liệu chuỗi thời gian được sử dụng trực tiếp trong giải thuật gom cụm Trong cách tiếp cận này, dữ liệu không cần biến đổi nên giảm được chi phí ở bước biến đổi dữ liệu, tuy nhiên sẽ không thực hiện được với dữ liệu lớn hoặc có nhiễu Phương pháp dựa vào đặc trưng (feature-based): 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 Phương pháp dựa vào
mô hình (model-based): sẽ qua tiến trình rời rạc hóa dữ liệu và xác định các thông số mô hình trước khi thực hiện mô hình hóa[18]
Chúng ta không tìm cách gom cụm các chuỗi con (subsequences) vì điều này đã được chứng minh là vô nghĩa trong công trình của Eamonn Keogh, Jessica Lin (2005) [19]
- Động cơ thực hiện đề tài:
Những giải thuật gom cụm truyền thống hầu như không hiệu quả cho dữ liệu chuỗi thời gian do cấu trúc đặc biệt của nó[10], đặc trưng của dữ liệu
chuỗi thời gian là rất lớn (Ví dụ: trong 1 giờ, dữ liệu điện tâm đồ (EKG) là 1 GigaByte),dữ liệu có tính nhiều chiều, tương quan đặc trưng cao và đặc thù là
có nhiễu, vấn đề biễu diễn chuỗi thời gian cũng là một thách thức
Trang 15Mặc dù rất nhiều giải thuật được đưa ra nhưng hầu hết đều thực hiện theo lô, số lần lặp là ẩn đối với người sử dụng Các giải thuật xử lý theo lô là khó thực thi với dữ liệu lớn Các giải thuật khai phá dữ liệu hiện nay đều mong muốn hướng tới tính chất thời gian thực thi tùy chọn (anytime) Cho phép người sử dụng giao tiếp với quá trình thực thi giải thuật, cho phép khảo sát kết quả sau một vài lần lặp, quyết định ngừng việc thực thi hay cho giải thuật thực thi tới bước cuối cùng
Ngày nay hệ thống khai phá tri thức thường gặp ba giới hạn tài nguyên: thời gian, bộ nhớ và kích thước mẫu Trong đó thời gian và bộ nhớ
là “nút cổ chai” cho học máy ứng dụng Vì lý do này các giải thuật gom cụm truyền thống dựa trên bộ nhớ hầu như không thể đạt được hiệu xuất cao, không thích ứng với sự cập nhật dữ liệu trong thời gian thực Các phương pháp tiếp cận mới nên xử lý dữ liệu trong thời gian thực, có khả năng để thu thập dữ liệu bất cứ lúc nào với hằng số thời gian và bộ nhớ
Một vấn đề nữa là đặc trưng của dữ liệu chuỗi thời gian là rất lớn (hàng terabyte) nên các giải thuật gom cụm truyền thống như K-means, gom cụm dựa trên phân cấp là không thích hợp vì đặc điểm các phương pháp này là toàn bộ mẫu phải nằm trên bộ nhớ chính
Các giải thuật gom cụm cần phải có tính chất tăng cường, lần lặp sau sử dụng kết quả của lần lặp trước nhằm làm tăng hiệu quả của giải thuật
Nhiệm vụ của đề tài là tập trung tìm hiểu và hướng tới xây dựng một giải thuật gom cụm có đặc diểm thời gian thực thi tùy chọn, có tính tăng cường (incrementally), xử lý được dữ liệu cực lớn, xử lý được các dữ liệu có tính chất thời gian thực (streamming), cung cấp mô hình trực quan về sự gom cụm của
dữ liệu
1.3 Mục tiêu và giới hạn của đề tài:
Sau khi khảo sát các phương pháp gom cụm dữ liệu chuỗi thời gian và các phương pháp thu giảm số chiều dữ liệu chuỗi thời gian, đề tài đề xuất hiện thực bài toán theo hướng sau:
Thu giảm số chiều của dữ liệu: Sử dụng phép biến đổi Wavelet vì đặc trưng của phép biến đổi wavelet là được thực hiện trên nhiều mức phân giải Các múc hiển thị cho số chiều của dữ liệu sẽ được thu giảm, tính chất phân giải
Trang 16trên nhiều mức của phép biến đổi Haar wavelet được sử dụng giúp giải thuật gom cụm có tính chất thời gian thực thi tùy chọn
Sử dụng cây đặc trưng cụm (Cluster feature tree)[12] trong giải thuật gom cụm: Giải thuật gom cụm sẽ khởi tạo cây đặc trưng cụm trên bộ nhớ chính với các hệ số nhánh, hệ số ngưỡng, hệ số wavelet thích hợp Các trọng tâm cụm trên cây đặc trưng cụm sẽ giúp khởi tạo trọng tâm cụm của giải thuật K-means hoặc I-K-means Điều này giúp cho giải thuật gom cụm hội tụ rất nhanh, tránh rơi vào các điểm tối ưu cục bộ mà các giải thuật dựa trên phân hoạch như K-means hay gặp phải Giải thuật K-means hoặc I-K-means thực hiện gom cụm trên các cụm con (sub cluster) tại nút lá của cây đặc trưng cụm, điều này giúp không gian dữ liệu được thu giảm và độ lớn của các cụm con này được điều khiển qua hệ số ngưỡng của cây đặc trưng cụm
Giải thuật cũng sẽ được xây dựng theo hướng xử lý được những dữ liệu lớn nhờ vào đặc trưng của cây đặc trưng cụm là kích thước có thể điều khiển được qua các hệ số nhánh, hệ số ngưỡng, hệ số wavelet
1.4 Tóm lược những kết quả đạt được:
Chúng tôi đã sử dụng cây đặc trưng cụm trong gom cụm với nhiều tùy
chọn khác nhau tùy thuộc vào tài nguyên tính toán (CPU, vùng nhớ chính, thời gian):
Với dữ liệu nhỏ Có thể chứa trên vùng nhớ chính Chúng tôi sử dụng
cây đặc trưng cụm để tìm ra K điểm khởi tạo trọng tâm cụm cho giải thuật means hoặc I-K-means Sau đó giải thuật K-means thực hiện gom cụm trên các cụm con (sub cluster) của cây đặc trưng cụm
Với dữ liệu lớn Chúng tôi thực hiện biến đổi wavelet trên tập dữ liệu
Xây dựng cây đặc trưng cụm trên tập hệ số này với mức phân giải thích hợp của phép biến đổi Wavelet Sau đó sử dụng cây đặc trưng cụm xác định K trọng tâm cụm cho giải thuật I-K-means[10] Giải thuật I-K-means sẽ thực hiện gom cụm trên các cụm con (sub cluster) của cây đặc trưng cụm
Khi sử dụng cây đặc trưng cụm để khởi tạo các trọng tâm cụm.cho các giải thuật K-means hay I-K-means chúng tôi nhận thấy chất lượng của gom cụm tốt hơn so với giải thật K-means hay I-K-means (Chọn ngẫu nhiên các điểm làm trọng tâm cụm) cũng như là kết quả gom cụm của giải thuật BIRCH
Trang 17Giải thuật trên hoạt động tốt trong trường hợp tài nguyên tính toán như
bộ nhớ, CPU, thời gian thực thi là có giới hạn Có thể xử lý dữ liệu lớn vì thông qua cây đặc trưng cụm không gian tìm kiếm đã bị thu giảm, thích hợp với dữ liệu có tính tính thời gian thực Người sử dụng có thể thực hiện gom
cụm với nhiều hệ số K khác nhau mà không phải làm lại từ đầu vì cây đặc
trưng cụm chỉ cần xây dựng một lần Người dùng cũng như có thể quyết định thời gian gom cụm, chất lượng gom cụm bằng cách điều chỉnh các hệ số của cây đặc trưng cụm
Như vậy, hệ thống đã hiện thực mà chúng tôi sẽ trình bày chi tiết ở những chương sau đã đáp ứng những yêu cầu và nhiệm vụ của đề tài
1.5 Cấu trúc luận văn:
Tổ chức của phần còn lại của luận văn theo cấu trúc như sau:
Chương II là tổng quan về các công trình liên quan Những công trình này trình bày những phương pháp biểu diễn dữ liệu chuỗi thời gian bằng cách thu giảm số chiều, vấn dề tìm kiếm tương tự Giới thiệu các giải thuật gom cụm, các giải thuật gom cụm đã được sử dụng cho chuỗi thời gian
Chương III giới thiệu một số lý thuyết về thu giảm số chiều dựa vào phép biến đổi Wavelet Giải thuật lượng tử hóa tối ưu (optimal quantization) được đưa ra bởi Lloyd, S P năm 1982 [20] hay còn được gọi là giải thuật gom cụm K-means Giải thuật I-K-means[10] năm 2005 và Giải thuật BIRCH[12]
Chương IV: Trong chương này luận văn trình bày những ưu nhược điểm của các phương pháp gom cụm và đề xuất sử dụng cây đặc trưng cụm trong gom cụm
Chương V là một số kết quả thực nghiệm
Chương VI là một số kết luận và hướng mở rộng của đề tài
Trang 18
Chương II: TỔNG THUẬT CÁC CÔNG TRÌNH LIÊN QUAN
Chương 2 sẽ tổng thuật các công trình về độ đo tương tự, các phương pháp biểu diễn dữ liệu chuỗi thời gian, các phương pháp lập chỉ mục và các phương pháp gom cụm
2.1 Các phương pháp đo độ tương tự
Để giải quyết bài toán gom cụm sẽ cần đo độ tương tự giữa hai mẫu bằng cách đo khoảng cách giữa hai mẫu này Nếu 2 mẫu hoàn toàn giống nhau thì khoảng cách bằng 0 Ngược lại, nếu hai mẫu càng khác nhau thì khoảng cách càng lớn Để có thể tính toán thì các khoảng cách này cần được biểu diễn bằng số thực
Có một tính chất rất quan trọng của khoảng cách cần được chú ý trong khi thiết kế giải thuật để giới hạn không gian tìm kiếm là
D(x,y) < D(x,z) + D(y,z) D(x,y) là khoảng cách giữa hai mẫu x và y
Tính chất này tương tự như định lý tổng chiều dài hai cạnh trong một tam giác luôn lớn hơn chiều dài của cạnh còn lại Sau đây là một số công trình
đã có:
a) Độ đo Minkowski
Trong phương pháp này thì Sim(X,Y) (độ tương tự giữa X và Y) được
định nghĩa như sau:
Trang 19Tuy p có thể có nhiều sự lựa chọn khác nhau, nhưng trong các nghiên cứu đối với dữ liệu chuỗi thời gian thì thường sử dụng p=2 (khoảng cách
Euclid)
Phương pháp này có ưu điểm tính toán dễ dàng Tuy nhiên nó cũng có một số nhược điểm là do phương pháp này tính toán dựa trên giá trị nên đối với các trường hợp tính chất của hai mẫu là giống nhau nhưng giá trị khác nhau (có
đường căn bản khác nhau hay có biên độ dao động khác nhau) thì khoảng cách hai mẫu sẽ rất khác nhau Hình 2.8 minh họa trường hợp này
Để khắc phục trường hợp này trước khi áp dụng các giải thuật ta cần
thực hiện chuẩn hóa dữ liệu sử dụng phương pháp giá trị trung bình và độ lệch
chuẩn, biến đổi dữ liệu Q thành Q’ có cùng đường căn bản theo công thức:
Q’ = Q – mean(Q)
Với mean(Q) là giá trị trung bình của Q
Để các dữ liệu có cùng biên độ dao động thì ta dùng phép biến đổi sau:
Q’ = (Q- mean(Q)) / var(Q)
Với mean(Q) là giá trị trung bình của Q và var(Q) là độ chệch chuẩn của Q.
Hình 2.8: Minh họa các trường hợp tính chất của hai mẫu là giống nhau nhưng
giá trị khác nhau thì khoảng cách hai mẫu sẽ rất khác nhau
Một phương pháp khác cũng thường được dùng là phương pháp trung
bình di chuyển (moving average) [28] để làm trơn các đường biểu diễn dữ liệu
chuỗi thời gian Với phương pháp này thì Q được biến đổi thành Q’ - trong đó điểm ở vị trí i bằng trung bình cộng giá trị tại điểm i và k điểm lân cận
Trang 20b) 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.9 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 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ả cùng cùng không giống như mong muốn Vì vậy để khắc phục nhược điểm này, thì 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 (Dynamic Time Warping - DTW) [2]
Hình 2.9: 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
Cách tính DWT
Cách đơn giản nhất để tính DWT của hai đườ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 )
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 đó:
Trang 21Tuy 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):
Hình 2.10 là hình minh họa cách tính khoảng cách theo DWT
Hình 2.10: minh họa cách tính khoảng cách theo DWT
Phương pháp DWT hiệu quả hơn phương pháp Euclid tuy nhiên tốn nhiều thời gian chạy
c) Phương pháp chuỗi con chung dài nhất (longest common subsequence -
LCS)
Điểm nổi bật của phương pháp chuỗi con chung dài nhất là nó cho phép
bỏ qua những điểm bất thường khi so sánh ( Hình 12) Tư tưởng chính của giải thuật này là tìm những dãy con chung Hai dãy có dãy con chung càng dài thì
càng giống nhau Ví dụ, cho 2 chuỗi X, Y
X= 3, 2, 5, 7, 4, 8, 10, 7
Y = 2, 5, 4, 7, 3, 10, 8, 6 LCS = 2, 5, 7, 10
Độ tương tự của X, Y: Sim(X, Y) = |LCS|
Trang 22Tuy nhiên, phương pháp này cũng giống như phương pháp tính khoảng cách Euclid, trước khi áp dụng phương pháp dãy con chung dài nhất, ta nên
biến đổi dữ liệu ban đầu thông qua các phép biến đổi như tịnh tiến (shifting) đường căn bản hay phép co giãn biên độ (scaling) Hình 2.11 là hình minh họa
phương pháp LCS
Hình 2.11: Minh họa phương pháp LCS
d) Phương pháp tính độ tương tự dựa trên xác suất
Khác với những phương pháp trước là dựa trên sự khác nhau về khoảng
cách (distance), thì phương pháp này dựa trên sự khác nhau về đặc điểm (feature) Khi áp dụng phương pháp này ta phải biểu diễn chuỗi ban đầu và
chuỗi truy vấn dựa trên những đặc điểm đã được định nghĩa trước như tăng, giảm, không đổi… Sau đó, từ chuỗi dữ liệu ban đầu này ta xây dựng mô hình
xác suất chuyển trạng thái Markov dựa trên những đặc điểm hữu hạn đã được
định nghĩa trước Từ đó, nó sẽ được rời rạc hóa thành chuỗi các đặc điểm Sau
đó, với mô hình xác suất đã được định nghĩa áp dụng giải thuật Markov hoặc
Viterbi … để tính xác suất cho các chuỗi con Phương pháp tính độ tương tự
dựa trên xác suất là hướng tiếp cận mới và rất được quan tâm hiện nay
Phương pháp này đã tích hợp các phép biến đổi tịnh tiến (shifting), co
giãn biên độ (amplitude scale), và xoắn thời gian (time warping) Phương pháp
này định nghĩa về độ tương tự rất gần gũi với suy nghĩ của con người là dựa trên hình dáng đặc điểm
Tuy nhiên phương pháp này dựa trên mô hình toán học nên đòi hỏi người sử dụng cần phải đặt tả các đặc điểm cần quan tâm dựa trên kiến thức về
Trang 23toán Ngoài ra, nó chỉ đánh giá độ tương tư dựa trên đặc điểm nên nó mang tính định tính
2.2 Các phương pháp thu giảm số chiều (dimensional reduction)
Phương pháp thu giảm số chiều là cách thức biểu diễn lại chuỗi dữ liệu
thời gian X={x1, x2, ,xn} thành chuỗi dữ liệu Y={y1, y2, , yk}, k nhỏ hơn n,
k gọi là hệ số biến đổi, nếu k càng nhỏ thì đặc tính của chuỗi dữ liệu X khi
chuyển thành chuỗi dữ liệu Y càng nhiều và ngược lại Hệ số k được dùng để phục hồi lại chuỗi dữ liệu X từ chuỗi dữ liệu Y, k càng lớn thì dữ liệu được
phục hồi càng chính xác và ngược lại Do đó, đối với các phương pháp này ta
cần chọn hệ số k phù hợp, nếu chọn k quá lớn thì hiệu suất bị giảm, nếu chọn k
quá nhỏ thì thông tin khi chuyển đổi bị mất quá nhiều nên kết quả tìm được sẽ không chính xác
a) Phương pháp biến đổi Fourier rời rạc (Discrete Fourier Transform - DFT)
Phương pháp biến đổi rời rạc Fourier do R Agrawal và cộng sự đề xuất năm 1993[1] Ý tưởng cơ bản của phương pháp này là một đồ thị (chuỗi dữ liệu) nào cũng có thể biểu diễn bằng một số xác định các đường đồ thị cơ bản Sin và Cosin Hình 2.1 là hình minh họa cho phương pháp DFT
Hình 2.1: Minh họa phương pháp DFT
Trang 24b) Phương pháp biến đổi Wavelet rời rạc (Discrete Wavelet Transform - DWT)
Phương pháp biến đổi rời rạc Wavelet do K Chan và W Fu đề xuất năm 1999 [5] Phương pháp DWT cũng giống như DFT biểu diễn dữ liệu chuỗi thời gian thành các đường cơ bản gọi là Haar, đường Haar được định nghĩa theo công thức i
j
ψ như sau:
Hình 2.2 là hình minh họa cho phương pháp DWT
Hình 2.2: Minh họa phương pháp DWT
c) Phương pháp xấp xỉ gộp từng đoạn (Piecewise Aggregate Approximation - PAA)
Trang 25Phương pháp xấp xỉ gộp từng đoạn do E Keogh và cộng sự đề xuất năm
2000 [3] Phương pháp này rất đơn giản, ta tuần tự xấp xỉ k giá trị liền kề nhau
thành cùng một giá trị bằng trung bình cộng của k điểm đó Quá trình cứ tiếp
tục như vậy từ trái sang phải Kết quả cuối cùng là đường thẳng có dạng bậc thang Hình 2.3 là hình minh họa cho phương pháp PAA
Hình 2.3: Minh họa phương pháp PAA
2.3 Các phương pháp rời rạc hóa dữ liệu chuỗi thời gian:
Rời rạc hóa dữ liệu chuỗi thời gian là biến đổi chuỗi thời gian thành một tràng ký hiệu Gồm có các phương pháp sau:
a) Phương pháp xấp xỉ gộp ký hiệu hóa (Symbolic Aggregate approXimation
- SAX)
Phương pháp biểu diễn bằng chuỗi bit (bitstring) chỉ dùng 2 ký tự 0 và 1
để biểu diễn nên không thể hiện được hết đặc tính của dữ liệu Do đó, J Lin và cộng sự đã đề xuất phương pháp xấp xỉ gộp ký hiệu hóa (Symbolic Aggregate
Trang 26chuỗi thời gian Dữ liệu ban đầu được chia thành từng đoạn dùng phương pháp PAA Sau đó, dựa trên giá trị trung bình cộng của từng đoạn, ta sẽ biểu diễn đặc trưng của đoạn thành các ký tự Khi đó, chuỗi dữ liệu ban đầu sẽ được mã hóa rời rạc thành một chuỗi các ký tự Hình 2.7 là hình minh họa phương pháp SAX
Hình 2.7: Minh họa phương pháp SAX
Phương pháp này biểu diễn dữ liệu chuỗi thời gian thành dạng chuỗi nên từ đó có thể áp dụng các kỹ thuật xử lý trên dữ liệu chuỗi để thực hiện xử
lý, phân tích dữ liệu chuỗi thời gian Gần đây đã có nhiều công trình nghiên cứu theo hướng này[11]
2.4 Các phương pháp gom cụm trong dữ liệu chuỗi thời gian:
Han và Kamber [32] phân các giải thuật gom cụm dữ thành năm loại: Phương pháp phân hoạch (partitioning methods), phương pháp phân cấp hierarchical methods, phương pháp mật độ (densitybased methods), phương pháp lưới (grid-based methods), phương pháp dựa vào mô hình (model-based
methods)
Có ba cách tiếp cận cho bài toán gom cụm dữ liệu chuỗi thời gian[18]:
¾ Sử dụng dữ liệu nguyên sơ (raw-data-based) Dữ liệu chuỗi thời gian được sử dụng trực tiếp trong giải thuật gom cụm Trong cách tiếp cận này, dữ liệu không cần biến đổi nên giảm được chi phí ở bước biến đổi dữ liệu, tuy nhiên sẽ không thực hiện được
với dữ liệu lớn hoặc có nhiễu
Trang 27¾ Rút trích đặc trưng (feature-based): 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
¾ Dựa vào mô hình (model-based): sẽ qua tiến trình rời rạc hóa dữ liệu 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ình 2.8 minh họa các phương pháp gom cụm dữ liệu chuỗi thời gian
Một trong các giải thuật được sử dụng phổ biến là gom cụm có thứ bậc
(Hierarchical Clustering Algorithms) vì khả năng trực quan cao của nó Giải
thuật sẽ cung cấp một kiến trúc có thứ bậc các cụm chứ không cung cấp một
phân hoạch các cụm Giải thuật sử dụng ma trận khoảng cách làm tiêu chuẩn
Trang 28các cụm gọi là dendrogram, các lá biễu diễn các mẫu, các nút trong biễu diễn các cụm:
Hình 2.9 : Minh họa quá trình gom cụm phân cấp
Cho một tập N điểm và một ma trận khoảng cách N*N Giải thuật gom cụm dựa trên phân cấp (S.C Johnson 1967) như sau:
1 Bắt đầu mỗi điểm là một cluster, Như vậy với N điểm chúng ta có
N cluster
2 Tìm cặp cụm gần nhau nhất và trộn chúng lại thàng một cụm Lúc này chúng ta có ít hơn một cụm
3 Tính lại khoảng cách (độ tương tự) giữa cụm mới và các cụm cũ
4 Lặp lại bước 2 và bước 3 cho đến khi tất cả các các cluster là nằm trong một cụm có kích thước N (Biễu diễn bằng một cây phân cấp)
Bước 3 có thể đo độ tương tự theo các cách khác nhau:
Liên kết đơn (Single-linkage): Chúng ta tính khoảng cách giữa 2 cụm
là khoảng cách ngắn nhất giữa 2 thành viên bất kỳ trong 2 cụm
Liên kết đầy đủ (Complete-linkage): Chúng ta tính khoảng cách giữa
2 cụm là khoảng cách xa nhất giữa 2 thành viên bất kỳ trong 2 cụm
Liên kết trung bình (Average-linkage): Chúng ta tính khoảng cách giữa 2 cụm là khoảng cách trung bình giữa bất kỳ thành viên nào trong 2 cụm
Ưu điểm của phương pháp này là có tính tổng quát, người dùng không cần phải cung cấp thông số về số cụm cho việc gom cụm
Trang 29Nhược điểm của phương pháp là chỉ thích hợp với các số liệu nhỏ do độ
phức tạp của giải thuật là O(n2)
Một dạng giải thuật khác trong gom cụm là phân hoạch Người ta tìm cách phân hoạch các mẫu vào các cụm sao cho tối thiểu hóa hàm mục tiêu:
Với x là số mẫu cần phân hoạch và c là số trung tâm các cụm
Số khả năng có thể phân hoạch N mẫu vào K cụm là:
Như vậy chúng ta sử dụng các Heuristics để thu giảm không gian tìm
kiếm Việc tìm ra tối ưu toàn cục là một bài toán thuộc NP complete
Một giải thuật phổ biến của phương pháp này là K-means Về trực giác K-means là một quá trình lặp lại thao tác gán các mẫu vào các cụm sao cho khoảng cách trong của cụm là nhỏ nhất
Giải thuật K-means cho N đối tượng có độ phức tạp là O(kNrD) với 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
Nhược điểm của giải thuật là hình dạng hình cầu của các cụm và người
sử dụng phải cung cấp số cụm cần phân hoạch Để tìm ra số K thích hơp người
ta phải thử trong một khoảng giá trị nào đó hoặc sử dụng các phép thống kê để tìm, điều này làm tăng sự phức tạp của giải thuật K-means mang tính chất của một giải thuật leo đồi và có thể rơi vào các điểm tối ưu cục bộ Tuy vậy giải thuật K-means thường được chọn trong gom cụm dữ liệu chuỗi thời gian có số lượng mẫu lớn vì thời gian thực thi của nó là tương đối nhanh
Eamonn Keogh và các cộng sự [10] đưa ra giải thuật I-Kmeans để thực hiện gom cụm dữ liệu chuỗi thời gian sử dụng tính chất phân giải trên nhiều mức của phép biến đổi wavelet
Giải thuật cung cấp cách tiếp cận lặp, có tính tăng cường (Bước lặp thứ i
+1 sẽ sử dụng các trung tâm cụm được xác định trong bước lặp thứ i) và giải
Trang 30thuật có tính chất thời gian thực thi tùy chọn (cho phép người dùng kết thúc
giải thuật ở lần lặp thứ i thích hợp)
Trong nhóm các giải thuật gom cụm được đưa ra gần đây có giải thuật BIRCH[12] Giải thuật này dựa trên khái niệm cây đặc trưng cụm, cung cấp một cây phân cấp các cụm Ưu điểm của giải thuật là xử lý được dữ liệu cực lớn Thích hợp với những hệ thống hạn chế về tài nguyên tính toán Giải thuật được xem là rất thích hợp xử lý dữ liệu lớn và có số chiều cao[31]
Trong chương này chúng tôi đã tổng thuật các công trình trên thế giới liên quan đến đề tài Trong chương 3 và 4 chúng tôi sẽ trình bày chi tiết việc sử dụng các công trình này trong hệ thống gom cụm dữ liệu chuỗi thời gian
Trang 31Chương III: CƠ SỞ LÝ THUYẾT
Trong chương này sẽ trình bày một số khái niệm sẽ được sử dụng trong
đề tài như phép biến đổi Haar Wavelet, tính chất thời gian thực thi tùy chọn trong các giải thuật khai phá số liệu, giải thuật K-means, I-K-means, khái niệm cây đặc trưng cụm và giải thuật BIRCH Chúng tôi cũng sẽ trình bày phương
pháp xác định số K tối ưu nhất trong giải thuật K-means hay I-K-means và các
phương pháp đánh giá kết quả gom cụm
3.1 Một số khái niệm về phép biến đổi wavelet:
Wavelet là kỹ thuật phân tích có thứ bậc số liệu chuỗi thời gian Nó cho phép dữ liệu chuỗi thời gian được biễu diễn thành một xấp xỉ của chuỗi cộng với một tập các chi tiết mà có biên độ từ thô cho tới mịn Một đặc điểm của wavelet là cho phép biễu diễn chuỗi thời gian như là một thành phần xấp xỉ mô
tả khuynh hướng của dữ liệu còn các thay đổi cục bộ của dữ liệu được lưu trong phần chi tiết Thông tin trong chuỗi thời gian sẽ không bị mất trong quá trình phân tích wavelet Chúng sẽ được tạo lại đầy đủ từ phần xắp xỉ và phần chi tiết Haar wavelet là đơn giản và được dùng rộng rãi trong phân tích wavelet Lợi ích của phân tích Haar wavelet có độ phức tạp thấp Cho một
chuỗi thời gian có chiều dài n (n là một lũy thừa của 2), độ phức tạp của phân tích Haar là O(n) Quá trình phân tích Haar cần một cặp dãy số liên hệ với nó
gọi là bộ lọc phân tích wavelet biễu diễn như {hk,gk} có giá trị như sau:
hk=[1/ 2,1/ 2] , gk=[1/ 2,-1/ 2]
Chiều dài của chuỗi thời gian bị giới hạn là lũy thừa của 2, như vậy một chuỗi thời gian sẽ được mở rộng đến chiều dài là lũy thừa 2 bằng cách thêm 0 vào cuối của chuỗi thời gian
Một chuỗi thời gian X ={x1, x2, , xn } có thể được phân tích thành một thành phần xắp xỉ A ={(x1+ x2)/ 2, (x3+ x4)/ 2, , (xn-1+ xn)/ 2} và phần chi tiết D ={(x1- x2)/ 2, (x3- x4)/ 2, , (xn-1- xn)/ 2}
Trang 32Hình 3.1 Một ví dụ về chuỗi thời gian và các hệ số wavelet ở tỷ lệ 2
A1 là hệ số xấp xỉ và D1 là hệ số chi tiết ở mức biến đổi 1 Hệ số xấp
xỉ và hệ số chi tiết ở mức biến đổi j Aj, Dj , cả hai có chiều dài n/2j , có thể được phân tích từ Aj-1 một cách đệ quy Phần tử thứ i của Aj được tính theo công thức:
ai
j=1/ 2(ai
j
1 2 1
−
− +a i j
2 1
−
− -d i j
2 1
Trang 333.2 Giải thuật có tính chất thời gian thực thi tùy chọn:
Những giải thuật có tính thời gian thực thi tùy chọn là những giải thuật
có tính tương ứng giữa chất lượng của lời giải và thời gian chạy của giải thuật Đặc biệt, giải thuật có tính chất thời gian thực thi tùy chọn luôn có một lời giải khả dỉ ở bất kỳ một thời điểm nào 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ả bất kỳ thời điểm nào
và quyết định ngừ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
Trong lĩnh vực khai phá số liệu, giải thuật có tính chất thời gian thực thi tùy chọn rất được ưa thích để sử dụng Giả sử một giải thuật xử lý theo lô cần phải có một tuần để chạy, nó sẽ rất thích hợp để chuyển sang xử lý theo dạng thời gian thực thi tùy chọn, điều này cho phép người dùng khảo sát kết quả sau
1 giờ thực thi để kiểm tra các giả thiết và thông số của bài toán có hợp lý hay
không Giả sử rằng người dùng có lỗi khi thiết lập nhầm thông số k là 50 thay
vì 5, như vậy với giải thuật xử lý theo lô thì người dùng phải đợi một tuần để phát hiện sai sót, trong khi sử dụng giải thuật có tính chất thời gian thực thi tùy chọn giúp người dùng phát hiện sai sót sau 1 giờ thực thi Ngoài ra các giải thuật khai phá số liệu thường cần người dùng lựa chọn các tham số, việc xây dựng giải thuật gom cụm có tính chất thời gian thực thi tùy chọn cho phép người dùng có thể can thiệp nhiều hơn vào quá trình khai phá số liệu
3.3 Giải Thuật K-means:
Giải thuật gom cụm là giải thuật có nhiệm vụ phân loại các mẫu thành một tập các cụm dựa trên một hàm đo khoảng cách nào đó sao cho các phần tử trong cùng một cụm sẽ giống nhau, các phần tử trong khác cụm sẽ khác nhau
Dữ liệu đầu vào của giải thuật gom cụm là tập hợp các mẫu dữ liệu và hàm đo khoảng cách
Trang 34
Hinh 3.3 các giai đoạn của một quá trình gom cụm tổng quát
Đầu ra của giải thuật là một cấu trúc phân vùng của tập dữ liệu mẫu Hàm đo khoảng cách (độ tương tự) cho biết sự tương đồng giữa 2 mẫu Có nhiều hàm
đo khoảng cách khác nhau như khoảng cách Euclid, khoảng cách Minkowski…hoặc sử dụng xoắn thời gia động DTW Trong hiện thực, chúng tôi sử dụng hàm đo khoảng cách rất thông dụng là hàm đo khoảng cách Euclid
Về trực giác K-means là một quá trình lặp lại thao tác gán các mẫu vào các cụm sao cho khoảng cách trong của cụm là nhỏ nhất
Giải Thuật K-means
1 Chọn giá trị K
2 Chọn K mẫu bất kỳ làm trọng tâm các cụm
3 Gán hoặc gán lại các mẫu vào cụm có trọng tâm gần
nhất cập nhật trọng tâm
4 Quay về bước 2, Dừng khi không còn phép gán mới
Hinh 3.4 Giải thuật K-means
Ưu điểm
Giải thuật K-means cho N đối tượng có độ phức tạp là O(kNrD) với 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 Thông thường thì k cố định và r thay đổi không nhiều
nên độ phức tạp giải thuật có thể xem như tuyến tính theo kích thước của tập
dữ liệu
Trang 36Nhược điểm
Việc khởi tạo ngẫu nhiên các tâm là một điểm yếu của giải thuật Rất dễ rơi vào các điểm tối ưu cục bộ như ví dụ trong hình vẽ sau:
Hình 3.6 minh họa nhược điểm giải thuật K-means
Nếu chúng ta khởi tạo tốt các tâm thì giải thuật sẽ có số lần lặp nhỏ và hiệu quả hơn Ngược lại giải thuật có thể cho hiệu quả rất thấp Luận văn đề nghị sử dụng cây đặc trưng cụm để khởi tạo các tâm nhằm khắc phục nhược điểm này
Số nhóm k là hằng số và phải được xác định trước khi chạy giải thuật
Tập dữ liệu sẽ được xử lý nhiều lặp lại lần Do đó, chúng bắt buộc phải được tải tất cả vào bộ nhớ Nếu ta lưu trữ trên đĩa thì quá trình đọc dữ liệu này
sẽ tốn nhiều thời gian Chính vì vậy, giải thuật k-means chỉ có thể xử lý được
tập dữ liệu nhỏ, có khả năng lưu trữ được trong bộ nhớ máy tính
3.4 Giải Thuật I-K-means:
Eamonn Keogh và các cộng sự năm 2004[10] đưa ra giải thuật Kmeans để thực hiện gom cụm dữ liệu chuỗi thời gian sử dụng biến đổi Wavelet:
Trang 37I-Hình 3.6:Giải thuật I-Kmeans thực hiện tại mỗi mức của phép biến đổi Wavelet
Giải thuật I-K-means
1 Chọn giá trị K
2 Chọn K mẫu làm trung tâm các cụm
3 Thực thi giải thuật K-means trong mức i của
biễu diễn Wavelet của các mẫu (bất đầu từ mức 2)
4 Sử dụng các trung tâm cụm ở mức i như là các trung tâm khởi đầu cho mức i+1 Điều này đạt được nhờ phép chiếu K trọng tâm từ không gian 2i
vào không gian 2i+ 1
5 Dừng nếu như không có mẫu nào được gán Nếu
không quay lại bước 3 với các mức biễu diễn
wavelet tiếp theo
Hinh 3.7 Giải thuật I-K-means[10]
Ưu điểm
Giải thuật đã cung cấp cách tiếp cận lặp, có tính tăng cường (Bước lặp
thứ i +1 sẽ sử dụng các trung tâm cụm được xác định trong bước lặp thứ i)