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

Phân lớp dữ liệu chuỗi thời gian dựa vào một tổ hợp phân lớp 1 nn với các độ đo khoảng cách khác nhau và công nghệ gpu

64 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phân lớp dữ liệu chuỗi thời gian dựa vào một tổ hợp bộ phân lớp 1-NN với các độ đo khoảng cách khác nhau và công nghệ GPU
Tác giả Võ Đại Dương
Người hướng dẫn PGS. TS Dương Tuấn Anh
Trường học Trường Đại Học Bách Khoa - Đại Học Quốc Gia Thành phố Hồ Chí Minh
Chuyên ngành Khoa học máy tính
Thể loại Luận văn thạc sĩ
Năm xuất bản 2022
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 64
Dung lượng 1,14 MB

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

Nội dung

HCMTRƯỜNG ĐẠI HỌC BÁCH KHOA ---VÕ ĐẠI DƯƠNG PHÂN LỚP DỮ LIỆU CHUỖI THỜI GIAN DỰA VÀO MỘT TỔ HỢP BỘ PHÂN LỚP 1-NN VỚI CÁC ĐỘ ĐO KHOẢNG CÁCH KHÁC NHAU... TÊN ĐỀ TÀI: PHÂN LỚP DỮ LIỆU CHUỖ

Trang 1

ĐẠI HỌC QUỐC GIA TP HCM

TRƯỜNG ĐẠI HỌC BÁCH KHOA

-VÕ ĐẠI DƯƠNG

PHÂN LỚP DỮ LIỆU CHUỖI THỜI GIAN DỰA VÀO MỘT TỔ HỢP BỘ PHÂN LỚP 1-NN VỚI CÁC ĐỘ ĐO KHOẢNG CÁCH KHÁC NHAU

Trang 2

CÔ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: PGS.TS Võ Thị Ngọc Châu

Cán bộ chấm nhận xét 2: TS Dương Ngọc Hiếu

Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp HCMngày 21 tháng 07 năm 2022

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 Huỳnh Tường Nguyên - Chủ tịch

2 TS Nguyễn Tiến Thịnh - Thư ký

3 PGS.TS Võ Thị Ngọc Châu - Phản biện 1

4 TS Dương Ngọc Hiếu - Phản biện 2

5 TS Lê Văn Quốc 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ànhsau khi luận văn đã được sửa chữa (nếu có)

TRƯỞNG KHOA CHỦ TỊCH HỘI ĐỒNG KHOA HỌC & KỸ THUẬT MÁY TÍNH

Trang 3

ĐẠ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

-

-NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: VÕ ĐẠI DƯƠNG MSHV: 1970585

Ngày, tháng, năm sinh: 01/08/1990 Nơi sinh: Ninh Thuận

Chuyên ngành: Khoa học máy tính Mã số: 8.48.01.01

I TÊN ĐỀ TÀI:

PHÂN LỚP DỮ LIỆU CHUỖI THỜI GIAN DỰA VÀO MỘT TỔ HỢP BỘ PHÂNLỚP 1-NN VỚI CÁC ĐỘ ĐO KHOẢNG CÁCH KHÁC NHAU VÀ CÔNG NGHỆGPU (TIME SERIES DATA CLASSIFICATION BASED ON A COMBINATION OF1-NN CLASSIFIERS WITH DIFFERENT DISTANCE METRICS AND GPUTECHNOLOGY)

II NHIỆM VỤ VÀ NỘI DUNG:

Đề xuất, nghiên cứu, thực hiện, đánh giá “Phân lớp dữ liệu chuỗi thời gian dựa vào

một tổ hợp bộ phân lớp 1-NN với các độ đo khoảng cách khác nhau và công nghệ

GPU”

III NGÀY GIAO NHIỆM VỤ: 08/09/2021

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 10/06/2022

V CÁN BỘ HƯỚNG DẪN: PGS TS Dương Tuấn Anh

Tp HCM, ngày tháng năm 2022

PGS TS Dương Tuấn Anh

TRƯỞNG KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH

Trang 4

LỜI CẢM ƠN

Lời đầu tiên, tôi muốn gửi lời cảm ơn chân thành đến PGS.TS Dương TuấnAnh, người đã định hướng, hỗ trợ, hướng dẫn tôi trong suốt quá trình hoàn thiện luậnvăn này và cũng là người truyền lửa để cho tôi có rất nhiều cảm hứng trong con đườnghọc tập và nghiên cứu hiện tại

Tôi cũng xin gửi lời cảm ơn đến tất cả các giảng viên bộ môn Khoa học máytính đã luôn sẵn lòng giúp đỡ và hỗ trợ tôi, cũng như đảm bảo môi trường học tập vànghiên cứu trong suốt thời gian học thạc sĩ

Cuối cùng, tôi bày tỏ lòng biết ơn sâu sắc đến gia đình và bạn bè đã hỗ trợ, cổ

vũ tôi trong suốt quá trình học tập và thực hiện luận văn này

Xin chân thành cảm ơn

Tp Hồ Chí Minh, tháng 6 năm 2022

Võ Đại Dương

Trang 5

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ểnnhanh 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ệckhai 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, chúng tôi chọn cáchtiếp cận phương pháp phân lớp dữ liệu chuỗi thời gian dựa vào độ đo khoảng cách

Nhiều đánh giá được thực hiện cho thấy rằng bộ phân lớp 1-lân cận gần nhất (1-NN)

là một trong những bộ phân lớp tốt nhất được sử dụng cho dữ liệu chuỗi thời gian Các

công trình đi trước sử dụng phương pháp phân lớp chuỗi thời gian dựa vào tổ hợp bộ

phân lớp 1-NN với các độ đo khoảng cách khác nhau đã cho độ chính xác khá tốt, tuy

nhiên chưa tối ưu tốc độ thực thi của bộ phân lớp Với mục tiêu là tăng độ chính xácphân lớp và thời gian thực thi, dựa trên công trình đi trước của Phạm Minh Trí (2020)

[1], [2], chúng tôi đề xuất một cách tiếp cận là xây dựng một tổ hợp bộ phân lớp 1-NN

với các độ đo khoảng cách khác nhau được bổ sung thêm một độ đo thành phần, kết hợp với việc ứng dụng công nghệ GPU.

Chúng tôi đã tiến hành thực nghiệm 14 tập dữ liệu mẫu từ website UCR cho đềxuất này và kết quả cho thấy độ chính xác phân lớp tốt hơn và thời gian thực thi cũngnhanh hơn so với tổ hợp bộ phân lớp trong công trình của Phạm Minh Trí Kết quả thuđược là độ chính xác phân lớp của tổ hợp bộ phân lớp đạt trung bình 92% và thời gianphân lớp của tổ hợp bộ phân lớp sử dụng công nghệ GPU nhanh hơn trung bình 48 lần

so với tổ hợp bộ phân lớp thực thi trên CPU

Trang 6

The research and application of time series data classification techniques havebeen attracting the attention of data researchers With the rapid development oftechnology, time series data has been collected by many devices Time series datamining will bring benefits to many areas, such as data mining, statistics, machinelearning, signal processing, etc…

There are many methods of time series data classification We choose theapproach to time series data classification method based on distance measures Many

evaluations have been made showing that the one nearest neighbor (1-NN) is one of the best classifiers used for time series data Previous works used the method of Time

series data classification based on a combination of 1-NN classifiers with different distance metrics showed a good accuracy, but hasn’t improved the classification time.

With the objectives to improve the classification accuracy and time, based on theprevious work of Pham Minh Tri (2020) [1], [2], we suggest an approach that

implements a Time series data classification based on a combination of 1-NN

classifiers with different distance metrics with an additional distance metric and the application of GPU technology.

