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

Ứ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 29 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 94
Dung lượng 2,69 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

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.. Sau đó chúng ta áp dụng giải thuật phân lớp

Trang 1

Đại Học Quốc Gia Thành Phố Hồ Chí Minh

Trường Đại Học Bách Khoa - -

NGUYỄN QUỐC VIỆT

Ứ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

CHUYÊN NGÀNH : KHOA HỌC MÁY TÍNH

MÃ SỐ CHUYÊN NGÀNH : 60.48.01

LUẬN VĂN THẠC SĨ GVHD: PGS.TS DƯƠNG TUẤN ANH

TP HỒ CHÍ MINH, 2013

Trang 2

ĐẠI HỌC QUỐC GIA TP HCM CỘNG HOÀ XÃ HỘI CHỦ NGHIÃ VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc Lập - Tự Do - Hạnh Phúc

- -oOo -

Tp HCM, ngày 19 tháng 05 năm 2013 NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ và tên học viên: Nguyễn Quốc Việt……… Giới tính: Nam / Nữ Ngày, tháng, năm sinh: 31/07/1987 Nơi sinh: Đồng Nai Chuyên ngành: Khoa học Máy tính………

4-NGÀY HOÀN THÀNH NHIỆM VỤ:

………

……… 5-HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: PGS.TS Dương Tuấn Anh…………

Nội dung và đề cương Luận Văn Thạc Sĩ đã được Hội Đồng Chuyên Ngành thông qua

(Họ tên và chữ kí) QUẢN LÝ CHUYÊN NGÀNH

PGS.TS Dương Tuấn Anh

Trang 3

LỜI CAM ĐOAN Tôi cam đoan rằng, ngoại trừ các kết quả tham khảo từ các công trình khác như đã ghi rõ trong luận văn, các công việc trình bày trong luận văn này do chính tôi thực hiện và chưa có phần nội dung nào của luận văn này được nộp để lấy một bằng cấp ở trường này hoặc trường khác

Trang 4

LỜI CẢM ƠN

Tôi xin gửi lời cám ơn chân thành và sâu sắc nhất đến PGS TS.Dương Tuấn Anh, người Thầy đã không quản thời gian công sức luôn tận tình chỉ bảo và hướng dẫn tôi trong suốt thời gian tôi thực hiện luận văn này

Tôi xin cám ơn các quí thầy cô, những người đã gián tiếp và trực tiếp chỉ bảo và hướng dẫn giúp tôi có những kiến thức cần thiết để thực hiện luận văn này Qua đây tôi cũng xin cám ơn các anh chị và các bạn trong cùng nhóm nghiên cứu đã giúp đỡ, góp ý cho tôi trong suốt quá trình làm luận văn

Một lần nữa tôi xin gửi lời cám ơn chân thành đến tất cả mọi người

Trang 5

TÓM TẮT LUẬN VĂN

Bài toán phân lớp dữ liệu chuỗi thời gian có vai trò quan trọng trong lĩnh vực khai

phá dữ liệu Nó giúp cho việc phân tích dữ liệu và dự đoán tương lai, đặc biệt trong

những lĩnh vực như tài chính hay y học

Đề 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 Giải thuật gồm có hai

giai đoạn: Giai đoạn Huấn luyện và Giai đoạn Phân lớp

Trong giai đoạn Huấn luyện, luận văn đề xuất chiến lược sắp xếp Simple Rank

dựa trên thông tin motif của mỗi đối tượng dữ liệu chuỗi thời gian Chiến lược này sắp

xếp tập dữ liệu dựa trên motif của mỗi chuỗi dữ liệu thay vì dựa trên từng chuỗi dữ

liệu gốc, qua đó rút ngắn thời gian huấn luyện

Trong giai đoạn Phân lớp, giải thuật sẽ tìm kiếm trong tập huấn luyện chuỗi gần

nhất với chuỗi mục tiêu Thứ tự tìm kiếm là thứ tự đã được sắp xếp trong giai đoạn

