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

Luận văn thạc sĩ công nghệ thông tin sử dụng cây quyết định phân lớp dữ liệu mất cân đối

69 5 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 đề Luận văn thạc sĩ công nghệ thông tin sử dụng cây quyết định phân lớp dữ liệu mất cân đối
Tác giả Lê Thanh Phong
Người hướng dẫn PGS. TS. Lê Hồi Bắc
Trường học Trường Đại Học Ngoại Ngữ - Tin Học Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Thông Tin
Thể loại Luận văn thạc sĩ
Năm xuất bản 2018
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 69
Dung lượng 2,07 MB

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

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN (10)
    • 1.1 Đặt vấn đề (0)
    • 1.2 Cơ sở hình thành đề tài (10)
    • 1.3 Các nghiên cứu liên quan (11)
    • 1.4 Mục tiêu của luận văn (12)
    • 1.5 Đối tượng nghiên cứu (0)
    • 1.6 Các phương pháp nghiên cứu (13)
      • 1.6.1 Phương pháp nghiên cứu tài liệu (13)
      • 1.6.2 Phương pháp thực nghiệm (13)
      • 1.6.3 Phương pháp thống kê, phân tích dữ liệu (0)
    • 1.7 Nội dung và phạm vi của luận văn (14)
    • 1.8 Ý nghĩa của luận văn (14)
      • 1.8.1 Ý nghĩa khoa học (14)
      • 1.8.2 Ý nghĩa thực tiễn (14)
    • 1.9 Bố cục luận văn (15)
  • CHƯƠNG 2. CƠ SỞ LÝ THUYẾT (15)
    • 2.1 Tổng quan về khai thác dữ liệu (16)
      • 2.1.1 Khai thác dữ liệu là gì? (16)
      • 2.1.2 Quá trình khai thác dữ liệu (16)
      • 2.1.3 Khai thác dữ liệu sử dụng phân lớp (18)
      • 2.1.4 Khai thác dữ liệu sử dụng luật kết hợp (23)
      • 2.1.5 Khai thác dữ liệu sử dụng cây quyết định (0)
  • CHƯƠNG 3. PHÂN LỚP DỮ LIỆU MẤT CÂN ĐỐI BẰNG CÂY QUYẾT ĐỊNH 30 (39)
    • 3.1 Đường cong Receiver Operating Characteristic (ROC) (39)
    • 3.2 Diện tích dưới đường cong ROC (0)
    • 3.3 Độ đo đánh giá hiệu suất phân lớp (0)
    • 3.4 Thuật toán AUC4.5 (42)
      • 3.4.1 Ý tưởng chính thuật toán AUC4.5 (0)
      • 3.4.2 Một số giải thuật chính (43)
    • 3.5 Ví dụ minh hoạ cho thuật toán AUC4.5 (0)
      • 3.5.1 Dữ liệu minh hoạ (48)
      • 3.5.2 Minh hoạ bằng thuật toán C4.5 (0)
      • 3.5.3 Minh hoạ bằng thuật toán AUC4.5 (0)
  • CHƯƠNG 4. THỰC NGHIỆM VÀ ĐÁNH GIÁ (15)
    • 4.1 Mô tả tập dữ liệu (53)
    • 4.2 Môi trường thực nghiệm (53)
    • 4.3 Kiểm chứng mô hình bằng phương pháp Hold-out (0)
    • 4.4 Kết quả thực nghiệm (54)
      • 4.4.1 Phương sai, độ lệch chuẩn (54)
      • 4.4.2 Kết quả tám tập dữ liệu sau khi kiểm tra tập D Test 10 lần (55)
      • 4.4.3 Phân tích trên từng tập dữ liệu (0)
    • 4.5 Đánh giá kết quả thực nghiệm (64)
  • CHƯƠNG 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (15)
  • TÀI LIỆU THAM KHẢO (67)

Nội dung

Trong số những mô hình đó, cây quyết định [1] với những ưu điểm của mình được đánh giá là một công cụ mạnh, phổ biến và đặc biệt thích hợp cho khai thác dữ liệu KTDL nói chung và phân

Trang 1

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC NGOẠI NGỮ - TIN HỌC

THÀNH PHỐ HỒ CHÍ MINH

Người hướng dẫn khoa học: PGS TS Lê Hoài Bắc

- Học viên đã bảo vệ thành công luận văn ngày 04 tháng 06 năm 2019, tại Hội đồng đánh giá luận văn thạc sĩ thành lập theo Quyết định số … ngày … /…./2019 của Hiệu trưởng Trường ĐH Ngoại ngữ -Tin học TP.HCM, với sự tham gia của:

Chủ tịch Hội đồng: PGS.TS Phạm Thế Bảo

Phản biện 1: TS Trần Minh Thái

Phản biện 2: TS Đặng Trường Sơn

Ủy viên: PGS.TS Nguyễn Thanh Bình

Thư ký: TS Nguyễn Đức Cường

- Có thể tìm hiểu Luận văn tại Thư viện của Trường ĐH Ngoại ngữ - Tin học TPHCM, hoặc trên cổng thông tin điện tử, website của đơn vị quản lý sau đại học của Trường

Trang 2

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kết quả nêu trong Luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác

Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện Luận văn này đã được cảm ơn và các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc

TPHCM, ngày 25 tháng 10 năm 2018

Tác giả luận văn

Lê Thanh Phong

Trang 3

Cuối cùng, tôi xin chân thành cảm ơn đến gia đình, các anh chị và các bạn đồng nghiệp, đơn vị công tác đã hỗ trợ cho tôi rất nhiều trong suốt quá trình học tập, nghiên cứu và thực hiện đề tài luận văn thạc sĩ một cách hoàn chỉnh

Tôi xin chân thành cảm ơn!

Tác giả

Lê Thanh Phong

Trang 4

DANH MỤC VIẾT TẮT

1 AUC Area Under the ROC Curve

2 CLS Concept Learning System

3 CSC4.5 Cost-Sensitive C4.5

4 CSDL Cơ Sở Dữ Liệu

5 FN False Negative

6 FP False Positive

7 FPR False Positive Rate

8 ID3 Interactive Dichotomizer 3

9 ILA Inductive Learning Algorithm

18 TPR True Positive Rate

19 UCI University of California Irvine (Machine Learning Repository)

Trang 5

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ

Hình 2-1: Quá trình khai thác dữ liệu 7

Hình 2-3: Quá trình phân lớp dữ liệu - Bước xây dựng mô hình phân lớp 9

Hình 2-4: Quá trình phân lớp dữ liệu – Ước lượng độ chính xác mô hình 10

Hình 2-5: Quá trình phân lớp dữ liệu – Phân lớp dữ liệu mới 11

Hình 2-6: Mô hình ứng dụng luật 15

Hình 2-7: Phương pháp Holdout 28

Hình 2-8: K-Fold Coss–Validation 29

Hình 3-1: Đồ thị ROC biểu diển một bộ phân lớp rời rạc của xác suất B 30

Hình 3-2: AUC – diện tích dưới đường cong ROC của một bộ phân lớp A 31

Hình 3-3: Cây quyết định với thuật toán C4.5 bằng cách giảm nhiều impurity 40

Hình 3-4: Cây quyết định với thuật toán AUC4.5 bằng cách gia tăng giá trị AUC 43

Hình 4-1: Đồ thị so sánh kết quả AUCmean của tập DTest 47

Trang 6

DANH MỤC CÁC BẢNG BIỂU

Bảng 3-1: Ma trận nhầm lẫn 32

Bảng 3-2: Mô tả tập dữ liệu mất cân đối 39

Bảng 4-1: Tập dữ liệu với số phần tử lớp thiểu số 44

Bảng 4-2: Phương sai, độ lệch chuẩn trên toàn bộ các tập dữ liệu 45

Bảng 4-3: Kết quả thực nghiệm trên tập DTest qua 10 lần kiểm tra 46

Bảng 4-4: Bảng kết quả 10 lần test trên tập dữ liệu Wine Quality – Red 48

Bảng 4-5: Kết quả tập dữ liệu Wine Quality – Red 48

Bảng 4-6: Bảng kết quả 10 lần test trên tập dữ liệu Nursery 49

Bảng 4-7: Kết quả tập dữ liệu Nursery 49

Bảng 4-8: Bảng kết quả 10 lần test trên tập dữ liệu Car Evaluation 50

Bảng 4-9: Kết quả tập dữ liệu Car Evaluation 50

Bảng 4-10: Bảng kết quả 10 lần test trên tập dữ liệu Ecoli 50

Bảng 4-11: Kết quả tập dữ liệu Ecoli 51

Bảng 4-12: Bảng kết quả 10 lần test trên tập dữ liệu Mushroom 51

Bảng 4-13: Kết quả tập dữ liệu Mushroom 52

Bảng 4-14: Bảng kết quả 10 lần test trên tập dữ liệu Wine Quality – White 52

Bảng 4-15: Kết quả tập dữ liệu Wine Quality – White 53

Bảng 4-16: Bảng kết quả 10 lần test trên tập dữ liệu Contraceptive Method Choice 53