We experimented on 14 sample data sets from the UCR website for thisproposal and the results showed that the classification accuracy and time were betterthan the ensemble of classifiers in the work of Pham Minh Tri The results are that theclassification accuracy of the ensemble of classifiers is average 92% and theclassification time of the ensemble of classifiers running on GPU is on average 48times faster than the ensemble of classifiers running on CPU

Trang 7

LỜI CAM ĐOAN

Trong luận văn này, bất kỳ công thức, ý tưởng, nghiên cứu hay phân tích nào đãmượn bên thứ ba được chú thích nguồn dẫn trong mục tài liệu tham khảo theo quyềncủa tác giả

Tôi cam đoan rằng, ngoài các tài liệu tham khảo được trích dẫn, toàn bộ nộidung khác (bao gồm lý luận, công thức, hình ảnh, …) là thành quả nghiên cứu của tôidưới sự hướng dẫn của PGS.TS Dương Tuấn Anh

Tôi khẳng định rằng, toàn bộ các nội dung tìm hiểu đều được chứng thực từ cácnguồn tin cậy Các số liệu dẫn chứng và đánh giá hoàn toàn trung thực, tuyệt đốikhông gian lận hoặc phóng đại

Nếu có bất kỳ sự gian lận nào, tôi xin hoàn toàn chịu trách nghiệm về luận vănnày

Tp Hồ Chí Minh, tháng 6 năm 2022

Võ Đại Dương

Trang 8

2.5 Đánh giá độ chính xác của bộ phân lớp - kiểm tra chéo k-phần 15

2.6.1 Mô hình lập trình CUDA 162.6.2 Kiến trúc tính toán GPU 17

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

3.1 Phân lớp dữ liệu chuỗi thời gian dựa vào tổ hợp bộ phân lớp 193.2 Độ đo xoắn thời gian động cải tiến (DDTW) 203.3 Kỹ thuật tính chặn dưới của Keogh 203.4 Công trình của Phạm Minh Trí 233.5 Độ đo khoảng cách Hệ Số Nén (CRD) 26

CHƯƠNG 4: PHƯƠNG PHÁP PHÂN LỚP ĐỀ XUẤT 29

4.2 Phân lớp dữ liệu với tổ hợp bộ phân lớp 1-NN với các độ đo khoảng cách khác

CHƯƠNG 5: THỰC NGHIỆM VÀ ĐÁNH GIÁ 33

5.1 Cấu hình hệ thống sử dụng trong thực nghiệm 33

Trang 9

5.2 Các phương pháp và các bộ dữ liệu thực nghiệm 33

6.1 Những kết quả đạt được của luận văn 476.2 Những khó khăn trong quá trình thực hiện luận văn 476.3 Hướng phát triển trong tương lai 48

Trang 10

DANH MỤC HÌNH

Hình 2.1: Một lân cận gần nhất của mẫu thử X 7Hình 2.2: Tổ hợp bộ phân lớp [8] 8Hình 2.3: Biên độ hai chuỗi thời gian với độ đo Euclid 9Hình 2.4: So sánh độ đo DTW với Euclid [12] 10Hình 2.5: Ma trận xoắn chuỗi thời gian A và B [13] 11Hình 2.6: Độ đo xoắn thời gian động với ràng buộc dải Sakoe-Chiba [14] 12Hình 2.7: Ràng buộc toàn cục của độ đo xoắn thời gian động 13Hình 2.8: Kiểm tra chéo k-phần với k = 4 [15] 15Hình 2.9: Sự phân cấp của các luồng, các khối luồng và các lưới khối

trong CUDA, cùng với các không gian bộ nhớ tương ứng [16] 16Hình 2.10: Kiến trúc tính toán Fermi GPU [16] 18Hình 3.1: Mô tả đường bao U và L của chuỗi Q [20] 21Hình 3.2: Mô tả kỹ thuật chặn dưới của Keogh [20] 22Hình 3.3: Quy trình tổng quan của hệ thống do Phạm Minh Trí đề xuất

Hình 3.4: Sơ đồ kiểm tra chéo k-phần của tổ hợp các độ đo khoảng cách

Hình 3.5: Ba chuỗi thời gian Q, C và R trong đó Q và C trông giống

nhau; C và R trông khác nhau [7] 27Hình 4.1: Tổng quan hệ thống 29Hình 4.2: Kiểm tra chéo k-phần tổ hợp bộ phân lớp 1-NN với các độ đo

khoảng cách khác nhau sử dụng công nghệ GPU 31Hình 4.3: Phương pháp Song song mặt đầu sóng [23] 32Hình 5.1: Hình chụp của một con cá và biểu diễn thành chuỗi thời gian

Trang 11

Hình 5.2: Biểu diễn ba lớp của dữ liệu CBF 37Hình 5.3: Ví dụ về bốn nhóm lớp của bộ dữ liệu Trace 38Hình 5.4: Tỉ lệ lỗi phân lớp trên bộ dữ liệu ArrowHead 39Hình 5.5: Thời gian phân lớp trên bộ dữ liệu ArrowHead 39Hình 5.6: Tỉ lệ lỗi phân lớp trên bộ dữ liệu Beef 40Hình 5.7: Thời gian phân lớp trên bộ dữ liệu Beef 41Hình 5.8: Tỉ lệ lỗi phân lớp trên bộ dữ liệu CBF 41Hình 5.9: Thời gian phân lớp trên tập dữ liệu CBF 42Hình 5.10: Tỉ lệ lỗi phân lớp trên bộ dữ liệu Trace 43Hình 5.11: Thời gian phân lớp trên bộ dữ liệu Trace 43Hình 5.12: Tỉ lệ lỗi của bộ phân lớp trên bộ dữ liệu ECGFiveDays 44Hình 5.13: Thời gian phân lớp trên tập dữ liệu ECGFiveDays 44

Trang 12

DANH MỤC BẢNG

