- Nghiên cứu các độ đo được sử dụng trong quá trình tìm kiếm motif và phân lớp dữ liệu chuỗi thời gian.. Giải thuật k-NN với giá trị k = 1 và các độ đo trên dữ liệu rời rạc đã được sử d
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA -
NGUYỄN VĂN KIÊN
PHÂN LỚP DỮ LIỆU CHUỖI THỜI GIAN
DỰA TRÊN THÔNG TIN MOTIF (TIME SERIES CLASSIFICATION
Trang 2CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA - ĐHQG -HCM
Cán bộ hướng dẫn khoa học: PGS.TS Dương Tuấn Anh
Cán bộ chấm nhận xét 1: TS Võ Thị Ngọc Châu
Cán bộ chấm nhận xét 2: TS Lê Văn Quốc Anh
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 28 tháng 12 năm 2017
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ)
1 PGS TS Quản Thành Thơ - Chủ tịch
2 TS Trần Tuấn Anh - Thư ký
3 TS Võ Thị Ngọc Châu - Phản biện 1
4 TS Lê Văn Quốc Anh - Phản biện 2
5 TS Phạm Văn Chung - Ủy viên
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)
Trang 3ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: Nguyễn Văn Kiên MSHV: 1570214 Ngày, tháng, năm sinh: 14/12/1992 Nơi sinh: Phú Yên Ngành: Khoa học máy tính Mã số: 60480101
I TÊN ĐỀ TÀI
PHÂN LỚP DỮ LIỆU CHUỖI THỜI GIAN DỰA TRÊN THÔNG TIN MOTIF
II NHIỆM VỤ VÀ NỘI DUNG
- Nghiên cứu về phân lớp dữ liệu và dữ liệu chuỗi thời gian
- Nghiên cứu giải thuật tìm kiếm motif EP-C và EP-MK
- Nghiên cứu các độ đo được sử dụng trong quá trình tìm kiếm motif và phân lớp
dữ liệu chuỗi thời gian
- Nghiên cứu về vấn đề phân lớp dữ liệu chuỗi thời gian dựa trên thông tin motif
- Hiện thực hệ thống phân lớp dữ liệu chuỗi thời gian dựa trên thông tin motif sử
dụng giải thuật phân lớp k-NN
- Thực nghiệm hệ thống phân lớp với các bộ dữ liệu mẫu và so sánh kết quả với
hướng tiếp cận phân lớp bằng giải thuật k-NN và độ đo Euclid trên dữ liệu ban đầu
III NGÀY GIAO NHIỆM VỤ: 10/07/2017
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 03/12/2017
V CÁN BỘ HƯỚNG DẪN : PGS.TS Dương Tuấn Anh
Tp HCM, ngày…….tháng……năm ……
CÁN BỘ HƯỚNG DẪN
(Họ tên và chữ ký)
PGS.TS Dương Tuấn Anh
TRƯỞNG KHOA KH & KTMT
(Họ tên và chữ ký)
Trang 4LỜI CẢM ƠN
Để hoàn thành luận văn này, tôi xin chân thành gửi lời cảm ơn đến PGS TS Dương Tuấn Anh, người đã tận tình hướng dẫn, giúp đỡ tôi trong quá trình thực hiện luận văn này Những sự chỉ dẫn của Thầy đã giúp tôi hoàn thành luận văn tốt nghiệp đúng thời gian dự kiến
Tôi xin gửi lời cảm ơn chân thành đến Quý Thầy/Cô khoa Khoa học & Kỹ thuật máy tính cũng như các Thầy/Cô trường Đại học Bách khoa, Đại học Quốc gia TP.HCM Sự tận tình trong quá trình giảng dạy của Quý Thầy/Cô đã trang bị những kiến thức quý báu và tạo mọi điều kiện thuận lợi cho tôi trong suốt quá trình học tập tại Trường
Cuối cùng, tôi xin chân thành cảm ơn đến gia đình và bạn bè, đồng nghiệp đã hỗ trợ, giúp đỡ để tôi hoàn thành khóa học
Trang 5TÓM TẮT LUẬN VĂN
Phân lớp dữ liệu chuỗi thời gian là một tác vụ khai phá dữ liệu quan trọng được ứng dụng trong nhiều lĩnh vực thực tế như: nhận diện chuyển động cơ thể, xác thực chữ ký, chuẩn đoán bệnh, xử lý dữ liệu cảm biến … Trong dữ liệu chuỗi thời gian, motif là những chuỗi con lặp lại thường xuyên và tìm kiếm motif là một bài toán đang được quan tâm Nhiều nghiên cứu thực nghiệm cho thấy motif có thể giúp cải thiện
độ chính xác cho kết quả phân lớp dữ liệu chuỗi thời gian
Nhiều hướng tiếp cận đã được đề xuất để giải bài toán phân lớp dữ liệu chuỗi thời gian dựa trên thông tin motif Tuy nhiên những hướng tiếp cận này đều có thời gian thực thi chậm và khá phức tạp về mặt giải thuật Trong luận văn này, chúng tôi sẽ đưa
ra một hướng tiếp cận để giải quyết bài toán phân lớp dữ liệu chuỗi thời gian dựa trên motif nhằm mục đích cải thiện độ chính xác của kết quả và giảm thời gian xử lý
Giải thuật EP-C (Extreme Point Clustering) và EP-MK (Extreme Point Mueen
Keogh) được sử dụng để tìm kiếm motif trên chuỗi thời gian Giải thuật EP-C và EP-MK giúp tăng tốc độ quá trình tìm kiếm motif bằng các kỹ thuật thu giảm thời gian tính toán và dựa vào các điểm cực trị quan trọng để phân đoạn
Dữ liệu chuỗi thời gian được biến đổi thành các vector đặc trưng dựa trên sự xuất
hiện của các motif trên mỗi chuỗi thời gian Giải thuật k-NN với giá trị k = 1 và các
độ đo trên dữ liệu rời rạc đã được sử dụng trong quá trình phân lớp dữ liệu chuỗi thời gian
Trang 6ABSTRACT
Time series data classification is an important data mining task which is used in many applications such as human motion recognition, signature verification, diagnosis in medicine, sensor data analysis In time series data, motifs are frequently repeated subsequences and finding motif is an interesting problem Many research works show that motif can improve the accuracy of classification results in time series data
Many approaches are proposed to solve the time series data classification based
on motif However, these approaches are complicated and still slow to calculate In this thesis, we propose an approach to solve time series data classification based on motif information in order to improve accuracy and reduce computation time
EP-C (Extreme Point Clustering) and EP-MK (Extreme Point Mueen Keogh)
algorithms are used to find motif in time series EP-C and EP-MK help to speed up
in finding time series motif based on the techniques for reducing computation time and applying significant extreme points to segment time series
Time series data are represented as feature vectors based onoccurrence of motifs
in each time series The k-NN algorithm with k = 1 and similarity measures for
categorical data are used to classify time series data
Trang 7LỜ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
Ngày 04 tháng 12 năm 2017
Nguyễn Văn Kiên
Trang 8MỤC LỤC
LỜI CẢM ƠN i
TÓM TẮT LUẬN VĂN ii
ABSTRACT iii
LỜI CAM ĐOAN iv
MỤC LỤC v
DANH MỤC HÌNH ẢNH viii
DANH MỤC BẢNG x
CHƯƠNG 1 GIỚI THIỆU VẤN ĐỀ 1
1.1 Tổng quan về đề tài 1
1.2 Mục tiêu và giới hạn đề tài 2
1.3 Nhiệm vụ của đề tài 2
1.4 Những kết quả đạt được 3
1.5 Cấu trúc luận văn 3
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 5
2.1 Phân lớp dữ liệu 5
2.1.1 Giới thiệu 5
2.1.2 Giải thuật phân lớp k-NN 6
2.1.3 Máy vector hỗ trợ (Support Vector Machines – SVMs) 7
2.1.4 Mạng nơ ron nhân tạo (Artificial Neural Network - ANN) 7
2.1.5 Phân lớp dữ liệu chuỗi thời gian 8
2.2 Chuỗi thời gian và các khái niệm liên quan 9
2.3 Độ đo khoảng cách 11
2.3.1 Độ đo Euclid 11
2.3.2 Độ đo xoắn thời gian động (Dynamic Time Warping - DTW) 11
2.3.3 Các độ đo trên dữ liệu rời rạc 13
2.4 Chuẩn hóa dữ liệu 15
2.4.1 Chuẩn hóa min - max 15
2.4.2 Chuẩn hóa z-score 16
2.5 Phương pháp thu giảm số chiều 16
Trang 92.5.2 Phương pháp điểm cực trị quan trọng 17
2.6 Phương pháp rời rạc hóa SAX (Symbol Aggregate Approximation) 18
2.7 Gom cụm dữ liệu 20
2.7.1 Giải thuật gom cụm K-means 20
2.7.2 Giải thuật gom cụm gộp phân cấp 21
2.8 Các độ đo đánh giá chất lượng của sự phân lớp 23
CHƯƠNG 3 CÁC CÔNG TRÌNH LIÊN QUAN 26
3.1 Tìm kiếm motif 26
3.1.1 Giải thuật Brute Force 26
3.1.2 Giải thuật chiếu ngẫu nhiên (Random Projection) 27
3.1.3 Giải thuật phát hiện motif dựa vào phân đoạn và gom cụm (EP-C) 28
3.1.4 Giải thuật MK 30
3.1.5 Kết hợp giải thuật EP-C và MK 33
3.2 Phân lớp chuỗi thời gian dựa trên thông tin motif 34
3.2.1 Phân lớp chuỗi thời gian bằng giải thuật SVM và mạng Bayes 34
3.2.2 Phân lớp chuỗi thời gian bằng giải thuật k-NN và cây quyết định 35
CHƯƠNG 4 PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ 37
4.1 Mô hình phân lớp 37
4.2 Chuẩn hóa dữ liệu 38
4.3 Tìm kiếm motif 39
4.3.1 Phép vị tự (Homothetic Transformation) 39
4.3.2 Khoảng cách Euclid tối thiểu (Minimum Euclidean Distance) 41
4.3.3 Tìm kiếm motif bằng giải thuật EP-C 41
4.3.4 Tìm kiếm motif bằng giải thuật EP-MK 42
4.4 Biểu diễn chuỗi thời gian dưới dạng vector đặc trưng 43
4.5 Phân lớp dựa trên thông tin motif 45
CHƯƠNG 5 THỰC NGHIỆM 46
5.1 Môi trường thực nghiệm 46
5.2 Ước lượng tham số 46
5.2.1 Tỉ lệ nén R 46
5.2.2 Độ dài của các motif ứng viên 46
5.2.3 Giá trị ngưỡng trong tác vụ so trùng chuỗi con 47
Trang 105.2.4 Tham số của giải thuật gom cụm được sử dụng trong giải thuật EP-C
và số điểm tham chiếu của giải thuật EP-MK 48
5.3 Dữ liệu thực nghiệm 48
5.3.1 BeetleFly 48
5.3.2 Earthquakes 49
5.3.3 Ford 50
5.3.4 Ham 51
5.3.5 HandOutlines 51
5.3.6 Haptics 52
5.3.7 OSULeaf 53
5.3.8 RefrigerationDevices 54
5.3.9 Worms 54
5.4 Kết quả thực nghiệm 56
5.4.1 Thực nghiệm phân lớp bằng k-NN truyền thống và k-NN có sử dụng thông tin motif 56
5.4.2 Thực nghiệm phân lớp sử dụng thông tin motif bằng giải thuật k-NN, SVMs, ANN 59
CHƯƠNG 6 KẾT LUẬN 62
6.1 Tổng kết 62
6.2 Những đóng góp của đề tài 62
6.3 Hướng phát triển 63
TÀI LIỆU THAM KHẢO 64 PHỤ LỤC A A1 BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH VIỆT A1
Trang 11DANH MỤC HÌNH ẢNH
Hình 2.1 Ví dụ về bài toán phân lớp dữ liệu [7] 5
Hình 2.2 Giải thuật k-NN [13] 7
Hình 2.3 Mạng nơ ron truyền thẳng đa tầng [7] 8
Hình 2.4 Chuỗi thời gian GDP, PDI, PCE của Hoa Kỳ theo quý từ năm 1970-1991 9
Hình 2.5 Các chuỗi con trùng khớp tầm thường [10] 10
Hình 2.6 Motif của chuỗi thời gian [10] 11
Hình 2.7 Độ đo Euclid và độ đo xoắn thời gian động 12
Hình 2.8 Ma trận tính độ đo DTW và đường xoắn 13
Hình 2.9 Điểm cực tiểu quan trọng và điểm cực đại quan trọng [6] 17
Hình 2.10 Rời rạc hóa chuỗi thời gian sử dụng phương pháp SAX [9] 19
Hình 2.11 Gom cụm phân cấp gộp [7] 21
Hình 2.12 Khoảng cách tối thiểu giữa hai cụm 22
Hình 2.13 Khoảng cách tối đa giữa hai cụm 22
Hình 2.14 Khoảng cách trung tâm giữa hai cụm 23
Hình 2.15 Khoảng cách trung bình giữa hai cụm 23
Hình 3.1 Các chuỗi con trong chuỗi thời gian T có kích thước 1000 được rời rạc hóa bằng phương pháp SAX và đặt vào ma trận 𝑆 [5] 27
Hình 3.2 Quá trình so trùng tại mỗi bước lặp [5] 28
Hình 3.3 Điểm cực trị quan trọng trên chuỗi thời gian 29
Hình 3.4 Phân đoạn chuỗi thời gian dựa trên các điểm cực trị quan trọng 29
Hình 3.5 Loại bỏ sớm việc tính khoảng cách Euclid [12] 30
Hình 3.6 Khoảng cách từ điểm tham chiếu O1 đến các đối tượng chuỗi thời gian trong không gian một chiều [12] 31
Hình 3.7 Cập nhật khoảng cách tốt nhất giữa cặp đối tượng liền kề nhau [12] 31
Hình 3.8 Thông tin motif và các đặc trưng của chuỗi thời gian T1 và T2 được biểu diễn dưới dạng vector [11] 35
Hình 4.1 Mô hình phân lớp dữ liệu chuỗi thời gian dựa trên thông tin motif 37
Hình 4.2 Tìm kiếm cực trị không chính xác khi giá trị nằm trong khoảng (0,1) 38
Hình 4.3 Kết quả tìm kiếm các điểm cực trị quan trọng sau khi chuẩn hóa lại 39
Trang 12Hình 4.4 Phép vị tự [16] 40
Hình 4.5 Áp dụng phép vị tự biến đổi một chuỗi thời gian 40
Hình 4.6 Mô hình tìm kiếm motif bằng giải thuật EP-C 41
Hình 4.7 Rút trích các motif ứng viên từ các điểm cực trị quan trọng 42
Hình 4.8 Mô hình tìm kiếm motif bằng giải thuật EP-MK 42
Hình 4.9 Các chuỗi thời gian được biểu diễn dưới dạng các chuỗi bit [3] 43
Hình 4.10 Kỹ thuật cửa sổ trượt 43
Hình 4.11 Thực hiện phân đoạn chuỗi thời gian thành các chuỗi con 44
Hình 4.12 Thực hiện so trùng motif với từng chuỗi con 44
Hình 5.1.Hình ảnh các loại bọ cánh cứng và côn trùng [4] 49
Hình 5.2 Chuỗi thời gian BeetleFly 49
Hình 5.3 Chuỗi thời gian Earthquakes với 100 giá trị đầu tiên 50
Hình 5.4 Chuỗi thời gian FordA 50
Hình 5.5 Chuỗi thời gian Ham 51
Hình 5.6 Ảnh chụp X-quang bàn tay [4] 52
Hình 5.7 Chuỗi thời gian HandOutlines 52
Hình 5.8 Chuỗi thời gian Haptics 53
Hình 5.9 Chuỗi thời gian OSULeaf 53
Hình 5.10 Chuỗi thời gian RefrigerationDevices với 200 giá trị đầu tiên 54
Hình 5.11 Chuỗi thời gian Worms 55
Trang 13DANH MỤC BẢNG
Bảng 2.1 Các độ đo tương tự trên dữ liệu rời rạc [1] 15
Bảng 2.2 Bảng điểm ngắt với giá trị a từ 3 đến 10 [9] 19
Bảng 2.3 Ma trận nhầm lẫn 24
Bảng 5.1 Bảng tóm tắt các thông tin của các bộ dữ liệu 55
Bảng 5.2 Các tham số ước lượng trong quá trình phân lớp bằng giải thuật k-NN có sử dụng thông tin motif 56
Bảng 5.3 Tỉ lệ lỗi phân lớp các bộ dữ liệu chuỗi thời gian sử dụng giải thuật k-NN truyền thống và k-NN có sử dụng motif 57
Bảng 5.4 Thời gian tìm kiếm motif của giải thuật EP-C và EP-MK 58
Bảng 5.5 Các tham số ước lượng trong quá trình phân lớp bằng giải thuật k-NN, SVMs, ANN có sử dụng thông tin motif 59
Bảng 5.6 Tỉ lệ lỗi phân lớp các bộ dữ liệu chuỗi thời gian bằng giải thuật k-NN, SVMs, ANN có sử dụng thông tin motif 60
Trang 14CHƯƠNG 1 GIỚI THIỆU VẤN ĐỀ
1.1 Tổng quan về đề tài
Phân lớp dữ liệu (data classification) là một tác vụ quan trọng lĩnh vực khai phá
dữ liệu được ứng dụng trong nhiều lĩnh vực của cuộc sống Một trong những loại dữ
liệu xuất hiện trong nhiều lĩnh vực ứng dụng là dữ liệu chuỗi thời gian (time series
data)
Phân lớp dữ liệu chuỗi thời gian được sử dụng thường xuyên và sâu rộng trong các nghiên cứu thực nghiệm để giải quyết nhiều bài toán thực tế như nhận dạng chuyển động cơ thể, xác thực chữ ký, phân tích tín hiệu sóng não, chuẩn đoán trong
y tế, Hiện nay, phân lớp dữ liệu chuỗi thời gian vẫn đang là một vấn đề đang được nghiên cứu nhằm mục đích nâng cao tính hiệu quả trong quá trình phân lớp Trong lĩnh vực phân tích dữ liệu chuỗi thời gian, tìm kiếm motif là một bài toán đang được quan tâm Motif là một chuỗi con được lặp lại nhiều lần trong một chuỗi thời gian, thông tin motif có thể sử dụng kết hợp với các tác vụ khai phá dữ liệu như phân lớp, gom cụm, khai phá luật kết hợp Trong nhiều nghiên cứu thực nghiệm cho thấy rằng thông tin motif có thể giúp cải thiện chất lượng kết quả quá trình phân lớp liên quan đến các lĩnh vực như y tế, robot, khí tượng học Tuy nhiên, dữ liệu chuỗi thời gian trong thực tế thường có kích thước lớn với hàng chục ngàn tỉ quan sát và có thể nhiều hơn nữa, lượng dữ liệu lớn không chỉ cung cấp nhiều thông tin hữu ích mà còn tạo ra nhiều thử thách về dư thừa dữ liệu, dữ liệu nhiễu làm giảm độ chính xác của kết quả và tăng chi phí xử lý, lưu trữ trong quá trình tìm kiếm motif và phân lớp
Vì vậy các hướng tiếp cận để giải quyết bài toán tìm kiếm motif và phân lớp trên dữ liệu lớn là vô cùng cần thiết
Đề tài luận văn này sẽ đưa ra một cách tiếp cận để giải quyết bài toán phân lớp dựa trên thông tin motif nhằm mục đích cải thiện độ chính xác của kết quả và giảm thời gian xử lý
Hai vấn đề chính cần quan tâm trong luận văn này là tìm kiếm motif và sử dụng motif kết hợp với tác vụ phân lớp để phân lớp dữ liệu chuỗi thời gian Nhiều hướng
tiếp cận dựa trên giải thuật chiếu ngẫu nhiên (random projection algorithm) và kỹ
thuật khai phá mẫu thường xuyên đã được đề xuất để tìm kiếm motif trong quá trình
Trang 15phân lớp Tuy nhiên những hướng tiếp cận này có thời gian thực thi chậm Trong đề tài này, hai giải thuật EP-C và EP-MK sẽ được sử dụng để tìm kiếm motif, dựa trên những điểm cực trị quan trọng để phân đoạn chuỗi thời gian thành các chuỗi con, giải thuật EP-C và EP-MK sẽ giúp cải thiện thời gian tìm kiếm motif Các motif sẽ được
sử dụng trong quá trình biến đổi các chuỗi thời gian thành các vector đặc trưng dựa vào sự xuất hiện của các motif trên mỗi chuỗi thời gian, các chuỗi con của mỗi chuỗi thời gian lần lượt được so trùng với các motif để kiểm tra sự xuất hiện của motif Kỹ
thuật cửa sổ trượt (sliding window) có thể được sử dụng trong bài toán so trùng chuỗi
con với ưu điểm là không tìm sót chuỗi con nhưng nhược điểm của phương pháp này
là có chi phí tính toán cao, vì vậy các điểm cực trị quan trọng tiếp tục được sử dụng
để phân đoạn chuỗi thời gian thành các chuỗi con trong công tác so trùng
Giải thuật phân lớp k-NN với k = 1 được sử dụng trong tác vụ phân lớp, vì các
vector đặc trưng chỉ gồm hai giá trị 0 và 1 nên độ đo trên dữ liệu rời rạc sẽ được sử dụng trong quá trình tính toán Ngoài ra, máy vector hỗ trợ và mạng nơ ron nhân tạo cũng được sử dụng trong tác vụ phân lớp để cho thấy lợi ích của việc biến đổi chuỗi thời gian thành các vector đặc trưng Kết quả phân lớp dựa trên motif sẽ được so sánh
với cách phân lớp truyền thống bằng giải thuật k-NN và độ đo Euclid
1.2 Mục tiêu và giới hạn đề tài
Mục tiêu của đề tài xây dựng một hệ thống phân lớp dữ liệu chuỗi thời gian dựa trên thông tin motif nhằm mục đích cải thiện độ chính xác và giảm thời gian xử lý Trong luận văn này, motif được sử dụng cho quá trình phân lớp được giới hạn là motif bậc nhất – những chuỗi con có sự lặp lại thường xuyên nhất
1.3 Nhiệm vụ của đề tài
Trong đề tài này, các vấn đề chính được tập trung nghiên cứu như sau:
▪ Nghiên cứu về vấn đề phân lớp dữ liệu, dữ liệu chuỗi thời gian và các khái niệm liên quan
▪ Nghiên cứu giải thuật tìm kiếm motif EP-C và EP-MK và các vấn đề liên quan trong quá trình tìm kiếm motif
▪ Nghiên cứu các độ đo được sử dụng trong quá trình tìm kiếm motif và phân lớp dữ liệu chuỗi thời gian
▪ Nghiên cứu về vấn đề phân lớp dữ liệu chuỗi thời gian dựa trên thông tin motif
Trang 16▪ Hiện thực hệ thống phân lớp dữ liệu chuỗi thời gian dựa trên thông tin motif
sử dụng giải thuật phân lớp k-NN
▪ Thực nghiệm hệ thống phân lớp với các bộ dữ liệu mẫu và đánh giá kết quả
1.4 Những kết quả đạt được
Với hướng tiếp cận dựa trên việc tìm kiếm motif bằng giải thuật EP-C và EP-MK, đề tài đã xây dựng hoàn thiện một hệ thống phân lớp dữ liệu chuỗi thời gian
dựa trên thông tin motif
Phân đoạn chuỗi thời gian thành các chuỗi con dựa trên các điểm cực trị quan
trọng trong các giải thuật tìm kiếm motif cũng như trong quá trình so trùng chuỗi con
giúp cải thiện đáng kể thời gian xử lý cũng như có thể loại bỏ được dữ liệu nhiễu
Việc lựa chọn các tham số cho các giải thuật sử dụng trong quá trình phân lớp có
ảnh hưởng lớn đến kết quả phân lớp Các tham số quan trọng cần ước lượng là tỉ lệ
nén R để tìm kiếm các điểm cực trị, giá trị ngưỡng tương tự trong công tác so trùng
chuỗi con, số lượng cụm trong quá trình gom cụm tìm kiếm motif của giải thuật
EP-C, Việc ước lượng các tham số này cũng được chúng tôi đề xuất trong luận văn
Qua thực nghiệm cho thấy các cách ước lượng là phù hợp với mô hình phân lớp được
đề xuất
Về kết quả phân lớp, phân lớp dữ liệu chuỗi thời gian sử dụng thông tin motif
cho độ chính xác cao hơn so với phân lớp bằng giải thuật k-NN và độ đo Euclid trên
tất cả các bộ dữ liệu thực nghiệm
Về chất lượng motif và thời gian tìm kiếm motif bằng hai giải thuật EP-C và EP-MK, kết quả phân lớp dựa trên motif tìm kiếm được bằng giải thuật EP-C và EP-MK đều có độ chính xác gần tương đương nhau, thời gian tìm kiếm motif của EP-
C chậm hơn so với EP-MK
1.5 Cấu trúc luận văn
Luận văn có cấu trúc gồm 6 chương, cụ thể như sau:
Chương 1 Giới thiệu vấn đề
Giới thiệu sơ lược về bài toán phân lớp dữ liệu chuỗi thời gian dựa trên thông
tin motif, mục tiêu, nhiệm vụ, giới hạn của đề tài, những kết quả luận văn đã đạt
được, cấu trúc và tổng quan từng chương của luận văn
Chương 2 Cơ sở lý thuyết
Trang 17Trình bày về các khái niệm và các vấn đề có liên quan đến dữ liệu chuỗi thời gian, phân lớp, gom cụm dữ liệu, các độ đo khoảng cách được sử dụng trong các chương sau của đề tài luận văn
Chương 3 Các công trình liên quan
Trình bày về các công trình khoa học liên quan đến bài toán tìm kiếm motif
và phân lớp dữ liệu dựa trên thông tin motif đồng thời đánh giá về những ưu điểm
và hạn chế của những công trình này
Chương 4 Phương pháp giải quyết vấn đề
Từ những đánh giá về các công trình khoa học liên quan, chương 4 sẽ đưa ra hướng tiếp cận để giải quyết bài toán phân lớp dựa trên thông tin motif của đề tài luận văn đồng thời chi tiết về cách áp dụng các giải thuật liên quan trong quá trình phân lớp dữ liệu
Chương 5 Thực nghiệm
Đề xuất cách ước lượng các tham số sử dụng trong giải thuật tìm kiếm điểm cực trị quan trọng, so trùng chuỗi con, gom cụm và trình bày những kết quả phân lớp trên các bộ dữ liệu mẫu với các motif tìm kiếm bằng giải thuật EP-C, EP-MK đồng thời so sánh kết quả phân lớp với cách tiếp cận truyền thống phân lớp bằng
giải thuật k-NN và độ đo Euclid cũng như so sánh kết quả phân lớp giữa motif
tìm kiếm bằng giải thuật EP-C và EP-MK
Trang 18CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
Chương này sẽ trình bày các khái niệm và vấn đề có liên quan về phân lớp dữ
liệu, chuỗi thời gian, gom cụm, các phương pháp thu giảm số chiều, rời rạc hóa chuỗi
thời gian, các độ đo và cách đánh giá chất lượng của sự phân lớp
2.1 Phân lớp dữ liệu
2.1.1 Giới thiệu
Phân lớp (classification) là dạng phân tích dữ liệu nhằm rút trích các mô hình mô
tả các lớp dữ liệu hoặc dự đoán xu hướng dữ liệu từ các mô hình đó Quá trình phân
lớp gồm hai bước chính là huấn luyện (training) và phân lớp
Tại bước huấn luyện sẽ tiến hành xây dựng bộ phân lớp (classifier) bằng việc
phân tích tập dữ liệu huấn luyện với các mẫu và nhãn lớp (class label) tương ứng
Một mẫu dữ liệu X được biểu diễn bởi một vector thuộc tính (attribute vector)
X = (x1, x2, , xn) với n là số lượng thuộc tính của tập dữ liệu huấn luyện Bước huấn
luyện có thể xem như là quá trình học của một hàm ánh xạ: y = f(X) với y là nhãn lớp
được dự đoán của mẫu X Thông thường hàm ánh xạ được biểu diễn dưới dạng luật
phân lớp, cây quyết định hoặc các công thức toán học
Tại bước phân lớp, bộ phân lớp được sử dụng để thực hiện gắn nhãn lớp cho các
mẫu trong tập dữ liệu kiểm thử (test set) Nếu độ chính xác của bộ phân lớp chấp nhận
được thì bộ phân lớp có thể sử dụng để gán nhãn cho những mẫu chưa biết nhãn lớp
Trong lĩnh vực khai phá dữ liệu, phân lớp là một kỹ thuật rất phổ biến, quan trọng và
được áp dụng trong nhiều lĩnh vực như kinh tế, tài chính, y tế, an ninh,
Trang 19Hình 2.1 là ví dụ về ứng dụng bài toán phân lớp trong vấn đề cho vay Từ tập dữ liệu về khách hàng cho vay trong quá khứ, giải thuật phân lớp sẽ thực hiện huấn luyện Kết quả của quá trình huấn luyện là các luật phân lớp
Đối với phân lớp dữ liệu cũng như tác vụ khai phá dữ liệu khác, công việc xử lý
dữ liệu trước khi đưa vào các mô hình là rất cần thiết, bước tiền xử lý giúp cho dữ liệu gốc có được qua thu thập có thể áp dụng được với các mô hình khai phá dữ liệu
cụ thể Tiền xử lý dữ liệu có thể giúp cải thiện kết quả phân lớp, một số kỹ thuật tiền
xử lý thường được sử dụng gồm:
▪ Làm sạch dữ liệu: các dữ liệu thu thập trong thực tế thường có xu hướng không đầy đủ, tồn tại dữ liệu nhiễu và dữ liệu không đồng nhất Làm sạch dữ liệu có thể
bổ sung những dữ liệu bị thiếu, loại bỏ nhiễu và khắc phục sự không đồng nhất
▪ Tích hợp dữ liệu: dữ liệu có thể lấy từ nhiều nguồn khác nhau Tích hợp dữ liệu giúp giảm thiểu và hạn chế dư thừa dữ liệu
▪ Thu giảm dữ liệu: trường hợp dữ liệu có kích thước lớn sẽ tăng độ phức tạp cho việc phân tích, tính toán Thu giảm dữ liệu giúp giảm kích thước dữ liệu bằng các loại bỏ những phần dư thừa và giữ lại những đặc điểm chính của dữ liệu
▪ Biến đổi và rời rạc hóa dữ liệu: giúp cho việc khai phá dữ liệu trở nên hiệu quả,
và các mô hình trở nên dễ hiểu hơn, tăng độ tổng quát thông tin, giúp cho việc đơn giản hóa việc biểu diễn cũng như xử lý trên dữ liệu số
2.1.2 Giải thuật phân lớp k-NN
Giải thuật k-NN (k-Nearest Neighbor) được sử dụng rất phổ biến trong lĩnh vực
khai phá dữ liệu nói chung và trong bài toán phân lớp nói riêng Đây là phương pháp
để phân lớp các đối tượng dựa vào khoảng cách gần nhất giữa đối tượng cần gán nhãn lớp và tất cả các đối tượng khác trong tập huấn luyện
Với giải thuật k-NN thì một đối tượng sẽ được phân lớp theo lớp chiếm đa số trong k lân cận của nó, trong đó k là số nguyên dương được chọn khi thực hiện thuật toán Việc chọn giá trị k rất quan trọng vì nếu chọn k quá nhỏ thì kết quả sẽ dễ bị ảnh hưởng bởi nhiễu, còn nếu chọn k quá lớn thì nhiều phần tử lân cận chọn được có thể
đến từ các lớp khác
Trang 20Hình 2.2 Giải thuật k-NN [13]
Trong hình 2.2.a với k = 1, mẫu ? sẽ thuộc lớp của lân cận gần nhất là lớp hình vuông Trong hình 2.2.b với k = 4, mẫu ? sẽ thuộc lớp chiếm đa số trong 4 lân cận gần nhất 4 lân cận gần nhất của mẫu ? gồm 3 mẫu thuộc lớp hình vuông và 1 mẫu thuộc lớp tam giác, vì vậy mẫu ? thuộc lớp hình vuông
2.1.3 Máy vector hỗ trợ (Support Vector Machines – SVMs)
SVMs là một phương pháp có thể phân lớp cho cả dữ liệu tuyến tính và dữ liệu phi tuyến SVMs sử dụng một hàm ánh xạ phi tuyến để ánh xạ dữ liệu gốc trong không gian ban đầu thành vào một không gian mới với số chiều nhiều hơn bằng cách
sử dụng các hàm kernel phù hợp Trong không gian mới SVMs sẽ tìm kiếm một siêu
phẳng (hyperplane) để phân tách tập dữ liệu thành hai lớp Ngoài sử dụng cho mục
đích phân lớp, SVMs còn có thể sử dụng trong các tác vụ khai phá dữ liệu khác như hồi quy, gom cụm, …
Mặc dù có thời gian huấn luyện chậm nhưng phân lớp sử dụng SVMs cho kết quả
có độ chính xác cao và có khả năng phân lớp với những mô hình có đường biên quyết
định (decision boundaries) phi tuyến phức tạp Ngoài ra SVMs ít bị tình trạng quá khớp (overfitting) so với các phương pháp khác SVMs được áp dụng trong một vài
lĩnh vực thực tế như nhận dạng chữ số viết tay, nhận dạng giọng nói, nhận dạng đối tượng, …
2.1.4 Mạng nơ ron nhân tạo (Artificial Neural Network - ANN)
ANN là mô hình xử lý thông tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật, bao gồm số lượng lớn các nơ ron được gắn kết để xử lý thông tin ANN giống như bộ não con người, được học bởi kinh nghiệm thông qua huấn
Trang 21luyện, có khả năng lưu giữ những tri thức và sử dụng những tri thức đó trong việc phân lớp dữ liệu
ANN gồm tập hợp các nút được liên kết với nhau, mỗi liên kết giữa hai nút có một trọng số tương ứng Thông qua quá trình huấn luyện, ANN sẽ điều chỉnh các trọng số sao cho có thể dự đoán đúng nhãn lớp của các mẫu dữ liệu
Một trong những loại mạng nơ ron thông dụng là mạng nơ ron truyền thẳng đa
tầng (Multilayer Feed-Forward Neural Network) (Hình 2.3)
Hình 2.3 Mạng nơ ron truyền thẳng đa tầng [7]
Mạng nơ ron truyền thẳng đa tầng gồm một tầng nhập (input layer), một hoặc nhiều tầng ẩn (hidden layer) và một tầng xuất (output layer) Đối với bài toán phân
lớp dữ liệu, số nút tại tầng nhập bằng số lượng thuộc tính của mẫu dữ liệu huấn luyện,
số nút tại tầng xuất tương ứng với số lượng lớp của bộ dữ liệu huấn luyện, số nút và
số tầng của tầng ẩn được định nghĩa bởi người dùng
Mạng nơ ron có khả năng chịu đựng được dữ liệu nhiễu (noisy data), có thể sử
dụng trong trường hợp các thuộc tính của dữ liệu có ít mối liên hệ và thích hợp với
các dữ liệu có giá trị liên tục (continuous-valued) Tuy nhiên nhược điểm của mạng
nơ ron là khả năng diễn dịch kém
2.1.5 Phân lớp dữ liệu chuỗi thời gian
Khác với hầu hết các loại dữ liệu thông thường, dữ liệu chuỗi thời gian có ba đặc điểm đặc biệt như sau: dữ liệu chuỗi thời gian có số chiều lớn, các điểm dữ liệu trên
Trang 22chuỗi thời gian có sự tương quan cao và dữ liệu có thể bị nhiễu Chính ba đặc điểm này khiến cho việc phân lớp dữ liệu chuỗi thời gian bằng các giải thuật phân lớp thông
dụng như: SVMs, ANN, cây quyết định (Decision Tree) trở nên khó khăn và thường
cho kết quả không tốt Vì vậy để có thể dễ dàng áp dụng các giải thuật phân lớp trên
dữ liệu thông thường, dữ liệu chuỗi thời gian cần phải biến đổi thành các vector đặc trưng trước khi thực hiện tác vụ phân lớp
Trong luận văn này, các chuỗi thời gian sẽ được biểu diễn thành các vector đặc trưng trước khi thực hiện phân lớp Việc biến đổi chuỗi thời gian thành vector đặc trưng giúp cho việc áp dụng các giải thuật phân lớp như: SVMs, ANN được dễ dàng với dữ liệu chuỗi thời gian
2.2 Chuỗi thời gian và các khái niệm liên quan
Chuỗi thời gian T = t1, t2, , t m là một tập thứ tự m giá trị được đo trong những
khoảng thời gian bằng nhau
Hình 2.4 Chuỗi thời gian GDP, PDI, PCE của Hoa Kỳ theo quý từ năm 1970-1991
Hình 2.4 gồm 3 chuỗi thời gian thể hiện giá trị GDP (tổng sản phẩm xã hội), PDI (tổng thu nhập khả dụng cá nhân), PCE (chi phí tiêu dùng cá nhân) của Hoa Kỳ từ
quý I/1970 đến quý IV/1991
Trang 23Chuỗi thời gian có thể rất lớn với hàng tỉ các giá trị Tuy nhiên trong các tác vụ khai phá dữ liệu thường không quan tâm đến toàn bộ chuỗi thời gian mà chỉ quan tâm
đến những đoạn nhỏ trong chuỗi thời gian gọi là chuỗi con (subsequence)
Chuỗi con C của chuỗi thời gian T có độ dài m là một mẫu có độ dài n < m các giá trị liền kề nhau trong T
Công tác liên quan đến xác định sự tương tự của một chuỗi con với một chuỗi
con khác gọi là so trùng (matching) Cho một số thực dương R và một chuỗi thời gian
T gồm một chuỗi con Q bắt đầu tại vị trí p và một chuỗi con M bắt đầu tại vị trí q, nếu D(Q, M) < R thì M được gọi là một chuỗi con trùng của Q D(Q, M) được gọi khoảng
cách giữa hai chuỗi con Q và M Q được gọi là trùng khớp tầm thường (trivial match) với M nếu p = q hoặc không tồn tại một chuỗi con M' của T bắt đầu tại vị trí q' sao cho D(C, M') > R và q<q'<p hoặc p<q<q
Hình 2.5 Các chuỗi con trùng khớp tầm thường [10]
Hình 2.5 là ví dụ về các chuỗi con trùng khớp tầm thường, các điểm trong các
chuỗi con này phần lớn trùng lắp với nhau
Các chuỗi con lặp lại thường xuyên trong một chuỗi thời gian được gọi là motif Hai định nghĩa về motif thường được sử dụng là:
Định nghĩa 1: Cho chuỗi thời gian T, chuỗi con kích thước n và giá trị ngưỡng
tương tự R, motif bậc nhất của T là chuỗi con C1 có số lượng chuỗi con trùng khớp
không tầm thường (non-trivial match) nhiều nhất Motif bậc k (k>1) là motif có số
lượng chuỗi con trùng khớp không tầm thường nhiều nhất và thỏa điều kiện
d(C k ,C i )>2R, với 1 ≤ i < k
Định nghĩa 2: Motif bậc k là cặp chuỗi con có độ tương tự nhau thứ k trong tất
cả các cặp chuỗi con của chuỗi thời gian T Cặp {T i , T j } là motif thứ k nếu tồn tại một tập hợp S có kích thước k - 1 gồm các cặp chuỗi con sao cho ∀T d T, {T i , T d}∉
S, {T i , T d}∉ S, ∀{Tx , T y}∈S, {Ta , T b}∉S, d(Tx , T y ) ≤ d(T i , T j ) ≤ d(T a , T b)
Trang 24Hình 2.6 là ví dụ về motif của chuỗi thời gian có 3 thể hiện (instance) A, B, C
Hình 2.6 Motif của chuỗi thời gian [10]
Kỹ thuật cửa sổ trượt (sliding window) có thể được dùng để lấy ra tất cả chuỗi con của một chuỗi thời gian Chuỗi thời gian T = t1, t2, , t m, tất cả các chuỗi con
của T có được khi sử dụng cửa sổ trượt là (t1, t2, , t n ), (t2, t3, , t n+1 ), (t i , t i+1 , ,
t n+i-1 ), 1 < i < m-n+1, n là kích thước của cửa sổ trượt hay độ dài của các chuỗi con
2.3 Độ đo khoảng cách
Độ đo khoảng cách dùng để xác định sự tương đồng giữa các chuỗi thời gian, tùy vào đặc điểm của dữ liệu chuỗi thời gian và miền ứng dụng mà có độ đo phù hợp Một số độ đo thường được sử dụng:
2.3.1 Độ đo Euclid
Cho hai chuỗi thời gian C = c 1 , c 2, , c m và Q = q 1 , q 2 , , q m Khoảng cách Euclid của hai chuỗi thời gian được tính bởi công thức:
√∑(𝑐𝑖 − 𝑞𝑖)2 𝑚
𝑖=1
Độ đo 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ưng độ đo khoảng cách này có nhược điểm là nhạy cảm với nhiễu, và không thích hợp khi dữ liệu có sự co dãn biên độ khác nhau
2.3.2 Độ đo xoắn thời gian động (Dynamic Time Warping - DTW)
Trong trường hợp hai chuỗi thời gian có hình dạng rất giống nhau nhưng bị lệch nhau một khoảng thời gian thì việc so trùng hai chuỗi thời gian bằng cách sử dụng độ
đo Euclid để tính khoảng cách sẽ không đem lại kết quả như mong muốn Để khắc phục vấn đề này có thể sử dụng độ đo xoắn thời gian động Với độ đo xoắn thời gian
Trang 25động, một điểm của chuỗi thời gian này có thể ánh xạ với nhiều điểm của chuỗi thời gian khác và các ánh xạ này không thẳng hàng (Hình 2.7)
Hình 2.7 Độ đo Euclid và độ đo xoắn thời gian động
Độ đo xoắn thời gian động có nhược điểm so với độ đo Euclid là thời gian tính toán chậm hơn rất nhiều
Cho hai chuỗi thời gian: Q = q1, q2, , q i , , q n và C = c1, c2, , c j , , c m
Để tính khoảng cách DTW giữa Q và C, cần tính ma trận xoắn A của Q và C, mỗi phần tử của ma trận A là khoảng cách giữa hai điểm trong chuỗi thời gian Q và C, ma trận A có kích n m Đường xoắn W trong hình 2.7 gồm tập hợp các giá trị khoảng
cách giữa hai điểm trên Q và C thể hiện một ánh xạ giữa Q và C Giả sử đường xoắn
W có K giá trị, khi đó độ đo DTW giữa Q và C là đường xoắn có chi phí nhỏ nhất và
được tính theo công thức sau:
γ(i, j) = d(q i , c j ) + min{ γ(i-1, j-1), γ(i-1, j), γ(i, j-1)}
Trong đó γ(i, j) là tổng khoảng cách tích lũy tại ô (i, j) của ma trận A
Trang 26Hình 2.8 Ma trận tính độ đo DTW và đường xoắn
Hình 2.8 là ma trận xoắn giữa hai chuỗi thời gian Q, C và ví dụ về một đường
xoắn của ma trận xoắn
2.3.3 Các độ đo trên dữ liệu rời rạc
Đối với các loại dữ liệu rời rạc (categorical data), độ đo Euclid và xoắn thời gian
động không thể sử dụng để đo độ tương tự vì không có sự định lượng rõ ràng giữa giá trị các thuộc tính của dữ liệu rời rạc
Độ đo Hamming là một trong những độ đo để tính khoảng cách đối với các loại
dữ liệu rời rạc như chuỗi ký tự hoặc chuỗi bit Độ đo Hamming cho biết số vị trí khác nhau của hai chuỗi dữ liệu có kích thước bằng nhau Độ đo Hamming của hai chuỗi
dữ liệu càng nhỏ thì hai chuỗi dữ liệu có độ tương tự càng cao
Ví dụ: - Khoảng cách Hamming giữa 1011101 và 1001001 là 2
- Khoảng cách Hamming giữa "toned" và "roses" là 3
Ngoài độ đo Hamming, một số độ đo trên dữ liệu rời rạc dựa trên xác suất và
trọng số của từng thuộc tính Cho tập dữ liệu D gồm N mẫu, mỗi mẫu có d thuộc tính,
A k là thuộc tính thứ k của một mẫu, n k là số lượng giá trị mà thuộc tính thứ k có thể
nhận được và một số định nghĩa:
f k (x): Số lần thuộc tính A k có giá trị x trong tập dữ liệu D Nếu x A k thì f k(x) = 0
𝑝̂𝑘(x): Xác suất để thuộc tính A k có giá trị x trong tập dữ liệu D
Trang 271 𝑑
= {
1𝑖𝑓𝑋𝑘 = 𝑌𝑘
1 1+𝑙𝑜𝑔𝑓𝑘(𝑋 𝑘 )×𝑙𝑜𝑔𝑓 𝑘 (𝑌 𝑘 ) 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
1 𝑑
= {
1𝑖𝑓𝑋𝑘 = 𝑌𝑘
1 1+𝑙𝑜𝑔 𝑁
𝑓𝑘(𝑋𝑘)×𝑙𝑜𝑔
𝑁 𝑓𝑘(𝑌𝑘)
𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
1 𝑑
= {2𝑙𝑜𝑔𝑝̂𝑘(𝑋𝑘)𝑖𝑓𝑋𝑘 = 𝑌𝑘2log(𝑝̂𝑘(𝑋𝑘) + 𝑝̂𝑘(𝑌𝑘))𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
1
∑𝑑𝑖=1𝑙𝑜𝑔𝑝̂𝑖(𝑋𝑖)+𝑙𝑜𝑔𝑝̂𝑖(𝑌𝑖)
= {∑𝑞∈𝑄𝑙𝑜𝑔𝑝̂𝑘(𝑞)𝑖𝑓𝑋𝑘 = 𝑌𝑘2𝑙𝑜𝑔 ∑𝑞∈𝑄𝑙𝑜𝑔𝑝̂𝑘(𝑞) 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
1 𝑑
8 Goodall2
= {1 − ∑𝑞∈𝑄𝑝𝑘2(𝑞) 𝑖𝑓𝑋𝑘 = 𝑌𝑘0𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
1 𝑑
9 Goodall3
= {1 − 𝑝 𝑘2(𝑋𝑘)𝑖𝑓𝑋𝑘 = 𝑌𝑘0𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
1 𝑑
10 Goodall4
= {𝑝 𝑘2(𝑋𝑘)𝑖𝑓𝑋𝑘 = 𝑌𝑘0𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
1 𝑑
𝑁−𝑓𝑘(𝑞) 𝑞∈{𝐴𝑘\{𝑋𝑘,𝑌𝑘}} 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
1
∑𝑑𝑘=1𝑛𝑘
[1]
[1]
Trang 28(1−𝑝 ̂𝑘(𝑋𝑘))(1−𝑝̂𝑘(𝑌𝑘))+∑𝑞∈𝐴𝑘2log(1−𝑝̂𝑘(𝑞))
𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
1 𝑑
𝑝 ̂𝑘(𝑋𝑘))
2 2 𝑛𝑘(𝑛𝑘+1)+∑ (
1 2𝑝 ̂𝑘(𝑋𝑘)𝑝̂𝑘(𝑌𝑘))
2 𝑛𝑘(𝑛𝑘+1) 𝑘∈{1≤𝑘≤𝑑:𝑋𝑘≠𝑌𝑘}
𝑘∈{1≤𝑘≤𝑑:𝑋𝑘=𝑌𝑘}
Bảng 2.1 Các độ đo tương tự trên dữ liệu rời rạc [1]
Đối với độ đo Lin1:
Q A k , q Q, 𝑝̂𝑘(X k) < 𝑝̂𝑘(q) < 𝑝̂𝑘(Y k), giả sử 𝑝̂𝑘(X k) < 𝑝̂𝑘(Y k )
Đối với độ đo Goodall1: Q A k , 𝑝̂𝑘(q) < 𝑝̂𝑘(X k )
Đối với độ đo Goodall2: Q A k , 𝑝̂𝑘(q) > 𝑝̂𝑘(X k)
2.4 Chuẩn hóa dữ liệu
Đơn vị đo có thể ảnh hưởng đến việc phân tích dữ liệu Các độ đo khác nhau có thể dẫn đến kết quả khác nhau Để tránh sự phụ thuộc vào việc lựa chọn độ đo, dữ liệu nên được chuẩn hóa Chuẩn hóa dữ liệu liên quan đến việc biến đổi các giá trị của dữ liệu nằm trong khoảng giá trị chung Chuẩn hóa dữ liệu rất hữu dụng trong các
giải thuật phân lớp như mạng nơ ron, k-NN cũng như các giải thuật gom cụm Ngoài
ra chuẩn hóa dữ liệu có thể hạn chế và loại bỏ dữ liệu nhiễu Một số phương pháp chuẩn hóa dữ liệu phổ biến là: chuẩn hóa min-max, chuẩn hóa z-score [7]
2.4.1 Chuẩn hóa min - max
Chuẩn hóa min - max thực hiện phép biến đổi tuyến tính trên dữ liệu ban đầu
Giả sử min A và max A lần lượt là giá trị nhỏ nhất và giá trị lớn nhất của thuộc tính A
Chuẩn hóa min - max sẽ ánh xạ một giá trị 𝑣𝑖của A thành một giá trị 𝑣𝑖′ nằm trong
đoạn [new_min A , new_max A] theo công thức:
𝑣𝑖′ = 𝑣𝑖− 𝑚𝑖𝑛𝐴
𝑚𝑎𝑥𝐴− 𝑚𝑖𝑛𝐴∗ (𝑛𝑒𝑤_𝑚𝑎𝑥𝐴− 𝑛𝑒𝑤_𝑚𝑖𝑛𝐴) + 𝑛𝑒𝑤_𝑚𝑖𝑛𝐴
Ví dụ: Một chuỗi thời gian T = (-1, 0, -2, 1, 3, -1, 2) T 1 là chuỗi thời gian có được
sau khi ánh xạ T về miền giá trị [1,4] Giá trị của T 1 là:
T 1 = (1.6, 2.2, 1, 2.8, 4, 1.6, 3.4)
Chuẩn hóa min-max giữ được mối liên hệ giữa các giá trị trong dữ liệu ban
[7]
Trang 29khoảng của thuộc tính A thì chuẩn hóa min-max sẽ gặp phải lỗi “quá giới hạn”
(out-of-bounds)
2.4.2 Chuẩn hóa z-score
Chuẩn hóa z-score thực hiện phép biến đổi giá trị của thuộc tính A dựa trên giá trị trung bình và độ lệch chuẩn Giá trị v i được chuẩn hóa thành giá trị 𝑣𝑖′ theo công
thức sau:
𝑣𝑖′ =𝑣𝑖− 𝐴̅𝐴
Trong đó: 𝐴̅ là giá trị trung bình của thuộc tính A;
𝐴 là độ lệch chuẩn của thuộc tính A
Thuộc tính A sau khi được chuẩn hóa sẽ có trung bình các giá trị bằng 0 và độ
2.5 Phương pháp thu giảm số chiều
2.5.1 Phương pháp xấp xỉ gộp từng đoạn (PAA)
Phương pháp xấp xỉ gộp từng đoạn (Piecewise aggregate approximation) được
đề xuất bởi Keogh và các cộng sự [8] Phương pháp này biểu diễn một chuỗi thời
gian X có kích thước n thành một vector 𝑋̅ = 𝑥̅1, 𝑥̅2, , 𝑥̅𝑁 có kích thước N < n,
trong đó mỗi phần tử của 𝑋̅ được tính như sau:
Trang 302.5.2 Phương pháp điểm cực trị quan trọng
Phương pháp điểm cực trị quan trọng được đề xuất bởi Pratt và Fink [15] Phương pháp này thu giảm chiều dữ liệu bằng cách lựa chọn các điểm cực trị quan trọng và loại bỏ các điểm còn lại
Một điểm t m của một chuỗi thời gian T: t 1 , t 2 , , t N là một điểm cực tiểu quan
trọng (significant minimum point) nếu có i và j, i<m<j, sao cho
- t m là điểm nhỏ nhất giữa t i , t j
- t i /t m > R và t j /t m > R
Một điểm t m của một chuỗi thời gian T: t 1 , t 2 , , t N là một điểm cực đại quan
trọng (significant maximum point) nếu có i và j, i<m<j, sao cho
- t m là điểm lớn nhất giữa t i , t j
- t m /t i > R và t m /t j > R
Trong đó R > 1 được gọi là tỉ lệ nén (compression rate) do người dùng định nghĩa R càng lớn thì các điểm quan trọng càng ít
Hình 2.9 Điểm cực tiểu quan trọng và điểm cực đại quan trọng [6]
Hình 2.9 là ví dụ điểm cực tiểu quan trọng và điểm cực đại quan trọng trong dữ liệu chuỗi thời gian
Giải thuật tìm kiếm điểm cực trị quan trọng với chuỗi thời gian T và tỉ lệ nén R
có mã giả như sau:
Trang 31while i < n and T[i] / T[iMin] < R and T[iMax] / T[i] < R do
if T[i] < T[iMin] then iMin = i
if T[i] > T[iMax] then iMax = i
if iMin < iMax then
output(T[iMin], iMin); output(T[iMax], iMax)
while i < n and T[i]/T[iMin] < R do
if T[i] < T[iMin] then iMin = i
while i < n and T[iMax] / T[i] < R do
if T[i] > T[iMax] then iMax = i
i = i + 1
output(T[iMax], iMax)
return i
Phương pháp nhận dạng điểm cực trị quan trọng khá hữu hiệu vì chỉ duyệt qua
dữ liệu một lần và có độ phức tạp tuyến tính Phương pháp điểm cực trị quan trọng được sử dụng trong giải thuật EP-C để phát hiện motif trên dữ liệu chuỗi thời gian
2.6 Phương pháp rời rạc hóa SAX (Symbol Aggregate Approximation)
Phương pháp rời rạc hóa SAX đề xuất bởi Lin và các cộng sự [9] SAX biểu diễn
một chuỗi thời gian có kích thước n thành một chuỗi ký tự có kích thước w (w<n) Kích thước của bảng ký tự (alphabet) là một số nguyên a bất kỳ, a > 2 Chuỗi thời gian T có kích thước n sẽ được thu giảm thành một chuỗi w chiều bằng phương pháp
Trang 32PAA, chuỗi thời gian T cần được chuẩn hóa sao cho có giá trị trung bình bằng 0 và
độ lệch chuẩn bằng 1 trước khi thu giảm chiều bằng phương pháp PAA Chuỗi thời gian sau khi được thu giảm chiều sẽ được mã hóa thành một chuỗi ký tự rời rạc, quá trình này gọi là ký hiệu hóa Để ký hiệu hóa một chuỗi thời gian cần phải xác định
các điểm ngắt (breakpoint): β1, β2, , β a-1 , với β1 < β 2 < < β a-1 Việc chọn các
điểm ngắt β phải dựa vào bảng xác suất của phân bố Gauss để có xác suất bằng 1/a cho mỗi ký tự Bảng 2.2 thể hiện giá trị của các điểm ngắt với giá trị a từ 3 đến 10
Bảng 2.2 Bảng điểm ngắt với giá trị a từ 3 đến 10 [9]
Sau khi đã xác định được các điểm ngắt, một chuỗi thời gian 𝑇̅=𝑡̅1, 𝑡̅2, , 𝑡̅𝑤 sẽ
được ký hiệu hóa thành một chuỗi ký tự C=c1c2…c w như mô tả trong hình 2.10 Mỗi giá trị 𝑡̅𝑖 sẽ được ánh xạ thành một ký tự c i , i =1,2, , w theo công thức:
c i = alpha j nếu β j-1 ≤ 𝑡̅𝑖 < β j (β 0 = -∞, β a = +∞),
alpha j là ký tự ở vị trí j trong bảng ký tự
Trang 33Trong hình 2.10, chuỗi thời gian ban đầu được rời rạc hóa thành chuỗi ký tự
baabccbc bằng phương pháp SAX
2.7 Gom cụm dữ liệu
Gom cụm dữ liệu là quá trình gom nhóm các đối tượng vào các cụm sao cho các đối tượng trong cùng một cụm có sự tương tự với nhau hơn so với các đối tượng trong các cụm khác Sự tương tự giữa các đối tượng được đánh giá dựa trên các giá trị thuộc tính của đối tượng và thường liên quan đến các độ đo khoảng cách Gom cụm là một tác vụ khai phá dữ liệu được sử dụng trong nhiều lĩnh vực như: sinh học, an ninh, kinh doanh, tìm kiếm trên web,
2.7.1 Giải thuật gom cụm K-means
K-means thực hiện gom cụm theo hướng tiếp cận phân hoạch dựa trên phần tử trung tâm (centroid) của một cụm Trung tâm của một cụm là giá trị trung bình của
các đối tượng thuộc cụm đó Giải thuật K-means được thực hiện như sau:
Đầu tiên, chọn ngẫu nhiên k đối tượng trong tập dữ liệu để biểu diễn phần tử trung tâm cho k cụm Thực hiện bước lặp, tại mỗi lần lặp các đối tượng còn lại được gom
vào cụm có sự tương tự nhau nhất Độ tương tự được tính dựa trên khoảng cách Euclid giữa đối tượng và trung tâm cụm Sau khi tất cả các đối tượng được gán vào cụm, trung tâm mỗi cụm sẽ được tính toán lại Quá trình lặp tiếp tục cho đến khi trong hai
lần lặp liên tiếp các đối tượng trong các cụm không có sự thay đổi hoặc lặp n lần với
n do người dùng định nghĩa
Giải thuật K-means với tập dữ liệu D và k cụm
(1) Chọn ngẫu nhiên k đối tượng từ tập dữ liệu D để khởi tạo các cụm, mỗi
đối tượng được xem như là trung tâm cụm
(2) Thực hiện lặp
(3) Gán mỗi đối tượng vào từng cụm sao cho đối tượng có sự tương tự
nhất với trung tâm của cụm
(4) Cập nhật lại trung tâm cụm bằng cách tính lại giá trị trung bình của
các đối tượng trong cụm
(5) Dừng khi trung tâm cụm không có sự thay đổi hoặc số lần lặp bằng giá
trị n cho trước
Nhược điểm của giải thuật gọm cụm K-means là khó khăn trong việc khởi tạo trung tâm cụm và lựa chọn số lượng cụm Thông thường trung tâm cụm được khởi
Trang 34tạo ngẫu nhiên vì vậy sẽ ảnh hưởng đến kết quả gom cụm, một số phương pháp được đưa ra để giải quyết vấn đề khởi tạo trung tâm cụm như cho giải thuật chạy nhiều và chọn lần chạy có sai số nhỏ nhất hoặc lựa chọn trung tâm cụm là đối tượng có khoảng cách xa nhất so với các đối tượng còn lại Ngoài ra K-means có hạn chế trong việc gom cụm các dữ liệu có kích thước, mật độ khác nhau và cụm có hình dạng không phải hình cầu
2.7.2 Giải thuật gom cụm gộp phân cấp
Giải thuật gom cụm gộp phân cấp (Hierarchical Agglomerative Clustering - HAC)
thực hiện gom cụm theo hướng tiếp cận phân cấp Khởi đầu, mỗi đối tượng được xem như là một cụm Thực hiện bước lặp để gom các cụm có độ tương tự nhau nhất Quá trình lặp kết thúc khi tất cả các đối tượng thuộc về một cụm duy nhất hoặc số lượng cụm bằng một thông số do người dùng định nghĩa
Hình 2.11 Gom cụm phân cấp gộp [7]
Hình 2.11 mô tả quá trình thực hiện của giải thuật gom cụm phân cấp gộp, tại các cụm sẽ được gộp lại thành cụm lớn hơn
Giải thuật gom cụm gộp phân cấp được thực hiện như sau:
(1) Tính toán ma trận khoảng cách giữa các đối tượng
(2) Mỗi đối tượng được xem như là một cụm
Trang 35Để thực hiện gom cụm gộp phân cấp, cần xây dựng một ma trận khoảng cách giữa các cụm Khoảng cách giữa các cụm có thể được tính bởi một trong các công thức sau:
Khoảng cách tối thiểu (minimum distance):
𝑑𝑖𝑠𝑡𝑚𝑖𝑛(𝐶𝑖, 𝐶𝑗) = min{|𝑝 − 𝑝0|} , 𝑝 ∈ 𝐶𝑖, 𝑝0 ∈ 𝐶𝑗Khoảng cách tối đa (maximum distance):
𝑑𝑖𝑠𝑡𝑚𝑎𝑥(𝐶𝑖, 𝐶𝑗) = max{|𝑝 − 𝑝0|} , 𝑝 ∈ 𝐶𝑖, 𝑝0 ∈ 𝐶𝑗Khoảng cách trung tâm (mean distance):
𝑑𝑖𝑠𝑡𝑚𝑒𝑎𝑛(𝐶𝑖, 𝐶𝑗) = |𝑚𝑖− 𝑚𝑗| Khoảng cách trung bình (average distance):
𝑑𝑖𝑠𝑡𝑎𝑣𝑔(𝐶𝑖, 𝐶𝑗) = 1
𝑛𝑖𝑛𝑗 ∑ |𝑝 − 𝑝0|
𝑝∈𝐶 𝑖 ,𝑝0∈𝐶 𝑗Khoảng cách tối thiểu giữa hai cụm là khoảng cách gần nhất giữa hai đối tượng thuộc hai cụm khác nhau (Hình 2.12)
Hình 2.12 Khoảng cách tối thiểu giữa hai cụm
Ngược lại, khoảng cách tối đa giữa hai cụm là khoảng cách lớn nhất giữa các đối tượng thuộc hai cụm khác nhau (Hình 2.13)
Hình 2.13 Khoảng cách tối đa giữa hai cụm
Khoảng cách trung tâm giữa hai cụm là khoảng cách giữa hai phần tử trung tâm, trung tâm cụm có giá trị bằng giá trị trung bình của các phần tử trong cụm (Hình 2.14)
Trang 36Hình 2.14 Khoảng cách trung tâm giữa hai cụm
Khoảng cách trung bình giữa hai cụm được tính như sau: lần lượt tính khoảng cách của mỗi đối tượng thuộc cụm thứ nhất với tất cả các đối tượng thuộc cụm thứ hai và lấy giá trị trung bình (Hình 2.15)
Hình 2.15 Khoảng cách trung bình giữa hai cụm Nhược điểm của giải thuật gom cụm gộp phân cấp là có độ phức tạp cao, sau khi quyết định thực hiện gộp hai cụm sẽ không thể quay lại các trạng thái trước đó Ngoải
ra việc lựa chọn các độ đo khoảng cách cũng ảnh hưởng đến kết quả gom cụm
2.8 Các độ đo đánh giá chất lượng của sự phân lớp
Để đánh giá chất lượng của sự phân lớp, các độ đo để kiểm tra độ chính xác của
bộ phân lớp trong việc dự đoán các nhãn lớp của các mẫu thử (test tuple) là một trong
những tiêu chí thường được quan tâm Các độ đo để đánh giá chất lượng phân lớp thường sử dụng một số thuật ngữ sau:
Mẫu positive (Positive tuples): những mẫu thuộc lớp được quan tâm nhất trong
quá trình phân lớp
Mẫu negative (negative tuples): những mẫu còn lại không thuộc mẫu positive True positives (TP): những mẫu positive được phân lớp đúng nhãn
True negatives (TN): những mẫu negative được phân lớp đúng nhãn
False positives (FP): những mẫu negative nhưng được gán nhãn là positive False negatives (FN): những mẫu positive nhưng được gán nhãn là negative
Các thuật ngữ trên thường được mô tả trong một ma trận nhầm lẫn (confusion
matrix)
Trang 37False Negatives (FN)
P = TP + FN
¬C1
False Positives (FP)
True Negatives (TN)
N = FP + TN
Bảng 2.3 Ma trận nhầm lẫn Bảng 2.3 là ví dụ về cấu trúc của một ma trận nhầm lẫn
Cho m lớp và ma trận nhầm lẫn M, phần tử M ij của ma trận nhầm lẫn là số mẫu
thuộc lớp i và được gán nhãn là lớp j bởi bộ phân lớp, 1 < i, j < m
Các độ đo thường được sử dụng để đánh giá chất lượng phân lớp:
Độ chính xác (accuracy) là tỉ lệ các mẫu được phân lớp đúng nhãn lớp, được tính
positive và negative Độ đo sensitivity và specificity được sử dụng trong việc đánh giá chất lượng phân lớp cụ thể với mẫu positive, negative Sensitivity hay recall là tỉ
lệ phân lớp đúng đối với các mẫu positive Ngược lại, specificity là tỉ lệ phân lớp đúng
đối với các mẫu negative
sesitivity (recall) = 𝑇𝑃
𝑃
specificity = 𝑇𝑁
𝑁
Một độ đo cũng thường được sử dụng là precision, precision là tỉ lệ các mẫu
positive thực sự trong tổng số các mẫu được gán nhãn là positive, tính bởi công thức:
[7]
[7]
[7]
[7]
Trang 38precision = 𝑇𝑃
𝑇𝑃+𝐹𝑃
Ngoài ra, còn có thể kết hợp giữa độ đo precision và recall như cách tiếp cận của
độ đo F và F β Độ đo F và F β được định nghĩa như sau:
F = 2𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛𝑟𝑒𝑐𝑎𝑙𝑙 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+𝑟𝑒𝑐𝑎𝑙𝑙
▪ Sự vững chắc (Robustness): đề cập đến khả năng phân lớp với dữ liệu nhiễu
hoặc thiếu dữ liệu
▪ Khả năng thích nghi với qui mô dữ liệu (Scalability): đề cập đến khả năng
xây dựng hiệu quả bộ phân lớp trên dữ liệu có kích thước lớn
▪ Khả năng diễn dịch (Interpretability): đề cập đến khả năng giải thích về kết
quả có được từ các bộ phân lớp Cây quyết định và các luật phân lớp có thể
dễ dàng diễn dịch, trong khi đó mạng nơ ron nhân tạo có khả năng diễn dịch kém
[7]
[7]
[7]
Trang 39CHƯƠNG 3 CÁC CÔNG TRÌNH LIÊN QUAN
Tìm kiếm motif và phân lớp dữ liệu dựa trên thông tin motif vẫn đang là những vấn đề đang được quan tâm nghiên cứu hiện nay Chương 3 sẽ trình bày các công trình liên quan đến bài toán tìm kiếm motif và phân lớp dữ liệu chuỗi thời gian theo thông tin motif cũng như các ưu, nhược điểm của các công trình này
3.1 Tìm kiếm motif
3.1.1 Giải thuật Brute Force
Trong lĩnh vực chuỗi thời gian, bài toán tìm kiếm motif luôn là vấn đề được quan tâm nghiên cứu với nhiều hướng tiếp cận được đưa ra Giải thuật đơn giản để có thể
giải quyết bài toán tìm kiếm motif có thể kể đến giải thuật Brute Force Giải thuật
Brute Force để tìm kiếm motif trên chuỗi thời gian được giới thiệu bởi Lin và các cộng sự [10] Brute Force sử dụng hai vòng lặp để tìm ra số lần lặp lại của tất cả các chuỗi con bằng cách so trùng mỗi chuỗi con với các chuỗi con còn lại, motif là chuỗi con có số lần lặp lại nhiều nhất
Giải thuật Brute Force tìm kiếm 1-motif có chiều dài n của chuỗi thời gian T có
mã giả như sau:
best_motif_count_so_far = 0; best_motif_location_so_far = null;
for i = 1 to length(T)- n + 1
count = 0; pointers = null;
for j = 1 to length(T)- n + 1
if non_trival_match(C[i:i+n-1],C[j:j+n-1],R) count = count + 1; pointers = append(pointers, j);
Trang 40Độ phức tạp của giải thuật Brute Force là O(n 2) Dựa vào tính đối xứng của khoảng cách Euclid có thể giảm thời gian tính toán của CPU bằng cách lưu trữ giá trị
khoảng cách D(A, B) của hai chuỗi con A, B và sử dụng lại khi tính khoảng cách
D(B,A) Tuy nhiên, việc lưu trữ các giá trị khoảng cách để sử dụng lại không phù hợp
đối với các cơ sở dữ liệu lớn Giải thuật Brute Force có nhược điểm là thời gian thực thi chậm và dễ nhạy cảm với nhiễu vì phải thực hiện tính toán trên toàn bộ chuỗi con của chuỗi thời gian
3.1.2 Giải thuật chiếu ngẫu nhiên (Random Projection)
Chiu và các cộng sự [5] đề xuất một hướng tiếp cận tìm kiếm motif có độ phức tạp tuyến tính, phát triển dựa trên giải thuật chiếu ngẫu nhiên được đề xuất bởi Buhler and Tompa [2] Giải thuật này tiếp cận theo hướng lặp, tất cả các chuỗi con của chuỗi thời gian được rời rạc hóa theo phương pháp SAX Sau khi rời rạc hóa, các chuỗi con được vào một ma trận 𝑆̂ với mỗi dòng là một chuỗi con như hình 3.1 Các chuỗi con của chuỗi thời gian được lấy bằng cách sử dụng phương pháp cửa sổ trượt
Hình 3.1 Các chuỗi con trong chuỗi thời gian T có kích thước 1000 được rời rạc
hóa bằng phương pháp SAX và đặt vào ma trận 𝑆̂ [5]
Thực hiện bước lặp sau khi có được ma trận 𝑆̂ chứa các chuỗi con đã rời rạc hóa, tại mỗi bước lặp chọn ngẫu nhiên một số cột trong ma trận 𝑆̂, lần lượt duyệt tất cả các chuỗi con tại các hàng trong ma trận 𝑆̂, mỗi chuỗi con sẽ được so trùng với các chuỗi