Bảng 4-17: Kết quả tập dữ liệu Contraceptive Method Choice 54

Bảng 4-18: Bảng kết quả 10 lần test trên tập dữ liệu Tic-Tac-Toe Endgame 54

Bảng 4-19: Kết quả tập dữ liệu Tic-Tac-Toe Endgame 54

Trang 7

MỤC LỤC

DANH MỤC VIẾT TẮT i

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ ii

DANH MỤC CÁC BẢNG BIỂU iii

MỤC LỤC iv

CHƯƠNG 1 TỔNG QUAN 1

1.1 Đặt vấn đề 1

1.2 Cơ sở hình thành đề tài 1

1.3 Các nghiên cứu liên quan 2

1.4 Mục tiêu của luận văn 3

1.5 Đối tượng nghiên cứu 4

1.6 Các phương pháp nghiên cứu 4

1.6.1 Phương pháp nghiên cứu tài liệu 4

1.6.2 Phương pháp thực nghiệm 4

1.6.3 Phương pháp thống kê, phân tích dữ liệu 5

1.7 Nội dung và phạm vi của luận văn 5

1.8 Ý nghĩa của luận văn 5

1.8.1 Ý nghĩa khoa học 5

1.8.2 Ý nghĩa thực tiễn 5

1.9 Bố cục luận văn 6

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 7

2.1 Tổng quan về khai thác dữ liệu 7

Trang 8

2.1.1 Khai thác dữ liệu là gì? 7

2.1.2 Quá trình khai thác dữ liệu 7

2.1.3 Khai thác dữ liệu sử dụng phân lớp 9

2.1.4 Khai thác dữ liệu sử dụng luật kết hợp 14

2.1.5 Khai thác dữ liệu sử dụng cây quyết định 15

CHƯƠNG 3 PHÂN LỚP DỮ LIỆU MẤT CÂN ĐỐI BẰNG CÂY QUYẾT ĐỊNH 30 3.1 Đường cong Receiver Operating Characteristic (ROC) 30

3.2 Diện tích dưới đường cong ROC 31

3.3 Độ đo đánh giá hiệu suất phân lớp 31

3.4 Thuật toán AUC4.5 33

3.4.1 Ý tưởng chính thuật toán AUC4.5 33

3.4.2 Một số giải thuật chính 34

3.5 Ví dụ minh hoạ cho thuật toán AUC4.5 39

3.5.1 Dữ liệu minh hoạ 39

3.5.2 Minh hoạ bằng thuật toán C4.5 40

3.5.3 Minh hoạ bằng thuật toán AUC4.5 41

CHƯƠNG 4 THỰC NGHIỆM VÀ ĐÁNH GIÁ 44

4.1 Mô tả tập dữ liệu 44

4.2 Môi trường thực nghiệm 44

4.3 Kiểm chứng mô hình bằng phương pháp Hold-out 45

4.4 Kết quả thực nghiệm 45

4.4.1 Phương sai, độ lệch chuẩn 45

Trang 9

4.4.2 Kết quả tám tập dữ liệu sau khi kiểm tra tập D Test 10 lần 46

4.4.3 Phân tích trên từng tập dữ liệu 48

4.5 Đánh giá kết quả thực nghiệm 55

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

TÀI LIỆU THAM KHẢO 58

Trang 10

CHƯƠNG 1 TỔNG QUAN

1.1 Đặt vấn đề

Trong những năm qua, nhiều mô hình phân lớp dữ liệu đã được các nhà khoa học trong nhiều lĩnh vực khác nhau đề xuất như mạng nơ ron, mô hình thông kê tuyến tính, cây quyết định, mô hình di truyền Trong số những mô hình đó, cây quyết định [1] với những ưu điểm của mình được đánh giá là một công cụ mạnh, phổ biến và đặc biệt thích hợp cho khai thác dữ liệu (KTDL) nói chung và phân lớp dữ liệu nói riêng [2] Có thể kể ra những ưu điểm của cây quyết định như: xây dựng tương đối nhanh; đơn giản, dễ hiểu Cuối cùng, việc phân lớp dựa trên cây quyết định đạt được sự tương tự và đôi khi là chính xác hơn so với các phương pháp phân lớp khác [2][3]

Trong những vấn đề về phân lớp, đối tượng cần quan tâm nghiên cứu lại có rất ít mẫu - mẫu lớp

thiểu số (minority class instances) so với các lớp khác trong tập dữ liệu - mẫu lớp đa số (majority class instances) Cụ thể, lớp bệnh nhân có rất ít mẫu so với các lớp khác trong ứng dụng y học,

giao dịch tấn công có rất ít mẫu so với các lớp giao dịch khác của hệ thống mạng

Những ví dụ mà thực tế gặp phải vấn đề mất cân đối dữ liệu và việc chẩn đoán đúng nhãn (hay phân lớp chính xác, dự đoán chính xác) của mẫu thuộc lớp thiểu số là cần thiết và đóng vai trò

quan trọng Tuy nhiên, nếu áp dụng các kỹ thuật phân lớp truyền thống như hồi quy logistic, cây quyết định, máy hỗ trợ vector, đối với các bộ phân lớp được huấn luyện để mà tối ưu độ

chính xác tổng thể (overall accuracy) và được áp dụng trên tập dữ liệu mất cân đối có xu hướng

trả về kết quả dự đoán cao trên lớp đa số và dự đoán kém trên lớp thiểu số

Ví dụ: với một tập dữ liệu có 10.000 mẫu, trong đó lớp đa số có số mẫu là 9.900 mẫu, lớp thiểu

số có số mẫu là 100 mẫu Nếu dựa vào nguyên tắc số đông gán nhãn cho mẫu trong tập mất cân đối thì độ chính xác khi phân loại trên tập dữ liệu dễ dàng đạt tới xấp xỉ 99% trong khi độ chính

Trang 11

xác của lớp nhỏ xấp xỉ 0% Tuy nhiên, điều này không thể chứng minh được bộ phân lớp đã làm việc rất chính xác Vì vậy, vấn đề đặt ra là cần có những phương pháp tiếp cận riêng cho những bài toán phân lớp có dữ liệu mất cân đối để dự đoán chính xác mẫu lớp thiểu số

1.3 Các nghiên cứu liên quan

Có nhiều nghiên cứu đã cố gắng đưa ra những giải thuật tốt hơn cho phân lớp dữ liệu mất cân đối Để giải quyết bài toán phân lớp dữ liệu mất cân đối, có hai hướng tiếp cận chủ yếu:

 Tiếp cận ở mức độ dữ liệu

Những nỗ lực này nhằm mục đích thay đổi lại kích thước tập huấn để việc phân bố lớp có thể được cân đối Nghĩa là điều chỉnh phân bố dữ liệu của các lớp sao cho giảm bớt hoặc không còn tính mất cân đối để đưa vào áp dụng các thuật toán phân lớp chuẩn Có nhiều cách điều chỉnh

dữ liệu khác nhau như: phương pháp Under-sampling [9] giảm phần tử ở lớp đa số để làm giảm

tính mất cân đối dữ liệu Cách đơn giản nhất đó là loại bỏ các phần tử ở lớp đa số một cách ngẫu

nhiên Dựa trên kỹ thuật under-sampling, nhóm tác giả trong bài báo [10] đưa ra các tiếp cận

lấy mẫu dựa trên cụm Cách tiếp cận đầu tiên là tập hợp tất cả các mẫu huấn luyện vào một số cụm Nếu một cụm có mẫu lớp đa số nhiều hơn các mẫu lớp thiểu số, nó sẽ hoạt động giống như các mẫu lớp đa số Mặt khác, nếu một cụm có mẫu lớp thiểu số nhiều hơn các mẫu lớp đa số,

nó hoạt động giống như các mẫu lớp thiểu số Trong khi đó, với thuật toán Random Border Undersampling [11], làm giảm phần tử ngẫu nhiên trên đường biên trong dữ liệu mất cân đối Thuật toán được cải tiến dựa trên thuật toán Under-sampling [9] Kỹ thuật under-sampling

tuy tốn ít chi phí về thời gian cũng như bộ nhớ cho quá trình phân lớp nhưng lại dễ làm mất các thông tin quan trọng của lớp đa số

Một phương pháp khác là Over-sampling [12] điều chỉnh tăng kích thước mẫu, cụ thể tăng

phần tử ở lớp thiểu số, bằng cách chọn ngẫu nhiên các phần tử lớp thiểu số sau đó sao chép giống hệt để làm tăng kích thước lớp thiểu số, làm cho dữ liệu cân bằng hơn Tuy nhiên nhược điểm là tăng kích thước tập dữ liệu huấn luyện, thời gian huấn luyện tăng lên, dễ quá khớp Để

giải quyết vấn đề của phương pháp Over-sampling, phương pháp SMOTE [13] điều chỉnh dữ

liệu bằng cách với mỗi phần tử lớp thiểu số thực hiện sinh thêm các phần tử nhân tạo giữa phần

tử này với các láng giềng của nó Nhóm tác giả trong bài báo [14] đã đề xuất phương pháp

Trang 12