Bảng 5.1: Thông số kỹ thuật của card đồ họa Nvidia GTX 960 [24] 33Bảng 5.2: Ký hiệu các bộ dữ liệu 35Bảng 5.3: Thông tin các bộ dữ liệu được sử dụng trong thực nghiệm 35Bảng 5.4: Thông tin các bộ dữ liệu được sử dụng trong thực nghiệm (tiếp

Trang 13

CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI

Trong chương này, chúng tôi sẽ trình bày các vấn đề mà đề tài tập trung nghiêncứu, các động cơ để thực hiện, mục tiêu cụ thể của đề tài Ngoài ra, chúng tôi sẽ mô tảcác kết quả đạt được trong quá trình nghiên cứu, khảo sát nội dung của đề tài

Nhiều công trình nghiên cứu đã cải thiện độ chính xác của phương pháp phânlớp chuỗi thời gian Các nhà nghiên cứu trong lĩnh vực khai phá dữ liệu chuỗi thời

gian đồng thuận rằng “bộ phân lớp một lân cận gần nhất là rất khó đánh bại” [3] Ding và các cộng sự (2008) [4] bằng thực nghiệm đã 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 với kích thước cửa sổ xoắn được thiết lập thông

qua kiểm tra chéo đã được chấp nhận là tiêu chuẩn vàng một cách rộng rãi Trong côngtrình của Lines và các cộng sự (2015) [5], các tác giả đã dựa vào nghiên cứu của Ding

và các cộng sự (2008) và tìm ra rằng tổ hợp bộ phân lớp 1-NN với các độ đo khoảng

cách đàn hồi (elastic distance measure) khác nhau cho ra kết quả chính xác hơn bộ

phân lớp đơn lẻ sử dụng độ đo DTW

Lines và các cộng sự tạo ra tổ hợp các bộ phân lớp 1-NN với bảy độ đo khoảng

cách đàn hồi như sau: Dynamic Time Warping (DTW), Weighted Dynamic TimeWarping (WDTW), Longest Common Subsequence (LCS), Edit Distance with RealPenalty (EDRP), Time Warping Edit Distance (TWED) và Move-Split-Merge (MSM)

Được gợi cảm hứng từ công trình của Lines và các cộng sự, năm 2020, Phạm

Minh Trí [1], [2] đề xuất một phương pháp phân lớp chuỗi thời gian dựa vào tổ hợp bộ

phân lớp 1-NN với các độ đo khoảng cách khác nhau bao gồm các độ đo khoảng cách đàn hồi (elastic) và các độ đo khoảng cách không đàn hồi (non-elastic) Phạm Minh

Trang 14

DDTW, DTW với cận dưới LB_Keogh (CDTW), độ đo Euclid và độ đo Bất biến với

Độ Phức tạp (CID) Kết quả thực nghiệm trên 14 bộ dữ liệu mẫu cho thấy phươngpháp phân lớp mà Trí đề xuất đã đạt được hiệu quả phân lớp khá tốt

Tuy nhiên nghiên cứu của Phạm Minh Trí (2020) cũng như nhiều công trìnhnghiên cứu đi trước khác chưa tối ưu tốc độ thực thi cho tổ hợp bộ phân lớp Chuỗithời gian là dữ liệu có số chiều lớn gây tốn kém nhiều chi phí trong việc xử lý và lưutrữ Ngoài hướng tiếp cận thu giảm số chiều mà vẫn giữ được các đặc trưng quantrọng, còn có hướng tiếp cận sử dụng sức mạnh xử lý song song của phần cứng nhưGPU (graphics processing unit) để tăng tốc tổ hợp bộ phân lớp

Tính toán bằng GPU đang được áp dụng rộng rãi trong các ứng dụng thôngthường cũng như tính toán hiệu suất cao [6] Mục tiêu của đề tài này là nghiên cứu

chuyển đổi các phần của phương pháp phân lớp chuỗi thời gian sử dụng tổ hợp bộ

phân lớp 1-NN với các độ đo khác nhau từ chạy tuần tự sang chạy song song với mô hình tính toán song song CUDA (Compute Unified Device Architecture) trên GPU của

Nvidia

Đề tài này hướng tới việc sử dụng sức mạnh trong tính toán song song của GPU

để tăng tốc độ của phương pháp gốc đang tốn nhiều thời gian để thực thi Bên cạnh đó,

đề tài bổ sung thêm một độ đo khoảng cách mới để tăng thêm sự đa dạng của tổ hợp

bộ phân lớp Đề tài sẽ so sánh: (1) độ chính xác của phương pháp khi có thêm độ đomới và (2) thời gian thực thi của phương pháp khi chạy trên GPU

Từ những kết quả đạt được, chúng ta sẽ biết được khả năng tăng tốc khi xử lýbằng GPU có tốt hơn hay không và tốt hơn bao nhiêu lần so với xử lý bằng CPU Điềunày có ý nghĩa quan trọng khi lượng dữ liệu hiện nay ngày càng lớn, cũng như sứcmạnh của GPU cũng ngày càng được nâng cao

1.2 Mục tiêu

Chúng tôi thực hiện đề tài này nhằm đánh giá hiệu năng của tổ hợp bộ phân lớp

đề xuất khi thực thi trên GPU với các tiêu chí: (1) độ chính xác phân lớp và (2) đánhgiá thời gian thực thi trong việc phân lớp chuỗi thời gian cho bài toán phân lớp chuỗithời gian, với các vấn đề chính như sau:

- Thêm vào tổ hợp bộ phân lớp mà Phạm Minh Trí đề xuất một bộ phân lớp

1-NN với một độ đo khoảng cách không đàn hồi mới: Độ đo hệ số nén

(Compression Rate Distance) (Vinh & Anh, 2015 [7])

Trang 15

- Sử dụng sức mạnh xử lý song song của GPU để tăng tốc tổ hợp bộ phân lớp.

1.3 Phạm vi nghiên cứu

Phạm vi của đề tài này là đề xuất, nghiên cứu, hiện thực, đánh giá “Phân lớp dữ

liệu chuỗi thời gian dựa vào một tổ hợp bộ phân lớp 1-NN với các độ đo khoảng cách

khác nhau và công nghệ GPU” Kết quả này là tiền đề cho việc nghiên cứu tăng độchính xác cũng như thời gian phân lớp đối với dữ liệu chuỗi thời gian

1.4 Những kết quả đạt được

Sau thời gian nghiên cứu và hiện thực, chúng tôi đạt được các kết quả như sau:

‐ Hiểu rõ độ đo xoắn thời gian động DTW thuần tuý và DTW với kỹ thuật tínhchặn dưới LB_Keogh

‐ Hiểu rõ độ đo DDTW, một biến thể của độ đo DTW

‐ Hiểu rõ độ đo bất biến với độ phức tạp CID

‐ Hiểu rõ độ đo khoảng cách Hệ Số Nén CRD

Nắm được giải thuật k-lân cận gần nhất (k-NN) dùng cho bài toán phân lớp dữ

liệu chuỗi thời gian

Hiện thực thành công tổ hợp bộ phân lớp 1-NN với các độ đo khoảng cách: ED,

DTW, DTW với kỹ thuật tính chặn dưới LB_Keogh, DDTW, CID, CRD trênGPU

So sánh độ chính xác của tổ hợp bộ phân lớp 1-NN với các độ đo khoảng cách:

ED, DTW, DTW với kỹ thuật tính chặn dưới LB_Keogh, DDTW, CID, CRD,

tổ hợp bộ phân lớp 1-NN với các độ đo khoảng cách trên không bao gồm độ đo CRD Kết quả thực nghiệm cho thấy tổ hợp bộ phân lớp 1-NN với các độ đo bao gồm độ đo CRD có độ chính xác cao hơn tổ hợp bộ phân lớp 1-NN với các

độ đo khoảng cách không bao gồm độ đo CRD

So sánh thời gian xử lý của tổ hợp bộ phân lớp 1-NN với các độ đo khoảng

cách: ED, DTW, DTW với kỹ thuật tính chặn dưới LB_Keogh, DDTW, CID,

CRD trên GPU và tổ hợp bộ phân lớp 1-NN các độ đo khoảng cách: ED, DTW,

DTW với kỹ thuật tính chặn dưới LB_Keogh, DDTW, CID, CRD trên CPU.Kết quả cho thấy thời gian xử lý của tổ hợp bộ phân lớp trên GPU nhanh hơntrên CPU trung bình 48 lần

Trang 16

Như vậy, về cơ bản chúng tôi đã đáp ứng được yêu cầu của đề tài đặt ra Chúngtôi sẽ trình bày chi tiết trong các phần sau.

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

Tổ chức các thành phần còn lại của luận văn gồm các phần như sau:

Chương 2 là các cơ sở lý thuyết mà chúng tôi sử dụng trong luận văn này, baogồm các lý thuyết cơ bản về chuỗi thời gian, các phương pháp phân lớp dữ liệu chuỗithời gian, lý thuyết về các độ đo khoảng cách của chuỗi thời gian và lý thuyết về lậptrình CUDA trên GPU

Chương 3 giới thiệu các công trình nghiên cứu liên quan Các công trình nàytrình bày về các kỹ thuật phân lớp, tổ hợp bộ phân lớp, các độ đo khoảng cách trong

dữ liệu chuỗi thời gian, từ cơ sở này đề xuất phương pháp nhằm tăng độ chính xácphân lớp trong việc phân lớp dữ liệu chuỗi thời gian

Chương 4 bao gồm các nội dung chi tiết cho việc thiết kế và hiện thực tổ hợp

bộ phân lớp 1-NN với các độ đo khoảng cách khác nhau.

Chương 5 của đề tài này sẽ trình bày các kết quả thực nghiệm đạt được trongquá trình nghiên cứu, qua đó đánh giá được độ chính xác và thời gian thực thi củaphương pháp phân lớp đề xuất

Chương 6 là một số kết luận, đóng góp của đề tài và hướng phát triển trongtương lai của đề tài

Trang 17

CHƯƠNG 2

CƠ SỞ LÝ THUYẾT

Chương này trình bày cơ sở lý thuyết về chuỗi thời gian, các thành phần củachuỗi thời gian, các độ đo khoảng cách sử dụng cho dữ liệu chuỗi thời gian, các kỹthuật ràng buộc, các phương pháp phân lớp chuỗi chuỗi thời gian, các tiêu chí đánh giá

độ chính xác trong kỹ thuật phân lớp

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ựđ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átchuỗi thời gian, chúng ta nhận thấy rằng dữ liệu chuỗi thời gian thường chia thành bốn

dạng phổ biến đó là xu hướng (trend), chu kỳ (cyclical), mùa (seasonal) và bất quy tắc

(irregular)

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à giải thuật xác định một mẫu dữ liệu thuộc vào lớp nào trongmộ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).