huấn luyện Giải thuật có thể dừng bất kỳ lúc nào Kết quả phân lớp là nhãn lớp của

chuỗi gần với chuỗi mục tiêu nhất đến thời điểm dừng giải thuật

Độ tương tự của các chuỗi thời gian được sử dụng là Khoảng cách xoắn thời gian

động Để cải thiện thời gian thực thi của giải thuật, đề tài sử dụng kỹ thuật tính chặn

dưới LowerBound Keogh vào cả hai giai đoạn huấn luyện và phân lớp.

Trang 6

MỤC LỤC

Trang

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

TÓM TẮT LUẬN VĂN iii

MỤC LỤC iv

DANH MỤC HÌNH ẢNH vii

DANH MỤC BẢNG BIỂU x

CHƯƠNG 1: GIỚI THIỆU 1

1.1 Phát biểu vấn đề 1

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

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

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

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 7

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

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

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

2.2 Kỹ thuật phân lớp k láng giềng gần nhất 14

CHƯƠNG 3: CÁC CÔNG TRÌNH CÓ LIÊN QUAN 16

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

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

3.1.2 Ràng buộc hình bình hành Itakura 17

3.1.3 Dải Ratanamahatana-Keogh (dải R-K) 17

3.2 Các kỹ thuật tính chặn dưới cho khoảng cách DTW 19

3.2.1 Ý nghĩa của chặn dưới 19

3.2.2 Phương pháp tính chặn dưới LB_Keogh 20

3.2.3 Đánh giá 23

Trang 7

3.3.1 Giải thuật phân lớp 23

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

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

3.4.1 Giải thuật Brute-force để phát hiện motif 30

3.4.2 Nhận diện motif dựa vào phương pháp chiếu ngẫu nhiên (Random Projection Algorithm) 31

3.4.3 Giải thuật MK cải tiến 33

3.4.4 Giải thuật phát hiện motif dựa trên điểm cực trị quan trọng 41

3.4.4.1 Điểm cực trị quan trọng (Important Extreme Points) 41

3.4.4.2 Độ đo tương tự 44

3.4.4.3 Tìm ứng viên Motif 46

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) 47

3.4.4.5 Khái niệm về phép biến hình vị tự 48

3.4.4.6 Lấy mẫu các ứng viên motif bằng phép vị tự 49

3.5 Kết luận 51

CHƯƠNG 4: HIỆN THỰC VÀ THỬ NGHIỆM 54

4.1 Giải quyết vấn đề 54

4.1.1 Đặt vấn đề 54

4.1.2 Hướng giải quyết vấn đề 54

4.1.3 Giai đoạn huấn luyện 56

4.1.3.1 Giải thuật NN_LBKeogh 56

4.1.3.2 Giải thuật huấn luyện 58

4.1.4 Giai đoạn phân lớp 59

4.2 Thực nghiệm 61

4.2.1 Hệ thống phân lớp dữ liệu chuỗi thời gian 61

4.2.2 Cấu hình 64

4.2.3 Tập dữ liệu 64

4.2.4 Thực nghiệm giai đoạn huấn luyện 64

Trang 8

4.2.4.1 Tập dữ liệu TwoPat 65

4.2.4.2 Tập dữ liệu Clustered 69

4.2.5 Thực nghiệm giai đoạn phân lớp 71

4.2.5.1 Tập dữ liệu TwoPat 71

4.2.5.2 Tập dữ liệu Clustered 73

CHƯƠNG 5: KẾT LUẬN 76

5.1 Tổng kết 76

5.2 Những đóng góp của đề tài 77

5.3 Hướng phát triển 77

TÀI LIỆU THAM KHẢO 79

BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH – VIỆT 81

Trang 9

DANH MỤC HÌNH ẢNH

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

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

Hình 2-1 Hình ảnh trực giác của khoảng cách Euclid (nguồn: [3]) 8

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]) 9

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]) 10

Hình 2-4 Đồ thị biểu diễn hai chuỗi thời gian 12

