GIỚI THIỆU ĐỀ TÀI
Động cơ nghiên cứu
Phân tích và khai thác dữ liệu chuỗi thời gian hiện nay mang lại nhiều lợi ích đáng kể trong các lĩnh vực như tài chính, y tế và dự báo thời tiết Một trong những phương pháp hiệu quả để phân tích chuỗi thời gian là xây dựng bộ phân lớp trên tập dữ liệu đã được gán nhãn, giú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 đã được xác định trước.
Một số phương pháp phân lớp truyền thống bao gồm cây quyết định và k-lân cận gần nhất Năm 2013, Wang và các cộng sự đã chứng minh rằng thuật toán 1-lân cận gần nhất (1-NN) kết hợp với độ đo DTW là một phương pháp hiệu quả và được coi là tiêu chuẩn vàng cho phân lớp chuỗi thời gian Ngoài ra, nghiên cứu của Senin và Malinchink về phương pháp phân lớp chuỗi thời gian dựa trên phép biến đổi SAX và mô hình không gian véc-tơ cũng cho kết quả khả quan với thời gian thực thi tối ưu hơn.
Trong những năm gần đây, học sâu (deep learning) đã mang lại bước ngoặt mới cho trí tuệ nhân tạo Nghiên cứu của Wang và các cộng sự (2016) đã giới thiệu 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 So với các thuật toán phân lớp truyền thống, phương pháp FCN cho thấy hiệu quả vượt trội trên nhiều tập dữ liệu chuỗi thời gian, khẳng định đây là một hướng tiếp cận tiềm năng trong lĩnh vực này.
Nghiên cứu này tập trung vào việc áp dụng mạng nơ ron tích chập (CNN) để phân lớp dữ liệu chuỗi thời gian Bài viết so sánh hiệu quả của phương pháp CNN với phương pháp k-lân cận gần nhất kết hợp với độ đo xoắn thời gian động (DTW) và phương pháp SAX kết hợp mô hình không gian vectơ.
Mục tiêu và phạm vi nghiên cứu
Chúng tôi tiến hành nghiên cứu này nhằm đánh giá hiệu suất của mạng nơ ron tích chập một chiều (1D-CNN) trong việc phân loại chuỗi thời gian, so với các phương pháp truyền thống khác.
2 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 khác nhau đã cho thấy tiềm năng trong việc cải thiện phân lớp chuỗi thời gian Bài viết so sánh các phương pháp hiện có, làm nổi bật những ưu điểm và khả năng của hướng tiếp cận mới này.
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
Kết quả thực nghiệm cho thấy việc sử dụng mạng nơ ron tích chập một chiều (1D-CNN) mang lại độ chính xác phân lớp cao hơn so với hai 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 các bộ dữ liệu thực nghiệm.
Kết quả thực nghiệm cho thấy rằng việc nâng cao độ chính xác trong phân lớp yêu cầu thời gian huấn luyện mạng nơ ron tích chập (CNN) nhiều hơn, đặc biệt khi áp dụng kỹ thuật grid search để tìm kiếm các siêu tham số phù hợp cho từng tập dữ liệu.
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)
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
Chuỗi thời gian
Một chuỗi thời gian (time series) là tập hợp các điểm dữ liệu được sắp xếp theo thứ tự, trong đó mỗi điểm thể hiện một giá trị thực được ghi nhận tại các thời điểm cách đều nhau.
Chuỗi thời gian là công cụ quan trọng trong xác suất thống kê, tài chính, nhận dạng mẫu và dự đoán thời tiết, được ứng dụng rộng rãi trong các lĩnh vực khoa học và kỹ thuật Có hai loại chuỗi thời gian: chuỗi thời gian thông thường, được ghi nhận tại các thời điểm đều đặn, và chuỗi thời gian bất quy tắc, với các điểm dữ liệu không được đo tại các thời điểm cố định Khi phân tích chuỗi thời gian, ta thường nhận thấy bốn thành phần chính: xu hướng (trend), chu kỳ (cyclical), mùa (seasonal) và bất quy tắc (irregular) Ví dụ minh họa cho chuỗi thời gian là đồ thị 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
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à quá trình xác định lớp của một mẫu dữ liệu trong tập các lớp thông qua việc phân tích các thuộc tính quan trọng Một số bộ phân lớp hoạt động bằng cách so sánh khoảng cách giữa các mẫu Giải thuật phân lớp dữ liệu được gọi là bộ phân lớp (classifier), và quá trình xây dựng bộ phân lớp bao gồm hai bước chính: huấn luyện (training) và phân lớp.
Trong quá trình huấn luyện, chúng ta xây dựng bộ phân lớp bằng cách phân tích dữ liệu huấn luyện cùng với các mẫu và nhãn tương ứng Mỗi mẫu dữ liệu được thể hiện dưới dạng một vector thuộc tính.
Trong bước phân lớp, bộ phân lớp được sử dụng để gán nhãn lớp cho các mẫu trong tập kiểm thử Phân lớp là một kỹ thuật quan trọng trong khai phá dữ liệu, thường là bước cuối cùng trong quá trình này Việc phân lớp dữ liệu chuỗi thời gian có thể thực hiện bằng các phương pháp truyền thống như k-lân cận gần nhất (k-Nearest Neighbor), máy vectơ hỗ trợ (Support Vector Machine - SVM), cây quyết định (Decision Tree), và mạng nơ ron (Neural Network).
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-NN) là một phương pháp học có giám sát đơn giản, được sử dụng để phân lớp dữ liệu Bộ phân lớp này dựa vào một hoặc toàn bộ mẫu trong tập huấn luyện để phân loại một mẫu thử Đối với k-NN, 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 nhất, với k là một số nguyên dương được chọn trước Việc lựa chọn giá trị k rất quan trọng, vì nếu k quá nhỏ, kết quả có thể bị ảnh hưởng bởi nhiễu, trong khi k quá lớn có thể dẫn đến sự xuất hiện của các phần tử từ các lớp khác Đặc biệt, trong quá trình huấn luyện, thuật toán này không học được thông tin từ dữ liệu huấn luyện; mọi tính toán chỉ được thực hiện trong bước phân lớp.
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 toá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 toá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 sử dụng giải thuật k-NN thuộc thể loại phân lớp chuỗi thời gian dựa vào khoảng cách.
Các độ đo khoảng cách
Các độ đo khoảng cách được sử dụng để xác định sự khác biệt giữa các chuỗi thời gian, tùy thuộc vào đặc điểm và miền ứng dụng Trong bài toán phân lớp dữ liệu chuỗi thời gian, hai độ đo khoảng cách phổ biến là độ đo khoảng cách Euclid và độ đo khoảng cách xoắn thời gian động (DTW).
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 toá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:
Độ đo khoảng cách Euclid, được định nghĩa bởi công thức ED(C,Q) = ' (𝑐 2 1 − 𝑞 1 ) 2 + (𝑐 2 − 𝑞 2 ) 2 + + (𝑐 ! − 𝑞 ! ) 2, có ưu điểm là đơn giản, dễ hiện thực và có thời gian thực thi thấp Tuy nhiên, nó cũng có nhược điểm là nhạy cảm với nhiễu và kém tính linh hoạt, do yêu cầu hai chuỗi thời gian phải có chiều dài bằng nhau.
2.3.2 Độ đo xoắn thời gian động
Khi hai chuỗi thời gian có hình dạng tương tự nhưng lệch pha, việc sử dụng độ đo Euclid để tính khoảng cách giữa chúng có thể dẫn đến kết quả không chính xác Để khắc phục nhược điểm này, độ đo DTW (Dynamic Time Warping) đã được phát triển Được giới thiệu bởi Itakura vào năm 1975 và cải tiến bởi Sakoe-Chiba năm 1978, DTW đã được áp dụng trong xử lý chuỗi thời gian bởi Berndt và Clifford vào năm 1994 Khác với độ đo Euclid, chỉ tính được khoảng cách giữa hai chuỗi có độ dài bằng nhau, DTW cho phép đo khoảng cách giữa các chuỗi có độ dài khác nhau, mang lại sự linh hoạt hơn trong phân tích dữ liệu.
Độ đo DTW cho phép ánh xạ một điểm dữ liệu trong chuỗi thời gian với nhiều điểm khác trong chuỗi thời gian khác mà không cần phải thẳng hàng Hình 2.3 minh họa sự khác biệt giữa độ đo DTW và độ đo Euclid.
Hình 2.3: So sánh độ đo DTW với độ đo Euclid
Mạng nơron đa tầng (MLP)
Mạng nơron nhân tạo (Artificial Neural Networks) là mô hình mô phỏng mạng nơron sinh học, bao gồm các đơn vị tính toán đơn giản được kết nối chặt chẽ Các liên kết giữa các nơron trong mạng quyết định chức năng và hiệu suất của nó.
Mạng nơ ron đa tầng là một mô hình học máy giám sát thuộc lớp Mạng nơ-ron nhân tạo, bao gồm nhiều perceptron được tổ chức thành các tầng Mô hình này được đào tạo trên dữ liệu để học một hàm phi tuyến, phục vụ cho mục đích phân loại hoặc hồi quy, với một tập hợp các tính năng và biến mục tiêu.
Figure 2.4 illustrates the structure of a Feedforward Neural Network, which consists of an input layer, one or more hidden layers, and an output layer.
Hình 2.4: Mạng nơ ron đa tầng truyền thẳng
Học sâu
Học sâu là một tập hợp các kỹ thuật học máy sử dụng nhiều tầng xử lý thông tin theo kiến trúc phân cấp, nhằm mục đích học các đặc trưng và phân loại mẫu hiệu quả.
Một mô hình kiến trúc sâu bao gồm nhiều tầng, mỗi tầng thực hiện các tác vụ phi tuyến tại các đơn vị xuất Ý tưởng chính là sử dụng các đơn vị phát hiện đặc trưng ở mỗi tầng để dần rút trích và tinh chế những đặc trưng tinh tế và bất biến từ dữ liệu thô ban đầu.
Các tầng thấp trong mạng nơ-ron trích xuất các đặc trưng đơn giản, sau đó các đặc trưng này được chuyển giao cho các tầng cao hơn để phát hiện và nhận diện những đặc trưng phức tạp hơn.
Ngược lại với các mô hình không sâu, như các mạng nơ ron một tầng ẩn, những mô hình sâu có khả năng ánh xạ các đặc trưng ban đầu của dữ liệu vào không gian đặc trưng phức tạp hơn, phù hợp với ứ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
Some well-known deep learning neural network models include Auto-encoders, Deep Belief Networks (DBN), Convolutional Neural Networks (CNN), and Long Short-Term Memory (LSTM) networks.
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 (CNN) thường là hai chiều, với các đơn vị tiếp nhận dữ liệu từ các vùng nhỏ liên tiếp trong không gian, được gọi là trường tiếp nhận (receptive field) Điều này cho phép các đơn vị hoạt động như bộ lọc (filter) và khai thác mối liên hệ cục bộ giữa các giá trị đầu vào kế tiếp nhau.
Các đơn vị sử dụng chung trọng số và độ lệch để tạo ra bản đồ đặc trưng, giúp giảm thiểu đáng kể số lượng tham số cần ước lượng Điều này hỗ trợ việc phát hiện các đặc trưng mà không phụ thuộc vào vị trí của chúng trong không gian dữ liệu đầu vào Việc giảm số lượng tham số là rất quan trọng khi số tầng trong mạng và số lượng đơn vị trong mỗi tầng tăng lên.
Giá trị đầu ra trong tầng tích chập của mạng nơ-ron tích chập (CNN) được xác định bằng cách áp dụng hàm kích hoạt phi tuyến như ReLU vào kết quả từ phép tích chập giữa vùng tiếp cận và bộ lọc, trong đó ReLU trả về giá trị max(0, x) cho dữ liệu đầu vào x Mạng CNN thường bao gồm nhiều tầng tích chập xen kẽ với các tầng gộp, hay còn gọi là tầng lấy mẫu giảm, giúp chia nhỏ bản đồ đặc trưng thành các vùng nhỏ và trả về giá trị cực đại hoặc trung bình trong mỗi vùng Quá trình này tạo ra những bản đồ đặc trưng cô đọng hơn, và các phép toán tích chập cùng gộp cực đại sẽ được giải thích chi tiết trong phụ lục B.
Tầng cuối cùng của mạng CNN sử dụng hàm softmax, kết nối đầy đủ với giá trị tổng có trọng số của các đầu vào Hàm softmax là một phiên bản mở rộng của hàm sigmoid, được thiết kế để giải quyết các bài toán phân lớp nhiều lớp.
Mạng nơ ron CNN thường được huấn luyện bằng giải thuật lan truyền ngược
Mạng nơ ron tích chập (CNN) được ứng dụng rộng rãi trong các lĩnh vực như xử lý ảnh, xử lý ngôn ngữ tự nhiên và dự báo dữ liệu chuỗi thời gian.
Hình 2.6: Mạng nơ ron tích chập
Hàm Softmax
Chúng ta cần xây dựng một mô hình xác suất cho phép mỗi vector đầu vào x được ánh xạ đến các xác suất a i, biểu thị khả năng thuộc về lớp thứ i trong bài toán phân loại đa lớp Điều kiện cần thiết là các giá trị a i phải dương và tổng của chúng phải bằng một Thêm vào đó, chúng ta yêu cầu rằng giá trị z i = x T w i càng lớn thì xác suất dữ liệu thuộc lớp thứ i càng cao, thể hiện mối quan hệ đồng biến giữa các yếu tố.
Giá trị của z i có thể là âm hoặc dương do nó là tổ hợp tuyến tính của các thành phần vector x Một hàm khả đạo hàm đồng biến đơn giản để biến z i thành giá trị dương là hàm exp( z i ) = e zi Hàm này không chỉ khả đạo hàm mà còn có đạo hàm bằng chính nó, mang lại lợi ích cho quá trình tối ưu Điều kiện tổng các a i bằng một có thể được đảm bảo nếu:
Mối quan hệ này đáp ứng đầy đủ các điều kiện đã được phân tích, với các đầu ra a i dương có tổng bằng một và duy trì thứ tự của z i Hàm này được gọi là hàm softmax.
Xác suất P(y = i | x ; W) cho biết khả năng một điểm dữ liệu x thuộc về lớp thứ i với tham số mô hình được biểu diễn bằng ma trận trọng số W Hình 2.7 minh họa mô hình hồi quy softmax dưới dạng mạng nơ ron.
Hình 2.7 : Mô hình hồi quy softmax dưới dạng mạng nơ ron
Tinh chỉnh các siêu tham số và giải thuật Grid Search
Siêu tham số (hyperparameter) là các tham số của mô hình cần được xác định trước khi tiến hành huấn luyện Ví dụ, số lượng nút trong tầng ẩn của mạng nơ ron truyền thẳng và số cây quyết định trong rừng ngẫu nhiên là những siêu tham số quan trọng Việc xác định đúng giá trị cho các siêu tham số này trước giai đoạn huấn luyện sẽ ảnh hưởng lớn đến hiệu quả hoạt động của mô hình.
Việc tinh chỉnh các siêu tham số của một mô hình là cần thiết vì chúng ta không thể dự đoán chính xác giá trị tối ưu của chúng Các mô hình với bộ siêu tham số khác nhau sẽ mang lại hiệu quả khai thác dữ liệu khác nhau, do đó, việc điều chỉnh này giúp tối ưu hóa kết quả phân tích.
Trong mạng nơ ron một tầng ẩn, số lượng nơ ron trong tầng ẩn cần được xác định một cách hợp lý để tránh hiện tượng ít khớp (underfitting) khi số nơ ron quá thấp và hiện tượng quá khớp (overfitting) khi số nơ ron quá cao, nhằm tối ưu hóa hiệu quả phân lớp và dự báo.
Việc tinh chỉnh các siêu tham số là một nhiệm vụ phức tạp và tốn thời gian, đặc biệt khi mô hình có nhiều siêu tham số cần tối ưu hóa trong một không gian đa chiều Do đó, việc tìm kiếm bộ trị tốt nhất cho các siêu tham số là rất quan trọng để cải thiện hiệu suất của mô hình.
Giải thuật tìm kiếm lưới (grid search) là một phương pháp quan trọng để tối ưu hóa các siêu tham số của mô hình, đặc biệt trong lĩnh vực mạng nơ ron học sâu.
Grid search là một phương pháp đơn giản để tối ưu hóa siêu tham số cho mô hình Giải thuật này chia các miền trị của siêu tham số thành một lưới rời rạc, từ đó thử nghiệm từng tổ hợp trị trong lưới như bộ siêu tham số cho mô hình Để đánh giá hiệu quả của từng tổ hợp, chúng ta sử dụng kiểm tra chéo (cross-validation) Tổ hợp siêu tham số nào mang lại độ đo hiệu quả trung bình cao nhất trong quá trình kiểm tra chéo sẽ được xem là 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 phương pháp tìm kiếm vét cạn, yêu cầu kiểm tra tất cả các tổ hợp giá trị để xác định tổ hợp tối ưu nhất, dẫn đến chi phí tính toán cao Mặc dù vậy, khi cần tìm kiếm tổ hợp giá trị tốt nhất cho các siêu tham số của mô hình, grid search vẫn là một lựa chọn hợp lý.
Chuẩn hóa dữ liệu
Trước khi tiến hành phân lớp dữ liệu, việc chuẩn hóa dữ liệu là rất quan trọng, nhằm đưa các thuộc tính về cùng một trọng số và ngăn chặn các thuộc tính có miền giá trị lớn ảnh hưởng đến những thuộc tính có miền giá trị nhỏ Hai kỹ thuật chuẩn hóa dữ liệu thường được sử dụng là
Chuẩn hoá lớn nhất – nhỏ nhất (min-max normalization) là phương pháp ánh xạ giá trị của chuỗi thời gian dựa trên giá trị lớn nhất và nhỏ nhất, giúp chuyển đổi các giá trị này sang một miền xác định mới.
Chuẩn hoá trung bình zero (z-score normalization): phương pháp này dựa trên giá trị trung bình (mean) và độ lệch chuẩn (standard deviation)
Chuẩn hóa z-score là một kỹ thuật quan trọng trong khai phá dữ liệu chuỗi thời gian, giúp cải thiện tính tương đồng giữa các chuỗi dữ liệu có hình dạng tương tự nhưng khác nhau về biên độ Bằng cách áp dụng chuẩn hóa z-score, các dữ liệu sẽ được điều chỉnh để có thể so sánh và phân tích hiệu quả hơn.
CÁC CÔNG TRÌNH LIÊN QUAN
Phân lớp chuỗi thời gian dựa vào shapelet
Phương pháp phân lớp dữ liệu chuỗi thời gian dựa trên rút trích đặc trưng chuyển đổi chuỗi thời gian thành tập hợp các đặc trưng trước khi áp dụng các thuật toán phân lớp Việc lựa chọn đặc trưng là giai đoạn khó khăn nhất trong quy trình xử lý và ảnh hưởng lớn đến chất lượng của bộ phân lớp.
Cây quyết định là một giải thuật quan trọng trong nhóm phương pháp phân lớp dựa vào rút trích đặc trưng, với cấu trúc dạng cây Phương pháp này thực hiện kiểm tra phân tách tại mỗi nút nội và dự đoán phân lớp cho các nút lá, trong đó nhánh từ một nút nội là kết quả của phép thử trên thuộc tính tương ứng Nhiều giải thuật xây dựng cây quyết định đã được áp dụng thành công trong nhiều lĩnh vực khác nhau.
Ye và Keogh (2009) đã đề xuất một phương pháp phân lớp dữ liệu chuỗi thời gian dựa vào thông tin shapelet, là chuỗi con giúp phân biệt các lớp dữ liệu Shapelet trả lời câu hỏi liệu chuỗi thời gian mới có chứa chuỗi con tương đồng với shapelet hay không, từ đó đóng vai trò quan trọng trong việc phân định lớp Phương pháp này cho phép rút trích đặc trưng hiệu quả và áp dụng cây quyết định để phân lớp dữ liệu chuỗi thời gian.
Kien và Anh (2019) đã phát triển một phương pháp rút trích đặc trưng từ chuỗi thời gian dựa trên thông tin motif, là chuỗi con có tần suất xuất hiện cao nhất Phương pháp này cho phép chuyển đổi chuỗi thời gian thành dạng bit nhị phân, từ đó có thể áp dụng các kỹ thuật như mạng nơ ron (ANN) hoặc máy vector hỗ trợ (SVM) để phân lớp dữ liệu chuỗi thời gian.
Phân lớp chuỗi thời gian bằng phương pháp SAX-VSM
SAX-VSM kết hợp hai kỹ thuật nổi bật: SAX và mô hình không gian vector (VSM) dựa trên sơ đồ trọng số tf-idf do Senin và Malinchik đề xuất năm 2013 VSM là một mô hình đại số giúp biểu diễn thông tin văn bản dưới dạng vectơ, trong đó các thành phần của vectơ thể hiện tầm quan trọng và sự hiện diện của thuật ngữ trong tài liệu Thay vì sử dụng chuỗi văn bản gốc, VSM cho phép biểu diễn văn bản dưới dạng vectơ số, giúp trích xuất các tính năng từ tài liệu Kỹ thuật Term Frequency – Inverse Document Frequency (tf-idf) đánh giá mức độ quan trọng của từ trong văn bản, với tf là tần số xuất hiện của từ và idf là số lớp mà từ xuất hiện Trọng số tf-idf cho một từ t được xác định bằng sản phẩm của tần số từ (tf) và tần số tài liệu nghịch đảo (idf), là một kỹ thuật cơ bản thường được kết hợp với các thuật toán khác trong xử lý văn bản.
Cũng giống như nhiều kỹ thuật phân lớp khác, SAX-VSM bao gồm 2 giai đoạn: huấn luyện và phân lớp
Việc huấn luyện bắt đầu bằng cách chuyển đổi chuỗi thời gian gắn nhãn thành biểu diễn ký hiệu hóa SAX, với ba tham số quan trọng: chiều dài cửa sổ trượt (w), số phân đoạn PAA trên mỗi cửa sổ (p) và kích thước bảng chữ cái SAX (a) Trước khi xử lý bằng PAA, mỗi chuỗi con được trích xuất từ cửa sổ trượt cần phải được chuẩn hóa.
Bằng cách áp dụng quy trình này cho tất cả các chuỗi thời gian từ N lớp của tập huấn luyện, chúng ta sẽ tạo ra một kho chứa N túi Trong đó, trọng số tf ∗ idf được áp dụng và xuất ra N vector trọng số thực có độ dài bằng nhau, đại diện cho các lớp huấn luyện.
Để phân loại chuỗi thời gian chưa được gắn nhãn, phương pháp SAX-VSM chuyển đổi chuỗi thành vectơ tần số bằng cách áp dụng kỹ thuật cửa sổ trượt và các tham số SAX đã được sử dụng trong quá trình huấn luyện.
Tính toán giá trị cosin giữa vectơ tần số từ của chuỗi thời gian chưa gán nhãn và N vectơ trọng số tf * idf đại diện cho các lớp huấn luyện là bước quan trọng trong việc phân loại dữ liệu.
Hình 3.1 mô tả tổng quan về thuật toán SAX-VSM
Hình 3.1: Tổng quan về thuật toán SAX-VSM
Phân lớp chuỗi thời gian bằng mạng nơ ron tích chập FCN
Mạng nơ ron tích chập FCN (fully convolutional network) là một công cụ mạnh mẽ trong phân đoạn hình ảnh theo ngữ nghĩa, với mỗi pixel đầu ra tương ứng với một bộ phân lớp cho trường tiếp nhận của nó Mạng có khả năng huấn luyện theo kiểu pixel-to-pixel, cho phép tối ưu hóa độ chính xác trong phân loại Năm 2017, Wang và các cộng sự đã áp dụng FCN vào bài toán phân lớp chuỗi thời gian, với mạng hoạt động như một bộ rút trích đặc trưng Đầu ra cuối cùng của mạng được thực hiện tại tầng softmax, giúp xác định lớp cho từng pixel một cách hiệu quả.
Khối căn bản trong mạng nơ ron bao gồm một tầng tích chập, tiếp theo là một tầng chuẩn hóa theo lô (batch normalization) và một tầng kích hoạt ReLU Phép toán tích chập sử dụng các bộ lọc một chiều với kích thước lần lượt là (8; 5; 3) mà không có bước trượt Cụ thể, khối tích chập được biểu diễn bằng công thức y = W⊗ x + b, sau đó là s = BN(y) và cuối cùng là h = ReLU(s).
Phép toán tích chập (⊗) là cơ sở của mạng FCN, được hình thành bằng cách xếp chồng ba khối tích chập với kích thước bộ lọc lần lượt là (128, 256, 128) Khác với các mạng nơ ron tích chập truyền thống, FCN loại bỏ tác vụ lấy mẫu giảm (subsampling) hay còn gọi là tác vụ gộp (pooling).
Chiến lược này nhằm ngăn ngừa hiện tượng quá khớp (overfitting) và áp dụng chuẩn hóa theo lô (batch normalization) để tăng tốc sự hội tụ trong quá trình huấn luyện Sau khi trải qua các khối tích chập, các đặc trưng được đưa vào một tầng gộp trung bình toàn cục (global average pooling layer) thay vì một tầng kết nối đầy đủ, giúp giảm bớt số lượng trọng số Nhãn lớp cuối cùng được sinh ra bởi tầng softmax (softmax layer) Hình 3.2 minh họa cấu trúc của mạng nơ ron tích chập FCN cho bài toán phân lớp chuỗi thời gian.
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])
Wang và các cộng sự đã thử nghiệm mô hình FCN cho bài toán phân lớp chuỗi thời gian trên nhiều bộ dữ liệu từ kho dữ liệu UCR và so sánh hiệu quả với hai mạng nơ ron học sâu khác là MLP và ResNet, cùng với 8 phương pháp phân lớp truyền thống Kết quả cho thấy mô hình FCN đạt hiệu quả phân lớp tốt trên hầu hết các bộ dữ liệu.
Năm 2016, Cui và các cộng sự đã giới thiệu mạng nơ ron tích chập đa nhánh (MCNN) để giải quyết bài toán phân lớp chuỗi thời gian Mạng MCNN nổi bật với tầng đầu tiên chứa nhiều nhánh, mỗi nhánh thực hiện các phép biến đổi khác nhau trên chuỗi thời gian, bao gồm cả miền thời gian và miền tần số, nhằm rút trích các đặc trưng đa dạng Các tầng tích chập sau đó thực hiện phép toán tích chập giữa tín hiệu đã biến đổi và các bộ lọc một chiều, giúp nhận diện các thể loại đặc trưng khác nhau từ dữ liệu đầu vào Nhờ khả năng phát hiện mẫu cục bộ của mỗi tầng tích chập, việc xếp chồng nhiều tầng cho phép tạo ra các mẫu phức tạp hơn.
Mạng nơ ron tích chập một chiều
Mạng nơ ron học sâu CNN, hay còn gọi là CNN hai chiều, được tối ưu hóa để xử lý dữ liệu hai chiều như hình ảnh và video Tuy nhiên, mô hình này không phù hợp cho các ứng dụng liên quan đến tín hiệu một chiều, chẳng hạn như giọng nói, chuỗi thời gian và trình tự sinh học.
Năm 2015, Kiranyaz và các cộng sự đã giới thiệu phiên bản cải biên của CNN hai chiều, mang tên mạng nơ ron tích chập một chiều (1D Convolutional Neural Network - 1D CNN).
Các nghiên cứu đã chỉ ra rằng trong một số ứng dụng cụ thể, mô hình 1D CNN mang lại sự tiện lợi và hiệu quả hơn so với mô hình 2D CNN khi xử lý các tín hiệu một chiều, nhờ vào khả năng tối ưu hóa và tính đơn giản trong việc phân tích dữ liệu.
Sự khác biệt về độ phức tạp tính toán giữa tích chập một chiều và hai chiều rất rõ ràng Cụ thể, khi thực hiện tích chập một hình ảnh kích thước NxN với bộ lọc KxK, độ phức tạp tính toán đạt O(N²K²), trong khi tích chập một chiều với cùng kích thước N và K chỉ có độ phức tạp O(NK).
Các ứng dụng 1D CNN thường sử dụng cấu hình nhỏ với 1 hoặc 2 tầng CNN ẩn, dẫn đến số lượng tham số trong mạng thường dưới 10.000 Ngược lại, các ứng dụng 2D CNN thường có cấu trúc sâu hơn với số lượng tham số vượt quá 1.000.000 Vì vậy, các mạng 1D với cấu trúc cạn thường dễ huấn luyện và hiện thực hóa hơn.
Việc huấn luyện mạng 2D CNN thường cần phần cứng chuyên dụng như GPU, trong khi mô hình 1D CNN có thể hoạt động hiệu quả trên bất kỳ môi trường CPU nào với cấu trúc đơn giản, chỉ cần vài tầng ẩn và số lượng neuron hạn chế trong mỗi tầng.
Mô hình mạng nơ ron tích chập 1D CNN có độ phức tạp tính toán thấp và gọn nhẹ, rất phù hợp cho các ứng dụng thời gian thực và tiết kiệm chi phí.
Một cấu hình mẫu của mạng 1D CNN
Mạng nơ ron 1D CNN bao gồm hai loại tầng chính: tầng CNN (CNN-layer) với phép toán tích chập một chiều, hàm kích hoạt và tác vụ gộp (pooling) hay còn gọi là tác vụ lấy mẫu giảm (subsampling).
20 i) loại tầng kết nối đầy đủ (fully-connected) hay còn gọi là tầng dày đặc (dense) mà giống như các tầng trong mạng nơ ron MLP (Multi-layer
Perceptron) và do đó được gọi là tầng MLP (MLP-layer)
Cấu hình của một mạng nơ ron tích chập (1D-CNN) được xây dựng với các siêu tham số như sau:
Bài viết đề cập đến số lượng tầng ẩn trong mạng nơ-ron tích chập (CNN) và mạng nơ-ron đa lớp (MLP), cùng với số đơn vị trên mỗi tầng Cụ thể, theo Hình 3.3, mạng CNN có 3 tầng ẩn, trong khi mạng MLP có 2 tầng ẩn.
Kích thước bộ lọc (Filter) trong mỗi tầng CNN layer Thí dụ trong Hình 3.3, kích thước bộ lọc là 41 trong mọi tầng CNN
Hệ số lấy mẫu giảm (subsampling factor) trong mỗi tầng CNN Thí dụ trong Hình
3.3, hệ số lấy mẫu giảm là 4)
Việc lựa chọn các phép gộp và hàm kích hoạt
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
Mô hình mạng tích chập giúp tự động trích xuất đặc trưng từ dữ liệu chuỗi thời gian, từ đó nâng cao hiệu quả phân lớp.
Quá trình tính toán truyền thẳng (Forward Propagation) trong mạng nơ ron tích chập một chiều (1D CNN) được minh họa qua sơ đồ tính toán, cho thấy cách mà dữ liệu được xử lý và truyền qua các lớp của mạng.
Trong mô hình mạng nơ-ron, giá trị đầu vào của lớp l được ký hiệu là x, trong khi b là giá trị bias của lớp l Giá trị đầu ra của lớp l-1 được ký hiệu là s, và w đại diện cho trọng số của các nơ-ron ở lớp l-1.
Trong quá trình tính toán thẳng, mô hình sử dụng các phương pháp như lấy mẫu giảm (subsampling) và bỏ học (drop-out) để giảm số chiều, nhằm trích xuất đặc trưng hiệu quả hơn và tránh hiện tượng quá khớp trong huấn luyện Độ đo tỷ lệ lỗi được tóm tắt qua một biểu thức cụ thể.
Giá trị lỗi E, được xác định bằng cách so sánh đầu ra y của tầng cuối với giá trị nhãn, đóng vai trò quan trọng trong quá trình tính toán lan truyền ngược (Back Propagation) Quy trình này giúp cập nhật các trọng số w và hệ số bias b cho mạng nơ ron, từ đó cải thiện độ chính xác của mô hình.
( % = ∑ ! 𝛬 6 7 (𝑛) Hình 3.4 minh họa cho sơ đồ tính toán của mạng nơ ron tích chập một chiều (1D CNN)
Hình 3.4 : Sơ đồ tính toán mạng nơ ron tích chập một chiều (1D CNN)
Kiranyaz và các cộng sự đã áp dụng mạng nơ ron tích chập một chiều trong nhiều lĩnh vực, bao gồm phân loại chuỗi thời gian điện tâm đồ (ECG) và phân loại ECG theo thời gian thực, cũng như phát hiện tổn hại kết cấu và lỗi động cơ theo thời gian thực.
PHƯƠNG PHÁP PHÂN LỚP ĐỀ XUẤT
Phương pháp tiếp cận
Chúng tôi chọn mạng nơ ron tích chập một chiều 1D CNN để phân lớp dữ liệu chuỗi thời gian, dựa trên cảm hứng từ các công trình trước đây Việc sử dụng 1D CNN là hợp lý vì chuỗi thời gian được biểu diễn dưới dạng mảng một chiều, và nhiều nghiên cứu đã chứng minh tính hiệu quả của mô hình này trong các ứng dụng phân lớp tín hiệu một chiều.
Cấu hình mạng này gồm nhiều layer khác nhau, mỗi layer thực hiện một công việc nhất định và truyền đầu ra tới layer tiếp theo
1 Layer đầu tiên là Conv1D với 64 filters, kernel size là 3 và hàm kích hoạt là ReLU Layer này được kết nối với input data, layer này thực hiện việc tìm kiếm các đặc trưng trong dữ liệu với kernel size là 3
2 Tiếp theo là một layer Conv1D khác, cũng với 64 filters, kernel size là 3 và hàm kích hoạt là ReLU
3 Sau đó là một layer MaxPooling1D với kích thước pool_size=2 để giảm chiều dài của output
4 Tiếp theo là một layer Conv1D khác với 64 filters, kernel size là 3 và hàm kích hoạt là ReLU
5 Sau đó là một layer Conv1D khác với 64 filters, kernel size là 3 và hàm kích hoạt là ReLU
6 Tiếp theo là một layer MaxPooling1D với kích thước pool_size=2 để giảm chiều dài của output
7 Sau đó là một layer Flatten để làm phẳng output thành một vector
8 Tiếp theo là một layer Dense với 100 units và hàm kích hoạt là ReLU
9 Sau đó là một layer Dropout với giá trị dropout=0.5, giúp giảm overfitting
10 Cuối cùng là một layer Dense với số units bằng với số lớp của bài toán , và hàm kích hoạt là softmax để tính xác suất output của mỗi lớp
Các thông số kỹ thuật được mô tả cụ thể tại bảng 4.1
Bảng 4.1: Cấu hình dự kiến của mạng 1D-CNN
Layer (type) Output Shape Param #
The neural network architecture begins with an input layer of shape (251, 1), followed by a series of convolutional layers: conv1d_1 reduces the sequence length to 249 with 64 filters, conv1d_2 further reduces it to 247, and conv1d_3 and conv1d_4 process the data to lengths of 121 and 119, respectively Two max pooling layers, max_pooling1d_1 and max_pooling1d_2, downsample the feature maps to 123 and 59, respectively The output is then flattened into a vector of 3776 units before being fed into a dense layer (dense_1) with 100 neurons, followed by a dropout layer to prevent overfitting Finally, the network concludes with a dense layer (dense_2) that outputs 3 classes.
To implement a neural network using the Keras library, start by creating a Sequential model Add a series of Conv1D layers with specified filters and a kernel size of 3, utilizing ReLU activation Incorporate MaxPooling1D layers to reduce dimensionality, followed by additional Conv1D layers After flattening the output, include a Dense layer with 100 neurons and ReLU activation, and apply a Dropout layer with a rate of 0.5 to prevent overfitting Finally, conclude the model with a Dense layer that uses softmax activation, matching the number of output classes defined by the training data.
Ứng dụng kỹ thuật grid search
Để nâng cao độ chính xác cho từng tập dữ liệu, chúng tôi sử dụng phương pháp grid search nhằm xác định các siêu tham số tối ưu cho kết quả tốt nhất.
Các siêu tham số được tìm kiếm bao gồm :
+ Số units ở lớp Dense cuối
Code hiện thực bằng Keras :
# Create the KerasClassifier wrapper for the CNN model model = KerasClassifier(build_fn=create_model, verbose=1)
# Define the hyperparameters to search param_grid = {
# Perform Grid Search grid = GridSearchCV(estimator=model, param_grid=param_grid, cv=5) grid_result = grid.fit(X_train_cnn, y_train_cnn)
Chúng tôi sẽ so sánh hiệu quả của mạng nơ ron tích chập 1D CNN với hai phương pháp truyền thống khác, bao gồm phương pháp 1-NN kết hợp độ đo DTW và phương pháp SAX kết hợp mô hình không gian vector (SAX-VSM) Nghiên cứu này tập trung vào bài toán phân lớp dữ liệu chuỗi thời gian, sử dụng một số bộ dữ liệu mẫu để đánh giá hiệu suất của các phương pháp này.
Các bộ dữ liệu thực nghiệm
Dữ liệu chuỗi thời gian được sử dụng cho đánh giá sẽ là các bộ dữ liệu mẫu từ trang Web Kho Dữ Liệu Chuỗi Thời Gian của Trường Đại Học University of California, Riverside Những tập dữ liệu này thường được áp dụng để đánh giá các thuật toán khai phá dữ liệu chuỗi thời gian và được coi là bộ dữ liệu chuẩn trong lĩnh vực này.
(benchmark dataset) và thường xuyên được sử dụng để đánh giá các giải thuật khai phá dữ liệu liên quan đến chuỗi thời gian.
Thư viện phần mềm hỗ trợ
Để triển khai mạng nơ ron tích chập một chiều (1D CNN), chúng tôi sẽ tận dụng thư viện Keras, một thư viện Python tích hợp với các công cụ học máy như TensorFlow, CNTK và Theano.
Keras có thể làm việc với CPU lẫn GPU Keras được hiện thực bởi Francois Chollet dùng 4 nguyên tắc sau:
– Gọn nhỏ và thân thiện với người dùng
Mạng nơ ron có tính module, với các tầng, hàm đánh giá, thuật toán tối ưu hóa, phương án khởi tạo và hàm truyền đều là những module độc lập Những module này có thể phối hợp với nhau để tạo ra các module mới, mang lại sự linh hoạt và khả năng tùy chỉnh cao trong thiết kế mạng.
Để thực hiện các phương pháp phân lớp chuỗi thời gian truyền thống như 1-NN kết hợp với độ đo DTW hoặc phương pháp SAX kết hợp mô hình không gian vector, chúng tôi sẽ sử dụng thư viện Tslearn Tslearn là một thư viện học máy viết bằng Python, cung cấp công cụ tiền xử lý, rút trích đặc trưng, cũng như các mô hình cho gom cụm, phân lớp và dự báo chuỗi thời gian Thư viện này tuân thủ theo các API của Scikit-learn và có thể tải xuống từ trang web chính thức.
Cách đánh giá chất lượng phương pháp phân lớp
Tiêu chí đánh giá bộ phân lớp dựa trên độ chính xác (accuracy), được tính bằng tỷ lệ số mẫu dữ liệu trong tập test cho kết quả đúng so với tổng số mẫu trong tập test Để thực hiện đánh giá này, chúng tôi chia tập dữ liệu thành hai phần: phần huấn luyện (training set) và phần thử (test set) Để đảm bảo đánh giá chất lượng phương pháp phân lớp một cách hệ thống, chúng tôi áp dụng phương pháp kiểm tra chéo (cross-validation).
Kiểm tra chéo là phương pháp mà mỗi mẫu được sử dụng nhiều lần trong huấn luyện và chỉ một lần trong kiểm thử Trong k-phần (k-fold cross-validation), tập dữ liệu được chia thành k tập con với số lượng mẫu bằng nhau Mỗi lần thực nghiệm, một tập con được dùng để kiểm thử, trong khi các tập con còn lại được dùng để huấn luyện Quá trình này lặp lại k lần, đảm bảo mỗi tập con chỉ được kiểm thử một lần Độ chính xác của bộ phân lớp được tính bằng trung bình các độ chính xác sau k lần thực nghiệm.
Hình 4.1: Kiểm tra chéo k-phần với k = 4
Hình 4.1 mô tả phương pháp kiểm tra chéo k-phần với 𝑘 =4
Ngoài ra chúng tôi còn đo thêm thời gian thực thi của từng phương pháp phân lớp chuỗi thời gian đối sánh trên các bộ dữ liệu mẫu
THỰC NGHIỆM ĐÁNH GIÁ
Cấu hình hệ thống sử dụng trong thực nghiệm
Trong luận văn này, chúng tôi áp dụng Google Colab để thực hiện các phương pháp phân lớp dữ liệu chuỗi thời gian Google Colab là nền tảng lý tưởng cho việc chạy notebook Jupyter, đặc biệt trong lĩnh vực khoa học dữ liệu và máy học Cấu hình mặc định của Google Colab Free cung cấp một máy ảo với thông số kỹ thuật nhất định.
CPU: Intel Xeon E5-2699 v4 @ 2.30GHz (36 core)
GPU: Tesla K80, 12 GB GDDR5 VRAM
Hệ điều hành: Ubuntu 18.04.5 LTS (Bionic Beaver)
Các phương pháp đối sánh và các bộ dữ liệu thực nghiệm
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
Trong bài viết này, chúng tôi sẽ áp dụng các phương pháp phân lớp chuỗi thời gian truyền thống, bao gồm phương pháp 1-NN kết hợp với độ đo DTW và phương pháp SAX kết hợp với mô hình không gian vector (SAX-VSM) Tiếp theo, chúng tôi sẽ hiện thực hóa và thực nghiệm mạng nơ ron tích chập 1 chiều, nhằm so sánh hiệu quả của mô hình học sâu đề xuất với hai phương pháp phân lớp truyền thống.
5.2.2 Các bộ dữ liệu thực nghiệm
Luận văn thực hiện các thí nghiệm với mười bốn bộ dữ liệu mẫu khác nhau, bao gồm thông tin về số lớp, kích thước tập mẫu, kích thước tập kiểm tra và độ dài chuỗi thời gian Những bộ dữ liệu này được thu thập từ trang web The UCR time series của nhóm nghiên cứu, nhằm tiến hành các thử nghiệm trên nhiều trường hợp dữ liệu khác nhau.
Bảng 5.1: Ký hiệu các bộ dữ liệu
ID Kiểu dữ liệu Tên Mã dữ liệu
5 Image DistalPhalanxOutlineCorrect 5_Dis.Ph.O.Co
Thông tin các bộ dữ liệu thực nghiệm về kích thước mẫu huấn luyện, kiểm thử, số lớp và chiều dài chuỗi thời gian được trình bày như sau :
Bảng 5.2: Thông tin các bộ dữ liệu sử dụng trong thực nghiệm
Mã dữ liệu Huấn luyện Kiểm thử Chiều dài Số lớp
Trong 14 bộ dữ liệu được dùng để làm thực nghiệm, chúng tôi sẽ mô tả sáu bộ dữ liệu tiêu biểu ArrowHead, BeeFl, ECGFiveDays, Fish, CBF và Trace
Bộ dữ liệu ArrowHead chứa 175 chuỗi thời gian biểu diễn hình ảnh hình mũi tên trong không gian 2D, với mỗi chuỗi gồm 251 giá trị số thực tương ứng với các điểm trên hình ảnh Các chuỗi thời gian được phân chia thành 3 lớp: 58, 59 và 58 chuỗi tương ứng Mục tiêu của bộ dữ liệu là phân loại các chuỗi thời gian theo từng lớp của hình ảnh hình mũi tên.
Hình 5.1: Một số hình minh họa bộ dữ liệu ArrowHead
Bộ dữ liệu BeeFl chứa 460 hình ảnh của hai loài côn trùng là ong và ruồi, được thu thập từ UC Irvine Machine Learning Repository Mỗi hình ảnh có kích thước 20x20 pixel và được chuyển đổi thành đặc trưng bằng cách tính giá trị pixel trung bình trên từng hàng và cột Trong tập dữ liệu này, có 220 hình ảnh thuộc về loài ong và 240 hình ảnh thuộc về loài ruồi, phục vụ cho việc phân loại hai loài côn trùng này Hình 5.2 minh họa dữ liệu BeeFl.
Hình 5.2 : Một số hình minh họa bộ dữ liệu BeeFl
5.2.3 Bộ dữ liệu nhịp tim ECGFiveDays
Bộ dữ liệu ECGFiveDays bao gồm các chuỗi thời gian kích thước 136 với 2 lớp, trong đó tập huấn luyện có 23 mẫu và tập kiểm thử có 861 mẫu Hình 5.3 minh họa dữ liệu ECGFiveDays.
Hình 5.3: Một số hình minh họa bộ dữ liệu ECGFiveDays
Bộ dữ liệu này được thu thập từ hình ảnh của loài cá trong các video, nơi hệ thống xử lý ảnh chuyển đổi hình dạng hai chiều của từng con cá thành một chuỗi thời gian đơn biến.
Hình 5.4 minh họa dữ liệu Fish, với hình chụp một con cá Từ hình dạng của con cá, một chuỗi thời gian đơn biến được tạo ra như trong hình bên dưới.
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]
Chúng ta cần phân loại một tập hợp hình ảnh của nhiều con cá thành bảy loại khác nhau, bao gồm Chinook Salmon, Winter Conho, Brown Trout, Bonneville Cutthroat, Colorado River Cutthroat, Yellowstone Cutthroat và Mountain Whitefish, dựa trên chuỗi thời gian đơn biến.
Bộ dữ liệu Fish bao gồm 350 chuỗi thời gian, mỗi chuỗi thể hiện hình dạng đường biên của cá với 463 điểm dữ liệu đồng nhất Mục tiêu là xây dựng một bộ phân lớp để phân loại dữ liệu thành 7 lớp tương ứng với 7 loại cá đã được mô tả.
Bộ dữ liệu CBF (Cylinder-Bell-Funnel) là một tập hợp dữ liệu nhân tạo được tạo ra từ ba hàm số khác nhau Nó bao gồm ba loại chuỗi thời gian: Cylinder (C), Bell (B) và Funnel (F) Các hàm này được biểu diễn một cách rõ ràng, tạo nên sự phong phú cho bộ dữ liệu.
𝜂 và 𝜀(𝑡) là 2 số ngẫu nhiên được lấy ra từ phân bố chuẩn Ν(0,1), 𝑎 là một số nguyên được lấy ra trong khoảng [16, 32] và 𝑏 − 𝑎 là số nguyên lấy trong khoảng
Hình 5.5: Biểu diễn ba lớp của dữ liệu CBF
Bộ dữ liệu CBF bao gồm các mẫu dữ liệu nhân tạo được tạo ra từ ba hàm, với 128 mẫu cho mỗi hàm và mỗi mẫu có chiều dài 128 điểm dữ liệu Hình 5.5 minh họa ba đường cong tương ứng với ba lớp hàm Cylinder, Bell và Funnel.
This dataset is a small subset of the Transient Classification Benchmark (Trace project) It is a synthetic dataset specifically designed to simulate equipment failures.
Bộ dữ liệu Trace được tạo ra bởi Davide Roverso tại một nhà máy năng lượng hạt nhân, bao gồm 200 mẫu với 50 mẫu cho mỗi lớp Mặc dù bộ dữ liệu đầy đủ có 16 lớp và mỗi lớp chứa 50 mẫu với 4 đặc trưng, nhưng ở đây chỉ sử dụng đặc trưng thứ hai của lớp 2 và đặc trưng thứ ba của lớp 3 Tất cả các mẫu đã được nội suy để đạt chiều dài đồng nhất là 275 điểm dữ liệu.
Hình 5.6: Ví dụ về bốn nhóm lớp của bộ dữ liệu Trace
Hình 5.6 là ví dụ về bốn nhóm đường cong biểu thị cho bốn lớp trong bộ dữ liệu Trace.
Giá trị siêu tham số cho các bộ dữ liệu thực nghiệm
Luận văn áp dụng phương pháp grid search cho mạng 1D-CNN để tìm được các giá trị siêu tham số phù hợp cho từng bộ dữ liệu như sau :
Bảng 5.3 : Cấu hình siêu tham số mạng 1D-CNN cho từng bộ dữ liệu
Mã dữ liệu filters kernel_size dense_units dropout_rate
Kết quả thực nghiệm của ba bộ dữ liệu ArrowHead, BeeFl và ECGFiveDays
Chất lượng phân lớp của các phương pháp trong phần thực nghiệm được đánh giá thông qua tỉ lệ lỗi phân lớp trên các bộ dữ liệu thực nghiệm Tỉ lệ lỗi được tính theo công thức cụ thể.
𝑁 Trong đó: n là số lượng mẫu thử bị phân lớp sai
N là kích thước tập kiểm thử
5.4.1 Kết quả thực nghiệm của bộ dữ liệu ArrowHead
Hình 5.7 biểu diễn tỉ lệ lỗi phân lớp trên bộ dữ liệu ArrowHead (loại dữ liệu hình ảnh)
Phương pháp 1D-CNN cho kết quả tỷ lệ lỗi 0.217, thấp hơn so với phương pháp 1-NN kết hợp độ đo DTW với tỷ lệ lỗi 0.297 và phương pháp SAX-VSM có tỷ lệ lỗi 0.246.
Hình 5.7 : Tỉ lệ lỗi phân lớp trên bộ dữ liệu ArrowHead
Hình 5.8 cho thấy thời gian thực thi phương pháp 1D-CNN là cao hơn so với 2 phương pháp còn lại Thời gian phân lớp được quan sát bằng giây(s)
Hình 5.8 : Thời gian phân lớp trên bộ dữ liệu ArrowHead
5.4.2 Kết quả thực nghiệm của bộ dữ liệu BeeFl
Biểu đồ Hình 5.9 cho thấy tỷ lệ lỗi phân lớp trên bộ dữ liệu BeeFl, trong đó kỹ thuật 1D-CNN đạt tỷ lệ lỗi 0.1, tốt hơn so với kỹ thuật 1NN-DTW và SAX-VSM với tỷ lệ lỗi lần lượt là 0.3 và 0.2.
Hình 5.9 : Tỉ lệ lỗi phân lớp trên bộ dữ liệu BeeFl
Hình 5.10 cho thấy thời gian thực thi phương pháp 1D-CNN là cao hơn so với 2 phương pháp còn lại Thời gian phân lớp được quan sát bằng giây(s)
Hình 5.10 : Thời gian phân lớp trên bộ dữ liệu BeeFl
5.4.3 Kết quả thực nghiệm của bộ dữ liệu ECGFiveDays
Kết quả từ hình 5.11 cho thấy tỷ lệ lỗi phân lớp trên bộ dữ liệu ECGFiveDays, với kỹ thuật 1D-CNN đạt tỷ lệ lỗi 0.079, vượt trội hơn so với kỹ thuật 1NN-DTW là 0.232 và SAX-VSM là 0.217.
Hình 5.11 : Tỉ lệ lỗi phân lớp trên bộ dữ liệu ECGFiveDays
Hình 5.12 cho thấy thời gian thực thi phương pháp 1D-CNN là cao hơn so với 2 phương pháp còn lại Thời gian phân lớp được quan sát bằng giây(s)
Hình 5.12 : Thời gian phân lớp trên bộ dữ liệu ECGFiveDays
Kết quả tổng hợp tỷ lệ lỗi của các bộ dữ liệu thực nghiệm
Bảng 5.4 trình bày số liệu tổng hợp về tỷ lệ lỗi phân lớp của các bộ dữ liệu thực nghiệm, áp dụng ba phương pháp khác nhau, trong đó có phương pháp truyền thống 1-lân cận gần nhất (1-NN).
Phương pháp SAX kết hợp với mô hình không gian vectơ và mạng 1D-CNN cho thấy hiệu quả vượt trội trong việc xử lý dữ liệu Qua các thí nghiệm và phân tích kết quả, chúng tôi nhận thấy rằng phương pháp 1D-CNN hoạt động tốt hơn 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.
SAX kết hợp mô hình không gian vectơ
Ngoại trừ hai tập dữ liệu CBF và Fish, phương pháp 1NN-DTW cho thấy hiệu quả vượt trội hơn Điều này có thể được giải thích bởi kích thước nhỏ và đặc trưng đơn giản của tập dữ liệu, cho phép 1NN-DTW hoạt động hiệu quả hơn so với mô hình 1D-CNN, vốn được thiết kế để trích xuất các đặc trưng phức tạp.
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
Mã dữ liệu 1NN-DTW SAX-VSM 1D-CNN
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
Bảng 5.5 tổng hợp thời gian phân lớp của các bộ dữ liệu thực nghiệm, với thời gian phân lớp được ghi nhận bằng giây (s) Kết quả cho thấy phương pháp 1D-CNN mặc dù mang lại kết quả tốt, nhưng lại yêu cầu thời gian tính toán đáng kể hơn để xác định các đặc trưng hiệu quả cho việc phân lớp.
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
Mã dữ liệu 1NN-DTW SAX-VSM 1D-CNN