Một trường hợp được phân loại bằng cách bắt đầu từ nút gốc của cây, kiểm tra thuộc tính được chỉ định bởi nút này, sau đó di chuyển xuống nhánh cây tương ứng với giá trị của thuộc tính t
Trang 1TRƯỜNG ĐẠI HỌC QUY NHƠN
KHOA TOÁN VÀ THỐNG KÊ
BÀI TIỂU LUẬN GIỮA KÌ
HỌC MÁY I
HỌC CÂY QUYẾT ĐỊNH
NHÓM 5 – LỚP TUDK44
Các thành viên và phân công nhiệm vụ :
+ Trà Trần Quý Bình (Trưởng nhóm) – Viết code và làm bài tập
+ Trần Thị Huyền Trang – Dịch và trình bày phần 3.1, 3.2 , 3.5
+ Trương Bích Thảo – Dịch và trình bày phần 3.4, 3.6
+ Lê Thị Thúy Trâm – Dịch và trình bày phần 3.7.1, 3.7.2
+ Trần Khánh Duyên – Dịch và trình bày phần 3.7.3, 3.7.4, 3.7.5, 3.8
Trang 2MỤC LỤC
3.1 GIỚI THIỆU 2
3.2 BIỂU DIỄN CÂY QUYẾT ĐỊNH 2
3.3 CÁC VẤN ĐỀ PHÙ HỢP CHO HỌC CÂY QUYẾT ĐỊNH 3
3.4 THUẬT TOÁN HỌC CÂY QUYẾT ĐỊNH CƠ BẢN 4
3.4.1 THUỘC TÍNH NÀO PHÂN LOẠI TỐT NHẤT? 4
3.4.1.1 ENTROPY(ĐỘ MẤT CÂN BẰNG) ĐO TÍNH ĐỒNG NHẤT CỦA VÍ DỤ 4
3.4.1.2 INFORMATION GAIN ĐO MỨC GIẢM ENTROPY DỰ KIẾN 6
3.4.2 MỘT VÍ DỤ MINH HỌA 8
3.5 TÌM KIẾM KHÔNG GIAN GIẢ THUYẾT TRONG HỌC TẬP CÂY QUYẾT ĐỊNH 9
3.6 THIÊN HƯỚNG SUY LUẬN TRONG HỌC TẬP CÂY QUYẾT ĐỊNH 10
3.6.1 THIÊN HƯỚNG ƯU TIÊN VÀ THIÊN HƯỚNG HẠN CHẾ 11
3.6.2 TẠI SAO ƯU TIÊN CÁC GIẢ THUYẾT NGẮN? 12
3.7 CÁC VẤN ĐỀ TRONG HỌC TẬP CÂY QUYẾT ĐỊNH 13
3.7.1 TRÁNH QUÁ KHỚP DỮ LIỆU (OVERFITTING) 13
3.7.1.1 CẮT TỈA GIẢM LỖI (REDUCED ERROR PRUNING) 15
3.7.1.2 CẮT TỈA QUY TẮC SAU XÂY DỰNG (RULE POST-PRUNNING) 16
3.7.2 KẾT HỢP CÁC THUỘC TÍNH CÓ GIÁ TRỊ LIÊN TỤC 17
3.7.3 CÁC BIỆN PHÁP THAY THẾ ĐỂ CHỌN CÁC THUỘC TÍNH 18
3.7.4 XỬ LÝ CÁC VÍ DỤ HUẤN LUYỆN VỚI THUỘC TÍNH BỊ THIẾU 19
3.7.5 XỬ LÝ CÁC THUỘC TÍNH VỚI CHI PHÍ KHÁC NHAU 20
3.8 TÓM TẮT VÀ ĐỌC THÊM 20
BÀI TẬP 22
Trang 3CHƯƠNG 3 HỌC CÂY QUYẾT ĐỊNH
Học cây quyết định là một trong những phương pháp thiết thực và được sử dụng rộng rãi nhất cho suy luận quy nạp Đây là một phương pháp để xấp xỉ các hàm giá trị rời rạc và có khả năng chống lại
dữ liệu nhiễu và có thể học được các biểu thức phân tách ( các mệnh đề được kết hợp với nhau bởi phép “hoặc” ( )) Chương này mô tả một danh sách các thuật toán tạo cây quyết định bao gồm các thuật toán được sử dụng rộng rãi như ID3, ASSISTANT và C4.5 Các phương pháp tạo cây quyết định này tìm kiếm một không gian giả thuyết biểu hiện hoàn toàn và do đó tránh được những khó khăn của các không gian giả thuyết bị hạn chế Thiên hướng suy luận của chúng là ưu tiên cây quyết định nhỏ hơn cây quyết định lớn
3.1 GIỚI THIỆU
Học cây quyết định là một phương pháp học máy có giám sát để xấp xỉ các hàm mục tiêu có giá trị rời rạc, trong đó hàm đã học được biểu diễn bằng một cây quyết định Các cây đã học cũng có thể được biểu diễn lại dưới dạng tập hợp các mệnh đề kiểu nếu-thì để cải thiện khả năng đọc của con người Các phương pháp học máy này là một trong những thuật toán suy luận quy nạp phổ biến nhất
và đã được áp dụng thành công cho một loạt các nhiệm vụ từ việc học để chẩn đoán các trường hợp y
tế đến học để đánh giá rủi ro tín dụng của người xin vay
3.2 BIỂU DIỄN CÂY QUYẾT ĐỊNH
Cây quyết định phân loại các trường hợp bằng cách sắp xếp chúng từ gốc cây xuống các nút lá, mỗi nút lá chính là phân loại của một trường hợp nào đó Mỗi nút trong cây xác định một phép thử của
một số thuộc tính của trường hợp và mỗi nhánh của một nút tương ứng với một trong những giá trị
của thuộc tính đó Một trường hợp được phân loại bằng cách bắt đầu từ nút gốc của cây, kiểm tra thuộc tính được chỉ định bởi nút này, sau đó di chuyển xuống nhánh cây tương ứng với giá trị của thuộc tính trong ví dụ đã cho Quá trình này sau đó được lặp lại cho cây con bắt nguồn từ nút mới
Hình 3.1 minh họa một cây quyết định đã học điển hình Cây quyết định này phân loại các ngày
thứ Bảy theo việc chúng có thích hợp để chơi quần vợt hay không Ví dụ, trường hợp (Quang cảnh =
Nắng, Nhiệt độ = Nóng, Độ ẩm = Cao, Gió = Mạnh) sẽ được sắp xếp xuống nhánh ngoài cùng bên
trái của cây quyết định này và do đó nó được phân loại là một trường hợp tiêu cực (nghĩa là cây dự
đoán rằng PlayTennis = không ) Cây này và ví dụ được sử dụng trong Bảng 3.2 để minh họa thuật
toán tách lớp ID3 được điều chỉnh từ (Quinlan 1986)
Nói chung, các cây quyết định thể hiện sự kết hợp theo phép “hoặc” ( ) của các mệnh đề là sự kết hợp của phép “và” ( ) các ràng buộc đối với các giá trị thuộc tính của các trường hợp Mỗi đường
đi từ gốc cây đến một lá tương ứng với một liên kết “và” của các phép kiểm tra thuộc tính và cây quyết định chính là liên kết “hoặc” của các liên kết “và” trên Ví dụ, cây quyết định trong Hình 3.1 tương ứng với biểu thức :
(Quang cảnh = Nắng Độ ẩm = Bình thường)
(Quang cảnh = Mưa Gió = Yếu ớt)
Trang 43.3 CÁC VẤN ĐỀ PHÙ HỢP CHO HỌC CÂY QUYẾT ĐỊNH
Mặc dù sự đa dạng của các phương pháp học cây quyết định đã được phát triển với các khả năng
và yêu cầu khác nhau, nhưng học cây quyết định thường phù hợp nhất với các bài toán có các đặc điểm sau:
• Các trường hợp được biểu diễn bởi các cặp thuộc tính-giá trị Các trường hợp được mô tả bởi một
tập hợp cố định các thuộc tính (ví dụ: Nhiệt độ) và các giá trị của chúng (ví dụ: Nóng) Tình huống
dễ dàng nhất cho học cây quyết định là khi mỗi thuộc tính nhận một số lượng nhỏ các giá trị rời
rạc có thể (ví dụ: Nóng, Nhẹ, Lạnh) Tuy nhiên, các phần mở rộng của thuật toán cơ bản (được
thảo luận trong Phần 3.7.2) cũng cho phép xử lý các thuộc tính có giá trị thực (ví dụ: biểu thị
Nhiệt độ bằng số)
• Hàm mục tiêu có các giá trị đầu ra rời rạc Cây quyết định trong Hình 3.1 gán một phân loại
“boolean” (ví dụ: có hoặc không) cho mỗi ví dụ Các phương pháp cây quyết định dễ dàng mở
rộng cho các hàm có nhiều hơn hai giá trị đầu ra có thể Một phần mở rộng quan trọng hơn cho phép học các hàm mục tiêu với các đầu ra có giá trị thực, mặc dù việc áp dụng các cây quyết định trong cài đặt này ít phổ biến hơn
• Mô tả khác biệt có thể được yêu cầu Như đã nói ở trên, cây quyết định biểu diễn các biểu thức
phân biệt một cách tự nhiên
• Dữ liệu đào tạo có thể chứa lỗi Các phương pháp học cây quyết định có thể chống lại các lỗi, cả
các lỗi trong phân loại các ví dụ huấn luyện và các lỗi trong các giá trị thuộc tính mô tả các ví dụ này
• Dữ liệu huấn luyện có thể chứa các giá trị thuộc tính bị thiếu Phương pháp cây quyết định có
thể được sử dụng ngay cả khi một số ví dụ huấn luyện có giá trị chưa biết (ví dụ: nếu Độ ẩm trong
ngày chỉ được biết cho một số ví dụ huấn luyện) Vấn đề này được thảo luận trong Phần 3.7.4 Nhiều vấn đề thực tế đã được tìm thấy để phù hợp với những đặc điểm này Phương pháp cây quyết định trước đây đã được áp dụng cho các vấn đề như phân loại bệnh nhân y tế theo căn bệnh của
họ, phân loại trục trặc thiết bị bởi nguyên nhân của chúng và phân loại người xin vay bởi khả năng họ
Trang 5không thể trả được nợ Những bài toán như vậy, trong đó nhiệm vụ là phân loại các ví dụ thành một
trong những nhóm rời rạc có thể, thường được gọi là bài toán phân loại
Phần còn lại của chương này được tổ chức như sau Phần 3.4 trình bày thuật toán ID3 cơ bản cho học cây quyết định và mô tả chi tiết hoạt động của thuật toán này Phần 3.5 xem xét việc tìm kiếm không gian giả thuyết được thực hiện bởi thuật toán rút gọn này, so sánh nó với các thuật toán từ Chương 2 Phần 3.6 mô tả thiên hướng suy luận (các giả định đưa ra để giúp mô hình hoc tìm ra cây quyết định tốt nhất từ dữ liệu huấn luyện) của thuật toán học cây quyết định này và khám phá tổng quát hơn một thiên hướng suy luận gọi là dao cạo Occam, tương ứng với ưu tiên cho giả thuyết đơn giản nhất Phần 3.7 thảo luận về vấn đề quá khớp của dữ liệu huấn luyện(overfitting), cùng với các chiến lược chẳng hạn như cắt tỉa các quy tắc sau khi học để giải quyết vấn đề này Phần này cũng thảo luận về một số chủ đề nâng cao hơn như mở rộng thuật toán để chứa các thuộc tính có giá trị thực, dữ liệu huấn luyện với các thuộc tính không được quan sát và các thuộc tính với chi phí khác nhau
3.4 THUẬT TOÁN HỌC CÂY QUYẾT ĐỊNH CƠ BẢN
Hầu hết các thuật toán đã được phát triển cho học cây quyết định là các biến thể của một thuật toán cốt lõi sử dụng tìm kiếm tham lam, từ trên xuống trong không gian của các cây quyết định có thể Phương pháp này được minh họa bằng thuật toán ID3 (Quinlan 1986) và thuật toán kế thừa nó C4.5 (Quinlan 1993), tạo thành trọng tâm chính cho cuộc thảo luận của chúng ta ở đây Trong phần này, chúng tôi trình bày thuật toán cơ bản cho học cây quyết định, tương ứng với thuật toán ID3 Trong Phần 3.7, chúng ta xem xét một số phần mở rộng cho thuật toán cơ bản này, bao gồm các phần mở rộng được tích hợp vào C4.5 và các thuật toán khác gần đây hơn cho học cây quyết định
Thuật toán cơ bản của chúng tôi, ID3, tạo ra các cây quyết định bằng cách xây dựng chúng từ trên xuống, bắt đầu bằng câu hỏi “thuộc tính nào sẽ được kiểm tra ở gốc của cây?” Để trả lời câu hỏi này, mỗi thuộc tính mẫu được đánh giá bằng cách sử dụng một bài kiểm tra thống kê để xác định xem một mình nó phân loại các ví dụ đào tạo tốt như thế nào Thuộc tính tốt nhất được chọn và sử dụng làm phép thử tại nút gốc của cây Sau đó, một nút con của nút gốc được tạo ứng mỗi giá trị có thể có của thuộc tính này và các ví dụ huấn luyện được sắp xếp vào các nút con thích hợp (nghĩa là xuống nhánh tương ứng với giá trị cho thuộc tính này của ví dụ) Sau đó, toàn bộ quá trình được lặp lại bằng cách
sử dụng các ví dụ huấn luyện được liên kết với từng nút con để chọn thuộc tính tốt nhất để kiểm tra tại điểm đó trên cây Điều này tạo thành một tìm kiếm tham lam cho một cây quyết định có thể chấp nhận được, trong đó thuật toán không bao giờ quay lại để xem xét lại các lựa chọn trước đó Một phiên bản đơn giản hơn của thuật toán, chuyên dùng để học các hàm có giá trị boolean (nghĩa là quá trình phân loại khái niệm), được mô tả trong Bảng 3.1
3.4.1 THUỘC TÍNH NÀO PHÂN LOẠI TỐT NHẤT?
Lựa chọn trọng tâm trong thuật toán ID3 là chọn thuộc tính nào để kiểm tra tại mỗi nút trong cây Chúng tôi muốn chọn thuộc tính hữu ích nhất cho việc phân loại ví dụ Một thước đo định lượng tốt
về giá trị của một thuộc tính là gì? Chúng ta sẽ định nghĩa một thuộc tính thống kê, được gọi là độ lợi
thông tin(information gain), đo lường mức độ hiệu quả của một thuộc tính đã cho trong việc phân tách
các ví dụ huấn luyện theo mục tiêu phân loại của chúng ID3 sử dụng thước đo information gain này
để chọn trong số các thuộc tính ứng cử viên ở mỗi bước trong khi phát triển cây
3.4.1.1 ENTROPY(ĐỘ MẤT CÂN BẰNG) ĐO TÍNH ĐỒNG NHẤT CỦA VÍ DỤ
Để xác định độ lợi thông tin(information gain) một cách chính xác, chúng ta bắt đầu bằng cách xác định một thước đo thường được sử dụng trong lý thuyết thông tin, được gọi là entropy, đặc trưng cho
độ tinh khiết (purity hoặc impurity) của một tập hợp các ví dụ tùy ý Cho một tập hợp S, chứa các ví
dụ khẳng định và phủ định của một số khái niệm mục tiêu, entropy của S liên quan đến phân loại
boolean này là:
Trang 6BẢNG 3.1
Tóm tắt thuật toán ID3 chuyên dùng để học hàm có giá trị đầu ra là boolean ID3 là một thuật toán
tham lam phát triển từ trên xuống, tại mỗi nút chọn thuộc tính phân loại tốt nhất các ví dụ đào tạo
cục bộ Quá trình này tiếp tục cho đến khi cây phân loại chính xác các ví dụ huấn luyện hoặc cho đến
khi tất cả các thuộc tính đã được sử dụng
Ở đây p là tỷ lệ các ví dụ dương (+) trong S và p là tỷ lệ các ví dụ âm (-) trong S Trong tất cả các
phép tính liên quan đến entropy, chúng ta định nghĩa 0log(0) bằng 0
Để minh họa, giả sử S là một tập hợp gồm 14 ví dụ của một số khái niệm boolean, bao gồm 9 ví dụ
dương và 5 ví dụ âm (chúng tôi sử dụng ký hiệu [9+, 5-] để tóm tắt một mẫu dữ liệu như vậy) Khi đó
entropy của S tương ứng với phân loại boolean này là:
Entropy([9+, 5-]) = -(9/14) log2(9/14) - (5/14) log2(5/14) = 0,940 (3,2) Chú ý rằng :
• Entropy bằng 0 nếu tất cả các phần tử của S thuộc cùng một lớp Ví dụ: nếu tất cả các phần tử
đều là ví dụ dương (p=1), thì p =0 và Entropy(S) =-1.log2(l) -0.log20 =-1.0-0.log20 = 0
• Entropy là 1 khi tập hợp chứa số ví dụ tích cực bằng số ví dụ tiêu cực Ví dụ: nếu số phần tử
dương bằng số phần tử âm thì p=p = 0,5 và Entropy(S) =-0,5.log2(0,5) -0,5.log2(0,5) = 1
• Tập hợp chứa số lượng ví dụ tích cực và tiêu cực không bằng nhau, thì entropy nằm trong
khoảng từ 0 đến 1
ID3 (Ví dụ, Thuộc tính mục tiêu, Các thuộc tính)
Ví dụ là các ví dụ đào tạo Thuộc tính mục tiêu là thuộc tính có giá trị được dự đoán bởi
cây Các thuộc tính là một danh sách các thuộc tính khác với các thuộc tính đã được kiểm
tra bởi cây quyết định đã học Trả về một cây quyết định phân loại chính xác các Ví dụ đã
cho
• Tạo một nút Gốc cho cây
• Nếu tất cả các Ví dụ đều dương, trả về Gốc cây quyết định nút đơn , với nhãn = +
• Nếu tất cả các Ví dụ đều âm, trả về Gốc cây quyết định nút đơn , với nhãn = -
• Nếu Các thuộc tính rỗng, trả về Gốc cây quyết định nút đơn , với nhãn = giá trị phổ biến
nhất của Thuộc tính mục tiêu trong Ví dụ
• Nếu không thì bắt đầu
• Athuộc tính từ Các thuộc tính phân loại các Ví dụ tốt nhất ( là phép gán)
• Thuộc tính quyết định cho GốcA
• Với mỗi giá trị có thể vi của A
• Thêm một nhánh cây mới bên dưới Gốc, tương ứng với phép kiểm tra A = vi
• Lấy Ví dụ (v i ) là tập con của tập Ví dụ gồm các ví dụ có giá trị vi đối với thuộc tính A
• Nếu Ví dụ (v i ) là rỗng
• Bên dưới nhánh cây mới này thêm một nút là với nhãn = giá trị phổ biến nhất
của Thuộc tính mục tiêu trong Ví dụ
• Ngược lại, dưới mỗi nhánh cây mới thêm một cây con tạo bởi thuật toán ID3(Ví dụ (v i ), Thuộc tính mục tiêu, Các thuộc tính –{A})
(Các thuộc tính –{A} là tập các thuộc tính ban đầu bỏ đi thuộc tính A)
• Kết thúc
• Trả về Gốc
* Thuộc tính tốt nhất là thuộc tính có information gain cao nhất, được định nghĩa trong phương
trình (3.4)
Trang 7Một cách giải thích về entropy từ lý thuyết thông tin là nó xác định số lượng bit tối thiểu của thông
tin cần thiết để mã hóa sự phân loại của một thành viên tùy ý của S (nghĩa là một thành viên của S
được lấy ngẫu nhiên với xác suất đồng nhất) Ví dụ: nếu plà 1, người nhận biết rằng ví dụ được chọn
sẽ dương, vì vậy không cần gửi bất kì tin nhắn và entropy bằng không Mặt khác, nếu plà 0,5, cần một bit để chỉ ra ví dụ được chọn là dương hay âm Nếu p là 0,8, thì một tập hợp các tin nhắn có thể được mã hóa bằng cách sử dụng trung bình ít hơn 1 bit cho mỗi tin nhắn bằng cách gán mã ngắn hơn cho tập hợp các ví dụ dương và mã dài hơn cho các ví dụ âm có ít có khả năng hơn
Cho đến lúc này chúng ta đã thảo luận về entropy trong trường hợp đặc biệt khi phân loại mục tiêu
là boolean Tổng quát hơn, nếu thuộc tính mục tiêu có thể nhận c giá trị khác nhau, thì entropy của S
tương ứng với phân loại (c-wise) này được định nghĩa là:
2 1
trong đó p i là tỷ lệ các ví dụ của S thuộc loại i Lưu ý logarit vẫn là cơ số 2 vì entropy là thước đo độ
dài mã hóa dự kiến được đo bằng bits Cũng lưu ý rằng nếu thuộc tính mục tiêu có thể nhận c giá trị
có thể, thì entropy có thể lớn bằng log2c
3.4.1.2 INFORMATION GAIN ĐO MỨC GIẢM ENTROPY DỰ KIẾN
Với entropy làm thước đo độ tinh khiết trong tập hợp các ví dụ huấn luyện, giờ đây chúng ta có thể xác định thước đo hiệu quả của một thuộc tính trong việc phân loại dữ liệu huấn luyện Thước đo
mà chúng ta sẽ sử dụng, được gọi là information gain(độ lợi thông tin), đơn giản là mức giảm dự kiến của entropy gây ra bởi việc phân chia các ví dụ theo thuộc tính này Chính xác hơn, information gain của một thuộc tính A so với một tập hợp các ví dụ S kí hiệu Gain(S, A), được định nghĩa là
Trang 8( )
v Values A
S Gain S A Entropy S Entropy S
S
trong đó Values(A) là tập hợp tất cả các giá trị có thể có của thuộc tính A, và S v là tập con của S mà
thuộc tính A có giá trị v (nghĩa là Sv= {sS | A(s)= v } ).Lưu ý rằng số hạng đầu tiên trong phương
trình (3.4) chỉ là entropy của tập hợp ban đầu S và số hạng thứ hai là giá trị kỳ vọng của entropy sau khi S được phân vùng bằng thuộc tính A Entropy kỳ vọng được mô tả bởi số hạng thứ hai này chỉ đơn giản là tổng của các entropy của các tập hợp con S v , được đánh trọng số bởi tỷ lệ của các ví dụ thuộc
S v có công thức tính là S v
S Gain(S, A) còn là mức giảm dự kiến của entropy do biết giá trị của thuộc
tính A Nói cách khác, Gain(S, A) là độ lợi thông tin mà thuật toán học máy thu được về giá trị hàm
mục tiêu, dựa trên giá trị của một số thuộc tính A khác Giá trị của Gain(S, A) là số bit được tiết kiệm
khi mã hóa giá trị mục tiêu của một thành viên tùy ý của S , bằng cách biết giá trị của thuộc tính A
Ví dụ: giả sử S là tập hợp các ngày(các ví dụ đào tạo) được mô tả bởi các thuộc tính bao gồm Gió,
có thể có các giá trị Yếu hoặc Mạnh Như trước đây, giả sử S là một tập hợp chứa 14 ví dụ, [9+, 5-] Trong số 14 ví dụ này, giả sử 6 ví dụ dương và 2 ví dụ âm có Gió = Yếu và phần còn lại có Gió =
Mạnh Độ lợi thông tin (information gain) thu được do sắp xếp 14 ví dụ ban đầu theo thuộc tính Wind
sau đó có thể được tính như sau :
Values(Gió) = Yếu, Mạnh; S = [9+, 5-]; S Yếu[6+,2-]; SMạnh[3+, 3-]
v Values Gio
S Gain S Gio Entropy S Entropy S
Information gain là thước đo chính xác được ID3 sử dụng để chọn thuộc tính tốt nhất ở mỗi bước trong
quá trình phát triển cây Việc sử dụng information gain để đánh giá mức độ phù hợp của các thuộc tính được tổng hợp trong Hình 3.3 Trong hình này, information gain của hai thuộc tính khác nhau,
Độ ẩm và Gió, được tính toán để xác định thuộc tính nào là tốt nhất để phân loại các ví dụ huấn luyện
được trình bày trong Bảng 3.2
HÌNH 3.3
Độ ẩm cho độ lợi thông tin(information gain) lớn hơn Gió đối với mục tiêu phân loại Ở đây, E là viết
tắt của entropy và S là tập hợp các ví dụ ban đầu Cho một tập hợp ban đầu gồm 9 mẫu dương tính và
5 mẫu âm tính, [9+, 5-], sắp xếp chúng theo Độ ẩm tạo ra các tập hợp [3+, 4-] (Độ ẩm = Cao) và [6+, 1-] ( Độ ẩm = Bình thường) Độ lợi thông tin thu được từ sự phân vùng này là 0,151, lớn hơn so với
độ lợi thông tin chỉ là 0,048 đối với thuộc tính Gió
Trang 93.4.2 MỘT VÍ DỤ MINH HỌA
Để minh họa hoạt động của ID3, ta xét nhiệm vụ học được thể hiện bằng các ví dụ huấn luyện trong
Bảng 3.2 Ở đây, thuộc tính mục tiêu PlaỵTennis, có các giá trị có thể là có hoặc không cho các buổi
sáng thứ bảy khác nhau, sẽ được dự đoán dựa trên các thuộc tính khác của buổi sáng trong yêu cầu Xem xét bước đầu tiên thông qua thuật toán, trong đó nút trên cùng của cây quyết định được tạo
BẢNG 3.2 Các ví dụ huấn luyện cho khái niệm mục tiêu PlayTennis
Thuộc tính nào nên được kiểm tra đầu tiên trong cây? ID3 xác định information gain cho từng thuộc tính ứng cử viên (tức là Quang cảnh, Nhiệt độ, Độ ẩm và Gió), sau đó chọn thuộc tính có information
gain cao nhất Việc tính toán information gain cho hai trong số các thuộc tính này được thể hiện trong
Hình 3.3 Các giá trị information gain cho cả bốn thuộc tính là
Gain(S, Quang cảnh) = 0,246 Gain(S, Độ ẩm) = 0,151
Gain(S, Gió) = 0,048 Gain (S, Nhiệt độ)= 0,029
trong đó S biểu thị tập hợp các ví dụ huấn luyện từ Bảng 3.2
Theo thước đo information gain ban đầu, thuộc tính Quang cảnh cung cấp dự đoán tốt nhất về thuộc tính mục tiêu PlayTennis qua các ví dụ huấn luyên Do đó, Quang cảnh được chọn làm thuộc
tính quyết định cho nút gốc và các nhánh được tạo bên dưới gốc tương ứng với từng giá trị có thể có
của nó (ví dụ: Nắng, Âm u và Mưa) Một phần kết quả cây quyết định được thể hiện trong Hình 3.4, cùng với các ví dụ huấn luyện được sắp xếp theo từng nút con mới Lưu ý rằng mọi ví dụ mà Quang
cảnh = Âm u đều là là ví dụ với thuộc tính PlayTennỉs có giá trị “Có” Do đó, nút này của cây trở thành
nút lá với phân loại PlayTennis = Yes Ngược lại, các phần tử con tương ứng với Quang cảnh = Nắng
và Quang cảnh = Mưa vẫn có entropy khác không và cây quyết định sẽ được xây dựng thêm bên dưới
các nút này
Quá trình chọn một thuộc tính mới và phân vùng các ví dụ huấn luyện được lặp lại cho mỗi nút con không đầu cuối(không phải là nút lá hay nút gốc), lần này chỉ sử dụng các ví dụ huấn luyện được liên kết với nút đó Các thuộc tính đã được tích hợp cao hơn (các thuộc tính dùng để tạo nút có cấp cao hơn trước đó đã được sử dụng trong đường dẫn đang xét) sẽ bị loại trừ, do đó, bất kỳ thuộc tính
đã cho nào cũng chỉ có thể xuất hiện nhiều nhất một lần dọc theo bất kỳ đường đi nào trong cây Quá trình này tiếp tục cho mỗi nút lá mới cho đến khi một trong hai điều kiện được đáp ứng: (1) mọi thuộc tính đã được đưa vào dọc theo đường dẫn này qua cây hoặc (2) các ví dụ huấn luyện được liên kết với nút lá này đều có cùng một thuộc tính mục tiêu giá trị (nghĩa là entropy của chúng bằng không) Hình
Trang 103.4 minh họa các tính toán về information gain cho bước tiếp theo trong việc phát triển cây quyết định
Cây quyết định cuối cùng mà ID3 học được từ 14 ví dụ huấn luyện của Bảng 3.2 được thể hiện trong Hình 3.1
3.5 TÌM KIẾM KHÔNG GIAN GIẢ THUYẾT TRONG HỌC TẬP CÂY QUYẾT ĐỊNH
Cũng như các phương pháp học quy nạp khác, ID3 có thể được mô tả như là việc tìm kiếm một không gian các giả thuyết phù hợp với các ví dụ huấn luyện Không gian giả thuyết được tìm kiếm bởi ID3 là tập hợp các cây quyết định có thể ID3 thực hiện tìm kiếm leo cây đồi cao, từ đơn giản đến phức tạp trong không gian giả thuyết này, bắt đầu với cây trống, sau đó xem xét dần dần các giả thuyết phức tạp hơn để tìm kiếm cây quyết định phân loại chính xác dữ liệu huấn luyện Hàm đánh giá hướng
dẫn tìm kiếm leo đồi này là thước đo information gain.Việc tìm kiếm này được mô tả trong Hình 3.5
SNắng = {N1,N2,N8,N9,N11} Gain(SNắng, Độ ẩm) = 0.970 – (3/5).0 – (2/5).0=0.970
Gain(SNắng, Nhiệt độ)= 0.970 – (2/5).0—(2/5).1-(1/5).0=0.57
Gain(SNắng, Gió)=0.970 – (2/5).1-(3/5).0.918=0.19
Hình 3.4
Cây quyết định đã học được một phần từ bước đầu tiên của ID3 Các ví dụ huấn luyện được sắp xếp
theo các nút con tương ứng Nút con của Âm u chỉ có các ví dụ tích cực và do đó trở thành một nút lá với phân loại Có Hai nút còn lại sẽ được mở rộng hơn nữa, bằng cách chọn thuộc tính có information
gain cao nhất so với các tập hợp con mới của các ví dụ
Bằng cách xem ID3 dưới dạng không gian tìm kiếm và trạng thái tìm kiếm, chúng ta có thể hiểu
rõ hơn về các khả năng và hạn chế của nó
Không gian giả thiết của cây quyết định là một không gian đầy đủ của các hàm có giá trị rời rạc
hữu hạn, tương ứng với các thuộc tính có sẵn Bởi vì mọi hàm có giá trị rời rạc có thể được biểu diễn bằng một số cây quyết định, ID3 tránh được một trong những rủi ro chính của các phương pháp tìm kiếm không gian giả thuyết không đầy đủ (chẳng hạn như các phương pháp chỉ xem xét các giả thuyết liên hợp): không gian giả thuyết có thể không chứa hàm mục tiêu
ID3 chỉ duy trì một giả thuyết hiện tại duy nhất khi nó tìm kiếm trong không gian của các cây quyết định Ví dụ, điều này trái ngược với không gian phiên bản trước đó của phương pháp Candidate-
Elimination, không gian duy trì tập hợp tất cả các giả thuyết nhất quán với các ví dụ huấn luyện có
sẵn Bởi việc chỉ xác định một giả thuyết duy nhất, ID3mất đi những khả năng có được từ việc trình bày rõ ràng tất cả các giả thuyết nhất quán Ví dụ: nó không có khả năng xác định có bao nhiêu cây quyết định thay thế phù hợp với dữ liệu huấn luyện có sẵn hoặc đặt ra các giả định trường hợp mới để giải quyết tối ưu giữa các giả thuyết cạnh tranh này
Trang 11HÌNH 3.5
Tìm kiếm không gian giả thuyết theo ID3 ID3 tìm kiếm trong không gian của các cây quyết định có thể từ đơn giản nhất đến ngày càng phức tạp, được hướng dẫn bởi việc đánh giá độ quan trọng của thuộc tính trong việc phân loại
dữ liệu thông qua thông số (information gain )
• ID3 ở dạng thuần túy không thực hiện xử lý ngược trong quá trình tìm kiếm Một khi nó chọn một thuộc tính để kiểm tra ở một cấp độ cụ thể trong cây, nó sẽ không bao giờ quay lại để xem xét lại lựa chọn này Ở đó, nó dễ gặp phải những rủi ro thông thường của việc tìm kiếm leo đồi mà không quay lại: hội tụ đến các nghiệm(giải pháp) tối ưu cục bộ, không tối ưu toàn cục Trong trường hợp ID3, một giải pháp tối ưu cục bộ tương ứng với cây quyết định mà nó chọn dọc theo đường dẫn tìm kiếm duy nhất mà nó khám phá Tuy nhiên, giải pháp tối ưu cục bộ này có thể ít được mong muốn hơn so với các cây quyết định khác có thể gặp phải dọc theo một nhánh tìm kiếm khác Dưới đây chúng tôi thảo luận về một phần mở rộng bổ sung một hình thức quay lui (sau khi cắt tỉa cây quyết định)
• ID3 sử dụng tất cả các ví dụ đào tạo ở mỗi bước trong quá trình tìm kiếm để đưa ra các quyết định dựa trên thống kê về cách điều chỉnh lại giả thuyết hiện tại của nó Điều này trái ngược với các phương pháp đưa ra quyết định tăng dần, dựa trên các ví dụ đào tạo riêng lẻ (ví dụ: FIND-S hoặc CANDIDATE-ELIMINATION).Một lợi thế của việc sử dụng các thuộc tính thống kê của tất cả các
ví dụ (ví dụ: information gain) là kết quả tìm kiếm ít nhạy hơn với các lỗi trong các ví dụ đào tạo riêng
lẻ ID3 có thể dễ dàng được mở rộng để xử lý dữ liệu huấn luyện nhiễu bằng cách sửa đổi tiêu chuẩn kết thúc của nó để chấp nhận các giả thuyết không chính xác hoàn toàn đối với dữ liệu huấn luyện
3.6 THIÊN HƯỚNG SUY LUẬN TRONG HỌC TẬP CÂY QUYẾT ĐỊNH
Quy tắc mà ID3 tổng quát hóa từ các ví dụ huấn luyện quan sát được để phân loại các trường hợp không nhìn thấy được là gì? Nói cách khác, thiên hương suy luận của nó là gì? Nhớ lại từ Chương 2 rằng thiên hướng suy luận là tập hợp các giả định, cùng với dữ liệu huấn luyện, suy luận biện minh (suy luận từ các lý do, bằng chứng cụ thể) các phân loại do người học chỉ định cho các trường hợp trong tương lai
Đưa ra một tập hợp các ví dụ huấn luyện, thường sẽ có nhiều cây quyết định điển hình phù hợp với các ví dụ này Do đó, việc mô tả thiên hướng suy luận của ID3 bao gồm việc mô tả cơ sở để nó chọn một trong số các giả thuyết này thay vì các giả thuyết khác Vậy ID3 chọn cây quyết định nào trong số những cây quyết định này? Nó chọn cây có thể chấp nhận được đầu tiên mà nó gặp trong quá trình tìm kiếm leo đồi, từ đơn giản đến phức tạp trong không gian của các cây quyết định có thể Nói một cách đại khái, thiên hướng tìm kiếm của ID3 là (a) ưu tiên chọn các cây ngắn hơn chọn các cây
dài và (b) chọn các cây đặt các thuộc tính có thông số information gain cao nhất gần gốc nhất Do sự
tương tác tinh tế giữa thuật toán tìm kiếm định hướng trong viêc lựa chọn thuộc tính được sử dụng bởi ID3 và các ví dụ huấn luyên cụ thể mà nó gặp phải, nên sẽ thật khó để mô tả chính xác thiên hướng suy luận được ID3 thể hiện Tuy nhiên, chúng ta có thể mô tả gần đúng thiên hướng của nó là ưu tiên cho các cây quyết định ngắn, đơn giản hơn các cây phức tạp
Thiên hướng suy luận gần đúng của ID3: Cây ngắn hơn được ưu tiên hơn so với cây lớn hơn
Trên thực tế, người ta đã có thể nghĩ ra một thuật toán tương tự như ID3 thể hiện chính xác thiên
hướng suy luận này Xét một thuật toán bắt đầu với cây rỗng và tìm kiếm breadth first(tìm kiếm trong
cây quyết định có độ sâu nhỏ nhất trước với độ sâu của cây là số lượng các nút đi từ gốc đến nút lá xa
Trang 12nhất) và qua đó các cây quyết định ta xét sẽ phức tạp hơn khi tiến hành tìm kiếm, đầu tiên xem xét tất
cả các cây có độ sâu 1, sau đó là tất cả các cây có độ sâu 2, Sau khi tìm thấy cây quyết định phù hợp với dữ liệu huấn luyện, nó sẽ trả lại cây quyết định thích hợp nhỏ nhất ở độ sâu tìm kiếm đó (ví dụ:
cây có ít nút nhất) Chúng ta hãy gọi thuật toán breadth-first này là BFS-ID3 BFS-ID3 tìm thấy cây
quyết định ngắn nhất và do đó thể hiện chính xác thiên hướng “các cây ngắn hơn được ưu tiên hơn các cây dài hơn” ID3 có thể được xem như một xấp xỉ hiệu quả đối với BFS-ID3, sử dụng tìm kiếm định
hướng tham lam để cố gắng tìm cây ngắn nhất mà không cần tiến hành toàn bộ tìm kiếm breadth-first
trong không gian giả thuyết
Bởi vì ID3 sử dụng tìm kiếm định hướng theo information gain và chiến lược leo đồi, nó thể hiện
hướng đi phức tạp hơn BFS-ID3 Đặc biệt, không phải lúc nào nó cũng tìm được cây nhất quán ngắn
nhất và nó có xu hướng ưu tiên những cây có thuộc tính với thông số information gain cao gần gốc
nhất
Một xấp xỉ gần đúng hơn với thiên hướng suy luận của ID3: Cây ngắn hơn được ưu tiên hơn
cây dài hơn Cây ưu tiên đặt các thuộc tính có information gain cao gần gốc hơn các thuộc tính khác
có information gain thấp
3.6.1 THIÊN HƯỚNG ƯU TIÊN VÀ THIÊN HƯỚNG HẠN CHẾ
Có một sự khác biệt thú vị giữa các loại thiên hướng suy luận do ID3 thể hiện và thuật toán CANDIDATE-ELIMINATIONđược thảo luận trong Chương 2
Xem xét sự khác biệt giữa tìm kiếm không gian giả thuyết trong hai phương pháp sau:
• ID3 tìm kiếm một không gian giả thuyết đầy đủ (nghĩa là một không gian có khả năng biểu thị bất
kỳ hàm có giá trị rời rạc hữu hạn nào) Nó tìm kiếm không đầy đủ trong không gian này, từ các
giả thuyết đơn giản đến phức tạp, cho đến khi điều kiện kết thúc của nó được đáp ứng (ví dụ: cho đến khi tìm thấy một giả thuyết phù hợp với dữ liệu) Thiên hướng suy luận của nó chỉ là kết quả thứ tứ sắp xếp các giả thuyết theo chiến lược tìm kiếm của nó Không gian giả thuyết của nó không thiệu thêm bất kì thiên hướng bổ sung nào
• Không gian phiên bản của thuật toán CANDIDATE-ELIMINATION tìm kiếm một không gian
giả thuyết không đầy đủ (nghĩa là một không gian chỉ có thể hiện một tập hợp con các khái niệm
có khả năng dạy được) Nó tìm kiếm hoàn toàn không gian này, tìm ra mọi giả thuyết phù hợp với
dữ liệu huấn luyện Thiên hướng suy luận của nó chỉ là hệ quả của khả năng thể hiện của việc trình bày giả thuyết của nó Chiến lược tìm kiếm của nó không giới thiệu thiên hướng bổ sung
Tóm lại, thiên hướng suy luận của ID3 xuất phát từ chiến lược tìm kiếm của nó, trong khi thiên
hướng suy luận của thuật toán CANDIDATE-ELIMINATIONxuất phát từ định nghĩa về không gian
tìm kiếm của nó
Do đó, thiên hướng suy luận của ID3 là ưu tiên cho một số trọng tâm giả thuyết hơn các giả thuyết
khác (ví dụ: đối với các giả thuyết ngắn hơn), không có giới hạn nghiêm ngặt đối với các giả thuyết
có thể được liệt kê cuối cùng Hình thức của thiên hướng này thường được gọi là thiên hướng ưu tiên (hay cách khác là thiên hướng tìm kiếm) Ngược lại, thiên hướng của thuật toán CANDIDATE-
ELIMINATIONở dạng hạn chế phân loại đối với tập hợp các giả thuyết được xem xét Hình thức thiên hướng này thường được gọi là thiên hướng hạn chế (hoặc, cách khác, thiên hướng ngôn ngữ)
Với giả định rằng một số dạng thiên hướng suy luận là cần thiết để tổng quát hóa ngoài dữ liệu huấn luyện (xem Chương 2), chúng ta sẽ ưu tiên loại thiên hướng suy luận nào: thiên hướng ưu tiên hay thiên hướng hạn chế ?
Thông thường, thiên hướng ưu tiên được mong muốn hơn so với thiên hướng hạn chế, bởi vì nó cho phép người học làm việc trong một không gian giả thuyết hoàn chỉnh được đảm bảo chứa hàm mục tiêu chưa biết Ngược lại, một xu hướng hạn chế hạn chế nghiêm ngặt tập hợp các giả thuyết tiềm năng thường ít được mong muốn hơn, bởi vì nó đưa ra khả năng loại trừ hoàn toàn hàm mục tiêu chưa biết
Trong khi ID3 thể hiện thiên hướng ưu tiên thuần túy và CANDIDATE-ELIMINATION hoàn toàn là thiên hướng hạn chế, thì một số hệ thống nổi bật lại kết hợp cả hai Ví dụ, hãy xem xét chương
Trang 13trình được mô tả trong Chương 1 để đưa ra một hàm đánh giá bằng số khi chơi trò chơi Trong trường hợp này, hàm đánh giá đã học được biểu diễn bằng một tổ hợp tuyến tính của một tập hợp cố định các đặc trưng để đánh giá trò chơi và thuật toán học tập điều chỉnh các tham số của tổ hợp tuyến tính này
để phù hợp nhất với dữ liệu huấn luyện có sẵn Trong trường hợp này, quyết định sử dụng một hàm tuyến tính để biểu diễn hàm đánh giá thể hiện một thiên hướng hạn chế (không thể biểu diễn các hàm đánh giá phi tuyến tính ở dạng này) Đồng thời, việc lựa chọn một phương pháp điều chỉnh tham số
cụ thể (thuật toán LMS trong trường hợp này) thể hiện một thiên hướng ưu tiên xuất phát từ việc tìm kiếm có thứ tự trong không gian của tất cả các giá trị tham số có thể
3.6.2 TẠI SAO ƯU TIÊN CÁC GIẢ THUYẾT NGẮN?
Thiên hướng suy luận của ID3 ưu tiên các cây quyết định ngắn hơn có phải là cơ sở hợp lý để tổng quát hóa ngoài dữ liệu huấn luyện không? Các triết gia và những người khác đã tranh luận về câu hỏi này trong nhiều thế kỷ và cuộc tranh luận vẫn chưa có lời giải cho đến ngày nay William of Occam
là một trong những người đầu tiên thảo luận về câu hỏi này, vào khoảng năm 1320, vì vậy thiên hướng này thường được gọi là Lưỡi cạo Occam(nguyên tắc đơn giản hóa)
Lưỡi cạo Occam: Giả thuyết đơn giản nhất phù hợp với dữ liệu
Tất nhiên, việc đặt tên cho một thiên hướng suy luận không có nghĩa nó được chứng minh là đúng Tại sao ưu tiên giả thuyết đơn giản hơn? Lưu ý rằng các nhà khoa học đôi khi dường như đi theo khuynh hướng quy nạp này Ví dụ, các nhà vật lý thích những lời giải thích đơn giản cho chuyển động của các hành tinh hơn là những lời giải thích phức tạp hơn Tại sao? Một lý do là vì có ít giả thuyết ngắn hơn giả thuyết dài (dựa trên các lập luận tổ hợp đơn giản), người ta sẽ có ít khả năng để tìm thấy một giả thuyết ngắn ngẫu nhiên phù hợp dữ liệu huấn luyện Ngược lại, thường có nhiều giả thuyết rất phức tạp phù hợp dữ liệu huấn luyện hiện tại nhưng không thể tổng quát hóa chính xác cho dữ liệu chưa biết tiếp theo Ví dụ, hãy xem xét các giả thuyết cây quyết định Có nhiều cây quyết định có 500 nút hơn cây quyết định có 5 nút Đưa ra một tập hợp nhỏ gồm 20 ví dụ đào tạo, chúng tôi có thể mong đợi có thể tìm thấy nhiều cây quyết định có 500 nút phù hợp với các mẫu này, v.v., tuy nhiên, chúng tôi sẽ ngạc nhiên hơn nếu cây quyết định gồm 5 nút có thể hoàn toàn phù hợp với dữ liệu này Do đó, chúng ta có thể tin rằng cây 5 nút ít có khả năng là một sự trùng hợp thống kê hơn(hai hay nhiều sự kiện xảy ra cùng một lúc hoặc trong cùng mẫu dự liệu nhưng không có liên hệ hay tương quan thật sự)
và giả thuyết này ưu tiên hơn giả thuyết 500 nút
Khi xem xét kỹ hơn, hóa ra có một khó khăn lớn với lập luận trên Bằng lý do tương tự, chúng tôi
có thể lập luận rằng người ta nên ưu tiên các cây quyết định chứa chính xác 17 nút lá với cây chứa 11 nút không phải lá, cây mà sử dụng thuộc tính quyết định A1 ở gốc và kiểm tra các thuộc tính A2 đến
A11, theo thứ tự số Có tương đối ít những cây như vậy, và chúng ta có thể lập luận (bằng cách lập luận tương tự như trên) rằng cơ hội tiên nghiệm của chúng ta để tìm được một cây nhất quán với một tập hợp dữ liệu tùy ý là vô cùng nhỏ Khó khăn ở đây là có rất nhiều tập hợp giả thuyết nhỏ mà người ta
có thể xác định được, hầu hết chúng khá phức tạp Tại sao chúng ta nên tin rằng tập hợp các giả thuyết
nhỏ bao gồm các cây quyết định với các mô tả ngắn sẽ phù hợp hơn bất kỳ tập hợp giả thuyết nhỏ nào
khác mà chúng ta có thể xác định?
Một vấn đề thứ hai với lập luận trên đối với Lưỡi cạo Occam là kích thước của một giả thuyết
được xác định bởi biểu diễn cụ thể được sử dụng nội bộ bởi người học Hai người học sử dụng các
biểu diễn nội bộ khác nhau có thể do đó đưa ra các giả thuyết khác nhau, cả hai đều biện minh cho các kết luận mâu thuẫn của họ bằng dao cạo của Occam! Ví dụ, hàm được biểu diễn bởi cây quyết định đã học trong Hình 3.1 có thể được biểu diễn dưới dạng một cây chỉ với một nút quyết định, bởi một người học sử dụng các thuộc tính boolean X Y Z, trong đó chúng ta định nghĩa các thuộc tính X Y Z là đúng cho trường hợp chúng được phân loại dương bởi cây quyết định trong hình 3.1 và sai nếu ngược lại
Do đó, hai người học, cả hai đều áp dụng Lưỡi cạo Occam, sẽ tổng quát hóa theo những cách khác
nhau nếu một người sử dụng thuộc tính X Y Z để mô tả các ví dụ của nó và người kia chỉ sử dụng các thuộc tính Quang Cảnh, Nhiệt độ, Độ ẩm và Gió
Lập luận cuối cùng này cho thấy rằng Lưỡi cạo Occam sẽ tạo ra hai giả thuyết khác nhau từ các
ví dụ huấn luyện giống nhau khi nó được áp dụng bởi hai người học nhận thức các ví dụ này theo các