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: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian

70 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

  • 1.1 LÝ DO NGHIÊN CỨU (13)
  • 1.2 MỤC ĐÍCH NGHIÊN CỨU (13)
  • 1.3 Ý NGHĨA ĐỀ TÀI (14)
  • 1.4 MÔ TẢ BÀI TOÁN (14)
  • 1.5 KẾT QUẢ ĐẠT ĐƯỢC (14)
  • 1.6 BỐ CỤC LUẬN VĂN (15)
  • Chương 2. CƠ SỞ LÝ THUYẾT 4 (15)
    • 2.1 ĐẶC ĐIỂM CỦA DỮ LIỆU CHUỖI THỜI GIAN (16)
      • 2.1.1 Chuỗi con (16)
      • 2.1.2 Trùng khớp (17)
    • 2.2 ĐỘ ĐO KHOẢNG CÁCH (17)
      • 2.2.1 Khoảng cách Euclid (18)
      • 2.2.2 Độ đo xoắn thời gian động (Dynamic Time Warping - DTW) (18)
        • 2.2.2.1 Phương pháp tính khoảng cách DTW (18)
        • 2.2.2.2 Ví dụ tính khoảng cách DTW (20)
        • 2.2.2.3 Các kỹ thuật tối ưu phương pháp DTW (22)
    • 2.3 CÁC PHƯƠNG PHÁP PHÂN LỚP DỮ LIỆU CHUỖI THỜI GIAN (24)
      • 2.3.1 Giải thuật phân lớp k-lân cận gần nhất (k-NN) (24)
      • 2.3.2 Cây quyết định (25)
      • 2.3.3 Mạng nơron (25)
      • 2.3.4 SVM (26)
  • Chương 3. TỔNG QUAN CÁC CÔNG TRÌNH LIÊN QUAN 16 (15)
    • 3.1 KỸ THUẬT THU GỌN SỐ PHẦN TỬ TẬP HUẤN LUYỆN NA¨IVE (28)
    • 3.2 PHƯƠNG PHÁP THU GỌN TẬP HUẤN LUYỆN INSIGHT (30)
      • 3.2.1 Hàm tính trọng số (30)
        • 3.2.1.1 Thuộc tính trung tâm (30)
        • 3.2.1.2 Hàm tính trọng số dựa trên thuộc tính trung tâm (32)
    • 3.3 PHÂN LỚP k-NN HIỆU QUẢ VỚI KỸ THUẬT THU GỌN DỮ LIỆU DỰA VÀO GOM CỤM PHI THAM SỐ (33)
      • 3.3.1 Thu gọn dựa vào gom cụm (RHC) (33)
      • 3.3.2 RHC động (dRHC) (34)
    • 3.4 CÁC GIẢI THUẬT LỰA CHỌN ĐẠI DIỆN VÀ TRÍCH YẾU ĐẠI DIỆN ĐỂ THU GỌN TẬP HUẤN LUYỆN TRƯỚC KHI THỰC HIỆN PHÂN LỚP DỮ LIỆU (39)
      • 3.4.1 Các giải thuật lựa chọn đại diện (39)
        • 3.4.1.1 Giải thuật CNN-rule (39)
        • 3.4.1.2 Giải thuật IB2 (40)
      • 3.4.2 Các giải thuật trích yếu đại diện (41)
        • 3.4.2.1 Giải thuật trích yếu đại diện IB2 (AIB2) (41)
        • 3.4.2.2 Giải thuật CJA (42)
  • Chương 4. GIẢI PHÁP THỰC HIỆN 33 (15)
    • 4.1 HIỆN THỰC HỆ THỐNG (45)
      • 4.1.1 Sơ đồ hoạt động chương trình chính (45)
      • 4.1.2 Các module chính (46)
      • 4.1.3 Sơ đồ hoạt động chương trình thu gọn dRHC (47)
    • 4.2 MỘT SỐ QUY ƯỚC VÀ RÀNG BUỘC (49)
  • Chương 5. KẾT QUẢ THỰC NGHIỆM 38 (15)
    • 5.1 MÔI TRƯỜNG THỰC NGHIỆM (50)
    • 5.2 PHƯƠNG PHÁP THỰC NGHIỆM (50)
    • 5.3 DỮ LIỆU THỰC NGHIỆM (50)
      • 5.3.1 Bộ dữ liệu ArrowHead (51)
      • 5.3.2 Bộ dữ liệu BeetleFly (53)
      • 5.3.3 Bộ dữ liệu Gun Point (53)
      • 5.3.4 Bộ dữ liệu Fish (54)
      • 5.3.5 Bộ dữ liệu Trace (55)
    • 5.4 THỰC NGHIỆM SO SÁNH ĐỘ CHÍNH XÁC PHÂN LỚP TRƯỚC VÀ (56)
      • 5.4.1 Xác định cửa sổ xoắn tối ưu (56)
      • 5.4.2 Số phần tử được giữ lại trong tập huấn luyện bằng nhau (57)
      • 5.4.3 Điều chỉnh số phần tử được giữ lại trong tập huấn luyện với giải thuật Na¨ıve Ranking (60)
    • 5.5 THỰC NGHIỆM THU GỌN TẬP HUẤN LUYỆN VỚI KỸ THUẬT dRHC 50 Chương 6. TỔNG KẾT 53 (62)
    • 6.1 KẾT LUẬN CỦA LUẬN VĂN (65)
    • 6.2 KẾT QUẢ ĐẠT ĐƯỢC (65)
    • 6.3 HƯỚNG PHÁT TRIỂN (66)
    • 2.1 Ví dụ về chuỗi thời gian động đất (0)
    • 2.2 Ví dụ về chuỗi con và cửa sổ trượt [8] (0)
    • 2.3 Độ đo Euclid và độ đo xoắn thời gian động [5] (0)
    • 2.4 Ma trận xoắn thời gian động [16] (0)
    • 2.5 Biểu đồ biểu diễn 2 chuỗi thời gian Q và C (0)
    • 2.6 Biểu đồ biểu diễn sự tương quan của 2 chuỗi thời gian Q và C (0)
    • 2.7 Ràng buộc dải Sakoe - Chiba (0)
    • 2.8 Ràng buộc Hình bình hành Itakura (0)
    • 2.9 Phân lớp k-lân cận gần nhất (0)
    • 2.10 Kỹ thuật SVM trong không gian 2 chiều với siêu phẳng tuyến tính chia không gian dữ liệu thành 2 lớp riêng biệt Class -1 và Class 1 với Margin lớn nhất (0)
    • 3.1 Biểu đồ phân bố của hàm f G 1 (x) trên một số chuỗi thời gian. Trục hoành thể hiện giá trị f G1 (x) , trục tung là số lượng phần tử có giá trị đó (0)
    • 3.2 Quy trình thực hiện của giải thuật RHC [10] (0)
    • 3.3 Quy trình thực hiện giải thuật dRHC [10] (0)
    • 4.1 Sơ đồ hoạt động chương trình chính so sánh RHC và Na¨ıve Ranking (0)
    • 4.2 Sơ đồ hoạt động chương trình dRHC (0)
    • 5.1 Một số hình ảnh minh hoạ bộ dữ liệu ArrowHead (0)
    • 5.2 Đầu mũi tên được biểu diễn dưới dạng Timeseries (0)
    • 5.3 Một số hình ảnh minh hoạ bộ dữ liệu BeetleFly (0)
    • 5.4 Vài ảnh rời trích từ video Gun-Draw: theo dõi hành vi của tay phải và chuyển thành một chuỗi cử động (0)
    • 5.5 Dạng chuỗi thời gian thuộc lớp Point và dạng chuỗi thời gian thuộc lớp Gun-Draw (0)
    • 5.6 Chuỗi thời gian được tạo ra từ ánh xạ đường biên hình con cá (0)
    • 5.7 Biểu đồ biểu diễn các lớp trong bộ dữ liệu Trace (0)
    • 5.8 Biểu đồ so sánh độ chính xác phân lớp trước và sau khi thu gọn tập huấn luyện với kỹ thuật RHC và Na¨ıve Ranking (0)
    • 2.1 Ma trận khoảng cách giữa hai chuỗi thời gian Q và C (0)
    • 5.1 Thông tin các tập dữ liệu thực nghiệm (0)
    • 5.2 Kích thước cửa sổ xoắn cho kết quả phân lớp k-NN tối ưu (0)
    • 5.3 So sánh độ chính xác phân lớp sau khi thu gọn tập huấn luyện bằng kỹ thuật RHC và kỹ thuật Na¨ıve Ranking (0)
    • 5.4 Thời gian thực thi hai kỹ thuật thu gọn tập huấn luyện RHC và Na¨ıve (0)
    • 5.5 Độ chính xác phân lớp k-NN tương ứng với ngưỡng n trong kỹ thuật thu gọn Na¨ıve Ranking (0)
    • 5.6 Thời gian thực thi phân lớp trên tập huấn luyện đã thu gọn bằng RHC và Na¨ıve Ranking với ngưỡng n = 60% (0)
    • 5.7 Thông tin các tập dữ liệu thực nghiệm với kỹ thuật dRHC (0)
    • 5.8 Tỉ lệ thu gọn bằng kỹ thuật dRHC và độ chính xác phân lớp dựa trên tập huấn luyện đã thu gọn (0)

Nội dung

Làm như vậy, ta có thể thu gọn tập huấn luyện ban đầuthành một tập huấn luyện mới nhỏ hơn, gọn hơn, qua đó giảm đáng kể thời gian phânlớp nhưng vẫn đảm bảo được những thông tin cần thiết

LÝ DO NGHIÊN CỨU

Khai phá dữ liệu (hay còn gọi là khám phá tri thức hoặc dữ liệu) đã trở thành lĩnh vực ngày càng quan trọng vì nó giúp phân tích và tổng kết dữ liệu thành những thông tin hữu ích Có nhiều kỹ thuật trong quá trình khai thác dữ liệu trong đóphân lớp(classification) được biết đến như một kỹ thuật quan trọng Mục đích của kỹ thuật này là phân tích dữ liệu thu thập được thành các mô hình mô tả nhằm phục vụ cho công việc dự đoán [7] Ở đề tài này chúng tôi tiến hành thực hiện phân lớp trêndữ liệu chuỗi thời gian(time series data).

Bài toán phân lớp dữ liệu chuỗi thời gian là vấn đề luôn thu hút được sự quan tâm của giới nghiên cứu trong lĩnh vực khai phá dữ liệu chuỗi thời gian từ trước đến nay Nó được ứng dụng trong nhiều lĩnh vực, y tế, tài chính, công nghiệp, giải trí Đã có nhiều giải thuật được đưa ra để giải quyết bài toán này như: Cây quyết định, Mạng nơ-ron, [16]

Hầu hết các giải thuật phân lớp đều đối mặt với vấn đề là chi phí tính toán và chi phí lưu trữ cao do phải xử lý trên tập dữ liệu lớn mà trong đó có nhiều mẫu dữ liệu không thật sự liên quan đến mục đích của bài toán Do đó, thu gọn tập huấn luyện trước khi thực hiện phân lớp dữ liệu đã trở thành bước hết sức cần thiết Đã có nhiều phương pháp thu gọn tập huấn luyện được giới thiệu, ở đây chúng tôi đề xuất áp dụng kỹ thuậtRHC(Reduction through Homogeneous Clusters) - một kỹ thuật thu gọn vốn được đề xuất trên dữ liệu thường lại cho kết quả thu gọn rất cao đối trên dữ liệu chuỗi thời gian với kỹ thuật thu gọn có tham sốNa¨ıve Ranking - một kỹ thuật thu gọn đơn giản nhưng rất linh hoạt trong việc điều chỉnh tỉ lệ thu gọn cũng như độ chính xác phân lớp sau thu gọnđể thu gọn dữ liệu trước khi sử dụng k-NN để phân lớp tập dữ liệu chuỗi thời gian.

