1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động

94 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • CHƯƠNG 1: GIỚI THIỆU (13)
    • 1.1. Phát biểu vấn đề (13)
    • 1.2. Mục tiêu và giới hạn đề tài (16)
    • 1.3. Tóm lược kết quả đạt được (16)
    • 1.4. Cấu trúc của luận văn (17)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT (19)
    • 2.1. Độ đo khoảng cách trong miền dữ liệu chuỗi thời gian (19)
      • 2.1.1. Độ đo khoảng cách Minkowski (19)
      • 2.1.2. Độ đo xoắn thời gian động (21)
    • 2.2. Kỹ thuật phân lớp k láng giềng gần nhất (26)
  • CHƯƠNG 3: CÁC CÔNG TRÌNH CÓ LIÊN QUAN (28)
    • 3.1. Ràng buộc đối với đường xoắn cho khoảng cách DTW (28)
      • 3.1.1. Ràng buộc dải Sakoe-Chiba (28)
      • 3.1.2. Ràng buộc hình bình hành Itakura (29)
      • 3.1.3. Dải Ratanamahatana-Keogh (dải R-K) (29)
    • 3.2. Các kỹ thuật tính chặn dưới cho khoảng cách DTW (31)
      • 3.2.1. Ý nghĩa của chặn dưới (31)
      • 3.2.2. Phương pháp tính chặn dưới LB_Keogh (32)
      • 3.2.3. Đánh giá (35)
    • 3.3. Giải thuật phân lớp có thời gian thực thi tùy chọn (35)
      • 3.3.1. Giải thuật phân lớp (35)
      • 3.3.2. Sắp xếp tập huấn luyện (37)
    • 3.4. Phát hiện motif cho dữ liệu chuỗi thời gian (39)
      • 3.4.1. Giải thuật Brute-force để phát hiện motif (42)
      • 3.4.2. Nhận diện motif dựa vào phương pháp chiếu ngẫu nhiên (Random (43)
      • 3.4.3. Giải thuật MK cải tiến (45)
      • 3.4.4. Giải thuật phát hiện motif dựa trên điểm cực trị quan trọng (53)
        • 3.4.4.1. Điểm cực trị quan trọng (Important Extreme Points) (53)
        • 3.4.4.2. Độ đo tương tự (56)
        • 3.4.4.3. Tìm ứng viên Motif (58)
        • 3.4.4.4. Giải thuật gom cụm phân cấp theo hướng từ dưới lên (Hierarchical Bottom-Up Algorithm) (59)
        • 3.4.4.5. Khái niệm về phép biến hình vị tự (60)
        • 3.4.4.6. Lấy mẫu các ứng viên motif bằng phép vị tự (61)
    • 3.5. Kết luận (63)
  • CHƯƠNG 4: HIỆN THỰC VÀ THỬ NGHIỆM (66)
    • 4.1. Giải quyết vấn đề (66)
      • 4.1.1. Đặt vấn đề (66)
      • 4.1.2. Hướng giải quyết vấn đề (66)
      • 4.1.3. Giai đoạn huấn luyện (68)
        • 4.1.3.1. Giải thuật NN_LBKeogh (68)
        • 4.1.3.2. Giải thuật huấn luyện (70)
      • 4.1.4. Giai đoạn phân lớp (71)
    • 4.2. Thực nghiệm (73)
      • 4.2.1. Hệ thống phân lớp dữ liệu chuỗi thời gian (73)
      • 4.2.2. Cấu hình (76)
      • 4.2.3. Tập dữ liệu (76)
      • 4.2.4. Thực nghiệm giai đoạn huấn luyện (76)
        • 4.2.4.1. Tập dữ liệu TwoPat (77)
        • 4.2.4.2. Tập dữ liệu Clustered (81)
      • 4.2.5. Thực nghiệm giai đoạn phân lớp (83)
        • 4.2.5.1. Tập dữ liệu TwoPat (83)
        • 4.2.5.2. Tập dữ liệu Clustered (85)
  • CHƯƠNG 5: KẾT LUẬN (88)
    • 5.1. Tổng kết (88)
    • 5.2. Những đóng góp của đề tài (89)
    • 5.3. Hướng phát triển (89)
  • TÀI LIỆU THAM KHẢO (91)

Nội dung

Đề tài này sẽ hiện thực bài toán phân lớp dữ liệu chuỗi thời gian sử dụng giải thuật phân lớp có thời gian thực thi tùy chọn dựa trên motif.. Tuy nhiên trong hầu hết các ứng dụng thực t

GIỚI THIỆU

Phát biểu vấn đề

Chuỗi dữ liệu thời gian là tập hợp các quan sát dữ liệu được ghi lại theo thứ tự thời gian Cấu trúc dữ liệu này thường có nhiều chiều, bao gồm chiều thời gian, khi dữ liệu được theo dõi và ghi lại tại các thời điểm cụ thể Tuy nhiên, để đơn giản hóa quá trình lưu trữ và giảm độ phức tạp, dữ liệu thường được đo theo chu kỳ đều đặn Do đó, chỉ cần lưu lại thứ tự các giá trị dữ liệu theo trình tự thời gian, dưới dạng X = , trong đó x i là dữ liệu được đo tại thời điểm thứ i.

Hình 1-1 Đường biễu diễn dữ liệu chuỗi thời gian

Trong các ứng dụng thực tế, dữ liệu chuỗi thời gian rất đa dạng, điển hình là dữ liệu theo dõi biến động giá chứng khoán, dữ liệu điện tâm đồ, dữ liệu mực nước sông hay dữ liệu truy cập trang web của người dùng Đặc điểm chung của các dữ liệu này là khối lượng lớn, được đo và lưu trữ trong thời gian dài, dẫn đến chi phí lưu trữ và khai phá tốn kém Việc sử dụng các công cụ khai phá dữ liệu trên nền tảng máy tính đã thu hút sự quan tâm, nghiên cứu và ứng dụng rộng rãi trong nhiều lĩnh vực trong những năm gần đây.

Một số vấn đề khi nghiên cứu chuỗi thời gian:

Một trong những đặc trưng của chuỗi thời gian là dữ liệu rất lớn Ví dụ khi đo đạc dữ liệu điện tâm đồ trong 1 giờ khoảng 1 Gigabyte Đây là một trong những vấn đề thách thức trong quá trình phân tích, tính toán và xử lý dữ liệu chuỗi thời gian trong việc tạo ra kết quả được chính xác trong thời gian hợp lý

 Phụ thuộc yếu tố chủ quan

Trong thực tế, các kết quả dữ liệu chuỗi thời gian thu được chịu ảnh hưởng yếu tố chủ quan của người đo dữ liệu, điều kiện và các công cụ đo…

 Dữ liệu không đồng nhất

Quá trình thu thập dữ liệu chuỗi thời gian được đo trên những định dạng khác nhau, số lượng và tần số lấy mẫu không đồng nhất cũng ảnh hưởng đến tính toàn vẹn của dữ liệu Thêm vào đó quá trình đo đạc không chính xác do nhiễu, thiếu một vài giá trị hay dữ liệu không sạch

Tập hợp dữ liệu chuỗi thời gian liên quan đến một lĩnh vực hoặc một bài toán ứng dụng thường có kích thước rất lớn Tuy nhiên, tập hợp dữ liệu này thường có mối liên hệ chặt chẽ với nhau Dựa trên những mối liên hệ đó, người ta thường thống kê và phân loại dữ liệu thành một số lớp với một số đặc trưng nhất định Ví dụ, dữ liệu giá chứng khoán có thể phân loại thành các lớp: ổn định, tăng trưởng đều, không ổn định,

… Nhu cầu đặt ra là dùng dữ liệu thống kê trong quá khứ để phân loại dữ liệu hiện tại hoặc tương lai Việc phân loại này có ý nghĩa rất lớn trong nhiều lĩnh vực như: dự đoán tình trạng giá một chứng khoán, dự đoán kiểu thời tiết, … Hình 1-2 minh họa cơ sở dữ liệu thống kê có hai lớp dữ liệu và yêu cầu phân loại mẫu dữ liệu O thuộc lớp nào trong hai lớp đó

Hình 1-2 Bài toán phân lớp dữ liệu chuỗi thời gian

Bài toán phân lớp (classification) dữ liệu chuỗi thời gian được đặt ra để giải quyết vấn đề trên Phân lớp là quá trình học có giám sát bao gồm hai giai đoạn: huấn luyện và kiểm tra Giai đoạn huấn luyện sẽ thực hiện việc học dựa trên tập huấn luyện Giai đoạn kiểm tra sẽ thực hiện kiểm tra kết quả phân lớp cho một tập kiểm thử

Ngoài ra, có nhiều bài toán trên thực tế đòi hỏi chúng ta phải phân lớp khác nhau dựa trên tài nguyên tính toán được cấp phát Ví dụ, bài toán yêu cầu phải phân lớp tín hiệu trên đường truyền internet để xác định xem đó có phải là tín hiệu bất thường hay không, và chỉ có giới hạn trong khoảng thời gian nhất định để ta đua ra đáp án phân lớp Như vậy ta sẽ không thể đợi giải thuật chạy xong hoàn toàn để kết luận, mà sẽ phải đưa ra kết luận trong khoảng thời gian tùy chọn với một mức độ chính xác có thể chấp nhận được, khi đó một giải thuật phân lớp có thời gian thực thi tùy chọn là rất cần thiết

Tuy nhiên, khi áp dụng phân lớp trên chuỗi thời gian ta thường gặp phải nhược điểm sau: dữ liệu chuỗi thời gian có đặc điểm là rất lớn nên việc phân lớp sẽ rất tốn chi phí thời gian và tài nguyên Để khắc phục nhược điểm trên, chúng ta có thể vận dụng nhận dạng motif trên dữ liệu chuỗi thời gian để cải tiến giải thuật phân lớp dữ

Mẫu dữ liệu O liệu chuỗi thời gian có thời gian thực thi tùy chọn giúp giải thuật thực thi hữu hiệu hơn.

Mục tiêu và giới hạn đề tài

Mục tiêu nghiên cứu đề tài trên cơ sở dữ liệu chuỗi thời gian tập trung vào hai vấn đề chính:

 Nghiên cứu các giải thuật nhận dạng motif trên dữ liệu chuỗi thời gian

Trong cơ sở dữ liệu chuỗi thời gian, dữ liệu thường rất lớn Vì vậy, việc nhận dạng các motif đặc trưng cho dữ liệu chuỗi thời gian và phân lớp dựa trên các motif đại diện này sẽ giúp quá trình phân lớp nhanh hơn

 Ứng dụng việc nhận dạng motif để cải tiến giải thuật phân lớp dữ liệu chuỗi thời gian có thời gian thực thi tùy chọn để làm cho giải thuật này trở nên hữu hiệu hơn

Sau khi nhận dạng motif đại diện chuỗi thời gian, ta xác định thứ hạng (rank) của các dữ liệu chuỗi thời gian dựa trên motíp đại diện Sau đó chúng ta áp dụng giải thuật phân lớp có thời gian thực thi tùy chọn (anytime classification algorithm) để phân lớp tập dữ liệu chuỗi thời gian này dựa vào thứ hạng (rank) các dữ liệu chuỗi thời gian đã tính trước đó.

Tóm lược kết quả đạt được

Với những yêu cầu của đề tài, sau thời gian nghiên cứu và hiện thực, chúng tôi đã xây dựng hệ thống phân lớp dữ liệu chuỗi thời gian Hệ thống này gồm hai thành phần chính: Huấn luyện và Phân lớp Thành phần Huấn luyện cho phép người dùng nhập vào một tập huấn luyện gồm m chuỗi thời gian có chiều dài bằng nhau Thành phần Huấn luyện sẽ thực hiện việc sắp xếp tập huấn luyện Thành phần phân lớp sẽ cho phép người dùng nhập vào một chuỗi thời gian O, hệ thống sẽ sử dụng tập huấn luyện đã được sắp xếp để cho biết kết quả dự đoán lớp của O

Thành phần huấn luyện làm nhiệm vụ sắp xếp tập huấn luyện Việc sắp xếp này chia làm hai giai đoạn: giai đoạn tìm kiếm motif cho mỗi thể hiện trong tập huấn luyện và giai đoạn sắp xếp tập huấn luyện dựa trên motif của mỗi thể hiện trong tập huấn luyện Để phát hiện motif chương trình sử dụng giải thuật nhận diện motif trên dữ liệu chuỗi thời gian dựa vào điểm cực trị quan trọng Để tính khoảng cách xoắn thời gian động của tất cả các cặp chuỗi, chương trình áp dụng kỹ thuật tính chặn dưới LB_Keogh để cải thiện thời gian thực thi

Thành phần phân lớp tìm chuỗi gần nhất của chuỗi mục tiêu O trong tập huấn luyện Chương trình cũng áp dụng kỹ thuật tính chặn dưới trên để cải thiện thời gian thực thi

Trên cơ sở chương trình đã thực hiện, đề tài tiến hành thực nghiệm trên hai tập dữ liệu mẫu và so sánh kết quả khi phân lớp không sử dụng thông tin motif và khi có sử dụng thông tin motif các thể hiện trong tập huấn luyện trên cả hai giai đoạn huấn luyện và phân lớp.

- Giai đoạn huấn luyện, đề tài so sánh thời gian thực thi quá trình sắp xếp tập huấn luyện khi không sử dụng thông tin motif và khi có sử dụng thông tin motif

- Giai đoạn phân lớp, đề tài so sánh độ chính xác của giải thuật phân lớp khi sử dụng motif và khi không sử dụng motif

Như vậy, hệ thống hiện thực sẽ được trình bày trong các chương sau đã đáp ứng được những yêu cầu và nhiệm vụ của đề tài.

Cấu trúc của luận văn

Chương 2 : Cơ sở lý thuyết

Giới thiệu một số lý thuyết nền tảng được sử dụng trong đề tài bao gồm hai độ đo khoảng cách được sử dụng trong việc tìm khoảng cách trong miền dữ liệu chuỗi thời gian là khoảng cách Euclid và khoảng cách xoắn thời gian động (dynamic time warping) Chương này cũng sẽ giới thiệu giải thuật phân lớp được sử dụng chính trong đề tài là giải thuật phân lớp k Láng giềng gần nhất (k-Nearest-Neighbor)

Chương 3 : Các công trình nghiên cứu liên quan

Chương này sẽ trình bày các công trình có liên quan đến đề tài Các công trình này được trình bày trong bốn mục liên quan đến bốn chủ đề chính: ràng buộc đối với đường xoắn cho khoảng cách dynamic time warping (DTW), các kỹ thuật tăng tốc trong việc tính DTW, giải thuật phân lớp có thời gian thực thi tùy chọn và giải thuật tìm kiếm Motif trên dữ liệu chuỗi thời gian

Chương 4 : Giải quyết vấn đề và thực nghiệm

Chương này tập trung vào cải thiện thời gian thực thi của giải thuật phân lớp có thời gian thực thi tùy chọn bằng cách sử dụng thông tin motif của chuỗi thời gian Kế tiếp trình bày kết quả thực nghiệm trên hai tập dữ liệu TwoPat và Clustered

Chương 5 : Kết luận Trình bày một số kết luận sau khi thực hiện đề tài.

CƠ SỞ LÝ THUYẾT

Độ đo khoảng cách trong miền dữ liệu chuỗi thời gian

Trong lĩnh vực chuỗi dữ liệu thời gian, nhiều độ đo khoảng cách đã được đề xuất, tuy nhiên, hai độ đo quan trọng nhất là độ đo Minkowski và độ đo Xoắn thời gian động (Dynamic Time Warping).

2.1.1 Độ đo khoảng cách Minkowski

Giả sử có hai chuỗi thời gian Q và C có chiều dài n có dạng:

C = c 1 , c 2 , …, c j , …, c n Trong phương pháp này thì khoảng cách giữa Q và C được định nghĩa như sau:

Trong đó: p = 1: Khoảng cách Manhattan p = 2: Khoảng cách Euclid p = : Max

Tuy p có thể có nhiều lựa chọn khác nhau, nhưng trong các nghiên cứu về dữ liệu chuỗi thời gian, p=2 (khoảng cách Euclid) thường được sử dụng Hình 2-1 minh họa hình ảnh trực giác của khoảng cách Euclid

Hình 2-1 Hình ảnh trực giác của khoảng cách Euclid (nguồn: [3]) Ưu điểm:

- Có khả năng sử dụng trong tất cả các bài toán tìm kiếm tương tự như phân lớp, gom cụm, so trung chuỗi con, … Đặc biệt độ đo này thích hợp khi sử dụng các phép biến đổi thu giảm số chiều

- Không thích hợp đối với dữ liệu cho hình dạng gần giống nhau nhưng lệch nhau về mặt thời gian Hình 2-2 minh họa hai chuỗi thời gian có hình dạng giống nhau nhưng lệch nhau về mặt thời gian

- Chỉ tính được đối với hai chuỗi có chiều dài bằng nhau Trong các trường hợp cần tính khoảng cách giữa hai chuỗi có chiều dài không bằng nhau thì không thể sử dụng khoảng cách Euclid

Nhằm khắc phục những nhược điểm này, độ đo khoảng cách xoắn thời gian động

Hình 2-2 Hai mẫu dữ liệu có hình dạng giống nhau nhưng lệch nhau về thời gian (nguồn:[4])

2.1.2 Độ đo xoắn thời gian động

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 j , …, 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 kích thước m  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 j (với khoảng cách Euclid thì d(q i , c j ) = (q i - c j ) 2 ) Ma trận này được minh họa trong Hình 2-3 Đườ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ó:

W = w 1 , w 2 , …, w k , …, w K max(n, m)  K  m + n + 1 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 2-3 Cách tính khoảng cách xoắn thời gian động: A) Cho hai chuỗi mục tiêu Q và C, B) Ma trận tính DTW, C) Kết quả tính DTW (nguồn:[2]) Đườ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) để tính công thức truy hồi định nghĩa khoảng cách tích lũy (cumulative distance) (i, j) như sau:

Trong đó, khoảng cách tích lũy (i, j) tại ô (i, j) của ma trận được tính bằng khoảng cách d(i, j) của ô tương ứng cộng với giá trị nhỏ nhất của khoảng cách tích lũy của các ô liền kề trước ô đó Khoảng cách xoắn thời gian động của hai chuỗi thời gian Q và C là căn bậc hai của khoảng cách tích lũy tại ô (m, n)

Khoảng cách Euclid được xem là trường hợp đặc biệt của khoảng cách DTW, trong đó các phần tử của ma trận W chỉ nhận giá trị w k = (i, j) k , i = j = k Lưu ý rằng trường hợp đặc biệt này chỉ áp dụng khi hai chuỗi có chiều dài bằng nhau do khoảng cách Euclid không xác định được đối với hai chuỗi có độ 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ạ tới toàn bộ nhịp tim trong một chuỗi điện tâm đồ khác) 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

- Tính liên tục: cho w k = (a, b), thì w k – 1 = (a’, b’) trong đó a – a’  1 và b – b’  1 Ràng buộc này yêu cầu đường xoắn phải di chuyển giữa những ô liền kề (kể cả những ô 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ụ sau: Giả sử ta có hai chuỗi thời gian:

C = (4, 6, 7, 6, 5, 4, 2, 3, 5, 6) Hai chuỗi này được biểu diễn bằng đồ thị ở Hình 2-4

Hình 2-4 Đồ thị biểu diễn hai chuỗi thời gian Để tính khoảng cách DTW giữa hai chuỗi trên, ta xây dựng ma trận tính khoảng cách tích lũy như trong Hình 2-5 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 2-5 Ma trận tính DTW cho hai chuỗi thời gian

Trong ma trận ở Hình 2-5, 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à √22 ≈ 4.7 , trong khi khoảng cách Euclid là 8

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: Ưu điểm:

- 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, đặc biệt trong trường hợp tập dữ liệu nhỏ

- 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  n và tính khoảng cách tích lũy tương ứng với hàm  (công thức 2.3) 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).