Hình 2-5 Ma trận tính DTW cho hai chuỗi thời gian 12

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

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]) 17

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]) 18

Hình 3-3 Minh họa giải thuật tìm kiếm tiến sử dụng độ chính xác (nguồn:[4])19 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]) 20

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]) 21

Hình 3-6 Hình ảnh trực quan của chặn dưới LB_Keogh (nguồn:[2]) 22

Hình 3-7 Giải thuật phân lớp có thời gian thực thi tùy chọn (nguồn:[7]) 24

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

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 28

Trang 10

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 28

Hình 3-11 Trong hầu hết các chuỗi con C, sẽ có hai chuỗi con khớp (match) tốt nhất nằm ở phía bên trái và bên phải chuỗi này 29

Hình 3-12 Minh họa định nghĩa Motif-bậc-K 29

Hình 3-13 Giải thuật Motif-Brute-Force (Nguồn [1]) 31

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 32

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 ô tương ứng 1 đơn vị [11] 33

Hình 3-16: Trái) Cột {2,4} được chọn Phải) Tăng giá trị của vị trí tương ứng [11] 33 Hình 3-17 Khoảng cách chuỗi con tham chiếu Q nằm giữa C a và C b 36

Hình 3-18 Khoảng cách chuỗi con tham chiếu Q nằm ngoài C a và C b 37

Hình 3-19 Dịch chuyển trục tọa độ dữ liệu chuỗi thời gian 38

Hình 3-20 Cải tiến giải thuật phát hiện motif 40

Hình 3-21 Điểm quan trọng với hệ số nén lần lượt là 91% và 94% 41

Hình 3-22 Điểm cực đại và cực tiểu quan trọng 42

Hình 3-23 Giải thuật lấy mẫu lại ứng viên Motif T với nội suy spline bậc I 45

Hình 3-24 Giải thuật gom cụm phân cấp theo hướng từ dưới lên 47

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 48

Hình 3-26 Minh họa phép vị tự tâm O, hệ số vị tự k =1/2 49 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

Trang 11

Hình 4-1 Ví dụ tập huấn luyện được sắp xếp bởi chiến lược SimpleRank 55

Hình 4-2: Giải thuật NN_LBKeogh 57

Hình 4-3 Giải thuật huấn luyện 59

Hình 4-4: Giải thuật phân lớp 60

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ỳ chọn không sử dụng motif 62

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ỳ chọn sử dụng motif 63

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ỹ thuật chặn dưới trên tập dữ liệu TwoPat 66

Hình 4-8 Biểu đồ thời gian thực thi giai đoạn huấn luyện dùng kỹ thuật chặn dưới LB_Keogh trên tập dữ liệu TwoPat 68

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 chặn dưới LB_Keogh trên tập dữ liệu Clustered 70

Hình 4-10 kết quả số mẫu phân lớp trên tập dữ liệu TwoPat 73

Hình 4-11 kết quả số mẫu phân lớp trên tập dữ liệu Clustered 74

Trang 12

DANH MỤC BẢNG BIỂU

Bảng 4-1 Thời gian thực hiện giai đoạn huấn luyện không dùng kỹ thuật chặn dưới trên tập dữ liệu TwoPat 65Bảng 4-2 Thời gian thực hiện giai đoạn huấn luyện của hai giải thuật dùng kỹ thuật chặn dưới LB_Keogh trên tập dữ liệu TwoPat 67Bảng 4-3 Thời gian thực hiện giai đoạn huấn luyện của hai giải thuật dùng kỹ thuật chặn dưới LB_Keogh trên tập dữ liệu Clustered 69Bảng 4-4 Số lượng mẫu phân lớp chính xác trên tập dữ liệu TwoPat 72Bảng 4-5 Độ chính xác phân lớp của giải thuật phân lớp có sử dụng thông tin motif và không sử dụng thông tin motif trên tập dữ liệu TwoPat 72Bảng 4-6 Số lượng mẫu phân lớp chính xác trên tập dữ liệu Clustered 73Bảng 4-7 Độ chính xác phân lớp của giải thuật phân lớp có sử dụng thông tin motif và không sử dụng thông tin motif trên tập dữ liệu Clustered 74