MỤC ĐÍCH NGHIÊN CỨU

Nhằm giúp cho việc phân lớp dữ liệu chuỗi thời gian được giảm chi phí tính toán, hiệu quả hơn, tỉ lệ thu gọn dữ liệu đạt hiệu quả cao mà vẫn duy trì độ chính xác của kết quả phân lớp.

• Tìm hiểu và vận dụng giải thuật thu gọn tập huấn luyện RHC (Reduction through Homogeneous Clusters) để thu gọn dữ liệu trước khi phân lớp bằng giải thuật k-NN.

• Hiện thực và thử nghiệm với bộ dữ liệu mẫu để đánh giá hiệu quả của các phương pháp đề xuất.

Ý NGHĨA ĐỀ TÀI

Đề tài đóng góp về ý nghĩa về mặt thực tiễn cũng như về mặt học thuật.

• Về mặt học thuật: đề tài này cung cấp kết quả thực nghiệm về đánh giá hiệu quả các kỹ thuật thu gọn tập huấn luyện đối với dữ liệu chuỗi thời gian.

• Về mặt thực tiễn: thông qua thực nghiệm đưa ra kết luận về tính hữu hiệu của việc phân lớp trước và sau khi thu gọn tập huấn luyện bằng các kỹ thuật khác nhau từ đó làm cơ sở hỗ trợ cho việc lựa chọn phương pháp thu gọn phù hợp tùy theo các bộ dữ liệu và nhu cầu của người dùng trong nhiều lãnh vực như môi trường, y tế,khoa học kỹ thuật, kinh tế, tài chính.

MÔ TẢ BÀI TOÁN

Thông tin đầu vào và đầu ra của bài toán được xác định như sau:

• Input: Bộ dữ liệu chuỗi thời gian gồm tập huấn luyện và tập thử

– Bước 1: Tiền xử lý tập dữ liệu

– Bước 2: Áp dụng kỹ thuật RHC, dRHC để thu gọn tập dữ liệu huấn luyện

– Bước 3: Phân lớp k-NN dựa vào tập huấn luyện đã được thu gọn

– Bước 4: So sánh, đánh giá kết quả phân lớp với giải thuật k-NN có áp dụng Na¨ıve Rank để thu gọn tập huấn luyện.

– Tập dữ liệu chuỗi thời gian (tập thử) đã được phân lớp

– Các độ đo đánh giá chất lượng phân lớp của các phương pháp

KẾT QUẢ ĐẠT ĐƯỢC

Đề tài đạt được một số kết quả quan trọng sau đây:

Về việc thu gọn tập huấn luyện bằng kỹ thuật RHC, cho kết kết quả thu gọn rất đáng kể, tập huấn luyện sau khi thu gọn chỉ còn trung bình khoảng 25% so với tập ban đầu.

Về kết quả phân lớp trên tập huấn luyện đã thu gọn bằng kỹ thuật RHC cho kết quả phân lớp tốt hơn trung bình 22% so với kết quả phân lớp trên tập huấn luyện đã thu gọn bằng kỹ thuật Na¨ıve Raking.

Ngoài ra, thời gian thực hiện việc thu gọn bằng kỹ thuật RHC cũng ngắn hơn rất nhiều so việc thu gọn bằng kỹ thuật Na¨ıve Ranking Trung bình kỹ thuật RHC chỉ chiếm trung bình 8 mili giây trong khi kỹ thuật Na¨ıve Ranking chiếm trung bình hơn 1 giây.

BỐ CỤC LUẬN VĂN

Luận văn được trình bày theo bố cục từng chương như sau:

CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI

Chương này giới thiệu sơ lược các định nghĩa, các vấn đề có liên quan đến đề tài, mục tiêu và giới hạn nghiên cứu của đề tài, tóm lược các kết quả đạt được và bố cục luận văn.

CƠ SỞ LÝ THUYẾT 4

ĐẶC ĐIỂM CỦA DỮ LIỆU CHUỖI THỜI GIAN

Chuỗi thời gian(time series) là chuỗi trị số thực, mỗi trị số biểu diễn một giá trị đo tại những thời điểm cách đều nhau Những tập dữ liệu chuỗi thời gian rất lớn xuất hiện trong nhiều lãnh vực khác nhau như y khoa, kỹ thuật, kinh tế, tài chính, v.v [4] Ví dụ kết quả quan sát hiện tượng động đất (đơn vị Richter) qua 99 năm liên tục là chuỗi thời gian như trong hình 2.1.

Hình 2.1: Ví dụ về chuỗi thời gian động đất

Ngoài ra, còn có các định nghĩa về chuỗi thời gian đơn biến (univariate time series) và chuỗi thời gian đa biến (multivariate time series) Chuỗi thời gian đơn biến là một chuỗi thời gian chỉ chứa một quan sát được ghi nhận một cách tuần tự tại những khoảng thời gian cách đều nhau Chuỗi thời gian đa biến là chuỗi thời gian mà trong đó tại một thời điểm ta có nhiều quan sát (biến) khác nhau.

Cho một chuỗi thời gianT có chiều dài n, mộtchuỗi con(Subsequence)C củaT là một dãy có chiều dàim (1 ≤ m ≤ n) có vị trí liền nhau trong chuỗi thời gianT.

Hình 2.2: Ví dụ về chuỗi con và cửa sổ trượt [8].

Một chuỗi conC củaT cũng có thể được xem là một chuỗi thời gian với chiều dàim. Một điều cần lưu ý là khái niệm “chuỗi con” khác với khái niệm “chuỗi tuần tự” Nếu khái niệm “chuỗi tuần tự” cho phép các phần tử của chuỗi có thể không liên tục so với chuỗi ban đầu, thì khái niệm “chuỗi con C” của một chuỗi thời gian T chỉ chấp nhận những phần tử liên tiếp nhau trong chuỗi thời gianT Bên dưới là một ví dụ về chuỗi con của một chuỗi thời gian.

Cho chuỗi thời gianT = (3, 5, 1, 12, 4, 7) Khi đó,C 1 = (12, 4, 7)được gọi là một chuỗi con của chuỗi thời gianT Tuy nhiên, C 2 = (3, 1, 12, 4) không được xem là một chuỗi con của chuỗi thời gianT, vì3và1là các giá trị không liên tiếp nhau trongT.

Các công trình nghiên cứu thường áp dụng phương phápcửa sổ trượt (Sliding Win- dows) để lấy các chuỗi con trong một chuỗi thời gian để phục vụ cho bài toán nghiên cứu Số lượng của các chuỗi con lấy được là bằng nhau và bằng độ dài của cửa sổ trượt.

Hình 2.2 minh họa chuỗi con được xác định bằng phương pháp cửa sổ trượt.

Cho một số thực dương R (do người dùng định nghĩa) và một chuỗi thời gian T Biết rằngT chứa một chuỗi con C bắt đầu tại thời điểm pvà một chuỗi conM bắt đầu tạiq, nếu khoảng cáchDgiữa 2 chuỗi nhỏ hơn hoặc bằngR, tứcD(C, M) ≤ R, thìM là một chuỗi con trùng khớpvớiCvà ngược lại.

ĐỘ ĐO KHOẢNG CÁCH

Có nhiều loại độ đo khoảng cách để hỗ trợ tính toán trong quá trình khai phá dữ liệu.

Nhưng đối với quá trình phân lớp với tập dữ liệu chuỗi thời gian thì thường sử dụng 2 loại độ đo khoảng cách chủ yếu là độ đo khoảng cáchEuclid và và độ đo khoảng cách xoắn thời gian động(Dynamic Time Warping - DTW) Ở phần này chúng tôi tìm hiểu cách tính của 2 độ đo này trong dữ liệu chuỗi thời gian [5].

Cho 2 chuỗi thời gianQ = Q 1 , Q 2 , , Q n và C = C 1 , C 2 , , C n Khi đó khoảng cách Euclid giữa hai chuỗi thời gianQvàC được xác định bằng công thức sau:

(q i − c i ) 2 (2.1) Độ đo khoảng cách Euclid có ưu điểm là dễ hiểu, dễ tính toán, dễ mở rộng cho nhiều bài toán khai phá dữ liệu chuỗi thời gian khác như gom cụm, phân lớp, nhận dạng mô típ, v.v Nhưng độ đo khoảng cách này có nhược điểm là nhạy cảm với nhiễu và thiếu sự mềm dẻo khi so trùng [4].

2.2.2 Độ đo xoắn thời gian động (Dynamic Time Warping - DTW)

Trên nhiều nghiên cứu đã chứng minh DTW là độ đo xoắn thời gian động tính toán khoảng cách giữa 2 mẫu dữ liệu chuỗi thời gian cho độ chính xác nhiều hơn so với khoảng cách Euclid.

2.2.2.1 Phương pháp tính khoảng cách DTW

Cho 2 chuỗi thời gianQvàCcó chiều dài lần lượt lànvàmtheo vớiQ = Q 1 , Q 2 , , Q n vàC = C 1 , C 2 , , C m công thức DTW được tính như sau:

• Bước 1: Xây dựng một ma trận có kích thướcn ∗ mvớinlà số hàng của ma trận và m là số cột của ma trận Trong đó phần tử (i th , j th )của ma trận chứa khoảng cách d(q i , c j )giữa hai điểmq i , c j trên 2 chuỗi dữ liệuQvàC Vớid(q i , c j ) = (q i − c j ) 2

• Bước 2: Ma trận chứa khoảng cách d(q i , c j ) được gọi là ma trận xoắn (Warping matrix) Một đường xoắn (warping path) là một tập các phần tử liên tục của ma trận định nghĩa một đường ánh xạ giữaQvàC

• Bước 3: Có rất nhiều đường xoắn thỏa mãn các điều kiện trên nhưng chúng ta chỉ quan tâm đến đường xoắn có chi phí tối thiểu Chi phí 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 đó.

W k (2.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) Công thức truy hồi cho khoảng cách tích lũy (cu- mulative distance) được định nghĩa như sau: γ(i, j) = d(d i , c j ) + min

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 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 Qvà C là căn bậc hai của khoảng cách tích lũy tại ô có chỉ số là(m, n). Đối với việc tính toán DTW chúng ta có một số ràng buộc sau:

– Đ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:w k = (a, b)thìw k−1 = (a 0 , b 0 )trong đóa − a 0 ≤ 1vàb − b 0 ≤ 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:w k = (a, b)thìw k−1 = (a 0 , b 0 ), vớia − a 0 ≥ 0vàb − b 0 ≥ 0. Ràng buộc này yêu cầu các điểm trong đường xoắn W phải có tính đơn điệu tăng theo thời gian.

Algorithm 1 trình bày mã giả giải thuật tính khoảng cách giữa hai chuỗi thời gian Qcó chiều dàinvàCcó chiều dàim.

4: // The distanceγ(i, j)is calculated using eq 2.4