Kỹ thuật phân lớp 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 được mô tả lần đầu tiên vào đầu thập niên 1950 Đây là kỹ thuật phân lớp cho các đối tượng dữ liệu dựa trên các mẫu huấn luyện gần nó nhất K láng giềng gần nhất là một loại phương pháp học dựa trên mẫu (instance-based learning), hay phương pháp học lười (lazy learning), trong đó tất cả các tính toán được trì hoãn đến lúc phân lớp Tập huấn luyện được mô tả bao gồm n thuộc tính và nhãn lớp tương ứng của nó Mỗi đối tượng dữ liệu thể hiện một điểm trong không gian n chiều Bằng cách này, toàn bộ tập huấn luyện được lưu trữ trong một không gian mẫu n chiều Khi cho một đối tượng dữ liệu chưa được xác định lớp, giải thuật k láng giềng gần nhất tìm kiếm trong không gian mẫu để có được k mẫu huấn luyện 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 nhất” của mẫu cần phân lớp 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 nhất của nó Nghĩa là nhãn lớp của đối tượng mục tiêu được xác định 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 mục tiêu đó Nếu k = 1 thì nhãn lớp của đối tượng mục tiêu chính là nhãn lớp của mẫu gần nó nhất Trong ví dụ ở Hình 2-6, nếu k=3, mẫu cần phân lớp (mẫu hình tròn) sẽ được xác định thuộc lớp hình tam giác Nhưng nếu k=5, mẫu cần phân lớp sẽ được xác định thuộc lớp hình vuông

