ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
---------------------------------------
LÝ MINH TRÍ
PHÂN LỚP DỮ LIỆU CHUỖI THỜI GIAN DỰA VÀO MẠNG
NƠ-RON TÍCH CHẬP CNN
Chuyên ngành: Khoa học máy tính
Mã số: 8480101
LUẬN VĂN THẠC SĨ
TP. HỒ CHÍ MINH, tháng 7 năm 2023
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
---------------------------------------
LÝ MINH TRÍ
PHÂN LỚP DỮ LIỆU CHUỖI THỜI GIAN DỰA VÀO MẠNG
NƠ-RON TÍCH CHẬP CNN
Chuyên ngành: Khoa học máy tính
Mã số: 8480101
LUẬN VĂN THẠC SĨ
TP. HỒ CHÍ MINH, tháng 7 năm 2023
CƠNG TRÌNH ĐƯỢC HỒ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, TS. Nguyễn Đức Dũng
Cán bộ chấm nhận xét 1 : TS. Lê Văn Quốc Anh
Cán bộ chấm nhận xét 2 : TS. Bùi Công Giao
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
13 tháng 07 năm 2023
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. Võ Thị Ngọc Châu
- Chủ tịch
2. TS. Phan Trọng Nhân
- Thư ký
3. TS. Lê Văn Quốc Anh
- Phản biện 1
4. TS. Bùi Công Giao
- Phản biện 2
5. TS. Trần Tuấn Anh
- Ủ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ó).
CHỦ TỊCH HỘI ĐỒNG
TRƯỞNG KHOA KHOA HỌC VÀ
KỸ THUẬT MÁY TÍNH
i
ĐẠI HỌC QUỐC GIA TP. HCM
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
Độc lập - Tự do - Hạnh phúc
------------------
------------------
I. NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: LÝ MINH TRÍ ................................... MSHV: 1970132
Ngày, tháng, năm sinh: 06/01/1992 ............................... Nơi sinh: Kiên Giang
Chuyên ngành: Khoa học máy tính ............................... Mã số: 8480101
I. TÊN ĐỀ TÀI:
PHÂN LỚP DỮ LIỆU CHUỖI THỜI GIAN DỰA VÀO MẠNG NƠ-RON TÍCH
CHẬP CNN (TIME SERIES CLASSIFICATION WITH CONVOLUTIONAL
NEURAL NETWORKS)
II. NHIỆM VỤ VÀ NỘI DUNG:
Đề xuất, nghiên cứu, thực hiện,đánh giá hiệu năng khi áp dụng mạng nơ ron tích chập
(CNN) cho bài toán phân lớp chuỗi thời gian so với phương pháp truyền thống 1-lân
cận gần nhất (1-NN) kết hợp với độ đo DTW và phương pháp SAX kết hợp mô hình
khơng gian vectơ.
III. NGÀY GIAO NHIỆM VỤ: 06/02/2023
IV. NGÀY HỒN THÀNH NHIỆM VỤ: 11/06/2023
V. CÁN BỘ HƯỚNG DẪN: PGS. TS Dương Tuấn Anh, TS. Nguyễn Đức Dũng
Tp. HCM, ngày . . . . tháng .. . . năm 2023
CÁN BỘ HƯỚNG DẪN
HỘI ĐỒNG NGÀNH
(Họ tên và chữ ký)
(Họ tên và chữ ký)
TRƯỞNG KHOA
KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH
(Họ tên và chữ ký)
ii
LỜI CẢM ƠN
Tôi muốn gửi lời cảm ơn chân thành đến PGS.TS Dương Tuấn Anh, người đã
định hướng, hỗ trợ, tạo điều kiện tốt nhất cho tơi trong q trình làm luận văn thạc sĩ.
Tôi cũng muốn gửi lời cảm ơn đến tất cả các giảng viên thuộc bộ môn Khoa học
máy tính, những người đã chia sẻ kiến thức và kinh nghiệm quý báu của mình. Sự hỗ trợ
và động viên từ phía họ đã giúp tơi tiến bộ và hồn thiện tốt hơn trong q trình nghiên
cứu.
Cuối cùng, tơi muốn bày tỏ lịng biết ơn chân thành đến gia đình và bạn bè đã
ln đồng hành và hỗ trợ tơi trong suốt q trình học tập và thực hiện luận văn này. Sự
ủng hộ và động viên của họ đã trở thành động lực quan trọng giúp tôi vượt qua những
khó khăn và hồn thành nhiệm vụ này.
Xin chân thành cảm ơn.
Lý Minh Trí
05/06/2022
iii
TÓM TẮT
Việc nghiên cứu và ứng dụng kỹ thuật phân lớp dữ liệu chuỗi thời gian hiện nay
đang được thu hút nhiều sự chú ý của các nhà nghiên cứu dữ liệu. Với sự phát triển
nhanh về công nghệ, dữ liệu chuỗi thời gian được thu thập bởi rất nhiều thiết bị. Việc
khai phá dữ liệu chuỗi thời gian mang lại lợi ích hữu hiệu trải dài nhiều lĩnh vực như
khai phá dữ liệu, thống kê, học máy, xử lý tín hiệu, v.v…
Có nhiều phương pháp phân lớp dữ liệu chuỗi thời gian, gần đây với sự phát triển
của mạng nơ ron học sâu, đã có xuất hiện những cơng trình nghiên cứu áp dụng mạng
nơ ron tích chập (CNN) vào công tác phân lớp dữ liệu chuỗi thời gian. Trong luận văn
này, chúng tôi chọn áp dụng mạng nơ ron tích chập một chiều (1D-CNN) vào bài tốn
phân lớp dữ liệu chuỗi thời gian, do tính phù hợp của mơ hình 1D-CNN với thể loại dữ
liệu chuỗi thời gian cũng như mơ hình 2D-CNN phù hợp với thể loại dữ liệu hình ảnh.
Chúng tơi đã tiến hành thực nghiệm 14 tập dữ liệu mẫu từ website UCR cho
phương pháp đề xuất này và so sánh kết quả thực nghiệm với hai phương pháp phân lớp
khác: giải thuật 1-nearest-neighbors với độ đo xoắn thời gian động (DTW) và phương
pháp kết hợp phép biến đổi SAX với mơ hình khơng gian vector (SAX-SVM). Kết quả
thực nghiệm cho thấy mơ hình 1D-CNN đem lại hiệu quả phân lớp tốt hơn hai mô hình
đối sánh trên phần lớn các bộ dữ liệu thực nghiệm.
iv
ABSTRACT
The research and application of time series data classification techniques have
been attracting the attention of data researchers. With the rapid development of
technology, time series data has been collected by many devices. Time series data
mining will bring benefits to many areas, such as data mining, statistics, machine
learning, signal processing, etc…
There are many methods of time series data classification. And recently, with the
development of deep neural networks, there have been several research works which
applied convolutional neural networks (CNNs) in time series classification. In this work,
we choose to apply 1-dimensional convolutional neural networks (1D-CNN) in time
series data classification since 1D-CNN model is more suitable with time series data
than the standard 2D-CNN model which is more suitable with image data.
We experimented on 14 sample datasets from the UCR website for this proposed
method and compared the performance of the proposed model to the two other methods
for time series classification: 1-nearest neighbors algorithm with DTW distance and
SAX transformation combined with vector space model (SAX-SVM). The experimental
results showed that the classification performance of 1D-CNN model is better than those
of the two other comparative methods in most of the benchmark datasets.
v
LỜI CAM ĐOAN
Tôi cam đoan rằng trong luận văn này, tất cả các công thức, ý tưởng, nghiên cứu,
và phân tích mà tơi đã mượn từ bên thứ ba đã được chú thích nguồn dẫn một cách đầy
đủ trong mục tài liệu tham khảo theo quyền của tác giả.
Tôi khẳng định rằng toàn bộ nội dung khác, bao gồm lý luận, cơng thức, hình
ảnh, và các thành quả nghiên cứu khác (trừ các tài liệu tham khảo đã được trích dẫn) là
kết quả của công việc nghiên cứu của tôi dưới sự hướng dẫn của PGS.TS Dương Tuấn
Anh.
Tôi cam đoan rằng tồn bộ thơng tin và kiến thức tơi tìm hiểu đã được thu thập
từ các nguồn tin cậy. Các số liệu dẫn chứng và đánh giá được trình bày trong luận văn
là trung thực và không bị gian lận hoặc phóng đại.
Nếu có bất kỳ sự gian lận nào trong luận văn này, tơi xin hồn tồn chịu trách
nghiệm và sẵn sàng chấp nhận các hình phạt.
Tp. Hồ Chí Minh, tháng 06 năm 2023
Lý Minh Trí
vi
MỤC LỤC
CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI .......................................................................... 1
1.1 Động cơ nghiên cứu.............................................................................................. 1
1.2 Mục tiêu và phạm vi nghiên cứu .......................................................................... 1
1.3 Những kết quả đạt được của luận văn................................................................... 2
1.4 Cấu trúc của luận văn ........................................................................................... 2
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT............................................................................ 4
2.1 Chuỗi thời gian ..................................................................................................... 4
2.2 Phân lớp dữ liệu .................................................................................................... 5
2.2.1 Khái niệm phân lớp dữ liệu ............................................................................ 5
2.2.2 Phương pháp phân lớp k lân cận gần nhất (k-NN) ......................................... 5
2.3 Các độ đo khoảng cách ......................................................................................... 6
2.3.1 Độ đo Euclid .................................................................................................. 7
2.3.2 Độ đo xoắn thời gian động ............................................................................. 7
2.4 Mạng nơron đa tầng (MLP) .................................................................................. 8
2.5 Học sâu ................................................................................................................. 9
2.6 Mạng nơ ron tích chập (CNN) ............................................................................ 10
2.7 Hàm Softmax ...................................................................................................... 11
2.8 Tinh chỉnh các siêu tham số và giải thuật Grid Search ....................................... 12
2.9 Chuẩn hóa dữ liệu ............................................................................................... 14
CHƯƠNG 3. CÁC CƠNG TRÌNH LIÊN QUAN ................................................... 15
3.1 Phân lớp chuỗi thời gian dựa vào shapelet ......................................................... 15
3.2 Phân lớp chuỗi thời gian bằng phương pháp SAX-VSM ................................... 16
3.3 Phân lớp chuỗi thời gian bằng mạng nơ ron tích chập FCN ............................... 17
3.4 Mạng nơ ron tích chập một chiều ....................................................................... 19
CHƯƠNG 4. PHƯƠNG PHÁP PHÂN LỚP ĐỀ XUẤT......................................... 23
4.1 Phương pháp tiếp cận ......................................................................................... 23
4.2 Ứng dụng kỹ thuật grid search............................................................................ 25
vii
4.3 Các bộ dữ liệu thực nghiệm ................................................................................ 25
4.4 Thư viện phần mềm hỗ trợ ................................................................................. 26
4.5 Cách đánh giá chất lượng phương pháp phân lớp............................................... 26
CHƯƠNG 5. THỰC NGHIỆM ĐÁNH GIÁ ........................................................... 28
5.1 Cấu hình hệ thống sử dụng trong thực nghiệm ................................................... 28
5.2 Các phương pháp đối sánh và các bộ dữ liệu thực nghiệm ................................. 28
5.2.1 Các phương pháp đối sánh cho công tác phân lớp dữ liệu chuỗi thời gian .. 28
5.2.2 Các bộ dữ liệu thực nghiệm ......................................................................... 28
5.2.3 Bộ dữ liệu nhịp tim ECGFiveDays .............................................................. 31
5.2.4 Bộ dữ liệu Fish ............................................................................................. 32
5.2.5 Bộ dữ liệu CBF ............................................................................................ 33
5.2.6 Bộ dữ liệu Trace ........................................................................................... 33
5.3 Giá trị siêu tham số cho các bộ dữ liệu thực nghiệm .......................................... 34
5.4 Kết quả thực nghiệm của ba bộ dữ liệu ArrowHead, BeeFl và ECGFiveDays .. 35
5.4.1 Kết quả thực nghiệm của bộ dữ liệu ArrowHead ......................................... 35
5.4.2 Kết quả thực nghiệm của bộ dữ liệu BeeFl .................................................. 36
5.4.3 Kết quả thực nghiệm của bộ dữ liệu ECGFiveDays ..................................... 38
5.5 Kết quả tổng hợp tỷ lệ lỗi của các bộ dữ liệu thực nghiệm ................................. 39
5.6 Kết quả tổng hợp thời gian thực thi của các bộ dữ liệu thực nghiệm ................. 40
CHƯƠNG 6. KẾT LUẬN ......................................................................................... 42
6.1 Kết quả đạt được của luận văn............................................................................ 42
6.2 Hướng phát triển trong tương lai ........................................................................ 42
TÀI LIỆU THAM KHẢO ......................................................................................... 43
PHỤ LỤC A................................................................................................................ 45
PHỤ LỤC B ................................................................................................................ 47
PHỤ LỤC C................................................................................................................ 50
viii
DANH MỤC HÌNH
Hình 2.1: Chuỗi thời gian giá cổ phiếu của một cơng ty ...................................4
Hình 2.2: Minh hoạ giải thuật k-NN ..................................................................6
Hình 2.3: So sánh độ đo DTW với độ đo Euclid ...............................................8
Hình 2.4: Mạng nơ ron đa tầng truyền thẳng .....................................................8
Hình 2.5: Sự khác biệt giữa mơ hình học sâu và mơ hình khơng sâu ................9
Hình 2.6: Mạng nơ ron tích chập .....................................................................11
Hình 2.7 : Mơ hình hồi quy softmax dưới dạng mạng nơ ron .........................12
Hình 2.8 : Ví dụ về grid search .......................................................................13
Hình 3.1: Tổng quan về thuật tốn SAX-VSM ...............................................17
Hình 3.2 : Kiến trúc mạng tích chập FCN để phân lớp chuỗi thời gian ([3]) ..18
Hình 3.3 : Kiến trúc mẫu của mạng nơ ron tích chập một chiều (1D CNN) với
3 tầng CNN và 2 tầng MLP .............................................................................20
Hình 3.4 : Sơ đồ tính tốn mạng nơ ron tích chập một chiều (1D CNN) ........21
Hình 4.1: Kiểm tra chéo k-phần với k = 4 .......................................................27
Hình 5.1: Một số hình minh họa bộ dữ liệu ArrowHead .................................31
Hình 5.2 : Một số hình minh họa bộ dữ liệu BeeFl .........................................31
Hình 5.3: Một số hình minh họa bộ dữ liệu ECGFiveDays ............................32
Hình 5.4: Hình chụp của một con cá và biểu diễn thành chuỗi thời gian [25] 32
Hình 5.5: Biểu diễn ba lớp của dữ liệu CBF....................................................33
Hình 5.6: Ví dụ về bốn nhóm lớp của bộ dữ liệu Trace ..................................34
Hình 5.7 : Tỉ lệ lỗi phân lớp trên bộ dữ liệu ArrowHead ................................36
Hình 5.8 : Thời gian phân lớp trên bộ dữ liệu ArrowHead .............................36
Hình 5.9 : Tỉ lệ lỗi phân lớp trên bộ dữ liệu BeeFl ..........................................37
Hình 5.10 : Thời gian phân lớp trên bộ dữ liệu BeeFl .....................................37
Hình 5.11 : Tỉ lệ lỗi phân lớp trên bộ dữ liệu ECGFiveDays ..........................38
Hình 5.12 : Thời gian phân lớp trên bộ dữ liệu ECGFiveDays .......................38
ix
DANH MỤC BẢNG
Bảng 4.1: Cấu hình dự kiến của mạng 1D-CNN ..........................................24
Bảng 5.1: Ký hiệu các bộ dữ liệu .................................................................29
Bảng 5.2: Thông tin các bộ dữ liệu sử dụng trong thực nghiệm ..................30
Bảng 5.3 : Cấu hình siêu tham số mạng 1D-CNN cho từng bộ dữ liệu .......34
Bảng 5.4 : Tổng hợp tỷ lệ lỗi phân lớp trên bộ dữ liệu thực nghiệm ...........39
Bảng 5.5: Tổng hợp thời gian phân lớp trên bộ dữ liệu thực nghiệm ..........40
x
CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI
1.1 Động cơ nghiên cứu
Ngày nay, việc phân tích, khai phá dữ liệu chuỗi thời gian (time series) mang lại nhiều
lợi ích to lớn trong các lĩnh vực tài chính, y tế, dự báo thời tiết. Một trong các phương
pháp phân tích chuỗi thời gian là xây dựng một bộ phân lớp (classifier) trên một tập dữ
liệu đã được gắn nhãn lớp, cho phép phân loại các dữ liệu chuỗi thời gian chưa biết lớp
theo các lớp đã định trước.
Một số phương pháp phân lớp truyền thống có thể kể đến như : cây quyết định, klân cận gần nhất,v.v.. Năm 2013, Wang và các cộng sự [1] đã cho thấy giải thuật 1-lân
cận gần nhất (1-NN) kết hợp với độ đo DTW là một cách tiếp cận hiệu quả và được
xem là tiêu chuẩn vàng cho bài toán phân lớp chuỗi thời gian. Phương pháp phân lớp
chuỗi thời gian dựa vào phép biến đổi SAX và mơ hình khơng gian véc-tơ trong cơng
trình của Senin và Malinchink [2] cũng đưa ra kết quả khả quan và thời gian thực thi tối
ưu hơn.
Trong những năm gần đây, sự bùng nổ của học sâu (deep learning) đã tạo ra bước
ngoặt mới trong lĩnh vực trí tuệ nhân tạo. Trong một cơng trình của Wang và các cộng
sự (2016) [3], các tác giả đã đề xuất mô hình mạng nơ ron tích chập FCN (Fully
Convolutional Network) để phân lớp dữ liệu chuỗi thời gian và so sánh phương pháp đề
xuất với các thuật toán phân lớp truyền thống áp dụng trên các tập dữ liệu chuỗi thời
gian khác nhau. Kết quả của thực nghiệm cho thấy phương pháp phân lớp dựa vào mạng
FCN (Fully Convolutional Network) là một hướng tiếp cận khả quan mới, đạt kết quả
phân lớp vượt trội trên một số tập dữ liệu.
Theo xu hướng ấy, đề tài nghiên cứu áp dụng mạng nơ ron tích chập (CNN) vào
việc phân lớp dữ liệu chuỗi thời gian và so sánh hiệu quả của phương pháp đề xuất với
phương pháp k-lân cận gần nhất kết hợp độ đo xoắn thời gian động (DTW), phương
pháp SAX kết hợp mơ hình khơng gian vectơ.
1.2 Mục tiêu và phạm vi nghiên cứu
Chúng tôi thực hiện đề tài này để đánh giá hiệu năng khi áp dụng mạng nơ ron tích chập
một chiều (1D-CNN) cho bài tốn phân lớp chuỗi thời gian so với phương pháp truyền
1
thống 1-lân cận gần nhất (1-NN) kết hợp với độ đo DTW và phương pháp SAX kết hợp
mơ hình khơng gian vectơ.
Phương pháp đề xuất thực nghiệm trên nhiều tập chuỗi thời gian mẫu khác nhau.
Đề tài đưa ra kết quả so sánh giữa các phương pháp, để làm rõ tiềm năng trong phương
hướng tiếp cận mới cho bài toán phân lớp chuỗi thời gian.
1.3 Những kết quả đạt được của luận văn
Sau thời gian nghiên cứu và thực nghiệm, chúng tôi đạt được những kết quả sau :
-
Hiểu rõ về mơ hình mạng nơ ron tích chập một chiều (1D-CNN).
-
Hiểu rõ phương pháp 1-lân cận gần nhất (1-NN) kết hợp với độ đo DTW.
-
Hiểu rõ phương pháp SAX kết hợp mơ hình khơng gian vectơ.
-
Hiện thực thành cơng 3 phương pháp trên lên 14 bộ dữ liệu chuỗi thời gian mẫu
khác nhau từ website UCR.
-
So sánh độ chính xác phân lớp, kết quả thực nghiệm cho thấy việc áp dụng mạng
nơ ron tích chập một chiều (1D-CNN) cho kết quả phân lớp chính xác tốt hơn so
với 2 phương pháp truyền thống là 1-lân cận gần nhất (1-NN) kết hợp với độ đo
DTW và phương pháp SAX kết hợp mơ hình khơng gian vectơ trên phần lớp các
bộ dữ liệu thực nghiệm.
-
So sánh thời gian phân lớp , kết quả thực nghiệm cho thấy với việc nâng cao độ
chính xác phân lớp, việc áp dụng mạng nơ ron tích chập (CNN) cần nhiều thời
gian hơn để huấn luyện mạng, đặc biệt trong việc áp dụng kỹ thuật grid search
để tìm các siêu tham số phù hợp cho từng tập dữ liệu.
1.4 Cấu trúc của luận văn
Phần còn lại của luận văn này gồm các chương:
Chương 2 giới thiệu các cơ sở lý thuyết của đề tài như chuỗi thời gian, phân lớp
dữ liệu, các độ đo khoảng cách, mạng nơ ron đa tầng, học sâu, mạng nơ ron tích chập,
hàm softmax, tinh chỉnh các siêu tham số, giải thuật Grid Search và chuẩn hóa dữ liệu.
Chương 3 giới thiệu các cơng trình liên quan như phương pháp phân lớp chuỗi
thời gian dựa vào shapelet, phương pháp phân lớp chuỗi thời gian SAX-VSM, phương
pháp phân lớp chuỗi thời gian dựa vào mạng nơ ron tích chập FCN, và mạng nơ ron tích
chập một chiều (1D CNN).
2
Chương 4 đề xuất phương pháp giải quyết vấn đề.
Chương 5 trình bày kết quả thực nghiệm so sánh phương pháp đề xuất với hai
phương pháp phân lớp chuỗi thời gian đối sánh.
Chương 6 trình bày những kết quả đạt được của luận văn và hướng phát triển
trong tương lai.
Cuối cùng là thư mục tài liệu tham khảo và phụ lục A, phụ lục B, phụ lục C.
3
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
Chương này giới thiệu các cơ sở lý thuyết của đề tài như chuỗi thời gian, phân lớp
dữ liệu, các độ đo khoảng cách, mạng nơ ron đa tầng, học sâu, mạng nơ ron tích chập,
hàm softmax, tinh chỉnh các siêu tham số, giải thuật Grid Search và chuẩn hóa dữ liệu.
2.1 Chuỗi thời gian
Một chuỗi thời gian (time series) là một chuỗi các điểm dữ liệu có thứ tự, mỗi điểm biểu
diễn một giá trị là số thực được đo tại những thời điểm cách đều nhau.
Chuỗi thời gian được sử dụng trong xác suất thống kê, tài chính, nhận dạng mẫu,
dự đốn thời tiết, v.v… và được sử dụng nhiều trong các lĩnh vực khoa học ứng dụng
và kỹ thuật. Chuỗi thời gian thường được giả định là được sinh ra tại những thời điểm
cách đều nhau, do đó được gọi là chuỗi thời gian thông thường (regular time series).
Một chuỗi thời gian bất quy tắc (irregular time series) là một chuỗi các điểm dữ
liệu có thứ tự nhưng khơng được đo tại các thời điểm cách đều nhau. Có vơ số cách thể
hiện một chuỗi thời gian. Tuy nhiên, khi chúng ta quan sát chuỗi thời gian, chúng ta
nhận thấy rằng dữ liệu chuỗi thời gian thường bao gồm bốn thành phần phổ biến đó là
xu hướng (trend), chu kỳ (cyclical), mùa (seasonal) và bất quy tắc (irregular). Hình 2.1
minh họa đường biểu diễn của chuỗi thời gian giá cổ phiếu của một cơng ty.
Hình 2.1: Chuỗi thời gian giá cổ phiếu của một công ty
4
2.2 Phân lớp dữ liệu
2.2.1 Khái niệm phân lớp dữ liệu
Phân lớp dữ liệu là công tác xác định một mẫu dữ liệu thuộc vào lớp nào trong một
tập các lớp thơng qua việc phân tích các thuộc tính quan trọng của mẫu dữ liệu đó. Một
số bộ phân lớp làm việc bằng cách so sánh khoảng cách giữa các mẫu với nhau. Một
giải thuật hiện thực phân lớp dữ liệu được gọi là một bộ phân lớp (classifier). Quá trình
xây dựng một bộ phân lớp gồm có hai bước: huấn luyện (training) và phân lớp
(classification).
Trong bước huấn luyện, chúng ta tiến hành xây dựng bộ phân lớp (classifier) bằng
cách phân tích dữ liệu huấn luyện với các mẫu (sample) và nhãn (label) tương ứng. Mỗi
mẫu dữ liệu được biểu diễn bởi một vector thuộc tính.
Tại bước phân lớp, bộ phân lớp sẽ được sử dụng để thực hiện gán nhãn lớp cho
các mẫu trong tập kiểm thử (test set). 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 và có tầm quan trọng, nó thường là bước cuối cùng trong một tiến
trình khai phá. Việc phân lớp dữ liệu chuỗi thời gian có thể được thực hiện trên các
phương pháp phân lớp truyền thống khá phổ biến như: phân lớp với k-lân cận gần nhất
(k-Nearest Neighbor), phân lớp với máy vectơ hỗ trợ (Support Vector Machine - SVM),
phân lớp với cây quyết định (Decision Tree), phân lớp với mạng nơ ron (Neural
Network), v.v …
2.2.2 Phương pháp phân lớp k lân cận gần nhất (k-NN)
Giải thuật k-lân cận gần nhất (k-Nearest Neighbor - k-NN) là giải thuật học có
giám sát (supervised-learning) đơn giản nhất có thể được áp dụng trong phân lớp dữ
liệu. Bộ phân lớp sử dụng giải thuật lân cận gần nhất sử dụng một vài hay toàn bộ mẫu
trong tập huấn luyện để phân lớp một mẫu thử. Đối 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 gần với nó nhất, trong đó
k là một số nguyên dương chọn trước khi thực hiện giải thuật. Việc chọn giá trị k này
liên quan đến kết quả phân lớp, nếu k q nhỏ thì kết quả có khả năng ảnh hưởng bởi
nhiễu, nếu k lớn thì nhiều phần tử lân cận sẽ có thể từ các lớp khác. Khi huấn luyện,
thuật tốn này khơng học được điều gì từ dữ liệu huấn luyện, mọi tính tốn được thực
hiện trong bước phân lớp.
5
Giải thuật k-NN được thực hiện qua một số bước như sau:
1. Xác định giá trị tham số k (số lân cận gần nhất).
2. Tính tốn khoảng cách giữa chuỗi thời gian 𝑄 thử (test set) đến tất cả các chuỗi thời
gian trong tập huấn luyện T (training set) sử dụng độ đo khoảng cách.
3. Sắp xếp theo thứ tự tăng dần và xác định k lân cận gần nhất với chuỗi thời gian Q.
4. Lấy tất cả các lớp của k lân cận gần nhất đã xác định
5. Dựa vào lớp đa số của các lân cận gần nhất để xác định lớp cho chuỗi thời gian Q.
Giải thuật k-NN sẽ có chi phí tính tốn cao khi số mẫu của tập dữ liệu lớn. Hình 2.2
minh họa giải thuật k lân cận gần nhất.
Hình 2.2: Minh hoạ giải thuật k-NN
Phương pháp phân lớp chuỗi thời gian dựa vào giải thuật k-NN được xếp vào thể
loại phân lớp chuỗi thời gian dựa vào khoảng cách (distance - based time series
classification).
2.3 Các độ đo khoảng cách
Các độ đo khoảng cách (distance measures) được sử dụng để tính khoảng cách và dùng
để xác định độ khác biệt giữa các chuỗi thời gian, tuỳ vào đặc điểm của chuỗi thời gian
và miền ứng dụng mà có độ đo tương ứng phù hợp. Đối với bài toán phân lớp dữ liệu
chuỗi thời gian, có hai độ đo khoảng cách thường được áp dụng là độ đo khoảng cách
Euclid và độ đo khoảng cách xoắn thời gian động (dynamic time warping - DTW).
6
2.3.1 Độ đo Euclid
Độ đo khoảng cách Euclid được dùng để đo độ khác biệt giữa hai chuỗi thời gian. Đây
là độ đo khoảng cách đơn giản nhất và dễ tính tốn nhất. Cho hai chuỗi thời gian C
={𝑐1 , 𝑐2 , . . . , 𝑐! } và Q = {𝑞1 , 𝑞2 , . . . , 𝑞! }, khoảng cách Euclid giữa hai chuỗi thời gian C
và Q được tính bằng cơng thức sau:
2
ED(C,Q) = '(𝑐1 − 𝑞1 )2 + (𝑐2 − 𝑞2 )2 +. . . +(𝑐! − 𝑞! )2
Độ đo khoảng cách Euclid có ưu thế là đơn giản, dễ hiện thực và thời gian thực thi
thấp. Tuy nhiên độ đo Euclid có nhược điểm là nhạy cảm với nhiễu và kém tính linh
hoạt vì độ đo này u cầu hai chuỗi thời gian có chiều dài bằng nhau.
2.3.2 Độ đo xoắn thời gian động
Hai chuỗi thời gian có hình dạng giống nhau nhưng bị lệch pha một khoảng thời gian
nào đó thì việc tính khoảng cách giữa hai chuỗi thời gian này bằng cách sử dụng độ đo
Euclid thì khoảng cách Euclid giữa chúng lớn một cách vơ lý. Vì vậy nhược điểm này
được khắc phục một cách tương đối bằng độ đo DTW. Độ đo DTW được cộng đồng xử
lý giọng nói giới thiệu bởi Itakura [4] vào năm 1975 và được Sakoe-Chiba [5] cải tiến
năm 1978, sau đó được đưa vào ứng dụng trong xử lý chuỗi thời gian do nhóm tác giả
Berndt và Clifford [6] giới thiệu vào năm 1994. Điểm khác biệt giữa độ đo khoảng cách
Euclid và độ đo xoắn thời gian động là với độ đo khoảng cách Euclid chỉ có thể tính
khoảng cách giữa hai chuỗi thời gian có độ dài bằng nhau bằng cách tính từng cặp điểm
(điểm thứ i của chuỗi thứ nhất so với điểm thứ i so với chuỗi thứ hai) thì độ đo xoắn thời
gian động có thể đo được khoảng cách giữa hai chuỗi thời gian có độ dài khác nhau (hay
có biên độ dao động khác nhau).
Với độ đo DTW, một điểm dữ liệu 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, các ánh xạ này khơng thẳng hàng. Hình 2.3 so sánh độ
đo DTW với độ đo Euclid.
7
Hình 2.3: So sánh độ đo DTW với độ đo Euclid
2.4 Mạng nơron đa tầng (MLP)
Mạng nơron nhân tạo (Artificial Neural Networks) mô phỏng lại mạng nơ ron sinh học
là một cấu trúc khối gồm các đơn vị tính tốn đơn giản được liên kết chặt chẽ với nhau
trong đó các liên kết giữa các nơron quyết định chức năng của mạng.
Mạng nơ ron đa tầng là một mơ hình học máy có giám sát (Supervised Machine
Learning) thuộc lớp Mạng nơ-ron nhân tạo, là tập hợp của các perceptron chia làm nhiều
nhóm, mỗi nhóm tương ứng với một tầng (layer). Mơ hình về cơ bản được đào tạo trên
dữ liệu để học một hàm phi tuyến nhằm mục đích phân loại hay hồi quy, với một tập
hợp các tính năng và một biến mục tiêu.
Hình 2.4 minh họa cấu trúc của mạng nơ ron truyền thẳng (Feedforward Neural
Network). Mạng nơ ron này bao gồm một tầng nhận (input layer), một hay nhiều tầng
ẩn (hidden layer) và một tầng xuất (output layer).
Hình 2.4: Mạng nơ ron đa tầng truyền thẳng
8
2.5 Học sâu
Học sâu là một họ những kỹ thuật học máy trong đó nhiều tầng (layer) của các chặng
xử lý thông tin với kiến trúc phân cấp được tận dụng để học các đặc trưng (feature
learning) và phân lớp mẫu.
Một mơ hình kiến trúc sâu bao gồm nhiều tầng kết hợp các tác vụ phi tuyến (nonlinear operation) tại các đơn vị xuất của nó.
Ý tưởng chính là có những đơn vị phát hiện đặc trưng (feature detector unit) tại mỗi
tầng mà rút trích dần và tinh chế những đặc trưng tinh tế và bất biến từ những dữ liệu
thơ ban đầu.
Các tầng thấp rút trích những đặc trưng đơn giản và những đặc trưng này được nạp
qua những tầng cao hơn để phát hiện những đặc trưng phức tạp hơn.
Ngược lại những mơ hình khơng sâu (shallow models), (thí dụ các mang nơ ron một
tầng ẩn), chỉ gồm một ít tầng chủ yếu ánh xạ những đặc trưng ban đầu của dữ liệu nhập
sang một không gian đặc trưng của ứng dụng cần xử lý.
Hình 2.5 minh họa những điểm khác biệt giữa mơ hình sâu (deep model) và mơ hình
khơng sâu (shallow model).
Hình 2.5: Sự khác biệt giữa mơ hình học sâu và mơ hình khơng sâu
9
Một số mơ hình mạng nơ ron học sâu nổi tiếng bao gồm: mạng Auto-encoder, mạng
Deep Belief Network (DBN), mạng nơ ron tích chập, mạng nơ ron Long Short Term
Memory (LSTM).
2.6 Mạng nơ ron tích chập (CNN)
Mạng nơ ron tích chập (convolutional neural network) là một trong những mơ hình học
sâu tiên tiến.
Dữ liệu đầu vào của mạng nơ ron tích chập thường là dữ liệu hai chiều. Các đơn
vị trong mạng CNN tiếp nhận dữ liệu đầu vào từ những vùng nhỏ kế tiếp trong không
gian dữ liệu đầu vào, được gọi là trường tiếp nhận (receptive field) để có thể duyệt qua
một tập hợp các đặc trưng đầu vào. Điều này cho phép các đơn vị làm việc như là các
bộ lọc (filter) và vận dụng mối liên hệ cục bộ giữa các trị đầu vào kế tiếp nhau.
Các đơn vị dùng chung các trọng số và độ lệch để tạo ra một bản đồ đặc trưng
(feature map); điều này gây ra một sự giảm thiểu đáng kể về số lượng tham số phải ước
lượng và tạo thuận lợi cho việc phát hiện các đặc trưng bất luận vị trí thật của chúng trên
khơng gian dữ liệu nhập. Sự giảm thiểu số lượng tham số này rất quan trọng khi số lượng
tầng trong mạng và số lượng đơn vị trong mỗi tầng gia tăng.
Giá trị đầu ra của một đơn vị trong tầng tích chập (convolution layer) đạt được bằng
cách áp dụng một kích hoạt phi tuyến, thí dụ như ReLU (rectified linear unit) vào kết
quả phép tích chập giữa một vùng tiếp cận với bộ lọc; ReLU đơn giản trả về max(0, x)
đối với dữ liệu đầu vào x. Hình 2.6 minh họa cấu trúc của một mạng CNN với nhiều
tầng tích tập đan xen với những tầng gộp (pooling layer). Tầng gộp, hay còn gọi là tầng
lấy mẫu giảm (subsampling layer) chia nhỏ bản đồ đặc trưng thành những vùng nhỏ
phân ly và trả về giá trị cực đại hoặc trung bình trong vùng nhỏ đó. Điều này giúp tạo ra
những bản đồ đặc trưng cô đọng hơn. Hai phép tốn tích chập và gộp cực đại (max
pooling) sẽ được giải thích trong phụ lục B.
Tầng cuối cùng của mạng CNN kết nối đầy đủ với một hàm softmax được áp dụng
cho giá trị tổng có đánh trọng số của các trị đi vào. Hàm softmax là sự tổng qt hóa của
hàm sigmoid để thích ứng với bài toán phân lớp nhiều lớp.
10
Mạng nơ ron CNN thường được huấn luyện bằng giải thuật lan truyền ngược
(backpropagation). Mạng nơ ron CNN được sử dụng phổ biến trong các ứng dụng như
xử lý ảnh, xử lý ngôn ngữ tự nhiên và dự báo dữ liệu chuỗi thời gian ([7], [8]).
Hình 2.6: Mạng nơ ron tích chập
2.7 Hàm Softmax
Chúng ta cần một mơ hình xác suất sao cho với mỗi đầu vào là vector x, đầu ra ai thể
hiện xác suất để đầu vào đó rơi vào lớp thứ i trong một công tác phân lớp nhiều lớp. Vậy
điều kiện cần là các đầu ra ai phải dương và tổng của chúng bằng một. Ngoài ra, ta thêm
một điều kiện giá trị zi = xT wi càng lớn thì xác xuất dữ liệu rơi vào lớp thứ i càng cao.
Điều kiện này chỉ ra rằng chúng ta cần một quan hệ đồng biến.
Chú ý rằng zi có thể nhận giá trị cả âm và dương vì nó là một tổ hợp tuyến tính
các thành phần của vector đặc trưng x. Một hàm số khả đạo hàm đồng biến đơn giản mà
có thể biến zi thành một giá trị dương là hàm exp(zi) = ezi. Hàm số này khơng những khả
đạo hàm mà cịn có đạo hàm là chính nó, việc này mang lại nhiều lợi ích khi tối ưu. Điều
kiện tổng các ai bằng một có thể được đảm bảo nếu:
Mối quan hệ này thỏa mãn tất cả các điều kiện đã xét: các đầu ra ai dương có tổng
bằng một và giữ được thứ tự của zi. Hàm này được gọi là hàm softmax, lúc này ta có coi
rằng:
P(yk = i |xk; W) = ai
Trong đó, P(y = i |x; W) được hiểu là xác suất để một điểm dữ liệu x rơi vào lớp
thứ i nếu biết tham số mơ hình là ma trận trọng số W. Hình 2.7 thể hiện mơ hình hồi quy
softmax dưới dạng mạng nơ ron.
11
Hình 2.7 : Mơ hình hồi quy softmax dưới dạng mạng nơ ron
2.8 Tinh chỉnh các siêu tham số và giải thuật Grid Search
Siêu tham số (hyperparameter) là những tham số của mơ hình mà giá trị của chúng phải
được xác định trước khi huấn luyện mơ hình. Thí dụ, số nút trong tầng ẩn của một mạng
nơ ron truyền thẳng là một siêu tham số vì chúng ta phải xác định nó trước khi huấn
luyện mạng nơ ron. Một thí dụ khác là số cây quyết định thành phần trong rừng ngẫu
nhiên (random forest). Các siêu tham số này phải được xác định trước giai đoạn huấn
luyện và giá trị của chúng sẽ ảnh hưởng khá nhiều đến hiệu quả của mơ hình.
Tại sao chúng ta phải tinh chỉnh (tune) các siêu tham số của một mơ hình? Bởi
vì chúng ta không thật sự biết trước được giá trị tối ưu của chúng. Những mơ hình với
những bộ trị siêu tham số khác nhau sẽ đem lại những hiệu quả khai phá dữ liệu khác
nhau.
Trong trường hợp của mạng nơ ron một tầng ẩn, số lượng nơ ron của tầng ẩn thấp
có thể dẫn đến hiện tượng ít khớp (underfitting) và số lượng nơ ron của tầng ẩn khá cao
có thể dẫn đến hiện tượng quá khớp (overfitting). Do đó, chúng ta cần xác định số nơ
ron tầng ẩn hợp lý nhất để đem lại hiệu quả phân lớp hay dự báo tốt nhất.
Nếu mơ hình có nhiều siêu tham số, chúng ta cần tìm kiếm bộ trị tốt nhất của các
siêu tham số trong một không gian nhiều nhiều. Đó là lý do tại sao việc tinh chỉnh các
siêu tham số (hyperparameter tuning) là một công tác phức tạp và tốn thời gian.
12
Có một giải thuật quan trọng hay được dùng để tinh chỉnh các siêu tham số của
các mơ hình,đặc biệt là các mơ hình mạng nơ ron học sâu, đó là giải thuật tìm kiếm lưới
(grid search).
Giải thuật Grid Search
Grid search là một giải thuật khá đơn giản để tinh chỉnh siêu tham số cho mơ hình. Ý
tưởng chính của giải thuật này là chúng ta chia các miền trị (domain) của các siêu tham
số thành ra một cái lưới rời rạc (discrete grid). Sau đó, chúng ta thử áp dụng mỗi tổ hợp
trị trong lưới này như là bộ siêu tham số cho mơ hình và tính tốn độ đo hiệu quả của
mơ hình dựa vào kiểm tra chéo (cross-validation). Điểm nào trong lưới mà cực đại hóa
được độ đo hiệu quả trung bình trong quá trình kiểm tra chéo chính là tổ hợp siêu tham
số tốt nhất cho mơ hình.
Hình 2.8 minh họa một thí dụ về Grid Search trong trường hợp tổ hợp siêu tham
số của mô hình chỉ gồm hai siêu tham số
Hình 2.8 : Ví dụ về grid search
Grid search là một giải thuật tìm kiếm vét cạn vì giải thuật phải xét qua tất cả mọi
tổ hợp trị để tìm ra tổ hợp trị tốt nhất. Do đó giải thuật sẽ gây ra chi phí tính tốn cao.
Tuy nhiên khi chúng ta cần tìm kiếm một tổ hợp trị tốt nhất cho các siêu tham số của
mơ hình, thì grid search là một lựa chọn thích hợp.
13