Trang 18

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 Một mẫu dữ liệu X

được biểu diễn 𝑋 = 𝑥 với n là số thuộc tính của dữ liệu Bước này xem như

1, 𝑥

2, , 𝑥𝑛

là quá trình học của một hàm ánh xạ: 𝑦 = 𝑓(𝑥) với y là nhãn của lớp được dự đoán

của mẫu X.

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ầmquan 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 véc-tơ 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), …

2.2.2 Giải thuật phân lớp 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ẫutrong 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 quá 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 toán này không học được điều gì từ dữliệu huấn luyện, mọi tính toán được thực hiện trong bước phân lớp

Trang 19

Hình 2.1: Một lân cận gần nhất của mẫu thử X

Trong hình 2.1 là tập dữ liệu có 3 lớp: dấu (+), dấu (x) và dấu (*), một mẫu thử

X sẽ thuộc về một trong 3 lớp nếu khoảng cách từ mẫu thử X đến lớp đó là gần nhất.

Giải thuật k-NN tìm thấy một lân cận gần nhất của mẫu thử X là lớp (*), như vậy mẫu thử X thuộc về 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 𝑄 = {𝑞 trong tập kiểm

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.

2.2.3 Tổ hợp bộ phân lớp

Một tổ hợp bộ phân lớp (ensemble of classifiers) là một tập các bộ phân lớp

được kết hợp lại để cùng nhau phân lớp các mẫu mới Một tổ hợp bộ phân lớp thườngchính xác hơn bộ bộ phân lớp riêng lẻ cấu thành nó [8] Tổ hợp bộ phân lớp là mộtcách để bù trừ điểm yếu trong từng bộ phân lớp thành phần Mỗi bộ phân lớp thành

Trang 20

phần được gọi là một chuyên gia vì nó phân lớp chính xác hơn các bộ phân lớp kháctrên một số mẫu cụ thể.

Đóng gói (bagging), cải thiện (boosting) và rừng ngẫu nhiên (random forests)

là các phương pháp tổ hợp phổ biến có thể được sử dụng trong các bài toán phân lớpcũng như dự đoán (Hình 2.2)

Hình 2.2: Tổ hợp bộ phân lớp [8]

Một tổ hợp bao gồm k bộ phân lớp thành phần𝑀 Tập huấn luyện D

1, 𝑀

2, , 𝑀𝑘

ban đầu được sử dụng để tạo ra k tập huấn luyện, 𝐷 , trong đó

1, 𝐷

2, , 𝐷

𝑖được sử dụng để huấn luyện bộ phân lớp Một trong các phương pháp

𝑖

để tạo ra k tập huấn luyện từ một tập huấn luyện D ban đầu là lấy mẫu con

(sub-sampling) Cơ chế bỏ phiếu được sử dụng để kết hợp kết quả phân lớp của các bộphân lớp thành phần: với một mẫu thử mới, từng bộ phân lớp thành phần bỏ phiếubằng cách trả về kết quả phân lớp, tổ hợp bộ phân lớp trả về kết quả phân lớp dựa vàokết quả bỏ phiếu của các bộ phân lớp thành phần

2.3 Các độ đo tương tự

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ỗithời gian và miền ứng dụng mà có độ đo tương ứng phù hợp

cách Euclid giữa hai chuỗi A và B được tính theo công thức như sau:

Trang 21

𝐸𝐷(𝐴,𝐵) =

Hình 2.3: Biên độ hai chuỗi thời gian với độ đo Euclid

Hình 2.3 là một ví dụ về biên độ của hai chuỗi thời gian khi áp dụng độ đokhoảng cách Euclid

Độ đo Euclid chỉ có thể tính nếu n = m Nó đơn giản, hiệu quả và vì vậy độ đo

khoảng cách Euclid trở thành phổ biến trong nhiều tác vụ khai phá dữ liệu Tuy nhiên,bên cạnh việc yêu cầu rằng hai chuỗi thời gian có độ dài bằng nhau, độ đo Euclid còn

có nhược điểm khác là rất nhạy với nhiễu, không thích hợp với dữ liệu có độ co giãnbiên độ khác nhau

2.3.2 Độ đo xoắn thời gian động (Dynamic Time Warping - DTW)

Hai chuỗi thời gian có hình dạng giống nhau nhưng bị lệch pha một khoảngthờ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ậynhượ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 [9] vào năm 1975 và đượcSakoe-Chiba [10] cải tiến năm 1978, sau đó được đưa vào ứng dụng trong xử lý chuỗithời gian do nhóm tác giả Berndt và Clifford [11] 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ácnhau)

Trang 22

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ớinhiề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.4: So sánh độ đo DTW với Euclid [12]

Độ đo xoắn thời gian có nhược điểm so với độ đo Euclid là thời gian tính toánchậm hơn rất nhiều

Cho hai chuỗi thời gian 𝐴 = 𝑎 và , để tính khoảng

cách DTW giữa A và B, chúng ta cần xây dựng một ma trận xoắn𝑄(𝐴, 𝐵)của A và B,

có kích thước m x n, với phần tử𝑄 là khoảng cách giữa hai điểm và

𝑖, 𝑏

𝑗) = (𝑎

𝑖 − 𝑏

𝑗)2

Đường xoắn (warping path) W là tập hợp các giá trị của ma trận thể hiện

khoảng cách giữa hai điểm A và B thể hiện ánh xạ giữa A và B Giả sử rằng đường xoắn W có K giá trị, khi đó độ đo DTW giữa A và B là đường xoắn có tổng khoảng

cách tích lũy nhỏ nhất và được tính toán theo công thức:

𝐷𝑇𝑊(𝐴,𝐵) =

Tổng khoảng cách tích lũy nhỏ nhất có thể tính bằng phương pháp quy hoạchđộng với công thức truy hồi:

δ(𝑖, 𝑗) = 𝑑(𝑎

𝑖, 𝑏

𝑗) + 𝑚𝑖𝑛{δ(𝑖 − 1, 𝑗), δ(𝑖 − 1, 𝑗 − 1), δ(𝑖, 𝑗 − 1)}Trong đó δ(𝑖, 𝑗) là tổng khoảng cách tích lũy tại ô thứ 𝑖, 𝑗 của ma trận Q,

là khoảng cách giữa hai điểm và

Trang 23

Hình 2.5: Ma trận xoắn chuỗi thời gian A và B [13]

Đường xoắn W cần thoả mãn các điều kiện như sau:

- Điều kiện biên: 𝑤 và đảm bảo rằng đường xoắn bắt

1= (1, 1) 𝑤

𝑘 = (𝑛, 𝑚)đầu từ điểm đầu tiên và kết thúc ở điểm cuối cùng của hai chuỗi đang đượctính khoảng cách

- Tính liên tục: cho 𝑤 và thì và

𝑘= (𝑎, 𝑏) 𝑤

𝑘−1= (𝑎', 𝑏') (𝑎 − 𝑎') (𝑏 − 𝑏')phải bé hơn hoặc bằng 1 Điều này đảm bảo rằng các bước trong đường đi

W là từ một phần tử trong ma trận Q đến một phần tử liền kề với phần tử

này

- Tính đơn điệu tăng: 𝑤 và thì và

𝑘= (𝑎, 𝑏) 𝑤

𝑘−1= (𝑎', 𝑏') (𝑎 − 𝑎')luôn lớn hơn hoặc bằng 0 Điều này đảm bảo rằng chỉ mục của cặp(𝑏 − 𝑏')

điểm trong bước sau chỉ có thể bằng hoặc lớn hơn chỉ mục của cặp điểmtrong bước trước

Độ đo DTW linh hoạt hơn so với độ đo Euclid trong việc tính toán độtương tự giữa hai chuỗi có độ dài bất kỳ Mặc dù thích hợp hơn cho dữ liệudạng chuỗi hơn độ đo Euclid nhưng DTW lại có độ phức tạp tính toán cao

hơn là O(m.n) với m, n là độ dài của hai chuỗi so với O(n) ở độ đo Euclid với n là độ dài của hai chuỗi được so sánh Độ đo Euclid là trường hợp đặc biệt của độ đo DTW khi đường đi xoắn W thoả mãn điều kiện là phần tử thứ

Trang 24

k trong đường đi xoắn 𝑤 thì i = j = k và hai chuỗi cần tính toán

𝑘 = (𝑖, 𝑗)khoảng cách có độ dài bằng nhau

Để đảm bảo đường xoắn không đi chệch hướng quá xa so với đường

chéo của ma trận Q thì người ta đã đưa ra một số ràng buộc mang ý nghĩa toàn cục Ràng buộc này được định nghĩa một tập con của ma trận xoắn

(warping matrix) cho phép đường xoắn di chuyển mở rộng và được gọi là

một cửa sổ xoắn (warping window) Mục đích của các ràng buộc này nhằm

tăng tốc tính toán khoảng cách DTW vì làm giảm không gian tìm kiếmđường xoắn và ngăn trường hợp một phần nhỏ của chuỗi này ánh xạ vàophần lớn hơn tương ứng của chuỗi khác

- Ràng buộc dải Sakoe-Chiba: Ràng buộc Sakoe-Chiba [10] được đề xuất bởi

Sakoe và Chiba năm 1978 định nghĩa đường xoắn hợp lệ như sau:

Hình 2.6: Độ đo xoắn thời gian động với ràng buộc dải Sakoe-Chiba [14]

- Ràng buộc hình bình hành Itakura: Ràng buộc này được đề xuất bởi Itakura

năm 1975 cũng định nghĩa đường xoắn hợp lệ được ràng buộc trong một tậpcon của ma trận xoắn của hai chuỗi thời gian theo dạng hình bình hành Chođiểm 𝑖𝑡ℎ và điểm 𝑗𝑡ℎtương ứng của hai chuỗi A, B thì ràng buộc Itakura phát

Trang 25

biểu rằng điểm 𝑗𝑡ℎ phải được định nghĩa bởi một hàm biến thiên thời giantheo𝑖𝑡ℎ:

𝑗𝑡ℎ = ω(𝑖𝑡ℎ)Với một số điều kiện biên:ω(1) = 1, ω(𝑛) = 𝑚và điều kiện liêntục:

ω(𝑖 + 1) − ω(𝑖) = 0, 1, 2 𝑣ớ𝑖 (ω(𝑖) ≠ ω(𝑖 − 1)) = 1, 2 𝑣ớ𝑖 (ω(𝑖) ≠ ω(𝑖 − 1))

Hình 2.7: Ràng buộc toàn cục của độ đo xoắn thời gian động

Hình 2.7 là một ví dụ về ràng buộc hình bình hành Itakura của độ đoxoắn thời gian động

Chú ý: Độ đo xoắn thời gian động được xếp vào loại độ đo có tính đàn hồi (elastic distance) trong khi độ đo Euclid được xếp vào loại độ đo không đàn hồi

(non-elastic)

2.3.3 Độ đo Complexity-invariant Distance (CID)

Batista và các cộng sự [3] đã đề xuất độ đo bất biến với độ phức tạp

( Complexity-invariant Distance) sử dụng sự khác nhau về độ phức tạp giữa hai chuỗithời gian như một hệ số điều chỉnh và áp dụng lên độ đo khoảng cách hiện tại Nó phụ

thuộc vào tính bất biến (invariance) được yêu cầu của từng lĩnh vực Trong nhiều năm

qua, đã có nhiều nghiên cứu đề xuất các phương pháp và độ đo khoảng cách nhằm tìm

ra sự tương tự giữa các chuỗi thời gian, tuy nhiên cộng đồng khoa học còn chưa quan

tâm đến độ đo bất biến phức tạp (complex invariance).

Trang 26

Vấn đề nằm ở chỗ, đối với các lĩnh vực khác nhau, các lớp có sự phức tạp khácnhau và cặp hai phần tử phức tạp trông có vẻ giống nhau dưới con mắt nhìn của conngười nhưng chúng lại nằm ở lớp khác nhau Tiêu biểu là ngành sinh học, ví dụ nhưloài dơi thuộc lớp thú có vú chứ không phải là thuộc họ chim dù nó có thể bay.

Cho hai chuỗi thời gian Q và C, độ đo CID được tính theo công thức sau:

𝐶𝐼𝐷(𝑄, 𝐶) = 𝐸𝐷(𝑄, 𝐶) × 𝐶𝐹(𝑄, 𝐶)Với:

là độ đo Euclid𝐸𝐷(𝑄, 𝐶)

là hệ số điều chỉnh độ bất biến phức tạp được định nghĩa:

𝐶𝐹(𝑄, 𝐶)

𝐶𝐹(𝑄, 𝐶) = 𝑚𝑎𝑥(𝐶𝐸(𝑄),𝐶𝐸(𝐶))𝑚𝑖𝑛(𝐶𝐸(𝑄),𝐶𝐸(𝐶))

Và 𝐶𝐸(𝑇)là ước lượng độ phức tạp của chuỗi thời gian T, diễn tả sự khác biệt

về độ phức tạp của các chuỗi thời gian được so sánh và được tính theo công thức:

Hệ số điều chỉnh độ bất biến phức tạp của một chuỗi thời gian có cách tính khá

đơn giản, dễ dàng với độ phức tạp O(n) và dễ dàng áp dụng vào các độ đo khoảng

cách

2.4 Chuẩn hóa dữ liệu

Việc quan trọng trước khi tiến hành phân lớp dữ liệu là quá trình chuẩn hóa dữliệu, tức là việc chúng ta đưa thuộc tính về một trọng số bằng nhau và ngăn chặnnhững thuộc tính với miền giá trị lớn khỏi ảnh hưởng tới những thuộc tính với miềngiá trị nhỏ Ở đây, hai kỹ thuật chuẩn hoá dữ liệu như sau:

Chuẩn hoá lớn nhất - nhỏ nhất (min-max normalization): phương pháp này dựa

trên giá trị lớn nhất và nhỏ nhất của chuỗi thời gian để ánh xạ những giá trị của chuỗinày sang các giá trị thuộc một miền xác định lớn nhất - nhỏ nhất mới Chúng ta sẽ quy