Borderline-SMOTE cải tiến từ SMOTE Phương pháp Borderline-SMOTE chỉ thực hiện sinh thêm phần tử lớp thiểu số nằm ở được biên của tập dữ liệu Theo Borderline-SMOTE, những

phần tử lớp thiểu số nằm ở đường biên thì dễ phân sai lớp hơn những phần tử lớp thiểu số nằm

ở xa đường biên

 Tiếp cận ở mức độ thuật toán

Với cách tiếp cận ở mức độ dữ liệu, phương pháp lấy mẫu cố gắng cân bằng việc phân bố bằng cách xem xét tỷ lệ đại diện của các mẫu trong phân bố dữ liệu Còn với cách tiếp cận ở mức độ thuật toán, các giải pháp bao gồm điều chỉnh chi phí của các lớp khác nhau để chống lại sự mất cân đối của lớp

Học với chi phí nhạy cảm (Cost-sensitive learning) [15] là một loại học trong khai thác dữ liệu

có xem xét tính đến chi phí phân loại sai (misclassification cost) Bằng cách gán các chi phí

khác đến các lớp thiểu số và đa số, các bộ phân lớp với học chi phí nhạy cảm nói chung gia tăng chính xác dự đoán cho lớp thiểu số Có rất nhiều cách để thực hiện nghiên cứu học với chi phí

nhạy cảm [4]: dùng chi phí nhạy cảm làm tiêu chí tách (splitting criteria) và phù hợp với phương pháp cắt tỉa (pruning methods) [16] Một số bộ phân lớp thuộc loại quần thể (classifier

ensembles) như AdaCost [17], AdaC1, AdaC2, và AdaC3 [18], The DataBoost-IM [19],

Marcus A Maloof (2003) [20] dùng chi phí của phân loại sai để cập nhật việc đào tạo phân bổ việc huấn luyện vào vòng tăng kế tiếp Giảm bớt phần trên của chi phí phân loại sai của tập huấn luyện

Tuy nhiên, cả hai cách tiếp cận trên đều không có vấn đề, nhưng khi lấy mẫu lại vẫn còn những

sự không chính xác liên quan đến việc xác định tỷ lệ lấy mẫu, và trong các phương pháp học nhạy cảm với chi phí, việc tính toán chi phí phân loại sai vẫn là vấn đề cần xem xét

1.4 Mục tiêu của luận văn

Thách thức của bài toán phân lớp dữ liệu mất cân đối là vấn đề về đối tượng cần quan tâm

nghiên cứu lại có rất ít mẫu - mẫu lớp thiểu số so với các lớp khác trong tập dữ liệu - mẫu lớp

đa số

Bài toán phân lớp dữ liệu mất cân đối dựa trên cây quyết định là phương pháp sử dụng học máy

để phân lớp, việc nâng cao dự đoán chính xác mẫu lớp thiểu số là một vấn đề rất cần thiết và có

Trang 13

ý nghĩa khoa học rất cao Do đó, cần phải có tiêu chí tách và phương pháp cắt tỉa khi áp dụng trên cây quyết định là những vấn đề cần được nghiên cứu, cải tiến để dự đoán chính xác mẫu lớp thiểu số, góp phần nâng cao hiệu quả khai thác và phân lớp dữ liệu mất cân đối

Với những vấn đề nêu trên, người nghiên cứu nhận thấy rằng rất cần thiết về lý luận và thực tiễn

để tập trung nghiên cứu và đề xuất phương pháp cải tiến nhằm góp phần giải quyết các vấn đề còn tồn đọng của bài toán sử dụng cây quyết định phân lớp cho dữ liệu mất cân đối, từ đó phát triển một số hướng nghiên cứu liên quan tiếp theo cho mảng phân lớp này

1.5 Đối tượng nghiên cứu

Thuật toán được đề cập dưới đây được đặt tên là AUC4.5, thay đổi và phát triển dựa trên thuật

toán C4.5 [21] bằng cách sử dụng giá trị AUC (Area Under the ROC (Receiver Operating Characteristic) Curve) [22] thay cho Gain-entropy để phân lớp dữ liệu mất cân đối cho cả hai

mục đích đó là: Mục tiêu học và độ đo đánh giá

1.6 Các phương pháp nghiên cứu

1.6.1 Phương pháp nghiên cứu tài liệu

- Nghiên cứu các tài liệu, bài báo liên quan là cơ sở lý luận của luận văn

- Nghiên cứu các cách tiếp cận, các kỹ thuật, các phương pháp, hiện trạng đã được công bố của các tác giả trong và ngoài nước có liên quan đến lĩnh vực sử dụng cây quyết định phân lớp dữ liệu mất cân đối nói riêng và lĩnh vực phân lớp trong khai thác dữ liệu nói chung

- Nghiên cứu các xu thế và hướng phát triển tương lai liên quan đến luận văn

- Nghiên cứu các tài liệu liên quan, phục vụ cho việc nghiên cứu của luận văn

1.6.2 Phương pháp thực nghiệm

Tiến hành hiện thực và thực nghiệm các phương pháp được đề xuất trong luận văn để xác định tính đúng đắn, khả thi và phát triển so với các phương pháp đã công bố của các tác giả trong và ngoài nước có liên quan đến luận văn

Trang 14

1.6.3 Phương pháp thống kê, phân tích dữ liệu

Thống kê, tổng hợp các số liệu trong quá trình thực nghiệm để từ đó phân tích, đánh giá và đưa

ra những kết luận hoặc điều chỉnh nội dung nghiên cứu

1.7 Nội dung và phạm vi của luận văn

Nội dung và phạm vi nghiên cứu của luận văn

- Tìm hiểu các kiến thức nền tảng về khai thác dữ liệu, phân lớp trong khai thác

dữ liệu, cây quyết định, tập dữ liệu mất cân đối, thuật toán gốc của cây quyết đinh C4.5 và các cải tiến của AUC4.5

- Tiếp sau đó người nghiên cứu sẽ tiến hành hiện thực thuật toán cải tiến từ thuật toán C4.5, đó là thuật toán AUC4.5 So sánh kết qủa thực nghiệm từ thuật toán AUC4.5 với C4.5

1.8 Ý nghĩa của luận văn

1.8.1 Ý nghĩa khoa học

Bài toán phân lớp dữ liệu mất cân đối dựa trên cây quyết định là phương pháp sử dụng học máy

để phân lớp, việc nâng cao dự đoán chính xác mẫu lớp thiểu số là một vấn đề rất cần thiết và có

ý nghĩa khoa học rất cao Do đó, cần phải có tiêu chí tách và phương pháp cắt tỉa khi áp dụng trên cây quyết định là những vấn đề cần được nghiên cứu, cải tiến để dự đoán chính xác mẫu lớp thiểu số, góp phần nâng cao hiệu quả khai thác và phân lớp dữ liệu mất cân đối

1.8.2 Ý nghĩa thực tiễn

Mục đích cuối cùng của quá trình khai thác dữ liệu đó là khả năng ứng dụng các kết quả vào trong thực tế Cây quyết định có một ưu thế rất lớn là luật sinh ra đơn giản dễ hiểu và kết quả được ứng dụng rất nhiều trong các hệ thống ra quyết định Thế nhưng dùng cây quyết định để phân lớp dữ liệu mất cân đối thì kết quả không chính xác Do vậy, cần nghiên cứu và thay đổi tiêu chí tách và phương pháp cắt tỉa để dự báo chính xác tập dữ liệu mất cân đối Cho nên, bài toán sử dụng cây quyết định phân lớp tập dữ liệu mất cân đối cần được quan tâm và tiếp tục

Trang 15

nghiên cứu hơn nữa để đóng góp về mặt lý luận cho lĩnh vực phân lớp nói riêng và lĩnh vực khai thác dữ liệu và khám phá tri thức nói chung

Chương 2: Cơ sở lý thuyết

Giới thiệu cách tiếp cận và giải quyết vấn đề của luận văn Trình bày cơ sở toán học và áp dụng lý thuyết vào bài toán

Chương 3: Thuật toán phân lớp dữ liệu mất cân đối bằng cây quyết định

Trong chương này trình bày cách tiếp cận mới trong phân lớp dữ liệu mất cân đối bằng cây quyết định bằng cách thay đổi và cải tiến thuật toán C4.5

Chương 4: Thực nghiệm và đánh giá

Thực nghiệm chương trình với tập dữ liệu huấn luyện Kiểm nghiệm đánh giá chương trình với tập dữ liệu kiểm tra

Chương 5: Kết luận và hướng phát triển

Ý nghĩa thực tiễn, những hạn chế và hướng phát triển của luận văn

Trang 16

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

2.1 Tổng quan về khai thác dữ liệu

2.1.1 Khai thác dữ liệu là gì?

Khai thác dữ liệu là một khái niệm ra đời vào cuối những năm 1980 Nó là quá trình khám phá thông tin ẩn được tìm thấy trong các cơ sở dữ liệu (CSDL) và có thể xem như là một bước trong quá trình khám phá tri thức KTDL là giai đoạn quan trọng nhất trong tiến trình khai thác tri thức từ CSDL, các tri thức này hỗ trợ trong việc ra quyết định trong các lĩnh vực như: khoa học, giáo dục, kinh doanh, …

