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

Luận văn thạc sĩ Khoa học máy tính: Cải tiến giải thuật 1-NN phân lớp dữ liệu chuỗi thời gian dựa vào một kỹ thuật nhánh và cận

98 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Cấu trúc

  • CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI (15)
    • 1.1 Giới thiệu đề tài (15)
    • 1.2 Đô ̣ng cơ nghiên cứu (17)
    • 1.3 Ý nghĩa của đề tài (17)
    • 1.4 Mục tiêu và nhiê ̣m vu ̣ của đề tài (18)
    • 1.5 Những kết quả đa ̣t được (19)
    • 1.6 Bố cu ̣c luâ ̣n văn (19)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT (20)
    • 2.1 Dữ liệu chuỗi thời gian (21)
    • 2.2 Vấn đề phân lớp dữ liệu chuỗi thời gian (21)
    • 2.3 Giải thuật k-lân cận gần nhất (24)
      • 2.3.1 Giới thiê ̣u giải thuâ ̣t k-lân cận gâ ̀n nhất (24)
      • 2.3.2 Áp du ̣ng giải thuâ ̣t k-lân cận gâ ̀n nhất vào bài toán phân lớp (25)
    • 2.4 Kỹ thuật nhánh-và-cận (27)
    • 2.5 Giải thuâ ̣t k-means (28)
      • 2.5.1 Giới thiê ̣u về kỹ thuâ ̣t gom cu ̣m (28)
      • 2.5.2 Giải thuâ ̣t k-means (29)
    • 2.6 Các độ đo tương tự (30)
      • 2.6.1 Độ đo khoảng cách Euclid (30)
      • 2.6.2 Độ đo xoắn thời gian động (31)
  • CHƯƠNG 3: CÁC CÔNG TRÌNH LIÊN QUAN (34)
    • 3.1 Kỹ thuâ ̣t nhánh-và-câ ̣n để tăng tốc giải thuật k-lân cận gần nhất (34)
      • 3.1.1 Phân rã tập thiết kế (35)
      • 3.1.2 Tìm kiếm cây bằng kỹ thuật nhánh-và-cận (36)
    • 3.2 Đô ̣ đo CID cho dữ liệu chuỗi thời gian (40)
      • 3.2.1 Một vài bất biến (40)
      • 3.2.2 CID cho chuỗi thời gian (42)
    • 3.3 Độ đo CRD cho dữ liệu chuỗi thời gian (43)
      • 3.3.1 Nguyên lý độ dài mô tả tối thiểu (Minimum Description Length - MDL) (43)
      • 3.3.2 Độ đo khoảng cách tỉ lệ nén (Compression Rate Distance - CRD) (46)
  • CHƯƠNG 4: PHƯƠNG PHÁP TIẾP CẬN (20)
    • 4.1 Sơ đồ tổng quát của hê ̣ thống (50)
    • 4.2 Giải thích sơ đồ trình tự của hê ̣ thống (51)
      • 4.2.1 Phân rã tâ ̣p dữ liê ̣u và quy trình tổng quát của hê ̣ thống (51)
      • 4.2.2 Phân lớp dữ liê ̣u 1-lân câ ̣n gần nhất áp du ̣ng giải thuâ ̣t nhánh và câ ̣n (54)
  • CHƯƠNG 5: HIỆN THỰC VÀ THỰC NGHIỆM (20)
    • 5.1 Môi trường thực nghiê ̣m (56)
    • 5.2 Các giải thuâ ̣t và các bô ̣ dữ liê ̣u thực nghiê ̣m (56)
      • 5.2.1 Bộ dữ liệu Gun Point (57)
      • 5.2.2 Bộ dữ liệu CBF (60)
      • 5.2.3 Bộ dữ liệu Trace (61)
      • 5.2.4 Bộ dữ liệu Fish (63)
    • 5.3 Kết quả thực nghiê ̣m (64)
      • 5.3.1 Thực nghiê ̣m với bô ̣ dữ liê ̣u 50Words (64)
      • 5.3.2 Thực nghiê ̣m với bô ̣ dữ liê ̣u CinC_ECG_torso (65)
      • 5.3.3 Thực nghiê ̣m với bô ̣ dữ liê ̣u Face (all) (66)
      • 5.3.4 Thực nghiê ̣m với bô ̣ dữ liê ̣u Swedish Leaf (67)
      • 5.3.5 Thực nghiê ̣m với bô ̣ dữ liê ̣u MedicalImages (68)
      • 5.3.6 Thực nghiê ̣m với bô ̣ dữ liê ̣u ECG5000 (69)
      • 5.3.7 Thực nghiê ̣m với bô ̣ dữ liê ̣u Yoga (71)
      • 5.3.8 Thư ̣c nghiê ̣m với bô ̣ dữ liê ̣u Adiac (72)
      • 5.3.9 Thực nghiê ̣m với bô ̣ dữ liê ̣u FacesUCR (73)
      • 5.3.10 Thư ̣c nghiê ̣m với bô ̣ dữ liê ̣u ProximalPhalanxOutlineCorrect (74)
      • 5.3.11 Thư ̣c nghiê ̣m với bô ̣ dữ liê ̣u DistalPhalanxOutlineCorrect (75)
      • 5.3.12 Thư ̣c nghiê ̣m với bô ̣ dữ liê ̣u Strawberry (76)
      • 5.3.13 Thư ̣c nghiê ̣m với bô ̣ dữ liê ̣u Gun Point (77)
      • 5.3.14 Thư ̣c nghiê ̣m với bô ̣ dữ liê ̣u CBF (79)
      • 5.3.15 Thư ̣c nghiê ̣m với bô ̣ dữ liê ̣u Trace (80)
      • 5.3.16 Thư ̣c nghiê ̣m với bô ̣ dữ liê ̣u Fish (81)
    • 5.4 Bảng tóm tắt các thông số sử dụng và tóm tắt các kết quả thực nghiệm (82)
      • 5.4.1 Bảng tóm tắt các thông số (82)
      • 5.4.2 Bảng tóm tắt kết quả thực nghiệm (83)
  • CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (20)
    • 6.1 Những kết luâ ̣n của luâ ̣n văn (90)
    • 6.2 Hướng phát triển (91)

Nội dung

Với lượng dữ liệu chuỗi thời gian khổng lồ ấy, vấn đề đặt ra của chúng ta là cần phải thực hiện phân lớp Classification chúng để có thể sử dụng một cách hiệu quả cho các mục đích khác n

GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI

Giới thiệu đề tài

Ngày nay, cùng với sự phát triển của xã hội, các loại thiết bị ghi nhận dữ liệu cũng được phát minh ngày càng tốt và có thể ghi nhận được nhiều thông tin hơn trong cùng một khoảng thời gian ngắn như máy đo cảm biến (Sensors) Điều này đã dẫn đến sự bùng nổ của dữ liệu chuỗi thời gian (Time Series Data) Chúng tồn tại dưới nhiều lĩnh vực khác nhau trong cuộc sống như: kinh tế, y học, giáo dục, môi trường, thiên văn… và dưới nhiều dạng khác nhau như: số liệu, hình ảnh, âm thanh, đoạn phim…

Chuỗi thời gian (Time Series) là một tập hợp dữ liệu các trị số đo được dưới dạng chuỗi các số thực theo từng khoảng thời gian cách đều nhau Trong nghiên cứu dữ liệu chuỗi thời gian, người ta thường quan tâm đến một đoạn gồm nhiều giá trị được đo liên tục chứ không quan tâm đến giá trị tại từng thời điểm cụ thể Do đó, chuỗi thời gian có thể được xem là dữ liệu nhiều chiều, với mỗi chiều là một giá trị quan sát được tại một thời điểm cụ thể Số chiều có thể có độ dài lên đến từ vài chục như giá trị chứng khoán của một công ty trong một tháng hoặc vài trăm triệu như giá trị điện tim của một bệnh nhân

Hình 1.1 Dữ liệu chuỗi thời gian của công ty chứng khoán Đường Biên Hòa

Hình 1.1 là một ví dụ về dữ liệu chuỗi thời gian đo chỉ số giá chứng khoán của công ty cổ phần Đường Biên Hòa (BHS: HOSE) với khoảng thời gian quan sát 6 tháng (từ tháng 07 năm 2015 đến tháng 12/2015) với giá trị cao nhất là 22.3 (x 1000 VNĐ), và giá trị thấp nhất là 12.9 (x 1000 VNĐ)

Với lượng dữ liệu chuỗi thời gian khổng lồ ấy, vấn đề đặt ra của chúng ta là cần phải thực hiện phân lớp (Classification) chúng để có thể sử dụng một cách hiệu quả cho các mục đích khác nhau như: nghiên cứu, phân tích dữ liệu, dự báo…

Phân lớp dữ liệu chuỗi thời gian là việc xây dựng một bộ phân lớp (Classifier) dựa trên các chuỗi thời gian đã được phân lớp để xác đi ̣nh nhãn lớp cho các dữ liê ̣u chuỗi thời gian chưa được phân lớp Trong lĩnh vực khai phá dữ liê ̣u [6] thì vấn đề phân lớp là vấn đề quan tro ̣ng và phổ biến Một số giải thuật phân lớp truyền thống để thực hiện bài toán phân lớp 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ạng nơ-ron (Neural Network), phân lớp với cây quyết định (Decision Tree)…

Từ những giải thuâ ̣t truyền thống này thì các nhà nghiên cứu đã có nhiều công trình nghiên cứu liên quan đến quá trình phân lớp dữ liê ̣u Trong các phương pháp để phân lớp dữ liệu thì phương pháp phân lớp với k-lân cận gần nhất là phương pháp tốt nhất, phù hợp nhất và thường được sử du ̣ng nhất đối với công tác phân lớp dữ liê ̣u chuỗi thời gian[12] Tuy nhiên, việc thực hiện phân lớp bằng giải thuật k-lân cận gần nhất có nhược điểm là chi phí tính toán cao và tốn bộ nhớ để lưu trữ tập huấn luyện (Training Set) lớn vì thế chúng ta cần giảm chi phí tính toán khoảng cách khi tìm k-lân cận gần nhất Đây cũng là hướng nghiên cứu chính của đề tài Đề tài tập trung vào việc cải tiến giải thuật 1-lân cận gần nhất (1-Nearest Neighbor) để phân lớp dữ liệu chuỗi thời gian dựa vào một kỹ thuật nhánh-và-cận được đề xuất bởi Fukunaga và Narendrea vào năm 1975 [5] để tăng tốc, kết hợp với một độ đo tương tự thích hợp để tăng độ chính xác

(Accuracy) cho bài toán phân lớp

Đô ̣ng cơ nghiên cứu