Thuật toán k láng giềng gần nhất không đưa ra định nghĩa rõ ràng về phép đo độ tương tự giữa các đối tượng dữ liệu Tùy thuộc vào đặc điểm của từng loại dữ liệu, có thể sử dụng các phép đo độ tương tự khác nhau Trong trường hợp dữ liệu chuỗi thời gian, phép đo độ tương tự có thể là khoảng cách Euclid hoặc khoảng cách DTW như đã mô tả ở phần 2.1.

Với giải thuật phân lớp k láng giềng gần nhất, giai đoạn huấn luyện chỉ bao gồm việc lưu trữ các đối tượng dữ liệu trong tập huấn luyện cùng với nhãn lớp tương ứng

Việc lưu trữ này có thể bao gồm việc sắp xếp thứ tự cho tập huấn luyện

Hình 2-6 Giải thuật phân lớp k-Nearest-Neighbor.

CÁC CÔNG TRÌNH CÓ LIÊN QUAN

Ràng buộc đối với đường xoắn cho khoảng cách DTW

Tính toán DTW là quá trình tốn kém vì phải tìm đường xoắn tối ưu trong ma trận bằng quy hoạch động Tuy nhiên, đường xoắn tối ưu thường gần với đường chéo ma trận, vì thế ta có thể giới hạn phạm vi tìm đường xoắn tối ưu để giảm chi phí Ràng buộc phổ biến trong phạm vi tìm đường xoắn tối ưu là dải Sakoe-Chiba và hình bình hành Itakura Trong lĩnh vực này, ràng buộc này thường được gọi là cửa sổ xoắn.