Năm 1989 Fayyad, Smyth và Piatestsky-Shapiro đã dùng khái niệm Phát hiện tri thức từ CSDL trong đó KTDL là một giai đoạn rất đặc biệt trong toàn bộ quá trình, nó sử dụng các kỹ thuật để tìm ra các mẫu từ dữ liệu

KTDL là quá trình phát hiện các mô hình, các tổng kết khác nhau và các giá trị được lấy từ tập

dữ liệu cho trước Hay, KTDL là sự thăm dò và phân tích lượng dữ liệu lớn để khám phá từ dữ liệu ra các mẫu hợp lệ, mới lạ, có ích và có thể hiểu được

2.1.2 Quá trình khai thác dữ liệu

Hình 2-1: Quá trình khai thác dữ liệu

Trang 17

Bắt đầu của quá trình là kho dữ liệu thô và kết thúc với tri thức được chiết xuất ra Về lý thuyết thì có vẽ rất đơn giản nhưng thực sự đây là một quá trình rất khó khăn gặp phải rất nhiều vướng mắc như: quản lý các tập dữ liệu, phải lặp đi lặp lại toàn bộ quá trình,…

 Tập hợp dữ liệu

Đây là giai đoạn đầu tiên trong quá trình KTDL Giai đoạn này lấy dữ liệu trong một CSDL, một kho dữ liệu và dữ liệu từ các nguồn Internet

 Trích lọc dữ liệu

Giai đoạn này dữ liệu được lựa chọn hoặc phân chia theo một số tiêu chuẩn nào đó

 Tiền xử lý và chuẩn bị dữ liệu

Giai đoạn này rất quan trọng trong quá trình KTDL Một số lỗi thường mắc phải trong khi thu thập dữ liệu như thiếu thông tin, không logic Vì vậy, dữ liệu thường chứa các giá trị vô nghĩa

và không có khả năng kết nối dữ liệu

Giai đoạn này tiến hành xử lý những dạng dữ liệu nói trên Những dữ liệu dạng này được xem như thông tin dư thừa, không có giá trị Vì vậy, đây là một giai đoạn rất quan trọng vì dữ liệu này nếu không được làm sạch - tiền xử lý - chuẩn bị trước thì sẽ gây nên những kết quả sai lệch nghiêm trọng trong KTDL

 Chuyển đổi dữ liệu

Giai đoạn chuyển đổi dữ liệu, dữ liệu đưa ra có thể sử dụng và điều khiển được bởi việc tổ chức lại nó Dữ liệu đã được chuyển đổi phù hợp với mục đích khai thác

 Khai thác dữ liệu

Giai đoạn mang tính tư duy trong KTDL Ở giai đoạn này nhiều thuật toán khác nhau đã được

sử dụng để xuất ra các mẫu từ dữ liệu Thuật toán thường dùng là thuật toán phân loại dữ liệu, kết hợp dữ liệu hoặc các mô hình hóa dữ liệu tuần tự

 Đánh giá kết quả mẫu

Giai đoạn cuối trong quá trình KTDL Trong giai đoạn này, các mẫu dữ liệu được chiết xuất ra bởi phần mềm KTDL Không phải bất cứ mẫu dữ liệu nào cũng đều hữu ích, đôi khi nó còn bị

Trang 18

sai lệch Vì vậy, cần phải ưu tiên những tiêu chuẩn đánh giá để đưa ra các tri thức cần thiết và

sử dụng được

2.1.3 Khai thác dữ liệu sử dụng phân lớp

2.1.3.1 Phân lớp dữ liệu

Phân lớp dữ liệu là một quá trình gồm hai bước

 Bước thứ nhất – bước học

Quá trình học nhằm xây dựng một mô hình mô tả một tập các lớp dữ liệu hay các khái niệm định trước Đầu vào của quá trình này là một tập dữ liệu có cấu trúc được mô tả bằng các thuộc tính và được tạo ra từ tập các bộ giá trị của các thuộc tính đó Mỗi bộ giá trị được gọi chung là một phần tử dữ liệu, có thể là các mẫu Trong tập dữ liệu này, mỗi phần tử dữ liệu được giả sử thuộc về một lớp định trước, lớp ở đây là giá trị của một thuộc tính được chọn làm thuộc tính gán nhãn lớp hay thuộc tính phân lớp Đầu ra của bước này thường là các quy tắc phân lớp dưới dạng luật dạng if-then, cây quyết định, Quá trình này được mô tả như trong hình 2-2

Hình 2-2: Quá trình phân lớp dữ liệu - Bước xây dựng mô hình phân lớp

Trang 19

 Bước thứ hai – phân lớp

Bước thứ hai dùng mô hình đã xây dựng ở bước trước để phân lớp dữ liệu mới Trước tiên độ chính xác mang tính chất dự đoán của mô hình phân lớp vừa tạo ra được ước lượng Holdout là một kỹ thuật đơn giản để ước lượng độ chính xác đó

Kỹ thuật này sử dụng một tập dữ liệu kiểm tra với các mẫu đã được gán nhãn lớp Các mẫu này được chọn ngẫu nhiên và độc lập với các mẫu trong tập dữ liệu huấn luyện Độ chính xác của mô hình trên tập dữ liệu kiểm tra đã đưa là tỉ lệ phần trăm các các mẫu trong tập dữ liệu kiểm tra được mô hình phân lớp đúng (so với thực tế) Nếu độ chính xác của mô hình được ước lượng dựa trên tập dữ liệu huấn luyện thì kết quả thu được là rất khả quan vì mô hình luôn có xu hướng quá khớp dữ liệu

Do vậy cần sử dụng một tập dữ liệu kiểm tra độc lập với tập dữ liệu huấn luyện Nếu độ chính xác của mô hình là chấp nhận được, thì mô hình được sử dụng để phân lớp những dữ liệu tương lai, hoặc những dữ liệu mà giá trị của thuộc tính phân lớp là chưa biết

Hình 2-3: Quá trình phân lớp dữ liệu – Ước lượng độ chính xác mô hình

Trang 20

Hình 2-4: Quá trình phân lớp dữ liệu – Phân lớp dữ liệu mới 2.1.3.2 Phân lớp dữ liệu bằng thuật giải Inductive Learning Algorithm

Thuật giải Inductive Learning Algorithm (ILA) được dùng để xác định các luật phân loại cho tập hợp các mẫu học Thuật giải này thực hiện theo cơ chế lặp, để tìm luật riêng đại diện cho tập mẫu của từng lớp Sau khi xác định được luật, thuật giải sẽ loại bỏ các mẫu mà luật này bao hàm, đồng thời thêm luật mới này vào tập luật Kết quả có được là một danh sách có thứ tự các luật

Mô tả thuật giải ILA [23]

+ Bước 1: Chia bảng con có chứa m mẫu thành n bảng con Một bảng con ứng với một giá trị của thuộc tính phân lớp (Lặp lại từ Bước 2 đến Bước 8 cho mỗi bảng con)

+ Bước 2: Khởi tạo số lượng thuộc tính kết hợp j với j = 1

+ Bước 3: Với mỗi bảng con đang xét, phân chia các thuộc tính của nó thành một danh sách các thuộc tính kết hợp, mỗi thành phần của danh sách có j thuộc tính phân biệt

+ Bước 4: Với mỗi kết hợp các thuộc tính trong danh sách trên, đếm số lần xuất hiện các giá trị cho các thuộc tính trong kết hợp đó ở các dòng chưa bị khóa của bảng đang xét nhưng nó không được xuất hiện cùng giá trị ở những bảng con khác Chọn ra một kết hợp trong danh sách sao cho nó có giá trị tương ứng xuất hiện nhiều nhất và được gọi là Max_combination

+ Bước 5: Nếu Max_combination = 0 thì j = j+1 quay lại Bước 3

Trang 21

+ Bước 6: Khĩa các dịng ở bảng con đang xét mà tại đĩ giá trị bằng với giá trị tạo ra Max_combination

+ Bước 7: Thêm vào R luật mới với giả thuyết là các giá trị tạo ra Max_combination kết nối các

bộ này bằng phép AND, kết luận là giá trị của thuộc tính quyết định trong bảng con đang xét + Bước 8: Nếu tất cả các dịng đều khĩa:

 Nếu cịn bảng con thì qua bảng con tiếp theo và quay lại Bước 2

 Ngược lại chấm dứt thuật tốn

Ngược lại quay lại B ước 4

2.1.3.3 Phân lớp dữ liệu bằng mạng Nạve Bayes

Các mơ hình phân lớp dựa theo Nạve Bayes [2] là loại mơ hình phân lớp theo lý thuyết thống

kê Chúng cĩ thể dự đốn xác suất của các thành viên lớp, chẳng hạn xác suất để một bản ghi nhất định thuộc về một lớp cụ thể nào đĩ Phân lớp dựa theo Bayes căn cứ vào nền tảng lý thuyết

là định lý Bayes (được đặt theo tên của Thomas Bayes, nhà tốn học Anh vào thế kỷ 18) Thuật tốn phân lớp Nạve Bayes (NB) giả định rằng ảnh hưởng của một giá trị thuộc tính nào

