5. Một số phƣơng pháp phân lớp
5.2. Phân lớp dựa trên cây quyết định [6]
Với kỹ thuật phân lớp dựa trên cây quyết định, kết quả của quá trình xây dựng mô hình sẽ cho ra một cây quyết định. Cây này đƣợc sử dụng trong quá trình phân lớp các đối tƣợng dữ liệu chƣa biết hoặc đánh giá độ chính xác của mô hình. Tƣơng ứng với hai giai đoạn trong quá trình phân lớp là quá trình xây dựng và sử dụng cây quyết định.
Quá trình xây dựng cây quyết định bắt đầu từ một nút đơn biểu diễn tất cả các mẫu dữ liệu. Sau đó, các mẫu sẽ đƣợc phân chia một cách đệ quy dựa vào việc lựa chọn các thuộc tính. Nếu các mẫu có cùng một lớp thì nút sẽ trở thành lá, ngƣợc lại ta sử dụng một độ đo thuộc tính để chọn ra thuộc tính tiếp theo làm cơ sở để phân chia các mẫu ra các lớp. Theo từng giá trị của thuộc tính vừa chọn, ta tạo ra các nhánh tƣơng ứng và phân chia các mẫu vào các nhánh đã tạo. Lặp lại quá trình trên cho tới khi tạo ra đƣợc cây quyết định, tất cả các nút triển khai thành lá và đƣợc gán nhãn. Quá trình đệ quy sẽ dừng lại khi một trong các điều kiện sau đƣợc thỏa mãn:
+ Tất cả các mẫu thuộc cùng một nút.
+ Nhánh không chứa mẫu nào.
Để hình dung tốt hơn về cây quyết định, ta xét ví dụ sau. Để chẩn đoán và phân loại các bệnh nhân có hoặc không mắc bệnh ung thƣ, ta có một CSDL và kết quả là sinh thiết tế bào bao gồm 3 thuộc tính dự báo nhƣ trong bảng sau:
Color Tails Luclei Cell
Light 1 1 Healthy Light 1 2 Healthy Light 2 2 Cancerous Light 2 1 Healthy Dark 1 1 Healthy Dark 1 2 Cancerous Dark 2 2 Cancerous Dark 2 1 Cancerous Bảng 2: Tập ví dụ huấn luyện D.
Vấn đề đặt ra là làm thế nào để lựa chọn đƣợc thuộc tính tốt nhất? Thông thƣờng ngƣời ta dựa vào công thức tính Entropy để tính độ đo giữa các thuộc tính. Để đơn giản, ta giả thiết mỗi mẫu dữ liệu có thể có lớp hoặc . Giả thiết S một tập hợp các mẫu, P là tỷ lệ các mẫu và P là tỷ lệ các mẫu
trong S. Khi đó:
Entropy (S)= - P log2 P - Plog2P (2.1) Trong trƣờng hợp S có n lớp với tỷ lệ từng lớp là Pi thì n i i P 1 1 và: Entropy (S) = - n i i i P P 1 2 log (2.2)
Độ đo thu lợi thông tin từ tập S trên thuộc tính A đƣợc định nghĩa:
Gain(S, A) = Entropy (S) - v .Entropy(Sv)
S S
(2.3)
Để xác định thuộc tính tốt nhất ngƣời ta tính Gain() cho mọi thuộc tính và chọn thuộc tính có Gain() lớn nhất.
Sau quá trình lặp đệ quy cây quyết định có thể đƣợc sinh ra nhƣ hình vẽ sau.
Hình 4: Phân lớp dựa trên cây quyết định.
Phần lớn các giải thuật sinh cây quyết định đều có hạn chế chung là sử dụng nhiều bộ nhớ. Lƣợng bộ nhớ sử dụng tỷ lệ thuận với kích thƣớc của mẫu dữ liệu huấn luyện. Một chƣơng trình sinh cây quyết định có hỗ trợ sử dụng bộ nhớ ngoài song lại có nhƣợc điểm về tốc độ thực thi. Do vậy, vấn đề tỉa bớt cây quyết định trở nên quan trọng. Các nút lá không ổn định trong cây quyết định sẽ đƣợc tỉa bớt.
Kỹ thuật tỉa trƣớc là việc dừng sinh cây quyết định khi chia dữ liệu không có ý nghĩa. Đôi khi, ta có thể sinh ra một cây quyết định đầy đủ sau đó mới tỉa các nút lá không ổn định. Kĩ thuật này gọi là tỉa sau. Thông thƣờng phƣơng pháp tỉa sau sẽ tỉa giảm sai số hoặc tỉa sau với các luật (tức là sinh ra các luật rồi áp dụng việc tỉa bớt các luật).
Trong quá trình sử dụng, cây quyết định đƣợc dùng để phân lớp một mẫu dữ liệu chƣa biết. Thông thƣờng quá trình này đòi hỏi việc kiểm tra các giá trị của các mẫu dữ liệu dựa vào cây quyết định.