Trang 13

CHƯƠNG 1: GIỚI THIỆU

1.1 Phát biểu vấn đề

Chuỗi dữ liệu thời gian hay chuỗi thời gian là sự quan sát các dữ liệu theo thời gian tuần tự Đối với loại dữ liệu này, cấu trúc dữ liệu có thể là hai hay nhiều chiều trong đó có chiều thời gian, tức là dữ liệu được theo dõi và ghi lại tại một thời điểm nhất định Tuy nhiên trong hầu hết các ứng dụng thực tế, dữ liệu được đo cách nhau trong một khoảng thời gian cố định nên để đơn giản hóa quá trình lưu trữ cũng như độ phức tạp của dữ liệu, người ta chỉ lưu lại thứ tự các giá trị dữ liệu theo một

trình tự thời gian nhất định có dạng X=<x 1, x 2, …x n > trong đó x i là dữ liệu được đo ở

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ế, có rất nhiều loại dữ liệu chuỗi thời gian như sự theo dõi biến đổi giá của chứng khoán, dữ liệu đo điện tâm đồ, dữ liệu theo dõi mực nước sông hay là sự ghi lại việc truy cập các trang web của người dùng Thông thường, các loại dữ liệu chuỗi thời gian này là rất lớn, được đo và lưu trữ lại trong một khoảng thời gian dài cho nên việc lưu trữ và khai phá dữ liệu này thường tốn kém chi phí thời gian Do đó việc sử dụng các công cụ khai phá dữ liệu này được áp dụng trên nền máy tính đã thu hút sự quan tâm, nghiên cứu và ứng dụng trong rất nhiều các

Trang 14

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:

 Khối lượng dữ liệu

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ơ

Trang 15

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

Trang 16

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

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

1.3 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

Trang 17

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

Dựa trên chương trình đã hiện thực, đề 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ủa 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

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

Đề cương được chia làm 3 phần chính:

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

Trang 18

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

Trang 19

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

Để giải quyết bài toán phân lớp dữ liệu chuỗi thời gian, đề tài này sử dụng một số

lý thuyết từ các lĩnh vực khác nhau Do đó, chương này sẽ trình bày những điểm cơ

bản của các lý thuyết đó Độ đo khoảng cách Euclid và độ đo khoảng cách xoắn thời

gian động, cách tính độ đo khoảng cách xoắn thời gian động Kỹ thuật phân lớp k láng giềng gần nhất

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

Trong lĩnh vực dữ liệu chuỗi thời gian, có nhiều độ đo khoảng cách đã được đề

xuất Tuy nhiên, hai độ đo được quan tâm 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:

Trang 20

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:

- Tính toán dễ dàng

- 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

Nhược điểm:

- Nhạy cảm với nhiễ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

Trang 21

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:

Q = q 1 , q 2 , …, q i , …, q n

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

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:

Trang 22

( , ) = (2 1)

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:

( − , )( , − )( − , − )

(2 2)

Trang 23

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ó thể được xem là trường hợp đặc biệt của khoảng cách

DTW, trong đó phần tử thứ k của W được ràng buộc sao cho w k = (i, j) k , i = j = k Lưu

ý rằng trường hợp đặc biệt này chỉ đúng khi hai chuỗi có chiều dài bằng nhau vì khoảng cách Euclid không thể tính được đối với hai chuỗi có chiều dài khác nhau Trong thực tế, ta không cần phải tính tất cả đường xoắn có thể, vì nhiều đường xoắn trong số đó tương ứng với những đường xoắn không hợp lý (ví dụ, một điểm trong một chuỗi điện tâm đồ ánh xạ 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:

Q = (5, 6, 6, 9, 10, 8, 5, 4, 4, 5)

Trang 24

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

Q C

Q

Trang 25

Trong ma trận ở Hình 2-5, giá trị của các ô được tính như sau:

- (1, 1) = (Q1 – C1)2

- (1, i) = (1, i-1) + (Q 1 – C i)2

- (i, 1) = (i-1, 1) + (Q i – C 1)2

- Các ô còn lại: (i, j) = min{(i-1, j), (j-1, i), (i-1, j-1)} + (Q i – C j)2

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:

Euclid, đặc biệt trong trường hợp tập dữ liệu nhỏ

nhưng lệch nhau về mặt thời gian

có chiều dài không bằng nhau

Nhược điểm:

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)

