Những vấn đề thực tế trong việc học cây quyết định bao gồm việc xác định làm thế nào phát triển cây quyết định theo chiều sâu, quản lý những thuộc tính liên tục, chọn ra một phương pháp lựa chọn thuộc tính thích hợp, quản lý dữ liệu huấn luyện với các lỗi về giá trị thuộc tính.
3.1.1 Tránh “Overfitting” dữ liệu
Trong một số trường hợp, giải thuật chỉ mô tả sự phát triển mỗi nhánh cây đủ sâu để phân lớp hoàn toàn các ví dụ huấn luyện. Nhưng thực tế, nó có thể dẫn tới những khó khăn khi dữ liệu ở đây là dữ liệu tạp (bị nhiễu) hoặc khi số các ví dụ
hai trường hợp giải thuật đơn giản này có thể sản sinh overfitting. Chúng ta nói rằng một giả thuyết overfitting với dữ liệu huấn luyện nếu một số những giả thuyết khác – ít phù hợp hơn với các mẫu huấn luyện – nhưng trong thực tế lại thực hiện tốt trên toàn bộ các trường hợp (tức là bao gồm cả những trường hợp ngoài tập huấn luyện).
Định nghĩa: Cho một không gian giả thuyết H, một giả thuyết h∈H được gọi là overfitting với dữ liệu huấn luyện nếu tồn tại một số giả thuyết khác h’∈
H mà h có sự sai lệch ít hơn h’ trên tập các ví dụ huấn luyện nhưng h’ lại ít sai lệch hơn h trên toàn bộ sự phân bố các mẫu.
Hình 2.5 chỉ ra ảnh hưởng của overfiting trong một trường hợp điển hình của phương pháp học bằng cây quyết định.
Hình 3.6. Ảnh hưởng của overfitting trong học cây quyết định
Trong trường hợp này, thuật toán ID3 chỉ áp dụng để nghiên cứu cho các bệnh nhân bị bệnh tiểu đường. Trục hoành của đồ thị này chỉ ra tổng số các nút của cây quyết định tại thời điểm đang xây dựng. Trục tung chỉ ra độ chính xác của các dự đoán từ cây. Đường nét liền chỉ ra độ chính xác của các cây quyết định trên các
ví dụ huấn luyện, trong khi đó đường nét đứt chỉ ra độ chính xác được tính toán trên một tập độc lập các ví dụ kiểm tra (không nằm trong tập huấn luyện). Có thể dự đoán được rằng, độ chính xác của cây quyết định tăng dần đều khi cây được phát triển. Tuy nhiên độ chính xác được tính trên các ví dụ kiểm tra độc lập, trước tiên tăng lên sau đó giảm dần. Như đã thấy, mỗi khi kích cỡ của cây vượt quá 25 nút, sự phát triển thêm nữa của cây làm giảm độ chính xác của nó trên tập các ví dụ kiểm tra, bất chấp sự tăng lên của độ chính xác của nó trên tập các ví dụ huấn luyện.
Overfitting là một khó khăn thực sự đáng kể cho việc học cây quyết định và nhiều phương pháp học khác.
Có một vài biện pháp để tránh overfitting trong việc học cây quyết định. Có thể phân chúng thành 2 loại:
Chặn sự phát triển của cây từ sớm, trước khi nó vươn tới các điểm mà ở đó nó phân lớp hoàn toàn dữ liệu huấn luyện.
Cho phép các cây overfit với dữ liệu và sau đó cho phép lược bớt cây bằng phương pháp post−prunning.
Mặc dù biện pháp đầu tiên dường như trực tiếp hơn, nhưng biện pháp thứ 2 trong thực tế lại thành công hơn. Đó là do ở phương pháp 1 rất khó khăn trong việc đánh giá chính xác khi nào thì dừng việc phát triển cây lại.
Để xác định kích cỡ chính xác cuối cùng của cây. Cần phải:
Sử dụng một tập các ví dụ riêng biệt, khác với các ví dụ huấn luyện để đánh giá tính thiết thực của các nút bị loại ra từ cây.
Sử dụng tất cả các dữ liệu có thể để huấn luyện, nhưng lại dùng một bài kiểm tra thống kê để ước lượng dù việc mở rộng (hay loại trừ) một nút tạo ra
Sử dụng một chuẩn rõ ràng cho độ phức tạp của việc mã hoá các mẫu huấn luyện và các cây quyết định, tạm dừng sự phát triển của cây khi kích thước mã hoá này bị giảm đến mức tối thiểu.
Trong các cách tiếp cận này, cách tiếp cận đầu tiên là phổ biến nhất và thường được nhắc đến như là phương pháp tiếp cận tập huấn luyện và đánh giá tập.
3.1.2 Tỉa bớt để giảm lỗi (Reduced error pruning)
Tỉa bớt để giảm lỗi (Reduced error pruning) là phương pháp xem xét mỗi nút quyết định trên cây xem nó có phù hợp với việc loại bỏ hay giữ lại nguyên bản. Việc loại bỏ một nút quyết định bao gồm việc loại bỏ cây con tại nút này, tạo thành một nút lá, và gán cho nó vào lớp phổ biến nhất của các ví dụ huấn luyện được liên kết với nút đó. Những nút được loại bỏ nếu cây kết quả không tồi hơn cây ban đầu trên tập đánh giá. Điều này khiến cho bất kỳ nút lá nào được thêm vào do quy tắc trùng hợp ngẫu nhiên trên tập huấn luyện đều có thể bị loại bỏ vì những nút trùng hợp ngẫu nhiên này không thể xuất hiện trong tập đánh giá. Các nút bị loại liên tục, luôn luôn chọn nút, làm tăng độ chính xác của cây quyết định trên tập đánh giá. Việc loại các nút sẽ được tiếp tục cho đến khi việc loại bớt này là có hại (tức là giảm độ chính xác của cây trên tập đánh giá).
Hình 3.7. Tác động của phương pháp tỉa bớt giảm lỗi
Cũng như trong hình 4.6, độ chính xác của cây được chỉ ra trên cả các ví dụ huấn luyện và các ví dụ kiểm tra. Đường thứ 3 được thêm vào trong hình 4.7 chỉ ra độ chính xác trên các ví dụ kiểm tra khi cây bị lược bớt. Khi quá trình loại bỏ bắt đầu, cây đang ở mức kích thước lớn nhất và độ chính xác nhỏ nhất của quá trình kiểm tra. Khi quá trình loại bỏ được thực hiện, số các nút giảm xuống và độ chính xác trên tập kiểm tra tăng lên. Ở đây, dữ liệu có sẵn bị chia làm 3 tập con: các ví dụ huấn luyện, các ví dụ đánh giá sử dụng để lược bớt cây, và một tập các ví dụ kiểm tra sử dụng để cung cấp một ước lượng chính xác cho độ chính xác trên tập các ví dụ không nhìn thấy sau này. Đồ thị chỉ ra độ chính xác trên tập ví dụ huấn luyện và tập ví dụ kiểm tra. Độ chính xác trên tập đánh giá được sử dụng cho việc loại bỏ.
Việc sử dụng một phần của tập dữ liệu để chỉ đạo việc lược bớt cây là một phương pháp tiếp cận có hiệu quả. Hạn chế lớn của phương pháp tiếp cận này là khi dữ liệu bị hạn chế, phần dữ liệu giữ lại từ tập đánh giá có thể giảm xuống dưới mức các ví dụ cần cho việc huấn luyện.