Mă ̣c dù Fukunaga và Narendrea đã đề xuất phương pháp cải tiến giải thuâ ̣t 1-lân cận gần nhất (1-Nearest Neighbor) để phân lớp dữ liệu dựa vào một kỹ thuật nhánh-và-cận

Tuy nhiên, công trình này mới chỉ được thực nghiê ̣m với bô ̣ dữ liê ̣u bình thường, mà chưa thực nghiê ̣m thử trên bô ̣ dữ liê ̣u chuỗi thời gian

Vì vâ ̣y, chúng tôi quyết đi ̣nh nghiên cứu phương pháp này và kiểm tra nó với dữ liê ̣u chuỗi thời gian để kiểm tra xem phương pháp này có thể áp du ̣ng hiê ̣u quả cho dữ liê ̣u chuỗi thời gian hay không.

Ý nghĩa của đề tài

Giải quyết nhược điểm chi phí tính toán cao khi thực hiê ̣n phân lớp dữ liê ̣u chuỗi thời gian bằng giải thuật k-lân cận gần nhất

Lựa cho ̣n phương pháp gom cu ̣m k-means để phân rã tâ ̣p dữ liê ̣u cũng giúp thời gian phân rã tâ ̣p dữ liê ̣u nhanh hơn so với các phương pháp gom cu ̣m khác

Bên ca ̣nh đó, khảo sát các đô ̣ đo khác nhau như: đô ̣ đo Euclid, đô ̣ đo khoảng cách bất biến độ phức tạp (Complexity-Invariant Distance - CID), và đô ̣ đo khoảng cách tỉ lê ̣ nén

(Compression Rate Distance – CRD) để so sánh đô ̣ chính xác của giải thuâ ̣t, từ đó tìm ra đô ̣ đo phù hợp nhất theo nhu cầu của người sử du ̣ng Vì cả ba đô ̣ đo này đều có đô ̣ phức ta ̣p tuyến tính nên sẽ không làm tăng thêm quá nhiều chi phí cho quá trình phân rã tâ ̣p dữ liê ̣u

Với các phương pháp trên, thời gian thực hiê ̣n mô ̣t bài toán phân lớp bằng giải thuâ ̣t k-lân cận gần nhất trong thực tế được cải thiê ̣n nhanh hơn, nhưng không làm giảm đi đô ̣ chính xác của bài toán Vì nếu không nhìn ở khía cạnh khác, không nhìn ở độ đo khác thì giá trị gọi là tối thiểu (min) Cụ thể, với độ đo Euclid thì cho dù ta nhìn ở khía cạnh vét cạn hay cấu trúc gì đi nữa thì đều cho kết quả min ra đúng với vét cạn

Thông qua thực nghiệm vớ i nhiều bộ dữ liệu khác nhau, luâ ̣n văn sẽ chứng minh tính hiê ̣u quả của viê ̣c cải tiến giải thuâ ̣t 1-NN phân lớ p dữ liê ̣u chuỗi thời gian dựa vào mô ̣t

4 kỹ thuâ ̣t nhánh-và-cận so với giải thuâ ̣t 1-NN truyền thống Ngoài ra, luâ ̣n văn còn so sánh tính hiệu quả của các độ đo khoảng cách, từ đó rút ra các kết luận liên quan làm cơ sở cho người dùng sử dụng các độ đo khoảng cách một cách linh hoạt tùy tình huống và lĩnh vực cụ thể.

Mục tiêu và nhiê ̣m vu ̣ của đề tài

Mu ̣c tiêu chính của đề tài là nghiên cứu phương pháp cải tiến giải thuật 1-lân cận gần nhất (1-Nearest Neighbor) để phân lớp dữ liệu chuỗi thời gian dựa vào một kỹ thuật nhánh-và-cận được đề xuất bởi Fukunaga và Narendrea đề xuất vào năm 1975 [5] và thực nghiê ̣m trên bô ̣ dữ liê ̣u chuỗi thời gian để kiểm tra sự hiê ̣u quả của nó Ngoài ra, đề tài cũng tiến hành thử nghiê ̣m cải tiến đô ̣ chính xác cho giải thuâ ̣t bằng cách áp du ̣ng các đô ̣ đo mới như đô ̣ đo CID, đô ̣ đo CRD bên ca ̣nh đô ̣ đo Euclid đã được các tác giả thực hiê ̣n trong nghiên cứu của mình

Các công viê ̣c được thực hiê ̣n trong đề tài gồm có

- Nghiên cứu dữ liệu chuỗi thời gian và vấn đề phân lớp dữ liệu chuỗi thời gian

- Nghiên cứu giải thuật 1-lân cận gần nhất, áp dụng để phân lớp dữ liệu chuỗi thời gian

- Nghiên cứu phân lớp chuỗi thời gian dựa vào một kỹ thuật nhánh-và-cận để cải tiến tốc độ giải thuật

- Nghiên cứu giải thuâ ̣t gom cu ̣m k-means để phân rã tâ ̣p dữ liê ̣u chuỗi thời gian thành mô ̣t tâ ̣p phân rã rời ra ̣c có cấu trúc da ̣ng cây để phu ̣c vu ̣ cho viê ̣c áp du ̣ng kỹ thuật nhánh-và-cận khi phân lớp bằng giải thuật 1-lân cận gần nhất

- Nghiên cứu các độ đo tương tự cho các chuỗi thời gian, lựa chọn độ đo phù hợp và áp dụng nó vào việc cải tiến độ chính xác cho giải thuật

Những kết quả đa ̣t được

Đã xây dựng thành công giải thuâ ̣t 1-lân câ ̣n gần nhất phân lớp dữ liê ̣u chuỗi thời gian dựa trên kỹ thuâ ̣t nhánh-và-cận áp du ̣ng các đô ̣ đo Euclid, CID và CRD

Kết quả sau khi thực nghiê ̣m cho thấy, khi thực hiê ̣n phân lớp dữ liê ̣u chuỗi thời gian thì giải thuâ ̣t 1-lân câ ̣n gần nhất áp du ̣ng kỹ thuâ ̣t nhánh-và-cận cho ra thờ i gian phân lớp nhanh hơn giải thuâ ̣t 1-lân câ ̣n gần nhất truyền thống mà không làm giảm đi đô ̣ chính xác phân lớp với các thông số được cho ̣n phù hợp tương ứng cho từng bô ̣ dữ liê ̣u

Ngoài ra, khi kiểm tra kết quả của giải thuâ ̣t 1-lân câ ̣n gần nhất áp du ̣ng kỹ thuâ ̣t nhánh-và-cận giữa ba đô ̣ đo thu được kết quả: độ đo CID và độ đo CRD có kết quả phân lớp chính xác hơn độ đo Euclid mă ̣c dù thời gian có lâu hơn mô ̣t ít Giữa hai đô ̣ đo CID và CRD thì thời gian thực hiê ̣n phân lớp của đô ̣ đo CRD thường lâu hơn đô ̣ đo CID; độ đo CRD thường cho ra kết quả phân lớp chính xác hơn đô ̣ đo CID

Tóm la ̣i, thực nghiê ̣m đã cho ra được các kết quả khá tốt theo mong đợi đó là

- Giải thuâ ̣t phân lớp 1-lân câ ̣n gần nhất áp du ̣ng kỹ thuâ ̣t nhánh-và-cận cho thời gian phân lớp nhanh hơn hẳn giải thuâ ̣t phân lớp 1-lân câ ̣n gần nhất truyền thống, đă ̣c biê ̣t đúng với các bô ̣ dữ liê ̣u chuỗi thời gian có tâ ̣p huấn luyê ̣n và tâ ̣p thử có kích thước lớn

- Viê ̣c áp du ̣ng đô ̣ đo CID và đô ̣ đo CRD đã cho ra kết quả phân lớp chính xác hơn đô ̣ đo Euclid mặc dù thời gian phân lớp lâu hơn so với đô ̣ đo Euclid.

Bố cu ̣c luâ ̣n văn

Luâ ̣n văn được bố cu ̣c theo các nô ̣i dung chính trong từng chương như sau

CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI

Chương này giới thiệu tổng quan về đề tài, đô ̣ng cơ nghiên cứu, ý nghĩa của đề tài, mục tiêu, nhiệm vu ̣ của đề tài, những kết quả đa ̣t được và bố cu ̣c tổng thể của luâ ̣n văn

CƠ SỞ LÝ THUYẾT

Dữ liệu chuỗi thời gian

Một chuỗi thời gian (Time Series) là một tập hợp dữ liệu các trị số đo được dưới dạng chuỗi các số thực, mỗi trị số biểu diễn một giá trị đo tại những thời điểm cách đều nhau

Trong nghiên cứu, một chuỗi thời gian có thể được xem là một tập hợp dữ liệu trong không gian hai chiều, được biểu diễn với bộ giá trị (T, V) Với T là mốc thời điểm quan sát được giá trị, V là giá trị quan sát tương ứng Vì khoảng thời gian quan sát là bằng nhau nên có thể không cần quan tâm đến mốc thời điểm T này Khi đó, chuỗi thời gian là dữ liệu n chiều và được ký hiệu là X = {x 1, x 2, x 3,…, x n }, trong đó x i là các giá trị số thực quan sát tại thời điểm thứ i (i chạy từ 1 đến n).

Vấn đề phân lớp dữ liệu chuỗi thời gian

Phân lớp (Classification) [6] dữ liệu chuỗi thời gian là dạng phân tích dữ liệu nhằm rút trích các mô hình mô tả các lớp dữ liệu hoặc dự đoán xu hướng dữ liệu từ các mô hình đó Ví dụ, phân lớp dữ liệu chứng khoán dựa vào sự biến thiên giá của các cổ phiếu, phân tích dữ liệu điện tâm đồ của các bệnh nhân để xác định bệnh nhân ấy là bình thường hay có bệnh Quá trình này gồm hai bước chính là huấn luyện (Training) và phân lớp

- Huấn luyện hay còn gọi là bước học, ở bước này ta tiến hành xây dựng bộ phân lớp (Classifier) bằng việc phân tích tập huấn luyện Tập huấn luyện