ước miền giá trị mới là [0,1] Với phương pháp này vẫn bảo tồn được mối quan hệ của

những giá trị ban đầu

Giả sử chúng ta có dữ liệu chuỗi thời gian A Công thức chuẩn hóa như sau:

𝑛𝑒𝑤_𝑚𝑖𝑛) + 𝐴

𝑛𝑒𝑤_𝑚𝑖𝑛

Trang 27

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

Giả sử chúng ta có chuỗi 𝐴 = 𝑎 có chiều dài n được biến đổi thành

1, 𝑎

2, , 𝑎𝑛những giá trị của chuỗi 𝐴' = 𝑎' cũng có chiều dài n dựa trên giá trị trung

1, 𝑎'

2, , 𝑎'𝑛

bình (mean) và giá trị độ lệch chuẩn của chuỗi A Phương pháp này có lợi khi những

phần tử có nhiễu làm cho phương pháp min-max không áp dụng được

2.5 Đánh giá độ chính xác của bộ phân lớp - kiểm tra chéo k-phần

Kiểm tra chéo (cross-validation) là phương pháp mà trong đó mỗi mẫu được sử

dụng một số lần giống nhau trong quá trình huấn luyện và chỉ một lần trong quá trình

kiểm thử Trong phương pháp kiểm tra chéo 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 Trong mỗi lần thực

nghiệm, một tập con được sử dụng trong quá trình kiểm thử và các tập con còn lại

được sử dụng trong quá trình huấn luyện Quá trình này được thực hiện k lần vì vậy

mỗi tập con chỉ được sử dụng trong quá trình kiểm thử duy nhất một lần Độ chính xáccủa bộ phân lớp được tính bằng cách lấy trung bình của các độ chính xác có được sau

k lần thực nghiệm.

Hình 2.8: Kiểm tra chéo k-phần với k = 4 [15]

Hình 2.8 mô tả phương pháp kiểm tra chéo k-phần với𝑘 = 4

Trang 28

2.6 Bộ xử lý đồ họa (GPU)

2.6.1 Mô hình lập trình CUDA

CUDA (Compute Unified Device Architecture) là một kiến trúc dành cho tính

toán song song mà phần cứng và phần mềm cùng làm việc cho phép các bộ xử lý đồhọa NVIDIA thực thi các phần mềm được viết bằng C, C++ và các ngôn ngữ khác

Một chương trình CUDA được tổ chức thành một chương trình chạy trên máy

chính (host program), bao gồm một hoặc nhiều luồng (thread) chạy tuần tự trên CPU

của máy chính, và một hoặc nhiều nhân song song (parallel kernel) thích hợp cho việc thực thi trên một GPU tính toán song song (parallel computing GPU) Một nhân thực thi một chương trình tuần tự trên một tập các luồng song song hạng nhẹ (lightweight

parallel threads) Nhân là các hàm được định nghĩa bởi lập trình viên mà có thể được

thực thi N lần một cách song song bởi N luồng CUDA khác nhau.

Hình 2.9: Sự phân cấp của các luồng, các khối luồng và các lưới khối trong CUDA,

cùng với các không gian bộ nhớ tương ứng [16]

Hình 2.9 nói lên rằng các lập trình viên hoặc trình biên dịch sẽ tổ chức các

luồng thành các lưới (grids) gồm các khối luồng (thread blocks) Các luồng tạo thành

Trang 29

một khối luồng có thể đồng bộ (synchronize) với nhau thông qua các rào chắn (barriers) và giao tiếp (communicate) thông qua một bộ nhớ chia sẻ tốc độ cao được

bố trí theo từng khối Các luồng có thể được tổ chức thành các khối luồng một chiều,hai chiều hoặc ba chiều Số lượng luồng trong mỗi khối luồng được chỉ định bởi lậptrình viên, và lên tới 1024 trong GTX 480 GPU Mỗi lưới có thể chứa rất nhiều khốiluồng với khả năng thực thi song song, trong khi các lưới khác nhau thực thi tuần tựtrên GPU

Các GPUs chứa nhiều loại bộ nhớ khác nhau cho các mục đích khác nhau Các

luồng thuộc các khối khác nhau trong cùng một lưới có thể cộng tác (coordinate) với nhau thông qua các thao tác đơn nguyên (atomic operations) trên không gian bộ nhớ toàn cục được chia sẻ bởi tất cả các luồng Các lưới nhân (kernel grids) có thể đồng bộ

với nhau thông qua các rào chắn toàn cục và làm việc với nhau thông qua bộ nhớ chia

sẻ toàn cục CUDA yêu cầu các khối luồng là độc lập, điều này làm cho chương trình

linh động hơn khi có thể chạy được trên các GPU với số lượng lõi (core) và luồng khác nhau Khối luồng hiện thực cơ chế song song hóa dữ liệu (data parallelism) ở

dạng thô với khả năng mở rộng được (bằng việc chương trình có thể chạy được trênnhiều loại GPU khác nhau), trong khi các luồng hạng nhẹ tạo nên mỗi khối luồng chophép sự song song hóa dữ liệu ở dạng mịn

2.6.2 Kiến trúc tính toán GPU

Để mô tả kiến trúc tính toán GPU, hình 2.10 thể hiện kiến trúc tính toán Fermi

đời thứ 3 được cài đặt 16 bộ xử lý dòng đa nhân (streaming multiprocessors - SMs),

mỗi bộ xử lý có 32 nhân CUDA, với tổng cộng 512 nhân Khi một khối được gán cho

một SM, các luồng trong khối được chia thành các đơn vị gồm 32 luồng gọi là các sợi

(warps) Một sợi là một đơn vị cơ bản trong bộ lập lịch luồng của GPU và tất cả 32luồng trong cùng một sợi thực thi cùng một lệnh trên SM Dạng xử lý song song này

được gọi là một lệnh nhiều dữ liệu (Single Instruction Multiple Data - SIMD) và nó

giảm chi phí để lấy và giải mã lệnh Bộ lập lịch làm việc GigaThread phân bổ các khốiluồng vào các bộ xử lý dòng đa nhân còn khả năng xử lý, cân bằng số lượng công việcmột cách linh động trên GPU, và thực thi nhiều tác vụ song song khi khả thi Mỗi bộ

xử lý dòng đa nhân thực thi lên tới 1.536 luồng đồng thời để giảm các tác vụ tải dữliệu có thời gian chờ lâu từ bộ nhớ DRAM Khi mỗi khối luồng hoàn thành việc thực

Trang 30

nó chiếm giữ, bộ lập lịch làm việc phân công khối luồng mới vào bộ xử lý dòng đanhân đó.

Hình 2.10: Kiến trúc tính toán Fermi GPU [16]

Bộ giao tiếp với máy chính PCIe kết nối GPU và bộ nhớ DRAM của nó vớiCPU và bộ nhớ hệ thống của máy chính Sự cộng tác CPU+GPU và các tác vụ truyềntải dữ liệu sử dụng bộ giao tiếp PCIe hai chiều Các luồng của bộ xử lý dòng đa nhântruy cập bộ nhớ hệ thống thông qua bộ giao tiếp PCIe, và các luồng của CPU truy cập

bộ nhớ DRAM của GPU thông qua cổng PCIe

Kiến trúc GPU cân bằng sức mạnh tính toán song song của nó với các bộ điềukhiển bộ nhớ DRAM song song được thiết kế cho băng thông bộ nhớ cao GPU Fermitrong hình 2.10 có 6 bộ giao tiếp DRAM GDDR5 tốc độ cao, mỗi bộ có độ rộng 64 bit

Trang 31

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

