1. Trang chủ
  2. » Tất cả

Môn khai phá dữ liệu phân lớp các khái niệm cơ bản

73 2 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 đề Các khái niệm cơ bản
Người hướng dẫn TS. Lê Chí Ngọc
Trường học Trường Đại học Bách Khoa Hà Nội
Chuyên ngành Khai phá dữ liệu phân lớp
Thể loại Báo cáo cuối kỳ
Thành phố Hà Nội
Định dạng
Số trang 73
Dung lượng 1,19 MB

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

Nội dung

Chúng độc lập với các bộ dữ liệuhuấn luyện, có nghĩa là chúng không được sử dụng để xây dựng bộ phân lớp.Độ chính xác của bộ phân lớp trên một bộ kiểm tra nhất định là tỷ lệ phần trăm củ

Trang 1

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

VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC

BÁO CÁO CUỐI KÌ MÔN KHAI PHÁ DỮ LIỆU PHÂN LỚP - CÁC KHÁI NIỆM CƠ BẢN

Giảng viên hướng dẫn: TS LÊ CHÍ NGỌC

Trang 2

Mục lục

Mục lục 1

1 Khái niệm cơ bản 3

1.1 Phân lớp là gì? 3

1.2 Cách tiếp cận chung để phân lớp 3

2 Quyết định cây quy nạp 6

2.1 Cây quyết định quy nạp 7

2.2 Các biện pháp lựa chọn thuộc tính 12

2.2.1 Information gain 13

2.2.2 Gain Ratio 17

2.2.3 Chỉ số Gini 18

2.2.4 Các biện pháp lựa chọn thuộc tính khác 20

2.3 Cắt tỉa cây 21

2.4 Khả năng mở rộng và cây quyết định quy nạp 24

2.5 Khai thác trực quan cho cây quyết định 26

3 Phương pháp phân lớp Bayes 29

3.1 Định lý Bayes’ 29

3.2 Phân lớp Bayes Nạve 30

4 Phân lớp dựa trên quy tắc 35

4.1 Sử dụng quy tắc IF-THEN để phân lớp 35

4.2 Khai thác quy tắc từ cây quyết định 37

4.3 Quy tắc quy nạp sử dụng thuật tốn bao phủ tuần tự 39

Các biện pháp chất lượng quy tắc 42

Quy tắc cắt tỉa 44

5 Đánh giá và lựa chọn mơ hình 45

5.1 Số liệu để đánh giá hiệu suất phân loại 45

5.2 Phương pháp giữ và lấy mẫu ngẫu nhiên 52

5.3 Xác thực chéo 53

5.4 Bootstrap 53

5.5. Lựa chọn mơ hình bằng các phép thử thống kê về ý nghĩa 54

5.6 So sánh các phân lớp dựa trên lợi ích của chi phí và đường cong ROC 56

6 Kỹ thuật để cải thiện độ chính xác của phân lớp 61

6.1 Giới thiệu các phương pháp tập hợp 61

Trang 3

6.2 Bagging 63

6.3. Boosting và AdaBoost 64

6.4. Random Forests 67

6.5 Cải thiện độ chính xác của phân lớp dữ liệu mất cân bằng lớp 68

Tóm tắt 71

Trang 4

1. Khái niệm cơ bản

Chúng tôi giới thiệu khái niệm phân lớp trong Mục 1.1 Mục 1.2 mô tả cách tiếp cậnchung để phân lớp là một quá trình gồm hai bước Trong bước đầu tiên, chúng tôi xâydựng một mô hình phân lớp dựa trên dữ liệu trước đó Trong bước thứ hai, chúng tôixác định xem độ chính xác của mô hình có được chấp nhận hay không và nếu có,chúng tôi sử dụng mô hình để phân lớp dữ liệu mới

1.1 Phân lớp là gì?

Một nhân viên cho vay của ngân hàng cần phân tích dữ liệu để tìm hiểu về nhữngngười xin vay tiền xem người nào là “an toàn” và người nào là “rủi ro” cho ngânhàng Một người quản lý tiếp thị tại AllElect Electronics cần phân tích dữ liệu để giúp

dự đoán xem khách hàng có mua máy tính mới hay không Một nhà nghiên cứu y tếmuốn phân tích dữ liệu ung thư vú để dự đoán một trong ba phương pháp điều trị cụthể mà bệnh nhân nên nhận Trong mỗi ví dụ này, nhiệm vụ phân tích dữ liệu là phânlớp, trong đó mô hình được xây dựng để dự đoán các nhãn lớp, chẳng hạn như “Antoàn” hay “Rủi ro” đối với dữ liệu ứng dụng cho vay; “Có” hoặc “Không” cho các dữliệu tiếp thị; hoặc “điều trị A”, “điều trị B”, hoặc “điều trị C” đối với các dữ liệu y

tế Các loại này có thể được biểu diễn bằng các giá trị rời rạc, trong đó thứ tự giữa cácgiá trị không có ý nghĩa Ví dụ, các giá trị 1, 2 và 3 có thể được sử dụng để đại diệncho các phương pháp điều trị A, B và C, trong đó chúng không có thứ tự ngụ ý trongnhóm chế độ điều trị này Giả sử rằng người quản lý tiếp thị muốn dự đoán một kháchhàng cụ thể sẽ chi bao nhiêu trong một lần mua hàng tại AllElect Electronics Nhiệm

vụ phân tích dữ liệu này là một ví dụ về dự đoán số, trong đó mô hình được xây dựng

dự đoán là một hàm có giá trị liên tục hoặc giá trị được sắp xếp, trái ngược với nhãnlớp Mô hình này là một dự đoán Phân tích hồi quy là một phương pháp thống kêthường được sử dụng để dự đoán số; do đó hai thuật ngữ có xu hướng được sử dụngđồng nghĩa, mặc dù các phương pháp khác để dự đoán số tồn tại Phân lớp và dự đoán

số là hai loại vấn đề dự đoán chính Chương này tập trung vào phân lớp

1.2 Cách tiếp cận chung để phân lớp