3.1.1 Ràng buộc dải Sakoe-Chiba

Ràng buộc trên cửa sổ xoắn này được đề xuất bởi Sakoe và Chiba (1978) [6]

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 gióng hàng của hai chuỗi thời gian:

Trong đó w k = (i, j) k Ràng buộc dải Sakoe-Chiba (Sakoe-Chiba Band) 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.1.a minh họa hình dạng cửa sổ xoắn ứng với ràng buộc dải Sakoe-Chiba

3.1.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) [8] 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 gióng hàng 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-1.b 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-1 Hai loại ràng buộc đối với đường xoắn: a) Dải Sakoe-Chiba và b) Hình bình hành Itakura (nguồn: [5])

Ratanamahatana & Keogh (2004) [4] đã đề xuất dải Ratanamahatana-Keogh (dải R-K) dựa trên nhận xét rằng cửa sổ xoắn có thể có hình dạng không đồng nhất Dải R-

K được đề xuất nhằm hai mục đích: tăng tốc việc tính toán khoảng cách DTW và nâng cao độ chính xác của quá trình phân lớp vì cửa sổ xoắn là kết quả học dựa trên tập dữ liệu mẫu Hình 3-2.A trình bày một ví dụ của dải R-K khi so sánh với dải Sakoe-Chiba và Hình bình hành Itakura

Hình 3-2 Hình dạng của các loại ràng buộc cửa sổ xoắn: A) Dải R-K,B) Dải

Sakoe-Chiba, C) Hình bình hành Itakura (nguồn: [4]) Để tìm ra dải R-K cho một tập dữ liệu, Ratanamahatana và các cộng sự xem bài toán này như một bài toán tìm kiếm cổ điển Để sử dụng kỹ thuật tìm kiếm heuristic, cần phải đặc tả hướng tìm kiếm, như tìm kiếm tiến (forward), tìm kiếm lùi (backward) hay kết hợp hai hướng (bi-direction), trạng thái khởi động, hàm heuristic, các thao tác và phép kiểm tra cuối cùng Tìm kiếm tiến bắt đầu với trạng thái là dải Sakoe-Chiba có kích thước bằng 0 (khoảng cách Euclid), còn tìm kiếm lùi bắt đầu với trạng thái là dải đồng nhất có kích thước bằng cạnh lớn nhất m

Hình 3-3 Minh họa giải thuật tìm kiếm tiến sử dụng độ chính xác

Về mặt lý thuyết, ngưỡng có thể là một ô, nhưng ngưỡng này có thể gây ra tình trạng quá khớp (overfitting) Ratanamahatana và các cộng sự đề nghị ngưỡng có giá trị √ ⁄2, trong đó m là chiều dài của chuỗi dữ liệu nhập.

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(n 2 ) với tập mẫu có chiều dài n) Một cách để giải quyết vấn đề này là sử dụng một hàm chặn dưới tính toán nhanh, 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

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:

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à:

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:

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ử

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

Giá trị chặn dưới LB_Keogh phụ thuộc vào kích thước của cửa sổ xoắn, cửa sổ xoắn càng rộng thì đường bao của chuỗi thời gian càng lớn, do đó giá trị của chuỗi mục tiêu càng dễ nằm trong đường bao này, dẫn đến giá trị chặn dưới nhỏ Do đó, chặn dưới LB_Keogh phù hợp hơn khi sử dụng với những cửa sổ xoắn có kích thước 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.

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 đó