đĩ trên một lớp nhất định là độc lập với các giá trị của các thuộc tính khác Giả định này được gọi là sự độc lập theo điều kiện lớp Người ta giả định như vậy để đơn giản hĩa khối lượng tính tốn cần thiết, và vì lý do này, nĩ được gọi là “ngây thơ” (nạve)

Chi tiết của việc phân lớp dữ liệu bằng mạng NB cĩ thể được tham khảo ở [2]

 Ưu điểm

+ Về thời gian học (tức thời gian xây dựng mơ hình): ít hơn so với phương pháp quy nạp cây quyết định, và ít hơn rất nhiều so với mạng nơ ron, nhất là đối với dữ liệu rời rạc + Hiệu năng phân lớp (độ chính xác và tốc độ) cao khi dùng với CSDL lớn

+ Thuật tốn dễ hiểu và dễ hiện thực

 Nhược điểm

Trang 22

+ Do NB giả định là các thuộc tính độc lập với nhau, nên khi các thuộc tính có sự phụ thuộc lẫn nhau (ví dụ, trong giáo dục có một số môn học có ý nghĩa tiên quyết đối với một

số môn học khác) thì phương pháp NB trở nên thiếu chính xác

+ NB không sinh ra được những mô hình phân lớp dễ hiểu đối với người dùng không chuyên về KTDL

2.1.3.4 Phân lớp dữ liệu bằng mạng nơ ron

Lĩnh vực học bằng các mạng nơ ron nhân tạo, lúc đầu được khởi xướng bởi các nhà tâm lý học

và các nhà sinh học thần kinh muốn tìm cách xây dựng và kiểm tra những mô hình tính toán tương tự với mạng lưới các tế bào thần kinh của con người Một mạng nơ ron nhân tạo, hay chỉ vắn tắt là mạng nơ ron, đôi khi còn được gọi là multilayer perceptron, là một tập hợp các nút xuất/nhập nối kết với nhau, trong đó mỗi đường nối kết có một trọng số liên kết với nó Trong giai đoạn học, mạng này học bằng cách điều chỉnh các trọng số để dự đoán được nhãn lớp đúng đắn của các bản ghi nhập vào

 Ưu điểm

+ Các mô hình học được từ mạng nơ ron có khả năng chịu đựng đối với dữ liệu nhiễu cao cũng như khả năng phân lớp được những mẫu hình mà chúng chưa từng được huấn luyện + Chúng rất thích hợp đối với dữ liệu nhập và xuất có trị liên tục

+ Các thuật toán mạng nơ ron vốn có sẵn tính song song; có thể dùng các kỹ thuật song song hóa để tăng tốc quá trình tính toán

+ Ngoài ra, gần đây đã có nhiều kỹ thuật được xây dựng để rút trích ra các luật phân lớp

dễ hiểu từ các mạng nơ ron học được

Chi tiết của việc phân lớp dữ liệu bằng các mạng nơ ron được tham khảo ở [2][3]

 Nhược điểm

+ Học bằng mạng nơ ron đòi hỏi thời gian huấn luyện phải dài, vì thế thích hợp hơn với các ứng dụng nào chấp nhận điều này

Trang 23

+ Thuật toán xây dựng mạng nơ ron cần một số tham số mà thường thì chỉ được xác định tốt nhất thông qua thí nghiệm, như cấu trúc

+ Các mô hình học bằng mạng nơ ron đã bị chỉ trích vì tính khó hiểu của chúng; con người khó diễn giải được ý nghĩa biểu tượng đằng sau các trọng số học và ý nghĩa của các “đơn

Định nghĩa 2: Độ hỗ trợ của luật kết hợp X Y là tỷ lệ phần trăm các bản ghi XY với tổng

số các giao dịch có trong CSDL

Định nghĩa 3: Đối với một số giao dịch được đưa ra, độ tin cậy là tỷ lệ của số giao dịch có chứa

XY với số giao dịch có chứa X Đơn vị tính %

Việc khai thác các luật kết hợp từ CSDL chính là việc tìm tất cả các luật có độ hỗ trợ và độ tin cậy lớn hơn ngưỡng của độ hỗ trợ và độ tin cậy do người sử dụng xác định trước Các ngưỡng

của độ hỗ trợ và độ tin cậy được ký hiệu là minsup và minconf [24][25]

Việc khai thác các luật kết hợp có thể được phân tích thành hai vấn đề sau đây:

- Tìm tất cả các tập phổ biến có độ hỗ trợ lớn hơn hoặc bằng minsup

- Tạo ra các luật mong muốn sử dụng các tập phổ biến có độ tin cậy lớn hơn hoặc bằng minconf

2.1.4.2 Tính ứng dụng

Luật kết hợp có ứng dụng trong nhiều lĩnh vực khác nhau của đời sống như: khoa học, hoạt động kinh doanh, tiếp thị, thương mại, phân tích thị trường chứng khoán, tài chính và đầu tư,

Trang 24

Ứng dụng luật kết hợp phải chỉ rõ các đặc điểm về: nguồn gốc, điều kiện áp dụng, phạm vi ứng dụng, mục đích ứng dụng Những đặc điểm này được thể hiện bằng mô hình sau:

- Ứng dụng: đây là kết quả mong đợi nhất từ khi bắt đầu khai thác cho đến khi thi hành luật

Mô hình ứng dụng luật đã làm sáng tỏ tính ứng dụng của việc khai thác luật kết hợp trong CSDL Thực tế, ứng dụng của khai thác luật kết hợp trong CSDL giáo dục là một phạm trù của KTDL nên ứng dụng của nó rất rộng lớn, nhất là trong sự phát triển của xã hội hiện nay Ngoài ra, một tập hợp con đặc biệt của luật kết hợp gọi là luật kết hợp lớp [26], dùng để tích hợp phân loại và khai thác luật kết hợp

Tóm lại, tính ứng dụng của khai thác luật kết hợp trong CSDL giáo dục là việc ứng dụng các tập luật tìm thấy trong đó nhằm vào những mục đích cụ thể và đạt được kết quả tốt

2.1.5 Khai thác dữ liệu sử dụng cây quyết định

2.1.5.1 Các vấn đề trong Khai thác dữ liệu sử dụng cây quyết định

Các vấn đề đặc thù trong khi học hay phân lớp dữ liệu bằng cây quyết định gồm: xác định độ sâu để phát triển cây quyết định, xử lý với những thuộc tính liên tục, chọn phép đo lựa chọn

Trang 25

thuộc tính thích hợp, sử dụng tập dữ liệu huấn luyện với những giá trị thuộc tính bị thiếu, sử dụng các thuộc tính với những chi phí khác nhau, và cải thiện hiệu năng tính toán

2.1.5.1.1 Tránh quá khớp dữ liệu

Thế nào là quá khớp dữ liệu? Có thể hiểu đây là hiện tượng cây quyết định chứa một số đặc trưng riêng của tập dữ liệu huấn luyện, nếu lấy chính tập dữ liệu huấn luyện để kiểm tra lại mô hình phân lớp thì độ chính xác sẽ rất cao, trong khi đối với những dữ liệu tương lai khác nếu sử dụng cây đó lại không đạt được độ chính xác cao

Quá khớp dữ liệu là một khó khăn đáng kể đối với học bằng cây quyết định và những phương pháp học khác Đặc biệt khi số lượng mẫu trong tập dữ liệu huấn luyện quá ít, hay có nhiễu trong dữ liệu

Có hai phương pháp tránh quá khớp dữ liệu trong cây quyết định:

- Dừng phát triển cây sớm hơn bình thường, trước khi đạt tới điểm phân lớp hoàn hảo tập dữ liệu huấn luyện Với phương pháp này, một thách thức đặt ra là phải ước lượng chính xác thời điểm dừng phát triển cây

- Cho phép cây có thể quá khớp dữ liệu, sau đó sẽ cắt, tỉa cây

Mặc dù phương pháp thứ nhất có vẻ trực tiếp hơn, nhưng với phương pháp thứ hai thì cây quyết định được sinh ra được thực nghiệm chứng minh là thành công hơn trong thực tế Hơn nữa việc cắt tỉa cây quyết định còn giúp tổng quát hóa, và cải thiện độ chính xác của mô hình phân lớp

Dù thực hiện phương pháp nào thì vấn đề mấu chốt ở đây là tiêu chuẩn nào được sử dụng để xác định kích thước hợp lý của cây cuối cùng

2.1.5.1.2 Thao tác với thuộc tính liên tục

Việc thao tác với thuộc tính liên tục trên cây quyết định hoàn toàn không đơn giản như với thuộc tính rời rạc

Thuộc tính rời rạc có tập giá trị (domain) xác định từ trước và là tập hợp các giá trị rời rạc Ví

dụ loại ô tô là một thuộc tính rời rạc với tập giá trị là: {xe tải, xe khách, xe con, taxi} Việc phân chia dữ liệu dựa vào phép kiểm tra giá trị của thuộc tính rời rạc được chọn tại một ví dụ cụ thể