“Phân lớp dữ liệu hoạt động như thế nào?” Phân lớp dữ liệu là một quá trình gồm haibước, bao gồm một bước học tập (nơi xây dựng mô hình phân lớp) và bước phân lớp(trong đó mô hình được sử dụng để dự đoán nhãn lớp cho dữ liệu đã cho) Quá trìnhnày được hiển thị cho dữ liệu ứng dụng cho vay của Hình 1 (Dữ liệu được đơn giảnhóa cho mục đích minh họa Trong thực tế, chúng ta có thể mong đợi nhiều thuộc tínhhơn sẽ được xem xét Trong bước đầu tiên, một trình phân lớp được xây dựng mô tảmột tập hợp các lớp hoặc khái niệm dữ liệu được xác định trước Đây là bước học tập

Trang 5

(hoặc giai đoạn đào tạo ), trong đó thuật toán phân lớp xây dựng trình phân lớp bằngcách phân tích hoặc học hỏi từ một tập huấn luyện được tạo thành từ các bộ dữ liệu vànhãn lớp liên quan của chúng Một bộ dữ liệu X, được biểu thị bằng một vectơ thuộctính n chiều X = (x1, x2, , x n), mô tả n các phép đo được thực hiện trên bộ dữ liệu từ nthuộc tính cơ sở dữ liệu, lần lượt là A1, A2, , A n Mỗi bộ dữ liệu X được coi là thuộc

về một lớp được xác định trước, như được xác định bởi một thuộc tính khác gọi làthuộc tính nhãn lớp Thuộc tính nhãn lớp là giá trị rời rạc và không có thứ tự Nó đượcphân loại (hoặc định danh) trong đó mỗi giá trị phục vụ như một danh mục hoặc lớp.Các bộ dữ liệu riêng lẻ tạo thành tập huấn luyện được tham chiếu như là bộ dữ liệu đàotạo và lấy mẫu ngẫu nhiên từ cơ sở dữ liệu được phân tích Trong ngữ cảnh phân lớp,các bộ dữ liệu có thể được gọi là mẫu, ví dụ, trường hợp, điểm dữ liệu hoặc đối tượng

Hình 1a : Quá trình phân lớp dữ liệu: (a) Học tập: Dữ liệu đào tạo được phân tích

bằng thuật toán phân lớp Ở đây, thuộc tính nhãn lớp là quyết định cho vay và mô hình

đã học được thể hiện dưới dạng các quy tắc phân lớp

Trang 6

Hình 1b : Quá trình phân lớp dữ liệu: (b) Phân lớp: Dữ liệu thử nghiệm được sử dụng

để ước tính độ chính xác của các quy tắc phân lớp Nếu độ chính xác được coi là chấpnhận được, các quy tắc có thể được áp dụng để phân lớp các bộ dữ liệu mới

Bởi vì nhãn lớp của mỗi bộ dữ liệu huấn luyện được cung cấp, bước này còn được gọi

là học có giám sát (nghĩa là việc học của trình phân lớp được giám sát bởi vì nó đượcchỉ định cho mỗi lớp đào tạo thuộc về lớp nào Nó tương phản với việc học tập khônggiám sát (hoặc phân cụm), trong đó không biết nhãn lớp của mỗi bộ huấn luyện, và sốlượng hoặc tập hợp các lớp sẽ học có thể không được biết trước Ví dụ: nếu chúng tôikhông có sẵn dữ liệu quyết định cho vay đối với tập huấn luyện, chúng tôi có thể sửdụng phân cụm để cố gắng xác định các nhóm

Bước đầu tiên của quy trình phân lớp này cũng có thể được xem là việc học ánh xạhoặc hàm y = f(X), có thể dự đoán nhãn lớp liên quan y của một bộ dữ liệu X Trongquan điểm này, chúng tôi muốn tìm hiểu ánh xạ hoặc hàm phân tách các lớp dữliệu Thông thường, ánh xạ này được thể hiện dưới dạng quy tắc phân lớp cây quyếtđịnh hoặc công thức toán học Trong ví dụ của chúng tôi, ánh xạ được biểu diễn dướidạng các quy tắc phân lớp xác định các ứng dụng cho vay là an toàn hoặc rủi ro (Hình1a) Các quy tắc có thể được sử dụng để phân lớp các bộ dữ liệu trong tương lai, cũngnhư cung cấp cái nhìn sâu sắc hơn về nội dung dữ liệu Họ cũng cung cấp một đại diện

dữ liệu mẫu

“Điều gì nói về độ chính xác khi phân lớp?” Ở bước thứ hai (Hình 1b), mô hình được

sử dụng để phân lớp Đầu tiên, độ chính xác dự đoán của phân lớp được ước tính Nếuchúng ta sử dụng tập huấn luyện để đo độ chính xác của bộ phân lớp, ước tính này có

Trang 7

thể sẽ lạc quan, bởi vì bộ phân lớp có xu hướng phù hợp với dữ liệu (nghĩa là trongquá trình học, nó có thể kết hợp một số dị thường cụ thể của dữ liệu đào tạo không cótrong dữ liệu chung thiết lập tổng thể) Do đó, một bộ kiểm tra được sử dụng, bao gồmcác bộ kiểm tra và nhãn lớp liên quan của chúng Chúng độc lập với các bộ dữ liệuhuấn luyện, có nghĩa là chúng không được sử dụng để xây dựng bộ phân lớp.

Độ chính xác của bộ phân lớp trên một bộ kiểm tra nhất định là tỷ lệ phần trăm của bộkiểm tra được phân lớp chính xác bởi bộ phân lớp Nhãn lớp liên quan của mỗi bộkiểm tra được so sánh với dự đoán lớp của bộ phân lớp đã học cho bộ dữ liệu đó Phần

5 mô tả một số phương pháp để ước tính độ chính xác của phân lớp Nếu độ chính xáccủa trình phân lớp được coi là chấp nhận được, thì trình phân lớp có thể được sử dụng

để phân lớp các bộ dữ liệu trong tương lai mà nhãn lớp không được biết (Dữ liệu nàycũng được đề cập trong tài liệu học máy như là dữ liệu chưa biết trước đó hoặc dữ liệuchưa từng thấy trước đó.) Ví dụ, các quy tắc phân lớp đã học trong Hình 1(a) phân tích

dữ liệu từ các ứng dụng cho vay trước đây có thể được sử dụng để phê duyệt hoặc từchối người xin vay mới hoặc tương lai

2. Quyết định cây quy nạp

Cây quyết định quy nạp là việc học các cây quyết định từ các bộ huấn luyện được dánnhãn lớp Cây quyết định là một cấu trúc cây giống như sơ đồ, trong đó mỗi nút bêntrong (không là nút lá ) biểu thị một kiểm tra trên một thuộc tính, mỗi nhánh biểu thịmột kết quả của kiểm tra và mỗi nút lá (hoặc nút đầu cuối) giữ một nhãn lớp Nút trêncùng trong cây là nút gốc Một cây quyết định điển hình được hiển thị trong Hình

2 Nó đại diện cho khái niệm mua máy tính, nghĩa là, nó dự đoán liệu một khách hàngtại AllElect Electronics có khả năng mua máy tính hay không Các nút bên trong đượcbiểu thị bằng hình chữ nhật và các nút lá được biểu thị bằng hình bầu dục Một sốthuật toán cây quyết định chỉ tạo ra các cây nhị phân (trong đó mỗi nút nội bộ phânnhánh ra hai nút khác), trong khi các thuật toán khác có thể tạo ra các cây không nhịphân

Trang 8

Hình 2 : Cây quyết định cho khái niệm mua máy tính, cho biết liệu khách hàng của

AllElect Electronic có khả năng mua máy tính hay không Mỗi nút nội bộ (không là lá)đại diện cho một thử nghiệm trên một thuộc tính Mỗi nút lá đại diện cho một lớp

(buy_computer = yes hoặc buy_computer = no).

“Các loại cây quyết định được sử dụng để phân lớp như thế nào?” Cho một bộ dữ liệu

X, mà nhãn lớp liên quan không xác định, các giá trị thuộc tính của bộ dữ liệu đượckiểm tra đối với cây quyết định Một đường dẫn được truy tìm từ gốc đến nút lá, dựđoán lớp cho bộ dữ liệu đó Cây quyết định có thể dễ dàng được chuyển đổi đến quytắc phân lớp

“Tại sao các trình phân lớp cây quyết định lại phổ biến đến vậy?” Việc xây dựng các

trình phân lớp cây quyết định không yêu cầu bất kỳ kiến thức miền hoặc cài đặt tham

số nào, do đó nó thích hợp để tìm kiếm ra tri thức Cây quyết định có thể xử lý dữ liệu

đa chiều Đại diện về kiến thức thu được ở dạng cây là trực quan và thường dễ bị đồnghóa bởi con người Các bước học tập và phân lớp của cây quyết định quy nạp rất đơngiản và nhanh chóng Nói chung, phân lớp cây quyết định có độ chính xác tốt Tuynhiên, việc sử dụng thành công có thể phụ thuộc vào dữ liệu Các thuật toán cây quyếtđịnh quy nạp đã được sử dụng để phân lớp trong nhiều lĩnh vực ứng dụng như y học,chế tạo và sản xuất, phân tích tài chính, thiên văn học và sinh học phân tử Cây quyếtđịnh là cơ sở của một số hệ thống quy tắc thương mại

Trong Phần 2.1, chúng tôi mô tả một thuật toán cơ bản để học cây quyết định Trongquá trình xây dựng cây, các biện pháp chọn thuộc tính được sử dụng để chọn thuộctính phân vùng tốt nhất cho các bộ dữ liệu thành các lớp riêng biệt Các biện pháp phổbiến của lựa chọn thuộc tính được đưa ra trong Mục 2.2 Khi cây quyết định được xâydựng, nhiều nhánh có thể phản ánh sai số hoặc ngoại lai trong dữ liệu huấn luyện Cắttỉa cây là cố gắng xác định và loại bỏ các nhánh như vậy, với mục tiêu cải thiện độchính xác phân lớp trên dữ liệu không nhìn thấy Cắt tỉa cây được mô tả trong Phần

Trang 9

2.3 Các vấn đề về khả năng mở rộng cho việc tạo ra các cây quyết định từ các cơ sở

dữ liệu lớn sẽ được thảo luận trong Phần 2.4 phần 2.5 trình bày một cách tiếp cận khaithác trực quan đến cây quyết định quy nạp

2.1 Cây quyết định quy nạp

Vào cuối những năm 1970 và đầu những năm 1980, J Ross Quinlan, một nhà nghiêncứu về học máy, đã phát triển một thuật toán cây quyết định được gọi là ID3 (IterativeDichotomiser) Công việc này mở rộng trên công trình trước đó trong các hệ thống họctập khái niệm, được mô tả bởi EB Hunt, J Marin và PT Stone Quinlan sau đó đã trìnhbày C4.5 (một kế thừa của ID3), đã trở thành một chuẩn mực mà các thuật toán họctập có giám sát mới hơn thường được lấy ra so sánh Năm 1984, một nhóm các nhàthống kê (L Breiman, J Friedman, R Olshen và C Stone) đã xuất bản cuốn sách

“Cây phân lớp và hồi quy” (Classification and Regression Trees -CART), mô tả việctạo ra các cây quyết định nhị phân ID3 và CART được phát minh độc lập với nhaucùng một lúc, nhưng theo một cách tiếp cận tương tự để học cây quyết định từ các bộ

dữ liệu đào tạo Hai thuật toán nền tảng này đã tạo ra một loạt các công việc về câyquyết định quy nạp

ID3, C4.5 và CART áp dụng cách tiếp cận tham lam (nghĩa là không phản hồi) trong

đó cây quyết định được xây dựng theo cách phân chia và chinh phục đệ quy từ trênxuống Hầu hết các thuật toán cho cây quyết định quy nạp cũng tuân theo cách tiếpcận từ trên xuống, bắt đầu bằng một tập huấn luyện các bộ dữ liệu và nhãn lớp liênquan của chúng Tập huấn luyện được phân chia đệ quy thành các tập con nhỏ hơn khicây đang được xây dựng Một thuật toán cây quyết định cơ bản được tóm tắt trongHình 8.3 Thoạt nhìn, thuật toán có thể xuất hiện từ lâu, nhưng đừng sợ! Nó khá đơngiản Chiến lược như sau

 Thuật toán được gọi với ba tham số: D, danh sách thuộc tính và phương thứcchọn thuộc tính Chúng tôi đề cập đến D như là một phân vùng dữ liệu Banđầu, nó là bộ hoàn chỉnh của các bộ dữ liệu huấn luyện và nhãn lớp liên quancủa chúng Danh sách thuộc tính tham số là danh sách các thuộc tính mô tả các

bộ dữ liệu Phương pháp chọn thuộc tính chỉ định một thủ tục heuristic để chọnthuộc tính phân biệt tốt nhất mà các bộ dữ liệu đã cho theo lớp Quy trình này

sử dụng một biện pháp lựa chọn thuộc tính như: thông tin đạt được(Information gain) hoặc chỉ số Gini Cây có nhị phân hay không thường đượcđiều khiển bởi thước đo lựa chọn thuộc tính Một số biện pháp lựa chọn thuộctính như: chỉ số Gini, thực thi cây kết quả là nhị phân Ngoài ra, như thông tinđạt được (Information gain), thì không, trong đó cho phép phân chia nhiềuđường (nghĩa là hai hoặc nhiều nhánh được phát triển từ một nút)

Trang 10

 Cây bắt đầu như một nút đơn N, đại diện cho các bộ dữ liệu huấn luyện trong D(bước 1)

Thuật toán: Tạo cây quyết định Tạo một cây quyết định từ các bộ dữ liệu đào tạo

của phân vùng dữ liệu D

Đầu vào:

 Phân vùng dữ liệu D, là một tập hợp các bộ dữ liệu huấn luyện và nhãn lớp liênquan của chúng;

 danh sách thuộc tính, tập hợp các thuộc tính ứng cử viên;

 Phương pháp lựa chọn thuộc tính, một thủ tục để xác định tiêu chí chia táchphân vùng tốt nhất các bộ dữ liệu thành các lớp riêng lẻ Tiêu chí này bao gồmmột thuộc tính phân tách và, có thể, là một tập hợp con chia điểm hoặc tách

Đầu ra: Một cây quyết định.

Phương pháp:

(1) tạo một nút N;

(2) nếu các bộ dữ liệu trong D đều thuộc cùng một lớp C, thì

(3) trả về N dưới dạng nút lá có nhãn C;

(4) nếu danh sách thuộc tính trống thì

(5) trả về N dưới dạng nút lá có nhãn đa số trong D;

(6) áp dụng phương pháp lựa chọn Thuộc tính (D, danh sách thuộc tính) để tìm tiêu chíchia tách tốt nhất;

(7) nút nhãn N với tiêu chí chia tách;

(8) nếu thuộc tính tách là giá trị rời rạc và

phân chia nhiều đường được phép sau đó

(9) danh sách thuộc tính ← danh sách thuộc tính - thuộc tính tách;

(10) cho mỗi kết quả j của tiêu chí chia tách

// phân vùng các bộ dữ liệu và tăng các cây con cho mỗi phân vùng

(11) đặt Dj là tập hợp các bộ dữ liệu trong D thỏa mãn kết quả j; // một phânvùng

(12) nếu Dj trống thì

(13) gắn một lá có nhãn lớp đa số trong D vào nút N;

(14) nếu không thì đính kèm nút được trả về bởi cây quyết định (Dj, danh sách thuộctính) cho nút N;

kết thúc

(15) trả lại N;

Ghi chú: Thuật toán cơ bản để tạo cây quyết định từ các bộ dữ liệu huấn luyện.

Trang 11

 Nếu các bộ dữ liệu trong D là cùng một lớp, thì nút N trở thành một chiếc lá vàđược gắn nhãn với lớp đó (bước 2 và 3) Lưu ý rằng bước 4 và 5 là các điềukiện kết thúc Tất cả các điều kiện kết thúc được giải thích ở cuối thuật toán.

 Mặt khác, thuật toán gọi phương thức chọn thuộc tính để xác định tiêu chí chiatách Tiêu chí phân tách cho chúng ta biết thuộc tính nào cần kiểm tra tại nút Nbằng cách xác định cách tốt nhất để phân tách hoặc phân vùng các bộ dữ liệutrong D thành các lớp riêng lẻ (bước 6) Tiêu chí phân tách cũng cho chúng tabiết những nhánh nào sẽ phát triển từ nút N liên quan đến kết quả của bài kiểmtra đã chọn Cụ thể hơn, tiêu chí chia tách chỉ ra thuộc tính chia tách và cũng cóthể chỉ ra một điểm chia Tiêu chí chia tách được xác định sao cho lý tưởngnhất là các phân vùng kết quả ở mỗi nhánh càng “tinh khiết” càng tốt Mộtphân vùng là “tinh khiết” nếu tất cả các bộ dữ liệu trong nó thuộc về cùng mộtlớp Nói cách khác, nếu chúng ta chia các bộ dữ liệu trong D theo kết quả loạitrừ lẫn nhau của tiêu chí chia tách, chúng tôi hy vọng các phân vùng kết quả sẽ

“tinh khiết” nhất có thể

 Nút N được gắn nhãn với tiêu chí chia tách, đóng vai trò kiểm tra tại nút (bước7) Một nhánh được phát triển từ nút N cho mỗi kết quả của tiêu chí chiatách Các bộ dữ liệu trong D được phân vùng tương ứng (bước 10 đến 11) Có

ba trường hợp có thể xảy ra, như được minh họa trong Hình 8.4 Đặt A là thuộctính chia A có v giá trị riêng biệt, {a1, a2, , av}, dựa trên dữ liệu đào tạo

Trang 12

Hình 8.4 Hình này cho thấy ba khả năng phân vùng các bộ dữ liệu dựa trên tiêu chí

chia tách, mỗi bộ có các ví dụ Đặt A là thuộc tính tách (a) Nếu A có giá trị rời rạc, thìmột nhánh được tăng cho mỗi giá trị đã biết của A (b) Nếu A có giá trị liên tục, thì hainhánh được tăng trưởng, tương ứng với điểm chia ≤ A và điểm chia >A (c) Nếu A cógiá trị rời rạc và phải tạo ra cây nhị phân, thì phép thử có dạng A ∈ SA, trong đó SA làtập con tách cho A

1 A có giá trị rời rạc: Trong trường hợp này, kết quả của thử nghiệm tạinút N tương ứng trực tiếp với các giá trị đã biết của A Một nhánh được tạocho mỗi giá trị đã biết aj của A và được gắn nhãn với giá trị đó (Hình8.4a) Phân vùng Dj là tập hợp con của các bộ dữ liệu được gắn nhãn lớptrong D có giá trị aj là A Bởi vì tất cả các bộ dữ liệu trong một phân vùngnhất định có cùng giá trị cho A, không cần xem xét phân vùng trong các bộ

dữ liệu trong tương lai Do đó, nó bị xóa khỏi danh sách thuộc tính (bước 8

và 9)

2 A có giá trị liên tục: Trong trường hợp này, thử nghiệm tại nút N có haikết quả có thể xảy ra, tương ứng với các điều kiện A ≤ điểm chia và A >điểm chia tương ứng, trong đó điểm chia là điểm phân tách được trả về bằngphương pháp chọn Thuộc tính như một phần của tiêu chí chia (Trong thực

tế, điểm chia a, thường được coi là trung điểm của hai giá trị liền kề đã biếtcủa A và do đó có thể không thực sự là giá trị có sẵn của A từ dữ liệu đàotạo.) Hai nhánh được trồng từ N và được dán nhãn theo đến các kết quảtrước đó (Hình 8.4b) Các bộ dữ liệu được phân vùng sao cho D1 giữ tập hợpcon của các bộ dữ liệu được gắn nhãn lớp trong D mà A ≤ điểm chia, trongkhi D2 giữ phần còn lại

3 A có giá trị rời rạc và cây nhị phân phải được tạo ra (như được quy địnhbởi biện pháp lựa chọn thuộc tính hoặc thuật toán đang được sử dụng): Thửnghiệm tại nút N có dạng hình thức “A ∈ SA?” Trong đó SA là tập hợp concho A , được trả về bằng phương pháp chọn thuộc tính như một phần củatiêu chí chia tách Nó là tập hợp con của các giá trị đã biết của A Nếumột bộ dữ liệu đã cho có giá trị aj của A và nếu aj ∈ SA, thì thử nghiệm tạinút N được thỏa mãn Hai nhánh được trồng từ N (Hình 8.4c) Theo quy ước,nhánh bên trái của N được dán nhãn có để D1 tương ứng với tập hợp con củacác bộ dữ liệu được gắn nhãn lớp trong D thỏa mãn thử nghiệm Nhánh bênphải của N được dán nhãn không sao cho D2 tương ứng với tập hợp các bộ

dữ liệu được gắn nhãn lớp từ D không thỏa mãn thử nghiệm

Trang 13

 Thuật toán sử dụng cùng một quy trình đệ quy để tạo thành cây quyết định chocác bộ dữ liệu tại mỗi phân vùng kết quả Dj của D (bước 14).

 Phân vùng đệ quy chỉ dừng khi bất kỳ một trong các điều kiện kết thúc sau làđúng:

1 Tất cả các bộ dữ liệu trong phân vùng D (đại diện tại nút N) thuộc vềcùng một lớp (bước 2 và 3)

2 Không có thuộc tính nào còn lại trên đó các bộ dữ liệu có thể được phânvùng thêm (bước 4) Trong trường hợp này, bỏ phiếu đa số được sử dụng (bước5) Điều này liên quan đến việc chuyển hướng nút N thành một chiếc lá và gắnnhãn nó với lớp phổ biến nhất trong D Ngoài ra, phân phối lớp của các bộ nút

có thể được lưu trữ

3 Không có bộ dữ liệu nào cho một nhánh nhất định, nghĩa là phân vùng

Dj trống (bước 12) Trong trường hợp này, một chiếc lá được tạo ra với lớp đa

số trong D (bước 13)

 Cây quyết định được trả về (bước 15)

Độ phức tạp tính toán của thuật toán đưa ra tập huấn luyện D là O(n×|D|×log(|D|)),

trong đó n là số thuộc tính mô tả các bộ dữ liệu trong D và |D| là số bộ dữ liệu huấn

luyện trong D Điều này có nghĩa là chi phí tính toán để trồng cây phát triển tối đa n×|

D|×log(|D|) với |D| bộ dữ liệu

Các phiên bản nâng cao của cây quyết định quy nạp cũng đã được đề xuất Khi được

cung cấp dữ liệu đào tạo mới, các cấu trúc này sẽ tái cấu trúc cây quyết định có được

từ việc học trên dữ liệu đào tạo trước đó, thay vì học lại một cây mới từ đầu

Sự khác nhau trong thuật toán cây quyết định bao gồm cách các thuộc tính được chọntrong việc tạo cây (Mục 8.2.2) và các cơ chế được sử dụng để cắt tỉa (Mục 8.2.3).Thuật toán cơ bản được mô tả trước đó yêu cầu một lần vượt qua các bộ dữ liệu huấnluyện trong D cho mỗi cấp độ của cây Điều này có thể dẫn đến thời gian đào tạo dài

và thiếu bộ nhớ khả dụng khi xử lý các cơ sở dữ liệu lớn Những cải tiến liên quan đếnkhả năng mở rộng của cây quyết định được thảo luận trong Phần 8.2.4 Mục 8.2.5 trìnhbày một cách tiếp cận tương tác trực quan để xây dựng cây quyết định Một cuộc thảoluận về các chiến lược để trích xuất các quy tắc từ các cây quyết định được đưa ratrong Phần 8.4.2 liên quan đến phân lớp dựa trên quy tắc

2.2 Các biện pháp lựa chọn thuộc tính

Một biện pháp lựa chọn thuộc tính là một heuristic để chọn tiêu chí phân tách tách biệttốt nhất một phân vùng dữ liệu nhất định D của các bộ dữ liệu đào tạo được gắn nhãn

Trang 14

lớp thành các lớp riêng lẻ Nếu chúng ta chia D thành các phân vùng nhỏ hơn theo kếtquả của tiêu chí chia tách, lý tưởng là mỗi phân vùng sẽ thuần túy (nghĩa là tất cả các

bộ dữ liệu rơi vào một phân vùng đã cho sẽ thuộc cùng một lớp) Về mặt khái niệm,tiêu chí chia tách tốt nhất là một tiêu chí có kết quả chặt chẽ nhất trong một trường hợpnhư vậy Các biện pháp lựa chọn thuộc tính còn được gọi là quy tắc chia tách vì chúngxác định cách các bộ dữ liệu tại một nút nhất định được phân chia

Biện pháp lựa chọn thuộc tính cung cấp một thứ hạng cho từng thuộc tính mô tả các bộ

dữ liệu huấn luyện đã cho Thuộc tính có điểm số tốt nhất được chọn làm thuộc tínhchia cho các bộ dữ liệu đã cho Nếu thuộc tính chia tách có giá trị liên tục hoặc nếuchúng ta bị giới hạn ở các cây nhị phân, thì tương ứng, một điểm phân tách hoặc mộttập hợp con cũng phải được xác định là một phần của tiêu chí chia tách Nút cây đượctạo cho phân vùng D được gắn nhãn với tiêu chí chia tách, các nhánh được phát triểncho từng kết quả của tiêu chí và các bộ dữ liệu được phân vùng tương ứng Phần này

mô tả ba biện pháp lựa chọn thuộc tính phổ biến là: thông tin đạt được ( Informationgain), tỷ lệ khuếch đại (gain ratio) và chỉ số Gini

Ký hiệu được sử dụng ở đây là như sau Đặt D, phân vùng dữ liệu, là tập hợp các bộ

dữ liệu được gắn nhãn lớp Giả sử thuộc tính nhãn lớp có m giá trị riêng biệt xác định

m các lớp riêng biệt, C i (với i = 1, , m) Đặt C i, D là tập hợp các bộ dữ liệu của lớp C i

trong D Giả sử |D| và | C i, D| lần lượt là số bộ dữ liệu trong D và C i, D

bộ dữ liệu nhất định và đảm bảo rằng một cây đơn giản (nhưng không nhất thiết là đơngiản nhất) được tìm thấy

Thông tin dự kiến cần thiết để phân lớp một bộ dữ liệu trong D được cung cấp bởi:

Info (D )=−

i=1

m

p ilog2(p i)(1)

trong đó pi là xác suất khác không mà một hàng tùy ý trong D thuộc về lớp C i và được

ước tính bởi | C i ,D|/|D| Hàm log cơ số 2 được sử dụng, vì thông tin được mã hóa theo

Trang 15

bit Info(D) chỉ là lượng thông tin trung bình cần thiết để xác định nhãn lớp của một hàng trong D Lưu ý rằng, tại thời điểm này, thông tin chúng tôi có chỉ dựa trên tỷ lệ của các bộ dữ liệu của mỗi lớp Info(D) còn được gọi là entropy của D.

Bây giờ, giả sử chúng ta đã phân vùng các bộ dữ liệu trong D trên một số thuộc tính A

có v giá trị riêng biệt: { a1,a2, ,a v}, như được quan sát từ dữ liệu huấn luyện Nếu A cógiá trị rời rạc, các giá trị này tương ứng trực tiếp với kết quả v của thử nghiệm trên A

Thuộc tính A có thể được sử dụng để phân chia D thành v phân vùng hoặc tập hợp con

{D1, D2, , D v}, trong đó D j chứa các bộ dữ liệu trong D có kết quả aj của A Cácphân vùng này sẽ tương ứng với các nhánh được phát triển từ nút N Lý tưởng nhất,chúng tôi muốn phân vùng này tạo ra một phân lớp chính xác của các bộ dữ liệu Đó

là, chúng tôi muốn cho mỗi phân vùng là tinh khiết Tuy nhiên, nhiều khả năng cácphân vùng sẽ không tinh khiết (ví dụ: trong đó một phân vùng có thể chứa một bộ các

bộ dữ liệu từ các lớp khác nhau thay vì từ một lớp duy nhất)

Chúng ta vẫn cần thêm bao nhiêu thông tin (sau khi phân vùng) để đi đến một phânlớp chính xác? Số lượng này được đo bằng:

Thông tin đạt được (Information gain) được định nghĩa là sự khác biệt giữa yêu cầuthông tin ban đầu (nghĩa là chỉ dựa trên tỷ lệ của các lớp) và yêu cầu mới (nghĩa là cóđược sau khi phân vùng trên A) Đó là:

Gain ( A )=Info ( D)−Info A ( D)(3)

Nói cách khác, Gain(A) cho chúng ta biết sẽ kiếm được bao nhiêu khi phân nhánh trên

A Đó là mức giảm dự kiến trong yêu cầu thông tin gây ra bởi việc biết giá trị của A

Thuộc tính A có thông tin thu được cao nhất là Gain(A), được chọn làm thuộc tính

chia tách tại nút N Điều này tương đương với việc chúng tôi muốn phân vùng trênthuộc tính A sẽ thực hiện phân lớp tốt nhất, sao cho lượng thông tin cần để hoàn thànhphân lớp các bộ dữ liệu là tối thiểu ( tức là Info A(D)nhỏ nhấ)

Trang 16

Bảng 1: Tập huấn luyện được gắn nhãn lớp từ cơ sở dữ liệu khách hàng của AllElect

Electronic

Ví dụ 8: Cây quyết định quy nạp sử dụng thông tin đạt được (Information gain) Bảng

1 trình bày một tập huấn luyện D, các bộ dữ liệu được gắn nhãn lớp được chọn ngẫunhiên từ cơ sở dữ liệu khách hàng của AllElect Electronic (Dữ liệu được điều chỉnh từQuinlan [Qui86] Trong ví dụ này, một số thuộc tính bị loại bỏ Các thuộc tính có giá

trị liên tục đã được chuẩn hóa.) Thuộc tính nhãn lớp, buy_computer, có hai giá trị riêng biệt (cụ thể là {yes, no}) ; do đó, có hai lớp riêng biệt (nghĩa là m = 2) Đặt lớp C1

tương ứng với “yes” và lớp C2tương ứng với “no” Có chín hàng thuộc lớp “yes” vànăm hàng thuộc lớp “no” Nút N (gốc) được tạo cho các bộ dữ liệu trong D Để tìmtiêu chí phân tách cho các bộ dữ liệu này, chúng ta phải tính toán mức thông tin đạtđược (Information gain) của từng thuộc tính Đầu tiên chúng ta sử dụng phươngtrình (8.1) để tính toán thông tin dự kiến cần thiết để phân lớp một bộ dữ liệu trong D:

Info (D )=−9

14 log2(149 )− 5

14log2(145 )=0.940 bitsTiếp theo, chúng ta cần tính toán yêu cầu thông tin dự kiến cho từng thuộc

tính Hãy bắt đầu với thuộc tính age Chúng ta cần xem xét sự phân phối của “yes” và

“no” ở bộ dữ liệu cho từng loại age Đối với thể loại “youth” có hai hàng là “yes” và

ba hàng “no” Đối với thể loại “ middle_aged”, có bốn hàng “yes” và không có hàng nào thuộc lớp “no” Đối với “senior”, thì có ba hàng “yes” và hai hàng “no” Sử dụng

phương trình (2), thông tin dự kiến cần thiết để phân lớp một hàng trong D nếu các bộ

dữ liệu được phân vùng theo tuổi là

Trang 17

Do đó, mức thông tin đạt được (Information gain) từ phân vùng như vậy sẽ là

Gain (age )=Info (D )−Info age ( D )=0.940−0.694=0.246 bits

Tương tự, chúng ta có thể tính toán Gain(income) = 0,029 bits, Gain(student) = 0,151 bits và Gain(credit_cating) = 0,048 bits Bởi vì age có mức thông tin đạt được

(Information gain) cao nhất trong số các thuộc tính, nó được chọn làm thuộc tính

tách Nút N được gắn nhãn theo age và các nhánh được phát triển cho từng giá trị của

thuộc tính Các bộ dữ liệu sau đó được phân vùng tương ứng, như trong Hình 5 Lưu ý

rằng các bộ dữ liệu rơi vào phân vùng cho age = middle_aged đều thuộc cùng một

lớp Bởi vì tất cả chúng đều thuộc lớp “yes” nên là một lá nên được tạo ở cuối nhánhnày và được gắn nhãn là “yes” Cây quyết định cuối cùng được thuật toán trả về đãđược hiển thị trước đó trong Hình 2

Hình 4: Thuộc tính age có mức thông tin đạt được (Information gain) cao nhất và do

đó trở thành thuộc tính chia tách tại nút gốc của cây quyết định Chi nhánh được phát

triển cho từng kết quả của age Các bộ dữ liệu được hiển thị phân vùng tương ứng.

“Nhưng làm thế nào chúng ta có thể tính toán mức thông tin đạt được (Information

gain) của một thuộc tính mang giá trị liên tục, không giống như trong ví dụ?” Giả sử,

Trang 18

chúng ta có một thuộc tính A có giá trị liên tục, thay vì giá trị rời rạc (Ví dụ: giả sửthay vì phiên bản tuổi rời rạc từ ví dụ, chúng ta có các giá trị thô cho thuộc tính này.)Đối với trường hợp như vậy, chúng ta phải xác định điểm chia tốt nhất cho A, trong đóđiểm chia là một ngưỡng trên A.

Trước tiên chúng ta sắp xếp các giá trị của A theo thứ tự tăng dần Thông thường,trung điểm giữa mỗi cặp giá trị liền kề được coi là điểm chia có thể Do đó, với các giátrị v đã cho của A, thì v - 1 phân chia có thể được ước tính Ví dụ: trung điểm giữa cácgiá trị a ia i+1của A là:

A được chọn làm điểm phân chia cho A D1 là tập hợp các bộ dữ liệu trong D thỏa mãn

điểm A ≤ điểm chia và D2 là tập hợp các bộ dữ liệu trong D thỏa mãn A > điểm chia.

2.2.2 Gain Ratio

Các biện pháp thông tin đạt được (Imfomation gain) là thiên về các thử nghiệm vớinhiều kết quả Đó là, nó thích chọn các thuộc tính có số lượng giá trị lớn Ví dụ: xemxét một thuộc tính hoạt động như một định danh duy nhất, chẳng hạn như

product_ID Một phân chia trên product_ID sẽ dẫn đến một số lượng lớn các phân

vùng (có nhiều giá trị), mỗi phân vùng chỉ chứa một bộ Vì mỗi phân vùng là tinhkhiết, thông tin cần thiết để phân lớp tập dữ liệu D dựa trên phân vùng này sẽ là

Info product ID ( D)=0. Do đó, thông tin thu được bằng cách phân vùng trên thuộc tính này làtối đa Rõ ràng, một phân vùng như vậy là vô ích đối với phân lớp

C4.5, một kế thừa của ID3, sử dụng một phần mở rộng từ thông tin đạt được(Information gain) được gọi là tỷ lệ khuếch đại (Gain Ratio), cố gắng khắc phục sựthiên vị này Nó áp dụng một loại bình thường hóa để thông tin đạt được bằng cách sửdụng thông tin phân tách của điểm giá trị được định nghĩa tương tự với Info(D) như :

A Lưu ý rằng, đối với mỗi kết quả, nó xem xét số lượng bộ dữ liệu có kết quả đó đối

Trang 19

với tổng số bộ dữ liệu trong D Nó khác với mức thông tin đạt được ( Informationgain), đo lường thông tin liên quan đến phân lớp được thu thập dựa trên cùng một phânvùng Tỷ lệ khuếch đại (Gain ratio) được xác định là

GainRatio ( A )= Gain( A)

SplitInfo A(D)(6)

Thuộc tính có tỷ lệ đạt được (gain ratio) tối đa được chọn làm thuộc tính tách Tuynhiên, lưu ý rằng khi thông tin phân tách tiến đến 0, tỷ lệ trở nên không ổn định Mộtràng buộc được thêm vào để tránh điều này, theo đó mức thông tin đạt được( Information gain) của bài kiểm tra được chọn phải lớn nhất ít nhất bằng mức tăngtrung bình so với tất cả các bài kiểm tra

Ví dụ 2 Tính toán tỷ lệ đạt được cho thuộc tính income Một thử nghiệm về income

chia dữ liệu của Bảng 1 thành ba phân vùng, cụ thể là low, medium và high, tương ứng chứa bốn, sáu và bốn hàng dữ liệu Để tính tỷ lệ đạt được của income, đầu tiên chúng

“A∈SA? ” Cho một hàng, thử nghiệm này là hài lòng nếu giá trị của A cho hàng làmột trong những giá trị được liệt kê trong SA Nếu A có v giá trị có thể, thì có 2v tập

con có thể Ví dụ: nếu income có ba giá trị có thể là {low, medium, high}, thì các tập hợp con có thể là {low, medium, high}, {low, medium}, {low,high}, {medium, high}, {

low }, { medium }, { high} và {} Chúng tôi loại trừ tập hợp {low, medium, high}và

Trang 20

tập hợp trống khỏi xem xét vì về mặt khái niệm, chúng không đại diện cho sự phânchia Do đó, có 2v−2 cách có thể để tạo thành hai phân vùng dữ liệu D, dựa trên phânchia nhị phân trên A.

Khi xem xét phân chia nhị phân, chúng tôi tính tổng trọng số của tạp chất của từngphân vùng kết quả Ví dụ: nếu phân chia nhị phân trên A phân vùng D thành D1 và D2,chỉ mục Gini của D được phân vùng đó là

Gini A ( D)=|D1|

|D|Gini(D1)+|D2|

|D|Gini(D2)(8)Đối với mỗi thuộc tính, mỗi phân chia nhị phân có thể được xem xét Đối với thuộctính có giá trị rời rạc, tập hợp con cung cấp chỉ số Gini tối thiểu cho thuộc tính đóđược chọn làm tập hợp con phân chia

Đối với các thuộc tính có giá trị liên tục, phải xem xét từng điểm phân tách cóthể Chiến lược này là tương tự như mô tả ở trên cho thông tin đạt được(informationgain), nơi trung điểm giữa mỗi cặp giá trị liền kề được thực hiện như điểm chia có thể

có Các điểm đưa ra các chỉ số Gini tối thiểu cho một thuộc tính (liên tục có giá trị)nhất định được thực hiện như là sự chia rẽ điểm của thuộc tính đó Hãy nhớ rằng đốivới điểm phân chia có thể có của A, D1 là tập hợp các bộ dữ liệu trong D thỏa mãn A ≤điểm chia và D2 là tập hợp các bộ dữ liệu trong D thỏa mãn A > điểm phân chia

Việc giảm tạp chất sẽ phát sinh do phân chia nhị phân trên thuộc tính có giá trị rời rạchoặc liên tục có giá trị A là

∆ Gini ( A )=Gini ( D)−Gini A ( D)(9)

Thuộc tính tối đa hóa việc giảm tạp chất (tương đương có chỉ số Gini tối thiểu) đượcchọn làm thuộc tính chia Thuộc tính này và tập hợp con phân chia của nó (đối vớithuộc tính phân chia có giá trị rời rạc) hoặc điểm phân chia (đối với thuộc tính tách cógiá trị liên tục) cùng nhau tạo thành tiêu chí chia tách

Ví dụ 3 Quy nạp của cây quyết định sử dụng chỉ số Gini Đặt D là dữ liệu huấn luyện

được hiển thị trước đó trong Bảng 1, trong đó có chín hàng dữ liệu thuộc về lớp

buy_computer = yes và các bộ dữ liệu còn lại thuộc về lớp buy_computer = no Nút N

(gốc) được tạo cho các bộ dữ liệu trong D Chúng tôi sử dụng cong thức(7) cho chỉ sốGini để tính tạp chất của D:

Gini( D )=1−(149 )2−(145 )2=0.459

Để tìm ra tiêu chí phân tách cho các bộ dữ liệu trong D, chúng ta cần tính toán chỉ số

Gini cho từng thuộc tính Hãy bắt đầu với thuộc tính income và xem xét từng tập hợp

Trang 21

con có thể tách Hãy xem xét tập hợp con {low, medium} Điều này sẽ dẫn đến 10 bản

ghi trong phân vùng D1 đáp ứng các điều kiện “income ∈ {low, medium} ” Bốn hàng

còn lại của D sẽ được gán cho phân vùng D2 Giá trị chỉ số Gini được tính toán dựatrên phân vùng này là

Gini income ∈{low , medium}( D )

¿Gini income ∈{high}(D)

Tương tự , các giá trị chỉ số Gini cho các phân chia trên đó các tập hợp con chính là

0,458 ( tập con {low, high} và {Medium}) và 0.450 (cho các tập con {medium, high}

và {low}) Do đó, phân chia nhị phân tốt nhất cho thu nhập thuộc tính là trên { low,

medium } (hoặc { high }) vì nó chỉ số Gini nhỏ nhất Đánh giá age, chúng tôi có được

{young, senior} (hoặc {middle_aged}) là sự phân chia tốt nhất cho age với chỉ số Gini

là 0,375; đánh giá thuộc tính student và credit_carting là cả nhị phân, với chỉ số Gini

là 0,367 và 0,429 tương ứng

Thuộc tính age và tập hợp con tách {young, senior} đưa ra chỉ số Gini tối thiểu tổng thể, với mức giảm tạp chất là 0,159−0,357 = 0,02 Việc phân chia nhị phân “age ∈ {young, senior}” Kết quả trong sự giảm tối đa trong tạp chất của các bản ghi trong D

và được trả về như một tiêu chuẩn tách Nút N được gắn nhãn với tiêu chí, hai nhánhđược phát triển từ nó và các bộ dữ liệu được phân vùng tương ứng

2.2.4 Các biện pháp lựa chọn thuộc tính khác

Phần này trình bày về các biện pháp lựa chọn thuộc tính không nhằm mục đích toàndiện Chúng tôi đã chỉ ra ba biện pháp thường được sử dụng để xây dựng cây quyếtđịnh Những biện pháp này không phải là không có sự thiên vị của họ Như chúng ta

đã thấy, thông tin thu được (Information gain) thiên về các thuộc tính đa trị Mặc dù sẽđiều chỉnh tỷ lệ lợi cho xu hướng này, nó có xu hướng thích không cân bằng chia

rẽ trong đó một phân vùng là nhiều nhỏ hơn so với các phân vùng khác.Chỉ số Giniđang thiên về các thuộc tính đa trị và có khó khăn khi số lượng các lớp học lớn Nócũng có xu hướng ủng hộ các thử nghiệm dẫn đến phân vùng có kích thước bằng nhau

Trang 22

và độ tinh khiết trong cả hai phân vùng Mặc dù thiên vị, những biện pháp này cho kếtquả hợp lý tốt trong thực tế.

Nhiều biện pháp lựa chọn thuộc tính khác đã được đề xuất CHAID, một thuật toáncây quyết định phổ biến trong tiếp thị, sử dụng thước đo lựa chọn thuộc tính dựa trênthử nghiệm thống kê χ2 để độc lập Các biện pháp khác bao gồm C-SEP (hoạt động tốthơn thông tin dạt được (Information gain) và chỉ số Gini trong một số trường hợp nhấtđịnh) và thống kê G (một biện pháp lý thuyết thông tin gần đúng với phân phối χ2

) Các biện pháp lựa chọn thuộc tính dựa trên nguyên tắc Minimum DescriptionLength (MDL) có độ lệch ít nhất đối với các thuộc tính đa trị Biện pháp MDL dựatrên sử dụng mã hóa kỹ thuật để tìm ra các cây quyết định “tốt nhất” như những ai màđòi hỏi phải có các số ít nhất các bit cho cả mã hóa cây và mã hóa các ngoại lệ đối vớicây (ví dụ, các trường hợp mà không phải là phân lớp chính xác bởi cây) Ý tưởngchính của nó là đơn giản nhất của các giải pháp được ưa thích

Các biện pháp lựa chọn thuộc tính khác xem xét phân chia đa biến (nghĩa là phân vùngcác bộ dữ liệu dựa trên sự kết hợp của các thuộc tính, thay vì dựa trên một thuộctính) Ví dụ, hệ thống CART có thể tìm thấy các phân chia đa biến dựa trên sự kết hợptuyến tính của các thuộc tính Các phân chia đa biến là một dạng xây dựng thuộc tính,trong đó các thuộc tính mới được tạo dựa trên các thuộc tính hiện có

“Biện pháp lựa chọn thuộc tính nào là tốt nhất?” Tất cả các biện pháp đều có một số

sai lệch Nó đã được chỉ ra rằng độ phức tạp thời gian của cây quyết định quy nạpthường tăng theo cấp số nhân với chiều cao của cây Do đó, các biện pháp có xu hướngtạo ra cây nông hơn (ví dụ, với đa đường chứ không phải phân chia nhị phân, và ưutiên phân chia cân bằng hơn) có thể được ưu tiên Tuy nhiên, một số nghiên cứu đãphát hiện ra rằng những cây nông có xu hướng có số lượng lá lớn và tỷ lệ lỗi caohơn Mặc dù có một số nghiên cứu so sánh, không có biện pháp lựa chọn thuộctính nào được tìm thấy là vượt trội hơn đáng kể so với các nghiên cứu khác Hầu hếtcác biện pháp cho kết quả khá tốt

2.3 Cắt tỉa cây

Khi một cây quyết định được xây dựng, nhiều nhánh sẽ phản ánh sự bất thường trong

dữ liệu huấn luyện do sai số hoặc ngoại lệ Các phương pháp cắt tỉa cây giải quyết vấn

đề này Các phương pháp như vậy thường sử dụng các biện pháp thống kê để loại bỏcác nhánh có độ tin cậy thấp nhất Một cây chưa được cắt tỉa và một phiên bản đượccắt tỉa của nó được hiển thị trong Hình 6 Cây tỉa có xu hướng nhỏ hơn và ít phức tạphơn và do đó dễ hiểu hơn Chúng thường nhanh hơn và tốt hơn trong việc phân lớpchính xác dữ liệu thử nghiệm độc lập (nghĩa là các bộ dữ liệu chưa từng thấy trướcđây) so với các cây chưa được xử lý

Trang 23

“Làm thế nào để cắt tỉa cây làm việc?” Có một cách tiếp cận phổ biến để cắt tỉa cây: prepruning and postpruning

Theo cách tiếp cận prepruning, một cây được cắt tỉa bằng cách tạm dừng việc xây

dựng sớm (ví dụ: bằng cách quyết định không phân tách hoặc phân vùng tập hợp các

bộ dữ liệu huấn luyện tại một nút nhất định) Khi dừng lại, nút trở thành một chiếc

lá Chiếc lá có thể giữ lớp thường xuyên nhất trong số các bộ con hoặc phân phối xácsuất của các bộ dữ liệu đó

Khi xây dựng một cây, các biện pháp như ý nghĩa thống kê, mức tăng thông tin( Information gain), chỉ số Gini, v.v., có thể được sử dụng để đánh giá mức độ tốt của

sự phân chia Nếu phân vùng các bộ dữ liệu tại một nút sẽ dẫn đến sự phân tách nằmdưới ngưỡng được chỉ định trước, thì việc phân vùng tiếp theo của tập hợp con đã cho

bị dừng lại Tuy nhiên, có những khó khăn trong việc lựa chọn một ngưỡng thíchhợp Ngưỡng cao có thể dẫn đến cây quá đơn giản, trong khi ngưỡng thấp có thể dẫnđến rất ít đơn giản hóa

Cách tiếp cận thứ hai và phổ biến hơn là postpruning, loại bỏ cây con ra khỏi cây cây

được trồng hoàn toàn Một cây con tại một nút cho trước được cắt tỉa bằng cách loại bỏcác nhánh của nó và thay thế nó bằng một chiếc lá Chiếc lá được dán nhãn với lớpthường xuyên nhất trong số các cây con được thay thế Ví dụ, chú ý đến cây con tại nút

“ A3?” trong cây chưa được chỉnh sửa của Hình 6 Giả sử rằng lớp phổ biến nhất trong

cây con này là lớp B Trong phiên bản cắt tỉa của cây, cây con trong câu hỏi được cắttỉa bằng cách thay thế nó bằng lớp lá B

Hình 6: Một cây quyết định chưa được cắt tỉa và một phiên bản được cắt tỉa của nó.

Trang 24

Thuật toán cắt tỉa độ phức tạp chi phí được sử dụng trong CART là một ví dụ về

phương pháp postpruning Cách tiếp cận này coi độ phức tạp chi phí của cây là một

hàm của số lượng lá trong cây và tỷ lệ lỗi của cây (trong đó tỷ lệ lỗi là tỷ lệ phần trămcủa bộ dữ liệu bị phân lớp sai bởi cây) Nó bắt đầu từ dưới cùng của cây Đối với mỗinút nội bộ N, nó sẽ tính độ phức tạp chi phí của cây con tại N nếu nó được cắt tỉa(nghĩa là được thay thế bằng nút lá) Hai giá trị được so sánh Nếu cắt tỉa cây con tạinút N sẽ dẫn đến độ phức tạp chi phí nhỏ hơn, thì cây con được cắt tỉa Nếu không, nóđược giữ

Một bộ cắt tỉa của các bộ dữ liệu được gắn nhãn lớp được sử dụng để ước tính độ phứctạp của chi phí Bộ này độc lập với tập huấn luyện được sử dụng để xây dựng cây chưađược xử lý và của bất kỳ bộ kiểm tra nào được sử dụng để ước tính độ chínhxác Thuật toán tạo ra một tập hợp các cây được cắt tỉa dần dần Nói chung, cây quyếtđịnh nhỏ nhất giảm thiểu độ phức tạp chi phí được ưu tiên

C4.5 sử dụng một phương pháp gọi là cắt tỉa bi quan, tương tự như phương pháp phứctạp chi phí ở chỗ nó cũng sử dụng các ước tính tỷ lệ lỗi để đưa ra các quyết định liênquan đến việc cắt tỉa cây con Tuy nhiên, cắt tỉa bi quan không yêu cầu sử dụng một bộcắt tỉa Thay vào đó, nó sử dụng tập huấn luyện để ước tính tỷ lệ lỗi Hãy nhớ lại rằngmột ước tính về độ chính xác hoặc lỗi dựa trên tập huấn luyện là quá lạc quan và có sựsai lệch mạnh mẽ Do đó, phương pháp cắt tỉa bi quan điều chỉnh tỷ lệ lỗi thu được từtập huấn luyện bằng cách thêm một hình phạt, để chống lại sự thiên vị phát sinh

Thay vì cắt tỉa cây dựa trên tỷ lệ lỗi ước tính, chúng ta có thể cắt tỉa cây dựa trên số bitcần thiết để mã hóa chúng Cây được cắt tỉa tốt nhất là cây giảm thiểu số lượng bit mãhóa Phương pháp này áp dụng nguyên tắc MDL, được giới thiệu ngắn gọn trong Phần2.2 Ý tưởng cơ bản là giải pháp đơn giản nhất được ưa thích Không giống như việccắt tỉa phức tạp chi phí, nó không yêu cầu một bộ dữ liệu độc lập

Ngoài ra, prepruning và postpruning có thể được xen kẽ cho một cách tiếp cận kết hợp Postpruning đòi hỏi tính toán nhiều hơn prepruning, nhưng nói chung dẫn đến

một cây đáng tin cậy hơn Không có phương pháp cắt tỉa đơn lẻ nào được tìm thấy làvượt trội so với tất cả các phương pháp khác Mặc dù một số phương pháp cắt tỉa phụthuộc vào sự sẵn có của dữ liệu bổ sung để cắt tỉa, nhưng điều này thường không phải

là vấn đề đáng lo ngại khi xử lý các cơ sở dữ liệu lớn

Mặc dù những cây được cắt tỉa có xu hướng nhỏ gọn hơn so với các cây chưa được cắttỉa, chúng vẫn có thể khá lớn và phức tạp Cây quyết định có thể bị lặp đi lặp lại và saochép (Hình 8.7) Sự lặp lại xảy ra khi một thuộc tính được kiểm tra lặp đi lặp lại dọc

theo một nhánh nhất định của cây (ví dụ: “age<60?” Theo sau là “age<45?” và vân

vân) Trong bản sao, cây con trùng lặp tồn tại trong cây Những tình huống này có

Trang 25

thể cản trở tính chính xác và dễ hiểu của cây quyết định Việc sử dụng các phân chia

đa biến (phân chia dựa trên sự kết hợp các thuộc tính) có thể ngăn ngừa các vấn đềnày Một cách tiếp cận khác là sử dụng một hình thức biểu diễn tri thức khác, chẳnghạn như các quy tắc, thay vì các cây quyết định Điều này được mô tả trong Phần8.4.2, cho thấy cách phân lớp dựa trên quy tắc có thể được xây dựng bằng cách tríchxuất các quy tắc IF-THEN từ cây quyết định

Hình 7 Một ví dụ về: (a) sự lặp lại của cây con, trong đó một thuộc tính được kiểm tra

lặp đi lặp lại dọc theo một nhánh nhất định của cây (ví dụ: age) và (b) sao chép cây

con, trong đó cây con trùng lặp tồn tại trong một cây (ví dụ: cây con theo xếp hạng

credit_rating của nút?

Trang 26

2.4 Khả năng mở rộng và cây quyết định quy nạp

“Điều gì xảy ra nếu D, tập huấn luyện thường trú trên đĩa gồm các bộ dữ liệu được

gắn nhãn lớp, không phù hợp với bộ nhớ? Nói cách khác, khả năng quy nạp của cây quyết định có thể mở rộng như thế nào?” Hiệu quả của các thuật toán cây quyết định

hiện có, như ID3, C4.5 và CART, đã được thiết lập tốt cho các tập dữ liệu tương đốinhỏ Hiệu quả trở thành một vấn đề đáng quan tâm khi các thuật toán này được ápdụng để khai thác cơ sở dữ liệu trong thế giới thực rất lớn Các thuật toán cây quyếtđịnh tiên phong mà chúng ta đã thảo luận cho đến nay có hạn chế là các bộ dữ liệu đàotạo nên nằm trong bộ nhớ

Trong các ứng dụng khai thác dữ liệu, các tập huấn luyện rất lớn gồm hàng triệu bộ dữliệu là phổ biến Thông thường, dữ liệu đào tạo sẽ không phù hợp với bộ nhớ! Do đó,việc xây dựng cây quyết định trở nên không hiệu quả do hoán đổi các bộ dữ liệu huấnluyện trong và ngoài bộ nhớ chính và bộ nhớ cache Cần có nhiều cách tiếp cận có khảnăng mở rộng hơn, có khả năng xử lý dữ liệu đào tạo quá lớn để phù hợp với bộnhớ Các chiến lược trước đây để tiết kiệm không gian, bao gồm các phân lớp có giátrị liên tục và dữ liệu lấy mẫu ở mỗi nút Tuy nhiên, những kỹ thuật này vẫn cho rằngtập huấn luyện có thể phù hợp với bộ nhớ

Một số phương pháp cây quyết định có thể mở rộng đã được giới thiệu trong cácnghiên cứu gần đây RainForest, ví dụ thích nghi với lượng bộ nhớ chính có sẵn và ápdụng cho bất kỳ thuật toán cây quyết định nào Phương thức này duy trì một bộ AVC

(trong đó, “AVC” viết tắt của cụm từ “Attribution-Value, Classlabel”) cho mỗi thuộc

tính, tại mỗi nút cây, mô tả các bộ dữ liệu huấn luyện tại nút Tập hợp AVC của mộtthuộc tính A tại nút N cung cấp số lượng nhãn lớp cho mỗi giá trị của A cho các bộ dữliệu tại N Hình 8.8 cho thấy tập AVC cho dữ liệu của Bảng 1 Tập hợp tất cả các tậpAVC tại một nút N là nhóm AVC của N Kích thước của tập AVC cho thuộc tính A tạinút N chỉ phụ thuộc vào số lượng giá trị riêng biệt của A và số lớp trong tập hợp của

bộ dữ liệu tại N Thông thường, kích thước này phải phù hợp với bộ nhớ, ngay cả đốivới dữ liệu trong thế giới thực RainForest cũng có các kỹ thuật, tuy nhiên, để xử lýtrường hợp nhóm AVC không phù hợp với bộ nhớ Do đó, phương pháp này có khảnăng mở rộng cao cho cây quyết định trong các tập dữ liệu rất lớn

BOAT (Bootstrapped Optimistic Algorithm for Tree construction -Thuật toán tối ưuhóa khởi động cho xây dựng cây) là một thuật toán cây quyết định có cách tiếp cậnhoàn toàn khác với khả năng mở rộng, nó không dựa trên việc sử dụng bất kỳ cấu trúc

dữ liệu đặc biệt nào Thay vào đó, nó sử dụng một kỹ thuật thống kê có tên là

“bootstrapping” (Phần 5.4) để tạo ra một số mẫu nhỏ hơn (hoặc tập hợp con) của dữliệu huấn luyện đã cho, mỗi mẫu phù hợp với bộ nhớ Mỗi tập hợp con được sử dụng

để xây dựng một cây, dẫn đến một số cây Các cây được kiểm tra và sử dụng để xây

Trang 27

dựng một cây mới, T’, hóa ra là rất gần với cây sẽ được tạo ra nếu tất cả các dữ liệuhuấn luyện ban đầu phù hợp với bộ nhớ.

Hình 8 Việc sử dụng các cấu trúc dữ liệu để chứa thông tin tổng hợp liên quan đến dữ

liệu huấn luyện (ví dụ: các bộ AVC này mô tả dữ liệu của Bảng 1) là một cách tiếp cận

để cải thiện khả năng mở rộng của cây quyết định

BOAT có thể sử dụng bất kỳ biện pháp lựa chọn thuộc tính nào để chọn điểm phânchia nhị phân và dựa trên khái niệm độ tinh khiết của các phân vùng như chỉ mụcGini BOAT sử dụng giới hạn thấp hơn trong thước đo lựa chọn thuộc tính để pháthiện xem cây này rất tốt T’, khác với cây thực T, sẽ được tạo bằng cách sử dụng tất cả

dữ liệu Nó tinh chỉnh T’ để đến T

BOAT thường chỉ yêu cầu hai lần quét D Đây là một cải tiến khá lớn, thậm chí so vớicác thuật toán cây quyết định truyền thống (ví dụ: thuật toán cơ bản trong Hình 3), yêucầu một lần quét cho mỗi cấp độ cây! BOAT được tìm thấy nhanh hơn hai đến ba lần

so với RainForest, trong khi xây dựng chính xác cùng một cây Một lợi thế nữa củaBOAT là nó có thể được sử dụng để cập nhật gia tăng Nghĩa là, BOAT có thể thựchiện các thao tác chèn và xóa mới cho dữ liệu huấn luyện và cập nhật cây quyết định

để phản ánh những thay đổi này mà không phải xây dựng lại cây từ đầu

Trang 28

2.5 Khai thác trực quan cho cây quyết định

“Có bất kỳ cách tiếp cận tương tác nào đối với cây quyết định cho phép chúng ta hình dung dữ liệu và cây khi nó đang được xây dựng không? Chúng ta có thể sử dụng bất

kỳ kiến thức nào về dữ liệu của mình để giúp xây dựng cây không?” Ở phần này, bạn

sẽ tìm hiểu về cách tiếp cận với cây quyết định hỗ trợ các tùy chọn này Phân lớp dựatrên nhận thức - Perception-based classification (PBC) là một cách tiếp cận tương tácdựa trên các kỹ thuật trực quan đa chiều và cho phép người dùng kết hợp kiến thức nềntảng về dữ liệu khi xây dựng cây quyết định Bằng cách tương tác trực quan với dữliệu, người dùng cũng có khả năng phát triển sự hiểu biết sâu sắc hơn về dữ liệu Cáccây kết quả có xu hướng nhỏ hơn các cây được xây dựng bằng các phương pháp câyquyết định truyền thống và do đó dễ giải thích hơn, trong khi đạt được độ chính xáctương tự

“Làm thế nào dữ liệu có thể được trực quan hóa để hỗ trợ xây dựng cây quyết định tương tác?” PBC sử dụng cách tiếp cận hướng pixel để xem dữ liệu đa chiều với

thông tin nhãn lớp Cách tiếp cận phân đoạn vòng tròn được điều chỉnh, ánh xạ các đốitượng dữ liệu d chiều thành một vòng tròn được phân vùng thành các phân đoạn d,mỗi phân đoạn đại diện cho một thuộc tính (Mục 2.3.1) Ở đây, một giá trị thuộc tínhcủa một đối tượng dữ liệu được ánh xạ tới một pixel màu, phản ánh nhãn lớp của đốitượng Ánh xạ này được thực hiện cho từng cặp giá trị thuộc tính của từng đối tượng

dữ liệu Sắp xếp được thực hiện cho từng thuộc tính để xác định thứ tự sắp xếp trongmột phân khúc Ví dụ: các giá trị thuộc tính trong một phân đoạn nhất định có thểđược tổ chức để hiển thị các vùng đồng nhất (đối với nhãn lớp) trong cùng một giá trịthuộc tính Lượng dữ liệu huấn luyện có thể được hiển thị cùng một lúc được xác địnhgần đúng bởi tích của số lượng thuộc tính và số lượng đối tượng dữ liệu

Hệ thống PBC hiển thị màn hình chia nhỏ, bao gồm cửa sổ tương tác dữ liệu và cửa sổtương tác tri thức (Hình 9) Cửa sổ tương tác dữ liệu hiển thị các phân đoạn vòng tròncủa dữ liệu được kiểm tra, trong khi cửa sổ tương tác tri thức hiển thị cây quyết địnhđược xây dựng cho đến nay Ban đầu, tập huấn hoàn chỉnh được hiển thị trong cửa sổtương tác dữ liệu, trong khi cửa sổ tương tác tri thức hiển thị một cây quyết định trống.Các thuật toán cây quyết định truyền thống chỉ cho phép phân chia nhị phân cho cácthuộc tính số Tuy nhiên, PBC cho phép người dùng chỉ định nhiều điểm phân tách,dẫn đến nhiều nhánh được phát triển từ một nút cây

Trang 29

Hình 9 Ảnh chụp màn hình của PBC, một hệ thống để xây dựng cây quyết định tương

tác Dữ liệu đào tạo đa chiều được xem như các phân đoạn vòng tròn trong cửa sổtương tác dữ liệu (bên trái) Cửa sổ tương tác tri thức (phải) hiển thị cây quyết địnhhiện tại

Một cây được xây dựng tương tác như sau Người dùng trực quan hóa dữ liệu đa chiềutrong cửa sổ tương tác dữ liệu và chọn một thuộc tính tách và một hoặc nhiều điểmphân tách Cây quyết định hiện tại trong cửa sổ tương tác tri thức được mởrộng Người dùng chọn một nút của cây quyết định Người dùng có thểgán nhãn lớp cho nút (làm cho nút trở thành một chiếc lá) hoặc yêu cầu trực quan hóa

dữ liệu huấn luyện tương ứng với nút Điều này dẫn đến một trực quan hóa mới củamọi thuộc tính ngoại trừ các thuộc tính được sử dụng để phân tách các tiêu chí trêncùng một đường dẫn từ gốc Quá trình tương tác tiếp tục cho đến khi một lớp được gáncho mỗi lá của cây quyết định

Các cây được xây dựng với PBC được so sánh với các cây được tạo bởi các thuật toánCART, C4.5 và SPRINT từ các bộ dữ liệu khác nhau Các cây được tạo bằng PBC có

độ chính xác tương đương với cây từ các phương pháp tiếp cận thuật toán, nhưng nhỏhơn đáng kể và do đó dễ hiểu hơn Người dùng có thể sử dụng kiến thức tên miền của

Trang 30

họ trong việc xây dựng cây quyết định, nhưng cũng cĩ thể hiểu sâu hơn về dữ liệu của

họ trong quá trình xây dựng

3. Phương pháp phân lớp Bayes

“Các phân lớp Bayes là gì?” Các phân lớp Bayes là phân lớp thống kê Chúng cĩ

thể dự đốn các xác suất thành viên của lớp, chẳng hạn như xác suất một bộ dữ liệu đãcho thuộc về một lớp cụ thể

Phân lớp Bayes dựa trên định lý Bayes Những nghiên cứu so sánh các thuật tốn phânlớp đã tìm thấy một bộ phân lớp Bayes đơn giản được gọi là phân lớp Nạve Bayes cĩthể so sánh về hiệu suất với cây quyết định và các phân lớp mạng neural đượcchọn Phân lớp Bayes cũng đã thể hiện độ chính xác và tốc độ cao khi áp dụng cho các

Định lý Bayes’ được đặt theo tên của Thomas Bayes, một giáo sĩ người Anh, người đã

làm việc sớm trong lý thuyết xác suất và quyết định trong thế kỷ thứ 18 Đặt X là một bộ dữ liệu Theo thuật ngữ Bayes, X được coi là “bằng chứng” như bình thường

Thơng thường, nĩ được mơ tả bằng các phép đo được thực hiện trên một tập hợp các

thuộc tính n Đặt H là một số giả thuyết, chẳng hạn như bộ dữ liệu X thuộc về một lớp

được chỉ định C Đối với các vấn đề xác định lớp , chúng tơi muốn xác định P(H|X), xác suất mà giả thuyết H được đưa ra “bằng chứng” dữ liệu X Nĩi cách khác, chúng

ta đang tìm kiếm xác suất mà bộ X thuộc về lớp C, với điều kiện là chúng ta biết mơ tả thuộc tính của X.

P(H|X) là xác suất sau, hoặc xác suất hậu nghiệm của H cĩ điều kiện trên X Ví dụ: giả

sử bộ dữ liệu của chúng tơi được giới hạn cho khách hàng được mơ tả theo thuộc tính

age(tuổi) và income(thu nhập); X là khách hàng 35 tuổi với thu nhập 40.000 USD Giả

sử H là giả thuyết rằng khách hàng của chúng tơi sẽ mua máy tính Sau đĩ, P(H|X) phản ánh xác suất khách hàng X sẽ mua một máy tính cho chúng tơi biết tuổi và thu

nhập của khách hàng

Trang 31

Ngược lại, P(H) là xác suất trước, hoặc xác suất tiên nghiệm của H Ví dụ, đây là xácsuất mà bất kỳ khách hàng cụ thể nào sẽ mua máy tính, bất kể tuổi tác, thu nhập hoặc

bất kỳ thơng tin nào khác, cho vấn đề đĩ Xác suất sau, P(H|X), dựa trên nhiều thơng tin hơn (ví dụ: thơng tin khách hàng) so với xác suất trước đĩ, P(H), độc lập với X Tương tự, P(X|H) là xác suất sau của X dựa trên H Đĩ là xác suất mà một khách hàng

35 tuổi và kiếm được 40.000 đơ la, cho rằng chúng tơi biết khách hàng sẽ mua máytính

P(X) là xác suất trước của X Sử dụng ví dụ của chúng tơi, đĩ là xác suất mà một

người trong nhĩm khách hàng của chúng tơi 35 tuổi và kiếm được 40.000 đơ la

“Những xác suất này được ước tính như thế nào?” P(H), P(X|H) và P(X) cĩ thể được

ước tính từ dữ liệu đã cho, như chúng ta sẽ thấy tiếp theo Định lý Bayes rất hữu ích ởchỗ nĩ cung cấp cách tính xác suất sau P(H|X) từ P(H), P(X|H) và P(X) Định lý Bayeslà:

P ( H∨X )= P ( X ∨H ) P (H)

P( X) (10)

Bây giờ chúng ta đã cĩ cách đĩ, trong phần tiếp theo, chúng ta sẽ xem xét định lýBayes được sử dụng như thế nào trong phân lớp Bayes nạve

3.2 Phân lớp Bayes Nạve

Trình phân lớp Bayes nạve hoặc phân lớp Bayes đơn giản hoạt động như sau:

 Đặt D là tập huấn luyện các bộ dữ liệu và nhãn lớp liên quan của chúng Nhưthường lệ, mỗi bộ dữ liệu được biểu thị bằng vectơ thuộc tính n chiều,

X ={x1, x2, … , x n} mơ tả n phép đo được thực hiện trên bộ dữ liệu từ n thuộc tính,lần lượt là A1, A2,… , A n

 Giả sử cĩ m lớp C1, C2, … , C m Đưa ra một bộ X, trình phân lớp sẽ dự đốn rằng

X thuộc về lớp cĩ xác suất hậu nghiệm cao nhất dựa trên X Nghĩa là, trình

phân lớp Bayesian dự đốn rằng X thuộc về lớp Ci khi và chỉ khi

Trang 32

 Vì P( X) là hằng số cho tất cả các lớp, chỉ P( X∨C i)P (C i) cần được tối đahóa Nếu các xác suất trước của lớp không được biết đến, thì người ta thườngcho rằng các lớp có khả năng như nhau, nghĩa là P(C1) = P(C2)=…=P(C m) và

do đó chúng tôi sẽ tối đa hóa P( X∨C i) Mặt khác, chúng tôi tối đa hóa

P( X∨C i)P (C i) Lưu ý rằng xác suất trước của lớp có thể được ước tính bởi

P(C i)=¿C i , D∨¿∨D∨¿ trong đó ¿C i ,D∨¿ là số dữ liệu đào tạo của lớp C i trong D.

 Với các tập dữ liệu có nhiều thuộc tính, sẽ rất tốn kém khi tính toán P( X∨C i) Để giảm tính toán trong việc đánh giá P( X∨C i), giả định chưa từng có về sựđộc lập có điều kiện được đưa ra Điều này giả định rằng các giá trị của cácthuộc tính độc lập có điều kiện với nhau, được đưa ra nhãn lớp của dữ liệu(nghĩa là không có mối quan hệ phụ thuộc giữa các thuộc tính) Như vậy

là rời rạc hay có giá trị liên tục

Chẳng hạn, để tính P( X∨C i) chúng tôi xem xét các yếu tố sau:

(a) Nếu A k là rời rạc, thì P(x kC i) là số bộ dữ liệu của lớp C i trong D có giá trị

x k cho A k, chia bởi |C i , D| - số bộ dữ liệu của lớp C i trong D.

(b) Nếu A k có giá trị liên tục, thì chúng ta cần thực hiện thêm một chút côngviệc, nhưng việc tính toán khá đơn giản Một thuộc tính có giá trị liêntục thường được giả định là có phân phối Gaus với độ lệch trung bình μvà độlệch chuẩnσ , được xác định bởi

Trang 33

Ví dụ: đặt X = (35, $40.000), trong đó A1 và A2 lần lượt là các thuộc tính

(age)tuổi và (income)thu nhập Hãy để thuộc tính nhãn lớp là (buys_computer)mua máy tính Nhãn lớp liên quan cho X là có (nghĩa là mua máy tính = có) Giả sử rằng tuổi không bị rời rạc và do đó nó tồn tại như một

thuộc tính có giá trị liên tục Giả sử từ tập huấn luyện, chúng tôi thấy rằngkhách hàng ở D mua máy tính là 38 ± 12 tuổi Nói cách khác, đối với thuộc tính

tuổi và lớp này, chúng ta có μ = 38 năm và σ =12 Chúng ta có thể thay các đạilượng này, cùng với x1 = 35 cho dữ liệu X của chúng ta vào biểu thức (13) để

ước tính P(tuổi = 35|mua máy tính = có) Để xem xét nhanh các tính toán trung

bình và độ lệch chuẩn, vui lòng xem Mục 2.2

Để dự đoán nhãn lớp của X, P( X∨C i)P (C i) được ước tính cho mỗi lớp C i

Trình phân lớp dự đoán rằng nhãn lớp của X là lớp C i khi và chỉ khi

P(X|C i)P(C i)>P(X∨C j)P(C j)với 1 ≤ j≤ m , j≠ i(15)

Nói cách khác, nhãn lớp dự đoán là lớp C iP( X∨C i)P (C i) đạt cực đại

“Các phân lớp Bayes có hiệu quả như thế nào?” Các nghiên cứu thực nghiệm

khác nhau về phân lớp này so với các phân lớp cây quyết định và mạng nơ-ron

đã tìm thấy nó có thể so sánh được trong một số lĩnh vực Về lý thuyết, cácphân lớp Bayes có tỷ lệ lỗi tối thiểu so với tất cả các phân lớp khác Tuy nhiên,trong thực tế, điều này không phải lúc nào cũng đúng, do không chính xác trongcác giả định được đưa ra để sử dụng, chẳng hạn như tính độc lập có điều kiệncủa lớp và thiếu dữ liệu xác suất có sẵn

Các trình phân lớp Bayes cũng hữu ích ở chỗ chúng cung cấp một sự biện minh

về mặt lý thuyết cho các phân lớp khác không sử dụng rõ ràng định lýBayes Ví dụ, theo các giả định nhất định, có thể chỉ ra rằng nhiều thuậttoán mạng nơ-ron và thuật toán khớp đường cong đưa ra giả thuyết tối đa, cũngnhư phân loại Bayes na¨ive

Ví dụ 4 Dự đoán nhãn lớp bằng cách sử dụng phân lớp Bayes Chúng tôi

muốn dự đoán nhãn lớp của một dữ liệu bằng cách sử dụng phân lớp Bayesna¨ive, được cung cấp cùng một dữ liệu huấn luyện như trong ví dụ 3 cho câyquyết định Dữ liệu huấn luyện đã được hiển thị trước đó trong Bảng 1 Các bộ

dữ liệu được mô tả theo thuộc tính age, income, student và credit_rating Thuộc tính nhãn lớp là buys_computer, có hai giá trị riêng biệt (cụ thể là yes, no) Đặt

C1 tương ứng với lớp buys_computer = yes và C2 tương ứng với buys_computer

= no Bộ dữ liệu chúng tôi muốn phân lớp là

Trang 34

X = (age = youth, income = medium, student = yes, credit_rating = fair)

Chúng ta cần tối đa hóa P( X∨C i)P (C i) với i = 1,2 P(C i)-xác suất trước củamỗi lớp, có thể được tính dựa trên các bộ dữ liệu đào tạo:

P(buys_computer = yes) = 9/14 = 0.643

P(buys_computer = no) = 5/14 = 0.357

Để tính P(X|C i) với i =1, 2 chúng tôi tính các xác suất có điều kiện sau:

P(age = youth | buys_computer = yes) = 2/9 = 0.222

P(age = youth | buys_computer = no) = 3/5 = 0.600

P(income = medium | buys_computer = yes) = 4/9 = 0.444

P(income = medium | buys_computer = no) = 2/5 = 0.400

P(studient = yes | buys_computer = yes) = 6/9 = 0.467

P(studient = yes | buys_computer = no) = 1/5 = 0.200

P(credit_rating = fair | buys_computer = yes) = 6/9 = 0.467

P(credit_rating = fair | buys_computer = no) = 2/5 = 0.400

Sử dụng các xác suất này, chúng tôi có được

P(X|buys_computer = yes) = P(age = youth | buys_computer = yes)

× P(income = medium | buys_computer = yes)

× P(student = yes | buys_computer = yes)

× P(credit_rating = fair | buys_computer = yes)

= 0.222 × 0.444 × 0.667 × 0.667 = 0.044

Tương tự

P(X|buys_computer = no) = 0.600 × 0.400 × 0.200 × 0.400 = 0.019

Để tìm lớp C i, tối đa hóa P( X∨C i)P (C i), chúng tôi tính toán

P(X|buys_computer = yes)P(buys_computer = yes) = 0.044 × 0.643 = 0.028

P(X|buys_computer = no)P(buys_computer = no) = 0.019 × 0.357 = 0.007

Do đó, trình phân loại Bayes naıve dự đoán buys_computer=yes cho dữ liệu X.

“Nên làm gì nếu gặp phải các giá trị xác suất bằng 0?” Hãy nhớ lại trong

mệnh đề (8.12), chúng tôi ước tính P( X∨C i) là sản phẩm của xác suất P(x1∨C i), P(x2∨C i),…, P(x nC i), dựa trên giả định của lớp- độc lập có điều

Trang 35

kiện Những xác suất này có thể được ước tính từ các bộ dữ liệu huấn luyện(bước 4) Chúng ta cần tính P( X∨C i) cho mỗi lớp (i= 1,2,…,m) để tìm lớp C i

P(X|C i)P(C i) là tối đa (bước 5) Hãy xem xét tính toán này Đối với mỗi cặpgiá trị thuộc tính (ví dụ: A k = x k, với k = 1,2, …, n) trong bộ dữ liệu X, chúng tacần đếm số lượng bộ dữ liệu có cặp giá trị thuộc tính đó, trên mỗi lớp (nghĩa làmỗi C i, với i = 1, …, m) Trong ví dụ 8.4, chúng tôi có hai lớp (m = 2) , cụ thể

là buys_ computer = yes và buys_ computer = no Do đó, đối với các cặp thuộc tính-giá trị student = yes của X, nói rằng, chúng ta có hai số lượng khách hàng

là student và cho đó buys_ computer = yes ( đóng góp để P(X|

buys_computer=yes)) và số lượng khách hàng là students và buys_ computer

= no (đóng góp cho P(X|buys_ computer = no )).

Nhưng điều gì sẽ xảy ra nếu, giả sử, không có bộ dữ liệu đào tạo nào lặp lại học

sinh cho lớp buys_computer = no , dẫn đến P( student = yes | buys_computer =

no ) = 0? Nói cách khác, điều gì xảy ra nếu chúng ta kết thúc với giá trị khả

năng bằng 0 đối với một số P(x k|C i), thay giá trị 0 này vào phương trình (8.12)

sẽ trả về xác suất bằng 0 choP(X|C i)) Mặc dù, nếu không có xác suất bằng 0,chúng ta có thể đã kết thúc với xác suất cao, cho thấy X thuộc về lớp C i Xácsuất bằng không hủy bỏ ảnh hưởng của tất cả các xác suất khác (trên C i) liênquan đến kết quả

Có một mẹo đơn giản để tránh vấn đề này Chúng ta có thể giả định rằng cơ sở

dữ liệu đào tạo của chúng ta lớn đến mức việc thêm một vào mỗi số mà chúng

ta cần sẽ chỉ tạo ra sự khác biệt không đáng kể trong giá trị xác suất ước tính,nhưng sẽ tránh được trường hợp giá trị xác suất bằng 0 Kỹ thuật ước lượng xácsuất này được gọi là hiệu chỉnh Laplace hoặc ước lượng Laplace, được đặt theotên của Pierre Laplace, một nhà toán học người Pháp sống từ 1749 đến 1827.Nếu chúng ta có, thì chúng ta phải nhớ, mỗi lần chúng ta phải nhớ thêm q vàomẫu số tương ứng được sử dụng trong tính toán xác suất Chúng tôi minh họa

kỹ thuật này trong ví dụ 5

Ví dụ 5 Sử dụng hiệu chỉnh Laplace để tránh tính toán các giá trị xác suất bằng 0 Giả

sử rằng đối với lớp buys_computer = yes trong một số cơ sở dữ liệu đào tạo chứa 1000 hàng, chúng ta có 0 hàng với income = low , 990 hàng với income = medium và 10 hàng với income = high Xác suất của những sự kiện này, không có hiệu chỉnh

Laplace, lần lượt là 0; 0,990 (từ 990/1000) và 0,010 (từ 10/1000) Sử dụng hiệu chỉnhLaplace cho ba đại lượng, chúng tôi giả sử rằng chúng tôi có thêm 1 hàng cho mỗi cặp

giá trị income Theo cách này, thay vào đó chúng ta có được các xác suất sau đây Các

ước tính xác suất đã được sửa chữa của các giá trị gần bằng với các giá trị ban đâu của

Trang 36

chúng, nhưng có thể tránh khỏi các xác suất bằng 0 (làm tròn đến ba chữ số thậpphân):

4. Phân lớp dựa trên quy tắc

Trong phần này, chúng tôi xem xét các phân lớp dựa trên quy tắc, trong đó mô hình đãhọc được biểu diễn dưới dạng một tập hợp các quy tắc IF-THEN Trước tiên chúng tôikiểm tra các quy tắc như vậy được sử dụng để phân lớp (Mục 4.1) Sau đó, chúng tôinghiên cứu các cách mà chúng có thể được tạo ra, từ cây quyết định (Mục 4.2) hoặctrực tiếp từ dữ liệu đào tạo bằng thuật toán bao phủ tuần tự (Mục 4.3)

4.1 Sử dụng quy tắc IF-THEN để phân lớp

Các quy tắc là một cách tốt để thể hiện thông tin hoặc tri thức Trình phân lớp dựa trênquy tắc sử dụng một bộ quy tắc IF-THEN để phân lớp Quy tắc IF-THEN là biểu thứccủa biểu mẫu

IF điều kiện THEN kết luận

Một ví dụ là quy tắc R1,

R1: IF age = young AND students = yes THEN buys_computer = yes.

Phần “IF” (hoặc bên trái) của một quy tắc được gọi là tiền đề hoặc điều kiện tiênquyết Phần của “THEN” (hoặc bên phải) là hệ quả của quy tắc Trong tiền lệ quy tắc,

điều kiện bao gồm một hoặc nhiều bài kiểm tra thuộc tính (ví dụ: age = youth và

student = yes) được logic ANDed Hệ quả của quy tắc chứa dự đoán lớp (trong trường

hợp này, chúng tôi đang dự đoán liệu khách hàng sẽ mua máy tính hay không) R1cũng có thể được viết là

R1: (age = young ) ^ (students = yes)) => (buys_computer = yes).

Nếu điều kiện (nghĩa là tất cả các kiểm tra thuộc tính) trong tiền đề quy tắc đều đúngvới một bộ dữ liệu nhất định, chúng tôi nói rằng tiền lệ quy tắc được thỏa mãn (hoặcđơn giản là quy tắc được thỏa mãn) và quy tắc này bao trùm bộ dữ liệu

Một quy tắc R có thể được đánh giá bởi phạm vi bảo hiểm và độ chính xác của

nó Cho một dữ liệu X, từ tập dữ liệu được gắn nhãn lớp D, đặt n covers là số bộ dữ liệu

Ngày đăng: 26/02/2023, 15:40

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

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

w