Trang 26

2.2 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

Giải thuật k láng giềng gần nhất không định nghĩa chi tiết độ đo tương tự giữa

các đối tượng dữ liệu Tùy theo đặc điểm của từng loại dữ liệu mà ta có thể dùng các

độ đo tương tự khác nhau Trong trường hợp dữ liệu chuỗi thời gian, độ đo tương tự

có thể là khoảng cách Euclid hoặc khoảng cách DTW như được mô tả ở mục 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

Trang 27

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

Trang 28

CHƯƠNG 3: CÁC CÔNG TRÌNH CÓ 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 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

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

Việc tính DTW 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 quy hoạch động Độ phức tạp của giải thuật là O(n 2) Tuy nhiên, đường xoắn tối ưu thường gần đường chéo của ma trận Vì vậy, ta có thể giảm bớt chi phí tính toán bằng cách giới hạn lại phạm vi tìm đường xoắn tối ưu thay vì tìm trên toàn

bộ ma trận Hai ràng buộc về đường xoắn phổ biến là dải Sakoe-Chiba và hình bình hành Itakura Trong phạm vi đề tài này, ràng buộc đối với đường xoắn này được gọi

là cửa sổ xoắn (warping window)

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:

W = w 1 , w 2 , …, w k , …, w K max(n, m)  K  m + n + 1

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

Trang 29

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:

W = w 1 , w 2 , …, w k , …, w K max(n, m)  K  m + n + 1

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])

3.1.3 Dải Ratanamahatana-Keogh (dải R-K)

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-

Trang 30

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

Trang 31

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

(nguồn:[4])

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

3.2 Các kỹ thuật tính chặn dưới cho khoảng cách DTW

Mục này giới thiệu ý nghĩa của chặn dưới cho khoảng cách DTW trong quá trình tìm kiếm tuần tự và trình bày một số chặn dưới cho khoảng cách DTW phổ biến

3.2.1 Ý nghĩa của chặn dưới

Ý nghĩa của việc tính chặn dưới được Ratanamahatana và Keogh trình bày trong [5] và có thể được tóm lược như sau: Bài toán tìm kiếm tương tự sử dụng khoảng cách Euclid có độ phức tạp I/O lớn, tuy nhiên việc tìm kiếm tương tự sử dụng DTW còn có

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,

Trang 32

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

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:

luôn nhỏ hơn hoặc bằng khoảng cách thực

tính toán của độ đo DTW nguyên thủy

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

Trang 33

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 i = max(q i-r : q i+r) (3.1)

L i = min(q i-r : q i+r)

U và L lần lượt đại diện cho đường bao phía trên (Upper) và đường bao phía dưới

(Lower) Với cửa sổ xoắn dải Sakoe-Chiba, r là một hằng số Còn với Itakura Parallelogram, r là một hàm theo biến i Lưu ý rằng, cho dù kích thước cửa sổ xoắn là

một hằng số (dải Sakoe-Chiba), đường bao có thể có chiều rộng không bằng nhau Đường bao rộng hơn đối với những chuỗi thời gian thay đổi nhanh, và hẹp hơn với những chuỗi dữ liệu thay đổi chậm Hình 3-5 minh họa hình dạng của đường bao ứng với hai loại ràng buộc cửa sổ xoắn phổ biến: dải Sakoe-Chiba và hình bình hành Itakura

Hình 3-5 Đường bao ứng với hai loại ràng buộc: A) Dải Sakoe-Chiba

