CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI .1 Động cơ nghiên cứu.2 Mục tiêu và phạm vi nghiên cứu .3 Những kết quả đạt được của luận văn.4 Cấu trúc của luận văn .1 Chuỗi thời gian .2 Phân lớp dữ liệu .1 Khái niệm phân lớp dữ liệu .2 Phương pháp phân lớp k lân cận gần nhất (k-NN) .2 Độ đo xoắn thời gian động .4 Mạng nơron đa tầng (MLP) .6 Mạng nơ ron tích chập (CNN) .8 Tinh chỉnh các siêu tham số và giải thuật Grid Search .9 Chuẩn hóa dữ liệu. CÁC CÔNG TRÌNH LIÊN QUAN .1 Phân lớp chuỗi thời gian dựa vào shapelet .2 Phân lớp chuỗi thời gian bằng phương pháp SAX-VSM .3 Phân lớp chuỗi thời gian bằng mạng nơ ron tích chập FCN .4 Mạng nơ ron tích chập một chiều. PHƯƠNG PHÁP PHÂN LỚP ĐỀ XUẤT.1 Phương pháp tiếp cận .2 Ứng dụng kỹ thuật grid search.3 Các bộ dữ liệu thực nghiệm .4 Thư viện phần mềm hỗ trợ .5 Cách đánh giá chất lượng phương pháp phân lớp.
THỰC NGHIỆM ĐÁNH GIÁ .1 Cấu hình hệ thống sử dụng trong thực nghiệm .2 Các phương pháp đối sánh và các bộ dữ liệu thực nghiệm .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 .2 Các bộ dữ liệu thực nghiệm .3 Bộ dữ liệu nhịp tim ECGFiveDays .4 Bộ dữ liệu Fish .5 Bộ dữ liệu CBF .6 Bộ dữ liệu Trace .3 Giá trị siêu tham số cho các bộ dữ liệu thực nghiệm .4 Kết quả thực nghiệm của ba bộ dữ liệu ArrowHead, BeeFl và ECGFiveDays .1 Kết quả thực nghiệm của bộ dữ liệu ArrowHead .2 Kết quả thực nghiệm của bộ dữ liệu BeeFl .3 Kết quả thực nghiệm của bộ dữ liệu ECGFiveDays .5 Kết quả tổng hợp tỷ lệ lỗi của các bộ dữ liệu thực nghiệm .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 .1 Kết quả đạt được của luận văn.2 Hướng phát triển trong tương lai. 42 TÀI LIỆU THAM KHẢO. 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 .2: Minh hoạ giải thuật k-NN .3: So sánh độ đo DTW với độ đo Euclid .4: Mạng nơ ron đa tầng truyền thẳng .5: Sự khác biệt giữa mô hình học sâu và mô hình không sâu .6: Mạng nơ ron tích chập .7 : Mô hình hồi quy softmax dưới dạng mạng nơ ron .8 : Ví dụ về grid search .1: Tổng quan về thuật toán SAX-VSM .2 : Kiến trúc mạng tích chập FCN để phân lớp chuỗi thời gian ([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 .4 : Sơ đồ tính toán mạng nơ ron tích chập một chiều (1D CNN) .1: Kiểm tra chéo k-phần với k = 4 .1: Một số hình minh họa bộ dữ liệu ArrowHead .2 : Một số hình minh họa bộ dữ liệu BeeFl .3: Một số hình minh họa bộ dữ liệu ECGFiveDays .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.6: Ví dụ về bốn nhóm lớp của bộ dữ liệu Trace .7 : Tỉ lệ lỗi phân lớp trên bộ dữ liệu ArrowHead .8 : Thời gian phân lớp trên bộ dữ liệu ArrowHead .9 : Tỉ lệ lỗi phân lớp trên bộ dữ liệu BeeFl .10 : Thời gian phân lớp trên bộ dữ liệu BeeFl .11 : Tỉ lệ lỗi phân lớp trên bộ dữ liệu ECGFiveDays .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 .1: Ký hiệu các bộ dữ liệu .2: Thông tin các bộ dữ liệu sử dụng trong thực nghiệm .3 : Cấu hình siêu tham số mạng 1D-CNN cho từng bộ dữ liệu .4 : Tổng hợp tỷ lệ lỗi phân lớp trên bộ dữ liệu thực nghiệm .5: Tổng hợp thời gian phân lớp trên bộ dữ liệu thực nghiệm. 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, k- lân cận gần nhất,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ơ.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 toá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.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.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.
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.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ự đoá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).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.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.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.