Gọi Database là tập huấn luyện gồm m mẫu Mẫu thứ i của tập huấn luyện này được truy xuất bằng Database.object(i), và nhãn lớp của mẫu thứ i này được truy xuất bằng Database.class_label(i) Hình 3-7 thể hiện giải thuật phân lớp có thời gian tùy chọn

The Anytime_Classifier algorithm initializes the best match value and class as infinity and undefined, respectively It then iterates through the classes in the database, calculating the distance between each object and the given object O If the distance is less than the best match value, the best match value and class are updated The algorithm can be interrupted at this point, and the current best match result can be returned If the user has not interrupted the algorithm, it continues to iterate through the remaining objects, updating the best match value and class as needed The algorithm returns the best match value and class when the interruption condition is met or when all objects have been processed.

Gọi Index là một hoán vị của các số nguyên từ 1 đến m, với m là kích thước của Database Cuối cùng, gọi O là đối tượng cần được phân lớp sử dụng giải thuật phân lớp láng giềng gần nhất có thời gian thực thi tùy chọn với Database là tập huấn luyện

Tại một thời điểm S, với number_of_classes(Database)  S  m, giải thuật sẽ bị ngắt và kết quả phân lớp cho O sẽ được ghi nhận

Trong mười dòng đầu tiên, giải thuật so sánh O với một mẫu trong mỗi lớp của tập huấn luyện và gán nhãn lớp của mẫu gần nhất với O cho O Lưu ý rằng giải thuật không được phép dừng trong giai đoạn này, tuy nhiên giai đoạn này chỉ chiếm khoảng

Giải thuật sẽ duyệt các mẫu trong tập dữ liệu theo thứ tự được định nghĩa trong hàm Index cho đến khi không còn mẫu nào để so sánh hoặc quá trình huấn luyện bị ngắt Trong quá trình này, giải thuật liên tục so sánh mẫu đầu vào O với từng mẫu trong tập dữ liệu và cập nhật kết quả phân lớp để phản ánh thông tin tích lũy được cho đến thời điểm đó.

Giải thuật không định nghĩa Index được sắp xếp như thế nào Giải thuật cũng đề nghị distance(Database.object(Index p ), O) có thể là độ đo khoảng cách bất kỳ, như khoảng cách Euclid, khoảng cách Manhattan, hay khoảng cách xoắn thời gian động, tùy theo nhu cầu của ứng dụng cũng như đặc điểm của dữ liệu

3.3.2 Sắp xếp tập huấn luyện

Với giải thuật phân lớp có thời gian thực thi tùy chọn như đã trình bày ở mục 3.3.1, có hai cách để cải tiến giải thuật: thay đổi độ đo khoảng cách và thay đổi thứ tự sắp xếp Index Tuy nhiên, Ueno và các cộng sự [7] chỉ tập trung vào việc phân tích quá trình sắp xếp tập huấn luyện

Hình 3-8 trình bày giải thuật sắp xếp tập huấn luyện Ý tưởng chính của giải thuật này như sau: giải thuật bắt đầu bằng việc tìm chuỗi xấu nhất trong tập huấn luyện (dòng 5, 6), và gán nó vào vị trí cuối cùng trong Index (dòng 7) Để đảm bảo rằng chuỗi này không được xem xét lại một lần nữa, giải thuật thay thế nó trong danh sách ban đầu bằng giá trị null (dòng 8) Sau đó, giải thuật lặp lại việc tìm chuỗi xấu nhất trong phần còn lại và gán cho chuỗi đó vị trí trống cuối cùng trong Index

Function [Index] = Order_Index(Training_Database) Index = create_vector_of_size(m);

//m is the size of Training_Database for p=0 to m–(1+number_of_classes(Training_Database)) location =find_location_of_worst_examplar(Training_Database) indexm-p = location;

Training_Database(location) = null; end for

Hình 3-8 Giải thuật sắp xếp tập huấn luyện

Giải thuật trên hoàn toàn tổng quát và rõ nghĩa, ngoại trừ việc làm thế nào để xác định chuỗi xấu nhất là chưa được trình bày Đây là một điểm mở của giải thuật, cho phép mỗi người có thể có cách định nghĩa riêng của mình về cách xác định thế nào là chuỗi xấu nhất

Lưu ý rằng, giải thuật này tìm kiếm chuỗi xấu nhất trước thay vì tìm chuỗi tốt nhất trước Điều đó có nghĩa, ta hoàn toàn có thể tìm kiếm theo chiều ngược lại, theo đó ta tìm chuỗi tốt nhất và đặt nó vào vị trí đầu tiên trong Index, sau đó tìm chuỗi tốt nhất kế tiếp và đặt nó vào vị trí trống tiếp theo Lý do chính cho quyết định chọn cách tìm chuỗi xấu nhất trước là vì việc xác định chuỗi tốt nhất là rất khó trong giai đoạn đầu của giải thuật Rất khó để đánh giá mức độ hữu dụng của một chuỗi riêng lẻ trong giai đoạn đầu của giải thuật tìm chuỗi tốt nhất trước vì ta quan tâm đến những ranh giới mang tính quyết định, được định nghĩa bằng hai (hoặc nhiều hơn) hai chuỗi thuộc các lớp khác nhau

