Trong đề tài này, chúng tôi đề nghị hai cải tiến cho phân lớp bán giám sát dữ liệu chuỗi thời gian: một kỹ thuật cải tiến cho tiêu chuẩn dừng dựa trên nguyên lý Chiều dài Mô tả Nhỏ nhất
GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI
GIỚI THIỆU ĐỀ TÀI
Trong thập kỷ qua, sự phát triển của nhiều thiết bị ghi dữ liệu, đặc biệt là cảm biến, đã dẫn đến việc tự động ghi lại hầu hết dữ liệu dùng trong đời sống con người Dữ liệu được lưu trữ trong máy tính và có thể được truy xuất khi cần Dữ liệu này được ứng dụng rộng rãi trong nhiều lĩnh vực thực tế như kinh tế, tài chính, y tế, giáo dục, môi trường, địa lý, sinh học, và tồn tại dưới nhiều dạng thức như số liệu, văn bản, hình ảnh, âm thanh, video.
“Lấy mẫu ngẫu nhiên 4000 bức hình từ 15 tờ báo và tạp chí trên thế giới xuất bản trong giai đoạn 1974 – 1989 cho thấy có hơn 75% là các hình biểu diễn dữ liệu chuỗi thời gian.”
Theo khảo sát của tác giả Tufte, E R [40]
Trong các loại dữ liệu trên, dữ liệu chuỗi thời gian (Time series data) xuất hiện trong nhiều ứng dụng thuộc nhiều lĩnh vực khác nhau Trong đó, có thể kể đến những lĩnh vực quan trọng sau đây:
Kinh tế: tỉ lệ thất nghiệp hàng tháng, số lượng bệnh nhân nhập viện,…
Tài chính: tỉ giá hối đối (Daily exchange rate), giá cổ phiếu (Share price),…
Môi trường: lượng mưa hàng ngày, không khí,…
Y học: hoạt động của sóng não (ECG brain wave), nhịp tim (Heartbeat),…
Với những dẫn chứng và ví dụ nêu trên, chúng ta có thể thấy rằng tầm ảnh hưởng của dữ liệu chuỗi thời gian là rất lớn và việc hiểu được ý nghĩa của loại dữ liệu này là rất quan trọng, góp phần quyết định đến sự phát triển của nhiều lĩnh vực
Xét về khái niệm dữ liệu chuỗi thời gian, nhiều tác giả đã đưa ra các khái niệm dữ liệu chuỗi thời gian đều thống nhất rằng dữ liệu chuỗi thời gian là tập hợp các giá trị được quan sát trong những thời điểm cách đều nhau Ví dụ, giá chứng khoán hàng ngày của một công ty, mực nước được đo mỗi ngày trên một con sông, số lượt truy cập một website trong một giây,… Hình 1.1 là một ví dụ về dữ liệu chuỗi thời gian đo chỉ số giá chứng khoán của công ty Apple Inc 1 với khoảng thời gian quan sát khoảng hơn sáu năm
Chuỗi thời gian được coi là tập hợp dữ liệu hai chiều, gồm thời điểm quan sát (T) và giá trị quan sát tương ứng (V) Do khoảng thời gian quan sát bằng nhau nên thời điểm T có thể không được quan tâm Vì vậy, chuỗi thời gian có thể được biểu diễn như dữ liệu n chiều, với mỗi chiều là giá trị được quan sát tại một thời điểm nhất định.
Trong đề tài này, chuỗi thời gian được nhìn dưới góc độ là dữ liệu n chiều và được kí hiệu là 𝑋 = 𝑥 1 𝑥 2 𝑥 3 … 𝑥 𝑛
1 Nguồn: http://www.google.com/finance, Từ khóa: Apple
Hình 1.1 Dữ liệu chuỗi thời gian
1.1.2 Bài toán phân lớp dữ liệu chuỗi thời gian
Phân loại dữ liệu chuỗi thời gian là xây dựng mô hình dự đoán nhãn (label) cho các chuỗi thời gian chưa được phân loại dựa trên các chuỗi đã được phân loại Tập dữ liệu này được gọi là tập huấn luyện, ví dụ, phân loại nhịp tim bình thường và bất thường hoặc phân loại bài hát theo thể loại.
Trong lĩnh vực khai phá dữ liệu nói chung và khai phá dữ liệu chuỗi thời gian nói riêng, vấn đề phân lớp (Classification) là rất quan trọng và là bài toán nền tảng trong lĩnh vực này Việc phân lớp dữ liệu chuỗi thời gian có thể được thực hiện dựa trên các kỹ thuật phân lớp truyền thống khá phổ biến như: k-láng giềng-gần nhất (k-Nearest Neighbor), Mạng nơ-ron nhân tạo (Artificial Neural Networks), Véc-tơ hỗ trợ (Support Vector Machine), Cây quyết định (Decision trees),… Đây đều là các kỹ thuật phân lớp có giám sát, nghĩa là việc phân lớp dựa vào tập huấn luyện mà các đối tượng trong đó đã được biết nhãn ngay từ đầu (tập huấn luyện đã được phân loại thủ công bởi các chuyên gia trong lĩnh vực chuyên môn của họ)
Như vậy, các kỹ thuật phân lớp truyền thống được liệt kê ở trên không thể áp dụng khi số lượng các mẫu đã được phân lớp là khá ít Trong trường hợp này, kỹ thuật phân lớp bán giám sát (Semi-Supervised Classification) được sử dụng Phần tiếp theo giới thiệu sơ lược về vấn đề phân lớp bán giám sát dữ liệu chuỗi thời gian
1.1.3 Bài toán phân lớp bán giám sát dữ liệu chuỗi thời gian
Trong các phương pháp phân lớp truyền thống, giả định có sẵn lượng lớn dữ liệu huấn luyện đã được dán nhãn là không thực tế vì dữ liệu chưa được dán nhãn thường chiếm ưu thế Do đó, phân lớp bán giám sát được đề xuất để giải quyết vấn đề này, đặc biệt đối với dữ liệu chuỗi thời gian Mô hình phân lớp bán giám sát cho dữ liệu chuỗi thời gian của Wei và Keogh (2006) đã trở thành nền tảng được các tác giả khác áp dụng và cải tiến trong các nghiên cứu sau này Đề tài này tập trung vào phân lớp bán giám sát dữ liệu chuỗi thời gian, đề xuất các cải tiến nhằm nâng cao độ chính xác của dữ liệu huấn luyện và trình bày chi tiết các kết quả đạt được trong các chương sau.
MỤC TIÊU VÀ GIỚI HẠN ĐỀ TÀI
Mục tiêu nghiên cứu đề tài tập trung vào các vấn đề sau:
Nghiên cứu về độ đo xoắn thời gian động (Dynamic Time Warping) và các vấn đề có liên quan đến độ đo này
Nghiên cứu về phân lớp bán giám sát chuỗi thời gian
Nghiên cứu phân lớp bán giám sát chuỗi thời gian dựa vào độ đo xoắn thời gian động
Cải tiến tiêu chuẩn dừng trong phân lớp bán giám sát dữ liệu chuỗi thời gian
Bổ sung quá trình tinh chế cho phân lớp bán giám sát dữ liệu chuỗi thời gian nhằm làm cho tập huấn luyện kết quả sau cùng chính xác hơn.
CÁC KẾT QUẢ ĐÃ ĐẠT ĐƯỢC
Đề tài đã có những đóng góp đáng kể trong việc xây dựng bộ phân lớp bán giám sát dữ liệu chuỗi thời gian được chính xác hơn, cụ thể là những kết quả như sau:
Đề tài đã đề xuất một mô hình mới cho phân lớp bán giám sát dữ liệu chuỗi thời gian Mô hình này là sự kết hợp giữa mô hình học bán giám sát và các nghiên cứu về tiêu chuẩn dừng trước đó với quá trình tinh chế
(Refinement step) được chúng tôi đề xuất Kết quả thực nghiệm cho thấy quá trình tinh chế làm cho tập huấn luyện sau cùng chính xác hơn một cách rõ rệt
Đề tài cũng đề xuất một kỹ thuật cải tiến tiêu chuẩn dừng cho phân lớp bán giám sát dữ liệu chuỗi thời gian dựa trên nguyên lý Chiều dài Mô tả
Nhỏ nhất (Minimum Description Length) Kết quả thực nghiệm cho thấy tiêu chuẩn dừng cải tiến này chính xác hơn các tiêu chuẩn dừng trước đó
Giải thuật X-means được sử dụng để tạo ra phương pháp phân lớp bán giám sát mới là X-means-Classifier, giúp phân lớp dữ liệu chuỗi thời gian hiệu quả X-means-Classifier hỗ trợ tinh chỉnh thành công, cho thấy tiềm năng ứng dụng rộng rãi trong các lĩnh vực liên quan đến phân lớp dữ liệu.
Đề tài đã sử dụng độ đo xoắn thời gian động cho phân lớp bán giám sát kết hợp với ràng buộc Sakoe-Chiba nhằm tăng tốc quá trình tính toán và giảm thiểu những đường xoắn không có nhiều ý nghĩa trên độ đo này
Với những kết quả đạt được nêu trên, chúng tôi tin rằng những phương pháp cải tiến được đề nghị trong đề tài đã góp phần xây dựng bộ phân lớp bán giám sát chuỗi thời gian khá tốt.
CẤU TRÚC CỦA LUẬN VĂN
Luận văn được chia làm 6 phần chính như sau:
CHƯƠNG 1 GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI
Chương này giới thiệu sợ lược về đề tài cũng như giới thiệu các định nghĩa, các vấn đề có liên quan như: Dữ liệu chuỗi thời gian, Bài toán phân lớp, Bài toán phân lớp bán giám sát, Mục tiêu nghiên cứu của đề tài, Tóm lược các kết quả đạt được của đề tài và Cấu trúc của luận văn.
NHỮNG CÔNG TRÌNH LIÊN QUAN
NHỮNG CÔNG TRÌNH VỀ ĐỘ ĐO TƯƠNG TỰ
Phần này trình bày một số nghiên cứu về cách đánh giá độ tương tự cho dữ liệu chuỗi thời gian Cho đến thời điểm hiện tại, nhiều tác giả đã đề nghị nhiều độ đo tương tự khác nhau, mỗi độ đo tương tự thích hợp với từng loại dữ liệu trong từng hoàn cảnh khác nhau
Vấn đề quan trọng của bài toán phân lớp dựa vào sự tương tự là việc đánh giá khoảng cách của hai đối tượng dữ liệu O i , O j Trong trường hợp hai đối tượng này hoàn toàn giống nhau thì khoảng cách này sẽ là 0 và ngược lại chúng càng khác nhau thì khoảng cách càng lớn Để có thể tính toán và so sánh với nhau thì các khoảng cách này được biểu diễn thành các số thực Độ đo khoảng cách giữa các đối tượng nên thỏa các tính chất sau:
4 D(x, y) < D(x, z) + D(y, z) Độ đo tương tự có ý nghĩa quan trọng trong hầu hết các bài toán trên dữ liệu chuỗi thời gian Trong các mô hình có dùng rút trích đặc trưng hay thu giảm số chiều, độ đo tương tự phải thỏa mãn tính chất sau Gọi X f , Y f là biểu diễn của X,Y sau khi trích xuất đặc trưng hay thu giảm số chiều, độ đo khoảng cách D phải đảm bảo: D(X f , Y f ) ≤ D(X, Y)
Trong phần này, độ đo tương tự được định nghĩa trên hai chuỗi có chiều dài bằng nhau X, Y và được ký hiệu Sim(X, Y) [1] Sau đây là những phương pháp đánh giá độ tương tự đã được một số tác giả đề nghị:
Hầu hết các công trình đều dựa trên độ đo khoảng cách này Khoảng cách
Minkowski được định nghĩa như sau:
Tuy p có thể có nhiều giá trị khác nhau nhưng trong các nghiên cứu p thường nhận các giá trị 1 (khoảng cách Manhattan), 2 (khoảng cách Euclid), (khoảng cách
Max) Giá trị p = 2 được dùng phổ biến nhất
Một số ưu điểm và nhược điểm của phương pháp này:
Ưu điểm - Quá trình tính toán đơn giản và dễ dàng
- Phù hợp khi sử dụng các biến đổi: Discrete Fourier Tranform (DFT), Discrete Wavelet Transform (DWT), Piecewise Aggregate Approximation (PAA), Adaptive Piecewise Constant Approximation (APCA), SAX (Symbolic Aggregate approXimation)
Nhược điểm - Nhạy cảm với nhiễu
Để khắc phục những nhược điểm của các phương pháp truyền thống, các tác giả đã đưa ra nhiều phương pháp mới, trong đó có phương pháp sử dụng biến tiềm ẩn Phương pháp này cho phép xử lý hiệu quả các dữ liệu được đo ở nhiều thang đo khác nhau, khắc phục được hạn chế của các phương pháp truyền thống.
Das, G và các cộng sự (1997) [1] đề nghị nên chuẩn hóa dữ liệu chuỗi thời gian trước khi áp dụng các giải thuật so trùng mẫu dựa trên giá trị trung bình và độ lệch chuẩn X’ = X - mean(X) hoặc X’ = (X- mean(X)) / var(X)
Trong nghiên cứu của mình, Rafiei, D và Mendelzon, A O (1998) [2] khuyến nghị sử dụng trung bình di chuyển để làm mịn đường biểu diễn dữ liệu chuỗi thời gian Trung bình di chuyển là một phương pháp thống kê tính toán giá trị trung bình của một tập hợp các dữ liệu trong một cửa sổ trượt Bằng cách áp dụng trung bình di chuyển, các nhiễu và biến động ngắn hạn của dữ liệu có thể được làm mịn, giúp dễ dàng hơn trong việc xác định các xu hướng và mẫu hình dài hạn trong dữ liệu chuỗi thời gian.
Chan, K và Fu, A W (1999) [3] đề nghị cách tính độ tương tự có sự thay đổi dựa trên khoảng cách Euclid như sau:
2.1.2 Phương pháp xoắn thời gian động
Phương pháp xoắn thời gian động (Dynamic Time Warping – DTW) tương tự cách tính khoảng cách Minkowski nhưng thay vì so trùng hai đường biểu diễn dữ liệu bằng cách tính khoảng cách từng cặp điểm 1 - 1 (điểm thứ i của chuỗi thứ nhất so với điểm thứ i của chuỗi thứ hai) thì một điểm có thể ánh xạ với nhiều điểm và ánh xạ này không tuyến tính Hình 2.1 minh họa cách ánh xạ điểm trong độ đo xoắn thời gian động so với độ đo Euclid Cách tính khoảng cách xoắn thời gian động sẽ được trình bày chi tiết trong phần 3.1
Hình 2.1 So sánh cách ánh xạ cặp điểm trong độ đo Euclid và độ đo DTW
Một số ưu điểm và nhược điểm của phương pháp này:
- Phương pháp DTW cho phép nhận dạng những mẫu có hình dạng giống nhau nhưng chiều dài hình dạng về mặt thời gian có thể khác nhau
- Phương pháp DTW thì hiệu quả hơn rất nhiều so với phương pháp tính khoảng cách theo Euclid Đặc biệt trong các bài toán phân loại
(classfication), gom cụm (clustering) hay trong các các ứng dụng nhận dạng giọng nói
- Nhược điểm lớn nhất của DTW là thời gian chạy rất lâu, độ phức tạp là
O(wn), trong đó w là chiều dài cửa sổ xoắn, n là chiều dài chuỗi Để khắc phục nhược điểm trên, một số tác giả đã đưa ra những phương pháp sau đây nhằm tăng tốc quá trình tính khoảng cách DTW trong những hoàn cảnh cụ thể như sau:
Sakoe, H và Chiba, S (1978) [9] đã đưa ra ràng buộc gọi là dải Sakoe-
Chiaba Itakura, F (1975) [10] đã đưa ra ràng buộc hình bình hành Itakura, đây là những ràng buộc đường xoắn khi tính khoảng cách xoắn thời gian động Các ràng buộc này sẽ được trình bày chi tiết trong phần 3.2
Keogh, E và các cộng sự (2002) [11] đã đề xuất phương pháp tính chặn dưới gọi là chặn dưới LB_Keogh Phương pháp này nhằm giải quyết vấn đề so sánh độ tương tự trong quá trình tìm kiếm Nếu giá trị của chặn dưới là lớn hơn khoảng cách tốt nhất hiện tại thì chúng ta không cần tính khoảng cách thực
Phương pháp tăng tốc tính khoảng cách xoắn thời gian động (DTW) quan trọng được đề xuất là từ bỏ sớm [21] Khi tính DTW, nếu khoảng cách tính được lớn hơn khoảng cách tốt nhất đã tìm, quá trình tính toán có thể dừng lại vì không cần tiếp tục Hình 2.2 minh họa cách từ bỏ sớm được áp dụng trong việc tính DTW.
Hình 2.2 Hình ảnh minh họa việc từ bỏ sớm trong tính khoảng cách giữa hai chuỗi thời gian (nguồn [21]) 2.1.3 Phương pháp chuỗi con chung dài nhất
Trong phương pháp này, độ tương tự Sim(X, Y) được tính bằng chiều dài của chuỗi con chung dài nhất (Longest Common Subsequence - LCS) Giải thuật chi tiết cho việc tìm LCS có thể được tìm thấy trong [4][1] Hình 2.3 diễn tả ý tưởng của phương pháp chuỗi con chung dài nhất
Một số ưu điểm và nhược điểm của phương pháp chuỗi con chung dài nhất:
Ưu điểm: cho phép bỏ qua những điểm bất thường khi so sánh
Nhược điểm: phải chuẩn hóa 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) trước khi thực hiện giải thuật.
NHỮNG CÔNG TRÌNH LIÊN QUAN ĐẾN THU GIẢM SỐ CHIỀU DỮ LIỆU CHUỖI THỜI GIAN
Dữ liệu chuỗi thời gian thường rất lớn Do đó, việc tìm kiếm trực tiếp trên loại dữ liệu này sẽ rất phức tạp và không hiệu quả Để khắc phục vấn đề này, chúng ta nên áp dụng một số phương pháp biến đổi để thu giảm độ lớn của dữ liệu Những phương pháp biến đổi này thường được gọi là những kỹ thuật thu giảm số chiều
(Dimensionality Reduction) Sau đây là các phương pháp thu giảm số chiều phổ biến trên dữ liệu chuỗi thời gian
Các phương pháp biến đổi sang miền tần số:
- Phép biến đổi Fourier rời rạc (Discrete Fourier Tranform - DFT):
Phương pháp này do Agrawal, R và cộng sự đề nghị [4][32] Phương pháp biến đổi DFT dùng rất phổ biến trong xử lý ảnh, xử lý tín hiệu số
Phương pháp này biến đổi dữ liệu ban đầu thành các đường cơ bản sin và cosin
𝑘=1 Đoạn này có thể bỏ qua khi so trùng
Hình 2.1 Phương pháp chuỗi con chung dài nhất (nguồn [1]) Hình 2.3 Phương pháp chuỗi con chung dài nhất (nguồn [1]) Ưu điểm của phương pháp DFT là thích hợp với các loại đường biểu diễn dữ liệu khác nhau và giải thuật để biến đổi dữ liệu chỉ có độ phức tạp O(nlgn) Tuy nhiên, nhược điểm lớn nhất rất khó giải quyết nếu các chuỗi thời gian có chiều dài khác nhau
- Phép biến đổi Wavelet rời rạc (Discrete Wavelet Transform - DWT):
Phương pháp này do Chan, K và Fu, A W đề nghị (1999) [3] Phương pháp DWT cũng giống như phương pháp DFT, tuy nhiên đường cơ bản của nó không phải là đường lượng giác sin hay cosin mà là đường Haar,
Daubechies, Coiflet, Symmlet… Phương pháp DWT được đánh giá là tốt hơn DFT về mặt tốc độ Giải thuật biến đổi DWT có độ phức tạp tuyến tính O(n) trong khi đó giải thuật biến đổi DFT là O(nlgn) Một đặc điểm của phương pháp biến đổi DWT là giải thuật chỉ thực hiện hiệu quả với chiều dài chuỗi dữ liệu ban đầu của nó phải là một số lũy thừa hai
Các phương pháp biến đổi tuyến tính:
- Xấp xỉ gộp từng đoạn (Piecewise Aggregate Approximation - PAA): phương pháp này được đề nghị bởi Keogh, E và các cộng sự (2001)
[29], phương pháp này 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ừ đầu cho đến khi kết thúc chuỗi thời gian Phương pháp này sẽ được trình bày chi tiết trong phần 3.3
- Xấp xỉ hằng số từng đoạn thích nghi (Adaptive Piecewise Constant Approximation - APCA): phương pháp này được đề nghị bởi Keogh, E và các cộng sự (2001) [30] Phương pháp APCA giống như phương pháp PAA là xấp xỉ dữ liệu ban đầu thành những đoạn thẳng nằm ngang Tuy nhiên, nó khác với PAA là các đoạn này có kích thước bằng nhau, còn APCA thì kích thước của các đoạn nằm ngang là khác nhau
Xấp xỉ tuyến tính từng đoạn (PLA) là phương pháp được đề xuất bởi Keogh E và Pazzani M (1998) PLA biểu diễn dữ liệu ban đầu bằng các đoạn thẳng tuyến tính có thể rời nhau hoặc liên tục Phương pháp này cho phép tìm kiếm chuỗi các đoạn thẳng trong thời gian tuyến tính.
NHỮNG CÔNG TRÌNH LIÊN QUAN ĐẾN BÀI TOÁN GOM CỤM
Gom cụm là việc phân nhóm các đối tượng đã cho vào các cụm (clusters), sao cho các đối tượng trong cùng một cụm là tương tự (similar) nhau và các đối tượng khác cụm là không tương tự (dissimilar) nhau
Khác với phân lớp (classification), vấn đề gom cụm không có thông tin đầu vào (không có các mẫu đã biết nhãn trước) Tuy nhiên, gom cụm vẫn có thể sử dụng để hỗ trợ cho vấn đề phân lớp bán giám sát, chi tiết về ý tưởng này sẽ được trình bày trong CHƯƠNG 4 Phần này trình bày tóm lược ba giải thuật gom cụm đó là K- means, X-means (một mở rộng của K-means) và gom cụm phân cấp (Hierarchical
2.3.1 Giải thuật gom cụm K -means
Thuật toán K-means là một thuật toán phân cụm phổ biến Mục đích chính của K-means là chia các đối tượng dữ liệu vào K cụm sao cho tổng bình phương khoảng cách từ các đối tượng trong mỗi cụm đến tâm cụm (centroid) là nhỏ nhất.
Các bước thực hiện trong giải thuật K-means như sau Đầu tiên, chọn ngẫu nhiên K đối tượng dữ liệu như là các trung tâm cụm ban đầu Ứng với mỗi đối tượng dữ liệu còn lại, đưa các dối tượng này vào cụm gần với nó nhất dựa vào khoảng cách giữa đối tượng này và các trung tâm cụm Tính lại các trung tâm cụm mới cho mỗi cụm Quá trình này lặp lại đến khi đạt hàm tiêu chuẩn hội tụ (criterion function converges) Thông thường, tiêu chuẩn bình phương sai số được sử dụng, tiêu chuẩn này được định nghĩa như sau:
Trong đó, E là tổng bình phương sai số của tất cả các đối tượng dữ liệu; p là điểm trong không gian dữ liệu; m i là trung tâm của cụm C i
- D: Tập dữ liệu có chứa n đối tượng dữ liệu
- Tập hợp k cụm dữ liệu
Chọn ngẫu nhiên k đối tượng dữ liệu từ D như là các trung tâm cụm ban đầu; repeat
Gán các đối tượng dữ liệu vào các cụm tương tự với nó nhất, dựa vào giá trị trung bình của các đối tượng dữ liệu trong cụm;
Thuật toán K-means cập nhật giá trị trung bình của các cụm dữ liệu cho đến khi không còn thay đổi giá trị trung bình của các trung tâm cụm.
Hình 2.4 là giải thuật gom cụm K-means trong đó có hai bước chính là xác định cụm cho đối tượng dữ liệu và cập nhật lại trung tâm cụm Hai bước này được thực hiện lặp lại đến khi các trung tâm cụm là hội tụ (các trung tâm cụm không thay đổi)
2.3.2 Giải thuật gom cụm X -means
Giải thuật gom cụm X-means được đề xuất bởi Pelleg và Moore (2000) [24] đây là một giải thuật gom cụm mở rộng của K-means X-means có khả năng xác định số cụm K tốt nhất trong quá trình gom cụm dựa trên số cụm tối đa và số cụm tối thiểu được cung cấp ban đầu Ý tưởng chính của giải thuật là trong quá trình gom cụm, giải thuật sử dụng một tiêu chuẩn đánh giá được gọi là chỉ số BIC (Bayesian Information Criterion) để xem xét trong một cụm, nếu tách thành hai cụm con thì mô hình các cụm con mới (trong cụm một cụm đang được xem xét) có tốt hơn hay không Nếu mô hình sau khi tách có chỉ số BIC là tốt hơn thì việc tách cụm sẽ được thực hiện
Chỉ số BIC cũng được dùng để đánh giá toàn cục trên toàn bộ mô hình cụm sau khi phân tách ứng với số K mới (mô hình bao gồm tất cả các cụm sau khi được phân tách và các cụm không được phân tách) Các chỉ số BIC ứng với mỗi giá trị K sẽ được lưu lại cho đến khi giải thuật kết thúc, giá trị K mà tại đó chỉ số BIC là lớn nhất chính là mô hình được cho là tốt nhất Giải thuật gom cụm này sẽ được trình bày chi tiết trong phần 3.3
Phương pháp gom cụm phân cấp (Agglomerative Hierarchical Clustering) là một phương pháp gom cụm khá phổ biến [36][42] Ý tưởng của phương pháp gom cụm phân cấp khá đơn giản Ban đầu, mỗi đối tượng dữ liệu tương ứng với một cụm, sau đó lặp lại quá trình kết hợp hai cụm gần nhau nhất thành một cụm cho đến khi chỉ còn một cụm duy nhất Hình 2.5 trình bày giải thuật gom cụm phân cấp đơn giản
Mỗi đối tượng dữ liệu được gán là một cụm Tính khoảng cách giữa tất cả các cụm
Chọn cặp cụm gần nhau nhất và hợp chúng lại thành một cụm (tổng số cụm giảm đi một)
Tính khoảng cách giữa cụm mới và tất cả các cụm cũ
Lặp lại bước 2 và 3 cho đến khi tất cả các đối tượng dữ liệu nằm trong một cụm
Hình 2.5 Giải thuật gom cụm phân cấp đơn giản (nguồn [42])
Giải thuật trên kết thúc khi toàn bộ cây phân cấp được xây dựng, nghĩa là khi tất cả các đối tượng dữ liệu đều nằm trong một cụm Tuy nhiên, chúng ta có thể kết thúc quá trình lặp khi đã đạt được số lượng cụm mong muốn
Trong giải thuật trên, để tính khoảng cách giữa hai cụm, chúng ta có một số cách tính sau:
Single-link clustering: khoảng cách giữa hai cụm được tính là khoảng cách giữa hai đối tượng dữ liệu gần nhau nhất nằm trong hai cụm
Complete-link clustering: khoảng cách giữa hai cụm được tính là khoảng cách giữa hai đối tượng xa nhau nhất nằm trong hai cụm
Average-link clustering: khoảng cách giữa hai cụm được tính là khoảng cách trung bình giữa các đối tượng dữ liệu của hai cụm
Phương pháp gom cụm phân cấp đơn liên kết (Single-link) được áp dụng trong phương pháp phân lớp bán giám sát dữ liệu chuỗi thời gian của Marussy và Buza được trình bày trong phần 2.4.6 và 3.6.3.
CƠ SỞ LÝ THUYẾT
ĐỘ ĐO XOẮN THỜI GIAN ĐỘNG
Độ đo xoắn thời gian động (Dynamic Time Warping – DTW) được giới thiệu lần đầu tiên cho vấn đề nhận dạng giọng nói [9] Đặc điểm chính của độ đo DTW là việc ánh xạ không tuyến tính khi so sánh giữa hai chuỗi thời gian Cụ thể về cách tính độ đo này được mô tả như sau
Giả sử có hai chuỗi thời gian Q và C có chiều dài lần lượt là n và m với:
C = c 1 , c 2 ,…, c i , …, c m Để tính toán khoảng cách DTW giữa hai chuỗi trên, ta xây dựng một ma trận
D có kích thước m X n Trong đó, phần tử D ij = d(q i , c j ) là khoảng cách giữa hai điểm q i và c i (với khoảng cách Euclid thì d(q i , c i ) = (q i – c i ) 2 ) Ma trận này được minh họa trong Hình 3.1B Đường xoắn (warping path) W là một tập các phần tử liên tục của ma trận định nghĩa một ánh xạ giữa Q và C Phần tử thứ k của W được định nghĩa là w k = (i, j) k , vì vậy ta có:
Theo định nghĩa, đường xoắn tối ưu là đường xoắn cho giá trị chi phí xoắn (khoảng cách xoắn) nhỏ nhất:
Trong đó chi phí xoắn của một đường xoắn là tổng khoảng cách của các cặp điểm tương ứng với các ô nằm trên đường xoắn đó
Hình 3.1 Cách tính khoảng cách xoắn thời gian động A) Cho hai chuỗi thời gian Q và C B) Ma trận tính DTW C) Kết quả ánh xạ điểm trong DTW
(nguồn [11]) Đường xoắn tối ưu này có thể tìm được bằng cách sử dụng phương pháp quy hoạch động (dynamic programming) Công thức truy hồi cho khoảng cách tích lũy (cumulative distance) 𝛾(𝑖, 𝑗) được định nghĩa như sau:
Khoảng cách động thời gian 𝛾(𝑖, 𝑗) tại ô (i, j) trên ma trận là tổng của khoảng cách d(i, j) tại ô tương ứng và giá trị khoảng cách động tích lũy nhỏ nhất tại các ô liền kề trước đó Giá trị khoảng cách động thời gian giữa hai chuỗi thời gian Q và C là căn bậc hai của khoảng cách động tích lũy tại ô cuối cùng (m, n) của ma trận.
Khoảng cách Euclid có thể được xem là trường hợp đặc biệt của khoảng cách DTW, trong đó phần tử thứ k của W được ràng buộc sao cho w k = (i, j) k , i = j = k
Lưu ý rằng trường hợp đặc biệt này chỉ đúng khi hai chuỗi có chiều dài bằng nhau vì khoảng cách Euclid không thể tính được đối với hai chuỗi có chiều dài khác nhau
Trong thực tế, ta không cần phải tính tất cả đường xoắn có thể, vì nhiều đường xoắn trong số đó tương ứng với những đường xoắn không hợp lý (ví dụ, một điểm trong một chuỗi điện tâm đồ ánh xạ với toàn bộ các điểm trong một chuỗi điện tâm đồ khác là không hợp lý) Thay vào đó, ta xem xét những ràng buộc sau để làm giảm số lượng đường xoắn cần phải xét trong quá trình so trùng
Điều kiện biên: w 1 = (1, 1) và w K = (m, n), ràng buộc này yêu cầu đường xoắn phải bắt đầu và kết thúc ở hai góc đối diện của ma trận
Liên tục: Đối với một phần tử đường xoắn w k = (a, b), thì phần tử liền kề trước đó w k – 1 = (a', b') phải thỏa mãn điều kiện a – a' ≤ 1 và b – b' ≤ 1 Ràng buộc này đảm bảo rằng đường xoắn phải chuyển động giữa các ô liền kề (bao gồm cả ô liền kề theo đường chéo).
Tính đơn điệu tăng: cho w k = (a, b), thì w k – 1 = (a’, b’) với a – a’ ≥ 0 và b – b’ ≥ 0 Ràng buộc này yêu cầu các điểm trong W phải tăng đơn điệu theo thời gian
Quá trình tính khoảng cách DTW được minh họa bằng ví dụ bên dưới Giả sử ta có hai chuỗi thời gian như sau:
Hai chuỗi này được biểu diễn bằng đồ thị ở Hình 3.2
Hình 3.2 Đồ thị biểu diễn hai chuỗi thời gian Để tính khoảng cách DTW giữa hai chuỗi thời gian trên, ta xây dựng ma trận tính khoảng cách tích lũy như trong Hình 3.3 Mỗi ô trong ma trận này chứa khoảng cách tích lũy của cặp điểm tương ứng
Hình 3.3 Ma trận tính DTW cho hai chuỗi thời gian
Trong ma trận Hình 3.3, giá trị của các ô được tính như sau:
Sau khi tính được giá trị cho tất cả các ô, ta có đường xoắn bao gồm các ô tham gia tích lũy giá trị cho ô (10, 10) Trong ví dụ trên, đường xoắn là các ô được tô xám
Vậy, Khoảng cách DTW của hai chuỗi Q và C như trên là √6 ≈ 2.4495 trong khi khoảng cách Euclid là √11 ≈ 3.3166
Một số ưu điểm và nhược điểm của khoảng cách DTW được tóm tắt như sau:
- Khoảng cách DTW cho kết quả so trùng chính xác hơn so với khoảng cách Euclid
- Khoảng cách DTW cho phép nhận dạng các mẫu có hình dạng giống nhau nhưng lệch nhau về mặt thời gian
- Khoảng cách DTW cho phép tính khoảng cách trong trường hợp hai chuỗi có chiều dài không bằng nhau
- Nhược điểm lớn nhất của khoảng cách DTW là độ phức tạp tính toán lớn Với hai chuỗi Q và C có chiều dài lần lượt là m và n, để tính khoảng cách DTW của hai chuỗi này, ta phải xây dựng ma trận D có kích thước m X n và tính khoảng cách tích lũy tương ứng với hàm 𝛾 cho mọi ô trong ma trận đó Như vậy độ phức tạp tính toán của giải thuật tính DTW sử dụng phương pháp quy hoạch động là O(mn).
RÀNG BUỘC ĐƯỜNG XOẮN TRONG ĐỘ ĐO XOẮN THỜI GIAN ĐỘNG
Việc tính độ đo xoắn thời gian động có chi phí lớn vì phải tìm đường xoắn đạt giá trị nhỏ nhất trong ma trận bằng phương pháp quy hoạch động Độ phức tạp của giải thuật này là O(mn) Tuy nhiên, đường xoắn tối ưu thường gần đường chéo của ma trận Vì vậy, ta có thể giảm bớt chi phí tính toán bằng cách giới hạn phạm vi tìm đường xoắn tối ưu thay vì tìm trên toàn bộ ma trận Hai ràng buộc về đường xoắn phổ biến là Sakoe-Chiba và hình bình hành Itakura
Ràng buộc này được đề xuất bởi hai tác giả Sakoe và Chiba (1978) [9] Ràng buộc này được mô tả như sau
Gọi đường xoắn tối ưu là tập các ô trong ma trận của hai chuỗi thời gian:
Trong đó w k = (i, j) k Ràng buộc Sakoe-Chiba yêu cầu |i – j| ≤ r, trong đó r là một số nguyên dương cho trước được gọi là cửa sổ xoắn
Hình 3.4 minh họa hình dạng cửa sổ xoắn ứng với ràng buộc Sakoe-Chiba
Hình 3.4 Ràng buộc Sakoe-Chiba (nguồn [6]) 3.2.2 Ràng buộc hình bình hành Itakura
Ràng buộc hình bình hành Itakura (Itakura Paralelogram) được đề xuất bởi
Itakura (1975) [10] Ràng buộc hình bình hành Itakura cũng định nghĩa đường xoắn cũng bao gồm một tập các ô trong ma trận của hai chuỗi thời gian:
Trong đó w k = (i, j) k Ràng buộc Itakura Parallelogram yêu cầu |i – j| ≤ r, trong đó r là một hàm biến thiên theo thời gian
Hình 3.5 minh họa hình dạng cửa sổ xoắn ứng với ràng buộc hình bình hành Itakura
Hình 3.5 Ràng buộc Itakura (nguồn [6])
3.3 THU GIẢM SỐ CHIỀU DỮ LIỆU BẰNG PHƯƠNG PHÁP XẤP XỈ GỘP TỪNG ĐOẠN
Phương pháp xấp xỉ gộp từng đoạn (PAA) do Keogh cùng cộng sự đề xuất năm 2001 cho phép giảm kích thước chuỗi thời gian X ban đầu có chiều dài n thành chuỗi thời gian X mới có chiều dài M bất kỳ Trong đó, mỗi giá trị x̅i trong chuỗi thời gian X mới được tính bằng cách chia chuỗi thời gian ban đầu thành M đoạn có độ dài bằng nhau, sau đó tính giá trị trung bình của mỗi đoạn.
Hình 3.6 trình bày giải thuật thu giảm số chiều bằng phương pháp PAA
Phương pháp thu giảm số chiều này rất được ưa chuộng trong nhiều công trình về dữ liệu chuỗi thời gian vì đây là một phương pháp đơn giản và dễ hiện thực Việc thu giảm số chiều bằng phương pháp PAA sẽ được áp dụng cho dữ liệu đầu vào trong giải thuật gom cụm X-means, giải thuật gom cụm này sẽ được trình bày trong phần tiếp theo
- n: số chiều của chuỗi thời gian X
- M: Số chiều của chuỗi thời gian kết quả (M < n) Output:
- X PAA : Chuỗi thời gian đã được thu giảm bằng phương pháp PAA
1 2 3 4 5 6 7 for i =1 to M do XPAA[i] = 0 for j = (M/n) * (i – 1) + 1 to (n/M) * i do
XPAA[i] = XPAA[i] + X[j] end XPAA[i] = XPAA[i] * (M/n) end Hình 3.6 Giải thuật thu giảm số chiều bằng phương pháp PAA
GIẢI THUẬT GOM CỤM X-MEANS
Giải thuật gom cụm X-means được đề xuất bởi Pelleg và Moore (2000) [24]
X-means là một giải thuật gom cụm mở rộng của K-means X-means có khả năng xác định số cụm k tốt nhất trong quá trình gom cụm dựa trên số cụm tối đa và số cụm tối thiểu được cung cấp ban đầu bởi người dùng Trong đề tài này, giải thuật X-means được sử dụng để phát hiện các mẫu nghi ngờ có nhãn sai nhằm hỗ trợ cho quá trình tinh chế (Refinement step)
Hình 3.7 trình bày giải thuật gom cụm X-means Trong đó, tại bước Improve-
Params sẽ thực hiện chạy giải thuật K-means đến khi hội tụ, tại bước Improve- Structure sẽ phát hiện có nên tách cụm và quyết định trung tâm cụm dựa vào chỉ số BIC (Bayesian Information Criterion) Giải thuật kết thúc và trả về mô hình tốt nhất khi số cụm hiện tại là lớn hơn số cụm lớn nhất được cung cấp bởi người dùng K max
- Nếu K > K max , dừng và trả về mô hình được đánh giá là tốt nhất (best-scoring model) Ngược lại, quay lại Bước 1
Hình 3.7 Giải thuật gom cụm X -means (nguồn [24])
Trong thuật toán X-means, quá trình tách cụm diễn ra theo quy trình: đầu tiên, tìm ra cụm mật độ thấp nhất và có độ tương đồng trong cụm thấp, sau đó tách cụm thành hai cụm con và tính toán lại các trung tâm cụm.
Structure, ứng với mỗi cụm, từ trung tâm cụm, dịch chuyển theo hai hướng ngược chiều dọc theo một véc-tơ được chọn ngẫu nhiên, kích thước dịch chuyển ứng với kích thước của cụm (Hình 3.8B) Ứng với mỗi vùng cha (mỗi cụm cha), giải thuật K- means (với K = 2) được sử dụng cục bộ trong vùng này với hai trung tâm cụm khởi tạo ban đầu là hai điểm dịch chuyển trên Hình 3.8C là kết quả của bước đầu tiên khi chạy 2-means cục bộ Hình 3.8D là kết quả sau khi chạy tất cả các 2-means cục bộ trên mỗi vùng cha, khi đó các chỉ số BIC được tính toán Tại cụm có chỉ số BIC với k = 2 lớn hơn BIC với k = 1, cụm này sẽ được tách thành hai cụm con mới Hình 3.8E là kết quả sau cùng của quá trình tách cụm trong bước Improve-Structure
3.4.1 Chỉ số BIC trong giải thuật X -Means
Trước khi trình bày về chỉ số BIC, chúng ta xem xét các qui ước kí hiệu sau:
𝜇 𝑗 : tọa độ của trung tâm cụm
𝜇 (𝑖) : trung tâm cụm gần với đối tượng dữ liệu thứ i nhất
D: tập các đối tượng dữ liệu đầu vào
D j : tập các đối tượng dữ liệu gần với trung tâm cụm 𝜇 (𝑗) nhất
M j : một mô hình các cụm
Như đã trình bày ở trên, chỉ số BIC được sử dụng để đánh giá mô hình (các cụm) Chỉ số này là một xác suất có điều kiện Pr[M j |D] dùng để đánh giá mô hình M j trên tập dữ liệu D Để tính gần đúng xác suất trên, các tác giả đã sử dụng công thức của Kasss và Wasserman (1995) [28] như sau:
Trong đó, 𝑙̂(𝐷) là log-likelihood của dữ liệu thuộc mô hình thứ j và p 𝑗 j là số lượng thông số trong M j Số tham số p j là tổng của K – 1 xác suất lớp, 𝑀 ∙ 𝐾 các tọa độ trung tâm cụm, và một ước lượng phương sai
Giá trị của log-likelihood 𝑙̂(𝐷) được tính dựa trên ước lượng hợp lẽ cực đại 𝑗 (Maximum Likelihood Estimate - MLE) và xác suất của một điểm dữ liệu x i như sau:
Giá trị của ước lượng hợp lẽ cực đại:
Xác suất để một điểm x i thuộc về trung tâm cụm 𝜇 (𝑖) là:
2𝜎̂ 2 ‖𝑥 𝑖 − 𝜇 (𝑖) ‖ 2 ) Giá trị log-likelihood trên tập dữ liệu D là:
Khi chỉ quan tâm đến tập dữ liệu D n với trung tâm cụm là n và ước lượng hợp lẽ cực đại, suy ra:
2 + 𝑅 𝑛 log 𝑅 𝑛 − 𝑅 𝑛 log 𝑅 Để mở rộng công thức trên cho tất cả các cụm thay vì một cụm, log- likelihood được tính là tổng của các log-likelihood trên các trung tâm cụm, và R là tổng số điểm dữ liệu thuộc về các trung tâm cụm
Chỉ số BIC được sử dụng toàn cục trên toàn bộ các cụm để đánh giá một mô hình mới (mô hình sau khi tách cụm với K cụm mới) BIC còn được sử dụng cục bộ trên mỗi cụm con để ước lượng xem một cụm có nên được tách thành hai cụm hay không (như ví dụ Hình 3.8)
3.4.2 Các phương pháp tăng tốc giải thuật X -means
Phần trên đã trình bày về giải thuật X-means và chỉ số BIC Giải thuật X- means như nêu trên sẽ thực thi khá chậm Để tăng tốc độ xử lý cho giải thuật X-means, Pelleg và Moore đã đề nghị một số đặc điểm quan trọng nhằm cải tiến tốc độ cho giải thuật này như sau
Tăng tốc giải thuật K-means (tăng tốc quá trình Improve-Params)
Trong giải thuật K-means, nhiệm vụ của mỗi bước lặp là xác định trung tâm cụm mà điểm dữ liệu thuộc về, sau đó tính trung tâm cụm mới dựa vào véc-tơ tổng và số lượng các điểm trong cụm Việc tính trung tâm cụm mới có thể tăng tốc bằng cách dựa vào kd-tree, đây là một cây phân cấp cấu trúc tập dữ liệu Chi tiết về kd-tree có thể tìm thấy trong [38] Mỗi nút trong kd-tree biểu diễn một tập con (subset) của tập dữ liệu, mỗi nút lưu một siêu hình chữ nhật (hyper-rectangle) dùng để chứa tất cả các điểm trong tập con Để sử dụng kd-tree cho việc tăng tốc X-means, Pelleg và Moore [24][25] đã thực hiện như sau:
Xây dựng kd-tree cho toàn bộ tập dữ liệu, mỗi nút trong kd-tree được lưu thêm số liệu thống kê về dữ liệu trong nút, số liệu thống kê này là véc-tơ tổng của các điểm dữ liệu trong nút và số lượng các điểm dữ liệu trong nút
Ứng với mỗi trung tâm cụm, dùng một bộ đếm (counter) để lưu véc-tơ tổng của các điểm thuộc về trung tâm cụm này cùng với số lượng các điểm
Cập nhật bộ đếm này bằng cách quét qua kd-tree một lần duy nhất như sau:
- Bắt đầu từ nút gốc của kd-tree cùng với các trung tâm cụm
- Khi duyệt xuống kd-tree, lưu lại danh sách đen (black-listed) các trung tâm cụm (danh sách các trung tâm cụm mà các điểm dữ liệu trong nút không thể thuộc về trung tâm cụm này)
Khi trung tâm cụm duy nhất còn lại (sau khi các trung tâm còn lại đã bị đưa vào danh sách đen), bộ đếm cho trung tâm cụm này có thể được cập nhật bằng cách tận dụng các số liệu thống kê lưu trữ tại nút hiện tại trên kd-tree Các số liệu thống kê này bao gồm tổng véc-tơ và số lượng điểm dữ liệu trong nút.
Sau khi kết thúc quá trình quét qua kd-tree, tính lại các trung tâm cụm dựa vào các bộ đếm cho từng trung tâm cụm.
Hình 3.9 là giải thuật cập nhật trung tâm cụm Trong đó:
h là hình chữ nhật bao của nút hiện tại
h1, h2 là hai hình chữ nhật của hai nút con
C là tập hợp chứa tất cả các trung tâm cụm hiện tại
(a) Ứng với mỗi điểm dữ liệu trong h, tìm trung tâm cụm gần với nó nhất và cập nhật lại bộ đếm (counter) của trung tâm cụm
2 Tính khoảng cách d(c, h) cho tất cả các trung tâm cụm c Nếu tồn tại một trung tâm cụm c với khoảng cách ngắn nhất:
Nếu trong tất cả các trung tâm cụm c’ khác, c chiếm ưu thế
(a) Cập nhật bộ đếm của c bằng cách sử dụng dữ liệu trong h
Hình 3.9 Giải thuật cập nhật trung tâm cụm trong X -means (nguồn [25])
Tăng tốc quá trình Improve-Structure
Phương pháp tăng tốc K-means nêu trên được áp dụng cho quá trình chạy K- means toàn cục (tại bước Improve-Params của giải thuật X-means) Trong quá trình
Improve-Structure, 2-means được thực thi trên từng cụm Do đó, phương pháp tăng tốc K-means nêu trên cũng có thể áp dụng để tăng tốc cho bước Improve-Structure như sau Đầu tiên, tạo danh sách các trung tâm cụm cha (danh sách các trung tâm cụm hiện tại) Sau đó, sử dụng danh sách này như là thông tin đầu vào cho quá trình cập nhật để tìm trung tâm cụm mới Điểm khác biệt khi cập nhật trong từng cụm với quá trình cập nhật toàn cục là khi chỉ còn một trung tâm cụm, chúng ta cần phải chia các đối tượng dữ liệu thành hai cụm con Để thực hiện điều này, chúng ta tạo một danh sách chứa hai trung tâm cụm con và tiếp tục duyệt xuống cây trên nút hiện tại
Sau khi quét qua toàn bộ kd-tree, vị trí mới của các trung tâm cụm con có thể được tính toán nhờ vào bộ đếm (counter) của chúng
Một số kỹ thuật tăng tốc khác
PHÂN LỚP CÓ GIÁM SÁT DỰA TRÊN TÌM KIẾM K-LÁNG GIỀNG- GẦN NHẤT
Kỹ thuật phân lớp k-láng giềng-gần nhất (k-NN) được mô tả lần đầu tiên vào đầu thập niên 1950 Trong kỹ thuật phân lớp này, các đối tượng dữ liệu được phân lớp dựa trên các mẫu huấn luyện gần nó nhất Tập huấn luyện là tập hợp các mẫu huấn luyện đã được gán nhãn và có n thuộc tính, các mẫu huấn luyện có thể được xem như một điểm trong không gian n chiều Khi cần phân lớp một đối tượng dữ liệu, giải thuật k-láng giềng-gần nhất được sử dụng để tìm kiếm k mẫu gần với đối tượng đó nhất k mẫu huấn luyện này là k mẫu láng giềng gần mẫu cần phân lớp nhất Kết quả phân lớp cho đối tượng mục tiêu là kết quả bầu cử của k mẫu láng giềng gần nó nhất Nghĩa là nhãn lớp của đối tượng mục tiêu là lớp có nhiều mẫu xuất hiện nhất trong k mẫu láng giềng gần nhất của đối tượng đó Trong ví dụ ở Hình 3.10 nếu k 3, mẫu cần phân lớp (mẫu hình tam giác) sẽ được xác định thuộc lớp hình tròn Nhưng nếu k = 1, mẫu cần phân lớp sẽ được xác định thuộc lớp hình vuông
Giải thuật k-láng giềng-gần nhất không định nghĩa chi tiết độ đo tương tự giữa các đối tượng dữ liệu Tùy theo đặc điểm của từng loại dữ liệu mà ta có thể dùng các độ đo tương tự khác nhau Trong trường hợp dữ liệu chuỗi thời gian, chúng ta có thể dùng độ đo Euclid hoặc độ đo xoắn thời gian động
Hình 3.10 Phân lớp dựa trên k -láng giềng-gần nhất
Các nghiên cứu cho thấy độ đo xoắn thời gian động là phù hợp trong việc tính toán độ tương tự đối với dữ liệu chuỗi thời gian [6][7] Trong khi phân lớp k- láng giềng-gần nhất với k = 1 (một láng giềng gần nhất) kết hợp với độ đo xoắn thời gian động được cho là khó bị đánh bại [5][13] Nghĩa là phương pháp phân lớp dựa trên một láng giềng gần nhất (One nearest neighbor) cho độ chính xác tương đối cao hơn so với các kỹ thuật phân lớp khác Do đó, hai kỹ thuật này sẽ được sử dụng trong bài toán phân lớp bán giám sát dữ liệu chuỗi thời gian trong đề tài.
PHÂN LỚP BÁN GIÁM SÁT DỮ LIỆU CHUỖI THỜI GIAN
Phương pháp học dựa trên dữ liệu đã được gán nhãn và chưa được gán nhãn được gọi là phương pháp học bán giám sát (Semi-Supervised Learning) Phương pháp học bán giám sát cho kết quả có độ chính xác cao và ít đòi hỏi quá trình phân lớp thủ công Đây là phương pháp học được ưa chuộng trong nghiên cứu và thực tiễn
Nhiều nghiên cứu về các phương pháp học bán giám sát đã được đề nghị, các phương pháp này có thể được chia thành năm loại như sau: Mô hình sinh (Generative models),
Phương pháp phân định mật độ thấp (Low density separation), Phương pháp dựa vào đồ thị (Graph-based methods), Phương pháp đồng huấn luyện (Co-training methods), Phương pháp tự huấn luyện (Self-training methods)
Mô hình sinh là mô hình học bán giám sát cổ điển, giả định dữ liệu có phân bố hỗn hợp và đủ lớn để có nhiều dữ liệu chưa gắn nhãn Phương pháp này tận dụng cấu trúc dữ liệu tự nhiên trong mô hình Tuy nhiên, hiện nay chưa có giả định nào về phân bố hỗn hợp trong dữ liệu chuỗi thời gian, nên mô hình này chưa được ứng dụng cho loại dữ liệu này.
3.6.1.2 Phương pháp phân định mật độ thấp
Phương pháp phân định mật độ thấp (Low density separation) giả định rằng
“Ranh giới quyết định nên nằm ở vùng có mật độ thấp” bằng cách đẩy ranh giới quyết định ra xa dữ liệu chưa được gán nhãn Phương pháp tiếp cận phổ biến để đạt được mục tiêu này là sử dụng giải thuật cực đại hóa khoảng biên (margin maximization algorithm), ví dụ như sử dụng Transductive Support Vector Machines (TSVM) Tuy nhiên, cấu trúc duy nhất của chuỗi thời gian làm cho việc đánh giá mật độ trở nên kém ý nghĩa
3.6.1.3 Phương pháp dựa vào đồ thị
Phương pháp này biểu diễn dữ liệu bằng các nút (nodes) trong đồ thị (graph), trong đó các cạnh (edges) là khoảng cách giữa các nút Sau khi xây dựng đồ thị, các phương pháp tiếp cận có thể dùng như Graph min cut [18], Tikhonov Regularization [20], Manifold Regularization [19],…
3.6.1.4 Phương pháp đồng huấn luyện Ý tưởng của phương pháp đồng huấn luyện (Co-training) được đề nghị bởi Blum và Mitchell [17] Phương pháp này chia thuộc tính của dữ liệu ra làm hai tập không trùng lắp, mỗi tập này sẽ được dùng để huấn luyện cho hai bộ phân lớp
(classifier) Hai bộ phân lớp này được huấn luyện trên tập thuộc tính con và kết quả dự đoán của mỗi bộ phân lớp được dùng để mở rộng tập huấn luyện của bộ phân lớp kia Trong phương pháp đồng huấn luyện, các thuộc tính dữ liệu được giả sử là độc lập nhau và có thể phân chia Tuy nhiên, các thuộc tính trong dữ liệu chuỗi thời gian có sự tương quan nhau [16] Do đó, phương pháp đồng huấn luyện không khả thi trên dữ liệu chuỗi thời gian
3.6.1.5 Phương pháp tự huấn luyện
Trong kỹ thuật học bán giám sát như tự huấn luyện, một bộ phân lớp được ban đầu huấn luyện với dữ liệu có nhãn ít Sau đó, nó được dùng để gán nhãn dữ liệu chưa có nhãn Nếu nhãn được gán đạt độ tin cậy cao, chúng được thêm vào tập huấn luyện Bộ phân lớp tiếp tục được huấn luyện với tập huấn luyện mới, quá trình này lặp lại với các mẫu có độ tin cậy cao nhất được chuyển sang tập dữ liệu huấn luyện.
3.6.2 Phương pháp phân lớp bán giám sát dữ liệu chuỗi thời gian của Wei và Keogh
Kỹ thuật phân lớp dựa trên một láng giếng gần nhất (One nearest Neighbor) có độ chính xác cao nhưng yêu cầu phải có tập huấn luyện lớn Trên thực tế, số lượng các mẫu dữ liệu đã gán nhãn là rất ít Để mở rộng số lượng các mẫu đã gán nhãn, từ đó làm cho tập huấn luyện trở nên chính xác hơn, Wei và Keogh [5] đã đưa ra mô hình học bán giám sát (Semi-Supervised Learning) dựa trên tìm kiếm một láng giềng gần nhất Phương pháp học bán giám sát này như sau:
Bước 1: Bộ phân lớp được huấn luyện dựa trên tập huấn luyện khởi tạo
Trong đó, các dữ liệu đã được gán nhãn đều là mẫu dương và tất cả dữ liệu chưa được gán nhãn (bao gồm các mẫu có nhãn âm và các mẫu có nhãn dương) được xem là mẫu âm
Bước 2: Bộ phân lớp sau khi huấn luyện được dùng để phân loại dữ liệu chưa được gán nhãn Ứng với mỗi đối tượng dữ liệu chưa được gán nhãn, ta tìm một đối tượng trong tập huấn luyện gần nó nhất Nếu đối tượng gần nhất là có nhãn (nhãn dương), đối tượng cần phân lớp đó sẽ được gán là mẫu dương Ngược lại, nếu đối tượng gần nhất là chưa được gán nhãn (mẫu âm), chúng ta phân lớp đối tượng đó là mẫu âm
Bước 3: Trong các mẫu chưa được gán nhãn (mẫu âm), ta chọn mẫu có khoảng cách gần với các mẫu trong tập các mẫu dương nhất và thêm mẫu này vào tập các mẫu dương Với tập huấn luyện mới (tập huẫn luyện đã thêm một mẫu dương mới), chúng ta quay lại thực hiện Bước 1 cho đến khi đạt đến tiêu chuẩn dừng Chi tiết về tiêu chuẩn dừng sẽ được trình bày trong phần 3.7
Hình 3.11 thể hiện các bước trong quá trình tự huấn luyện, bắt đầu với tập huấn luyện ban đầu với một số lượng mẫu được gán nhãn (mẫu dương) hạn chế Quá trình tự huấn luyện sau đó tiếp tục học từ các mẫu dương hiện có và các mẫu chưa được gán nhãn.
Hình 3.11 Lưu đồ thể hiện các bước tự huấn luyện trong phân lớp bán giám sát dữ liệu chuỗi thời gian
Hình 3.12 trình bày giải thuật phân lớp bán giám sát dữ liệu chuỗi thời gian trong mô hình của Wei và Keogh Cho tập các mẫu dương P và tập các mẫu chưa có nhãn U (bao gồm các mẫu dương và các mẫu âm), giải thuật thực hiện các bước sau:
Sử dụng P và U để huấn luyện bộ phân lớp C
Sử dụng bộ phân lớp C để phân lớp các đối tượng dữ liệu trong tập chưa có nhãn U
Chọn mẫu có khả năng là mẫu dương cao nhất để thêm vào P
PHƯƠNG PHÁP ĐỀ NGHỊ
MÔ HÌNH PHÂN LỚP BÁN GIÁM SÁT
Hình 4.1 trình bày mô hình phân lớp bán giám sát dữ liệu chuỗi thời gian
Mô hình này có thể tóm lược trong hai bước sau:
Hình 4.1 Mô hình phân lớp bán giám sát dữ liệu chuỗi thời gian
Bước 1: Sử dụng phương pháp học bán giám sát của Wei và Keogh [5] với sự cải tiến tiêu chuẩn dừng dựa trên nguyên lý Chiều dài Mô tả Nhỏ nhất (MDL-
P: Tập các mẫu được gán nhãn dương N: Tập các mẫu được gán nhãn âm
Bước tinh chế (Refinement step) (Phương pháp đề nghị)
Tập P và N sau cùng được sử dụng để phân lớp
Phân lớp bán giám sát dựa trên mô hình của Wei và Keogh
Tiêu chuẩn dừng mới dựa trên MDL (Phương pháp đề nghị) based stopping criterion), quá trình này tạo ra tập huấn luyện kết quả bao gồm P và
N Trong đó, P là tập các mẫu dương và N là tập các mẫu âm
Bước 2: Tập huyến luyện P và N trong Bước 1 sẽ được tinh chế (refinement) nhằm làm cho tập này chính xác hơn Quá trình tinh chế cố gắng tìm ra những mẫu nghi nghờ có nhãn sai, sau đó tìm cách phân loại lại các mẫu nghi ngờ này dựa trên các mẫu không nghi ngờ (các mẫu được cho là có nhãn đúng)
Mô hình phân lớp bán giám sát của Wei đã được trình bày chi tiết trong phần 3.6.2 Hình 4.2 trình bày giải thuật tự huấn luyện trong phân lớp bán giám sát dữ liệu chuỗi thời gian bằng mô hình của Wei và Keogh Việc cải tiến tiêu chuẩn dừng dựa trên nguyên lý Chiều dài Mô tả Nhỏ nhất sẽ được trình bày trong phần 4.2 Quá trình tinh chế (Refinement step) sẽ được trình bày trong phần 4.3
- P: Tập các mẫu dương - N: Tập các mẫu chưa được phân loại
1 2 3 4 5 while (Tiêu chuẩn dừng) nearest_obj = Tìm một láng giềng gần nhất của P trong N;
N = N – nearest_obj; end Hình 4.2 Giải thuật phân lớp bán giám sát dữ liệu chuỗi thời gian của Wei và
TIÊU CHUẨN DỪNG DỰA TRÊN NGUYÊN LÝ CHIỀU DÀI MÔ TẢ NHỎ NHẤT
Như đã đề cập trước đó, mô hình phân lớp bán giám sát được đề nghị bởi Wei và Keogh phụ thuộc rất nhiều vào tiêu chuẩn dừng Cho đến thời điểm hiện tại, tiêu chuẩn dừng dựa trên nguyên lý Chiều dài Mô tả Nhỏ nhất được đề nghị bởi Begum và các cộng sự (2013) [12] có thể được xem là tiêu chuẩn dừng tốt nhất Phần 3.7.3 đã trình bày chi tiết về tiêu chuẩn dừng dựa trên nguyên lý Chiều dài Mô tả Nhỏ nhất Tuy nhiên, tiêu chuẩn dừng này không phù hợp khi có sự lệch trên trục thời gian giữa các chuỗi thời gian Khi đó, các điểm không trùng khớp (mismatch point) giữa các chuỗi thời gian là rất nhiều, mặc dù các chuỗi thời gian này có hình dạng giống nhau và đều là những mẫu dương Để khắc phục nhược điểm này, chúng tôi đề nghị phương pháp tìm các điểm không trùng khớp bằng việc áp dụng ánh xạ không tuyến tính nhiều-nhiều (many-to- many non-linear alignment) giữa hai chuỗi thời gian Ý tưởng tìm những điểm không trùng khớp này tương tự như ý tưởng trong khoảng cách xoắn thời gian động, do đó chúng tôi hiệu chỉnh giải thuật tính khoảng cách xoắn thời gian động để đếm số điểm không trùng khớp
Xét ví dụ sau, giả sử chúng ta cần đếm số lượng các điểm không trùng khớp giữa hai chuỗi thời gian: H = 2 6 6 8 5 và A = 1 6 8 5 4
Áp dụng phương pháp của Begum, sẽ có 4 điểm không trùng khớp Nếu áp dụng ánh xạ không tuyến tính, số lượng điểm không trùng khớp giảm xuống còn 2 Hình 4.3 minh họa quá trình đếm điểm không trùng khớp giữa H và A dựa trên ánh xạ này Đầu tiên, tính khoảng cách DTW để tìm đường xoắn tối ưu giữa A và H (Hình 4.3A) Ma trận M trong Hình 4.3A được tính theo các quy tắc của DTW như đã mô tả trong phần 3.1.
Các ô còn lại được tính theo công thức sau:
Sau khi tính ma trận M, để tìm đường xoắn tối ưu giữa hai chuỗi thời gian A và H, chúng ta thực hiện bước quay lui như sau:
Bắt đầu tại ô M(5, 5), ta có M(5, 5) – (H[5] – A[5]) 2 = M(5, 5) – (5 – 4) 2 = 1 và trong các ô M(4, 4), M(4, 5), M(5, 4) chỉ có M(5, 4) = 1 nên M(5, 4) thuộc đường xoắn tối ưu Tiếp theo, M(5, 4) – (H[5] – A[4]) 2 = M(5, 4) – (5 – 5) 2 = 1 và trong các ô M(4, 3), M(4, 4), M(5, 3) chỉ có M(4, 3) = 1 nên M(4, 3) thuộc đường xoắn tối ưu, cứ tiếp tục như vậy chúng ta sẽ có được đường xoắn như trong Hình 4.3A
Dựa trên đường xoắn này, các cặp điểm tương ứng giữa hai chuỗi thời gian sẽ được so sánh Nếu các cặp điểm này không bằng nhau, cặp điểm này là không trùng khớp, ngược lại là các cặp điểm trùng khớp (Hình 4.3B)
Hình 4.3 Tìm số điểm không trùng khớp giữa hai chuỗi thời gian A và H
A) Ma trận M dùng để tính khoảng cách DTW B) Tìm điểm không trùng khớp (hai cặp điểm được đánh dấu)
- r: Ràng buộc dải Sakoe-Chiba
// Phase 1: Tính khoảng cách DTW với ràng buộc dải Sakoe-Chiba matrix[1,1] = square (x[1] – y[1]) for i = 2 to length(y) matrix[1,i] = matrix[1,i-1] + square (x[1] – y[i]) end for i = 2 to length(x) matrix[i,1] = matrix[i-1,1] + square (x[i] – y[1]) end for i = 2 to length(x) for j = 2 to length(y) if |i – j| 1 OR j > 1 value = matrix[i,j] – square (x[i] – y[j]) if i > 1 AND j > 1 AND value = matrix[i-1,j-1] i = i - 1 j = j - 1 else if j > 1 AND value = matrix[i,j-1] j = j - 1 else if i > 1 AND value = matrix[i-1,j] i = i - 1 end if x[i] != y[j] mismatch_count = mismatch_count + 1 end end Hình 4.4 Giải thuật đếm số điểm không trùng khớp giữa hai chuỗi thời gian sử dụng ràng buộc dải Sakoe-Chiba
Hình 4.4 là giải thuật đếm số điểm không trùng khớp giữa hai chuỗi thời gian x, y với ràng buộc đường xoắn dải Sakoe-Chiba r Giải thuật này bao gồm hai giai đoạn Giai đoạn 1 (Phase 1) thực hiện tính khoảng cách xoắn thời gian động để tìm ra ma trận của khoảng cách này Giai đoạn 2 (Phase 2) thực hiện quay lui để tìm ra đường xoắn tối ưu và so sánh các cặp điểm để đếm số lượng điểm không trùng khớp Để tìm ra ràng buộc đường xoắn r trong giải thuật tìm số điểm không trùng khớp trên, chúng tôi đề nghị phương pháp như sau Phương pháp này dựa trên hai mẫu dương đã biết trước, giá trị r chính là giá trị nhỏ nhất thỏa điều kiện một mẫu dương sẽ chấp nhận mẫu còn lại như là mẫu dương Nghĩa là giá trị của r thỏa điều kiện trong hai mẫu dương, nếu chọn một mẫu là mẫu giả thuyết thì mẫu này có thể dùng để nén mẫu còn lại Điều kiện này tương đương với công thức sau phải được thỏa:
(log 2 𝑐𝑎𝑟𝑑 + ⌈log 2 𝑇𝑆_𝑙𝑒𝑛𝑔𝑡ℎ⌉) Trong đó, mismatch_count là số lượng các điểm không trùng khớp giữa hai chuỗi thời gian, TS_length là chiều dài của chuỗi thời gian và card miền giá trị của chuỗi thời gian
Chuỗi thời gian T1 chấp nhận chuỗi thời gian T2 như là mẫu dương khi và chỉ khi: 𝐷𝐿(𝑇1, 𝑇2) ≤ 𝐷𝐿(𝑇1) + 𝐷𝐿(𝑇2)
Dựa vào công thức điều kiện trên, chúng tôi đề nghị giải thuật tìm r như trong Hình 4.5 Giải thuật này thực hiện thử các giá trị r cho tới khi tìm được giá trị nhỏ nhất thỏa điều kiện trên Giải thuật này có thể dễ dàng được mở rộng để tìm giá trị của r trong trường hợp biết trước nhiều mẫu dương ban đầu Một cách để tìm r trong trường hợp có nhiều mẫu dương ban đầu là chọn r là giá trị trung bình trong các giá trị r giữa hai mẫu dương bất kì r = Find_Match_Range (T1, T2, card)
- T1, T2: chuỗi thời gian có nhãn dương
- card: miền giá trị của chuỗi thời gian Output:
- r: giá trị thông số dải Sakoe-Chiba
1 2 3 4 5 6 7 8 value = TS_length * log2(card)/(log2(card) + ceil(log2(TS_length))) for i = 0 to TS_length mismatch_count = Count_Mismatch (T1, T2, i) if mismatch_count