có thuộc tập giá trị của thuộc tính đó hay không: value (A) ∈ X với X ⊂ domain (A) Đây là phép

Trang 26

kiểm tra logic đơn giản, không tốn nhiều tài nguyên tính toán Trong khi đó, với thuộc tính liên tục (thuộc tính dạng số) thì tập giá trị là không xác định trước Chính vì vậy, trong quá trình

phát triển cây, cần sử dụng kiểm tra dạng nhị phân: value (A) ≤ θ Với θ là hằng số ngưỡng (threshold) được lần lượt xác định dựa trên từng giá trị riêng biệt hay từng cặp giá trị liền nhau

(theo thứ tự đã sắp xếp) của thuộc tính liên tục đang xem xét trong tập dữ liệu huấn luyện Điều

đó có nghĩa là nếu thuộc tính liên tục A trong tập dữ liệu huấn luyện có d giá trị phân biệt thì cần thực hiện d-1 lần kiểm tra value (A) ≤ θ i với i = 1 d-1 để tìm ra ngưỡng θ best tốt nhất tương

ứng với thuộc tính đó Việc xác định giá trị của θ và tiêu chuẩn tìm θ tốt nhất tùy vào chiến lược

của từng thuật toán [1]

2.1.5.1.3 Đánh giá cây quyết định trong lĩnh vực KTDL

2.1.5.1.3.1 Ưu điểm của cây quyết định

 Khả năng sinh ra các luật dễ hiểu

Cây quyết định có khả năng sinh ra các luật có thể chuyển đổi được sang dạng tiếng Anh, hoặc các câu lệnh Structured Query Language (SQL), đây là ưu điểm nổi bật của kỹ thuật này Thậm chí với những tập dữ liệu lớn khiến cho hình dáng cây quyết định lớn và phức tạp, việc đi theo bất cứ đường nào trên cây là dễ dàng theo nghĩa phổ biến và rõ ràng Do vậy sự giải thích cho bất cứ một sự phân lớp hay dự đoán nào đều tương đối minh bạch

 Khả năng thực thi trong những lĩnh vực hướng sử dụng luật

Điều này có nghe có vẻ hiển nhiên, nhưng luật quy nạp nói chung và cây quyết định nói riêng

là lựa chọn hoàn hảo cho những lĩnh vực mang tính quy tắc Rất nhiều lĩnh vực từ di truyền tới các quá trình công nghiệp thực sự chứa các quy tắc ẩn, không rõ ràng do khá phức tạp và tối nghĩa bởi những dữ liệu lỗi, nhiễu Cây quyết định là một sự lựa chọn tự nhiên khi chúng ta nghi ngờ sự tồn tại của các quy tắc ẩn, không rõ ràng

 Dễ dàng tính toán trong khi phân lớp

Mặc dù như chúng ta đã biết, cây quyết định có thể chứa nhiều định dạng, nhưng trong thực tế, các thuật toán sử dụng để tạo ra cây quyết định thường tạo ra những cây với số phân nhánh thấp

và các kiểm tra đơn giản tại từng nút Những kiểm tra điển hình là: so sánh số, xem xét phần tử

Trang 27

của một tập hợp, và các phép nối đơn giản Khi thực thi trên máy tính, những kiểm tra này chuyển thành các toán hàm logic và số nguyên là những toán hạng thực thi nhanh và không đắt Đây là một ưu điểm quan trọng bởi trong môi trường thương mại, các mô hình dự đoán thường được sử dụng để phân lớp hàng triệu thậm trí hàng tỉ bản ghi

 Khả năng xử lý với cả thuộc tính liên tục và thuộc tính rời rạc

Cây quyết định xử lý “tốt” như nhau với thuộc tính liên tục và thuộc tính rời rạc Tuy rằng với thuộc tính liên tục cần nhiều tài nguyên tính toán hơn Những thuộc tính rời rạc đã từng gây ra những vấn đề với mạng nơ ron và các kỹ thuật thống kê lại thực sự dễ dàng thao tác với các tiêu chí tách trên cây quyết định: mỗi nhánh tương ứng với từng phân tách tập dữ liệu theo giá trị của thuộc tính được chọn để phát triển tại nút đó Các thuộc tính liên tục cũng dễ dàng phân chia bằng việc chọn ra một số gọi là ngưỡng trong tập các giá trị đã sắp xếp của thuộc tính đó Sau khi chọn được ngưỡng tốt nhất, tập dữ liệu phân chia theo kiểm tra nhị phân của ngưỡng đó

 Thể hiện rõ ràng những thuộc tính tốt nhất

Các thuật toán xây dựng cây quyết định đưa ra thuộc tính mà phân chia tốt nhất tập dữ liệu huấn luyện bắt đầu từ nút gốc của cây Từ đó có thể thấy những thuộc tính nào là quan trọng nhất cho việc dự đoán hay phân lớp

2.1.5.1.3.2 Nhược điểm của cây quyết định

Dù có những sức mạnh nổi bật trên, cây quyết định vẫn không tránh khỏi có những nhược điểm

Đó là cây quyết định không thích hợp lắm với những bài toán với mục tiêu là dự đoán giá trị của thuộc tính liên tục như thu nhập, huyết áp hay lãi suất ngân hàng… Cây quyết định cũng khó giải quyết với những dữ liệu thời gian liên tục nếu không bỏ ra nhiều công sức cho việc đặt

ra sự biểu diễn dữ liệu theo các mẫu liên tục

 Dễ xảy ra lỗi khi có quá nhiều lớp

Một số cây quyết định chỉ thao tác với những lớp giá trị nhị phân dạng yes/no hay accept/reject

Số khác lại có thể chỉ định các bản ghi vào một số lớp bất kỳ, nhưng dễ xảy ra lỗi khi số ví dụ huấn luyện ứng với một lớp là nhỏ Điều này xảy ra càng nhanh hơn với cây mà có nhiều tầng hay có nhiều nhánh trên một nút

Trang 28

 Tốn kém chi phí tính toán trong quá trình huấn luyện

Điều này nghe có vẻ mâu thuẫn với khẳng định ưu điểm của cây quyết định ở trên Nhưng quá trình phát triển cây quyết định tốn kém chi phí tính toán trong quá trình huấn luyện Vì cây quyết định có rất nhiều nút trong trước khi đi đến lá cuối cùng Tại từng nút, cần tính một độ đo trên từng thuộc tính, với thuộc tính liên tục phải thêm thao tác sắp xếp lại tập dữ liệu theo thứ tự giá trị của thuộc tính đó Sau đó mới có thể chọn được một thuộc tính phát triển và tương ứng là một phân chia tốt nhất

Một vài thuật toán sử dụng tổ hợp các thuộc tính kết hợp với nhau có trọng số để phát triển cây quyết định Quá trình cắt tỉa cây cũng tốn nhiều chi phí vì nhiều cây con ứng viên phải được tạo

ra và so sánh

2.1.5.2 Xây dựng cây quyết định

Quá trình xây dựng cây quyết định gồm hai giai đoạn:

Giai đoạn thứ nhất: phát triển cây quyết định: Giai đoạn này phát triển bắt đầu từ gốc, đến từng nhánh và phát triển quy nạp theo cách thức chia để trị cho tới khi đạt được cây quyết định với tất cả các lá được gán nhãn lớp

Giai đoạn thứ hai: cắt, tỉa bớt các nhánh trên cây quyết định Giai đoạn này nhằm mục đích đơn giản hóa và khái quát hóa từ đó làm tăng độ chính xác của cây quyết định bằng cách loại bỏ sự phụ thuộc vào mức độ nhiễu, lỗi của dữ liệu huấn luyện mang tính chất thống kê, hay những sự biến đổi mà có thể là đặc tính riêng biệt của dữ liệu huấn luyện Giai đoạn này chỉ truy cập dữ liệu trên cây quyết định đã được phát triển trong giai đoạn trước và quá trình thực nghiệm cho thấy giai đoạn này không tốn nhiều tài nguyên tính toán, như với phần lớn các thuật toán, giai đoạn này chiếm khoảng dưới 1% tổng thời gian xây dựng mô hình phân lớp

 Giai đoạn phát triển cây quyết định Dưới đây là khung công việc của giai đoạn này:

- Bước 1: Chọn thuộc tính “tốt” nhất bằng một độ đo đã định trước

- Bước 2: Phát triển cây bằng việc thêm các nhánh tương ứng với từng giá trị của thuộc tính đã chọn

Trang 29

- Bước 3: Sắp xếp, phân chia tập dữ liệu huấn luyện tới nút con

- Bước 4: Nếu các ví dụ được phân lớp rõ ràng thì dừng Ngược lại: lặp lại Bước 1 tới Bước 4 cho từng nút con

 Giai đoạn cắt, tỉa: được mô tả cụ thể trong phần 2.4.5

2.1.5.3 Thuật toán sử dụng xây dựng cây quyết định

2.1.5.3.1 Thuật toán Concept Learning System

Thuật toán này được Hoveland và Hunt giới thiệu trong Concept Learning System (CLS) [2] vào những năm 50 của thế kỷ 20 Sau đó gọi tắt là thuật toán CLS Thuật toán này được thiết kế theo chiến lược chia để trị từ trên xuống