(Training Set) là tập các chuỗi thời gian đã được phân lớp (Labeled Time

- Phân lớp: thực hiện gắn nhãn lớp cho các chuỗi thời gian chưa được phân lớp

(Unlabeled Time Series) dựa vào bộ phân lớp đã được xây dựng ở trên

Hình 2.1 [4] cho ta một ví dụ về bài toán phân lớp, với một tập huấn luyện trong đó đã chứa các mẫu được phân thành các lớp A và B, nhiệm vụ của ta là phải xác định được lớp cho mẫu mới này và liệu lớp đó có thực sự phù hợp với mẫu mới này hay không?

Hình 2.1 Ví dụ bài toán phân lớp

Trong lĩnh vực khai phá dữ liệu, phân lớp là một kỹ thuật rất phổ biến và quan trọng, nó thường là bước cuối cùng trong một tiến trình chung, liên quan đến việc sắp các đối tượng vào các lớp riêng biệt tương ứng Hình 2.2 [1] cho ta thấy các thành phần tổng quát của một hệ thống phân lớp

Vấn đề của bài toán phân lớp dữ liệu chuỗi thời gian dựa vào phương pháp k-lân cận gần nhất là việc đánh giá khoảng cách của hai chuỗi thời gian Trong trường hợp hai đối tượng này hoàn toàn giống nhau thì khoảng cách này sẽ là 0 và ngược lại chúng càng khác nhau khi khoảng cách giữa chúng càng lớn Để có thể tính toán và so sánh độ tương tự giữa các chuỗi thời gian với nhau thì các khoảng cách này được biểu diễn thành các số thực

Hình 2.2 Hệ thống phân lớp tổng quát

Mặc dù có khá nhiều công trình nghiên cứu về bài toán phân lớp dữ liệu thông thường, hầu hết các giải thuật kinh điển trong hai lĩnh vực học máy và khai phá dữ liệu đã không làm việc tốt với dữ liệu chuỗi thời gian do những tính chất đặc biệt của loại dữ liệu này

Ba tính chất của dữ liệu chuỗi thời gian gồm có: tính chất đầu tiên là số chiều nhiều, tính chất thứ hai là mối tương quan cao giữa các điểm dữ liệu trên chuỗi thời gian và tính chất thứ ba là dữ liệu có thể có nhiễu Chính ba tính chất này đã khiến cho việc phân tích và khai phá dữ liệu trên loại dữ liệu này trở nên khó khăn và đầy thách thức

Việc phân lớp dữ liệu chuỗi thời gian có thể được thực hiện dựa trên các giải thuật 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), 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)… Đề tài này sẽ chọn phương pháp phân lớp với giải thuật k-lân cận gần nhất là phương pháp phù hợp nhất hiện nay để phân lớp dữ liệu chuỗi thời gian nhưng để phù hợp với mức độ luận văn, đề tài sẽ chọn k = 1, nghĩa là phân lớp với giải thuật 1-lân cận gần nhất

Cách đánh giá chất lượng phân lớp: ta sẽ đánh giá chất lượng phân lớp dựa trên độ chính xác(Accuracy) hoặc tỉ lê ̣ lỗi (Error_Rate) phân lớ p

Hai tiêu chí này được xác đi ̣nh bằng công thức bên dưới

 Độ chính xác (Accuracy) được xác đi ̣nh bằng công thức

Với c i là số phần tử thuô ̣c lớp i trong tâ ̣p dữ liê ̣u tc i là số phần tử thực sự được phân lớp vào lớp i trong tâ ̣p dữ liê ̣u

 Tỉ lê ̣ lỗi (Error_Rate) phân lớ pđược xác đi ̣nh bằng công thức

Giải thuật k-lân cận gần nhất

2.3.1 Giới thiê ̣u giải thuâ ̣t k-lân cận gần nhất

Giải thuật k-lân cận gần nhất (k-Nearest Neighbor) được sử dụng rất phổ biến trong lĩnh vực khai phá dữ liệu nói chung và trong bài toán phân lớp nói riêng Đây là phương pháp để phân lớp các đối tượng dựa vào khoảng cách gần nhất giữa đối tượng cần gán nhãn lớp và tất cả các đối tượng khác trong tập huấn luyện

Với giải thuật k-lân cận gần nhất thì một đối tượng sẽ được phân lớp dựa vào k lân cận của nó, trong đó k là số nguyên dương được chọn khi thực hiện thuật toán

Việc chọn giá trị k rất quan trọng vì nếu chúng ta chọn k quá nhỏ thì kết quả sẽ dễ bị ảnh hưởng bởi nhiễu, còn nếu chọn k quá lớn thì nhiều phần tử lân cận chọn được có thể đến từ các lớp khác

Hình 2.3 [4] bên dưới sẽ giải thích rõ hơn về tính chính xác của giải thuật Khi chọn k quá lớn thì sau khi phân lớp, đối tượng cần phân lớp sẽ được xếp vào lớp “-”, nhưng thực tế nếu chọn k phù hợp hơn, ta thấy đối tượng cần phân lớp xếp vào lớp “+” sẽ chính xác hơn

Hình 2.3 Phân lớp với k-lân cận gần nhất với trường hợp chọn k quá lớn

2.3.2 Áp du ̣ng giải thuâ ̣t k-lân cận gần nhất vào bài toán phân lớp

Các bước tiến hành phân lớp với giải thuật k-lân cận gần nhất

- Xác định tham số k, chính là số lân cận gần nhất

- Tính khoảng cách giữa đối tượng cần phân lớp với tất cả các đối tượng trong tập huấn luyện

- Sắp xếp các kết quả tính khoảng cách đã được thực hiện theo thứ tự tăng dần và xác định k-lân cận gần nhất với đối tượng cần phân lớp

- Lấy tất cả các lớp của k-lân cận gần nhất đã được xác định ở bước trên

- Cuối cùng, tổng hợp các lớp đó lại và chọn ra lớp có số lượng nhiều nhất, đây chính là lớp mà đối tượng cần phân lớp ban đầu thuộc về

Hình 2.4 [4] là ví dụ sử dụng giải thuật 1-lân cận gần nhất Nhìn vào hình ta dễ dàng xác định được đối tượng x thuộc về lớp “-”

Hình 2.5 [4] là ví dụ sử dụng giải thuật 2-lân cận gần nhất Lúc này, nhìn vào hình ta không thể xác định được đối tượng x thuộc về lớp “-” hay lớp “+”

Hình 2.6 [4] là ví dụ sử dụng giải thuật 3-lân cận gần nhất Nhìn vào hình ta dễ dàng xác định được đối tượng x thuộc về lớp “+”

Hình 2.4 Phân lớp sử dụng 1-lân cận gần nhất

Hình 2.5 Phân lớp sử dụng 2-lân cận gần nhất Đề tài này sẽ sử dụng phương pháp phân lớp với 1-lân cận gần nhất Tuy nhiên, khi thực hiện phân lớp với 1-lân cận gần nhất, vấn đề thường xảy ra là độ phức tạp tính toán của thuật toán thường lớn Vì thế, đề tài sẽ áp dụng thêm một kỹ thuật nhánh-và-cận để quá trình tính toán lân cận gần nhất được thực hiện nhanh hơn Ngoài ra, đề tài còn xem xét áp dụng hai độ đo khoảng cách mới là độ đo khoảng cách bất biến độ phức tạp (CID), độ đo khoảng cách tỉ lệ nén (CRD) để cải tiến độ chính xác cho bài toán phân lớp

Hình 2.6 Phân lớp sử dụng 3-lân cận gần nhất.

Kỹ thuật nhánh-và-cận

Bài toán tối ưu là bài toán yêu cầu tìm ra một phương án tốt nhất sao cho thỏa mãn được một số yêu cầu ràng buộc nào đó, nghiệm của bài toán đạt giá trị tốt nhất trong một không gian nghiệm được tìm thấy Trong thực tế, chúng ta chưa thể xây dựng một thuật toán nào thực sự hiệu quả để giải quyết dạng bài toán tối ưu này Phương pháp thông dụng nhất chính là liệt kê tất cả các trường hợp có thể xảy ra của bài toán, sau đó đánh giá và tìm ra lời giải tốt nhất từ nhiều lời giải tương ứng với các trường hợp của bài toán

