3.1.1.1. Giới thiệu thuật toán
Đây có thể nói là thuật toán được xây dựng dựa trên ý tưởng đầu tiên về cách thức xây dựng một cây quyết định. Thuật toán này được Hunt trình bày trong Concept Learning System (CLS) vào cuối thập niên 50 của thế kỷ trước [9]. Ý tưởng xây dựng cây quyết định này được gọi là thuật toán CLS mà tư tưởng chủ đạo của nó là chia để trị.
Thuật toán được trình bày như sau:
Bước 1. Tạo một nút T, nút này chứa tất cả các mẫu trong tập huấn luyện. Bước 2. Nếu tất cả các mẫu trong T đều có giá trị Yes (positive) đối với
thuộc tính quyết định thì gán nhãn cho nút T là Yes và dừng.
Bước 3. Nếu tất cả các mẫu trong T đều có giá trị No (Negative) đối với thuộc tính quyết định thì gán nhãn cho nút T là No và dừng.
Bước 4. Trong trường hợp ngược lại thì:
4.1. Chọn một thuộc tính X có các giá trị là v1, v2,…,vn làm nhãn cho T
4.2. Chia T thành các tập con T1,T2, ….,Tn dựa theo các giá trị của X.
4.4. Tạo các nhánh nối từ T đến các Ti, các nhánh này có nhãn tương ứng là các giá trị vi của thuộc tính X
Bước 5. Đệ quy cho mỗi nút con Ti
3.1.1.2. Ví dụ minh họa
Để có thể minh họa cho thuật toán này, chúng ta xây dựng một cây quyết định với tập dữ liệu huấn luyện như Bảng 2.1.1.1. Tập mẫu dữ liệu huấn luyện về cán bộ, công chức với STT dùng để định danh, các thuộc tính Tuổi, Hệ số lương, Ngạch công chức, Học vị là các thuộc tính ứng viên dùng để xét còn thuộc tính Chức danh dùng làm thuộc tính khẳng định, dùng để phân lớp. Cây quyết định được xây dựng dựa trên thuật toán này đối với tập huấn luyện đã cho ở trên thông qua các bước sau:
a. Chọn thuộc tính hệ số lương, ta có cây như Hình 3.1.1.1. Minh họa bước 1 thuật toán CLS:
Hệ số lương [1,2,3,4,5,6,7,8,9] Thấp Cao Trung bình [6,9,8] [1,2] [3,4,5,7]
Hình 3.1.1.1. Minh họa bước 1 thuật toán CLS
b. Tiếp theo, ta chọn thuộc tính Học vị để mở rộng nhánh bên trái, ta được cây như Hình 3.1.1.2. Minh họa bước 2 thuật toán CLS:
Hệ số lương [1,2,3,4,5,6,7,8,9] Thấp Cao Trung bình Học vị [6,9,8] [1,2] [3,4,5,7] Thạc sĩ No
Hình 3.1.1.2. Minh họa bước 2 thuật toán CLS
c. Tiếp tục ta chọn thuộc tính Học vị để mở rộng nhánh ở giữa, ta được Hình 3.1.1.3. Minh họa bước 3 thuật toán CLS:
Hệ số lương [1,2,3,4,5,6,7,8,9] Thấp Cao Trung bình Học vị [6,9,8] Học vị [1,2] [3,4,5,7] Thạc sĩ No Tiến sĩ khoa học Yes Yes Tiến sĩ
Hình 3.1.1.3. Minh họa bước 3 thuật toán CLS
c. Tiếp tục ta chọn thuộc tính Học vị để mở rộng nhánh bên phải, ta được Hình 3.1.1.4. Minh họa bước 4 thuật toán CLS:
Hệ số lương [1,2,3,4,5,6,7,8,9] Thấp Cao Trung bình Học vị [6,9,8] Học vị [1,2] Học vị [3,4,5,7] Thạc sĩ No Tiến sĩ khoa học Yes Yes [3,5,7] Tiến sĩ Tiến sĩ [4] Thạc sĩ
Hình 3.1.1.4. Minh họa bước 4 thuật toán CLS
d. Tiếp tục ta chọn thuộc tính Ngạch công chức để mở rộng nhánh bên trái, ta được Hình 3.1.1.5. Minh họa bước 5 thuật toán CLS:
Hệ số lương [1,2,3,4,5,6,7,8,9] Thấp Cao Trung bình Học vị [6,9,8] Học vị [1,2] Học vị [3,4,5,7] Thạc sĩ No Tiến sĩ khoa học Yes Yes Ngạch công chức [3,5,7] Tiến sĩ Tiến sĩ [4] Thạc sĩ Yes
Nghiên cứu viên
Yes
Nghiên cứu viên
chính
Hình 3.1.1.5. Minh họa bước 5 thuật toán CLS
e. Cuối cùng ta chọn thuộc tính Ngạch công chức để mở rộng nhánh bên trái, ta được Hình 3.1.1.6. Minh họa bước 6 thuật toán CLS:
Hệ số lương [1,2,3,4,5,6,7,8,9] Thấp Cao Trung bình Học vị [6,9,8] Học vị [1,2] Học vị [3,4,5,7] Thạc sĩ No Tiến sĩ khoa học Yes Yes Ngạch công chức [3,5,7] Tiến sĩ Tiến sĩ Ngạch công chức [4] Thạc sĩ Yes
Nghiên cứu viên
Yes
Nghiên cứu viên
chính
No
Thạc sĩ
Hình 3.1.1.6. Minh họa bước 6 thuật toán CLS
Hình 3.1.1.6 cũng chính là cây kết quả có thể đạt được khi sử dụng thuật toán CLS đối với tập huấn luyện đã cho.
Nhận xét:
Chúng ta có thể thấy rằng, tại bước 4 của thuật toán CLS, nếu chọn thuộc tính khác nhau sẽ cho chúng ta cây quyết định có hình dáng khác nhau. Điều này có nghĩa là việc chọn thuộc tính sẽ ảnh hưởng đến độ phức tạp của cây và cho ta các kết quả khác nhau. Vấn đề đặt ra là làm thế nào để chọn thuộc tính được coi là tốt nhất ở mỗi lần chọn, để cuối cùng ta có cây tối ưu. Thuật toán sau đây sẽ giải quyết vấn đề đó.