Phần tiếp theo của mục này giới thiệu một số tiêu chí sắp xếp tập huấn luyện

Random và BestDrop là trường hợp xấu nhất và tốt nhất SimpleRank là kỹ thuật sắp xếp mà Ueno và các cộng sự [7] đã đề xuất:

- Random: Thứ tự sắp xếp được xác định một cách ngẫu nhiên

BestDrop là kỹ thuật sắp xếp tạo danh sách các mẫu lân cận, bao gồm cả những mẫu đồng loại (associates) và những mẫu khác loại (enemies) Kỹ thuật này sử dụng một hàm tính điểm có trọng số dựa trên danh sách này để sắp xếp các mẫu trong tập huấn luyện.

- SimpleRank: Ý tưởng chính của kỹ thuật sắp xếp này là gán cho mỗi mẫu một thứ hạng dựa trên sự đóng góp của nó vào việc phân lớp Thứ hạng (rank) của mỗi mẫu x được tính bằng công thức:

Trong đó, x j là mẫu nhận x là láng giềng gần nhất Ý tưởng của việc sắp xếp này là tăng thứ hạng cho những mẫu phân lớp chính xác các mẫu khác, và giảm thứ hạng nhiều hơn đối với những mẫu phân lớp sai các mẫu khác

Tại mỗi bước của thuật toán sắp xếp, mẫu dữ liệu có thứ hạng thấp nhất sẽ được gán vào vị trí trống cuối cùng và bị loại khỏi tập huấn luyện đang xét, nhằm đảm bảo thứ hạng của các mẫu dữ liệu được sắp xếp chính xác và hiệu quả nhất.

Phát hiện motif cho dữ liệu chuỗi thời gian

Phương pháp tìm kiếm mẩu lặp thường xuyên (motif) do E Keogh và các cộng sự đưa ra vào năm 2002 [1] cho chuỗi thời gian là một trong những phương pháp thường được sử dụng nhiều nhất Mục đích của phương pháp này là tìm ra những mẩu dữ liệu thường xuất hiện trong chuỗi thời gian ban đầu, từ đó đưa ra những tóm lược và phản ánh đặc trưng cho chuỗi thời gian Việc tìm kiếm các chuỗi thời gian con này thường phục vụ cho quá trình gom cụm dữ liệu (clustering), khám phá các luật kết hợp cũng như phân lớp (classification) dữ liệu Các ứng dụng tìm chuỗi con xuất hiện được áp dụng trong các lĩnh vực y khoa, điều khiển tự động, chế tạo người máy… o Chuỗi con trùng khớp (Match) : Cho một số thực dương R và một chuỗi thời gian

T, một chuỗi con C bắt đầu vị trí p và chuỗi con M bắt đầu từ vị trí q Nếu D(C,M) ≤

Cách định nghĩa chuỗi con trùng khớp như trên là rõ ràng về mặt trực giác

Nhưng cách định nghĩa này phản ánh sự khớp nhau một cách tầm thường Chúng ta sẽ quan tâm như thế nào là khớp tốt nhất (best matches) giữa các chuỗi con Và chúng ta có hai chuỗi con khớp với chuỗi con hiện có tại hai điểm bên trái và bên phải

Từ sự quan sát Hình 3-10, ta đưa ra định nghĩa khớp tầm thường như sau:

Hình 3-9 Mô phỏng phát hiện motif dữ liêu chuỗi thời gian 3 chuỗi dữ liệu con bên dưới thường xuất hiện trong chuỗi dữ liệu ban đầu ở phía trên

Hình 3-10 Mô phỏng chuỗi con trùng khớp (matching) giữa hai chuỗi con C và M Chuỗi thời gian T là đường màu đen nhỏ, chuỗi con C có hình màu đen in đậm và chuỗi M có hình màu xám

Chuỗi con trùng khớp tầm thường (trivial match) : Cho chuỗi thời gian T và một chuỗi con trùng khớp tầm thường với C nếu p=q hoặc không tồn tại chuỗi con M’ bắt đầu từ vị trí p’ mà D(C,M’)>R và q

Ngày đăng: 24/09/2024, 05:45

HÌNH ẢNH LIÊN QUAN