và B) Hình bình hành Itakura (nguồn:[2])

Trang 34

Một tính chất hiển nhiên nhưng rất quan trọng của U và L đó là:

i L i  q i  U i 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ì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ử

Trang 35

3.2.3 Đánh giá

Việc tính toán khoảng cách DTW là không thể tăng tốc Vì vậy, để tăng tốc thì phải hạn chế số lần tính khoảng cách DTW Việc hạn chế này được thực hiện bằng các kỹ thuật tính chặn dưới

Cách tính của chặn dưới LB_Keogh phụ thuộc vào cửa sổ xoắn Cửa sổ xoắn

càng rộng thì đường bao của chuỗi sẽ càng rộng và giá trị của chuỗi mục tiêu càng dễ nằm trong đường bao Điều đó làm cho giá trị chặn dưới nhỏ Vì vậy, chặn dưới

LB_Keogh phù hợp với kích thước cửa sổ xoắn nhỏ

Kích thước cửa sổ xoắn thường phụ thuộc vào đặc điểm của dữ liệu cần xử lý Vì vậy, nếu dữ liệu yêu cầu cửa sổ xoắn có kích thước nhỏ thì ta nên dùng kỹ thuật tính

chặn dưới LB_Keogh

3.3 Giải thuật phân lớp có thời gian thực thi tùy chọn

Giải thuật phân lớp có thời gian thực thi tùy chọn dựa trên giải thuật

1-Nearest-Neighbor Giải thuật này được ứng dụng vào bài toán phân lớp dữ liệu chuỗi thời gian

bởi Ueno và các cộng sự (2006) [7] Ý tưởng chính của giải thuật là sắp xếp các chuỗi trong tập huấn luyện theo tiêu chí mức độ đóng góp của mỗi chuỗi vào việc phân lớp chính xác cho lớp dữ liệu chứa chuỗi đó Chuỗi nào đóng góp nhiều hơn vào việc phân lớp chính xác thì chuỗi đó có thứ hạng cao hơn Sau khi đã sắp xếp tập huấn luyện theo thứ tự như trên, giải thuật lần lượt tìm chuỗi gần nhất với chuỗi mục tiêu trong tập huấn luyện theo thứ tự đó Người dùng có thể yêu cầu dừng giải thuật bất cứ lúc nào và kết quả phân lớp sẽ là lớp của mẫu gần nhất với mẫu mục tiêu đến thời điểm đó

3.3.1 Giải thuật phân lớp

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

Trang 36

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

Hình 3-7 Giải thuật phân lớp có thời gian thực thi tùy chọn (nguồn:[7])

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

Trang 37

Cho đến khi bị ngắt hoặc không còn mẫu nào trong tập huấn luyện để so sánh, giải

thuật sẽ so sánh O với mỗi mẫu trong tập huấn luyện theo một thứ tự đã được định nghĩa trước trong hàm Index, cập nhật kết quả phân lớp để phản ánh kết quả 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

Trang 38

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: Kỹ thuật sắp xếp này tạo một danh sách các mẫu gần nhất, bao

gồm cả các mẫu thuộc cùng lớp (associates) và các mẫu thuộc lớp khác (enemies), và 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:

Trang 39

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

Theo cách định nghĩa rank như trên, tại mỗi bước của giải thuật sắp xếp,

mẫu nào có rank 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

Nếu hai mẫu có cùng thứ hạng, thứ tự của chúng sẽ được xác định dựa trên

độ ưu tiên Độ ưu tiên (priority) của một mẫu x được xác đị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 và d(x, x j) là khoảng cách

giữa x và x j Ý tưởng chính là nếu một mẫu cách xa láng giềng gần nhất của

nó, nó có thể là nhiễu hoặc đơn giản là một mẫu không điển hình của lớp đó,

và nó nên được loại sớm

3.4 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) ≤

Trang 40

R thì C khớp (matching) với 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à

Ngày đăng: 31/01/2021, 23:58

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w