Việc này có thể thực hiện bằng phương pháp liệt kê tuần tự và tìm kiếm quay lui (Back

Mô hình của thuật toán quay lui là tìm kiếm trên một cây không gian trạng thái

(State Space Tree) hay cây tìm kiếm (Search Tree) Các nút ở mức đầu trong cây diễn tả những lựa chọn được làm ứng với thành phần đầu tiên của lời giải và tương tự cho các mức kế tiếp Giả sử mỗi nút trên cây không gian trạng thái có trung bình a nút con và chiều dài của lối đi lời giải là N thì số nút trên cây sẽ tỉ lệ với a N Khi đó việc duyệt hết tất cả số nút để tìm kiếm kết quả tối ưu sẽ là một quá trình tốn rất nhiều thời gian Vì vậy, nếu như trong quá trình tìm lời giải phát hiện ra hướng đi hiện tại không phải là hướng đi

14 dẫn đến lời giải tốt nhất thì ta cần hủy và chọn theo hướng đi khác để tránh tốn thời gian vô ích

Kỹ thuật nhánh-và-cận (Branch-And-Bound) sẽ giải quyết được vấn đề này Ý tưởng của kỹ thuật nhánh-và-cận là trong khi tìm lời giải của một phương án nào đó, luôn kiểm tra điều kiện nếu đi theo phương án này thì có tốt hơn các phương án trước đó không nhằm mục đích loại bỏ sớm các phương án không dẫn đến lời giải tối ưu

- Nếu việc kiểm tra cho thấy đây là phương án tối ưu hoặc có khả năng là phương án tối ưu (tốt hơn phương án hiện có) thì cập nhật lại phương án tối ưu, tiếp tục đi tiếp theo hướng đó

- Nếu tại bước này, việc kiểm tra cho thấy phương án hiện tại đã cho ra kết quả kém hơn phương án tối ưu hiện có thì bỏ qua hướng đang xét này, quay trở lại bước liền trước để xét nhánh tiếp theo Để có thể áp du ̣ng được kỹ thuật nhánh-và-cận cho tập dữ liê ̣u huấn luyê ̣n

(Training set), ta cần phải tiến hành phân rã tâ ̣p dữ liê ̣u theo cấu trúc cây như đã trình bày ở trên Để thực hiê ̣n viê ̣c này, đề tài sẽ áp du ̣ng mô ̣t kỹ thuâ ̣t phân cu ̣m cho tâ ̣p dữ liê ̣u, cu ̣ thể là sẽ áp du ̣ng phương pháp gom cu ̣m được sử du ̣ng phổ biến hiê ̣n nay là giải k-means vì viê ̣c gom cu ̣m bằng phương pháp này tốn chi phí khá tốt là O(nkt), với n là số đối tượng, k là số cụm, t là số lần lặp.

Giải thuâ ̣t k-means

2.5.1 Giới thiê ̣u về kỹ thuâ ̣t gom cu ̣m

Gom cụm là kỹ thuật rất quan trọng trong khai phá dữ liệu, nó thuộc lớp các phương pháp học không giám sát (Unsupervised Learning) Về bản chất, gom cụm là các qui trình tìm cách nhóm các đối tượng đã cho vào các cu ̣m, sao cho các đối tượng trong cùng mô ̣t cụm tương tự nhau hơn so với các đối tượng ở cụm khác

Kỹ thuật gom cụm có thể áp dụng trong rất nhiều lĩnh vực như

- Marketing: Xác định các nhóm khách hàng (khách hàng tiềm năng, khách hàng giá trị, phân loại và dự đoán hành vi khách hàng,…) sử dụng sản phẩm hay dịch vụ của công ty để giúp công ty có chiến lược kinh doanh hiệu quả hơn

- Thư viê ̣n: Theo dõi độc giả, sách, dự đoán nhu cầu của độc giả…

- Bảo hiểm, tài chính: phân nhóm các đối tượng sử dụng bảo hiểm và các dịch vụ tài chính, dự đoán xu hướng của khách hàng…

- Mô ̣t ứng du ̣ng khác chính là áp du ̣ng vào giai đoa ̣n tiền xử lý cho các bài toán phân lớp Cu ̣ thể, trong luâ ̣n văn này là áp du ̣ng để phân rã các nhóm dữ liê ̣u trước khi thực hiê ̣n phân lớp bằng phương pháp k-lân câ ̣n gần nhất áp du ̣ng kỹ thuật nhánh-và-cận

2.5.2 Giải thuâ ̣t k-means k-means là giải thuâ ̣t rất quan trọng và được sử dụng phổ biến trong kỹ thuật gom cụm Tư tưởng chính của thuật toán k-means là tìm cách phân nhóm các đối tượng đã cho vào k cụm (k là số các cụm được xác đinh trước, 0 < k ≤ N, N: số lượng đối tượng trong tâ ̣p dữ liê ̣u mẫu) sao cho tổng bình phương khoảng cách giữa các đối tượng đến tâm cu ̣m là nhỏ nhất

Giải thuâ ̣t k-means thực hiện qua các bước chính sau:

- Bước 1: Chọn ngẫu nhiên k tâm cho k cụm Mỗi cụm được đại diện bằng các tâm của cụm

- Bước 2: Tính khoảng cách giữa các đối tượng trong tâ ̣p dữ liê ̣u mẫu đến k tâm

- Bước 3: Nhóm các đối tượng vào cu ̣m gần nhất theo kết quả tính khoảng cách trên

- Bướ c 4: Xác định lại tâm mới cho các cu ̣m, tâm mới này là điểm trung bình của các đối tượng vừa được thêm vào ở Bước 3

- Bước 5: Thực hiện lại Bước 2 cho đến khi không có sự thay đổi cu ̣m nào của các đối tượng Ngoài ra, mô ̣t điều kiê ̣n dừng khác cũng có thể áp du ̣ng là số lần lă ̣p la ̣i

Ngoài việc áp du ̣ng giải thuâ ̣t k-means và sử dụng kỹ thuật nhánh-và-cận giú p tăng tốc quá trình phân lớp thì việc chọn một độ đo khoảng cách phù hợp cũng sẽ giúp quá trình xác định lân cận gần nhất với đối tượng cần phân lớp được thực hiện chính xác hơn.

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

Các độ đo tương tự (Similitary Measure) được sử dụng để tính khoảng cách và đánh giá mức độ khác biệt giữa hai chuỗi thời gian Phần này sẽ trình bày hai độ đo tương tự được sử dụng phổ biến hiện nay là độ đo khoảng cách Euclid (Euclidean Distance) và độ đo xoắn thời gian động (Dynamic Time Warping)

2.6.1 Độ đo khoảng cách Euclid

Phương pháp này tính toán trực tiếp trên hai chuỗi thời gian có đô ̣ dài bằng nhau

Giả sử ta có hai chuỗi thời gian X = {x 1, x 2, x 3,…, x n } và Y = {y 1, y 2, y 3 …, y n } là hai điểm trong không gian Euclid n chiều Đô ̣ đo tương tự giữa hai chuỗi thời gian X và Y được đi ̣nh nghĩa như là khoảng cách Euclid giữa hai điểm trong không gian R n cho bởi công thức

Hình 2.7 cho ta một ví dụ về biên độ của hai chuỗi thời gian áp dụng độ đo khoảng cách Euclid

Hình 2.7 Biên độ hai chuỗi thời gian áp dụng độ đo Euclid Ưu điểm của độ đo khoảng cách Euclid là dễ hiểu, dễ tính toán, dễ cài đặt, và dễ mở rộng cho nhiều bài toán khai phá dữ liệu chuỗi thời gian nói chung, cũng như cho bài toán phân lớp dữ liệu chuỗi thời gian nói riêng Tuy nhiên, độ đo này có nhược điểm là nhạy cảm với nhiễu, và khá cứng nhắc, nó không thích hợp với dữ liệu có biên độ dao động khác nhau

2.6.2 Độ đo xoắn thời gian động Độ đo xoắn thời gian động (Dynamic Time Warping - DTW) [3] cũng tương tự như độ đo khoảng cách Euclid, là một độ đo khoảng cách được sử dụng phổ biến trong các bài toán phân lớp và gom cụm chuỗi thời gian Để độ đo khoảng cách được chính xác hơn, một vài ràng buộc tổng quát được đề nghị cho độ đo DTW ví dụ như ràng buộc là

Sakoe-Chiba band[11], F Itakura[7] Điểm khác biệt giữa độ đo khoảng cách Euclid và độ đo xoắn thời gian động là nếu như độ đ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 khoảng cách từng cặp điểm với nhau (điểm i của chuỗi thứ nhất so với điểm i của 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 [8] khác nhau, nghĩa là một điểm của chuỗi này có thể ánh xạ với nhiều điểm của chuỗi kia nên có thể áp dụng tính khoảng cách cho các chuỗi có độ dài hoặc biên độ dao động

18 khác nhau Hình 2.8 cho ta một ví dụ về biên độ của hai chuỗi thời gian áp dụng độ đo xoắn thời gian động

Hình 2.8 Biên độ hai chuỗi thời gian áp dụng độ đo xoắn thời gian động Ưu điểm của phương pháp này là cho kết quả chính xác hơn so với độ đo khoảng cách Euclid và cho phép nhận dạng các mẫu có hình dạng giống nhau nhưng chiều dài hình dạng về mặt thời gian khác nhau Tuy nhiên, phương pháp này cũng có nhược điểm là thời gian chạy rất lâu, độ phức tạp (O(m*n)) cao hơn độ phức tạp khi đo bằng khoảng cách Euclid (O(n)) với n là chiều dài chuỗi thời gian, m là chiều dài cửa sổ xoắn Vì thế nó khó có thể áp dụng cho các bài toán với chuỗi thời gian có kích thước lớn và các bài toán cần cải tiến tốc độ tính toán

Việc xác định khoảng cách giữa đối tượng chuỗi thời gian cần gán nhãn lớp và các đối tượng chuỗi thời gian trong tập huấn luyện được xác định bằng các độ đo tương tự như độ đo Euclid, độ đo xoắn thời gian động (Dynamic Time Warping)… Thông thường độ đo xoắn thời gian động được sử dụng để tính khoảng cách giữa các đối tượng chuỗi thời gian khi thực hiện phân lớp bằng giải thuật k-lân cận gần nhất

Tuy nhiên, độ đo xoắn thời gian động gây ra độ phức tạp tính toán cao và không phù hợp trong bài toán cải tiến giải thuật phân lớp với k-lân cận gần nhất Vì thế, trong đề tài này chúng ta cần tìm hiểu các độ đo khác có độ chính xác cao hơn và thời gian thực

19 hiê ̣n nhanh hơn để đưa ra lựa chọn phù hợp Cu ̣ thể, ngoài độ đo Euclid, ta sẽ áp du ̣ng thêm hai đô ̣ đo khác là đô ̣ đo CID (Complexity-Invariant Distance) và đô ̣ đo CRD

(Compression Rate Distance) vì cả hai đô ̣ đo này đều cải tiến từ đô ̣ đo Euclid và có đô ̣ phức ta ̣p tuyến tính O(n), và tất nhiên vì dựa trên đô ̣ đo Euclid nên cả hai đô ̣ đo chỉ có thể áp du ̣ng cho dữ liê ̣u chuỗi thời gian có chiều dài n bằng nhau

CÁC CÔNG TRÌNH LIÊN QUAN

Kỹ thuâ ̣t nhánh-và-câ ̣n để tăng tốc giải thuật k-lân cận gần nhất

Công trình này do Fukunaga và Narendrea đề xuất vào năm 1975 trong tạp chí IEEE

Phương pháp tiếp cận k-lân cận gần nhất được biết đến như là một kỹ thuật không tham số (Nonparametric Technique) mạnh mẽ cho bài toán ước lượng mật độ phân bố

(Density Estimation) và bài toán phân lớp Tuy nhiên, việc tìm k-lân cận gần nhất của một mẫu thử (Test Sample) trong N mẫu thiết kế (Design Samples) là một quá trình tốn nhiều chi phí, đặc biệt với N càng lớn

Trong bài báo này, các tác giả đã đề xuất áp dụng một kỹ thuật nhánh-và-cận để giảm thiểu số phép tính toán khoảng cách khi tìm k-lân cận gần nhất Các kết quả thực nghiệm của nghiên cứu này trên các bộ dữ liệu khác nhau cho thấy được sự hiệu quả của giải thuật này Thông thường, trung bình có khoảng 61 phép tính khoảng cách được thực hiện khi tìm lân cận gần nhất của một mẫu thử trong 1000 mẫu thiết kế

Giả sử, ta có một tập các mẫu thiết kế n chiều (n-dimensional) gồm N mẫu

{X 1 ,….,X N } Việc tính toán k-lân cận gần nhất cho một mẫu thử X trong các mẫu

{X 1 ,….,X N } được đo bằng một hàm khoảng cách xấp xỉ Để đơn giản hơn, Fukunaga và Narendrea đã chọn k = 1 (1-lân cận gần nhất) để phân tích giải thuật tìm kiếm này

Phương pháp được đề xuất gồm có hai giai đoạn chính

- Ở giai đoạn đầu tiên sẽ tiến hành xây dựng một cấu trúc cây bằng cách: phân rã mẫu thiết kế thành các tập con rời rạc một cách phân cấp

- Ở giai đoạn hai, cấu trúc cây được phân rã phía trên sẽ được tìm kiếm bằng giải thuật nhánh-và-cận

3.1.1 Phân rã tập thiết kế

Tiến hành chia tập mẫu thiết kế thành l tập con, mỗi tập con lại tiếp tục được chia thành l tập con khác và tiếp tục chia giống vậy cho đến hết tập mẫu hoặc thỏa mãn mô ̣t yêu cầu nào đó của người dùng

Hình 3.1 Kết quả phân rã tập mẫu với l = 3

Hình 3.1 cho ta một cấu trúc cây sau khi tiến hành phân rã với l = 3 Mỗi nút p đại diện cho một nhóm các mẫu Trong đó

- S p : tập các mẫu tại nút p

- N p : số lượng các mẫu tại nút p

- M p : trung bình (mean) mẫu của S p - r p = max d(X i , M p ) là khoảng cách xa nhất từ M p đến một mẫu X i thuộc tập S p

Ta có thể phân rã các tập mẫu bằng bất kỳ công nghệ gom cụm (Clustering), ví dụ như giải thuật k-means, BIRCH, cây chỉ mục… Kết quả phân rã không cần quan tâm các cụm có ý nghĩa hay không Chi phí tính toán mới là tiêu chí chính trong việc xem xét hiệu quả của việc chọn phương pháp gom cụm Trong phạm vi luận văn này sẽ tiến hành thực nghiê ̣m bằng giải thuâ ̣t k-means, vì luận văn muốn bám sát đề xuất của các tác giả và giải thuâ ̣t này chỉ tốn chi phí O(nkt) (với n là số đối tượng, k là số cụm, t là số lần lặp)

Hướng phát triển trong tương lai của luận văn là sẽ thực nghiệm việc phân rã các tập mẫu bằng các giải thuật khác như BIRCH, cây chỉ mục…

3.1.2 Tìm kiếm cây bằng kỹ thuật nhánh-và-cận

Sau khi thực hiện xong việc phân rã ở giai đoạn một, và các thông số M p , r p , N p và

S p đã được đánh giá Tại mỗi nút p, có thể được kiểm tra xem X có thể có lân cận gần nhất trong tập S p hay không bằng hai luật dưới đây

 Luật 1: Sẽ không có X i Ꜫ S p có thể là lân cận gần nhất với X, nếu

Trong đó, B là khoảng cách đến điểm lân cận gần nhất hiện tại của X giữa các mẫu thiết kế Ban đầu giá trị của B sẽ được khởi tạo là ∞

Ngoài ra, có thể có cải tiến nhỏ Luật 1 bằng cách gán

Khi d(X, M p ) được tính thì nó sẽ tối thiểu hóa B trong giai đoạn khởi tạo của giải thuật

Hình 3.2 cho ta thấy được trường hợp minh ho ̣a cho Luâ ̣t 1

Hình 3.2 Minh họa cho Luật 1

 Luật 2: X i không thể là lân cận gần nhất với X, nếu

Trong đó, d(X i , M p ) đã có từ việc tính toán r p trong quá trình phân rã ở bước trên

Các giá trị khoảng cách này được lưu trữ chỉ cho các nút tại mức thấp nhất (nú t lá) của cây với chỉ những giá trị số thực N

Hình 3.3 cho ta thấy được trường hợp minh ho ̣a cho Luâ ̣t 2

Hình 3.3 Minh họa cho Luật 2

Bây giờ, chúng ta có thể áp dụng phương pháp nhánh-và-cận như là một giải thuật tìm kiếm cây hiệu quả để thực hiện tìm kiếm cây ở Hình 3.1, thực hiện kiểm tra các nút trên cây bằng hai luật trên Giải thuật gồm sáu bước chính dưới đây

- Bước 0: Khởi tạo B = ∞ (có thể cải tiến bằng B = min [B, d(X, M p ) + r p ]), CURRENT LEVEL L = 1, CURRENT NODE = 0

- Bước 1: Phân rã nút hiện tại (CURRENT NODE) Đặt tất cả các nút kế cận trực tiếp của CURRENT NODE vào ACTIVE LIST tại CURRENT LEVEL

Tính và lưu các giá trị khoảng cách d(X, M p ) cho các nút này

- Bước 2: Áp dụng Luật 1 Duyệt các nút p trong ACTIVE LIST tại CURRENT LEVEL, kiểm tra nếu thỏa Luật 1 thì tiến hành xóa p ra khỏi ACTIVE LIST tại CURRENT LEVEL

- Bước 3: Quay lui (Back Tracking) o Nếu không còn nút nào trong ACTIVE LIST tại CURRENT LEVEL, tiến hành quay lui về mức trước đó (Previous Level) (gán L = L – 1)

Nếu L = 0 thì dừng giải thuật Ngược lại, quay lại thực hiện Bước 2 o Nếu còn tồn tại nút trong ACTIVE LIST tại CURRENT LEVEL, thực hiện tiếp Bước 4

- Bước 4: Chọn nút p gần nhất bằng cách chọn nút có giá trị d(X, M p ) nhỏ nhất trong tất cả các nút có trong ACTIVE LIST tại CURRENT LEVEL, và gọi nó là CURRENT NODE Xóa p ra khỏi ACTIVE LIST tại CURRENT LEVEL

Nếu CURRENT LEVEL là nú t ở mức cuối cùng, thực hiện Bước 5 Ngược lại, gán L = L + 1 và thực hiện tiếp Bước 1

- Bước 5: Áp dụng Luật 2 Duyệt các nút X i trong CURRENT NODE p Nếu thỏa Luật 2 (nghĩa là không có lân cận gần nhất với X) thì không cần tính khoảng cách d(X, X i ) Ngược lại, thì tính d(X, X i ), sau đó kiểm tra tiếp Nếu d(X, X i ) < B, gán lân cận gần nhất hiện tại là i (CURRENT NN = i) và gán B d(X, X i ) Sau khi duyệt và kiểm tra hết tất cả các nút X i thì quay lại thực hiện Bước 2

Sau khi giải thuật thực hiện đến điều kiện dừng thì lân cận gần nhất chính là CURRENT NN và khoảng cách của nó với đến X là B Hình 3.4 cho ta thấy được mô hình của giải thuật tìm kiếm này

Hình 3.4 Mô hình giải thuật tìm kiếm áp dụng phương pháp nhánh-và-cận

 Ghi nhâ ̣n chung: đô ̣ nha ̣y của giải thuâ ̣t đối với số mức (levels) và số nhánh ta ̣i mỗi nút đã được điều tra ở thực nghiê ̣m phân phối Gauss (Gaussian Distribution) Kết quả cho thấy rằng các yếu tố chi phối ảnh hưởng đến sự hiê ̣u

26 quả của giải thuâ ̣t là số lượng phần tử trung bình trong các cu ̣m ở mức cuối

(nú t lá) và tổng số nút trên cây Nếu có càng nhiều mẫu (samples) (hơn 60) trong mỗi cu ̣m ở mức cuối thì sẽ có ít nút hơn nhưng đòi hỏi chi phí tính toán cao hơn Và ngược la ̣i nếu có càng ít mẫu (samples) trong các nút lá thì sẽ có nhiều nút hơn nhưng sẽ đòi hỏi chi phí tính toán thấp hơn.

Đô ̣ đo CID cho dữ liệu chuỗi thời gian

Công trình này do Batista và các cộng sự đề xuất vào năm 2014 trong tạp chí Data Mining and Knowledge Discovery [2]

Trong công trình này, các tác giả đã giới thiệu độ đo khoảng cách bất biến độ phức tạp (Complexity-Invariant Distance - CID) cho chuỗi thời gian, và cho thấy rằng nó thường cho ra các cải thiện đáng kể độ chính xác trong bài toán phân lớp Độ đo CID là độ đo khoảng cách đơn giản, không có tham số (parameter-free) và hầu như không làm tăng đáng kể độ phức tạp thời gian Độ đo khoảng cách Euclid là một độ đo đơn giản Tuy nhiên, có nhiều miền dữ liệu bị biến dạng vì một lý do nào đó Điều này phải được loại bỏ trước khi áp dụng độ đo khoảng cách Euclid hoặc phải dùng độ đo khác mạnh mẽ hơn

Bất biến biên độ (Amplitude Invariance): nếu chúng ta thử so sánh hai chuỗi thời gian được đo trên hai phạm vi khác nhau ví dụ đo nhiệt độ bằng độ Celcius và độ

Fahrenheit, hai chuỗi thời gian này sẽ không thể khớp với nhau được ngay cả khi chúng có hình dạng tương tự nhau Vì thế, để đo độ tương tự cơ bản thật sự của chúng thì đầu tiên chúng ta phải làm cho chúng có biên độ giống nhau Hình 3.5 cho ta thấy ví dụ độ đo khoảng cách Euclid đã được chuẩn hóa

Hình 3.5 Dữ liệu của hai chuỗi thời gian tương đồng nhau

Tương tự như vậy thì nếu hai chuỗi thời gian có biên độ tương đồng nhau chúng vẫn có thể các biên khác nhau (các giá trị trung bình khác nhau) Hình 3.6 cho ta thấy được ngay cả một sự thay đổi nhỏ của các biên, nó cũng ảnh hưởng đến việc áp dụng độ đo khoảng cách Euclid, dẫn đến kết quả sai khác ví dụ một nhịp tim bị bỏ lỡ

Hình 3.6 Độ đo khoảng cách chưa được chuẩn hóa

Bất biến phạm vi cục bộ (Local Scaling Invariance): đây là bất biến trong hầu hết tất cả các tín hiệu sinh học bao gồm cả dáng đi, chụp chuyển động, chữ viết tay và điện tâm đồ Hình 3.7 cho ta thấy ví dụ hai chuỗi thời gian về hành vi của loài côn trùng

Hình 3.7 Hai chuỗi thời gian thể hiện hành vi của loài côn trùng

3.2.2 CID cho chuỗi thời gian

Trong nhiều năm qua, cộng đồng nghiên cứu đã đưa ra một tập hợp đa dạng các bất biến cho chuỗi thời gian Tuy nhiên, trong thực tế có một bất biến bị bỏ lỡ, đó là bất biến độ phức tạp (Complexity Invariance) Ví dụ trong các bài toán phân lớp một đối tượng với độ đo khoảng cách Euclid, nếu đối tượng có hình dạng đơn giản thì nó có thể xếp vào các lớp thích hợp với nó Nhưng nếu đối tượng có các hình dạng phức tạp, kết quả sẽ không còn chính xác nữa Điều này cho ta thấy một điều là khoảng cách giữa các cặp chuỗi thời gian phức tạp thường xuyên lớn hơn khoảng cách giữa các chuỗi thời gian đơn giản

Bất biến độ phức tạp sử dụng thông tin về những sự khác nhau phức tạp giữa hai chuỗi thời gian như là một yếu tố điều chỉnh cho độ đo khoảng cách Euclid

Trong đó CF là yếu tố điều chỉnh độ phức tạp được cho bởi công thức

Với CE(T) là ước lượng độ phức tạp của chuỗi thời gian được định tính bởi công thức

CE Độ phức tạp của độ đo CID là O(n) Hình 3.8 là mã giả Matlab cho giải thuật tính độ đo CID

Hình 3.8 Mã giả Matlab cho giải thuâ ̣t tính đô ̣ đo CID.

PHƯƠNG PHÁP TIẾP CẬN

Sơ đồ tổng quát của hê ̣ thống

Hình 4.1 Mô hình thực hiê ̣n của hê ̣ thống

HIỆN THỰC VÀ THỰC NGHIỆM

Môi trường thực nghiê ̣m

Chương trình demo được phát triển trên - Hê ̣ điều hành: Windows 10 Education

- Cấu hình máy: Intel(R) Core(TM) i7-3632QM CPU @ 2.20 GHz, Ram 8.00GB.

Các giải thuâ ̣t và các bô ̣ dữ liê ̣u thực nghiê ̣m

Trong luâ ̣n văn này, chúng tôi đã thực hiện sáu giải thuâ ̣t 1-NN phân lớ p dữ liê ̣u chuỗi thời gian Theo từ ng bô ̣ dữ liê ̣u, các kết quả này sẽ được trình bày trong các bảng để so sánh tỉ lê ̣ lỗi phân lớp và thời gian phân lớp mô ̣t cách dễ dàng hơn

1 Giải thuâ ̣t 1-NN phân lớ p dữ liê ̣u chuỗi thời gian truyền thống với đô ̣ đo Euclid

2 Giải thuâ ̣t 1-NN phân lớ p dữ liê ̣u chuỗi thời gian truyền thống với đô ̣ đo CID

3 Giải thuâ ̣t 1-NN phân lớ p dữ liê ̣u chuỗi thời gian truyền thống với đô ̣ đo CRD

4 Giải thuâ ̣t 1-NN phân lớ p dữ liê ̣u chuỗi thời gian áp du ̣ng kỹ thuâ ̣t nhánh-và-cận với đô ̣ đo Euclid

5 Giải thuâ ̣t 1-NN phân lớ p dữ liê ̣u chuỗi thời gian áp du ̣ng kỹ thuật nhánh-và-cận với đô ̣ đo CID

6 Giải thuâ ̣t 1-NN phân lớ p dữ liê ̣u chuỗi thời gian áp du ̣ng kỹ thuật nhánh-và-cận với đô ̣ đo CRD

Kết quả quan sát sẽ tiến hành so sánh về thời gian và đô ̣ chính xác của sáu giải thuật trên Thời gian so sánh sẽ được quan sát ở đơn vi ̣ giây (s), không tính thời gian các bước phu ̣ (như đọc, ghi tập tin, ) Luâ ̣n văn sẽ sử du ̣ng kết quả của giải thuâ ̣t 1-NN phân lớ p dữ liê ̣u chuỗi thời gian truyền thống với đô ̣ đo Euclid để làm chuẩn so sánh Vì mu ̣c tiêu đề tài là kiểm tra xem liê ̣u khi áp du ̣ng kỹ thuâ ̣t nhánh-và-cận vào dữ liê ̣u chuỗi thời gian thì kết quả có phải vẫn là tốt hơn giải thuâ ̣t truyền thống giống như khi hai tác giả

Fukunaga và Narendrea đã thực hiê ̣n với dữ liê ̣u thường Sau đó sẽ kiểm tra tiếp viê ̣c áp du ̣ng hai đô ̣ đo mới (đô ̣ đo CID, đô ̣ đo CRD) để xem thử đô ̣ chính xác có cao hơn không

Bài báo cáo sử dụng mườ i sáu bộ dữ liệu để chạy thử nghiệm, với các thông số khác nhau, đa dạng về: số lớp, kích thước tập mẫu, kích thước tập kiểm tra, độ dài chuỗi thời gian để có thể thực nghiệm với các trường hợp dữ liệu khác nhau Các bộ dữ liệu được lấy từ trang web The UCR time series classification/clustering homepage của Eamonn Keogh[9] Bảng 5.1 mô tả thông tin của các bô ̣ dữ liê ̣u được sử du ̣ng thực nghiê ̣m

Trong phần sau đây, trong số các bộ dữ liệu được dùng để thử nghiệm đã liê ̣t kê ở phần trên, luâ ̣n văn sẽ chọn giới thiệu bốn bộ dữ liệu tiêu biểu: bộ dữ liệu Gun Point, bộ dữ liệu CBF, bộ dữ liệu Trace và bộ dữ liệu Fish

5.2.1 Bộ dữ liệu Gun Point

Bộ dữ liệu này là từ một video cảnh giác Bộ dữ liệu gồm hai lớp, mỗi lớp gồm 100 mẫu Tất cả các mẫu đều được tạo ra từ một diễn viên nữ và một diễn viên nam diễn xuất trong một phân cảnh Hai lớp bao gồm

Tên bộ dữ liê ̣u Số lớp Kích thước của tâ ̣p mẫu

Kích thước của tâ ̣p kiểm tra Đô ̣ dài chuỗi thời gian

Bảng 5.1 Thông tin các bô ̣ dữ liê ̣u

- Rút súng (Gun-Draw): Các diễn viên để tay ngang hông Họ rút một khẩu súng từ túi da đeo ngang hông và chỉa súng về một đối tượng ở phía trước trong khoảng một giây, rồi đút súng lại vào túi da và để hai tay ngang hông Hình 5.1 là một minh họa về hình ảnh trích từ video này

- Chỉ (Point): Các diễn viên để tay ngang hông Họ dùng ngón tay trỏ chỉ về một đối tượng ở phía trước trong khoảng một giây, rồi thu tay về để ngang hông

Trong cả hai lớp, trung tâm của tay phải được theo dõi theo cả hai trục X và Y; tuy nhiên để đơn giản trong bộ dữ liệu này chỉ tập trung xem xét chuyển động theo trục X

Hình 5.1 Vài ảnh rời trích từ video Gun-Draw: theo dõi hành vi của tay phải và chuyển thành một chuỗi cử động

Toàn bộ chuyển động của hai lớp đều khá tương tự nhau Tuy nhiên con người vốn có khả năng quan sát bằng mắt và phân biệt hai lớp hành vi một cách khá chính xác

Sự khác biệt tế nhị giữa hai lớp được diễn tả bằng hai đường cong đại diện cho hai lớp như trong Hình 5.2

Trong Hình 5.2, sự khác biệt về chiều cao của hai diễn viên không thành vấn đề vì thông qua giai đoạn tiền xử lý, luồng dữ liệu sẽ được chuẩn hóa về tầm dữ liệu chuẩn (dùng chuẩn hóa Z-score)

Bộ dữ liệu này gồm 200 mẫu, 100 mẫu thuộc về mỗi lớp Một mẫu có cùng chiều dài gồm 150 điểm dữ liệu

Hình 5.2 Dạng chuỗi thời gian thuộc lớp Point (phía trên) và dạng chuỗi thời gian thuộc lớp Gun-Draw (phía dưới)

Bộ dữ liệu CBF (Cylinder-Bell-Funnel) là bộ dữ liệu tổng hợp gồm ba loại chuỗi thời gian: Cylinder (C), Bell (B) và Funnel (F) Đây là bộ dữ liệu nhân tạo được sinh ra từ ba hàm sau đây c(t) = (6 + ) [a, b](t) + (t) b(t) = (6 + ) [a, b](t) (t - a) / (b - a) + (t) f(t) = (6 + ) [a, b](t) (b - t) / (b-a) + (t)

 và (t) là số ngẫu nhiên được lấy ra từ phân bố chuẩn N(0,1), a là một số nguyên được lấy ra trong tầm [16, 32] và b – a là số nguyên lấy ra trong tầm [32, 96]

Các mẫu dữ liệu nhân tạo được tính ra từ ba hàm nói trên làm thành bộ dữ liệu CBF, gồm 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.3 mô tả ba đường cong đại diện cho ba lớp hàm Cylinder, Bell và Funnel

Hình 5.3 Ba đường cong biểu diễn ba lớp hàm Cylinder, Bell và Funnel

Bộ dữ liệu này là một tập con của bộ dữ liệu Transient Classification Benchmark (dự án Trace) Đây là một bộ dữ liệu tổng hợp được thiết kế để mô phỏng sự hỏng hóc của thiết bị đo trong một nhà máy năng lượng hạt nhân Bộ dữ liệu được tạo ra bởi

Davide Roverso Bộ dữ liệu đầy đủ gồm 16 lớp, 50 mẫu trong mỗi lớp Mỗi mẫu gồm bốn đặc trưng Để đơn giản, bộ dữ liệu Trace ở đây chỉ gồm đặc trưng thứ hai của lớp 2 và 6 cùng đặc trưng thứ ba của lớp 3 và 7 Bộ dữ liệu Trace ở đây gồm 200 mẫu, 50 mẫu cho mỗi lớp Tất cả các mẫu được nội suy để đưa về cùng chiều dài gồm 275 điểm dữ liệu

Hình 5.4 mô tả bốn nhóm đường cong biểu thị cho bốn lớp trong bộ dữ liệu Trace

Hình 5.4 Bốn nhóm đường cong biểu thị cho bốn lớp trong bộ dữ liệu Trace

Kết quả thực nghiê ̣m

5.3.1 Thực nghiê ̣m với bô ̣ dữ liê ̣u 50Words

Bảng 5.2 cho ta biết chi tiết kết quả phân lớp giữa các giải thuâ ̣t

1 -NN truyền thống (Euclid)

1 -NN truyền thống (CID)

1 -NN truyền thống (CRD)

1 -NN nhánh và cận

1 -NN nhánh và cận (CID)

1 -NN nhánh và cận (CRD)

Tỉ lê ̣ lỗi phân lớp

Bảng 5.2 Kết quả phân lớp bô ̣ dữ liê ̣u 50Words

 Từ kết quả trên cho ta thấy tỉ lê ̣ phân lớp đúng được sắp xếp theo thứ tự như bên dưới

1-NN truyền thống (Euclid) = 1-NN nhánh và cận (Euclid) < 1-NN truyền thống (CID) < 1-NN nhánh và cận (CID) < 1-NN truyền thống (CRD) = 1-NN nhánh và cận (CRD)

 Thời gian phân lớp được sắp xếp theo thứ tự như bên dưới

1-NN truyền thống (Euclid) < 1-NN nhánh và cận (Euclid) < 1-NN nhánh và cận

(CID) < 1-NN truyền thống (CID) < 1-NN nhánh và cận (CRD) < 1-NN truyền thống (CRD).Với bộ dữ liệu này, kết quả thể hiện rằng các độ đo CID và CRD đều cho ra kết quả phân lớ p tốt hơn so với độ đo Euclid trong mỗi trường hợp phân lớp 1-NN áp dụng kỹ thuật nhánh-và-cận hay giải thuật 1-NN truyền thống

 Với bô ̣ dữ liê ̣u này, thời gian thực hiê ̣n phân lớp 1-NN áp dụng kỹ thuật nhánh-và- cận lâu hơn giải thuật 1-NN truyền thống nhưng không lâu hơn nhiều Nguyên nhân là do số lượng tập dữ liệu chưa đủ lớn bên ca ̣nh đó tâ ̣p huấn luyê ̣n và tâ ̣p thử có số lượng tương đương nhau nên trong trường hợp này việc phân lớp 1-NN truyền thống với phương pháp vét cạn sẽ tốn ít thời gian hơn so với giải thuật phân lớp 1-NN áp dụng nhánh-và-cận (vì tốn thêm thời gian phân rã tập dữ liệu bằng phương pháp k-means)

5.3.2 Thực nghiê ̣m với bô ̣ dữ liê ̣u CinC_ECG_torso

Bảng 5.3 cho ta biết chi tiết kết quả phân lớp giữa các giải thuâ ̣t

1 -NN truyền thống (Euclid)

1 -NN truyền thống (CID)

1 -NN truyền thống (CRD)

1 -NN nhánh và cận

1 -NN nhánh và cận (CID)

1 -NN nhánh và cận (CRD)

Tỉ lê ̣ lỗi phân lớp

Bảng 5.3 Kết quả phân lớp bô ̣ dữ liê ̣u CinC_ECG_torso

 Từ kết quả trên cho ta thấy tỉ lê ̣ phân lớp đúng được sắp xếp theo thứ tự như bên dưới

1-NN truyền thống (Euclid) = 1-NN nhánh và cận (Euclid) < 1-NN truyền thống

(CID) = 1-NN nhánh và cận (CID) < 1-NN truyền thống (CRD) = 1-NN nhánh và cận (CRD)

 Thời gian phân lớp được sắp xếp theo thứ tự như bên dưới

1-NN truyền thống (Euclid) < 1-NN nhánh và cận (Euclid) < 1-NN truyền thống

(CID) < 1-NN truyền thống (CRD) < 1-NN nhánh và cận (CID) < 1-NN nhánh và cận (CRD)

 Với bộ dữ liệu này thì kết quả thể hiện rằng các độ đo CID và CRD đều cho ra kết quả phân lớ p tốt hơn so với độ đo Euclid trong mỗi trường hợp phân lớp 1-NN áp dụng kỹ thuật nhánh-và-cận hay giải thuật 1-NN truyền thống

 Bên cạnh đó, trong bộ dữ liê ̣u này việc phân lớp 1-NN áp dụng kỹ thuật nhánh-và- cận cho kết quả lâu hơn về mặt thời gian phân lớp so với giải thuật 1-NN truyền thống Vì số lượng tập dữ liệu nhỏ nên trong trường hợp này việc phân lớp 1-NN truyền thống với phương pháp vét cạn sẽ tốn ít thời gian hơn so với giải thuật phân lớp 1-NN áp dụng nhánh-và-cận (vì tốn thêm thời gian phân rã tập dữ liệu bằng phương pháp k-means)

5.3.3 Thực nghiê ̣m với bô ̣ dữ liê ̣u Face (all)

Bảng 5.4 cho ta biết chi tiết kết quả phân lớp giữa các giải thuâ ̣t

1 -NN truyền thống (Euclid)

1 -NN truyền thống (CID)

1 -NN truyền thống (CRD)

1 -NN nhánh và cận

1 -NN nhánh và cận (CID)

1 -NN nhánh và cận (CRD)

Tỉ lê ̣ lỗi phân lớp

Bảng 5.4 Kết quả phân lớp bô ̣ dữ liê ̣u Face (all)

 Từ kết quả trên cho ta thấy tỉ lê ̣ phân lớp đúng được sắp xếp theo thứ tự như bên dưới

1-NN truyền thống (Euclid) = 1-NN nhánh và cận (Euclid) < 1-NN truyền thống

(CRD) = 1-NN nhánh và cận (CRD) < 1-NN truyền thống (CID) = 1-NN nhánh và cận (CID)

 Thời gian phân lớp được sắp xếp theo thứ tự như bên dưới

1-NN nhánh và cận (Euclid) < 1-NN truyền thống (Euclid) < 1-NN nhánh và cận

(CID) < 1-NN truyền thống (CID) < 1-NN nhánh và cận (CRD) < 1-NN truyền thống (CRD)

 Với bộ dữ liệu này thì kết quả thể hiện rằng các độ đo CID và CRD đều cho ra kết quả phân lớ p tốt hơn so với độ đo Euclid trong mỗi trường hợp phân lớp 1-NN áp dụng kỹ thuật nhánh-và-cận mỗi giải thuật 1-NN truyền thống

 Bên cạnh đó, việc phân lớp 1-NN áp dụng kỹ thuật nhánh-và-cận tốt hơn về mặt thời gian so với giải thuật 1-NN truyền thống

 Ngoài ra, với bộ dữ liệu này, ta nên chọn phương pháp phân lớp 1-NN áp dụng kỹ thuật nhánh-và-cận sử dụng độ đo CID vì đây là phương pháp cho ra kết quả phân lớp với độ chính xác tối ưu nhất và thời gian chạy khá tốt

5.3.4 Thực nghiê ̣m với bô ̣ dữ liê ̣u Swedish Leaf

Bảng 5.5 cho ta biết chi tiết kết quả phân lớp giữa các giải thuâ ̣t

1 -NN truyền thống (Euclid)

1 -NN truyền thống (CID)

1 -NN truyền thống (CRD)

1 -NN nhánh và cận

1 -NN nhánh và cận (CID)

1 -NN nhánh và cận (CRD)

Tỉ lê ̣ lỗi phân lớp

Bảng 5.5 Kết quả phân lớp bô ̣ dữ liê ̣u Swedish Leaf

 Từ kết quả trên cho ta thấy tỉ lê ̣ phân lớp đúng được sắp xếp theo thứ tự như bên dưới

1-NN truyền thống (Euclid) = 1-NN nhánh và cận (Euclid) < 1-NN truyền thống (CRD) = 1-NN nhánh và cận (CRD) < 1-NN nhánh và cận (CID) < 1-NN truyền thống (CID)

 Thời gian phân lớp được sắp xếp theo thứ tự như bên dưới

1-NN nhánh và cận (Euclid) < 1-NN truyền thống (Euclid) < 1-NN nhánh và cận

(CRD) < 1-NN nhánh và cận (CID) < 1-NN truyền thống (CID) < 1-NN truyền thống (CRD)

 Với bộ dữ liệu này thì kết quả thể hiện rằng các độ đo CID và CRD đều cho ra kết quả phân lớ p tốt hơn so với độ đo Euclid trong mỗi trường hợp phân lớp 1-NN áp dụng kỹ thuật nhánh-và-cận hay giải thuật 1-NN truyền thống

 Bên cạnh đó, việc phân lớp 1-NN áp dụng kỹ thuật nhánh-và-cận tốt hơn về mặt thời gian so với giải thuật 1-NN truyền thống

 Với bộ dữ liệu này và xét về mặt ưu tiên độ chính xác phân lớp thì ta nên chọn giải thuật 1-NN truyền thống để phân lớp Nếu ưu tiên thêm mặt thời gian thì chọn phương pháp phân lớp 1-NN áp dụng kỹ thuật nhánh-và-cận sử dụng độ đo CID vì cho ra kết quả phân lớp tốt nhất và thời gian ở mức khá tối ưu

5.3.5 Thực nghiê ̣m với bô ̣ dữ liê ̣u MedicalImages

Bảng 5.6 cho ta biết chi tiết kết quả phân lớp giữa các giải thuâ ̣t

1 -NN truyền thống (Euclid)

1 -NN truyền thống (CID)

1 -NN truyền thống (CRD)

1 -NN nhánh và cận

1 -NN nhánh và cận (CID)

1 -NN nhánh và cận (CRD)

Tỉ lê ̣ lỗi phân lớp

Bảng 5.6 Kết quả phân lớp bô ̣ dữ liê ̣u MedicalImages

 Từ kết quả trên cho ta thấy tỉ lê ̣ phân lớp đúng được sắp xếp theo thứ tự như bên dưới

1-NN truyền thống (Euclid) = 1-NN nhánh và cận (Euclid) < 1-NN truyền thống

(CID) = 1-NN nhánh và cận (CID) < 1-NN truyền thống (CRD) = 1-NN nhánh và cận (CRD)

 Thời gian phân lớp được sắp xếp theo thứ tự như bên dưới

1-NN nhánh và cận (Euclid) < 1-NN truyền thống (Euclid) < 1-NN nhánh và cận

(CRD) < 1-NN nhánh và cận (CID) < 1-NN truyền thống (CID) < 1-NN truyền thống (CRD)

 Với bộ dữ liệu này thì kết quả thể hiện rằng các độ đo CID và CRD đều cho ra kết quả phân lớ p tốt hơn so với độ đo Euclid trong mỗi trường hợp phân lớp 1-NN áp dụng kỹ thuật nhánh-và-cận hay giải thuật 1-NN truyền thống

 Bên cạnh đó, việc phân lớp 1-NN áp dụng kỹ thuật nhánh-và-cận tốt hơn về mặt thời gian so với giải thuật 1-NN truyền thống

 Đặc biệt trong trường hợp bộ dữ liệu này, ta có thể thấy phương pháp phân lớp 1- NN truyền thống sử dụng độ đo CRD cho ra kết quả phân lớ p tốt hơn về mặt độ chính xác lẫn thời gian phân lớp so với giải thuật truyền thống sử dụng độ đo CID hay độ đo Euclid Vì thế, đối với bộ dữ liệu này xét về mă ̣t ưu tiên đô ̣ chính xác thì ta nên chọn phương pháp phân lớp 1-NN truyền thống sử du ̣ng đô ̣ đo CRD

 Tuy nhiên, khi xem kết quả ta thấy thời gian của phương pháp phân lớ p 1-NN truyền thống sử dụng độ đo CRD nhanh hơn không nhiều so với phương pháp phân lớp 1-NN áp dụng kỹ thuật nhánh-và-cận sử dụng độ đo CRD, vì thế vẫn nên ưu tiên chọn phương pháp phân lớp 1-NN áp dụng kỹ thuật nhánh-và-cận sử dụng độ đo CRD Nếu ưu tiên về tốc độ thì chọn phương pháp phân lớp 1-NN sử dụng kỹ thuật nhánh và cận với độ đo Euclid

5.3.6 Thực nghiê ̣m với bô ̣ dữ liê ̣u ECG5000

Bảng 5.7 cho ta biết chi tiết kết quả phân lớp giữa các giải thuâ ̣t

1 -NN truyền thống (Euclid)

1 -NN truyền thống (CID)

1 -NN truyền thống (CRD)

1 -NN nhánh và cận

1 -NN nhánh và cận (CID)

1 -NN nhánh và cận (CRD)

Tỉ lê ̣ lỗi phân lớp

Bảng 5.7 Kết quả phân lớp bô ̣ dữ liê ̣u ECG5000

 Từ kết quả trên cho ta thấy tỉ lê ̣ phân lớp đúng được sắp xếp theo thứ tự như bên dưới

1-NN truyền thống (Euclid) = 1-NN nhánh và cận (Euclid) < 1-NN truyền thống (CID) = 1-NN truyền thống (CRD) = 1-NN nhánh và cận (CRD) < 1-NN nhánh và cận (CID)

 Thời gian phân lớp được sắp xếp theo thứ tự như bên dưới

1-NN nhánh và cận (Euclid) < 1-NN truyền thống (Euclid) < 1-NN nhánh và cận

(CID) < 1-NN nhánh và cận (CRD) < 1-NN truyền thống (CID) < 1-NN truyền thống (CRD)

 Với bộ dữ liệu này thì kết quả thể hiện rằng các độ đo CID và CRD đều cho ra kết quả phân lớ p tốt hơn so với độ đo Euclid trong mỗi trường hợp phân lớp 1-NN áp dụng kỹ thuật nhánh-và-cận hay giải thuật 1-NN truyền thống

 Bên cạnh đó, việc phân lớp 1-NN áp dụng kỹ thuật nhánh-và-cận tốt hơn về mặt thời gian so với giải thuật 1-NN truyền thống

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Những kết luâ ̣n của luâ ̣n văn

Qua quá trình tìm hiểu công trình nghiên cứu liên quan về cải tiến giải thuâ ̣t 1-lân câ ̣n gần nhất phân lớp dữ liê ̣u chuỗi thời gian dựa vào kỹ thuâ ̣t nhánh-và-cận, và các độ đo như đô ̣ đo Euclid, độ đo CID, độ đo CRD và hiện thực giải thuật với các độ đo khoảng cách, thực nghiệm với mười sáu tập dữ liệu khác nhau (số lớp, số lượng tập huấn luyện, số lượng tập thử, chiều dài chuỗi thời gian), chú ng tôi đã đi đến một số kết luận như sau

Về đô ̣ chính xác

- Việc áp dụng thêm hai độ đo CID và CRD hầu hết đều cho ra kết quả cải tiến độ chính xác phân lớp tốt hơn so với độ đo Euclid Hai độ đo CID và CRD cho ra kết quả khá tốt và không chênh lệch nhau nhiều Thông thường, độ đo CRD cho ra kết quả độ chính xác phân lớp tốt hơn độ đo CID

- Vì sử du ̣ng phương pháp k-means để phân rã cây Mà k-means thường bị ảnh hưởng bởi nhiễu Vì thế kết quả phân rã cây có thể khác nhau; điều này dẫn đến kết quả phân lớp cũng có thể bi ̣ sai khác nhưng không nhiều

- Viê ̣c sử du ̣ng kỹ thuâ ̣t nhánh-và-cận để cải tiến giải thuâ ̣t 1-NN phân lớ p dữ liê ̣u chuỗi thời gian thâ ̣t sự có hiê ̣u quả (trong cùng đô ̣ đo) trong viê ̣c giảm thời gian phân lớp dữ liệu chuỗi thời gian

- Hiê ̣u quả cải tiến của viê ̣c sử du ̣ng nhánh-và-cận để cải tiến giải thuâ ̣t 1-NN phân lớ p dữ liê ̣u chuỗi thời gian sẽ thể hiê ̣n rõ hơn ở các bô ̣ dữ liê ̣u có kích thước vừa và lớn (1000 mẫu trở lên), và đă ̣c biê ̣t đúng với dữ liê ̣u có kích

77 thước của tâ ̣p huấn luyê ̣n và tâ ̣p thử lớn và kích thước tâ ̣p huấn luyê ̣n nhỏ hơn so với kích thước của tâ ̣p thử

- Đối với các bô ̣ dữ liê ̣u mà số lượng tâ ̣p huấn luyê ̣n và tâ ̣p thử nhỏ (nhất là khi cả hai tâ ̣p cùng kích thước) thì có thể phương pháp truyền thống sẽ cha ̣y nhanh hơn vì không tốn thời gian phân rã cây rồi mới tiến hành phân lớp; và viê ̣c vét ca ̣n của phương pháp phân lớp 1-NN truyền thống trong trường hợp này không mất nhiều thời gian thực hiện.

Hướng phát triển

Luận văn hiê ̣n ta ̣i mới chỉ thực hiê ̣n cải tiến giải thuâ ̣t 1-NN phân lớ p dữ liê ̣u chuỗi thời gian sử du ̣ng kỹ thuâ ̣t nhánh-và-cận (áp dụng k-means) Do đó hướng phát triển tiếp theo của đề tài sẽ tập trung vào những vấn đề sau đây:

- Thực hiê ̣n áp du ̣ng phương pháp sử du ̣ng kỹ thuâ ̣t nhánh-và-cận để cải tiến giải thuâ ̣t k-NN phân lớ p dữ liê ̣u chuỗi thời gian (k > 1)

- Áp dụng phương pháp phân cụm khác như: BIRCH, cây chỉ mục để phân rã tập dữ liệu

- Áp dụng giải thuật nhanh cho bài toán phân lớp k-NN dựa vào kỹ thuật nhánh- và-cận và ước lượng tính toán được đề xuất bởi Shin’ichiro Omachi và

[1] D T Anh, Bài giảng “Overview on Pattern Recognition and Machine Learning”, môn Nhận dạng mẫu và Học Máy, Khoa Khoa Học và Kỹ Thuật Máy Tính, Đại Học Bách Khoa Tp Hồ Chí Minh, 2015

[2] G E A P A Batista, E J Keogh, O M Tataw, and V M A de Souza, “CID: an efficient complexity-invariant distance for time series,” Data Mining and Knowledge Discovery, vol 28 (3), 2014, pp 634-669

[3] D Berndt and J Clifford, “Using Dynamic Time Warping to Find Patterns in Time Series” Proc of AAAI Workshop on Knowledge Discovery in Databases, KDD 1994, Seattle, Washington, USA, 1994, pp 359-370

[4] V T N Chau, Bài giảng “Tổng quan về khai phá dữ liệu”, môn Khai phá dữ liệu, khoa Khoa Học và Kỹ Thuật Máy Tính, Đại Học Bách Khoa Tp Hồ Chí Minh, 2015

[5] K Fukunaga, P M Narendrea, “A Branch and Bound Algorithm for Computing k-Nearest Neighbors”, IEEE Transactions On Computers, vol 24 (7), July 1975, pp 750-

[6] J Han, M Kamber, J Pei, “Data Mining: Concepts and Techniques”, Third Edition, Morgan Kaufmann Publishers, 2012

[7] F Itakura, “Minimum Prediction Residual Principle Applied to Speech Recognition,” IEEE Trans Acoustics, Speech, and Signal Proc, vol ASSP-23, 1975, pp

[8] E J Keogh, C.A Ratanamahatana, “Exact Indexing of Dynamic Time Warping”, Knowledge and Information Systems., vol.7 (3), 2005, pp 358-386

[9] E J Keogh, X Xi, L Wei, C Ratanamahatana, The UCR time series classification/clustering homepage: www.cs.ucr.edu/~eamonn/time_series_data/, 2015

[10] S Omachi and H Aso, “A Fast Algorithm for a k-NN Classifier Based on Branch and Bound Method and Computational Quantity Estimation”, Systems and Computers in Japan, vol.31 (61), 2000, pp 1-9

[11] H Sakoe and S Chiba, “Dynamic Programming Algorithm Optimization for Spoken Word Recognition,” IEEE Trans Acoustics, Speech, and Signal Proc., vol

[12] V T Vinh, D T Anh, Compression Rate Distance Measure for Time Series, Proceedings of 2015 IEEE International Conference on Data Science and Advanced Analytics (DSAA 2015), Paris, France, October 19-24, 2015

BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH - VIỆT Thuật ngữ tiếng Anh Thuật ngữ tiếng Việt Viết tắt

Sensors Máy đo cảm biến

Time Series Chuỗi thời gian

Time Series Data Dữ liệu chuỗi thời gian

Viet Nam Dong Việt Nam Đồng VNĐ

Classifier Bộ phân lớp k-Nearest Neighbor k-lân cận gần nhất k-NN

1-Nearest Neighbor 1-lân cận gần nhất 1-NN

2-Nearest Neighbor 2-lân cận gần nhất 2-NN

3-Nearest Neighbor 3-lân cận gần nhất 3-NN

Neural Network Mạng nơ-ron

Decision Tree Cây quyết định

Training Set Tập huấn luyện

Branch-And-Bound Nhánh-và-cận

Labeled Time Series Chuỗi thời gian đã được phân lớp Unlabeled Time Series Chuỗi thời gian chưa được phân lớp

Support Vector Machine Máy véc-tơ hỗ trợ SVM

Complexity Invariance Distance Khoảng cách bất biến độ phức tạp CID

Compression Rate Distance Khoảng cách tỉ lệ nén CRD

Back Tracking Search Tìm kiếm quay lui State Space Tree Cây không gian trạng thái

Search Tree Cây tìm kiếm

Similitary Measure Độ đo tương tự

Euclidean Distance Khoảng cách Euclid ED

Dynamic Time Warping Xoắn thời gian động DTW

Nonparametric Technique Kỹ thuật phi thông số Density Estimation Ước lượng mật độ phân bố

Design Sample Mãu thiết kế

Amplitude Invariance Bất biến biên độ Local Scaling Invariance Bất biến phạm vi cục bộ

Minimum Description Length Độ dài mô tả tối thiểu MDL

Discrete Normalization Function Hàm chuẩn hóa rời rạc

Description Length Độ dài mô tả

Reduced Description Length Độ dài mô tả thu giảm Unsupervised Learning Ho ̣c không giám sát second Giây s

Accuracy Đô ̣ chính xác

Error rate Tỉ lê ̣ lỗi phân lớp

Họ và tên: Đoàn Dũ

Nơi sinh: Tp HCM Địa chỉ liên lạc: 159 Hưng Phú, P8, Q8, Tp HCM

Thời gian Trường đào tạo Chuyên ngành Trình độ đào tạo

Khoa Học Máy Tính Thạc Sĩ

Ngày đăng: 09/09/2024, 05:56

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w