ID3 là một thuật tốn cây quyết định được áp dụng cho các bài tốn phân loại mà các thuộc tính đều ở dạng quyết định (lựa chọn một quyết định rồi đi tiếp). Ý tưởng then chốt trong thuật tốn ID3 là xác định thứ tự của thuộc tính cần xem xét tại mỗi bước. Tại mỗi bước, thuộc tính tốt nhất sẽ được chọn ra đầu tiên. Việc chọn ra thuộc tính tốt nhất ở mỗi bước sẽ sử dụng thuật tốn tham lam.
Việc chọn nút con tốt nhất sẽ cần phụ thuộc vào lượng tin mà mỗi nút con cung cấp được liệu nĩ cung cấp được lượng tin nhiều hay ít để chọn được nút con tối ưu nhất. Khái niệm lượng tin này trong lý thuyết thơng tin gọi là entropy.
Giả sử cho phân phối xác suất của một biến rời rạc 𝑥 cĩ thể nhận 𝑛 giá trị khác nhau 𝑥1, 𝑥2, … , 𝑥𝑛.
Xác suất để 𝑥 nhận các giá trị này là: 𝑝𝑖 = 𝑝(𝑥 = 𝑥𝑖) với 0 ≤ 𝑝𝑖 ≤ 1,
∑𝑛 𝑝𝑖
𝑖=1 = 1. Ký hiệu phân phối này là: 𝑝 = (𝑝1, 𝑝2, … , 𝑝𝑛). Entropy của phân phối này được định nghĩa là:
𝐻(𝑝) = − ∑ 𝑝𝑖log(𝑝𝑖)
𝑛
𝑖=1
Trong đĩ:
- log là logarit tự nhiên.
- 𝐻(𝑝)𝑚𝑎𝑥 nếu và chỉ nếu 𝑝1 = 𝑝2 = ⋯ = 𝑝𝑛.
Xét bài tốn với 𝐶 phân lớp khác nhau. Giả sử ta đang làm việc với một child node với các điểm dữ liệu tạo thành một tập 𝑆 với số phần tử là |𝑆| = 𝑁. Trong điểm dữ liệu này thì 𝑁𝑐, 𝑐 = 1,2, … , 𝐶 là điểm thuộc phân lớp 𝑐. Xác suất để một điểm dữ liệu rơi vào một phân lớp 𝑐 được tính xấp xỉ bằng 𝑁𝑐
𝑁. Như vậy, entropy tại nút này được tính bởi:
𝐻(𝑆) = − ∑𝑁𝑐 𝑁 log ( 𝑁𝑐 𝑁) 𝐶 𝑐=1
Giả sử thuộc tính được chọn là 𝑥. Dựa trên 𝑥, các điểm dữ liệu trong 𝑆 được phân ra thành 𝐾 nút con 𝑆1, 𝑆2, … , 𝑆𝐾 với số điểm trong mỗi nút con lần lượt là 𝑚1, 𝑚2, … , 𝑚𝑘. Ta định nghĩa tổng cĩ trọng số entropy của mỗi nút con như sau:
𝐻(𝑥, 𝑆) = − ∑𝑚𝑘
𝑁 H(𝑆𝐾)
𝐾
𝑘=1
Tiếp theo ta định nghĩa lượng tin tăng (information gain) dựa trên thuộc tính 𝑥 như sau:
𝐺(𝑥, 𝑆) = 𝐻(𝑆) − 𝐻(𝑥, 𝑆)
Trong ID3, tại mỗi nút, thuộc tính được chọn được xác định dựa trên cơng thức sau:
𝑥∗ = 𝑎𝑟𝑔𝑚𝑎𝑥𝑥𝐺(𝑥, 𝑆) = 𝑎𝑟𝑔𝑚𝑖𝑛𝑥𝐻(𝑥, 𝑆)
Tức là thuộc tính 𝑥∗ được chọn là thuộc tính khiến cho lượng tin tăng đạt giá trị lớn nhất.
Điều kiện để việc phân chia nút kết thúc trong bài tốn cây quyết định nĩi chung và bài tốn sử dụng thuật tốn ID3:
Nếu nút đĩ cĩ entropy bằng 0 tức là mọi điểm trong nút đĩ đều thuộc một phân lớp
Nếu nút đĩ cĩ số phần tử nhỏ hơn một ngưỡng nào đĩ. Trong trường hợp này, ta chấp nhận một số điểm bị phân lớp sai để tránh trường hợp bị overfitting. Phân lớp cho nút lá này cĩ thể được xác định dựa trên phân lớp chiếm đa số trong nút đĩ.
Nếu khoảng các từ nút đĩ đến nút gốc đạt tới một giá trị cực đại nào đĩ. Việc hạn chế chiều sâu của cây này làm giảm độ phức tạp của cây và phần nào giúp tránh overfitting.
Nếu tổng số nút lá vượt quá một ngưỡng nào đĩ.
Nếu việc phân chia nút đĩ khơng làm giảm entropy quá nhiều (lượng tin tăng nhỏ hơn một ngưỡng nào đĩ).
Hạn chế lớn nhất của thuật tốn cây quyết định nĩi chung và thuật tốn ID3 nĩi riêng là việc chọn điểm dữ liệu mới đã rơi vào nhầm nhánh ở những lần chia đầu tiên, kết quả cuối cùng cũng sẽ khác đi rất nhiều. Việc rơi nhầm nhánh cũng cĩ thể dẫn đến việc bế tắc khi xây dựng cây quyết định.
2.2.3 Thuật tốn J48
J48 là thuật tốn được xây dựng dựa trên thuật tốn cây quyết định C4.5. C4.5 là thuật tốn được phát triển bởi Ross Quinlan, là phần cải tiến từ thuật tốn ID3 kể trên. Thường được dùng để phân loại nên C4.5 cịn được biết với cái tên phân loại thống kê.
C4.5 xây dựng cây quyết định từ một tập dữ liệu huấn luyện giống như ID3, sử dụng lượng tin entropy. Theo đúng như tư tưởng của thuật tốn ID3, tại mỗi nút, giải thuật sẽ chọn thuộc tính của dữ liệu cĩ tính năng phân tách hiệu quả nhất các tập mẫu của nĩ thành các tập hợp con và các nút con. Khác với ID3, tiêu chí chọn nút con ở đây phục thuộc vào lượng tin thu được (khác với entropy). Thuộc tính với lượng tin thu được nhiều nhất (lớn nhất) sẽ được chọn làm thành phần của cây quyết định. Việc lựa chọn này được lặp lại một cách đệ quy cho đến khi tìm được nút lá.
C4.5 thực hiện một số cải tiến so với thuật tốn ID3:
Xử lý được cả thuộc tính liên tục và rời rạc. Để thực hiện được việc này, C4.5 tạo ra một ngưỡng và sau đĩ chia thành danh sách các giá trị thuộc tính cao hơn ngưỡng và giá trị nhỏ hơn hoặc bằng.
Xử lý các thuộc tính với các giá trị chi phí khác nhau.
Thuật tốn tạo ra một phương pháp tối ưu bằng cách loại bỏ các nhánh khơng giúp ích cho cây và thay thế chúng bằng những nút lá.