5: DT W [i, j] = (Q[i] − C[j]) 2 + min(DT W [i − 1, j], DT W [i, j − 1], DT W [i − 1, j − 1]

Phương pháp DTW có ưu điểm là cho kết quả khoảng cách chính xác hơn so với độ đo Euclid và cho phép nhận dạng mẫu có hình dạng giống nhau nhưng chiều dài hình dạng về thời gian có thể khác nhau Phương pháp này có nhược điểm là thời gian chạy lâu, tuy nhiên cũng đã có những công trình nghiên cứu đề xuất các giải pháp tăng tốc độ tìm kiếm tương tự dùng độ đo DTW[16].

Hình 2.3 mô tả sự khác biệt giữa độ đo Euclid và độ đo xoắn thời gian động.

Hình 2.3: Độ đo Euclid và độ đo xoắn thời gian động [5]

Hình 2.4: Ma trận xoắn thời gian động [16]

Hình 2.4 (bên trái) biểu diễn hai chuỗi thời gian QvàC tương tự nhau nhưng bị lệch pha (out of phase) Để sắp xếp lại hai chuỗi này ta xây dựng ma trận xoắn và tìm đường xoắn tối ưu (hình bên phải).

2.2.2.2 Ví dụ tính khoảng cách DTW

Giả sử có hai chuỗi thời gianQvàC như sau:

Q = (1, 3, 4, 9, 8, 2, 1, 5, 7, 3)C = (1, 6, 2, 3, 0, 9, 4, 3, 6, 3)Hai chuỗi thời gianQvàC được biểu diễn dưới dạng biểu đồ ở hình 2.5

Hình 2.5: Biểu đồ biểu diễn 2 chuỗi thời gianQvàC Áp dụng Algorithm 1, ta xây dựng ma trận xoắn lưu khoảng cách tích luỹ giữa các điểm dữ liệu tương ứng của hai chuỗi thời gianQvàC Giá trị các phần tửγ(i, j)trong ma trận được tính như sau: γ(i, j) =

(2.4) Khoảng cách giữa hai chuỗi thời gianQvàC làp γ(m, n) =p γ(10, 10) = √

Bảng 2.1: Ma trận khoảng cách giữa hai chuỗi thời gianQvàCDựa vào đường xoắn tìm được ta có mô hình biểu diễn sự ánh xạ giữa các điểm dữ liệu giữa hai chuỗi thời gianQvàC ở hình 2.6.

Hình 2.6: Biểu đồ biểu diễn sự tương quan của 2 chuỗi thời gianQvàC

2.2.2.3 Các kỹ thuật tối ưu phương pháp DTW

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, dựa trên ý tưởng cơ bản là giới hạn đường xoắn bằng cách thêm vào các giới hạn cục bộ trên tập hợp các bước sẽ xem xét, đã có hai ràng buộc về đường xoắn phổ biến là ràng buộcSakoe - Chibavà ràng buộc Hình bình hành Itakura Bằng cách định nghĩa một tập con của ma trận xoắn (wraping maxtrix) chứa đường xoắn tối ưu Tập con này được gọi là cửa sổ xoắn (wraping window).

* Ràng buộc dải Sakoe – Chiba

Kỹ thuật này được đề xuất bởi Sakoe và Chiba (1978) [13] 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:

W = w 1 , w 2 , , w k vớimax(m, n) ≤ K ≤ m + n − 1Trong đów k = (i, j) k Ràng buộc Sakoe-Chiba yêu cầu |i − j | ≤ r, trong đórlà một số nguyên dương cho trước được gọi là cửa sổ xoắn Hình 2.7 minh hoạ cửa sổ xoắn với dảiSakoe - Chiba.

Hình 2.7: Ràng buộc dải Sakoe - Chiba

* Ràng buộc hình bình hành Itakura (Itakura Paralelogram)

Kỹ thuật này được đề xuất bởi Itakura (1975) Ràng buộc này cũng định nghĩa đường xoắn nằm bên trong cửa sổ xoắn nhưng kích thước cửa sổ xoắn r biến thiên theo thời gian, tạo nên hình bình hành Hình 2.8 mô tả cửa sổ xoắn Itakura.

Hình 2.8: Ràng buộc Hình bình hành Itakura

TỔNG QUAN CÁC CÔNG TRÌNH LIÊN QUAN 16

KỸ THUẬT THU GỌN SỐ PHẦN TỬ TẬP HUẤN LUYỆN NA¨IVE

Có nhiều giải thuật đề xuất cho vấn đề phân lớp với dữ liệu là chuỗi thời gian Tuy nhiên, rõ ràng giải thuật một phần tử lân cận gần nhất (1-NN) với độ khoảng cách xoắn thời gian động (Dynamic Time Warping - DTW) là giải thuật đặc biệt khó có giải thuật nào đánh bại được [17] Cách tiếp cận này có một điểm yếu, đòi hỏi nhiều thời gian tính toán.

Có một cách khắc phục điểm yếu này là tăng tốc độ tính toán độ đo DTW Ngoài ra Xi và các cộng sự (2006) đã đưa ra kỹ thuật thu gọn số lượng (numerosity reduction) tập huấn luyện để tăng tốc độ giải thuật phân lớp 1-NN mà không làm mất tính chính xác phân lớp.

Kỹ thuật thu gọn số lượng tập huấn luyện có thể hiểu đơn giản là loại bỏ một số dữ liệu trong tập huấn luyện nhằm để cải thiện hiệu suất phân lớp Nếu chúng ta cẩn thận lựa chọn đối tượng loại bỏ, chúng ta đặc biệt rút ngắn được thời gian phân lớp trong khi độ chính xác vẫn cao, trong một vài trường hợp có thể tăng hiệu suất phân lớp một cách rất đáng kể.

Việc tăng tốc phân lớp dựa vào nền tảng kiến thức giải thuật k-NN và độ đo DTW đã trình bày ở Chương 2 Và quan trọng nhất là kỹ thuật thu gọn tập huấn luyện Na¨ıve Rank (Na¨ıve Rank Reduction) [16] Giải thuật Na¨ıve Rank thu gọn tập huấn luyện gồm 2 bước là xếp hạng (ranking) và xác định ngưỡng (thresholding) Đầu tiên giải thuật xếp hạng cho tất cả các đối tượng trong tập huấn luyện Sau đó giải thuật xác định ngưỡngn để quyết định có bao nhiêu đối tượng được giữ lại vàn đối tượng xếp hạng cao nhất được giữ lại để phân lớp.

Hạng của các đối tượng được xác định theo công thức 3.1: rank(x) =X j

(3.1)Vớix j là đối tượng cóxlà lân cận gần nhất.

Trường hợp 2 đối tượng có xếp hạng như nhau, thì sẽ dựa vào độ ưu tiên của chúng để phân biệt Công thức tính độ ưu tiên củaxnhư sau: priority(x) =X j

Vớix j là đối tượng cóxlà lân cận gần nhất vàd(x, x j )là khoảng cách giữaxvàx j Nếu đối tượng ở cách xa lân cận gần nhất thì nó có thể là nhiễu hoặc không là đối tượng thuộc lớp thì nó được loại bỏ đi Giữa 2 đối tượng có cùng xếp hạng nhưng đối tượng nào có độ ưu tiên thấp hơn sẽ bị loại bỏ đầu tiên.

Giải thuật xếp hạng có tính lặp Giả sử tập huấn luyện có kích thước N, giải thuật sẽ chạyN lần, tại mỗi lần lặp nó sẽ loại bỏ đối tượng có xếp hạng thấp và tiếp tục xếp hạng lại các đối tượng Algorithm 2 trình bày mã giả của giải thuật thu gọn tập huấn luyện Na¨ıve Rank.

Algorithm 2.Na¨ıve Rank Reduction

Output: S 1: Remove any duplicate instances fromT 2: leave -one-out 1-NN classification onT 3: N ←size ofT

8: rank(x i )is calculated using eq 3.1

10: adjust the rank ties by priorities using eq 3.2

11: worst_index = arg i (min(rank[x i ]&min(priority[x i ]))) 12: push(S, x worst_index)// discard instance with lowest rank

13: loop_num ← loop_num + 1 14: end while

Trong bước xác định ngưỡng,n phần tử có hạng cao nhất được giữ lại trongS như là tập huấn luyện để làm đầu vào cho giải thuật phân lớp (n là tham số đầu vào được xác định bởi người dùng) Việc xác định ngưỡng có thể được dựa trên không gian hoặc thời gian tối đa mà người dùng có cho việc giải quyết bài toán Ví dụ, việc phân lớp côn trùng với tài nguyên hạn chế của các cảm biến (sensors), người dùng chỉ có tối đa 200k bộ nhớ để lưu toàn bộ tập huấn luyện (Wei & Keogh, 2005) Ngoài ra còn có một số cách xác định ngưỡng khác như"cho tập dữ liệu huấn luyện nhỏ nhất với một tỉ lệ lỗi mong đợi ít hơn 5%"hoặc"cho tập dữ liệu huấn luyện nhỏ nhất với tỉ lệ lỗi leave-one-out không khác với tỉ lệ lỗi trên toàn bộ tập dữ liệu quá 1%".

Algorithm 2 trình bày mã giả của giải thuật thu gọn dữ liệu Na¨ıve Rank, nhận vào tập huấn luyện T và trả ra tập thu gọn S Giải thuật bắt đầu bằng việc loại bỏ các phần tử trùng lặp trong tập huấn luyệnT (dòng 1) Sau đó tiến hành phân lớp sử dụng giải thuật1-NN trên tập huấn luyệnT (dòng 2) Mỗi phần tử trong tập huấn luyện được xác định thứ hạng sử dụng công thức 3.1 (dòng 7-9) Nếu thứ hạng các phần tử bị trùng nhau, thứ hạng sẽ được điều chỉnh bằng công thức 3.2 (dòng 10) Những phần tử có thứ hạng nhỏ nhất sẽ không được đưa vào tập kết quảS (dòng 12) Giải thuật dừng khi đã duyệt qua tất cả các phần tử trong tập huấn luyệnT.

PHƯƠNG PHÁP THU GỌN TẬP HUẤN LUYỆN INSIGHT

Trong công trình này, Buza và các cộng sự [1] đề xuất một phương pháp lựa chọn phần tử mới mà nó khai thác khái niệm củatính trung tâm (hubness), là một vài phần tử có xu hướng là lân cận gần nhất rất thường xuyên hơn những phần tử còn lại Dựa trên tính trung tâm, họ đề xuất một khung sườn cho việc lựa chọn phần tử dựa trên điểm (score), nó được kết hợp với nguyên tắc tối ưu hóa độ bao phủ (coverage) của dữ liệu huấn luyện.

Nghĩa là một chuỗi thời gianx bao phủ một chuỗi thời giany, nếuy có thể được phân lớp đúng đắn dựa trênx Phương pháp này không chỉ cho phép hiểu tốt hơn bài toán lựa chọn phần tử mà còn giúp cho việc phân tích các đặc điểm của hướng tiếp cận từ quan điểm của việc tối đa hóa sự bao phủ Với những lý do trên, hướng tiếp cận này được gọi là “Lựa chọn phần tử dựa trên sự bao phủ đồ thị và tính trung tâm của chuỗi thời gian”

(Instance Selection based on Graph-coverage and Hubness for Time-series), được viết tắt là INSIGHT.

INSIGHT được đánh giá thực nghiệm với 37 tập dữ liệu phân lớp chuỗi thời gian và được so sánh với FastAWARD, một phương pháp lựa chọn phần tử tiên tiến cho dữ liệu chuỗi thời gian INSIGHT được đánh giá là tốt hơn FastAWARD một cách đáng kể về cả độ chính xác phân lớp cũng như thời gian thực thi việc lựa chọn phần tử để thu gọn tập huấn luyện [1].

3.2.1 Hàm tính trọng số 3.2.1.1 Thuộc tính trung tâm Để xây dựnghàm trọng số(score function) phục vụ việc lựa chọn phần tử đại diện cho phân lớp chuỗi thời gian bằng phương pháp lân cận gần nhất, ta phải kể đến phát hiện gần đây về thuộc tính trung tâm Thuộc tính này chỉ ra rằng với dữ liệu nhiều chiều như hầu hết dữ liệu chuỗi thời gian, một vài đối tượng có xu hướng trở thành lân cận gần nhất thường xuyên hơn những đối tượng khác Để diễn tả trung tâm một cách chính xác, cho một tập dữ liệu D chúng ta định nghĩa lần xuất hiện như là lân cận thứk(k − occurrence) của một phần tửx ∈ D, ký hiệu f N k (x) là số phần tử của D có x ở giữak lân cận gần nhất Với thuật ngữ trung tâm (hubness) đề cập tới hiện tượng mà phân bố của f N k (x) lệch đáng kể về bên phải Độ lệch được ký hiệu: S f k

N (x) là trung vị và độ lệch chuẩn của f N k (x) Khi S f N k (x) lớn hơn một thì phân bố tương ứng lệch về bên phải tạo thành đuôi dài Với dữ liệu có nhãn, trung tâm tốt và trung tâm xấu được phân biệt như sau: phần tửy là mộtk-lân cận gần nhấttốt (xấu) của phần tửxnếu (i)ylà một trongk lân cận gần nhất củax, và (ii) chúng có cùng (khác) nhãn Điều này cho phép định nghĩak-occurencetốt (xấu) của một chuỗi thời gianx, tương ứng làf G k (x)(vàf B k (x)) là số lượng những chuỗi thời gian khác mà có xlà một trong nhữngk-lân cận gần nhấttốt (xấu) của chúng.

Hình 3.1: Biểu đồ phân bố của hàm f G 1 (x)trên một số chuỗi thời gian Trục hoành thể hiện giá trịf G 1 (x), trục tung là số lượng phần tử có giá trị đó. Đối với dữ liệu chuỗi thời gian, cả hai phân bốf G k (x)vàf B k (x)đều thường lệch về bên phải Ví dụ ở hình 3.1 mô tả sự phân bố của hàmf G 1 (x)trên một số chuỗi thời gian, biểu đồ phân bố tạo thành đuôi dài trong trường hợp trung tâm tốt (good hubs) xuất hiện.

Một chuỗi thời gianxlà một trung tâm tốt (xấu), nếu phân bốf G k (x)(f B k (x)) rộng một cách đặt biệt vớix Đối với việc phân lớp chuỗi dữ liệu thời gian bằng phương pháp k-lân cận gần nhất thì việc biểu đồ phân bố lệch của các thể hiện tốt là rất quan trọng, bởi vì một số chuỗi thời gian có thể giúp phân lớp các chuỗi thời gian khác một cách đúng đắn.

Vì thế, đây là bằng chứng quan trọng để ta nên đặc biệt chú ý vào các trung tâm tốt.

3.2.1.2 Hàm tính trọng số dựa trên thuộc tính trung tâm

Dựa vàoGood 1-occurence score đã tìm thấy trước đó - giải thuật INSIGHT sử dụng trọng số của phần tử là 1-xuất hiện tốt Công thức tính trọng số 1-xuất hiện tốt như sau: f G (x) = f G 1 (x) (3.4)

Trọng số tương đối (Relative Score) f R (x)của một chuỗi thời gian x là phân số của 1-xuất hiện tốt và tổng xuất hiện cộng với một (để tránh trường hợp mẫu số là 0): f R (x) = f G 1 (x) f N 1 (x) + 1 (3.5)

Trọng số Xi (Xi’s score), dựa vàof G k (x) và f B k (x) cho phép chúng ta giải thích tiêu chí xếp hạng trong công trình của Xi bằng cách diễn tả chúng như là một dạng khác của trọng số tương đối. f Xi (x) = f G 1 (x) − 2f B 1 (x) (3.6)

Giải thuật INSIGHT lựa chọn những phần tử có thứ hạng cao (top-ranked) Tuy nhiên, trong khi xếp hạng các phần tử, chúng ta cần xem xét sự tương quan giữa chúng Ví dụ, giả sử rằng phần tử có thứ hạng cao đầu tiên cho phép độ chính xác phân lớp 1-NN hầu như giống với phần tử có thứ hạng cao thứ hai Vì thế sự đóng góp của phần tử có thứ hạng cao thứ 2 là không quan trọng trong tổng thể quá trình phân lớp Giải thuật INSIGHT có 3 bước cơ bản được mô tả trong đoạn mã giả Algorithm 3 sau:

• Bước 1: Tính trọng số cho tất cả các phần tửxtrong tập dữ liệu chuỗi thời gianD.

• Bước 2: Sắp xếp tất cả các chuỗi thời gian trongDtheo trọng số của chúng.

• Bước 3: Chọn N chuỗi thời gian có thứ hạng cao đưa vào tập hợp kết quả.

Require:Time-series datasetD, Score Functionf , Number of selected instancesN

Ensure:Set of selected instances (time series)D

1: Calculate score functionf (x)for allx ∈ D2: Sort all the time series inDaccording to their scoresf (x)3: Select the top-rankedN time series and return the set containing them

PHÂN LỚP k-NN HIỆU QUẢ VỚI KỸ THUẬT THU GỌN DỮ LIỆU DỰA VÀO GOM CỤM PHI THAM SỐ

3.3.1 Thu gọn dựa vào gom cụm (RHC)

RHC là một giải thuậttrích yếu đại diện(prototype abstraction) phi tham số Nó dựa vào ý tưởng đơn giản là áp dụng đệ quy vào giải thuật gom cụm k-means Đặc biệt RHC xây dựng cụm cho đến khi chúngthuần nhấtnghĩa là tất cả các đối tượng của một cụm chỉ thuộc về cùng một lớp Ban đầu RHC xem toàn bộ tập huấn luyện làkhông thuần nhất

Giải thuật bắt đầu tìm mean (centroid - trung tâm cụm) của mỗi lớp bằng cách tính toán trung bình các giá trị thuộc tính của các mẫu tương ứng của tập huấn luyện Vì vậy một tập dữ liệu cónlớp, giải thuật sẽ tính ncentroid RHC thực thi giải thuật gom cụm k-means sử dụngncentroid ban đầu và xây dựng các cụm Đối với mỗi cụm thuần nhất centroid thuộc vềtập ngưng tụ(condensing set), còn cụm chưa thuần nhất tiếp tục thực hiện đệ quy lại thủ tục trên Giải thuật ngừng khi tất cả các cụm đã thuần nhất Khi kết thúc, tập ngưng tụ gồm tất cả các centroid của các cụm đã thuần nhất Chú ý sử dụng mean của các lớp như là các centroid ban đầu cho giải thuật k-means, số lượng cụm sẽ được xác định tự động.

Phần tử trung bình m của một cụm hoặc lớpC tính bằng cách lấy trung bình giá trị củan thuộc tính của các phần tửx j , j = 1, 2, , |C|trongC Cụ thể, thuộc tính thứj của phần tử trung bìnhmđược xác định bởi công thức 3.7 sau đây: m.d j = 1

• m: một đối tượng nào đó trong cụm hoặc trong lớp tương ứngx i , i = 1, 2 |C|

Hình 3.2 mô tả trực quan qui trình thực hiện giải thuật RHC.

Algorithm 4 trình bày mã giả của giải thuật RHC Nó tận dụng cấu trúc dữ liệu hàng đợi,Queue để lưu các cụm Đầu tiên, giải thuật RHC xem toàn bộ tập huấn luyện T S như là một cụm chưa được xử lý Do đó nó được đặt vào hàng đợiQueue(dòng 3) Ở mỗi bước lặp, giải thuật RHC xét phần tử C đầu hàng đợi Queue(dòng 7) Sau đó nó kiểm tra xemC có phải là cụm thuần nhất hay không NếuC là cụm thuần nhất (dòng 8) thì phần tử trung bìnhr của C được thêm vào tập ngưng tụ (dòng 10) Ngược lại nếuC là

Hình 3.2: Quy trình thực hiện của giải thuật RHC [10]. tập không thuần nhất thì giải thuật RHC tính các trung bình lớpM: một trung bình lớp cho mỗi lớp trongC (dòng 13-16) Sau đó, giải thuật RHC sử dụng giải thuật gom cụm k-means với tham số đầu vào làC vàM, tạo ra một tập hợp các cụm mới (dòng 17) và thêm vào hàng đợiQueue (dòng 18-20) Giải thuật dừng lại khi không còn phần tử nào trong hàng đợiQueue(dòng 22) hay nói cách khác là khi tất cả các cụm đều thuần nhất.

Giống với hầu hết các kỹ thuật thu gọn dữ liệu, RHC là kỹ thuật dựa vào bộ nhớ, nghĩa là toàn bộ tập dữ liệu phải được ghi trong bộ nhớ RHC không thể quản lý hết tập dữ liệu vì không thể lưu hết dữ liệu vào bộ nhớ chính Do vậy, nó không thể thực thi trên thiết bị bị giới hạn về bộ nhớ và cũng không thể chuyển dữ liệu qua các máy khác xử lý thông qua mạng máy tính Vì đây là thủ tục tốn nhiều thời gian và chi phí Thêm vào đó, RHC không thể xử lý khi có những mẫu dữ liệu mới thêm vào Giả sử RHC được thực thi trên tập dữ liệuDvà xây dựng tập ngưng tụ Sau đó giả sử một tập dữ liệu mới S được đưa thêm vào xem xét Để xây dựng cập nhật lại tập ngưng tụ, RHC phải thực thi lại từ đầu trên tậpD ∪ S Thủ tục phải thực hiện lặp lại bất cứ khi nào có tập dữ liệu mới thêm vào, lúc này nhu cầu lưu trữ và chi phí tính toán cao.

Giải thuật dRHC là phiên bản động của RHC, nó kế thừa lại tất cả ưu điểm của RHC.

Nhưng nó khắc phục được điểm yếu của RHC, nếu tập dữ liệu không phù hợp với bộ nhớ chính, nó sẽ chia tập dữ liệu thành các “phân đoạn dữ liệu” (data segments) để thích

3: Enqueue(Queue, T S) 4: {Stage 2: Construction of the condensing set}

12: M ←∅{M is the set of class means}

23: return CS hợp với kích thước bộ nhớ chính Ngoài ra đối với môi trường động khi dữ liệu đến liên tục, nó xem dữ liệu này như các“phân đoạn dữ liệu” Trong trường hợp này, khái niệm phân đoạn dữ liệu được thực hiện sử dụngbộ đệm(buffer), nơi tập dữ liệu mới được lưu trữ Khi bộ đệm đầy, giải thuật dRHC bắt đầu thực thi trên chúng Sau đó tập dữ liệu được lưu trữ trong bộ đệm bị xóa đi và bộ đệm sẵn sàng nhận tập dữ liệu mới. dRHC thực hiện 2 giai đoạn: (1) xây dựng tập ngưng tụ ban đầu (CS-consending set),(2) cập nhật tập ngưng tụ mỗi lần một phân đoạn dữ liệu đến Mọi thủ tục đều tương tựRHC, điểm khác biệt duy nhất giữa RHC và dRHC là mỗi lần sinh ra phần tử đại diện(prototype) lưu trữ giá trị trọng số như một thuộc tính bổ sung Giá trị này là số lượng phần tử trong tập huấn luyện mà được gom lại với nhau và được đại diện bởi prototype đặc biệt trong tập ngưng tụ Cập nhật tập ngưng tụCS chỉ dựa vào khái niệm cụm thuần nhất và các trọng số dữ liệu Công thức 3.8 dưới đây là công thức tìm trung tâm cụm của dRHC: m C d j =

• m: đối tượng nào đó trong cụm hoặc trong lớp tương ứngx i , i = 1, 2 |C|

• d j là mỗi vector thuộc tính củam C , vớij = 1, 2, n Quy trình thực hiện giải thuật dRHC được minh hoạ trực quan thông qua hình vẽ 3.3.

Hình 3.3: Quy trình thực hiện giải thuật dRHC [10]

Algorithm 5 trình bày mã giả của giai đoạn cập nhật tập ngưng tụCS của giải thuật dRHC Nó nhận vào tập ngưng tụ sẵn có oldCS cùng với một phân đoạn dữ liệu mới dataSeg và trả ra tập ngưng tụ đã được cập nhật newCS Giải thuật bắt đầu bằng việc xây dựng hàng đợi Queue để chứa những cụm chưa được xử lý Đầu tiên, nó khởi tạo một số lượng các cụmCListbằng với số lượng phần tử trong tập ngưng tụ sẵn cóoldCS (dòng 3-6) Tiếp theo, mỗi phần tử trong phân đoạn dữ liệudataSeg sẽ được gán trọng số là 1 và thêm vào một trong các cụm này (dòng 7-11) Tất cả các cụm trongCList được đặt vào hàng đợiQueue(dòng 12-14) Giải thuật dRHC tạo ra tập ngưng tụ mớinewCS bằng cách tương tự nhưRHC nhưng có xem xét tới giá trị trọng số Đối với cụm thuần nhất thì phần tử đại diện được lưu trongnewCS là phần tử trung tâm cụm (dòng 19-22). Đối với cụm không thuần nhấtC, mỗi trung bình lớp được được đánh trọng số là tổng trọng số của các phần tử của lớp (dòng 24-29) Những phần tử trung bình lớp này đóng vai trò là những phần tử trung bình khởi đầu cho giải thuật k-means (dòng 30) Giải thuật dRHC sử dụng giải thuật gom cụm k-means có quan tâm tới trọng số khi xác định trung tâm cụm Cho một cụmC, mỗi thuộc tínhd j , j = 1, 2, , ncủa trung tâm cụmm c (dòng20, 26) được tính dựa vào công thức (3.8).

Algorithm 5.dRHC: CS update phase

3: CList ←∅{empty list of clusters}

5: add new clusterC = {m}inCList 6: end for

8: x.weight = 1 9: FindC x ∈ CListwith the nearest toxmean

10: C x ← C x ∪ {x}{do not recompute mean ofC x }

24: M ←∅{M is the set of weighted class means}

GIẢI PHÁP THỰC HIỆN 33

HIỆN THỰC HỆ THỐNG

Để hiện thực chương trình chúng tôi đã xây dựng sơ đồ hoạt động với các bước hoạt động cụ thể, đồng thời xây dựng các module riêng lẻ đảm nhận những chức năng khác nhau liên kết lại tạo nên một chương trình hoàn chỉnh Ngoài ra hệ thống còn hỗ trợ kỹ thuật dRHC để hỗ trợ việc thu gọn tập huấn luyện có kích thước lớn và/hoặc bổ sung động theo thời gian.

4.1.1 Sơ đồ hoạt động chương trình chính

Với mục đích chính của đề tài là khảo sát, đánh giá hiệu quả phân lớp trước khi thu gọn (1) và sau khi thu gọn tập huấn luyện bằng hai kỹ thuật thu gọn khác nhau RHC (2) và Na¨ıve Ranking (3) Việc thu gọn RHC và việc xếp hạng Na¨ıve Ranking có thể tiến hành song song Để đảm bảo việc so sánh được công bình, số phần tử ngưỡng được giữ lại trong kỹ thuật Na¨ıve Ranking được xác định đúng bằng số phần tử được giữ lại trong kỹ thuật RHC Do đó sau khi tiến hành thu gọn RHC thì hệ thống có thể cho việc phân lớp trên 3 tập huấn luyện khác nhau chạy một cách đồng thời Riêng việc phân lớp trên tập dữ liệu gốc (chưa thu gọn) đã bắt đầu trước đó song song với giai đoạn thu gọn RHC và xếp hạng Na¨ıve Ranking Chi tiết hoạt động của hệ thống được trình bày một cách trực quan ở sơ đồ hoạt động Hình 4.1

Sơ đồ hoạt động ở Hình 4.1 thể hiện 3 bước hoạt động chính của hệ thống:

• Bước 1: Chương trình bắt đầu bằng việc đọc dữ liệu từ những bộ dữ liệu đã chọn

• Bước 2: Thực hiện phân lớp với giải thuật k-lân cận gần nhất với những tập huấn luyện khác nhau:

– Tập huấn luyện đã thu gọn bằng kỹ thuật RHC

– Tập huấn luyện đã thu gọn bằng kỹ thuật Na¨ıve Ranking

• Bước 3: Trả ra kết quả phân lớp các mẫu thử dựa vào các tập huấn luyện khác nhau.

Hình 4.1: Sơ đồ hoạt động chương trình chính so sánh RHC và Na¨ıve Ranking

4.1.2 Các module chính Để thực hiện các bước trong sơ đồ hoạt động trên, chương trình được xây dựng với các module chính sau:

• Module đọc dữ liệu: Chương trình bắt đầu bằng việc đọc dữ liệu từ những bộ dữ liệu đã chọn bao gồm tập huấn luyện và tập kiểm tra vào bộ nhớ chính

• Module RHC: Áp dụng giải thuật RHC để thu gọn tập huấn luyện bằng phương pháp trích yếu đại diện.

• Module Na¨ıve Ranking: Sàng lọc tập huấn luyện thông qua việc xếp hạng và độ ưu tiên cho các phần tử trong tập huấn luyện.

• Module thresholding: Cho phép người dùng điều chỉnh số phần tử ngưỡngn được giữ lại khi tiến hành thu gọn với kỹ thuật Na¨ıve Ranking.

• Module đo khoảng cách: Hiện thực độ đo xoắn thời gian động (DTW) để đo khoảng cách giữa các chuỗi thời gian.

• Module k-NN: Hiện thực giải thuật k-lân cận gần nhất với k = 1 để phân lớp trên tập dữ liệu kiểm tra.

• Module đánh giá: Thực hiện việc tính toán thời gian thu gọn, thời gian phân lớp và áp dụng công thức 4.1 để đánh giá kết quả phân lớp.

4.1.3 Sơ đồ hoạt động chương trình thu gọn dRHC

Sơ đồ hoạt động ở Hình 4.2 thể hiện 3 bước hoạt động chính của chương trình khảo sát kỹ thuật thu gọn dRHC:

• Bước 1: Chương trình bắt đầu bằng việc đọc dữ liệu từ những bộ dữ liệu đã chọn

• Bước 2: Thực hiện phân lớp với giải thuật k-lân cận gần nhất với những tập huấn luyện khác nhau:

– Tập huấn luyện đã thu gọn bằng kỹ thuật dRHC

• Bước 3: Trả ra kết quả phân lớp các mẫu thử dựa vào tập huấn luyện gốc và tập huấn luyện đã thu gọn bằng kỹ thuật dRHC.

Do việc phân lớp dựa vào tập huấn luyện gốc (1) và việc thực thi thu gọn dRHC và phân lớp dựa vào tập huấn luyện đã thu gọn dRHC (2) là hai tác vụ độc lập nhau nên chúng ta có thể cho chương trình chạy song song hai tác vụ này.

Chương trình thực nghiệm kỹ thuật dRHC, ngoài việc tận dụng lại các module đã được cài đặt ở chương trình chính (module đọc dữ liệu, module phân lớp k-NN, moduleRHC, và module đánh giá kết quả phân lớp) thì chúng tôi còn bổ sung module phân chia tập huấn luyện với nhiệm vụ phân chia tập huấn luyện gốc thành 2 phần chính:

Hình 4.2: Sơ đồ hoạt động chương trình dRHC

• Phần dành cho thu gọn với kỹ thuật RHC để có được tập ngưng tụ ban đầu: 50% tập huấn luyện gốc

• Phần dành cho giả lập môi trường động với các phân đoạn dữ liệu đến dần theo thời gian:50%tập huấn luyện gốc Phần này được chia làm 5 phần nhỏ bằng nhau,mỗi phần chiếm10%tập huấn luyện gốc, tạo nên 5 phân đoạn dữ liệu bằng nhau.

KẾT QUẢ THỰC NGHIỆM 38

MÔI TRƯỜNG THỰC NGHIỆM

Đề tài được thực nghiệm trên môi trường máy tính phổ thông:

• Cấu hình máy tính chạy thực nghiệm: Mac Book Pro, Intel core i7 2.5GHz, RAM 16GB.

• Ngôn ngữ lập trình: Java

• Công cụ sử dụng: Eclipse Neon.2 Release (4.6.2)

PHƯƠNG PHÁP THỰC NGHIỆM

Trong đề tài này,chúng tôi tiến hành các phương pháp thực nghiệm sau:

• Thực nghiệm thu gọn tập huấn luyện với các kỹ thuật Na¨ıve Ranking, RHC và dRHC.

• Thực nghiệm so sánh thời gian thực thi thu gọn với các kỹ thuật Na¨ıve Ranking, RHC và dRHC.

• Thực nghiệm so sánh độ chính xác phân lớp dựa trên tập huấn luyện trước và sau khi thu gọn.

• Thực nghiệm so sánh thời gian thực thi phân lớp dựa trên tập huấn luyện trước và sau khi thu gọn.

DỮ LIỆU THỰC NGHIỆM

Các tập dữ liệu thực nghiệm trong luận văn này được tải xuống từ thư viện dữ liệu “TheUCR Time Series Data Mining archive” [3] gồm dữ liệu từ nhiều lĩnh vực khác nhau như y tế, tài chính, sinh học Các bộ dữ liệu đều có số lớp, số phần tử trong tập huấn luyện và tập kiểm tra khác nhau Thông tin về các bộ dữ liệu được trình bày trong Bảng5.1.

STT Tên bộ dữ liệu Chiều dài Số lớp Tập huấn luyện Tập kiểm tra

Bảng 5.1: Thông tin các tập dữ liệu thực nghiệm

Thông tin chi tiết về một số bộ dữ liệu tiêu biểu được trình bày ngay trong phần tiếp theo.

ArrowHead là bộ dữ liệu hình ảnh, bao gồm các phác thảo hình ảnh của đầu mũi tên,được minh hoạ ở hình 5.1 Các hình dạng đầu mũi tên được chuyển đổi thành một chuỗi thời gian (hình 5.2) bằng cách sử dụng phương pháp dựa trên góc Việc phân loại hình dạng các đầu mũi tên là một chủ đề quan trọng trong nhân chủng học Các lớp được dựa trên sự phân biệt hình dạng như sự hiện diện và vị trí của một vết khía hình chữ V trên mũi tên Bộ dữ liệu có ba lớp là "Avonlea", "Clovis" và "Mix".

Hình 5.1: Một số hình ảnh minh hoạ bộ dữ liệu ArrowHead

Hình 5.2: Đầu mũi tên được biểu diễn dưới dạng Timeseries

BeetleFly là bộ dữ liệu chuỗi thời gian được chuyển đổi từ đường viền hình ảnh của con bọ cánh cứng (Beetle) và con ruồi (Fly), được minh hoạ ở hình 5.3 Bộ dữ liệu này có 2 lớp là Beetle và Fly mỗi lớp có 20 phần tử, mỗi phần tử có 512 điểm dữ liệu.

Hình 5.3: Một số hình ảnh minh hoạ bộ dữ liệu BeetleFly

5.3.3 Bộ dữ liệu Gun Point

Bộ dữ liệu này là từ một video cảnh giác Bộ dữ liệu gồm hai lớp, mỗi lớp gồm 100 mẫu.

Tất cả các mẫu đều được tạo ra từ một diễn viên nữ và một diễn viên nam diễn xuất trong một phân cảnh Hai lớp bao gồm:

• Rút súng (Gun-Draw): Các diễn viên để tay ngang hông Họ rút một khẩu súng từ túi da đeo ngang hông và chỉa súng về một đối tượng ở phía trước trong khoảng một giây, rồi đút súng lại vào túi da và để hai tay ngang hông Hình 5.4 là một minh họa về hình ảnh trích từ video này.

• Chỉ (Point): Các diễn viên để tay ngang hông Họ dùng ngón tay trỏ chỉ về một đối tượng ở phía trước trong khoảng một giây, rồi thu tay về để ngang hông Trong cả hai lớp, trung tâm của tay phải được theo dõi theo cả hai trục X và Y; tuy nhiên trong bộ dữ liệu này chỉ tập trung xem xét chuyển động theo trục X cho đơn giản.

Toàn bộ chuyển động của hai lớp đều khá tương tự nhau Tuy nhiên con người vốn có khả năng quan sát bằng mắt và phân biệt hai lớp hành vi một cách khá chính xác Sự

Hình 5.4: Vài ảnh rời trích từ video Gun-Draw: theo dõi hành vi của tay phải và chuyển thành một chuỗi cử động khác biệt tế nhị giữa hai lớp được diễn tả bằng hai đường cong đại diện cho hai lớp như trong hình 5.5

Hình 5.5: Dạng chuỗi thời gian thuộc lớp Point và dạng chuỗi thời gian thuộc lớp Gun-

Bộ dữ liệu này gồm 200 mẫu, mỗi lớp có 100 mẫu Tất cả các mẫu đều có cùng chiều dài là 150 điểm dữ liệu.

Bộ dữ liệu này là từ những hình ảnh của cá được chụp trong các video Từ hình thù của từng con cá, hệ thống xử lý ảnh sẽ chuyển hình dạng hai chiều của cá thành một chuỗi thời gian đơn biến, như được minh họa trong hình 5.6.

Hình 5.6: Chuỗi thời gian được tạo ra từ ánh xạ đường biên hình con cá

Từ một tập hợp hình ảnh của nhiều con cá dưới dạng thức chuỗi thời gian đơn biến, chúng ta cần phân lớp chúng thành ra 7 loại cá có tên như sau: Chinook Salmon, Winter Coho, Brown Trout, Bonneville Cutthroat, Colorado River Cutthroat, Yellowstone Cut- throat, và Mountain Whitefish.

Bộ dữ liệu Fish này gồm có 350 chuỗi thời gian biểu diễn hình dạng đường biên của cá.

Mỗi chuỗi thời gian có cùng chiều dài gồm 463 điểm dữ liệu Chúng ta cần phân lớp bộ dữ liệu thành 7 lớp ứng với 7 loại cá có tên nêu trên.

Bộ dữ liệu này là một tập con của bộ dữ liệu Transient Classification Benchmark (dự án Trace) Đây là một bộ dữ liệu tổng hợp được thiết kế để mô phỏng sự hỏng hóc của thiết bị đo trong một nhà máy năng lượng hạt nhân Bộ dữ liệu được tạo ra bởi Davide Roverso Bộ dữ liệu đầy đủ gồm 16 lớp, 50 mẫu trong mỗi lớp Mỗi mẫu gồm 4 đặc trưng. Để đơn giản, bộ dữ liệu Trace ở đây chỉ gồm đặc trưng thứ hai của lớp 2 và 6 cùng đặc trưng thứ ba của lớp 3 và 7 Bộ dữ liệu Trace ở đây gồm 200 mẫu, 50 mẫu cho mỗi lớp.

Tất cả các mẫu được nội suy để đưa về cùng chiều dài gồm 275 điểm dữ liệu Hình 5.7 biểu diễn các lớp trong bộ dữ liệu Trace.

Hình 5.7: Biểu đồ biểu diễn các lớp trong bộ dữ liệu Trace

THỰC NGHIỆM SO SÁNH ĐỘ CHÍNH XÁC PHÂN LỚP TRƯỚC VÀ

5.4.1 Xác định cửa sổ xoắn tối ưu Đề tài áp dụng độ đo xoắn thời gian động (DTW) trong việc tính toán khoảng cách giữa các chuỗi thời gian Do đó trước khi tiến hành thu gọn tập huấn luyện và so sánh kết quả phân lớp, nhằm tối ưu thời gian tính độ đo khoảng cách DTW, chúng tôi bắt đầu với việc xác định cửa sổ xoắn tối ưu.

Giải thuật xác định cửa sổ xoắn chỉ đơn giản là trên mỗi bộ dữ liệu, giải thuật cho kích thước cửa số xoắn tăng dần từ 1% tới 100% (so với chiều dài chuỗi thời gian) và tiến hành phân lớp bằng kỹ thuật k-lân cận gần nhất Giải thuật dừng lại khi độ chính xác phân lớp đạt 100% hoặc khi kích thước cửa sổ xoắn đã bằng với chiều dài chuỗi thời gian Bảng 5.2 liệt kê những bộ dữ liệu sẽ tiến hành thực nghiệm với kích thước cửa sổ xoắn (phần trăm so với số chiều dài mẫu dữ liệu) nhỏ nhất mà ở đó cho kết quả phân lớp bằng giải thuật k-lân cận gần nhất với độ chính xác tốt nhất.

STT Tên bộ dữ liệu Độ chính xác cao nhất (%)

Kích thước cửa sổ xoắn (%)

Bảng 5.2: Kích thước cửa sổ xoắn cho kết quả phân lớp k-NN tối ưu

Kết quả trên cho thấy với kích thước cửa sổ xoắn khoảng 4.6% chiều dài chuỗi dữ liệu thì cho độ chính xác phân lớp k-lân cận gần nhất tối ưu nhất Kết quả này khá tương đồng với nghiên cứu của Keogh và các cộng sự [6].

5.4.2 Số phần tử được giữ lại trong tập huấn luyện bằng nhau

Kết quả thực nghiệm cho thấy rằng, phân lớp k-NN dựa trên tập huấn đã thu gọn bằng kỹ thuật thu gọn RHC cho độ chính xác trung thấp hơn khoảng7% so với độ chính xác phân lớp k-NN dựa trên tập huấn luyện ban đầu Nhưng thời gian thực hiện phân lớp trên tập huấn luyện đã thu gọn chỉ bằng khoảng25% so với thời gian thực hiện phân lớp trên tập huấn luyện ban đầu. Độ chính xác phân lớp sau khi thu gọn với kỹ thuật RHC cao hơn hẳn (trung bình 22%) so với kỹ thuật Na¨ıve Ranking.

Bảng 5.3 trình bày chi tiết kết quả gọn tập huấn luyện và độ chính xác phân lớp trước thu gọn và sau khi thu gọn áp dụng các kỹ thuật thu gọn tập huấn luyện RHC và Na¨ıveRanking.

Bộ dữ liệu Tập huấn luyện Độ chính xác phân lớp KNN(%)

Ban đầu Thu gọn Tỉ lệ(%) Tập gốc RHC Na¨ıve Ranking

Bảng 5.3: So sánh độ chính xác phân lớp sau khi thu gọn tập huấn luyện bằng kỹ thuật

RHC và kỹ thuật Na¨ıve RankingKết quả so sánh độ chính xác phân lớp được biểu diễn trực quan ở biểu đồ Hình 5.8.

Hình 5.8: Biểu đồ so sánh độ chính xác phân lớp trước và sau khi thu gọn tập huấn luyện với kỹ thuật RHC và Na¨ıve Ranking

Ta có thể thấy rất rõ độ chính xác phân lớp với tập huấn luyện đã thu gọn bằng kỹ thuật RHC luôn xấp xỉ với độ chính xác phân lớp trên tập huấn luyện chưa thu gọn và cao hơn hẳn so với độ chính xác phân lớp trên tập huấn luyện đã thu gọn bằng kỹ thuật Na¨ıve Ranking.

Tiếp theo là kết quả chi tiết thời gian thực thi của hai kỹ thuật thu gọn tập huấn luyệnRHC và Na¨ıve Ranking cho từng bộ dữ liệu, được trình bày ở Bảng 5.4

Bộ dữ liệu Ban đầu Thu gọn Tỉ lệ thu gọn

(%) Thời gian thực thi (ms)

Bảng 5.4: Thời gian thực thi hai kỹ thuật thu gọn tập huấn luyện RHC và Na¨ıve Ranking

Kết quả ở Bảng 5.4 cho thấy thời gian thực thi của kỹ thuật thu gọn tập huấn luyện RHC trung bình chỉ 8 mili giây thấp hơn hẳn so với kỹ thuật thu gọn Na¨ıve Ranking trung bình 1072 mili giây.

5.4.3 Điều chỉnh số phần tử được giữ lại trong tập huấn luyện với giải thuật

Từ kết quả phần trước, khi ngưỡngn của giải thuật Na¨ıve Ranking được xác định đúng bằng số lượng phần tử được giữ lại từ kỹ thuật RHC thì độ chính xác phân lớp giảm đi đáng kể (khoảng 29%) so với độ chính xác phân lớp khi chưa thu gọn, hay đã thu gọn với kỹ thuật RHC Do đó trong phần này chúng tôi sẽ tiến hành điều chỉnh ngưỡngncủa giải thuật Na¨ıve Ranking tăng dần, bắt đầu từ30% (so với tập ban đầu) để tìm ngưỡng thích hợp mà ở đó kết quả phân lớp cho độ chính xác cao hơn hoặc tương đương với kỹ thuật RHC.

Kết quả được ghi nhận ở Bảng 5.5 cho thấy khi tăng ngưỡng n lên 60% thì độ chính xác phân lớp đạt được tương đương với độ chính xác khi phân lớp trên tập thu gọn với kỹ thuật RHC.

Bộ dữ liệu Độ chính xác phân lớp k-NN (%) sau thu gọn Na¨ıve Ranking với ngưỡng n = %tập huấn luyện ban đầu n0% n@% nP% n`%

Bảng 5.5: Độ chính xác phân lớp k-NN tương ứng với ngưỡngn trong kỹ thuật thu gọn

Tuy độ chính xác phân lớp đạt được tương đương với phân lớp trên tập huấn luyện đã thu gọn bằng kỹ thuật RHC nhưng vì chọn ngưỡng khá cao (n = 60% so với tập huấn luyện ban đầu) nên việc phân lớp tốn nhiều thời gian hơn Bảng 5.6 thể hiện kết quả so sánh thời gian phân lớp trên tập huấn luyện đã thu gọn bằng kỹ thuật RHC và thời gian phân lớp trên tập huấn luyện đã thu gọn bằng kỹ thuật Na¨ıve Ranking với ngưỡng n = 60% Kết quả này cho thấy rằng thời gian phân lớp trên tập huấn luyện đã thu gọn bằng kỹ thuật Na¨ıve Ranking với ngưỡngn = 60%luôn cao hơn nhiều (trung bình khoảng 2.35 lần) so với thời gian phân lớp trên tập huấn luyện đã thu gọn bằng kỹ thuậtRHC.

Bộ dữ liệu Thời gian thực thi phân lớp k-NN (%) (ms)

Tập huấn luyện đã thu gọn RHC

Tập huấn luyện đã thu gọn Na¨ıve Ranking vớin`%

Bảng 5.6: Thời gian thực thi phân lớp trên tập huấn luyện đã thu gọn bằng RHC và Na¨ıve

THỰC NGHIỆM THU GỌN TẬP HUẤN LUYỆN VỚI KỸ THUẬT dRHC 50 Chương 6 TỔNG KẾT 53

Trong phần thực nghiệm này, chúng tôi giả lập tập huấn luyện là động bằng cách chia tập huấn luyện ban đầu làm hai phần bằng nhau Một phần được thu gọn với kỹ thuật RHC.

Phần còn lại chia làm năm, mỗi phần chiếm 10% tập huấn luyện ban đầu, được xem là các phân đoạn dữ liệu (data segment) đến dần theo thời gian Sau đó chúng tôi áp dụng kỹ thuật thu gọn dRHC trên các phân đoạn dữ liệu này Kỹ thuật dRHC được đề xuất để giải quyết vấn đề thu gọn cho những tập huấn luyện có kích thước lớn Do đó trong đề tài này chúng tôi chọn thực nghiệm trên những bộ dữ liệu có kích thước tập huấn luyện từ100 phần tử trở lên Vì làm việc trên những tập huấn luyện có kích thước lớn nên chúng tôi không tiến hành tìm kích thước cửa sổ xoắn tối ưu cho từng bộ dữ liệu (do việc vét cạn tốn nhiều chi phí tính toán và thời gian thực thi) mà áp dụng kết quả này nghiên cứu của Keogh và cộng sự với kích thước cửa sổ xoắn trung bình là4%chiều dài chuỗi thời gian [6] Thông tin chi tiết những bộ dữ liệu này được trình bày ở Bảng 5.7.

STT Tên Bộ Dữ Liệu Chiều Dài Số Lớp Tập Huấn Luyện Tập Kiểm Tra

Bảng 5.7: Thông tin các tập dữ liệu thực nghiệm với kỹ thuật dRHC

Kết quả thực nghiệm cho thấy tỉ lệ thu gọn bằng kỹ thuật dRHC khá cao, tập huấn luyện còn lại khoảng 28% so với ban đầu Tuy tỉ lệ thu gọn cao nhưng không làm ảnh hưởng nhiều đến độ chính xác phân lớp Độ chính xác phân lớp trên tập huấn luyện đã thu gọn bằng kỹ thuật dRHC chỉ thấp hơn trung bình 5% so với độ chính xác phân lớp trên tập huấn luyện ban đầu Thời gian thực hiện thu gọn cũng không đáng kể, trung bình khoảng 106 mili giây.

Bảng 5.8 thể hiện chi tiết số liệu về kích thước tập huấn luyện sau thu gọn, tỉ lệ thu gọn, thời gian thu gọn, độ chính xác phân lớp trước và sau khi thu gọn của từng bộ dữ liệu.

Từ kết quả này cho thấy dRHC thật sự là một kỹ thuật thu gọn tập huấn luyện rất hiệu quả về cả thời gian thực thi và độ chính xác phân lớp sau thu gọn Kỹ thuật dRHC rất phù hợp với những tập huấn luyện có kích thước lớn và/hoặc đến bổ sung dần theo thời gian.

Bộ dữ liệu Tập huấn luyện Độ chính xác phân lớp KNN(%)

Ban đầu Thu gọn Tỉ lệ

Thời gian thu gọn (ms) dRHC Tập gốc

Bảng 5.8: Tỉ lệ thu gọn bằng kỹ thuật dRHC và độ chính xác phân lớp dựa trên tập huấn luyện đã thu gọn.

KẾT LUẬN CỦA LUẬN VĂN

Qua quá trình nghiên cứu các công trình liên quan, thực nghiệm và so sánh kết quả phân lớp trên 15 bộ dữ liệu mẫu, chúng tôi đi đến một số kết luận sau đây:

• Kết luận về việc thu gọn tập huấn luyện bằng kỹ thuật RHC: Đây là kỹ thuật thu gọn tập huấn luyện mạnh mẽ, số phần tử sau khi thu gọn chỉ bằng 1/4 so với tập ban đầu với thời gian thực thi nhanh nhưng vẫn duy trì độ chính xác phân lớp cao.

RHC thật sự là một kỹ thuật thu gọn tập huấn luyện tiềm năng, đặc biệt là với dữ liệu chuỗi thời gian.

• Kết luận về việc thu gọn tập huấn luyện bằng kỹ thuật dRHC: Tương tự như RHC về tính hiệu quả nhưng đặc biệt dRHC rất phù hợp với các đặc điểm của dữ liệu chuỗi thời gian trong xu hướng dữ liệu lớn ngày nay là kích thước tập huấn luyện lớn, tăng dần và tăng nhanh theo thời gian.

• Kết luận về việc thu gọn tập huấn luyện bằng kỹ thuật Na¨ıve Ranking: Kết quả thực nghiệm cho thấy với việc lựa chọn ngưỡng n thích hợp, chúng ta có thể thu giảm đáng kể thời gian thực hiện phân lớp trong khi vẫn duy trì được độ chính xác phân lớp cao Trong một số trường hợp có thể làm tăng độ chính xác khi loại bỏ các phần tử dễ gây nhầm lẫn khi phân lớp Số lượng dữ liệu tập huấn luyện thu giảm (hoặc giữ lại) – ngưỡngn– có thể thay đổi tùy thuộc vào nhu cầu người dùng và miền ứng dụng khác nhau, theo từng bộ dữ liệu khác nhau Tuy nhiên chúng tôi khuyến nghị số phần tử được giữ lại trong tập huấn luyện nên từ 60% trở lên.

Tóm lại, qua quá trình thực nghiệm kỹ thuật thu gọn tập huấn luyện RHC đã thể hiện những ưu điểm vượt trội hơn hẵn so với kỹ thuật Na¨ıve Ranking về tỉ lệ thu gọn, thời gian thu gọn và đặc biệt là độ chính xác phân lớp sau khi thu gọn.

KẾT QUẢ ĐẠT ĐƯỢC

Trong nghiên cứu này chúng tôi đạt được những kết quả sau:

• Khảo sát và đánh giá được hiệu quả của kỹ thuật thu gọn tập huấn luyện RHC,dRHC, Na¨ıve Ranking trên dữ liệu chuỗi thời gian dựa trên tiêu chí tỉ lệ thu gọn,thời gian thực hiện thu gọn, và độ chính xác phân lớp sau khi thu gọn.

• Nghiên cứu đã so sánh được độ chính xác phân lớp trước và sau khi thu gọn tập huấn luyện bằng các kỹ thuật RHC, dRHC, Na¨ıve Ranking trên dữ liệu chuỗi thời gian.

• Nghiên cứu đã tìm ra được tham số ngưỡng thích hợp cho giải thuật Na¨ıve Ranking mà khi đó độ chính xác phân lớp sau thu gọn đạt được tương đương với độ chính xác phân lớp sau khi thu gọn bằng kỹ thuật RHC.

HƯỚNG PHÁT TRIỂN

Đề tài tập trung vào so sánh hiệu quả phân lớp sau khi thu gọn tập huấn luyện bằng kỹ thuật RHC với kỹ thuật Na¨ıve Ranking nhưng chưa nghiên cứu cải tiến để nâng cao hơn nữa độ chính xác phân lớp sau thu gọn bằng kỹ thuật RHC, dRHC Ngoài ra, đề tài chỉ áp dụng độ đo xoắn thời gian động mà chưa tiếp cận thực nghiệm với các độ đo khác nhau do đó hướng phát triển tiếp theo của đề tài sẽ tập trung vào những vấn đề sau đây:

• Tham số hoá giải thuật RHC, dRHC để người dùng có thể điều chỉnh kích thước tập huấn luyện sau khi thu gọn mà độ chính xác phân lớp có thể được cải thiện khi điều chỉnh tham số này.

• Áp dụng các độ đo khác nhau trong tính toán khoảng cách giữa hai chuỗi thời gian để khảo sát kết quả thu gọn và so sánh độ chính xác phân lớp sau thu gọn bằng các kỹ thuật RHC và Na¨ıve Ranking.

[1] Buza, K., Nanopoulos A., and Schmidt-Thieme L (2011), "INSIGHT: Efficient and Effective Instance Selection for Time-Series Classification", Proceedings of PAKDD 2011, Shenzen, China, May 24-27.

[2] Chen, C.H., Jozwik, A (1996), "A sample set condensation algorithm for the class sensitive artificial neural network" Pattern Recogn Lett 17(8), 819–823.

[3] Chen, Y., Keogh, E., Ha, B., Begum, N Bagnall, A., Mueen, A and Batista, G.:

The UCR Time Series Classification Archive, URL:http://www.cs.ucr.edu/

[4] Duong Tuan Anh (2009), “An Overview of Similarity Search in Time Series Data”, in Proceedings of the 11th Conference on Science and Technology - Section of Computer Science and Engineering, Ho Chi Minh City University of Technology, 21-23 October, 2009, pp 86-95.

[5] Keogh E., (2002), "Exact indexing of dynamic time warping" In Proceedings of the 28th VLDB Conference, Hong Kong, China.

[6] Keogh E., Ratanamahatana C., "Three Myths about Dynamic Time Warping Data Mining" In Proceedings of the 2005 SIAM International Conference on Data Min- ing, 506-510.

[7] Han J., Kamber M., Pei J (2012), Data Mining: Concepts and Techniques, Third Edition, Morgan Kaufmann Publishers.

[8] Lin J., Keogh E., Lonardi S., and Chiu B (2003), “A symbolic representation of time series, with implications for streaming algorithms”, in SIGMOD’03, 2003.

[9] Hart,P.E., "The condensed nearest neighbor rule" IEEE Transactions on Informa- tion Theory 14(3), 515–516 (1968)

[10] Ougiaroglou S and Evangelidis G (2016), "RHC: a non-parametric cluster-based data reduction for efficient k-NN classification" Pattern Analysis and Applications, Vol 19, 93-109.

[11] Ougiaroglou S., Karamitopoulos L., Tatoglou C (2015), "Applying Prototype Selection and Abstraction Algorithms for Efficient Time-Series Classification".

Artificial Neural Networks Methods and Applications in Bio-/Neuroinformatics pp.333-348

[12] Peter G Zhang (2000), "Neural Networks for Classification: A Survey" IEEE Transactions on Systems Man and Cybernetics Part C, Vol 30, pp 451 - 462.

[13] Sakoe, H and Chiba, S (1978), "Dynamic programming algorithm optimization for spoken word recognition" IEEE Transactions on Acoustics, Speech, and Signal Processing, Vol 26, pp 43-49.

[14] Sánchez, J.S (2004), "High training set size reduction by space partitioning and prototype ab straction" Pattern Recognition 37(7), 1561–1564

[15] Yamada, Y., Suzuki, E., Yokoi H., Takabayashi K (2003), "Decision-tree induction from time-series data based on a standard-example split test" In: Proc Twentieth International Conference on Machine Learning (ICML), pp 840–847

[16] Xi X., Keogh E., Shelton C., Wei L., and Ratanamahatana C A (2006), “Fast Time Series Classification using Numerosity Reduction.” In the Proc of the 23rd ICML, 1033-1040.

[17] Wang X., Mucen A., Ding H., Trjcevske G., Scheuermann P., Keogh E (2013),

"Experiment Comparision of Representation Methods and Distance Measures forTime Series, Data Mining and Knowledge Discovery", Vol 26, pp.275-309.

BẢNG THUẬT NGỮ ANH - VIỆT VÀ TỪ VIẾT TẮT

Thuật ngữ tiếng Anh Thuật ngữ tiếng Việt Viết tắt

Dynamic Time Warping Xoắn thời gian động DTW

Reduction through Homogeneous Clusters Thu gọn dựa vào gom cụm RHC Dynamic Reduction through

Homogeneous Clusters Thu gọn dựa vào gom cụm động dRHC

Condensing Set Tập ngưng tụ CS k-Nearest Neighbors k-lân cận gần nhất k-NN

Artificial Neural Network Mạng nơron nhân tạo ANN

Support Vector Machine Máy vector hỗ trợ SVM

Data Reduction Technique Kỹ thuật thu gọn dữ liệu DRT

Instance-Based Learning Học dựa trên mẫu IBL

Chen and Jozwik’s Algorithm Giải thuật Chen và Jozwik CJA

Reduction by Space Partitioning Thu gọn bằng cách phân chia không gian RSP

Training set Tập huấn luyện TS

Accuracy Độ chính xác ACC

Classification Cost Chi phí phân lớp CC

Reduction Rate Tỉ lệ thu gọn RR

Preprocessing Cost Chi phí tiền xử lý PC

Condensing Nearest Neighbour Lân cận gần nhất ngưng tụ CNN Prototype Selection by Clustering Lựa chọn đại diện bằng gom cụm PSC

Self- generating Prototype Tự sinh đại diện SGP

Adaptive WARping winDow Cửa sổ xoắn thích nghi AWARD

Sliding Windows Cửa sổ trượt –

Ngày đăng: 09/09/2024, 00:13

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Ví dụ về chuỗi thời gian động đất - Luận văn thạc sĩ Khoa học máy tính: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian
Hình 2.1 Ví dụ về chuỗi thời gian động đất (Trang 16)
Hình 2.2: Ví dụ về chuỗi con và cửa sổ trượt [8]. - Luận văn thạc sĩ Khoa học máy tính: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian
Hình 2.2 Ví dụ về chuỗi con và cửa sổ trượt [8] (Trang 17)
Hình 2.3: Độ đo Euclid và độ đo xoắn thời gian động [5] - Luận văn thạc sĩ Khoa học máy tính: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian
Hình 2.3 Độ đo Euclid và độ đo xoắn thời gian động [5] (Trang 20)
Hình 2.3 mô tả sự khác biệt giữa độ đo Euclid và độ đo xoắn thời gian động. - Luận văn thạc sĩ Khoa học máy tính: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian
Hình 2.3 mô tả sự khác biệt giữa độ đo Euclid và độ đo xoắn thời gian động (Trang 20)
Hình 2.5: Biểu đồ biểu diễn 2 chuỗi thời gian Q và C - Luận văn thạc sĩ Khoa học máy tính: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian
Hình 2.5 Biểu đồ biểu diễn 2 chuỗi thời gian Q và C (Trang 21)
Bảng 2.1: Ma trận khoảng cách giữa hai chuỗi thời gian Q và C Dựa vào đường xoắn tìm được ta có mô hình biểu diễn sự ánh xạ giữa các điểm dữ liệu giữa hai chuỗi thời gian Q và C ở hình 2.6. - Luận văn thạc sĩ Khoa học máy tính: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian
Bảng 2.1 Ma trận khoảng cách giữa hai chuỗi thời gian Q và C Dựa vào đường xoắn tìm được ta có mô hình biểu diễn sự ánh xạ giữa các điểm dữ liệu giữa hai chuỗi thời gian Q và C ở hình 2.6 (Trang 21)
Hình 2.6: Biểu đồ biểu diễn sự tương quan của 2 chuỗi thời gian Q và C - Luận văn thạc sĩ Khoa học máy tính: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian
Hình 2.6 Biểu đồ biểu diễn sự tương quan của 2 chuỗi thời gian Q và C (Trang 22)
Hình 2.7: Ràng buộc dải Sakoe - Chiba - Luận văn thạc sĩ Khoa học máy tính: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian
Hình 2.7 Ràng buộc dải Sakoe - Chiba (Trang 23)
Hình 2.9 minh họa ví dụ phân lớp đối tượng mới vào lớp Dog hoặc Cat dựa vào k-lân cận gần nhất với trường hợp k = 1 - Luận văn thạc sĩ Khoa học máy tính: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian
Hình 2.9 minh họa ví dụ phân lớp đối tượng mới vào lớp Dog hoặc Cat dựa vào k-lân cận gần nhất với trường hợp k = 1 (Trang 24)
Hình 2.10: Kỹ thuật SVM trong không gian 2 chiều với siêu phẳng tuyến tính chia không - Luận văn thạc sĩ Khoa học máy tính: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian
Hình 2.10 Kỹ thuật SVM trong không gian 2 chiều với siêu phẳng tuyến tính chia không (Trang 27)
Hình 3.1: Biểu đồ phân bố của hàm f G 1 (x) trên một số chuỗi thời gian. Trục hoành thể - Luận văn thạc sĩ Khoa học máy tính: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian
Hình 3.1 Biểu đồ phân bố của hàm f G 1 (x) trên một số chuỗi thời gian. Trục hoành thể (Trang 31)
Hình 3.2: Quy trình thực hiện của giải thuật RHC [10]. - Luận văn thạc sĩ Khoa học máy tính: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian
Hình 3.2 Quy trình thực hiện của giải thuật RHC [10] (Trang 34)
Hình 3.3: Quy trình thực hiện giải thuật dRHC [10] - Luận văn thạc sĩ Khoa học máy tính: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian
Hình 3.3 Quy trình thực hiện giải thuật dRHC [10] (Trang 36)
Hình 4.1: Sơ đồ hoạt động chương trình chính so sánh RHC và Na¨ıve Ranking - Luận văn thạc sĩ Khoa học máy tính: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian
Hình 4.1 Sơ đồ hoạt động chương trình chính so sánh RHC và Na¨ıve Ranking (Trang 46)
Hình 4.2: Sơ đồ hoạt động chương trình dRHC - Luận văn thạc sĩ Khoa học máy tính: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian
Hình 4.2 Sơ đồ hoạt động chương trình dRHC (Trang 48)
Hình 5.1: Một số hình ảnh minh hoạ bộ dữ liệu ArrowHead - Luận văn thạc sĩ Khoa học máy tính: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian
Hình 5.1 Một số hình ảnh minh hoạ bộ dữ liệu ArrowHead (Trang 52)
Hình 5.2: Đầu mũi tên được biểu diễn dưới dạng Timeseries - Luận văn thạc sĩ Khoa học máy tính: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian
Hình 5.2 Đầu mũi tên được biểu diễn dưới dạng Timeseries (Trang 52)
Hình 5.3: Một số hình ảnh minh hoạ bộ dữ liệu BeetleFly - Luận văn thạc sĩ Khoa học máy tính: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian
Hình 5.3 Một số hình ảnh minh hoạ bộ dữ liệu BeetleFly (Trang 53)
Hình 5.4: Vài ảnh rời trích từ video Gun-Draw: theo dõi hành vi của tay phải và chuyển - Luận văn thạc sĩ Khoa học máy tính: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian
Hình 5.4 Vài ảnh rời trích từ video Gun-Draw: theo dõi hành vi của tay phải và chuyển (Trang 54)
Hình 5.5: Dạng chuỗi thời gian thuộc lớp Point và dạng chuỗi thời gian thuộc lớp Gun- - Luận văn thạc sĩ Khoa học máy tính: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian
Hình 5.5 Dạng chuỗi thời gian thuộc lớp Point và dạng chuỗi thời gian thuộc lớp Gun- (Trang 54)
Hình 5.6: Chuỗi thời gian được tạo ra từ ánh xạ đường biên hình con cá - Luận văn thạc sĩ Khoa học máy tính: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian
Hình 5.6 Chuỗi thời gian được tạo ra từ ánh xạ đường biên hình con cá (Trang 55)
Hình 5.7: Biểu đồ biểu diễn các lớp trong bộ dữ liệu Trace - Luận văn thạc sĩ Khoa học máy tính: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian
Hình 5.7 Biểu đồ biểu diễn các lớp trong bộ dữ liệu Trace (Trang 56)
Bảng 5.3 trình bày chi tiết kết quả gọn tập huấn luyện và độ chính xác phân lớp trước thu gọn và sau khi thu gọn áp dụng các kỹ thuật thu gọn tập huấn luyện RHC và Na¨ıve Ranking. - Luận văn thạc sĩ Khoa học máy tính: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian
Bảng 5.3 trình bày chi tiết kết quả gọn tập huấn luyện và độ chính xác phân lớp trước thu gọn và sau khi thu gọn áp dụng các kỹ thuật thu gọn tập huấn luyện RHC và Na¨ıve Ranking (Trang 57)
Hình 5.8: Biểu đồ so sánh độ chính xác phân lớp trước và sau khi thu gọn tập huấn luyện - Luận văn thạc sĩ Khoa học máy tính: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian
Hình 5.8 Biểu đồ so sánh độ chính xác phân lớp trước và sau khi thu gọn tập huấn luyện (Trang 59)
Bảng 5.5: Độ chính xác phân lớp k-NN tương ứng với ngưỡng n trong kỹ thuật thu gọn - Luận văn thạc sĩ Khoa học máy tính: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian
Bảng 5.5 Độ chính xác phân lớp k-NN tương ứng với ngưỡng n trong kỹ thuật thu gọn (Trang 61)
Bảng 5.6: Thời gian thực thi phân lớp trên tập huấn luyện đã thu gọn bằng RHC và Na¨ıve - Luận văn thạc sĩ Khoa học máy tính: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian
Bảng 5.6 Thời gian thực thi phân lớp trên tập huấn luyện đã thu gọn bằng RHC và Na¨ıve (Trang 62)
Bảng 5.7: Thông tin các tập dữ liệu thực nghiệm với kỹ thuật dRHC - Luận văn thạc sĩ Khoa học máy tính: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian
Bảng 5.7 Thông tin các tập dữ liệu thực nghiệm với kỹ thuật dRHC (Trang 63)
Bảng 5.8: Tỉ lệ thu gọn bằng kỹ thuật dRHC và độ chính xác phân lớp dựa trên tập huấn - Luận văn thạc sĩ Khoa học máy tính: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian
Bảng 5.8 Tỉ lệ thu gọn bằng kỹ thuật dRHC và độ chính xác phân lớp dựa trên tập huấn (Trang 64)
BẢNG THUẬT NGỮ ANH - VIỆT VÀ TỪ VIẾT TẮT - Luận văn thạc sĩ Khoa học máy tính: So sánh hai phương pháp thu gọn tập huấn luyện RHC và Naive Ranking trong phân lớp dữ liệu chuỗi thời gian
BẢNG THUẬT NGỮ ANH - VIỆT VÀ TỪ VIẾT TẮT (Trang 69)