CHƯƠNG 3 : CÁC CÔNG TRÌNH CÓ LIÊN QUAN
3.2. Các kỹ thuật tính chặn dưới cho khoảng cách DTW
Mục này giới thiệu ý nghĩa của chặn dưới cho khoảng cách DTW trong quá trình tìm kiếm tuần tự và trình bày một số chặn dưới cho khoảng cách DTW phổ biến.
3.2.1. Ý nghĩa của chặn dưới
Ý nghĩa của việc tính chặn dưới được Ratanamahatana và Keogh trình bày trong [5] và có thể được tóm lược như sau: Bài toán tìm kiếm tương tự sử dụng khoảng cách Euclid có độ phức tạp I/O lớn, tuy nhiên việc tìm kiếm tương tự sử dụng DTW còn có chi phí CPU lớn. Độ phức tạp tính toán của DTW là O(n2) với tập mẫu có chiều dài
giúp lược bớt những chuỗi không thể là chuỗi so trùng tốt nhất. Hình 3-4 thể hiện giải thuật tìm kiếm tuần tự sử dụng chặn dưới.
1 2 3 4 5 6 7 8 9 10 11 12 Algorithm Lower_Bounding_Sequential_Scan(Q) best_so_far = infinity;
for all sequences in database
LB_dist = lower_bound_distance(Ci, Q); if LB_dist < best_so_far true_dist = DTW(Ci, Q); if true_dist < best_so_far best_so_far = true_dist; index_of_best_match = i; end if end if end for
Hình 3-4 Giải thuật tìm kiếm tuần tự sử dụng chặn dưới. (nguồn:[5]) Trong giải thuật này, việc tính toán khoảng cách DTW là không cần đối với những chuỗi có chặn dưới lớn hơn khoảng cách tốt nhất hiện tại.
Các chặn dưới phải thỏa mãn một số ràng buộc sau:
- Không có lỗi so trùng sót (false dismissal): giá trị của chặn dưới phải luôn luôn nhỏ hơn hoặc bằng khoảng cách thực.
- Tính toán nhanh: độ phức tạp tính toán phải nhỏ hơn nhiều lần độ phức tạp
tính toán của độ đo DTW nguyên thủy.
- Chặn dưới chặt: giá trị của chặn dưới càng gần với khoảng cách thực càng
tốt. Chặn dưới có giá trị gần như bằng 0 sẽ không được sử dụng.
3.2.2. Phương pháp tính chặn dưới LB_Keogh
Chặn dưới LB_Keogh được Keogh và các cộng sự đề xuất năm 2002 [2]. Để tính được chặn dưới này, trước tiên các tác giả đề xuất tìm đường bao (envelope) của chuỗi thời gian dựa trên cửa sổ xoắn. Và các tác giả cũng đề xuất hai cách tính đường
bao dựa trên 2 loại cửa sổ xoắn phổ biến nhất là dải Sakoe-Chiba và hình bình hành Itakura.
Với cửa sổ xoắn kích thước r, đường bao của chuỗi thời gian Q được tính như sau:
Ui = max(qi-r : qi+r) (3.1)
Li = min(qi-r : qi+r) .
U và L lần lượt đại diện cho đường bao phía trên (Upper) và đường bao phía dưới
(Lower). Với cửa sổ xoắn dải Sakoe-Chiba, r là một hằng số. Còn với Itakura Parallelogram, r là một hàm theo biến i. Lưu ý rằng, cho dù kích thước cửa sổ xoắn là một hằng số (dải Sakoe-Chiba), đường bao có thể có chiều rộng không bằng nhau. Đường bao rộng hơn đối với những chuỗi thời gian thay đổi nhanh, và hẹp hơn với những chuỗi dữ liệu thay đổi chậm. Hình 3-5 minh họa hình dạng của đường bao ứng với hai loại ràng buộc cửa sổ xoắn phổ biến: dải Sakoe-Chiba và hình bình hành Itakura.
Hình 3-5 Đường bao ứng với hai loại ràng buộc: A) Dải Sakoe-Chiba và B) Hình bình hành Itakura. (nguồn:[2])
Một tính chất hiển nhiên nhưng rất quan trọng của U và L đó là:
i LiqiUi
Với đường bao U và L được định nghĩa như trên, chặn dưới LB_Keogh được định nghĩa bằng công thức sau:
( , )= ( − ) > ( − ) <
(3. 1)
Hàm này có thể được xem là khoảng cách Euclid giữa những phần của chuỗi dữ liệu cần tính khoảng cách không rơi vào trong đường bao với phần tương ứng (thẳng hàng về mặt thời gian) gần nhất của đường bao. Hình 3-6 minh họa hình ảnh trực quan của chặn dưới LB_Keogh.
Hình 3-6 Hình ảnh trực quan của chặn dưới LB_Keogh. (nguồn:[2]) Từ khi được công bố đến nay, đã có rất nhiều công trình nghiên cứu sử dụng chặn dưới LB_Keogh để tăng tốc quá trình tính khoảng cách DTW. Ngoài các công trình của Keogh và các cộng sự, nhiều công trình của các nhóm nghiên cứu khác cũng sử
3.2.3. Đánh giá
Việc tính toán khoảng cách DTW là không thể tăng tốc. Vì vậy, để tăng tốc thì phải hạn chế số lần tính khoảng cách DTW. Việc hạn chế này được thực hiện bằng các kỹ thuật tính chặn dưới.
Cách tính của chặn dưới LB_Keogh phụ thuộc vào cửa sổ xoắn. Cửa sổ xoắn càng rộng thì đường bao của chuỗi sẽ càng rộng và giá trị của chuỗi mục tiêu càng dễ nằm trong đường bao. Điều đó làm cho giá trị chặn dưới nhỏ. Vì vậy, chặn dưới
LB_Keogh phù hợp với kích thước cửa sổ xoắn nhỏ.
Kích thước cửa sổ xoắn thường phụ thuộc vào đặc điểm của dữ liệu cần xử lý. Vì vậy, nếu dữ liệu yêu cầu cửa sổ xoắn có kích thước nhỏ thì ta nên dùng kỹ thuật tính chặn dưới LB_Keogh.
3.3. Giải thuật phân lớp có thời gian thực thi tùy chọn
Giải thuật phân lớp có thời gian thực thi tùy chọn dựa trên giải thuật 1-Nearest- Neighbor. Giải thuật này được ứng dụng vào bài toán phân lớp dữ liệu chuỗi thời gian bởi Ueno và các cộng sự (2006) [7]. Ý tưởng chính của giải thuật là sắp xếp các chuỗi trong tập huấn luyện theo tiêu chí mức độ đóng góp của mỗi chuỗi vào việc phân lớp chính xác cho lớp dữ liệu chứa chuỗi đó. Chuỗi nào đóng góp nhiều hơn vào việc phân lớp chính xác thì chuỗi đó có thứ hạng cao hơn. Sau khi đã sắp xếp tập huấn luyện theo thứ tự như trên, giải thuật lần lượt tìm chuỗi gần nhất với chuỗi mục tiêu trong tập huấn luyện theo thứ tự đó. Người dùng có thể yêu cầu dừng giải thuật bất cứ lúc nào và kết quả phân lớp sẽ là lớp của mẫu gần nhất với mẫu mục tiêu đến thời điểm đó.