Do đó, nhu cầu áp dụng khoảng cách xoắn thời gian động vào bài toán gom cụm là cấp thiết nhưng với độ phức tạp tính toán cao của khoảng cách này cùng với số lượng dữ liệu chuỗi thời gian
GIỚI THIỆU ĐỀ TÀI
Giới thiệu vấn đề
Ngày nay, khi các công nghệ máy tính ngày càng phát triển thì nhu cầu thông tin và dữ liệu của con người ngày càng cao Hầu hết các giao dịch kinh doanh, từ dữ liệu về chỉ số chứng khoán hay các giao dịch trong các siêu thị, đều được lưu trữ bằng máy tính Do đó, thách thức đặt ra đó là quá trình khám phá tri thức trong các tập dữ liệu đó, mà một trong số đó là quá trình gom cụm dữ liệu Gom cụm dữ liệu
(data clustering) là quá trình nhóm các tập đối tượng dữ liệu lại thành các nhóm hay các cụm sao cho các đối tượng trong cùng một cụm có độ tương tự cao nhưng có độ tương tự thấp đối với các đối tượng trong các cụm khác Độ tương tự hay bất tương tự đó có thể được đánh giá dựa trên các giá trị thuộc tính mô tả đối tượng và thường liên quan tới các độ đo khoảng cách
Mặt khác, các đối tượng dữ liệu hiện nay, như dữ liệu chứng khoán hay thời tiết, đều vốn dĩ có thêm chiều thời gian đi kèm theo hay còn gọi là dữ liệu chuỗi thời gian (time series data) Việc gom cụm dữ liệu chuỗi thời gian trở thành vấn đề thách thức cộng đồng khai phá dữ liệu bởi vì những giải thuật gom cụm hiện nay đều được thực hiện với các độ đo trong không gian Euclid Tuy nhiên, các độ đo này đã được chứng minh là ít chính xác và thường cho kết quả không mong muốn trong một số lĩnh vực ứng dụng như dữ liệu đa phương tiện Vì vậy, sự ra đời của độ đo xoắn thời gian động (Dynamic Time Warping - DTW) đã góp phần giải quyết vấn đề trên bằng cách cho phép ánh xạ các hình dạng tương tự nhau thậm chí khi các hình dạng đó không còn khớp về trục thời gian
2 Hình 1.1: Ảnh hưởng của độ đo đối với kết quả gom cụm (Nguồn [12]).
Động cơ
Mặc dù sự ra đời DTW đã góp phần giúp việc gom cụm dữ liệu chuỗi thời gian chính xác hơn, thậm chí DTW trở thành độ đo ưu việt, nhưng với số lượng dữ liệu ngày càng lớn (hiện nay con người đang bước vào thời đại dữ liệu Big Data) và cách tính khoảng cách DTW bằng phương pháp quy hoạch động phức tạp đã làm cho việc gom cụm với khoảng cách DTW trở nên chậm hơn Chính vì vậy, việc phát triển các kỹ thuật thay thế phần lớn cách tính toán phức tạp của DTW bằng các cách tính toán chặn dưới (lower bounding) đơn giản và tiết kiệm chi phí hơn đang trở thành xu hướng hiện nay Tuy nhiên, các kỹ thuật chặn dưới này khó có thể được áp dụng trực tiếp vào gom cụm nên đối với một vài vấn đề thực tế thì gom cụm với DTW vẫn mất thời gian khá lâu
Do đó, trong nghiên cứu này chúng tôi nghiên cứu giải pháp tiến hành gom cụm với DTW bằng giải thuật gom cụm với thời gian thực thi tùy chọn (anytime clustering algorithm) tức là đánh đổi giữa thời gian thực thi và chất lượng của kết quả gom cụm, chất lượng gom cụm sẽ được cải thiện với thời gian thực thi
Giải thuật này ra đời trong bối cảnh cả thế giới bước vào thời đại dữ liệu lớn mà độ phức tạp trong cách tính khoảng cách DTW sẽ là một trở ngại về mặt thời gian để chúng ta có thể đạt được kết quả mong muốn Sự phát triển của kiểu giải
3 thuật này đã đáp ứng được tình hình nhu cầu thực tế đó và đem lại tính mềm dẻo và linh hoạt cho người dùng nhờ vào tính khả dừng của giải thuật, tức là giải thuật có thể dừng bất kỳ lúc nào và có thể cho ra kết quả tốt nhất nếu giải thuật này được phép thực thi lâu hơn hoặc cho đến khi hoàn tất Thời điểm dừng giải thuật sẽ do người dùng quyết định, tùy vào số lượng thời gian mà người dùng cho phép giải thuật thực thi mà kết quả đạt được sẽ đáp ứng được yêu cầu của người dùng.
Mục tiêu
Mục tiêu nghiên cứu của đề tài này trên cơ sở dữ liệu chuỗi thời gian là xây dựng hệ thống gom cụm dữ liệu dựa vào giải thuật gom cụm K-medoids và giải thuật với thời gian thực thi tùy chọn, với các vấn đề chính sau:
Tìm hiểu cách tính xấp xỉ khoảng cách DTW: ưu điểm của DTW đó là độ chính xác cao so với các độ đo Euclid, nhưng cách tính toán phức tạp và chậm Do đó, đề tài sẽ tìm hiểu các phương pháp tính xấp xỉ khoảng cách DTW
Tìm hiểu giải thuật gom cụm với thời gian thực thi tùy chọn: do việc áp dụng trực tiếp các cách tính xấp xỉ khoảng cách DTW vào giải thuật xử lý theo lô còn gặp khó khăn vì có thể cho ra kết quả chậm so với mong muốn của người dùng nên đề tài sẽ áp dụng giải thuật gom cụm với thời gian thực thi tùy chọn để đánh đổi giữa chất lượng gom cụm với thời gian thực thi.
Đề xuất một số cải tiến khi hiện thực giải thuật gom cụm dữ liệu chuỗi thời gian với khoảng cách DTW dựa vào một kỹ thuật xấp xỉ và thử nghiệm độ hiệu quả của giải thuật trên một số tập dữ liệu mẫu.
Tóm lược kết quả đạt được
Sau một thời gian nghiên cứu và hiện thực, chúng tôi đã đạt được các kết quả tích cực đó là:
Xây dựng được hệ thống gom cụm sử dụng giải thuật gom cụm với thời gian thực thi tùy chọn dùng khoảng cách DTW dựa vào một kỹ thuật xấp xỉ, đánh đổi chất lượng gom cụm với thời gian thực thi, nhưng vẫn
4 cho ra kết quả tương đối chính xác trong thời gian ngắn so với hệ thống gom cụm dữ liệu chuỗi thời gian mà không áp dụng hai phương pháp trên
Đưa vào một kỹ thuật khởi tạo trung tâm cụm cho giải thuật K-medoids nhằm rút ngắn thời gian tính toán
Đề xuất được kỹ thuật lập trình đa luồng kết hợp xử lý song song tác vụ để giảm thời gian tính toán khoảng cách DTW nhưng vẫn cho kết quả chính xác như cách tính cổ điển
Đưa ra được các kết luận đánh giá chất lượng gom cụm cũng như so sánh độ hiệu quả của các phương pháp khác nhau được áp dụng trong đề tài này
Cho phép người dùng thực hiện gom cụm với các thông số k khác nhau và đánh giá kết quả đạt được để chọn trị k tối ưu
Như vậy, hệ thống này cơ bản đã đáp ứng được các yêu cầu của bài toán đặt ra mà chúng tôi sẽ trình bày chi tiết ở các phần sau.
Cấu trúc của luận văn
Tổ chức phần còn lại của luận văn gồm những phần như sau:
Chương 2 là các cơ sở lý thuyết mà chúng tôi sử dụng trong nghiên cứu này
Chúng bao gồm các lý thuyết về độ đo khoảng cách của chuỗi thời gian, các kỹ thuật về ràng buộc toàn cục (global constraints) và tính chặn dưới cũng như các kỹ thuật về gom cụm dữ liệu thường và dữ liệu chuỗi thời gian
Chương 3 để giới thiệu về các công trình nghiên cứu liên quan Những công trình này trình bày về các phương pháp tính giá trị trung bình dựa trên khoảng cách
DTW để áp dụng kỹ thuật gom cụm K-means như phương pháp của Gupta và các đồng sự, giải thuật PSA và giải thuật DBA Ngoài ra, chúng tôi còn giới thiệu một công trình gom cụm dữ liệu chuỗi thời gian với thời gian thực thi tùy chọn dựa vào cách xấp xỉ khoảng cách DTW
Chương 4 bao gồm nội dung chi tiết thiết kế và hiện thực hệ thống gom cụm với thời gian thực thi tùy chọn
Chương 5 trình bày các kết quả thực nghiệm đạt được, qua đó đánh giá chất lượng gom cụm của hệ thống cũng như đánh giá thời gian chạy của giải thuật
Chương 6 là một số kết luận, đóng góp của đề tài cũng như hướng phát triển trong tương lai của đề tài
CƠ SỞ LÝ THUYẾT
Các độ đo khoảng cách chuỗi thời gian
Các bài toán tìm kiếm mẫu, phân loại hay gom cụm dữ liệu chuỗi thời gian đều sử dụng kiểu dữ liệu mà ở đó được biểu diễn thành một chuỗi các số thực Vì vậy, để giải quyết các bài toán này ta phải sử dụng các độ đo khoảng cách giữa các cặp chuỗi thời gian với nhau Giả sử ta có hai chuỗi thời gian Q và C với các độ dài n và m tương ứng là và Ta cần phải xác định độ đo khoảng cách Dist(Q,C) của hai chuỗi thời gian này
2.1.1 Các độ đo trong không gian Euclid
Hiện nay, có rất nhiều độ đo khoảng cách đã được sử dụng cho gom cụm dữ liệu chuỗi thời gian tùy thuộc vào từng miền ứng dụng và trong đó các độ đo trong không gian Euclid là đủ khả năng để giải quyết bài toán này Tuy nhiên, vì sự thiếu linh hoạt để áp dụng trong các kỹ thuật biến đổi như tịnh tiến (shifting), kéo dãn
(stretching) hay co lại (contracting) trên trục thời gian nên các độ đo này ngày càng trở nên thiếu chính xác [1] Sau đây, chúng tôi sẽ giới thiệu một vài độ đo trong không gian Euclid Độ đo Euclid: Độ đo Manhattan: Độ đo Minkowski: với p ≥ 1 Độ đo Chebyshev:
Tùy thuộc vào từng miền ứng dụng mà chúng ta sử dụng độ đo phù hợp nhưng thông thường độ đo Euclid là đủ tốt và có độ chính xác chấp nhận được để áp dụng
Ngoài ra, các độ đo trên phải thỏa mãn một số tính chất sau [5]:
: khoảng cách phải là số không âm
: khoảng cách từ một đối tượng với chính nó là 0
: khoảng cách là hàm đối xứng
: khoảng cách trực tiếp từ Q đến C không lớn hơn khoảng cách đi qua các điểm trung gian T khác Ưu điểm: thời gian tính toán nhanh, có thể áp dụng cho các bài toán khai phá dữ liệu khác và các độ đo thỏa mãn bất đẳng thức tam giác nên có thể dễ dàng lập chỉ mục, giảm thời gian tìm kiếm
Khuyết điểm: chỉ áp dụng khi những chuỗi có chiều dài bằng nhau [7], dễ bị ảnh hưởng bởi nhiễu [24]
2.1.2 Khoảng cách xoắn thời gian động
Việc sử dụng độ đo trong không gian Euclid đối với dữ liệu chuỗi thời gian có hình dạng giống nhau nhưng khác nhau về thời gian sẽ sinh ra kết quả tính toán không chính xác vì cách ánh xạ điểm của chuỗi này với điểm của chuỗi khác
Vì vậy để khắc phục điểm yếu này thì độ đo xoắn thời gian động đã ra đời
Hình 2.1: Sự khác nhau giữa hai độ đo Euclid và DTW (Nguồn [12])
Kỹ thuật tính toán khoảng cách xoắn thời gian động là cách sắp xếp hai chuỗi thời gian sao cho giá trị khoảng cách là nhỏ nhất [1] Để sắp xếp đươc hai chuỗi này, chúng ta phải xây dựng ma trận n m nơi phần tử của ma trận là khoảng cách của hai điểm và mỗi điểm này là sự sắp xếp giữa hai điểm Đường xoắn W (warping path) được định nghĩa là sự sắp xếp
8 của những phần tử trong hai chuỗi Q và C, tức là ánh xạ giữa Q và C Từ đó, chúng ta có với max m,n m n – 1 và
Do đó, chúng ta sẽ tìm được nhiều đường xoắn khác nhau nhưng chúng ta chỉ quan tâm tới đường xoắn mà làm tối thiểu hóa chi phí xoắn nhất:
Hình 2.2: Ma trận xoắn và đường xoắn tối ưu (Nguồn [12])
Chúng ta có thể tính toán được DTW bằng giải thuật quy hoạch động
(dynamic programming) gồm biến giai đoạn, biến trạng thái và biến quyết định để mô tả quá trình chuyển đổi trạng thái hợp lệ Trong đó, biến giai đoạn đơn giản chỉ là một sự tăng đơn điệu các sự kiện, biến trạng thái là các điểm trong ma trận và biến quyết định để giới hạn những đường xoắn hợp lệ làm giảm không gian tìm kiếm Việc giới hạn không gian tìm kiếm sẽ giúp tiết kiệm được chi phí tính toán và cải thiện được vấn đề hiệu suất, cho nên đường xoắn thời gian phải tuân theo một vài ràng buộc sau:
Tính đơn điệu (monotonicity): những điểm phải được sắp thứ tự đơn điệu tương ứng với thời gian, tức là cho thì với – và –
Tính liên tục (continuity): từng bước trong đường xoắn phải liền kề nhau, tức là cho thì với – và –
Cửa sổ xoắn (warping window): những điểm hợp lệ phải rơi vào khoảng cửa sổ xoắn cho trước với
Ràng buộc độ dốc (slope constraint): những đường xoắn hợp lệ phải bị ràng buộc về độ dốc, điều này giúp tránh trường hợp những bước di chuyển quá lớn theo một hướng
Điều kiện biên (boundary conditions): và điều này giúp đường xoắn bắt đầu và kết thúc tại các điểm nằm ở góc trên đường chéo của ma trận
Tiếp theo, chúng ta sẽ tính toán khoảng cách DTW bằng quy hoạch động dựa vào mối quan hệ đệ quy sau, mà định nghĩa khoảng cách tích lũy của mỗi điểm:
Khoảng cách đó là tổng khoảng cách giữa các phần tử hiện tại với khoảng cách tích lũy nhỏ nhất của các điểm xung quanh Độ đo Euclid có thể xem như trường hợp đặc biệt của DTW với ràng buộc và hai chuỗi có độ dài bằng nhau
Chi tiết giải thuật tính khoảng cách DTW như sau:
Ví dụ sau đây sẽ minh họa cho giải thuật tính khoảng cách DTW Giả sử chúng ta có 2 chuỗi thời gian:
Hai chuỗi này được biểu diễn đồ thị bằng hình 2.3
Hình 2.3: Đồ thị biểu diễn hai chuỗi thời gian Để tính khoảng cách DTW chúng ta xây dựng ma trận tính khoảng cách tích lũy của hai chuỗi trên như hình 2.4 Mỗi ô trong ma trận sẽ chứa khoảng cách tích lũy tương ứng của cặp điểm đó
11 Hình 2.4: Ma trận xoắn tính DTW cho hai chuỗi thời gian
Trong ma trận xoắn hình 2.4 ở trên thì các ô được tính toán như sau:
Sau khi đã tính tất cả giá trị tích lũy cho các ô, chúng ta được một đường xoắn tối ưu bao gồm các ô tham gia tích lũy cho ô Trong hình trên thì đường xoắn tối ưu là các ô được tô màu
Vậy khoảng cách DTW của hai chuỗi trên là , trong khi khoảng cách Euclid của hai chuỗi trên là Ưu điểm: DTW phù hợp với các dữ liệu chuỗi thời gian có hình dạng tương tự nhau nhưng chiều dài thời gian khác nhau DTW cũng cho ra kết quả chính xác hơn các độ đo trong không gian Euclid
Khuyết điểm: thời gian tính toán lâu và độ phức tạp của DTW là O(nm).
Kỹ thuật ràng buộc toàn cục
Bên cạnh những ràng buộc đối với đường xoắn thời gian động ở trên thì để đảm bảo đường xoắn không đi chệch hướng quá xa so với đường chéo của ma trận thì người ta đã đề ra thêm những ràng buộc mang ý nghĩa toàn cục Ràng buộc này định nghĩa một tập con của ma trận xoắn (warping matrix) mà cho phép đường xoắn tiến hành di chuyển mở rộng và gọi là một cửa sổ xoắn (warping window)
Mục đích của ràng buộc toàn cục là tăng tốc độ tính toán khoảng cách DTW vì làm giảm không gian tìm kiếm đường xoắn và điều quan trọng là ngăn trường hợp một phần nhỏ của một chuỗi được ánh xạ vào phần lớn hơn tương ứng của chuỗi khác
Hai ràng buộc toàn cục được dùng phổ biến nhất là dải Sakoe-Chiba [23] và hình bình hành Itakura [9]:
- Ràng buộc dải Sakoe-Chiba (Sakoe-Chiba Band)
Ràng buộc này được đề xuất bởi Sakoe và Chiba năm 1978 định nghĩa đường xoắn hợp lệ: với max m,n m n – 1 và là tập các ô của ma trận xoắn của hai chuỗi thời gian với điều kiện với là một số nguyên dương cho trước gọi là cửa sổ xoắn
Hình 2.5 bên trái mô tả cửa sổ xoắn ứng với ràng buộc dải Sakoe-Chiba
- Ràng buộc hình bình hành Itakura (Itakura Paralelogram)
Ràng buộc này được đề xuất bởi Itakura năm 1975 cũng định nghĩa đường xoắn hợp lệ được ràng buộc trong một tập con của ma trận xoắn của hai chuỗi thời gian theo hình dạng hình bình hành Cho điểm và điểm tương ứng của hai chuỗi Q, C thì ràng buộc Itakura phát biểu rằng điểm phải được định nghĩa bởi một hàm biến thiên thời gian theo : với các điều kiện ràng buộc biên: , và điều kiện liên tục:
Hình 2.5 bên phải mô tả cửa sổ xoắn ứng với ràng buộc hình bình hành của Itakura
Hình 2.5: Ràng buộc toàn cục của độ đo xoắn thời gian động (Nguồn [12]).
Kỹ thuật tính chặn dưới
Hiện nay, mặc dù việc tính toán DTW cho kết quả tính toán chính xác hơn so với độ đo Euclid nhưng nó đòi hỏi thời gian thực thi rất lớn Do đó, người ta đã phát triển kỹ thuật tính chặn dưới hiệu quả để có thể giảm tải bớt không gian tìm kiếm bằng cách loại bỏ những chuỗi không phù hợp càng sớm càng tốt
Mục tiêu của kỹ thuật tính chặn dưới đó là để tăng tốc độ tính toán và để tạo một ràng buộc chặn dưới tương đối chặt chẽ, tức là một phương pháp có thể xấp xỉ khoảng cách DTW thật một cách gần nhất Phần tiếp theo, chúng tôi sẽ giới thiệu ba kỹ thuật tính chặn dưới được sử dụng phổ biến là của Kim et al (2001) [14], Yi et al (1998) [25] và Keogh et al (2002) [12]
2.3.1 Phương pháp tính chặn dưới của Kim Đây là phương pháp đầu tiên mà hỗ trợ việc tìm kiếm tương tự cũng như lập chỉ mục chính xác mà áp dụng với khoảng cách DTW Mục đích cơ bản của Kim là phát triển một kỹ thuật mà tăng cường hiệu suất tìm kiếm trong một cơ sở dữ liệu lớn mà không cho phép xảy ra sự miễn sai Để thực hiện kỹ thuật này Kim và các đồng sự đã đưa ra một hàm tính khoảng cách mới mà xấp xỉ cận dưới đối với
14 khoảng cách xoắn thời gian và nó thỏa điều kiện của bất đẳng thức tam giác Từ đó, ta có thể áp dụng giải thuật cho việc lập chỉ mục cũng như tìm kiếm tương tự được dễ dàng
Hàm tính cận dưới của Kim hoạt động bằng cách rút trích một vector đặc trưng gồm bốn hàng từ một chuỗi dữ liệu thời gian và nó không thay đổi theo thời gian Ngoài ra, Kim cũng sử dụng chuẩn mà có thể giúp người dùng xác định dễ dàng dung sai phù hợp mà không cần quan tâm tới độ dài và chuẩn này có thể tiết kiệm được chi phí tính toán của CPU hơn các chuẩn thông thường vì nó có thể loại bỏ những chuỗi không đủ tiêu chuẩn sớm hơn Hàm chặn dưới của Kim do đó được định nghĩa như sau: trong đó , là phần tử đầu và cuối của chuỗi Q, , là phần tử lớn nhất và nhỏ nhất của chuỗi Q Ưu điểm: kỹ thuật này sử dụng giải thuật lập chỉ mục chính xác dùng khoảng cách DTW để cải thiện hiệu suất tìm kiếm trong các tập dữ liệu lớn Ngoài ra, kỹ thuật cũng giới thiệu hàm chặn dưới với bốn đặc trưng đảm bảo việc không xảy ra sự miễn sai so với các kỹ thuật lập chỉ mục thông thường
Khuyết điểm: phương pháp chỉ cho sự rút trích bốn đặc trưng nên không khả thi với việc đánh chỉ mục đa chiều Bên cạnh đó, chỉ một đặc trưng thật sự được dùng trong hàm chặn dưới cho nên chặn dưới ở đây rất là đơn sơ và sẽ xảy ra nhiều lỗi mà tốn nhiều thời gian để đánh giá hơn
Hình 2.6 mô tả kỹ thuật tính chặn dưới của Kim và đồng sự với điểm A và D là điểm đầu và điểm cuối còn B và C là điểm nhỏ nhất và lớn nhất của chuỗi
15 Hình 2.6: Mô tả kỹ thuật chặn dưới của Kim (Nguồn [12])
2.3.2 Phương pháp tính chặn dưới của Yi
Kỹ thuật chặn dưới của Yi và các đồng sự ra đời trong bối cảnh các kỹ thuật lập chỉ mục dữ liệu chuỗi thời gian bấy giờ chỉ thực hiện trong không gian Euclid với chuẩn nhưng khi áp dụng vào độ đo xoắn thời gian động thì xuất hiện vấn đề đó là độ phức tạp tính toán lớn và nó không dẫn ra được bất kỳ đặc trưng tự nhiên nào Chính vì vậy, Yi đã phát triển một kỹ thuật đánh chỉ mục xấp xỉ với khoảng cách DTW dùng phương pháp FastMap Phương pháp này ánh xạ một chuỗi có độ dài n sang một điểm k chiều, bằng một hàm rút trích đặc trưng, và xây dựng một cấu trúc chỉ mục đa chiều trên tập điểm k chiều này Ngoài ra, nó cũng giúp tiết kiệm được chi phí CPU và truy cập đĩa bằng cách chấp nhận đánh đổi một tỉ lệ nhỏ độ nhạy cảm
Vì vậy, để khắc phục nhược điểm từ FastMap nên Yi và đồng sự đã giới thiệu một kỹ thuật tính chặn dưới giúp loại bỏ nhanh những lỗi mà FastMap gây ra Hàm chặn dưới của Yi được định nghĩa như sau:
Hình 2.7 mô tả kỹ thuật tính chặn dưới của Yi với phần gạch dọc biểu diễn phần tối thiểu của những điểm tương ứng đóng góp vào khoảng cách DTW nên được xem như giá trị chặn dưới
Hình 2.7: Mô tả kỹ thuật chặn dưới của Yi (Nguồn [12]) Ưu điểm: có thể áp dụng để đánh chỉ mục đa chiều với khoảng cách DTW và tiết kiệm được nhiều chi phí CPU và thời gian truy cập đĩa
Khuyết điểm: kỹ thuật cho phép xảy ra sự miễn sai và độ phức tạp thực tế của nó là với M là kích thước tập dữ liệu nên không thể áp dụng cho các tập dữ liệu lớn và những chuỗi dài
2.3.3 Phương pháp tính chặn dưới của Keogh
Mặc dù hai phương pháp trên đã có những cải tiến so với trước nhưng vẫn có nhược điểm là tính chặn dưới của chúng vẫn chưa chặt Do đó, Keogh và các đồng sự đã phát triển một kỹ thuật tính chặn dưới dựa trên ý tưởng ràng buộc toàn cục mà tiêu biểu là hai trường hợp ràng buộc dải Sakoe-Chiba và hình bình hành Itakura
Ràng buộc toàn cục mà Keogh sử dụng đó là cho đường xoắn sao cho với được định nghĩa là phạm vi xoắn cho phép của một điểm trong một chuỗi Trong trường hợp dải Sakoe-Chiba thì độc lập với nhưng đối với hình bình hành Itakura thì là một hàm theo biến
Từ đó, Keogh định nghĩa hai chuỗi U và L tương ứng là chặn trên và chặn dưới mới như sau:
Vì vậy, chuỗi Q được bao bởi hai đường chặn trên và chặn dưới Ngoài ra, mặc dù dải Sakoe-Chiba với thông số là độ rộng không thay đổi nhưng khi áp dụng thì đường bao không phải là đường có chiều dày bằng nhau ở mọi thời điểm
Các giải thuật gom cụm dữ liệu thường sử dụng
Các giải thuật gom cụm dữ liệu được chia theo từng đặc trưng riêng biệt bao gồm phân hoạch, phân cấp, dựa trên mật độ, dựa trên lưới, dựa trên mô hình và các giải thuật khác Ở đây, chúng tôi sẽ đề cập đến các giải thuật phổ biến là gom cụm phân cấp và phân hoạch
2.4.1 Giải thuật gom cụm phân cấp
Mục đích của giải thuật này là nhóm các đối tượng lại với nhau theo từng mức khác nhau vào một cây phân cấp của các cụm Hai chiến lược gom cụm phân cấp phổ biến đó là tổng hợp và phân tách, tức là tổ chức các đối tượng theo kiểu từ dưới lên hay từ trên xuống, đại diện hai chiến lược này là hai giải thuật nổi tiếng AGNES và DIANA tương ứng, được mô tả trong hình 2.10
Hình 2.10: Hai chiến lược gom cụm phân cấp (Nguồn [6])
Giải thuật AGNES: khởi đầu mỗi đối tượng tạo thành một cụm riêng biệt, sau đó các cụm được trộn lại theo một tiêu chí nào đó chẳng hạn như liên kết đơn
(single-linkage) tức là hai cụm được trộn lại nếu khoảng cách giữa hai đối tượng từ
20 hai cụm đó là ngắn nhất hay liên kết đầy đủ (complete-linkage) tức là trộn hai cụm nếu khoảng cách giữa hai đối tượng xa nhất trong hai cụm so với khoảng cách xa nhất của điểm trong cụm đó với điểm của các cụm khác là ngắn nhất Quá trình đó được lặp lại cho đến khi tất cả đối tượng tạo thành một cụm duy nhất Hình 2.11 mô tả tiêu chí trộn các cụm lại với nhau
Hình 2.11: Tiêu chí trộn các cụm
Giải thuật DIANA: ngược lại với AGNES, khởi đầu mọi đối tượng tạo thành một cụm duy nhất Sau đó, các cụm được phân tách theo một tiêu chí nào đó đến khi mỗi cụm chỉ còn một đối tượng như khoảng cách lớn nhất giữa các đối tượng gần nhau nhất
Kết quả của giải thuật gom cụm phân cấp sẽ sinh ra một cấu trúc cây gọi là dendrogram Cấu trúc này sẽ cho thấy quá trình trộn hay tách của giải thuật từng bước một Ví dụ hình 2.12 mô tả việc nhóm các đối tượng với mô tả 5 đối tượng ở mức 0 và khi thì đối tượng a và b nhóm lại với nhau, tiếp tục như vậy cho đến khi 5 đối tượng hợp thành một nhóm duy nhất
21 Hình 2.12: Cấu trúc cây của giải thuật gom cụm phân cấp (Nguồn [6]) Ưu điểm: không yêu cầu thông số nhập k (số cụm), có thể tích hợp những kỹ thuật gom cụm khác vào gom cụm phân cấp (gom cụm nhiều giai đoạn)
Khuyết điểm: phải chọn điểm trộn hay phân tách phù hợp nếu không sẽ làm chất lượng gom cum thấp trong khi không thể quay lui hay hoán đổi đối tượng giữa các cụm Ngoài ra, phương pháp không có khả năng co giãn tốt vì mỗi quyết định trộn hay tách phải kiểm tra đánh giá trên nhiều đối tượng hay cụm
2.4.2 Giải thuật gom cụm phân hoạch
Các giải thuật gom cụm phân hoạch được sử dụng rất phổ biến vì nó đơn giản và là phiên bản cơ bản nhất của phân tích gom cụm Giải thuật này hoạt động được trước hết phải giả sử số cụm mà các đối tượng có thể được nhóm lại, tức là thông số k Những cụm được hợp thành từ các đối tượng thỏa điều kiện tối ưu hóa các tiêu chuẩn phân hoạch mục tiêu như độ đo tương tự dựa vào khoảng cách Giải thuật này gồm hai phương pháp cổ điển nhất là K-means và K-medoids Ở phần này, chúng tôi sẽ chỉ giới thiệu giải thuật K-medoids còn giải thuật K-means chúng tôi sẽ mô tả ở phần kế tiếp vì hiện nay giải thuật K-means được sử dụng phổ biến với dữ liệu chuỗi thời gian hơn
Giải thuật K-medoids: phiên bản tiêu biểu nhất đó là giải thuật PAM Giải thuật hoạt động bằng cách lấy một đối tượng làm đại diện cho mỗi cụm, những đối tượng còn lại được gán vào cụm mà khoảng cách từ chúng tới đối tượng đại diện là nhỏ nhất Sau đó, sự phân hoạch được thực hiện bằng cách tối thiểu hóa khoảng cách của một đối tượng với đối tượng đại diện tương ứng bằng công thức sau:
22 trong đó E là hàm chi phí của tất cả đối tượng trong tập dữ liệu, là đối tượng đại diện tương ứng với cụm Quá trình thay thế đối tượng đại diện bằng đối tượng khác dựa trên hàm chi phí được lặp đi lặp lại cho tới khi kết quả gom cụm không đổi Ngoài ra, ta có thể dừng chương trình sau một số lần lặp đã được định trước
Chi tiết giải thuật gom cụm K-medoids (PAM) như sau:
Input: k: số cụm, D: tập dữ liệu gồm n đối tượng
Output: tập đối tượng thuộc k cụm
1 Chọn k đối tượng ngẫu nhiên từ tập D làm đối tượng đại diện
3 Gán các đối tượng còn lại vào cụm có đối tượng đại diện gần nó nhất
4 Chọn ngẫu nhiên một đối tượng không là đại diện 5 Tính tổng chi phí S cho việc thay thế đối tượng đại diện bởi đối tượng bằng hàm chi phí E đã đề cập ở trên
6 Nếu thì thay thế đối tượng bằng đối tượng để tạo nên tập k đối tượng đại diện mới
7 until không thể tối thiểu hóa S được nữa
Hình 2.13 mô tả bốn trường hợp xem xét sự thay thế đối tượng đại diện bằng các đối tượng khác dùng hàm chi phí E Cụ thể, ta giả sử là k đối tượng đại diện hiện tại, để xác định đối tượng là một sự thay thế tốt cho đối tượng ( thì ta tính khoảng cách từ mọi đối tượng p đến đối tượng đại diện gần nhất của tập và dùng khoảng cách này để cập nhật hàm chi phí
Hình 2.13a và 2.13b cho thấy đối tượng p đang được gán cho đối tượng đại diện , ta xét xem đối tượng này có thể được gán lại cho đối tượng khác được
23 không miễn là gần nó nhất Vì vậy, hình 2.13a và 2.13b cho thấy đối tượng p được gán lại cho đối tượng và tương ứng vì nó gần hơn so với đối tượng
Các giải thuật gom cụm dữ liệu chuỗi thời gian
Hiện nay, có rất nhiều giải thuật và phương pháp để gom cụm dữ liệu chuỗi thời gian như áp dụng phương pháp PCA thu giảm chiều và kết hợp giải thuật gom cụm phân cấp để gom cụm dữ liệu [3] hay gom cụm dữ liệu dựa trên các đặc trưng
[26], nhưng giải thuật K-means hay những giải thuật cải tiến của nó [15] vẫn được sử dụng rộng rãi và phổ biến nhờ tính đơn giản của nó
Giải thuật K-means: giải thuật này dựa trên nguyên tắc trung tâm cụm, tức là đối tượng trung bình của cụm đó Tương tự K-medoids, đầu tiên chọn lấy k đối tượng ngẫu nhiên để làm trung tâm cụm, những đối tượng còn lại được gán vào các cụm mà độ tương tự với trung tâm cụm là lớn nhất hay là khoảng cách của chúng tới trung tâm cụm là nhỏ nhất Với mỗi đối tượng được gán thêm vào cụm thì trung tâm cụm mới sẽ được tính lại bằng các đối tượng đã được gán cho cụm đó và sử dụng trung tâm cụm mới đó cho đối tượng tiếp theo Giải thuật tiếp tục cho đến khi hết tập dữ liệu và sau đó gán lại các đối tượng với trung tâm cụm mới Cứ như thế cho đến khi chất lượng gom cụm không đổi hoặc ta có thể dừng sau một số lần lặp Ưu điểm: độ phức tạp nhỏ với n là số đối tượng, k là số cụm và t là số lần lặp, do đó thích hợp với các tập dữ liệu lớn
Khuyết điểm: phải xác định số cụm k trước, việc xác định đối tượng trung bình cũng phức tạp hơn đối với khoảng cách DTW Ngoài ra, giải thuật bị ảnh hưởng bởi nhiễu và cực trị cục bộ nên kết quả là kích thước các cụm thường đồng đều và có dạng siêu cầu
Hình 2.14 mô tả quá trình thực hiện giải thuật K-means để gom cụm dữ liệu với trung tâm cụm được biểu diễn bởi một dấu “+”
Hình 2.14: Quá trình gom cụm dùng K-means (Nguồn [6])
Các phương pháp chọn số cụm k tối ưu nhất
Các giải thuật gom cụm phân hoạch như K-means hay K-medoids thường phải xác định trước số cụm k Do đó, chất lượng của kết quả gom cụm sẽ bị ảnh hưởng lớn bởi hằng số k này Vì vậy, Oliveira J.V và Pedrycz W [18] đã khảo sát các phương pháp chọn số cụm k sao cho hiệu quả thường được sử dụng nhất
Phương pháp thứ nhất: tiến hành gom cụm với các giá trị k khác nhau Sau đó, ta sử dụng các độ đo chất lượng để đánh giá kết quả đạt được từ các giá trị k đó và chọn ra trị k tối ưu nhất Phương pháp này có thể tiến hành theo hai hướng sau:
Định nghĩa trước một hàm đánh giá chất lượng để đánh giá một gom cụm Ước lượng một cận trên max k của số cụm, tiến hành gom cụm lần lượt các giá trị Với mỗi kết quả gom cụm, hàm đánh giá sẽ cho ra kết quả và lựa chọn giá trị k tối ưu nhất
Định nghĩa trước một hàm đánh giá chất lượng để đánh giá các cụm riêng biệt của một gom cụm Ước lượng max k và tiến hành gom cụm với số cụm là max k Các cụm kết quả được so sánh với nhau, nếu tương tự nhau sẽ được hợp lại, loại bỏ các cụm kém chất lượng Tiến trình cắt giảm số cụm sẽ được lặp lại cho đến khi không còn cụm kém chất lượng nào
Phương pháp thứ hai: đầu tiên gom cụm với số cụm đủ lớn, sau đó tiến hành trộn các cụm tương tự lại dựa theo các tiêu chí đã định nghĩa trước
Tuy nhiên, gom cụm dữ liệu chuỗi thời gian thường có độ phức tạp tính toán cao và việc tính độ tương tự giữa các cụm tốn kém nên cách thứ nhất của phương pháp đầu tiên thường được áp dụng, gom cụm theo một dãy giá trị k và dùng các độ đo chất lượng để đánh giá kết quả đạt được.
Các phương pháp đánh giá chất lượng gom cụm dữ liệu
Đánh giá chất lượng gom cụm dữ liệu là một công việc quan trọng nhằm xác định chất lượng của kết quả gom cụm mang lại để từ đó tiến hành điều chỉnh và lựa chọn vì gom cụm là một quá trình học không giám sát Thông thường ta hay sử dụng hai phương pháp đánh giá phổ biến là đánh giá nội và đánh giá ngoại Ngoài ra, ta còn có cách đánh giá tương đối đó là đánh giá kết quả gom cụm bằng việc so
26 sánh các kết quả gom cụm khác ứng với các bộ trị thông số khác nhau Các phương pháp này đều dựa trên hai tiêu chí đó là độ nén (compactness) các đối tượng trong cụm nên gần nhau và độ phân tách (separation) các cụm nên xa nhau Đánh giá nội (internal validation): đánh giá kết quả gom cụm theo chính tập dữ liệu, dùng cho các dữ liệu hoàn toàn ngẫu nhiên và ta không biết một đối tượng thuộc cụm nào Ta thường dùng một hàm mục tiêu (objective function) để đánh giá chất lượng và hàm mục tiêu thường sử dụng đó là tổng sai khác các phần tử trong cụm đến trung tâm cụm đó đối với tất cả các cụm [15] Cực tiểu của hàm này sẽ cho phương pháp gom cụm tốt nhất có thể Đánh giá ngoại (external validation): đánh giá kết quả gom cụm dựa vào cấu trúc được chỉ định trước cho tập dữ liệu Trong đề tài này, ta sẽ sử dụng các phương pháp đánh giá như chỉ số Rand, Adjusted Rand Index (ARI), Jaccard, Fowlkes và Mallow (FM), Cluster Similarity Measure (CSM), Normalized Mutual Information
Giả sử dữ liệu có M cụm Gọi là các cụm thực sự mà ta đã biết trước và là các cụm kết quả do giải thuật sinh ra Gọi D là tập dữ liệu ban đầu và với mọi cặp dữ liệu trong D ta tính các thông số sau:
a: là số cặp dữ liệu đồng thời thuộc một cụm trong G và cũng thuộc một cụm trong A
b: là số cặp dữ liệu đồng thời thuộc một cụm trong G nhưng khác cụm trong A
c: là số cặp dữ liệu đồng thời thuộc một cụm trong A nhưng khác cụm trong G
d: là số cặp dữ liệu đồng thời không thuộc cụm trong A và G
Dưới đây là các công thức đánh giá của các phương pháp trên và có giá trị trong đoạn , càng đến gần 1 thì A và G càng giống nhau, giải thuật cho kết quả gom cụm tốt và ngược lại
- Rand: được Rand đề xuất vào năm 1971 [21] dựa trên hai chỉ số a và d thể hiện sự giống nhau và hai chỉ số b và c thể hiện sự khác nhau
- ARI: được Hubert và Arabie (1985) [8] đưa ra nhằm cải tiến chỉ số Rand, đây là phương pháp cho cơ hội sửa chữa đối với chỉ số Rand Vì vậy, ARI có thể cho ra giá trị âm nên làm tăng độ nhạy của chỉ số hơn là Rand
- Jaccard: do Jaccard (1912) [10] giới thiệu nhằm đo độ tương tự giữa hai tập hợp hữu hạn, được định nghĩa là tỷ số giữa kích thước của giao với kích thước của hợp của hai tập hợp
- Fowlkes và Mallow: do Fowlkes và Mallow (1983) [2] đề xuất nhằm so sánh độ tương tự giữa hai tập hợp mà không liên quan với nhau, khắc phục nhược điểm chỉ dùng cho các tập hợp có liên quan của chỉ số Rand Ngoài ra, chỉ số FM còn cho ra kết quả tốt khi có sự ảnh hưởng của nhiễu
- NMI: đây là phương pháp dùng để đánh giá độ phụ thuộc lẫn nhau giữa hai tập hợp
Trong đó, N là số phần tử trong D, là số phần tử trong G, là số phần tử trong A và
CÁC CÔNG TRÌNH LIÊN QUAN
Phương pháp tính giá trị trung bình hình dạng dùng khoảng cách DTW
Hiện nay, đã có một số phương pháp gom cụm dữ liệu chuỗi thời gian dùng khoảng cách DTW bằng giải thuật gom cụm K-means đã được phát triển Tuy nhiên, như đã đề cập ở phần trước, nhược điểm của K-means đó là phải xác định số cụm k đồng thời phải tính được giá trị trung tâm cụm thường là giá trị trung bình hình dạng của cụm Do đó, đối với khoảng cách DTW thì khó khăn hơn khi áp dụng cách tính giá trị trung tâm cụm như trong các độ đo không gian Euclid vì độ dài của các chuỗi thời gian khác nhau và khoảng cách DTW thì không tuân theo nguyên tắc bất đẳng thức tam giác Phần tiếp theo, chúng tôi sẽ giới thiệu ba công trình liên quan tới việc tính giá trị trung bình hình dạng dùng cho khoảng cách DTW
3.1.1 Phương pháp tính trung bình của Gupta và các đồng sự
Phương pháp này được Gupta và các đồng sự [4] đưa ra vào năm 1996 nhằm giải quyết vấn đề tính trung bình các tín hiệu của não mà được tạo ra bởi các tác động bên ngoài Ý tưởng của phương pháp đó là cho hai chuỗi thời gian Q và C được định nghĩa như trên với độ dài n và m tương ứng sau khi được áp dụng khoảng cách DTW sẽ cho kết quả là một đường xoắn tối ưu gồm các cặp điểm của Q và C:
Từ đó, ta có được hai chuỗi sắp xếp mới và với và chỉ được ánh xạ với tương ứng trong Kế tiếp, ta sử dụng hai chuỗi này để tính giá trị chuỗi trung bình của hai chuỗi thời gian Q và C ban đầu
Phương pháp của Gupta được chia làm hai chiến lược phổ biến đó là cây phân cấp cân bằng (NLAAF1) và cây phân cấp tuần tự (NLAAF2)
Kỹ thuật NLAAF1: giả sử ta có L chuỗi thời gian với L là lũy thừa của 2 thì giá trị chuỗi trung bình của L chuỗi được tính như sau: với và
Tức là chia L chuỗi thời gian thành hai nửa tập con bằng nhau Cứ tiếp tục phân rã cho đến khi còn lại hai chuỗi thời gian thì áp dụng giải thuật tính khoảng cách DTW để tìm hai chuỗi sắp xếp mới và tính giá trị chuỗi trung bình dựa trên hai chuỗi đó rồi lại kết hợp với giá trị chuỗi trung bình của hai chuỗi kế tiếp
Hình 3.1 (a) sẽ minh họa cho quá trình xử lý của kỹ thuật NLAAF1
Kỹ thuật NLAAF2: kỹ thuật này có tính tổng quát cao hơn kỹ thuật NLAAF1 vì số L chuỗi thời gian không bắt buộc là lũy thừa của 2 mà có thể bất kỳ số nào, lúc này giá trị chuỗi trung bình của L chuỗi là: với
Tức là giá trị chuỗi trung bình được tính tuần tự bằng cách tính giá trị chuỗi trung bình từ cặp và sau đó kết hợp với để tính được giá trị chuỗi trung bình , tiếp tục như vậy cho tới khi tính được từ cặp và
Hình 3.1 (b) mô tả quá trình tính toán của kỹ thuật NLAAF2
31 Hình 3.1: Mô tả hai kỹ thuật tính trung bình của Gupta (Nguồn [16]) Ưu điểm: dễ hiện thực và thời gian tính toán nhanh
Khuyết điểm: độ chính xác của chuỗi trung bình không cao
3.1.2 Giải thuật tính trung bình cụm dữ liệu PSA
Nhược điểm của phương pháp tính trung bình của Gupta đó là độ chính xác không cao đã được chứng minh trong bài báo [16], trong đó đề cập đến việc ghép cặp ngẫu nhiên khi tính trung bình làm ảnh hưởng đến độ chính xác của kết quả Vì vậy, Niennattrakul V và Ratanamahatana C.A đã đưa ra một phương pháp tính trung bình cải tiến gọi là Prioritized Shape Averaging (PSA) [17] vào năm 2009, giải thuật này dựa vào gom cụm phân cấp để sắp thứ tự tính trung bình của các chuỗi Ngoài ra, kỹ thuật này cũng giới thiệu một giải thuật tính trung bình DTW mới gọi là Scaled Dynamic Time Warping (SDTW) mà tăng cường sức mạnh trong việc tính trung bình ở miền thời gian và loại bỏ sự ảnh hưởng của những chuỗi nhiễu
Trước hết, chúng tôi sẽ giới thiệu về giải thuật tính trung bình SDTW Giải thuật này cơ bản là dựa vào cách tính trung bình của Gupta nhưng đã có những cải tiến trong việc co dãn chuỗi thời gian sao cho chuỗi trung bình mong muốn sẽ có hình dạng tương tự với chuỗi có trọng số cao hơn Hàm tính trung bình được định nghĩa:
Trong đó, là giá trị trung bình trong chuỗi trung bình Z, và là hai điểm thuộc hai chuỗi Q và C, và là trọng số của hai chuỗi Q và C Giải thuật này hoạt động dựa vào cơ chế tính trọng số cho mỗi phần tử trên đường xoắn tối ưu
W Để tính trọng số phù hợp thì các tác giả đã phân loại ra ba trường hợp đó là: khi là thì giải thuật sẽ sinh ra một trọng số cho , khi là thì giải thuật trung bình sẽ sinh ra một trọng số cho , ngược lại khi là thì trọng số sẽ được sinh ra cho phần tử Sau đó, ta sẽ áp dụng hàm tính trung bình trên để tính chuỗi trung bình mới mà sẽ dài hơn chuỗi gốc cho nên ta phải áp dụng thêm việc thu giảm dữ liệu
Cuối cùng, chúng tôi giới thiệu về mô hình PSA Mô hình này hoạt động trên cơ sở lấy việc gom cụm phân cấp làm một công cụ giúp sắp xếp thứ tự các chuỗi dữ liệu dùng để tính trung bình Tức là đầu tiên tập dữ liệu sẽ được gom cụm phân cấp theo kiểu từ dưới lên và sau đó ta sẽ dùng giải thuật SDTW để tính trung bình từng cặp phần tử từ dưới lên theo cây phân cấp Trọng số của chuỗi trung bình sẽ là số chuỗi mà hình thành nên chuỗi trung bình đó
Hình 3.2 minh họa cho việc áp dụng mô hình PSA Trong đó, giả sử ta có năm chuỗi thời gian với trọng số ban đầu là 1 Ta tính trung bình chuỗi A và B được chuỗi F với trọng số là 2 Cứ tiếp tục như vậy theo cây phân cấp ta sẽ được chuỗi kết quả I với trọng số là 5
Hình 3.2: Ví dụ minh họa mô hình PSA (Nguồn [17]) Ưu điểm: có độ chính xác cao hơn so với giải thuật của Gupta
Khuyết điểm: độ phức tạp của phương pháp này cao hơn do phải tiến hành gom cụm phân cấp và tính trọng số cho mỗi phần tử của mỗi chuỗi
3.1.3 Giải thuật tính trung bình cụm dữ liệu DBA
Phương pháp trung bình cụm dữ liệu DTW Barycenter Averaging (DBA) được Francois Petitjean và các đồng sự [20] giới thiệu vào năm 2011 trong bối cảnh các giải pháp tính trung bình cụm trước đó gặp hai vấn đề quan trọng Thứ nhất là việc tính trung bình theo từng cặp chuỗi, bởi vì thứ tự lấy các cặp chuỗi sẽ ảnh hưởng tới kết quả chuỗi trung bình do không có hàm liên kết Đặc biệt khi áp dụng quá trình gom cụm lặp trên toàn bộ dữ liệu sẽ làm cho chất lượng của kết quả bị thay đổi rất nhiều Thứ hai là vấn đề tính giá trị trung bình của chuỗi kết quả, vì việc sử dụng những cách tính giá trị trung bình thô sơ sẽ dẫn đến chuỗi kết quả quá dài và quá chi tiết so với mong muốn Khi quá trình được lặp đi lặp lại nhiều lần sẽ làm cho chuỗi kết quả càng dài và việc tính khoảng cách DTW càng phức tạp, dẫn đến những vòng lặp sau sẽ lâu hơn làm cho hiệu suất tính toán bị giảm
Từ những vấn đề đó, Francois Petitjean và các đồng sự đã giới thiệu một phương pháp tính trung bình mới dựa trên cơ sở cung cấp một cách tính trung bình toàn cục, tức là các chuỗi sẽ được tính trung bình cùng với nhau và không cần quan tâm đến thứ tự các chuỗi, bằng cách tính trọng tâm (barycenter) của tập các điểm trong không gian Euclid Sau đó, họ sẽ tối ưu hóa chuỗi trung bình bằng cách làm giảm độ dài của chuỗi bằng các phương pháp thu giảm dễ thích nghi hơn
Phương pháp gom cụm dữ liệu chuỗi thời gian dựa vào xấp xỉ độ đo xoắn thời gian động
đo xoắn thời gian động
Vào năm 2012, phương pháp này được Zhu và các đồng sự [27] đưa ra nhằm giải quyết vấn đề tăng tốc độ tính toán khoảng cách DTW nhằm phục vụ cho công việc gom cụm dữ liệu chuỗi thời gian Hơn một thập kỷ, người ta đã cố gắng tìm kiếm cách thay thế các bước tính toán phức tạp của khoảng cách DTW bằng các hàm tính chặn dưới tiết kiệm chi phí hơn Tuy nhiên, việc áp dụng những hàm chặn dưới này trực tiếp vào việc gom cụm là không khả thi, đối với một số vấn đề có khi mất thời gian rất lâu Do đó, Zhu và các đồng sự đã sử dụng giải thuật với thời gian thực thi tùy chọn để tiến hành gom cụm dữ liệu chuỗi thời gian với hạt nhân chính đó là giải thuật xấp xỉ khoảng cách DTW giúp tính toán chính xác hơn
Trước hết, phương pháp này bao gồm hai công việc chính yếu Thứ nhất là áp dụng kỹ thuật xấp xỉ DTW mới mà tính toán nhanh và chính xác dựa vào mối quan hệ phụ thuộc giữa DTW và chặn trên lẫn chặn dưới của nó Thứ hai đó là hàm heuristic sắp thứ tự mà cho phép giải thuật gom cụm dự đoán được thứ tự khoảng
36 cách DTW xấp xỉ tốt nhất để khi thay thế khoảng cách DTW xấp xỉ bằng khoảng cách DTW chính xác được lợi nhất Phần sau đây sẽ trình bày chi tiết về phương pháp này
Trước khi bắt đầu vào việc thực hiện phương pháp gom cụm đã nêu thì Zhu và các đồng sự đặt ra các giả định để thuận tiện cho công việc sau này Ta ký hiệu số chuỗi dữ liệu thời gian để gom cụm là M và độ dài của chúng là N
Giả định 1: thời gian để thực hiện việc gom cụm không đáng kể so với thời gian tính toán toàn bộ khoảng cách DTW thực sự Giả định này không những là bước đột phá của phương pháp này mà còn cho phép đặc tính khả dừng của giải thuật với thời gian thực thi tùy chọn
Giả định 2: thời gian tính chặn trên (upper bounding) và chặn dưới của khoảng cách DTW chính xác thì không đáng kể so với việc tính tất cả khoảng cách
DTW thực sự Thực tế, các kỹ thuật tính chặn dưới đã được đề cập ở các phần trên của Kim, Yi và Keogh có độ phức tạp chỉ và khoảng cách Euclid mà được xem như chặn trên cũng chỉ có độ phức tạp
Giả định 3: gom cụm dùng khoảng cách DTW cho kết quả tốt hơn dùng độ đo
Euclid Thực tế độ đo Euclid chỉ cho kết quả tồi trong những tập dữ liệu nhỏ cho nên ta phải giả định điều này nếu áp dụng trong những tập dữ liệu lớn Ngoài ra, do giả định này mới chỉ là lý thuyết nên Zhu đã tiến hành việc gom cụm dùng khoảng cách DTW và độ đo Euclid trên tập ít nhất 2000 chuỗi dữ liệu, sau đó so sánh kết quả với nhau dùng phương pháp đánh giá ngoại Adjusted Rand Index (ARI) Kết quả được tổng kết ở hình 3.5
37 Hình 3.5: Đánh giá kết quả gom cụm dùng ARI (Nguồn [27])
3.2.2 Khung thức gom cụm với thời gian thực thi tùy chọn
Vấn đề với gom cụm chuỗi dữ liệu thời gian dùng cách xấp xỉ khoảng cách
DTW đó là các cách tính chặn dưới này không thể áp dụng trực tiếp để gom cụm được Do đó, Zhu và các đồng sự đã sử dụng một giải thuật với thời gian thực thi tùy chọn (anytime algorithm) để áp dụng cho việc gom cụm với khoảng cách DTW Đây là một dạng giải thuật mà chấp nhận đánh đổi thời gian thực thi với chất lượng của kết quả Trong thực tế, sau một khoảng thời gian ngắn khởi động thì giải thuật này luôn cho trước một kết quả tương đối mà chất lượng mong muốn của kết quả có thể được cải thiện tốt hơn nếu cho phép giải thuật thực thi lâu hơn cho tới khi đạt được kết quả như giải thuật theo lô (batch algorithm) thông thường, tức là giải thuật không áp dụng thời gian thực thi tùy chọn
Những tính chất mà một giải thuật với thời gian thực thi tùy chọn được nêu ra bởi Zilberstein và Russell năm 1995 [28] đó là:
Tính khả dừng (interruptibility): sau một thời gian ngắn cho việc khởi động giải thuật kết thúc thì giải thuật có thể được dừng bất cứ lúc nào và cung cấp một kết quả tương đối
Tính đơn điệu (monotonicity): chất lượng của kết quả là một hàm không giảm theo thời gian tính toán Tuy nhiên, tính chất này không bắt buộc chất lượng phải là đơn điệu theo các lần chạy giải thuật cụ thể
Chất lượng có thể đo được (measurable quality): chất lượng của kết quả xấp xỉ có thể được xác định
Tính suy giảm (diminishing returns): mức độ cải tiến kết quả sẽ càng lớn ở những giai đoạn tính toán sớm
Tính ưu tiên (preemptability): giải thuật có thể được làm gián đoạn để kiểm tra, sau đó có thể được phục hồi lại để tiếp tục tính toán nhưng với chi phí tối thiểu
Chi phí thấp (low overhead): thời gian tính toán khi chạy hết toàn bộ dữ liệu mà không dừng của giải thuật với thời gian thực thi tùy chọn phải hơi dài hơn một chút so với các giải thuật theo lô
Hình 3.6: Minh họa giải thuật với thời gian thực thi tùy chọn (Nguồn [27])
Dựa trên những tính chất và định nghĩa của giải thuật với thời gian thực thi tùy chọn, Zhu và các đồng sự đã đề xuất khung thức (framework) của giải thuật gom cụm với thời gian thực thi tùy chọn như sau:
Input: Dataset: tập dữ liệu muốn gom cụm
Output: Clusters: tập kết quả gom cụm
3 Disp(‘Setup is done, interruption is possible’);
Trong đó, ba dòng đầu tiên tương ứng với bước khởi động của giải thuật, tức là phần màu sẫm được minh họa là “Setup Time” trong hình 3.6 ở trên Giải thuật chỉ có thể dừng sau khi kết thúc bước khởi động này và bước này nên diễn ra trong một khoảng thời gian rất ngắn để đảm bảo tính khả dừng của giải thuật
HỆ THỐNG GOM CỤM DỮ LIỆU CHUỖI THỜI GIAN VỚI THỜI
Đặt vấn đề
Như đã trình bày ở trên, kết quả của việc gom cụm dữ liệu phụ thuộc một phần vào độ đo khoảng cách mà ta sử dụng Với độ đo Euclid trong một số trường hợp gom cụm dữ liệu chuỗi thời gian (chẳng hạn đối với dữ liệu đa phương tiện như âm thanh, hình ảnh) thường cho ra kết quả không chính xác, do đó ta sẽ sử dụng khoảng cách DTW Tuy nhiên, khoảng cách DTW với độ phức tạp tính toán rất cao nên không khả thi khi phải gom cụm trên tập dữ liệu lớn Chính vì vậy, ta sẽ áp dụng các kỹ thuật tính chặn dưới để cải thiện tốc độ tính toán của giải thuật tính DTW này, nhưng các kỹ thuật này khó có thể áp dụng trực tiếp vào việc gom cụm nên ta sẽ hiện thực một hệ thống sử dụng cách tính DTW một cách xấp xỉ và cho phép tiến hành gom cụm với thời gian thực thi tùy chọn
Bên cạnh đó, trong đề tài này chúng tôi sẽ lựa chọn áp dụng giải thuật gom cụm K-medoids như giải thuật gom cụm chính của đề tài thay vì giải thuật K-means vì những lý do sau:
Giải thuật K-means sẽ bị ảnh hưởng bởi các đối tượng nhiễu trong khi giải thuật K-medoids giảm thiểu được sự ảnh hưởng của nhiễu nhờ mỗi cụm được đại diện bởi phần tử chính giữa cụm
Giải thuật K-means gặp vấn đề cực trị cục bộ sẽ cho ra kết quả gom cụm không chính xác, thường có dạng siêu cầu và kích thước các cụm kết quả thường đồng đều
Việc tính toán xác định giá trị trung bình hình dạng của các cụm trong giải thuật K-means hiện vẫn là một vấn đề đang cần giải quyết vì các yêu cầu về độ phức tạp tính toán cũng như độ chính xác của giá trị trung bình hình dạng đó
Tuy nhiên, giải thuật K-medoids trước hết sẽ tính toán một ma trận khoảng cách sau đó sẽ tiến hành gom cụm dựa trên ma trận khoảng cách này để tăng tốc độ tính toán của giải thuật Vì vậy, ta cần tính toán ma trận khoảng cách DTW xấp xỉ sao cho một cách chính xác và phù hợp cho các tập dữ liệu khác nhau trong khoảng thời gian rất nhỏ so với việc tính toàn bộ khoảng cách DTW chính xác
Ngoài ra, việc khởi tạo trung tâm cụm cũng ảnh hưởng tới thời gian tính toán của giải thuật K-medoids, do đó ta phải xây dựng được một giải thuật khởi tạo trung tâm cụm đủ tốt để giảm chi phí tính toán.
Hướng giải quyết
Kỹ thuật gom cụm K-medoids có khả năng giảm thiểu sự ảnh hưởng của nhiễu và tránh được vấn đề cực trị cục bộ nhưng đổi lại kỹ thuật này bị ảnh hưởng bởi kích thước tập dữ liệu do có độ phức tạp tính toán cao và phụ thuộc nhiều vào việc chọn phần tử làm trung tâm cụm Hiện nay, nhiều phương pháp để chọn phần tử đại diện ban đầu đã được đề xuất như:
Lựa chọn ngẫu nhiên: chọn ngẫu nhiên k phần tử từ tập dữ liệu
Lựa chọn có hệ thống: bằng cách sắp xếp tập dữ liệu theo một tiêu chí nào đó và chia tập dữ liệu đó theo k khoảng bằng nhau và chọn ngẫu nhiên một phần tử từ mỗi khoảng đó là phần tử đại diện
Lấy mẫu: tiến hành lấy mẫu 10% tập dữ liệu và gom cụm trên tập con đó Phần tử đại diện của kết quả đạt được sẽ được dùng làm phần tử đại diện cho cả tập
Đối tượng xa nhất: chọn k phần tử mà xa tâm nhất
Phương pháp Gauss: những phần tử được dẫn xuất từ k thành phần
Gauss, ước lượng mỗi vector trung bình của k mô hình Gauss bằng giải
49 thuật Expectation-Maximization (EM) (Vlassis và Likas đề xuất năm
2002) và tìm phần tử gần với vector trung bình được ước lượng nhất
Tuy nhiên, kỹ thuật của Park và các đồng sự (2009) [19] đã cho thấy sự cải tiến rõ rệt trong thời gian tính toán so với các phương pháp trên và đó cũng là tiền đề để chúng tôi áp dụng phương pháp khởi tạo trung tâm cụm mới này Nội dung phương pháp khởi tạo trung tâm cụm mới của Park và các đồng sự khi áp dụng vào đề tài này sử dụng khoảng cách DTW như sau:
Input: là tập dữ liệu với p biến, k là số cụm, d là ma trận khoảng cách
Output: medoid(k) là danh sách các đối tượng được chọn là phần tử đại diện
1 Ta dùng khoảng cách DTW để tính khoảng cách của tất cả các cặp đối tượng trong tập dữ liệu S
2 Tính tỷ số để làm phỏng đoán đầu tiên ở tâm của các cụm theo công thức bên dưới và tỷ số này càng nhỏ chứng tỏ điểm càng gần điểm
3 Tính của mỗi phần tử và sắp xếp chúng theo thứ tự tăng dần Chọn k phần tử có giá trị nhỏ nhất từ danh sách trên làm phần tử đại diện
4 Gán mỗi đối tượng còn lại vào phần tử đại diện gần nhất
5 Tính toán chi phí tối ưu hiện tại, tức là tổng khoảng cách của các đối tượng đến phần tử đại diện của chúng Ưu điểm của kỹ thuật trên đó là đơn giản và tính toán nhanh dựa trên ma trận khoảng cách đã được tính toán trước
4.2.2 Kỹ thuật lập trình đa luồng để cải tiến DTW
Kỹ thuật này do chúng tôi đề xuất dựa trên ý tưởng mỗi một ô trong ma trận xoắn của hai chuỗi bất kỳ là một tác vụ tính toán và phụ thuộc vào kết quả tính toán của ô phía trên và ô phía bên trái của tác vụ này Do đó, chúng tôi tiến hành áp dụng kỹ thuật lập trình đa luồng (multithreading) kết hợp với kỹ thuật xử lý song song tác vụ (task parallelism) để tăng tốc độ tính toán ma trận xoắn DTW Nhờ dựa vào kỹ thuật mới này chúng tôi có thể tính toán được khoảng cách DTW chính xác như cách tính DTW cổ điển mà vẫn đảm bảo thời gian tính toán được rút ngắn lại
Hình 4.1: Minh họa kỹ thuật cải tiến tốc độ tính toán DTW.
Hình 4.1 mô tả ý tưởng của giải thuật, đó là cho hai chuỗi dữ liệu thời gian có độ dài n bất kỳ sẽ được chia làm 4 khối, mỗi khối gồm 16 ô và ô sẽ phụ thuộc vào kết quả của ô và ô Tuy nhiên, thay vì áp dụng vào từng ô riêng biệt thì chúng tôi chia ma trận xoắn thành các khối riêng biệt, chúng tôi áp dụng kỹ thuật xử lý song song tác vụ vào từng khối và mỗi khối sẽ được xem như là 1 tác vụ hay là 1 luồng thực thi Do đó, một khối dữ liệu có thể được tính phụ thuộc
51 vào khối phía trên nó và khối phía bên trái nó Chi tiết của giải thuật xử lý song song kết hợp lập trình đa luồng được mô tả như sau:
Input: : số hàng trong ma trận
: số cột trong ma trận
: hành động tính toán cho mỗi khối dựa vào chỉ số hàng, cột của khối đó
1 Task[] prevTaskRow = new Task[numCols]; // Tác vụ của khối phía trên khối hiện tại 2 Task prevTaskInCurrentRow = null; // Tác vụ của khối phía trước khối hiện tại 3 var dependencies = new Task[2];
8 Task curTask; // Tạo tác vụ với độ phụ thuộc tương ứng
10 curTask = Task.Factory.StartNew(() => processRowColumnCell(j, i));
12 var antecedent = (column == 0) ? prevTaskRow[0] : prevTaskInCurrentRow;
13 curTask = antecedent.ContinueWith(p => { p.Wait(); processRowColumnCell(j,i); });
17 curTask Task.Factory.ContinueWhenAll(dependencies, ps =>
19 prevTaskRow[column] = prevTaskInCurrentRow curTask; // Lưu trữ tác vụ vừa tạo cho lần sử dụng kế tiếp 20 end for
22 prevTaskInCurrentRow.Wait(); // Đợi tác vụ cuối cùng hoàn thành Dòng 1 đến dòng 3 để khai báo tác vụ tương ứng với khối ở phía trên khối hiện tại và khối bên trái của khối hiện tại Dòng 4 đến dòng 21 dùng để tính toán độ phụ thuộc của mỗi khối trong ma trận tương ứng với chỉ số hàng và cột của khối đó
Dòng 9 và dòng 10 dùng để xác định khối ở vị trí sẽ bắt đầu tác vụ hay luồng thực thi đầu tiên của chương trình Sau đó, dòng 11 đến dòng 13 dùng để xác định khối ở vị trí hay để xác định độ phụ thuộc tương ứng Nếu khối ở vị trí thì tác vụ tính toán khối này chỉ được tiến hành cho đến khi tác vụ tính toán khối bên trái của khối này hoàn thành, tức là tác vụ prevTaskInCurrentRow trả về kết quả khác null Tương tự như khối ở vị trí thì khối này chỉ được tính toán khi tác vụ của khối phía trên khối này là prevTaskRow[0] hoàn thành
Dòng 14 đến dòng 18 dùng để xét các khối ở vị trí còn lại trong ma trận Biến tác vụ dependencies[0] sẽ được gán bởi tác vụ prevTaskInCurrentRow, trong khi prevTaskRow[column] sẽ gán cho biến dependencies[1], lúc này tác vụ của khối hiện tại muốn được bắt đầu thì phải chờ cả hai biến tác vụ dependencies hoàn thành
Dòng 19 dùng để lưu vết tác vụ vừa tạo để dùng cho vòng lặp kế tiếp Cuối cùng, chương trình sẽ trả kết quả tính toán ma trận xoắn của hai chuỗi khi tác vụ cuối cùng được hoàn thành ở dòng 22 Ưu điểm của kỹ thuật này đó là tiết kiệm được thời gian tính toán nhưng vẫn cho kết quả chính xác Tuy nhiên, việc phân chia số khối trong ma trận xoắn có thể ảnh hưởng tới tốc độ tính toán của giải thuật trong các tập dữ liệu lớn
Kiến trúc chi tiết hệ thống
Hình 4.2: Kiến trúc hệ thống gom cụm dữ liệu chuỗi thời gian
Hệ thống của chúng tôi bao gồm 4 module chính đó là: module nhập và chuẩn hóa dữ liệu, module gom cụm dữ liệu, module đánh giá kết quả gom cụm và module trực quan hóa kết quả Hình 4.2 minh họa cho kiến trúc hệ thống do chúng tôi thiết kế
- Module nhập và chuẩn hóa dữ liệu: tập dữ liệu thường có những thuộc tính với những miền giá trị khác nhau và biên độ dao động khác nhau, nếu ta sử dụng dữ liệu này để tính toán khoảng cách sẽ cho ra sai số rất lớn trong kết quả đạt được Do đó, một việc quan trọng trước khi tiến hành gom cụm bất cứ tập dữ liệu nào đó là quá trình chuẩn hóa dữ liệu, tức là đưa các thuộc tính về một trọng số bằng nhau và ngăn chặn những thuộc tính với miền giá trị lớn khỏi ảnh hưởng tới những thuộc tính với miền giá trị nhỏ Ở đây, hai kỹ thuật chuẩn hóa dữ liệu sẽ được giới thiệu, đó là:
Chuẩn hóa trung bình zero (z – score normalization): những giá trị của chuỗi có chiều dài là n được biến đổi thành những giá trị của chuỗi cũng có chiều dài n dựa trên giá trị trung bình (mean) và giá trị độ lệch chuẩn (standard deviation) của chuỗi A Phương pháp này có lợi khi mà giá trị lớn nhất và nhỏ nhất là không biết hoặc khi những phần tử nhiễu làm cho phương pháp min – max không áp dụng được
Chuẩn hóa lớn nhất – nhỏ nhất (min – max normalization): phương pháp này dựa trên giá trị lớn nhất và nhỏ nhất của chuỗi A để ánh xạ những giá trị của chuỗi A sang chuỗi nằm trong một miền giá trị lớn nhất – nhỏ nhất mới, trong đề tài này sẽ quy ước miền giá trị mới là Phương pháp này vẫn bảo tồn được mối quan hệ của những giá trị dữ liệu gốc
Tuy nhiên, trong quá trình thực nghiệm chúng tôi sẽ chỉ sử dụng kỹ thuật chuẩn hóa lớn nhất – nhỏ nhất cho toàn bộ các tập dữ liệu mẫu để nhất quán và đảm bảo tính đơn giản
- Module gom cum dữ liệu:
Thành phần xấp xỉ ma trận DTW: đây là thành phần hiện thực chức năng xấp xỉ ma trận khoảng cách dùng khoảng cách DTW theo giải thuật gom cụm với thời gian thực thi tùy chọn đã trình bày chương trước Chúng tôi sử dụng lớp thư viện
“System.Windows.Forms.DataVisualization.Charting” của C# để tiến hành xác định giá trị của phân phối t sau khi đã lấy mẫu giá trị
DTW_Ratio trên tập dữ liệu chuỗi thời gian xem có thỏa điều kiện nằm trong khoảng tin cậy đã cho trước không
Cơ cấu thực hiện đó là tiến hành lấy mẫu ngẫu nhiên n đối tượng, ta sẽ tính được độ lệch chuẩn tương ứng là s Từ đó, ta sẽ xác định được phân phối t với bậc tự do là bằng công thức:
Trong đó, ME là sai số và bằng 0.01, là hằng số alpha mang ý nghĩa thống kê và bằng 0.05 Sau đó, ta sẽ tính được xác suất của phân phối t đó nhờ vào bảng phân phối t và so sánh với độ tin cậy là 0.9 đã cho trước, nếu thỏa thì ta dừng việc lấy mẫu còn ngược lại ta sẽ tiếp tục lấy mẫu cho tới khi thỏa điều kiện lớn hơn độ tin cậy hay số lượng lấy mẫu vượt quá tỷ lệ lấy mẫu tối đa được cho phép thì dừng
Thành phần cập nhật ma trận DTW: thành phần này sẽ tiến hành cập nhật từng khoảng cách trong ma trận DTW xấp xỉ bằng khoảng cách DTW chính xác của từng cặp chuỗi dữ liệu Để tiến hành hiện thực phần này, chúng tôi áp dụng kỹ thuật lập trình đa luồng
(multithreading) đó là thành phần “backgroundWorker” được hỗ trợ trong lớp thư viện “System.Windows.Forms” kết hợp với kỹ thuật
“ManualResetEvent” được cung cấp trong lớp thư viện
“System.Threading” Do đó, chúng tôi có thể thể hiện được tính chất khả dừng của giải thuật gom cụm với thời gian thực thi tùy chọn
Cơ cấu thực hiện đó là backgroundWorker sẽ tạo một luồng thực thi ngầm để tiến hành cập nhật tính toán khoảng cách DTW chính xác, luồng thực thi này không ảnh hưởng đến quá trình chính của hệ thống
Trong khi đó, ManualResetEvent sẽ thông báo cho luồng thực thi đó biết khi nào dừng hay tiếp tục quá trình cập nhật thông qua tác vụ
Reset() và Set() được hiện thực cho hai nút Play và Pause của hệ thống
Thành phần gom cụm bằng K-medoids: chúng tôi sẽ hiện thực giải thuật K-medoids để gom cụm dữ liệu chuỗi thời gian dùng khoảng cách
DTW, trong đó có áp dụng kỹ thuật khởi tạo trung tâm cụm do chúng tôi đề xuất ở trên
Input: k: số cụm, D: tập dữ liệu gồm n đối tượng, d là ma trận khoảng cách
Output: tập đối tượng thuộc k cụm
1 Chọn k đối tượng từ tập D làm đối tượng đại diện dùng kỹ thuật của Park và các đồng sự
1.1 Ta dùng khoảng cách DTW để tính khoảng cách của tất cả các cặp đối tượng trong tập dữ liệu S
1.2 Tính tỷ số để làm phỏng đoán đầu tiên ở tâm của các cụm theo công thức bên dưới và tỷ số này càng nhỏ chứng tỏ điểm càng gần điểm
1.3 Tính của mỗi phần tử và sắp xếp chúng theo thứ tự tăng dần Chọn k phần tử có giá trị nhỏ nhất từ danh sách trên làm phần tử đại diện
3 Gán các đối tượng còn lại vào cụm có đối tượng đại diện gần nó nhất
4 Chọn ngẫu nhiên một đối tượng không là đại diện 5 Tính tổng chi phí S cho việc thay thế đối tượng đại diện bởi đối tượng bằng hàm chi phí E đã đề cập ở trên
6 Nếu thì thay thế đối tượng bằng đối tượng để tạo nên tập k đối tượng đại diện mới
7 until không thể tối thiểu hóa S được nữa
- Module đánh giá kết quả gom cum: như đã trình bày ở chương trước thì để đánh giá chất lượng gom cụm ta sử dụng hai tiêu chí phổ biến đó là độ nén và độ phân tách Để đánh giá trên tiêu chí độ nén thì chúng tôi đề xuất sử dụng hàm mục tiêu để đánh giá chất lượng gom cụm Ngoài ra, chúng tôi cũng tiến hành hiện thực cách tính toán các chỉ số Rand, ARI, Jaccard, Fowlkes và Mallow, CSM, NMI như đã trình bày ở phần 2.7
- Module trực quan hóa kết quả: để tiến hành trực quan hóa kết quả chúng tôi sử dụng thư viện ZedGraph để vẽ đồ thị của các cụm kết quả Tuy nhiên, module này chỉ có thể hiển thị kết quả của tập dữ liệu có kích thước tương đối nhỏ Hình 4.3 minh họa thành phần trực quan hóa kết quả của hệ thống
Hình 4.3: Trực quan hóa kết quả đồ thị.
THỰC NGHIỆM
Giới thiệu tập dữ liệu mẫu
Hệ thống sẽ tiến hành đánh giá thực nghiệm kết quả gom cụm đạt được từ module gom cụm bằng cách tự động tính toán các chỉ số đánh giá đã đề cập ở chương 2 và hiển thị kết quả thông qua giao diện người dùng
- Tập dữ liệu Heterogeneous: là tập dữ liệu sinh ra từ 10 tập dữ liệu thực từ
UCR Time Series Data Mining Archive [11] (hình 5.1) Đề tài sẽ sử dụng 10 tập dữ liệu này để sinh ra tập dữ liệu thực nghiệm bằng cách dịch các chuỗi này theo thời gian từ 2-3% chiều dài chuỗi và thêm nhiễu vào chuỗi dữ liệu, mỗi tập gồm 30 chuỗi và có chiều dài là 100
- Tập dữ liệu Synthetic Control Time Series (CC): là tập dữ liệu gồm 6 cụm với mỗi cụm là 100 chuỗi và độ dài là 60 [13]
- Tập dữ liệu FaceFour: là tập dữ liệu gồm 4 cụm, mỗi cụm có 22 chuỗi dữ liệu và có chiều dài là 350 [13]
- Tập dữ liệu Trace: đây là tập dữ liệu 4 cụm gồm 100 chuỗi, mỗi cụm có
25 chuỗi, chiều dài của chuỗi dữ liệu là 275 [13]
59 Hình 5.1: Hình minh họa tập dữ liệu Heterogeneous
- Tập dữ liệu Cylinder-Bell-Funnel (CBF): chứa ba loại dữ liệu chuỗi thời gian là: cylinder (c), bell (b) và funnel (f) Đây là tập dữ liệu nhân tạo được
Saito (1994) [22] giới thiệu và các chuỗi dữ liệu được sinh ra theo công thức: và , là các hàm tạo các giá trị phân bố chuẩn , a là số nguyên nằm trong khoảng và b – a là số nguyên trong khoảng Chúng tôi đã tạo ra 50 chuỗi dữ liệu có chiều dài là 128 cho mỗi cụm
- Tập dữ liệu Stock: là tập dữ liệu chưa được phân lớp gồm 1000 chuỗi dữ liệu về chứng khoán có chiều dài của mỗi chuỗi dữ liệu là 128 [29] Chúng tôi dùng tập dữ liệu này để đánh giá chất lượng gom cụm của các giải thuật dựa trên hàm mục tiêu.
Đánh giá thời gian thực thi của kỹ thuật khởi tạo trung tâm cụm
Đầu tiên, chúng tôi xin giới thiệu về bốn chiến lược để tiến hành đánh giá thực nghiệm trong đề tài này đó là:
Method 1: sử dụng cách xấp xỉ ma trận DTW dùng giá trị DTW_Ratio và cập nhật từng giá trị một theo danh sách được sắp xếp thứ tự bằng tỷ số ED/LB: DTW_Ratio + ED/LB
Method 2: sử dụng cách xấp xỉ ma trận DTW dùng giá trị DTW_Ratio nhưng cập nhật theo danh sách tùy chọn ngẫu nhiên: DTW_Ratio +
Method 3: không sử dụng giá trị DTW_Ratio, mặc định sử dụng giá trị
ED để xấp xỉ ma trận DTW và cập nhật từng giá trị một theo danh sách được sắp xếp bằng tỷ số ED/LB: ED + ED/LB
Method 4: không sử dụng giá trị DTW_Ratio và cập nhật theo danh sách tùy chọn ngẫu nhiên: ED + Random
Sau đây, chúng tôi sẽ trình bày các kết quả đạt được trong việc đánh giá sự ảnh hưởng của kỹ thuật khởi tạo trung tâm cụm do chúng tôi áp dụng (gọi tắt là Park-based) so với kỹ thuật chọn ngẫu nhiên trung tâm cụm (gọi tắt là Random)
Chúng tôi tiến hành đánh giá thời gian thực thi với các thông số khởi tạo ban đầu đó là tỷ lệ lấy mẫu tối đa là 10% trong trường hợp dùng method 1 và method 2, tính toán khoảng cách DTW chính xác và sử dụng kỹ thuật chặn dưới của Keogh cho bốn phương pháp chúng tôi đã giới thiệu với 100 lần lặp trên ba tập dữ liệu là
Bảng 5.1 mô tả thời gian thực thi của kỹ thuật Park và kỹ thuật khởi tạo trung tâm cụm ngẫu nhiên của tập dữ liệu Heterogeneous Đơn vị giây(s) Method 1 Method 2 Method 3 Method 4
Bảng 5.1: Thời gian thực thi gom cụm trên tập Heterogeneous
Hình 5.2: Thời gian thực thi gom cụm trên tập Heterogeneous
Hình 5.2 mô tả thời gian thực thi gom cụm dữ liệu giữa hai kỹ thuật của Park và cộng sự với kỹ thuật khởi tạo trung tâm cụm ngẫu nhiên của tập dữ liệu Heterogeneous
Bảng 5.2 và hình 5.3 mô tả thời gian thực thi của kỹ thuật Park và kỹ thuật khởi tạo trung tâm cụm ngẫu nhiên của tập dữ liệu CC Đơn vị giây(s) Method 1 Method 2 Method 3 Method 4
Bảng 5.2: Thời gian thực thi gom cụm trên tập CC
Hình 5.3: Thời gian thực thi gom cụm trên tập CC
Bảng 5.3 mô tả thời gian thực thi của kỹ thuật Park và kỹ thuật khởi tạo trung tâm cụm ngẫu nhiên của tập dữ liệu Trace
63 Đơn vị giây(s) Method 1 Method 2 Method 3 Method 4
Bảng 5.3: Thời gian thực thi gom cụm trên tập Trace
Hình 5.4: Thời gian thực thi gom cụm trên tập Trace.
Hình 5.4 mô tả thời gian thực thi gom cụm dữ liệu giữa hai kỹ thuật của Park và cộng sự với kỹ thuật khởi tạo trung tâm cụm ngẫu nhiên của tập dữ liệu Trace
Qua kết quả trên, ta thấy được kỹ thuật do Park và các cộng sự đề xuất cho thời gian thực thi gom cụm dữ liệu nhanh hơn hoặc là tương đương so với kỹ thuật khởi tạo trung tâm cụm ngẫu nhiên.
Đánh giá độ hiệu quả của các phương pháp xấp xỉ ma trận DTW
Phần này chúng tôi sẽ trình bày kết quả thực nghiệm của việc sử dụng các phương pháp xấp xỉ ma trận DTW khác nhau bao gồm DTW_Ratio, phương pháp chặn trên ED, chặn dưới LB_Keogh Chúng tôi tính đại lượng sai số xấp xỉ DTW chuẩn hóa NDAE trung bình của cặp chuỗi dữ liệu để xác định độ hiệu quả của các phương pháp (giá trị càng nhỏ thì càng tốt) Ngoài ra, để cho công
64 bằng giữa các phương pháp thì khi sử dụng phương pháp DTW_Ratio chúng tôi sẽ cập nhật những khoảng cách DTW chính xác được tính toán để lấy mẫu cho cả phương pháp ED, LB_Keogh Chúng tôi tính dựa trên tỷ lệ lấy mẫu tối đa 10%,
15% và 20%, sau 100 lần lặp sau đó lấy trung bình và cho kết quả trong bảng sau n(%) CBF FaceFour Heterogeneous CC Trace
LB_Keogh 0,3681 0,1383 0,2706 0,2930 0,4166 Bảng 5.4: Kết quả NDAE đánh giá các phương pháp xấp xỉ ma trận DTW
Từ kết quả trên ta thấy phương pháp DTW_Ratio luôn chiếm ưu thế so với các phương pháp khác Ngoài ra, khi tỷ lệ lấy mẫu càng tăng thì đại lượng NDAE càng giảm do số lượng khoảng cách DTW chính xác được tính tăng lên, nhưng cùng với đó là tăng thời gian tính toán n(%) CBF FaceFour Heterogeneous CC Trace
Bảng 5.5: Thời gian tính toán các phương pháp xấp xỉ ma trận DTW
Bảng 5.5 thể hiện thời gian tính toán theo giây của từng phương pháp xấp xỉ ma trận DTW Phương pháp DTW_Ratio cho thời gian tính toán lâu nhất và nếu số lượng lấy mẫu tăng thì thời gian tính toán sẽ càng lớn và ED cho kết quả thời gian tính toán nhanh nhất
Hai bảng đánh giá này đã chứng minh được tính khả dừng và chi phí thấp của giải thuật gom cụm với thời gian thực thi tùy chọn vì thời gian tính toán ma trận khoảng cách DTW xấp xỉ đầu tiên là rất ngắn so với việc tính toàn bộ ma trận DTW chính xác của giải thuật gom cụm theo lô nhưng vẫn cung cấp được một kết quả gom cụm tương đối chính xác nhờ vào độ sai lệch nhỏ so với ma trận khoảng cách DTW chính xác.
Đánh giá thời gian thực thi của kỹ thuật lập trình đa luồng
Như đã trình bày phần trên thì kỹ thuật lập trình đa luồng kết hợp với kỹ thuật xử lý song song tác vụ của chúng tôi sẽ cho kết quả chính xác khi tính toán khoảng cách DTW trong khi vẫn đảm bảo được việc tiết kiệm chi phí thời gian tính toán
Trong phần này, chúng tôi sẽ tiến hành thực nghiệm thời gian thực thi của kỹ thuật này với 5 tập dữ liệu là CBF, FaceFour, Heterogeneous, Synthetic Control Time
Series (CC) và Trace Chúng tôi tính toán toàn bộ ma trận khoảng cách DTW theo hai phương pháp cổ điển (DTW_Standard) và phương pháp chúng tôi đề xuất (DTW_Improved), tính thời gian thực thi trung bình sau 100 lần lặp và cho kết quả trong hình 5.5
Bảng 5.6 là kết quả thời gian tính toán ma trận khoảng cách DTW chính xác của kỹ thuật lập trình đa luồng so với phương pháp tính khoảng cách DTW cổ điển Đơn vị giây(s) CBF FaceFour Heterogeneous CC Trace DTW_Improved 27,66 68,82 92,65 190,62 56,14 DTW_Standard 52,75 141,21 139,39 236,74 116,19
Bảng 5.6: So sánh thời gian tính toán ma trận khoảng cách DTW chính xác
66 Hình 5.5: So sánh thời gian tính toán ma trận khoảng cách DTW chính xác
Như chúng ta thấy thì kỹ thuật mà chúng tôi đề xuất cho kết quả thời gian thực thi ngắn hơn so với kỹ thuật tính toán DTW cổ điển Tùy thuộc vào khả năng cấu hình của máy dùng để tiến hành thực nghiệm mà kết quả đạt được có thể được tốt hơn Ngoài ra, với các tập dữ liệu tương đối nhỏ như CBF, FaceFour và Trace thì thời gian tính toán toàn bộ ma trận DTW dùng phương pháp đề xuất cho kết quả nhỏ gấp khoảng hai lần Trong khi đó thì với các tập dữ liệu lớn còn lại thì kết quả thời gian thực thi cũng rất là khả quan, rút ngắn được khoảng thời gian đáng kể so với phương pháp cổ điển.
Đánh giá kết quả gom cụm và thời gian thực thi của hệ thống
Đây là phần thực nghiệm quan trọng cốt lõi của đề tài này nhằm đánh giá độ chính xác, hiệu quả của phương pháp gom cum dữ liệu chuỗi thời gian với thời gian thực thi tùy chọn, sử dụng khoảng cách DTW dựa vào một kỹ thuật xấp xỉ mà chúng tôi đã giới thiệu ở trên Trong phần này, chúng tôi sẽ tiến hành đánh giá trên tất cả các tập dữ liệu mẫu với các thông số khởi tạo ban đầu như tỷ lệ lấy mẫu tối đa tương ứng với từng tập dữ liệu, áp dụng kỹ thuật lập trình đa luồng cho việc tính toán giá trị DTW chính xác, cũng như kỹ thuật khởi tạo trung tâm cụm do chúng tôi đề xuất vào bốn phương pháp chiến lược đã được giới thiệu ở mục 5.2 Chúng tôi
67 lặp lại bốn phương pháp này trên mỗi tập dữ liệu 100 lần và sau đó lấy kết quả trung bình
5.5.1 Đánh giá chất lượng gom cụm của hệ thống
Trước hết chúng tôi sẽ khởi tạo ma trận khoảng cách aDTW bằng độ đo
Euclid và sau đó sẽ áp dụng bốn phương pháp chiến lược để đánh giá Chúng tôi sử dụng các chỉ số Rand, Adjusted Rand Index (ARI), Jaccard, Fowlkes và Mallow
(FM) đã được mô tả ở phần trước để đánh giá chất lượng gom cụm của hệ thống sau khi hoàn thành bước khởi tạo ma trận khoảng cách và sau mỗi bước 10% của việc cập nhật khoảng cách DTW xấp xỉ trong ma trận aDTW bằng khoảng cách DTW chính xác
Bảng 5.7 và hình 5.6 là kết quả gom cụm của tập dữ liệu CBF với thông số đầu vào là và tỷ lệ lấy mẫu tối đa cho trường hợp áp dụng xấp xỉ ma trận khoảng cách bằng giá trị DTW_Ratio (tức là method 1 và method 2) n 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
Bảng 5.7: Chất lượng gom cụm trên tập CBF
68 Hình 5.6: Chất lượng gom cụm trên tập CBF
Chúng ta thấy kết quả gom cụm của tập CBF trên cả bốn chỉ số đánh giá đều dao động không tuân theo các tính chất của giải thuật gom cụm với thời gian thực thi tùy chọn vì đây là tập dữ liệu nhân tạo duy nhất trong đề tài này và những chuỗi trong tập dữ liệu có giá trị dao động mạnh theo trục thời gian, dẫn đến việc cập nhật các giá trị khoảng cách DTW chính xác của từng cặp chuỗi có thể biến thiên mạnh
Hình 5.7 minh họa giá trị của các chuỗi trong tập dữ liệu CBF
Hình 5.7: Hình minh họa tập dữ liệu CBF
70 Hình 5.8: Chất lượng gom cụm trên tập FaceFour
Bảng 5.8 và hình 5.8 là kết quả gom cụm của tập dữ liệu FaceFour với thông số đầu vào là và tỷ lệ lấy mẫu tối đa n 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
Bảng 5.8: Chất lượng gom cụm trên tập FaceFour
72 Hình 5.9: Chất lượng gom cụm trên tập Heterogeneous
Bảng 5.9: Chất lượng gom cụm trên tập Heterogeneous
Bảng 5.9 và hình 5.9 là kết quả gom cụm của tập dữ liệu Heterogeneous với thông số đầu vào là và tỷ lệ lấy mẫu tối đa Bảng 5.10 và hình 5.10 là kết quả gom cụm của tập dữ liệu Stock với thông số đầu vào là và tỷ lệ lấy mẫu tối đa Với tập dữ liệu này do không được phân lớp trước nên chúng tôi dùng hàm mục tiêu để đánh giá kết quả gom cụm n 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
Ob je c tiv e F u n c tio n Method 1 5250,4 1659,6 1606,9 1566,6 1544,2 1519,4 1497,7 1482,4 1422,5 1418,4 1405,6
Bảng 5.10: Chất lượng gom cụm tập Stock dựa trên hàm mục tiêu
74 Hình 5.10: Chất lượng gom cụm tập Stock dựa trên hàm mục tiêu
Bảng 5.11 và hình 5.11 là kết quả gom cụm của tập dữ liệu CC với thông số đầu vào là và tỷ lệ lấy mẫu tối đa n 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
Bảng 5.11: Chất lượng gom cụm trên tập CC
75 Hình 5.11: Chất lượng gom cụm trên tập CC
76 Hình 5.12: Chất lượng gom cụm trên tập Trace
Bảng 5.12 và hình 5.12 là kết quả gom cụm của tập dữ liệu Trace với thông số đầu vào là và tỷ lệ lấy mẫu tối đa n 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
Bảng 5.12: Chất lượng gom cụm trên tập Trace
Các biểu đồ trên cho chúng ta thấy method 1 luôn luôn hiệu quả hơn so với method 4 và là phương pháp tốt nhất trong bốn phương pháp mà chúng tôi áp dụng Đặc biệt, chất lượng gom cụm của method 4 vẫn rất thấp trong khi đã cập nhật 70% tất cả khoảng cách DTW chính xác Ngoài ra, method 2 và method 3 luôn có xu hướng cho kết quả nằm giữa method 1 và method 4, thậm chí trong tập dữ liệu
Trace và Stock hai phương pháp này còn cho kết quả gần với method 1
Ngoài ra, trừ tập dữ liệu nhân tạo CBF thì các tập dữ liệu còn lại đã chứng minh tính chất đơn điệu của giải thuật gom cụm với thời gian thực thi tùy chọn vì các kết quả đánh giá ngày càng tăng một cách đơn điệu theo tỷ lệ khoảng cách DTW được cập nhật Bên cạnh đó, kết quả gom cụm trên các tập nhiều thời điểm không tốt hơn kết quả gom cụm của thời điểm trước đó Thứ nhất là do kết quả gom cụm theo khoảng cách DTW không tốt hơn kết quả gom cụm theo khoảng cách Euclid, điều này nhằm chứng minh cho giả định thứ ba của Zhu và các đồng sự
Thứ hai là do tính đơn điệu của giải thuật gom cụm với thời gian thực thi tùy chọn
Vì khi chúng ta cập nhật giá trị khoảng cách DTW chính xác có thể làm kết quả gom cụm không tốt hơn, nhưng khi xét một cách tổng quan thì kết quả gom cụm có chiều hướng tăng dần theo tỷ lệ cập nhật khoảng cách DTW
5.5.2 Đánh giá thời gian thực thi của hệ thống Để đánh giá thời gian thực thi của hệ thống, chúng tôi tiến hành thực nghiệm bắt đầu từ bước khởi tạo ma trận khoảng cách DTW xấp xỉ, cho ra kết quả gom cụm sơ bộ ban đầu và tiếp tục cập nhật không dừng toàn bộ khoảng cách DTW chính xác tới khi hoàn tất bước gom cụm ma trận khoảng cách cuối cùng
Bảng 5.3 là kết quả đánh giá thời gian thực thi tính theo giây của hệ thống trên năm tập dữ liệu mẫu tương ứng Chúng tôi so sánh giữa bốn phương pháp được áp dụng trong giải thuật gom cụm với thời gian thực thi tùy chọn và giải thuật gom cụm theo lô không áp dụng thời gian thực thi tùy chọn
CBF FaceFour Heterogeneous CC Trace Batch 28,052 69,295 104,516 224,872 57,135
Bảng 5.13: Kết quả thời gian thực thi trên năm tập dữ liệu
Kết quả của bảng trên cho chúng ta thấy được thời gian thực thi của giải thuật gom cụm với thời gian thực thi tùy chọn luôn lâu hơn một chút so với thời gian thực thi của giải thuật gom cụm theo lô (batch) vì giải thuật phải tiến hành lấy mẫu và khởi tạo ma trận khoảng cách đầu tiên để tiến hành gom cụm cho kết quả sơ bộ ban đầu Với tập dữ liệu càng lớn thì thời gian lấy mẫu cũng như gom cụm cũng càng tăng như tập dữ liệu Heterogeneous và CC.
Kết luận
Từ các kết quả ở trên, chúng ta có thể thấy được hệ thống gom cụm với thời gian thực thi tùy chọn đã đáp ứng được nhu cầu rút ngắn thời gian thực thi nhưng
79 phải đánh đổi lấy chất lượng gom cụm Giải thuật gom cụm này cho chúng ta kết quả với chất lượng tương đối so với giải thuật gom cụm theo lô nhưng với thời gian thực thi rất ngắn, chỉ tỷ lệ nhỏ nếu áp dụng cho các tập dữ liệu lớn
Ngoài ra, ta cũng có thể thấy được phương pháp 1 luôn cho kết quả tốt hơn là ba phương pháp còn lại trong các phương pháp mà chúng tôi áp dụng cả về thời gian thực thi lẫn chất lượng gom cụm
Cuối cùng, với việc áp dụng kỹ thuật khởi tạo trung tâm cụm và kỹ thuật lập trình đa luồng trong tính toán khoảng cách DTW đã giúp chúng tôi rút ngắn đáng kể thời gian xử lý của toàn bộ hệ thống này mà các kết quả thực nghiệm trên đã cho thấy điều đó