Thuật toán CLS là một trong những thuật toán ra đời sớm nhất Nó chỉ áp dụng cho các CSDL chứa ít thuộc tính, giá trị các thuộc tính dạng phân loại hay rời rạc Còn đối với các CSDL lớn

và có chứa các thuộc tính mà giá trị của nó là liên tục thì CLS làm việc không hiệu quả Thuật toán có thể cho các kết quả khác nhau với cùng một tập dữ liệu đầu vào Bởi vì, thuật toán này chưa có tiêu chí để lựa chọn thuộc tính trong quá trình xây dựng cây Nhưng đây là thuật toán đơn giản, dễ cài đặt, phù hợp trong việc hình thành ý tưởng và giải quyết những nhiệm vụ đơn giản

Chi tiết về thuật toán xem trong [2]

2.1.5.3.2 Thuật toán Interactive Dichotomizer 3

Thuật toán Interactive Dichotomizer 3 (ID3) [1] được phát triển bởi Quinlan và được công bố vào cuối thập niên 70 của thế kỷ 20 Sau đó, thuật toán ID3 được giới thiệu và trình bày trong mục Induction on Decition Trees, Machine Learning năm 1986 ID3 được xem như là một cải tiến của CLS với khả năng lựa chọn thuộc tính tốt nhất để tiếp tục triển khai cây tại mỗi bước ID3 xây dựng cây quyết định từ trên xuống (top-down)

 Entropy: dùng để do tính thuần nhất của một tập dữ liệu Entropy của một tập

S được tính theo công thức (2.1) [1]

𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑆) = −𝑃+𝑙𝑜𝑔2(𝑃+) − 𝑃−𝑙𝑜𝑔2(𝑃−) (2.1)

Trang 30

+ Trong trường hợp các mẫu dữ liệu có hai thuộc tính phân lớp “Yes” (+),

“No” (-) Với kí hiệu:

𝑃+: là để chỉ tỷ lệ các mẫu có giá trị của thuộc tính quyết định là “Yes”

𝑃−: là để chỉ tỷ lệ các mẫu có giá trị của thuộc tính quyết định là “No” trong tập S + Trường hợp tổng quát, đối với tập con S có n phân lớp thì ta có công thức sau:

𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑆) = ∑𝑛 (−𝑃𝑖𝑙𝑜𝑔2(𝑃𝑖))

Trong đó 𝑃𝑖 là tỷ lệ các mẫu thuộc lớp i trên tập hợp S các mẫu kiểm tra

+ Các trường hợp đặc biệt

- Nếu tất cả các mẫu thành viên trong tập S đều thuộc cùng một lớp thì

Entropy (S) = 0

- Nếu trong tập S có số mẫu phân bổ đều nhau vào các lớp thì

Entropy(S) = 1

- Các trường hợp còn lại 0 < Entropy (S) < 1

 Information Gain (viết tắt là Gain): Gain là đại lượng dùng để đo tính hiệu

quả của một thuộc tính được lựa chọn cho việc phân lớp Đại lượng này được

tính thông qua hai giá trị Information và Entropy [2]

+ Cho tập dữ liệu S gồm có n thuộc tính 𝐴𝑖 (𝑖 = 1, 2 … 𝑛) giá trị Information của thuộc tính 𝐴𝑖 ký hiệu là 𝐼𝑛𝑓𝑜𝑟𝑚𝑎𝑡𝑖𝑜𝑛 (𝐴𝑖) được xác định bởi công thức:

𝐼𝑛𝑓𝑜𝑟𝑚𝑎𝑡𝑖𝑜𝑛(𝐴𝑖) = − ∑𝑛𝑖=1𝑙𝑜𝑔2(𝑃𝑖)= 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑆) (2.3) + Giá trị Gain của thuộc tính A trong tập S ký hiệu là Gain (S, A) và được tính theo công thức sau

𝐺𝑎𝑖𝑛(𝑆, 𝐴) = 𝐼𝑛𝑓𝑜𝑟𝑚𝑎𝑡𝑖𝑜𝑛(𝐴𝑖) − 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝐴)

= 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑆) − ∑ |𝑆𝑣 |

|𝑆| 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑆)

Trang 31

Thuật toán ID3 [1]

ID3 (Examples, Target_attribute, Attributes)

Examples là tập huấn luyện Target_attribute là thuộc tính có giá trị để dự đoán cho cây Attributes là một danh sách các thuộc tính khác dùng kiểm tra việc học của cây quyết định Kết

quả trả về một cây quyết định được phân loại chính xác bởi những tập huấn luyện

- Tạo một nút Root cho cây

- If tất cả tập Examples có trong cây, Return cây có nút Root duy nhất được gán với

nhãn “+”

- If tất cả tập Examples không có trong cây, Return cây có nút Root duy nhất được

gán với nhãn “-”

- If tập Attributes rỗng, Return cây có nút Root duy nhất được gán với nhãn là giá trị

phổ biến nhất của tập Target_attribute trong tập Examples

- Nếu không Begin

+ A Thuộc tính trong tập Attributes có khả năng phân loại tốt nhất đối với tập

Examples

+ Thuộc tính quyết định cho nút Root A

+ For each giá trị có trong cây, 𝑣𝑖 của thuộc tính A

Thêm một nhánh cây mới dưới nút Root, tương ứng với trường hợp A = 𝑣𝑖

 Xác định tập 𝐸𝑥𝑎𝑚𝑝𝑙𝑒𝑠𝑣𝑖là tập hợp con của tập Examples có giá trị 𝑣𝑖 của A

Trang 32

If 𝐸𝑥𝑎𝑚𝑝𝑙𝑒𝑠𝑣𝑖 rỗng

_ Dưới nhánh mới này thêm một nút lá với nhãn là giá trị phổ biến nhất của tập

Target_attribute trong tập Examples

_ Else dưới nhánh mới này thêm cây con

ID3 (𝐸𝑥𝑎𝑚𝑝𝑙𝑒𝑠𝑣𝑖, Target_attribute, Attributes – {A})

Tuy nhiên, thuật toán này cũng chưa giải quyết được vấn đề thuộc tính số, liên tục, số lượng các thuộc tính còn bị hạn chế và giải quyết hạn chế với vấn đề dữ liệu bị thiếu hoặc nhiễu

2.1.5.3.3 Thuật toán C4.5

Thuật toán C4.5 [21] được phát triển và công bố bởi Quinlan vào năm 1993 Thuật toán C4.5 là một thuật toán được cải tiến từ thuật toán ID3 với việc cho phép xử lý trên tập dữ liệu có các thuộc tính số và làm việc được với tập dữ liệu thiếu và dữ liệu nhiễu Nó thực hiện phân lớp tập mẫu dữ liệu theo chiến lược ưu tiên theo chiều sâu Thuật toán xét tất cả các phép thử có thể để

phân chia tập dữ liệu đã cho và chọn ra một phép thử có giá trị GainRatio tốt nhất GainRatio

là một đại lượng để đánh giá độ hiệu quả của thuộc tính, dùng để thực hiện phép tách trong thuật toán để phát triển cây quyết định GainRatio được tính dựa trên kết quả tính toán đại lượng

Information Gain theo công thức sau

Trang 33

Trong đó:

- Value (X) là tập các giá trị của thuộc tính X

- 𝑇𝑖 là tập con của tập T ứng với thuộc tính X = giá trị là 𝑣𝑖

Đối với các thuộc tính liên tục, chúng ta tiến hành phép thử nhị phân cho mọi giá trị của thuộc

tính đó Để thu thập được giá trị Entropy Gain của tất cả các phép thử nhị phân một cách hữu

hiệu ta tiến hành sắp xếp các dữ liệu theo giá trị của thuộc tính liên tục đó bằng thuật toán Quicksort

Thuật toán xây dựng cây quyết định C4.5 xem thêm trong [21]

Một số cải tiến của thuật toán C4.5

- Làm việc với thuộc tính đa trị

Tiêu chuẩn (2.8) có một khuyết điểm là không chấp nhận các thuộc tính đa trị Vì vậy, thuật

toán C4.5 đã đưa ra các đại lượng GainRatio và SplitInfo (SplitInformation), chúng được xác

định theo các công thức sau:

Trang 34

GainRatio là tiêu chuẩn để đánh giá việc lựa chọn thuộc tính phân loại

- Làm việc với dữ liệu thiếu

Thuật toán vừa xây dựng dựa vào giả thuyết tất cả các mẫu dữ liệu có đủ các thuộc tính Nhưng trong thực tế, xảy ra hiện tượng dữ liệu bị thiếu, tức là ở một số mẫu dữ liệu có những thuộc tính không được xác định, hoặc mâu thuẫn, không bình thường Ta xem xét kỹ hơn với trường hợp dữ liệu bị thiếu Đơn giản nhất là không đưa các mẫu với các giá trị bị thiếu vào, nếu làm như vậy thì có thể dẫn đến tình trạng thiếu các mẫu học Giả sử T là một tập hợp gồm các mẫu cần được phân loại, X là phép kiểm tra theo thuộc tính L, U là số lượng các giá trị bị thiếu của thuộc tính L Khi đó ta có:

Giả sử phép thử X có các giá trị 𝑂1 , 𝑂2 … 𝑂𝑛 được lựa chọn theo kiểu chuẩn (2.13), ta cần xử

lý như thế nào với các dữ liệu bị thiếu Giả sử mẫu từ tập hợp T với đầu ra là 𝑂𝑖 có liên quan đến tập hợp 𝑇𝑖 thì khả năng mẫu đó thuộc tập hợp 𝑇𝑖 là 1

Giả sử mỗi mẫu trong 𝑇𝑖 có một chỉ số xác định xác suất thuộc tập hợp 𝑇𝑖 Nếu mẫu có các giá trị thuộc tính L thì có trọng số bằng 1 Nếu trong trường hợp ngược lại, thì mẫu này liên quan đến tập con 𝑇1 , 𝑇2 … 𝑇𝑛 với xác suất tương ứng là:

|𝑇1|

|𝑇|−𝑈, |𝑇2 |

|𝑇|−𝑈, … , |𝑇𝑛 |

Ngày đăng: 04/06/2023, 14:52

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] J. R. Quinlan, “Induction of Decision Trees,” Mach. Learn., vol. 1, no. 1, pp. 81–106, 1986 Sách, tạp chí
Tiêu đề: Induction of Decision Trees
Tác giả: J. R. Quinlan
Nhà XB: Mach. Learn.
Năm: 1986
[2] J. Han, M. Kamber, and J. Pei, Data mining : Concepts and Techniques. Elsevier/Morgan Kaufmann, 2012 Sách, tạp chí
Tiêu đề: Data mining: Concepts and Techniques
Tác giả: J. Han, M. Kamber, J. Pei
Nhà XB: Elsevier/Morgan Kaufmann
Năm: 2012
[3] I. H. Witten, E. Frank, and M. a. Hall, Data Mining: Practical Machine Learning Tools and Techniques, Third Edition, vol. 54, no. 2. 2011 Sách, tạp chí
Tiêu đề: Data Mining: Practical Machine Learning Tools and Techniques
Tác giả: I. H. Witten, E. Frank, M. a. Hall
Năm: 2011
[4] V. Ganganwar, “An overview of classification algorithms for imbalanced datasets,” Int. J. Emerg. Technol. Adv. Eng., vol. 2, no. 4, pp. 42–47, 2012 Sách, tạp chí
Tiêu đề: An overview of classification algorithms for imbalanced datasets
Tác giả: V. Ganganwar
Nhà XB: Int. J. Emerg. Technol. Adv. Eng.
Năm: 2012
[5] Y. Yang and G. Ma, “Ensemble-based active learning for class imbalance problem,” J. Biomed. Sci. Eng., vol. 03, no. 10, pp. 1022–1029, Oct. 2010 Sách, tạp chí
Tiêu đề: Ensemble-based active learning for class imbalance problem
Tác giả: Y. Yang, G. Ma
Nhà XB: J. Biomed. Sci. Eng.
Năm: 2010
[6] B. Zadrozny, J. Langford, and N. Abe, “Cost-sensitive learning by cost-proportionate example weighting,” in Third IEEE Int. Conf. on Data Mining, 2003, pp. 435–442 Sách, tạp chí
Tiêu đề: Cost-sensitive learning by cost-proportionate example weighting
Tác giả: B. Zadrozny, J. Langford, N. Abe
Nhà XB: Third IEEE Int. Conf. on Data Mining
Năm: 2003
[7] Y. Tang, S. Krasser, D. Alperovitch, and P. Judge, “Spam Sender Detection with Classification Modeling on Highly Imbalanced Mail Server Behavior Data,” in Proc. of Intl. Conf. on Artificial Int. and Pattern Recognition, 2008, pp. 174–180 Sách, tạp chí
Tiêu đề: Spam Sender Detection with Classification Modeling on Highly Imbalanced Mail Server Behavior Data
Tác giả: Y. Tang, S. Krasser, D. Alperovitch, P. Judge
Nhà XB: Proc. of Intl. Conf. on Artificial Int. and Pattern Recognition
Năm: 2008
[8] V. Engen, “Machine learning for network based intrusion detection.,” Bounemouth University, 2010 Sách, tạp chí
Tiêu đề: Machine learning for network based intrusion detection
Tác giả: V. Engen
Nhà XB: Bounemouth University
Năm: 2010
[9] X. Liu, J. Wu, and Z. Zhou, “Exploratory Under-Sampling for Class-Imbalance Learning,” in Sixth Int. Conf. on Data Mining (ICDM’06), 2006, pp. 965–969 Sách, tạp chí
Tiêu đề: Exploratory Under-Sampling for Class-Imbalance Learning
Tác giả: X. Liu, J. Wu, Z. Zhou
Nhà XB: Sixth Int. Conf. on Data Mining (ICDM’06)
Năm: 2006
[10] S.-J. Yen and Y.-S. Lee, “Cluster-based under-sampling approaches for imbalanced data distributions,” Expt. Syst. with Appl., vol. 36, no. 3, pp. 5718–5727, Apr. 2009 Sách, tạp chí
Tiêu đề: Cluster-based under-sampling approaches for imbalanced data distributions
Tác giả: S.-J. Yen, Y.-S. Lee
Nhà XB: Expt. Syst. with Appl.
Năm: 2009

HÌNH ẢNH LIÊN QUAN

Hình  2-1: Quá trình khai thác dữ liệu - Luận văn thạc sĩ công nghệ thông tin  sử dụng cây quyết định phân lớp dữ liệu mất cân đối
nh 2-1: Quá trình khai thác dữ liệu (Trang 16)
Hình  2-2: Quá trình phân lớp dữ liệu - Bước xây dựng mô hình phân lớp - Luận văn thạc sĩ công nghệ thông tin  sử dụng cây quyết định phân lớp dữ liệu mất cân đối
nh 2-2: Quá trình phân lớp dữ liệu - Bước xây dựng mô hình phân lớp (Trang 18)
Hình  2-3: Quá trình phân lớp dữ liệu – Ước lượng độ chính xác mô hình - Luận văn thạc sĩ công nghệ thông tin  sử dụng cây quyết định phân lớp dữ liệu mất cân đối
nh 2-3: Quá trình phân lớp dữ liệu – Ước lượng độ chính xác mô hình (Trang 19)
Hình  2-6: Phương pháp Holdout - Luận văn thạc sĩ công nghệ thông tin  sử dụng cây quyết định phân lớp dữ liệu mất cân đối
nh 2-6: Phương pháp Holdout (Trang 37)
Hình  3-1: Đồ thị ROC biểu diển một bộ phân lớp rời rạc của xác suất B - Luận văn thạc sĩ công nghệ thông tin  sử dụng cây quyết định phân lớp dữ liệu mất cân đối
nh 3-1: Đồ thị ROC biểu diển một bộ phân lớp rời rạc của xác suất B (Trang 39)
Hình  3-2: AUC – diện tích dưới đường cong ROC của một bộ phân lớp A - Luận văn thạc sĩ công nghệ thông tin  sử dụng cây quyết định phân lớp dữ liệu mất cân đối
nh 3-2: AUC – diện tích dưới đường cong ROC của một bộ phân lớp A (Trang 40)
Bảng 4-2: Phương sai, độ lệch chuẩn trên toàn bộ các tập dữ liệu - Luận văn thạc sĩ công nghệ thông tin  sử dụng cây quyết định phân lớp dữ liệu mất cân đối
Bảng 4 2: Phương sai, độ lệch chuẩn trên toàn bộ các tập dữ liệu (Trang 54)
Hình  4-1: Đồ thị so sánh kết quả AUC mean  của tập D Test - Luận văn thạc sĩ công nghệ thông tin  sử dụng cây quyết định phân lớp dữ liệu mất cân đối
nh 4-1: Đồ thị so sánh kết quả AUC mean của tập D Test (Trang 56)
Bảng 4-4: Bảng kết quả 10 lần test trên tập dữ liệu Wine Quality – Red - Luận văn thạc sĩ công nghệ thông tin  sử dụng cây quyết định phân lớp dữ liệu mất cân đối
Bảng 4 4: Bảng kết quả 10 lần test trên tập dữ liệu Wine Quality – Red (Trang 57)
Bảng 4-9: Kết quả tập dữ liệu Car Evaluation - Luận văn thạc sĩ công nghệ thông tin  sử dụng cây quyết định phân lớp dữ liệu mất cân đối
Bảng 4 9: Kết quả tập dữ liệu Car Evaluation (Trang 59)
Bảng 4-11: Kết quả tập dữ liệu Ecoli - Luận văn thạc sĩ công nghệ thông tin  sử dụng cây quyết định phân lớp dữ liệu mất cân đối
Bảng 4 11: Kết quả tập dữ liệu Ecoli (Trang 60)
Bảng 4-13: Kết quả tập dữ liệu Mushroom - Luận văn thạc sĩ công nghệ thông tin  sử dụng cây quyết định phân lớp dữ liệu mất cân đối
Bảng 4 13: Kết quả tập dữ liệu Mushroom (Trang 61)

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