Hình  1-1 Đường biễu diễn dữ liệu chuỗi thời gian. - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động
nh 1-1 Đường biễu diễn dữ liệu chuỗi thời gian (Trang 13)
Hình  1-2 Bài toán phân lớp dữ liệu chuỗi thời gian. - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động
nh 1-2 Bài toán phân lớp dữ liệu chuỗi thời gian (Trang 15)
Hình  2-1 Hình ảnh trực giác của khoảng cách Euclid. (nguồn: [3])  Ưu điểm: - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động
nh 2-1 Hình ảnh trực giác của khoảng cách Euclid. (nguồn: [3]) Ưu điểm: (Trang 20)
Hình  2-3 Cách tính khoảng cách xoắn thời gian động: A) Cho hai chuỗi  mục tiêu Q và C, B) Ma trận tính DTW, C) Kết quả tính DTW - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động
nh 2-3 Cách tính khoảng cách xoắn thời gian động: A) Cho hai chuỗi mục tiêu Q và C, B) Ma trận tính DTW, C) Kết quả tính DTW (Trang 22)
Hình  2-4 Đồ thị biểu diễn hai chuỗi thời gian. - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động
nh 2-4 Đồ thị biểu diễn hai chuỗi thời gian (Trang 24)
Hình  2-6 Giải thuật phân lớp k-Nearest-Neighbor. - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động
nh 2-6 Giải thuật phân lớp k-Nearest-Neighbor (Trang 27)
Hình   3-1 .b  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 - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động
nh 3-1 .b 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 (Trang 29)
Hình  3-2 Hình dạng của các loại ràng buộc cửa sổ xoắn: A) Dải R-K,B) Dải - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động
nh 3-2 Hình dạng của các loại ràng buộc cửa sổ xoắn: A) Dải R-K,B) Dải (Trang 30)
Hình  3-3 Minh họa giải thuật tìm kiếm tiến sử dụng độ chính xác. - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động
nh 3-3 Minh họa giải thuật tìm kiếm tiến sử dụng độ chính xác (Trang 31)
Hình  3-5 Đường bao ứng với hai loại ràng buộc:  A) Dải Sakoe-Chiba - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động
nh 3-5 Đường bao ứng với hai loại ràng buộc: A) Dải Sakoe-Chiba (Trang 33)
Hình  3-6 Hình ảnh trực quan của chặn dưới LB_Keogh. (nguồn:[2]) - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động
nh 3-6 Hình ảnh trực quan của chặn dưới LB_Keogh. (nguồn:[2]) (Trang 34)
Hình  3-13 Giải thuật Motif-Brute-Force (Nguồn [1]). - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động
nh 3-13 Giải thuật Motif-Brute-Force (Nguồn [1]) (Trang 43)
Hình  3-14 Minh họa việc xây dựng ma trận   với a=3, w=4 và n=16 - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động
nh 3-14 Minh họa việc xây dựng ma trận với a=3, w=4 và n=16 (Trang 44)
Hình  3-15: Trái) {1,2} được chọn ngẫu nhiên   Phải) tăng giá trị của các ô - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động
nh 3-15: Trái) {1,2} được chọn ngẫu nhiên Phải) tăng giá trị của các ô (Trang 45)
Hình  3-19 Dịch chuyển trục tọa độ dữ liệu chuỗi thời gian. - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động
nh 3-19 Dịch chuyển trục tọa độ dữ liệu chuỗi thời gian (Trang 50)
Hình  3-20 Cải tiến giải thuật phát hiện motif - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động
nh 3-20 Cải tiến giải thuật phát hiện motif (Trang 52)
Hình  3-21 Điểm quan trọng với hệ số nén lần lượt là 91% và 94% - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động
nh 3-21 Điểm quan trọng với hệ số nén lần lượt là 91% và 94% (Trang 53)
Hình  3-22 mô tả về các điểm cực đại và cực tiểu quan trọng. - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động
nh 3-22 mô tả về các điểm cực đại và cực tiểu quan trọng (Trang 54)
Hình  3-25 Giải thuật gom cụm phân cấp từ dưới lên và trên xuống HAC - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động
nh 3-25 Giải thuật gom cụm phân cấp từ dưới lên và trên xuống HAC (Trang 60)
Hình  3-26 Minh họa phép vị tự tâm O, hệ số vị tự k =1/2 - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động
nh 3-26 Minh họa phép vị tự tâm O, hệ số vị tự k =1/2 (Trang 61)
Hình  3-27: Chuỗi dữ liệu sau khi lấy mẫu có chiều dài 150 điểm dùng phương - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động
nh 3-27: Chuỗi dữ liệu sau khi lấy mẫu có chiều dài 150 điểm dùng phương (Trang 63)
Hình  4-2: Giải thuật NN_LBKeogh. - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động
nh 4-2: Giải thuật NN_LBKeogh (Trang 69)
Hình  4-3 Giải thuật huấn luyện  4.1.4. Giai đoạn phân lớp - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động
nh 4-3 Giải thuật huấn luyện 4.1.4. Giai đoạn phân lớp (Trang 71)
Hình  4-5 Mô hình thực hiện giải thuật phân lớp có thời gian thực thi tuỳ - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động
nh 4-5 Mô hình thực hiện giải thuật phân lớp có thời gian thực thi tuỳ (Trang 74)
Hình  4-6 Mô hình thực hiện giải thuật phân lớp có thời gian thực thi tuỳ - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động
nh 4-6 Mô hình thực hiện giải thuật phân lớp có thời gian thực thi tuỳ (Trang 75)
Hình  4-7 Biểu đồ thời gian thực thi giai đoạn huấn luyện không sử dụng kỹ - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động
nh 4-7 Biểu đồ thời gian thực thi giai đoạn huấn luyện không sử dụng kỹ (Trang 78)
Hình  4-9 Biểu đồ thời gian thực thi giai đoạn huấn luyện sử dụng kỹ thuật - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động
nh 4-9 Biểu đồ thời gian thực thi giai đoạn huấn luyện sử dụng kỹ thuật (Trang 82)
Bảng  4-4 Số lượng mẫu phân lớp chính xác trên tập dữ liệu TwoPat - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động
ng 4-4 Số lượng mẫu phân lớp chính xác trên tập dữ liệu TwoPat (Trang 84)
Hình  4-10 kết quả số mẫu phân lớp trên tập dữ liệu TwoPat  4.2.5.2. Tập dữ liệu Clustered - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng nhận dạng Motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động
nh 4-10 kết quả số mẫu phân lớp trên tập dữ liệu TwoPat 4.2.5.2. Tập dữ liệu Clustered (Trang 85)