Ở chương này, chúng tôi trình bày các công trình về các kỹ thuật phân lớp, các

độ đo khoảng cách trong chuỗi thời gian, từ cơ sở này đề xuất phương pháp nhằm tăng

độ chính xác phân lớp trong việc phân lớp chuỗi thời gian

3.1 Phân lớp dữ liệu chuỗi thời gian dựa vào tổ hợp bộ phân lớp

Lines và các cộng sự [5], nhóm tác giả đã đề xuất phương pháp phân lớp dữ liệuchuỗi thời gian dựa vào tổ hợp bộ phân lớp với độ đo khoảng cách khác nhau đã tiếnhành kiểm chứng, đánh giá hai giả thuyết: (1) Kiểm chứng giả thuyết rằng có sự khácnhau về độ chính giữa các bộ phân lớp lân cận gần nhất sử dụng các độ đo khác nhau.(2) Kiểm chứng giả thuyết rằng việc kết hợp các độ đo với tổ hợp các bộ phân lớp sẽđạt được độ chính xác tốt nhất Các tác giả đã tiến hành các kiểm chứng trên nhiều bộ

dữ liệu mẫu và rút ra các kết luận như sau: Thứ nhất, không có sự khác biệt đáng kể về

độ chính xác giữa các bộ phân lớp sử dụng độ đo khoảng cách đàn hồi trên các tập dữliệu Thứ hai, có sự vượt trội đáng kể về độ chính xác của tổ hợp bộ phân lớp so với bộphân lớp riêng lẻ Như vậy, đối với dữ liệu chuỗi thời gian, để tăng độ chính xác của

bộ phân lớp thì chúng ta có thể kết hợp nhiều bộ phân lớp yếu để tạo một tổ hợp bộ

phân lớp mạnh hơn Lines và các cộng sự đã hiện thực tổ hợp các bộ phân lớp k-NN

với bảy độ đo khoảng cách đàn hồi như sau: Dynamic Time Warping (DTW),Weighted Dynamic Time Warping (WDTW), Longest Common Subsequence (LCS),Edit Distance with Real Penalty (EDRP), Time Warping Edit Distance (TWED) vàMove-Split-Merge (MSM)

Pawlovsky và các cộng sự [17] đã giới thiệu tổ hợp bộ phân lớp k-NN với các

độ đo khoảng cách khác nhau và ứng dụng của phương pháp này vào bộ dữ liệu chẩn

đoán về bệnh tim mạch (heart disease) Tác giả đã đề xuất việc sử dụng tổ hợp bộ phân

lớp k-NN với nhiều nhiều độ đo khoảng cách khác nhau như: Euclid, Manhattan, Chebyshev, Sorensen, Canberra và Mahalanobis cho phương pháp phân loại k-NN để tăng độ chính xác phân lớp đối với dữ liệu chẩn đoán về bệnh tim mạch Tác giả đã

tiến hành thực nghiệm trên hai cấu hình: (1) sử dụng tổ hợp ba độ đo khoảng cách là

Trang 32

Euclid, Manhattan, Chebyshev, Sorensen, Canberra và Mahalanobis Kết quả cho thấy

tổ hợp bộ phân lớp đề xuất đạt độ chính xác trung bình gần 85% đối với bất cứ cấuhình nào trên tập dữ liệu nhịp tim UCI Cleveland [18]

3.2 Độ đo xoắn thời gian động cải tiến (DDTW)

Tác giả Keogh và Pazzani [19] năm 2001 đã đề xuất một cải tiến của độ đoxoắn thời gian động (DTW) được gọi là Derivative Dynamic Time Warping (DDTW).Với độ đo này, đầu tiên sẽ biến đổi chuỗi thời gian thành một chuỗi có khác biệt thứ

tự Mục tiêu của DDTW là giới thiệu một biện pháp tránh các điểm kỳ dị, trong đómột điểm trên một chuỗi có thể ánh xạ vào một phần lớn của chuỗi thời gian khác tạonên kết quả sai lệch

Cho một chuỗi thời gian 𝐴 = 𝑎 , được biến đổi thành chuỗi thời gian

1, 𝑎

2, , 𝑎𝑛

khi a được định nghĩa là trung bình của các giá trị độ dốc , a,

Độ đo DDTW được thiết kế để giảm nhiễu có thể ảnh hưởng xấu đến độ đoxoắn thời gian động (DTW) và cũng được sử dụng cùng với DTW để tính toán độtương tự giữa các chuỗi

3.3 Kỹ thuật tính chặn dưới của Keogh

Việc tính toán DTW cho kết quả tính toán chính xác hơn so với độ đo Euclidnhưng đòi hỏi thời gian thực thi khá lớn Vì vậy, cộng đồng nghiên cứu đã phát triển

kỹ thuật tính chặn dưới hiệu quả để có thể giảm tải bớt không gian tìm kiếm bằng cáchloại bỏ những chuỗi không phù hợp càng sớm càng tốt Mục tiêu của kỹ thuật này là

để tăng tốc độ tính toán và để tạo một ràng buộc chặn dưới tương đối, tức là mộtphương pháp có thể xấp xỉ khoảng cách DTW một cách gần nhất Để giới thiệu kỹthuật chặn dưới này, chúng tôi trình bày một kỹ thuật chặn dưới hiện nay được sử dụngphổ biến là của Keogh năm 2002 [20]

Keogh và các cộng sự đã phát triển một kỹ thuật tính chặn dưới dựa trên ýtưởng của ràng buộc toàn cục mà tiêu biểu là hai trường hợp ràng buộc dảiSakoe-Chiba và hình bình hành Itakura Ràng buộc toàn cục mà Keogh sử dụng chođường xoắn 𝑤 sao cho với r được định nghĩa là phạm

𝑘= (𝑖, 𝑗)

𝑘 𝑗 − 𝑟 ≤ 𝑖 ≤ 𝑗 + 𝑟

Ngày đăng: 20/06/2023, 21:46

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] P. M. Trí, “Phân lớp Dữ liệu chuỗi thời gian dựa vào tổ hợp bộ phân lớp 1-NN với độ đo khoảng cách khác nhau,” Luận văn Thạc sĩ, Khoa khoa học và Kỹ thuật Máy tính, Trường Đại Học Bách Khoa TP. Hồ Chí Minh, 2020 Sách, tạp chí
Tiêu đề: Phân lớp Dữ liệu chuỗi thời gian dựa vào tổ hợp bộ phân lớp 1-NN với độ đo khoảng cách khác nhau
Tác giả: P. M. Trí
Nhà XB: Khoa khoa học và Kỹ thuật Máy tính, Trường Đại Học Bách Khoa TP. Hồ Chí Minh
Năm: 2020
[2] P. M. Tri, D. T. Anh, “Classification of Time Series through Ensembles of Different Distance Measures,” in Proc. of International Conference on Robotics, Machine Learning and Artificial Intelligence (ICRMLAI), Ho Chi Minh City, Vietnam, 7 May 2021, pp. 32–37 Sách, tạp chí
Tiêu đề: Classification of Time Series through Ensembles of Different Distance Measures
Tác giả: P. M. Tri, D. T. Anh
Nhà XB: Proc. of International Conference on Robotics, Machine Learning and Artificial Intelligence (ICRMLAI)
Năm: 2021
[3] G. E. A. P. A. Batista, X. Wang, and E. J. Keogh, “A Complexity-Invariant Distance Measure for Time Series,” in Proceedings of the 2011 SIAM International Conference on Data Mining, Philadelphia, PA, Apr. 2011, pp Sách, tạp chí
Tiêu đề: A Complexity-Invariant Distance Measure for Time Series
Tác giả: G. E. A. P. A. Batista, X. Wang, E. J. Keogh
Nhà XB: Proceedings of the 2011 SIAM International Conference on Data Mining
Năm: 2011
[4] H. Ding, G. Trajcevski, P. Scheuermann, X. Wang, and E. Keogh, “Querying and mining of time series data,” Proc. VLDB Endow., vol. 1, no. 2, pp. 1542–1552, Aug. 2008, doi: 10.14778/1454159.1454226 Sách, tạp chí
Tiêu đề: Querying and mining of time series data
Tác giả: H. Ding, G. Trajcevski, P. Scheuermann, X. Wang, E. Keogh
Nhà XB: Proc. VLDB Endow.
Năm: 2008
[5] J. Lines and A. Bagnall, “Time series classification with ensembles of elastic distance measures,” Data Min. Knowl. Discov., vol. 29, no. 3, pp. 565–592, May 2015, doi: 10.1007/s10618-014-0361-2 Sách, tạp chí
Tiêu đề: Time series classification with ensembles of elastic distance measures
Tác giả: J. Lines, A. Bagnall
Nhà XB: Data Min. Knowl. Discov.
Năm: 2015
[7] V. T. Vinh, D. T. Anh, “Compression rate distance measure for time series,” in 2015 IEEE International Conference on Data Science and Advanced Analytics (DSAA), Paris, France, October 19-21, 2015, doi: 10.1109/DSAA.2015.7344787 Sách, tạp chí
Tiêu đề: Compression rate distance measure for time series
Tác giả: V. T. Vinh, D. T. Anh
Nhà XB: IEEE International Conference on Data Science and Advanced Analytics (DSAA)
Năm: 2015
[8] J. Han, M. Kamber, and J. Pei, Data Mining: Concepts and Techniques (The Morgan Kaufmann Series in Data Management Systems), 3rd ed. Burlington, MA: Morgan Kaufmann, 2011, p. 744 Sách, tạp chí
Tiêu đề: Data Mining: Concepts and Techniques
Tác giả: J. Han, M. Kamber, J. Pei
Nhà XB: Morgan Kaufmann
Năm: 2011
[9] F. Itakura, “Minimum prediction residual principle applied to speech recognition,” IEEE Trans. Acoust., vol. 23, no. 1, pp. 67–72, Feb. 1975, doi:10.1109/TASSP.1975.1162641 Sách, tạp chí
Tiêu đề: Minimum prediction residual principle applied to speech recognition
Tác giả: F. Itakura
Nhà XB: IEEE Trans. Acoust.
Năm: 1975
[10] H. Sakoe and S. Chiba, “Dynamic programming algorithm optimization for spoken word recognition,” IEEE Trans. Acoust., vol. 26, no. 1, pp. 43–49, Feb Sách, tạp chí
Tiêu đề: Dynamic programming algorithm optimization for spoken word recognition
Tác giả: H. Sakoe, S. Chiba
Nhà XB: IEEE Trans. Acoust.
Năm: Feb
[11] D. J. Berndt and J. Clifford, “Using Dynamic Time Warping to Find Patterns in Time Series,” in Proceedings of the 3rd International Conference on Knowledge Discovery and Data Mining, 1994, pp. 359–370 Sách, tạp chí
Tiêu đề: Using Dynamic Time Warping to Find Patterns in Time Series
Tác giả: D. J. Berndt, J. Clifford
Nhà XB: Proceedings of the 3rd International Conference on Knowledge Discovery and Data Mining
Năm: 1994
[12] P. Volny, D. Novak, and P. Zezula, “Employing Subsequence Matching in Audio Data Processing,” in Technical report, FI, Masaryk University, Brno, 2012.[13] “DTW algorithm,” GenTxWarper, Feb. 2017 Sách, tạp chí
Tiêu đề: Employing Subsequence Matching in Audio Data Processing
Tác giả: P. Volny, D. Novak, P. Zezula
Nhà XB: Technical report
Năm: 2012
[14] T. Górecki and M. Łuczak, “The influence of the Sakoe–Chiba band size on time series classification,” IFS, vol. 36, no. 1, pp. 527–539, Feb. 2019, doi:10.3233/JIFS-18839 Sách, tạp chí
Tiêu đề: The influence of the Sakoe–Chiba band size on time series classification
Tác giả: T. Górecki, M. Łuczak
Nhà XB: IFS
Năm: 2019
[15] G. Dougherty, Pattern Recognition and Classification: An Introduction, 2013th ed. Springer, 2012, p. 209 Sách, tạp chí
Tiêu đề: Pattern Recognition and Classification: An Introduction
Tác giả: G. Dougherty
Nhà XB: Springer
Năm: 2012
[16] Peter N. Glaskowsky, “NVIDIA’s Next Generation CUDA TM ComputeArchitecture: Fermi TM .” Internet:https://www.nvidia.com/content/PDF/fermi_white_papers/P.Glaskowsky_NVIDIA's_Fermi-The_First_Complete_GPU_Architecture.pdf, 2009 Sách, tạp chí
Tiêu đề: NVIDIA’s Next Generation CUDA TM ComputeArchitecture: Fermi TM
Tác giả: Peter N. Glaskowsky
Năm: 2009
[17] A. P. Pawlovsky, “An ensemble based on distances for a kNN method for heart disease diagnosis,” in 2018 International Conference on Electronics, Information, and Communication (ICEIC), Jan. 2018, pp. 1–4, doi Sách, tạp chí
Tiêu đề: An ensemble based on distances for a kNN method for heart disease diagnosis
Tác giả: A. P. Pawlovsky
Nhà XB: 2018 International Conference on Electronics, Information, and Communication (ICEIC)
Năm: 2018
[18] D. Dua and C. Graff, “{UCI} Machine Learning Repository.”http://archive.ics.uci.edu/ml (accessed May 15, 2021) Sách, tạp chí
Tiêu đề: UCI Machine Learning Repository
Tác giả: D. Dua, C. Graff
[19] E. J. Keogh and M. J. Pazzani, “Derivative dynamic time warping,” in Proceedings of the 2001 SIAM International Conference on Data Mining, Philadelphia, PA, Apr. 2001, pp. 1–11, doi: 10.1137/1.9781611972719.1 Sách, tạp chí
Tiêu đề: Derivative dynamic time warping
Tác giả: E. J. Keogh, M. J. Pazzani
Nhà XB: Proceedings of the 2001 SIAM International Conference on Data Mining
Năm: 2001
[20] E. Keogh and C. A. Ratanamahatana, “Exact indexing of dynamic time warping,” Knowl. Inf. Syst., vol. 7, no. 3, pp. 358–386, Mar. 2005, doi:10.1007/s10115-004-0154-9 Sách, tạp chí
Tiêu đề: Exact indexing of dynamic time warping
Tác giả: E. Keogh, C. A. Ratanamahatana
Nhà XB: Knowl. Inf. Syst.
Năm: 2005
[21] Y. Chen et al., “The UCR Time Series Classification Archive,” 2015.http://www.cs.ucr.edu/~eamonn/time_series_data/ (accessed May 14, 2021) Sách, tạp chí
Tiêu đề: The UCR Time Series Classification Archive
Tác giả: Yanping Chen, Eamonn Keogh, Bing Hu, Nurjahan Begum, Anthony Bagnall, Abdullah Mueen, Gustavo Batista
Năm: 2015
[22] M. Wolfe, “Loops skewing: The wavefront method revisited,” Int. J. Parallel Program., vol. 15, no. 4, pp. 279–293, Aug. 1986, doi: 10.1007/BF01407876 Sách, tạp chí
Tiêu đề: Loops skewing: The wavefront method revisited
Tác giả: M. Wolfe
Nhà XB: Int. J. Parallel Program.
Năm: 1986

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

TÀI LIỆU LIÊN QUAN

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