Tải bản đầy đủ (.pdf) (22 trang)

hệ thống thông minh cây quyết định

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (600.7 KB, 22 trang )

Nhóm 10: Tìm hiểu về cây quyết định

BÁO CÁO TÌM HIỂU SERMINA LÝ THUYẾT
HỆ THỐNG THÔNG MINH
Giáo viên: Hồ Thị Hoàng Vy

CÂY QUYẾT ĐỊNH
NHÓM 10:
Thành viên:

1012145 Nguyễn Hoàng Hiệp
1012210 Tô Trần Hiếu Lâm
1012211 Trần Tiến Lâm
1012196 Phạm Đăng Khoa


Nhóm 10: Tìm hiểu về cây quyết định
I.
II.

MỞ ĐẦU VỀ PHÂN LỚP DỮ LIỆU: .......................................................................................................... 3
TỔNG QUAN VỀ CÂY QUYẾT ĐỊNH: ................................................................................................. 3

1.

Giới thiệu chung ............................................................................................................................................................. 3

2.

Các loại Cây Quyết Định ................................................................................................................................................ 5


3.

Ví Dụ:.............................................................................................................................................................................. 5

III.

ƯU VÀ KHUYẾT ĐIỂM CỦA CÂY QUYẾT ĐỊNH: ......................................................................... 9

1.

Ưu điểm: ......................................................................................................................................................................... 9

2.

Khuyết điểm: .................................................................................................................................................................. 9

IV.

XÂY DỰNG CÂY QUYẾT ĐỊNH: .........................................................................................................10

1.

Chọn thuộc tính phân tách ........................................................................................................................................... 10

2.

Phép kiểm tra để chọn phép phân tách tốt nhất: ......................................................................................................... 12

V.


THUẬT TOÁN XÂY DỰNG CÂY QUYẾT ĐỊNH: ...........................................................................14

1.

Thuật Toán CLS ........................................................................................................................................................... 15

2.

Thuật toán ID3 ............................................................................................................................................................. 17


Nhóm 10: Tìm hiểu về cây quyết định
I.

MỞ ĐẦU VỀ PHÂN LỚP DỮ LIỆU:
Phân lớp dữ liệu (classification) là một trong những hướng nghiên
cứu chính của khai phá dữ liệu. Thực tế đặt ra nhu cầu là từ một cơ sở dữ liệu với
nhiều thông tin ẩn con người có thể trích rút ra các quyết định nghiệp vụ thông
minh. Phân lớp và dự đoán là hai dạng của phân tích dữ liệu nhằm trích rút ra một
mô hình mô tả các lớp dữ liệu quan trọng hay dự đoán xu hướng dữ liệu tương lai.
Phân lớp dự đoán giá trị của những nhãn xác định (categorical label) hay những
giá trị rời rạc
(discrete value), có nghĩa là phân lớp thao tác với những đối tượng dữ liệu mà có
bộ giá trị là biết trước. Trong khi đó, dự đoán lại xây dựng mô hình với các hàm
nhận giá trị liên tục.
Cây quyết định được đánh giá là giải phát tốt nhất cho việc phân lớp dữ liệu

II.

TỔNG QUAN VỀ CÂY QUYẾT ĐỊNH:

1. Giới thiệu chung
Cây quyết định là biểu đồ phát triển có cấu trúc dạng cây, như mô tả trong
hình vẽ sau:


Nhóm 10: Tìm hiểu về cây quyết định

Hình 1: Ví dụ về cây quyết định
Trong cây quyết định:
• Gốc: là node trên cùng của cây
• Node trong: biểu diễn một kiểm tra trên một thuộc tính đơn (hình chữ nhật)
• Nhánh: biểu diễn các giá trị có thể có của thuộc tính
• Node lá: biểu diễn lớp hay sự phân phối lớp (còn gọi là lớp quyết định)
Cây Quyết Định được sử dụng để xây dựng một kế hoạch nhằm đạt được
mục tiêu mong muốn. Các cây quyết định được dung để hỗ trợ quá trình ra quyết
định. Cây quyết định là một dạng đặc biệt của cấu trúc cây.
Tạo cây quyết định chính là quá trình phân tích cơ sở dữ liệu, phân lớp và
đưa ra dự đoán. Cây quyết định được tạo thành bằng cách lần lượt chia đệ quy một
tập dữ liệu thành các tập dữ liệu con, mỗi phần tử con được tạo thành chủ yếu từ
các phần tử thuộc cùng một lớp. Lựa chọn thuộc tính thông qua Entropy và Gain


Nhóm 10: Tìm hiểu về cây quyết định
Học bằng cây quyết định cũng là một phương pháp thông dụng trong khai
phá dữ liệu. Khi đó, cây quyết định mô tả cấu trúc cây, trong đó các lá đại diện
cho các phân loại còn canh đại diện cho các kết hợp của thuộc tính dẫn tơi phân
loại đó. Một cây quyết định có thể được học bằng cách chia tập ngồn thành các
tập con dự theo các kiểm tra thuộc tính. Quá trình này được lặp lại một cách đệ
quy cho mỗi tập con dẫn xuất. Quá trình đệ quy hoàn thành khi không thể thực
hiện việc tiếp tục chia tách được nữa, hay khi một phân loại đơn có thể áp dụng

cho từng phần tử của tập con dẫn xuất.
Cây quyết định có thể được mô tả như là sự kết hợp của các kĩ thuật toán
học và tính toán nhằm hỗ trợ việc mô tả, phân loại và tổng quát một tập dữ liệu
cho trước.
Dữ liệu được cho dưới dạng các bản ghi có dạng (x,y) =(x1, x2, x3, ….,xk, y).
Biến phụ thuộc (dependant variable) y là biến mà cúng ta cần tìm hiểu, phân loại
hay tổng quát hóa. x1, x2, x3, …. là các biến giúp ta thực hiện công việc đó.
2. Các loại Cây Quyết Định
Cây quyết định còn có hai tên khác:
 Cây Hồi Quy: (Regreesion Tree) ước lượng các hàm có giá trị số thực thay
vì được sử dụng cho các nhiệm vụ phân loại(ví dụ ước tính giá trị một ngôi
nhà hay thời gian một bệnh nhân nằm viện)
 Cây Phân Loại: (Classification Tree) Nếu y là một biến phân loại như:
giới tính(nam hay nữ), kết quả một trận đấu (thắng hay thua).
3. Ví Dụ:
Ta sẽ dùng một ví dụ để giải thích về cây quyết định:
David là quản lý của một câu lạc bộ đánh golf nổi tiếng. Anh ta đang có rắc rối
chuyện các thành viên đến hay không đến. Có ngày ai cũng muốn chơi golf nhưng số
nhân viên câu lạc bộ lại không đủ phục vụ. Có hôm, không hiểu vì lý do gì mà chẳng
ai đến chơi, và câu lạc bộ lại thừa nhân viên.
Mục tiêu của David là tối ưu hóa số nhân viên phục vụ mỗi ngày bằng cách dựa
theo thông tin dự báo thời tiết để đoán xem khi nào người ta sẽ đến chơi golf. Để thực
hiện điều đó, anh cần hiểu được tại sao khách hàng quyết định chơi và tìm hiểu xem
có cách giải thích nào cho việc đó hay không.


Nhóm 10: Tìm hiểu về cây quyết định
Vậy là trong hai tuần, anh ta thu thập thông tin về:
Quang cảnh (outlook), nắng (sunny), nhiều mây (clouded) hoặc mưa (raining)).
Nhiệt độ (temperature), độ ẩm (humidity). Có gió mạnh (windy) hay không.

Và tất nhiên là số người đến chơi golf vào hôm đó. David thu được một bộ dữ
liệu gồm 14 dòng và 5 cột.


Nhóm 10: Tìm hiểu về cây quyết định

Ngày

Quang Cảnh

Nhiệt độ

Độ ẩm

Gió

Chơi Tennis

D1

Nắng

Nóng

Cao

Nhẹ

Không


D2

Nắng

Nóng

Cao

Mạnh

Không

D3

Âm u

Nóng

Cao

Nhẹ



D4

Mưa

Ấm áp


Cao

Nhẹ



D5

Mưa

Mát

TB

Nhẹ



D6

Mưa

Mát

TB

Mạnh

Không


D7

Âm u

Mát

TB

Mạnh



D8

Nắng

Ấm áp

Cao

Nhẹ

Không

D9

Nắng

Mát


TB

Nhẹ



D10

Mưa

Ấm áp

TB

Nhẹ



D11

Nắng

Ấm áp

TB

Mạnh




D12

Âm u

Ấm áp

Cao

Mạnh



D13

Âm u

Nóng

TB

Nhẹ



D14

Mưa

Ấm áp


Cao

Mạnh

Không

Sau đó, để giải quyết bài toán của David, người ta đã đưa ra một mô hình cây
quyết định kiểm tra khi nào chơi golf, khi nào không chơi.


Nhóm 10: Tìm hiểu về cây quyết định

Cây quyết định là một mô hình dữ liệu mã hóa phân bố của nhãn lớp (cũng là y)
theo các thuộc tính dùng để dự đoán. Nút gốc (nút nằm trên đỉnh) đại diện cho toàn
bộ dữ liệu. Thuật toán cây phân loại phát hiện ra rằng cách tốt nhất để giải thích biến
phụ thuộc Chơi (play), là sử dụng biến Quang cảnh. Phân loại theo các giá trị của
biến Quang cảnh, ta có ba nhóm khác nhau: Nhóm người chơi golf khi trời nắng,
nhóm chơi khi trời nhiều mây, và nhóm chơi khi trời mưa.
Kết luận thứ nhất: nếu trời nhiều mây tức là âm u, người ta luôn luôn chơi golf.
Và có một số người đi chơi golf cả khi trời mưa.
Tiếp theo, ta lại chia nhóm trời nắng thành hai nhóm con. Ta thấy rằng khách
hàng không muốn chơi golf nếu độ ẩm cao.
Cuối cùng, ta chia nhóm trời mưa thành hai và thấy rằng khách hàng sẽ không
chơi golf nếu trời nhiều gió.


Nhóm 10: Tìm hiểu về cây quyết định
Và đây là lời giải ngắn gọn cho bài toán mô tả bởi cây phân loại. David cho phần
lớn nhân viên nghỉ vào những ngày trời nắng và ẩm, hoặc những ngày mưa gió. Vì
hầu như sẽ chẳng có ai chơi golf trong những ngày đó. Vào những hôm khác, khi

nhiều người sẽ đến chơi golf, anh ta có thể thuê thêm nhân viên thời vụ để phụ giúp
công việc.
Lưu ý :
 Cây quyết định trên không có sự tham gia của thuộc tính “Nhiệt độ” trong
thành phần cây, các thuộc tính như vậy được gọi chung là các thuộc tính dư thừa bởi
vì các thuộc tính này không ảnh hưởng đến quá trình xây dựng mô hình của cây.
 Các thuộc tính tham gia vào quá trình phân lớp thông thường có các giá trị liên
tục hay còn gọi là kiểu số (ordered or numeric values) hoặc kiểu rời rạc hay còn gọi
là kiểu dữ liệu phân loại (unordered or category values). Ví dụ kiểu dữ liệu độ ẩm
hay lương có thể biểu diễn bằng số thực là kiểu dữ liệu liên tục, kiểu dữ liệu giới tính
là kiểu dữ liệu rời rạc (có thể rời rạc hóa thuộc tính giới tính một cách dễ dàng).
Kết luận là cây quyết định giúp ta biến một biểu diễn dữ liệu phức tạp thành một
cấu trúc đơn giản hơn rất nhiều.

III.

ƯU VÀ KHUYẾT ĐIỂM CỦA CÂY QUYẾT ĐỊNH:
1. Ưu điểm:
- Khả năng sinh ra các quy tắc hiểu được
- Khả năng thực thi trong những lĩnh vực hướng quy tắc
- Dễ dàng tính toán trong khi phân lớp
- Khả năng xử lý với cả thuộc tính liên tục và thuộc tính rời rạc
- Thể hiện rõ ràng những thuộc tính tốt nhất
2. Khuyết điểm:
- Dễ xẩy ra lỗi khi có quá nhiều lớp
- Chi phí tính toán đắt để đào tạo


Nhóm 10: Tìm hiểu về cây quyết định


IV.

XÂY DỰNG CÂY QUYẾT ĐỊNH:
1. Chọn thuộc tính phân tách
Lúc khởi đầu, ta có trong tay một tập luyện chứa tập các bản ghi được phân
loại trước – tức là giá trị của biến đích được xác định trong tất cả các trường hợp.
Cây quyết định được xây dựng bằng cách phân tách các bản ghi tại mỗi nút dựa
trên một thuộc tính đầu vào. Rõ ràng nhiệm vụ đầu tiên là phải chọn ra xem thuộc
tính nào đưa ra được sự phân tách tốt nhất tại nút đó.
Độ đo được sử dụng để đánh giá khả năng phân tách là độ tinh khiết. Chúng ta
sẽ có những phương pháp xác định để tính toán độ tinh khiết một cách chi tiết, tuy
nhiên chúng đều cố gắng đạt được hiệu quả như nhau. Một sự phân tách tốt nhất là
sự phân tách làm tăng độ tinh khiết của tập bản ghi với số lượng lớn nhất. Một sự
phân tách tốt cũng phải tạo ra các nút có kích cỡ tương tự nhau, hay chí ít cũng
không tạo ra các nút có quá ít bản ghi.

Dữ liệu gốc

Phép phân tách kém

Phép phân tách kém


Nhóm 10: Tìm hiểu về cây quyết định
Phép phân tách tốt

Thuật toán xây dựng cây quyết định hết sức thấu đáo. Chúng bắt đầu bằng việc
chọn mỗi biến đầu vào chưa được chọn và đo mức độ tăng độ tinh khiết trong các
kết quả ứng với mỗi biến. Sau đó một phép tách tốt nhất sẽ được sử dụng trong
phép tách khởi đầu, để tạo hai hay nhiều nút con. Nếu không phép phân tách nào

có khả năng (có thể do có quá ít bản ghi) hoặc do không có phép phân tách nào
làm tăng độ tinh khiết thì thuật toán kết thúc và nút đó trở thành nút lá.
Phép phân tách trên các biến đầu vào kiểu số: đối với sự phân tách nhị phân
trên một biến đầu vào, mỗi giá trị mà biến đó chứa đều có thể trở thành giá trị dự
tuyển. Phép phân tách nhị phân dựa trên biến đầu vào kiểu số có dạng X < N. Để
cải thiện hiệu năng, một số thuật toán không kiểm tra hết toàn bộ các giá trị của
biến mà chỉ kiểm tra trên tập mẫu giá trị của biến đó.
Phép phân tách trên các biến đầu vào định tính : thuật toán đơn giản nhất
trong việc phân tách trên một biến định tính là ứng với mỗi giá trị của biến đó, ta
tạo một nhánh tương ứng với một lớp được phân loại. Phương pháp này được sử
dụng thực sự trong một số phần mềm nhưng mang lại hiệu quả thấp. Một phương
pháp phổ biến hơn đó là nhóm các lớp mà dự đoán cùng kết quả với nhau. Cụ thể,
nếu hai lớp của biến đầu vào có phân phối đối với biến đích chỉ khác nhau trong
một giới hạn cho phép thì hai lớp này có thể hợp nhất với nhau.
Phép phân tách với sự có mặt của các giá trị bị thiếu: một trong những điểm
hay nhất của cây quyết định là nó có khả năng xử lý các giá trị bị thiếu bằng cách
coi giá trị rỗng (NULL) là một nhánh của nó. Phương pháp này được ưa thích hơn
so với việc vứt các bản ghi có giá trị thiếu hoặc cố gắng gắn giá trị nào đó cho nó
bởi vì nhiều khi các giá trị rỗng cũng có ý nghĩa riêng của nó. Mặc dù phép phân
tách giá trị rỗng như là một lớp riêng rẽ khá có ý nghĩa nhưng người ta thường đề
xuất một giải pháp khác. Trong khai phá dữ liêu, mỗi nút chứa vài luật phân tách
có thể thực hiện tại nút đó, mỗi phép phân tách đó dựa vào các biến đầu vào khác
nhau. Khi giá trị rỗng xuất hiên trong biến đầu vào của phép phân tách tốt nhất, ta
sử dụng phép phân tách thay thế trên biến đầu vào có phép phân tách tốt thứ hai.


Nhóm 10: Tìm hiểu về cây quyết định
2. Phép kiểm tra để chọn phép phân tách tốt nhất:
- Độ lợi thông tin (Information gain)


Information gain là đại lượng được sử dụng để chọn lựa thuộc tính với
information gain lớn nhất.

Cho P và N là hai lớp và S là một tập dữ liệu có p phần tử lớp P và n
phần tử lớp N .

Khối lượng thông tin cần thiết để quyết định một mẫu tùy ý có thuộc về
lớp P hay N hay không là:
Info ( p , n )  Entropy (

p
n
p
p
n
n
,
)
log 2

log 2
pn pn
pn
pn pn
pn

• Cho các tập {S1, S2 , …, Sv} là một phân hoạch trên tập S, khi sử dụng
thuộc tính A.
• Cho mỗi Si chứa pi mẫu lớp P và ni mẫu lớp N
• Entropy, hay thông tin mong muốn cần thiết để phân lớp các đối tượng

trong tất cả các cây con Si là:


Entropy ( A )  
i 1



p i  ni
Info ( pi , ni )
pn

Thông tin có được bởi việc phân nhánh trên thuộc tính A là:

Gain ( A)  Info ( p , n )  Entropy ( A)

Ví dụ: Với bảng dữ liệu về dự báo thời tiết ở trên:


Lớp P: Chơi_tennis = “Có”



Lớp N: Chơi_tennis = “Không”



Thông tin cần thiết để phân lớp một mẫu được cho là:



Nhóm 10: Tìm hiểu về cây quyết định
In fo ( p , n )  In fo (9 , 5 )  -

9
9
5
5
lo g 2
lo g 2
 0 .9 4 0
14
14 14
14

 Xét thuộc tính ‘Quang cảnh’ ta có :
○ ‘Quang cảnh’ = ‘Nắng’:
Info ([2,3]) = entropy (2/5, 3/5) = – 2/5log2(2/5) – 3/5log2(3/5) = 0.971
○ ‘Quang cảnh’ = ‘Âm u’:
Info ([4,0]) = entropy (1, 0) = – 1log2(1) – 0log2(0) = 0
Do không có log2(0) nên ta quy ước nó bằng 0
○ ‘Quang cảnh’ = ‘Mưa’:
Info ([3,2]) = entropy (3/5, 2/5) = – 3/5log2(3/5) – 2/5log2(2/5) = 0.971
○ Entropy cho phép phân tách trên thuộc tính « Quang cảnh» :

Entropy ( Quang canh ) 

5
4
5
Info (2, 3) 

Info (4, 0) 
Info (3, 2)
14
14
14

= (5/14) * 0.971 + (4/14) * 0 + (5/14) * 0.971 = 0.694
Do đó ta có:

Gain(Quang canh)  Info(9,5)  Entropy(Quang canh)
= 0.940 – 0.694= 0.246
 Xét thuộc tính ‘Độ ẩm’ ta có :
○ ‘Độ ẩm’ = ‘Cao’:
Info ([3,4]) = entropy (3/7, 4/7) = – 3/7log2(3/7) – 4/7log2(4/7) = 0.985
○ ‘Độ ẩm’ = ‘Trung bình’:
Info ([6,1]) = entropy (6/7, 1/7) = – 6/7log2(6/7) – 1/7log2(1/7) = 0.592
Entropy(Độ ẩm)= 7/14 Info(3,4) + 7/14 Info(6,1)
= 7/14* 0.985 + 7/14* 0.592 = 0.789


Nhóm 10: Tìm hiểu về cây quyết định
Gian(Độ ẩm) = Info(9,5) – Entropy(Độ ẩm)
= 0.940 – 0.798 = 0.151
Tương tự cho các thuộc tính còn lại ta có:

Gain (Quang canh )  0.246
Gain ( Do am )  0.151
Gain (Gio)  0.048
Gain ( Nhiet do )  0.029
Rõ ràng ban đầu ta sẽ chọn thuộc tính ‘Quang cảnh’ để phân tách. Sau đó làm

tương tự ta sẽ được cây quyết định cuối cùng có dạng :
Quang cảnh

Nắng

Độ ẩm

Cao

Không

V.

Mưa

Âm u

Gió



Mạnh

TB



Không

Nhẹ




THUẬT TOÁN XÂY DỰNG CÂY QUYẾT ĐỊNH:
Với tiêu chí xây dựng cây quyết định ngày càng đơn giản, cho độ chính xác
phân lớp cao, chi phí thấp, có khả năng mở rộng,… thì có rất nhiều tác giả đã cho


Nhóm 10: Tìm hiểu về cây quyết định
ra đời các thuật toán ngày càng tối ưu hơn. Một số thuật toán tiêu biểu sau:

Algorithms

References

CLS(Concept learning System)

C. I. Hovland và E. B. Hunt

CART(Classification And Regression Tree)

Breiman et al.(1984)

ID3(Interactive Dichotomizer 3)

Quinlan(1986)

C4.5

Quinlan(1993)


CHAID (CHi-squared Automatic Interaction

Kass(1980)

QUEST

LohandShih(1997)

CAL5

Muller and Wysotzki(1994)

FACT

Loh

LMDT

Brodley and Utgoff(1995)

T1

Holte(1993)

PUBLIC

Rastogi and Shim(2000)

MARS


Friedman(1991)

SLIQ (Supervised Learning in Quest)

Mehta(1996)

SPRINT(A Scalable Parallel Classifier for
DataMining)

Shafer, Agrawal, Mehta

….

….

and

1. Thuật Toán CLS
1. Tạo một nút T, nút này gồm tất cả các mẫu của tập huấn luyện.
2. Nếu tất cả các mẫu trong T thuộc cùng một lớp và có thuộc tính quyết
định mang giá trị :
 “yes” thì gán nhãn cho nút T là "yes" và dừng lại. T lúc này là nút lá.
 "no” thì gán nhãn cho nút T là "no" và dừng lại. T lúc này là nút lá.
3. Trường hợp ngược lại các mẫu của tập huấn luyện thuộc cả hai lớp "yes"
và "no" thì:
 Chọn một thuộc tính X trong tập thuộc tính của tập mẫu dữ liệu, X


Nhóm 10: Tìm hiểu về cây quyết định

có các giá trị v1, v2, …vn.
 Chia tập mẫu trong T thành các tập con T1, T2,….,Tn. chia theo giá
trị của X.
 Tạo n nút con Ti (i=1,2…n) với nút cha là nút T.
 Tạo các nhánh nối từ nút T đến các nút Ti (i=1,2…n) là các thuộc tính
của X.
4. Thực hiện lặp cho các nút con Ti(i =1,2..n) và quay lại bước 2.

Ví dụ: Cho tập huấn luyện gồm 14 mẫu, dựa vào thời tiết để xác định người đó có
đi chơi Tennis hay không?(dữ liệu ở ví dụ trên)
Theo các bước của thuật toán ta có cây quyết định như sau:

Quang Cảnh
Nắng
T1[D1, D2, D8, D9, D11]

T2[D3, D7, D12, D13]

Ấm

Nóng

[D8,
D11]
Độ ẩm

[D9]


TB



Mưa
T3[D4, D5, D6, D10, D14]



Nhiệt độ
Mát

Âm u

Gió
Nhẹ

Mạnh

[D1, D2]
không
Cao
không



không


Nhóm 10: Tìm hiểu về cây quyết định

Ta nhận thấy trong bước 3 của thuật toán, thuộc tính được chọn để triển khai cây là tuỳ ý.

Nếu ta chọn thuộc tính “Độ ẩm” làm thuộc tính để triển khai T1 thì ta có 1 cây khác:

Quang
Nắng
T1[D1, D2, D8, D9, D11]



T2[D3, D7, D12, D13]

Mưa
T3[D4, D5, D6, D10, D14]



Độ ẩm
TB

Âm u

Gió

Cao

Nhẹ
khôn



Mạnh

khôn

Do vậy cùng với một tập mẫu dữ liệu huấn luyện nếu áp dụng thuật toán CLS với
thứ tự chọn thuộc tính triển khai cây khác nhau, sẽ cho ra các cây có hình dạng
khác nhau. Việc lựa chọn thuộc tính sẽ ảnh hưởng tới độ rộng, độ sâu, độ phức tạp
của cây. Vì vậy một câu hỏi đặt ra là thứ tự thuộc tính nào được chọn để triển khai
cây sẽ là tốt nhất. Vấn đề này sẽ được giải quyết trong thuật toán ID3 dưới đây

2. Thuật toán ID3
- Thuật toán ID3 được phát biểu bởi tác giả Quinlan (trường đại học Syney, Australia)
và được công bố vào cuối thập niên 70 của thế kỷ 20. Sau đó, thuật toán này được
giới thiệu và trình bày trong mục Induction on decision trees, machine learning năm


Nhóm 10: Tìm hiểu về cây quyết định
1986. ID3 được xem như là một cải tiến của CLS với khả năng lựa chọn thuộc tính
tốt nhất để tiếp tục triển khai cây tại mỗi bước. ID3 xây dựng cây quyết định từ trênxuống (top -down). ID3 sử dụng độ đo Information Gain để đo tính hiệu quả của các
thuộc tính phân lớp. Trong quá trình xây dựng cây quyết định theo thuật toán ID3 tại
mỗi bước phát triển cây, thuộc tính được chọn để triển khai là thuộc tính có giá trị
Gain lớn nhất. Hàm xây dựng cây quyết định trong thuật toán ID3
- Function induce_tree(tập_ví_dụ, tập_thuộc_tính)
- begin
if mọi ví dụ trong tập_ví_dụ đều nằm trong cùng một lớp then
return một nút lá được gán nhãn bởi lớp đó
else
if tập_thuộc_tính là rỗng then
return nút lá được gán nhãn bởi tuyển của tất cả các lớp trong
tập_ví_dụ
else
begin

chọn một thuộc tính P, lấy nó làm gốc cho cây hiện tại;
xóa P ra khỏi tập_thuộc_tính;
với mỗi giá trị V của P
begin
tạo một nhánh của cây gán nhãn V;
Đặt vào phân_vùngV các ví dụ trong tập_ví_dụ có giá trị V
tại thuộc tính P;
Gọi induce_tree(phân_vùngV, tập_thuộc_tính), gắn kết quả
vào nhánh V
end
end
- End
Áp dụng vào ví dụ ban đầu ta có:
- Gọi tập huấn luyện là S, số mẫu thuộc lớp Có ký hiệu là (+) và số mẫu thuộc lớp
Không ký hiệu là (-), ta có S[9+,5-] tức tập huấn luyện S có 14 mẫu trong đó có 9
mẫu thuộc lớp Có và 5 mẫu thuộc lớp Không.
- Để xác định thuộc tính phân lớp ta cần tính Information Gain cho từng thuộc tính của
mẫu huấn luyện:
o Thuộc tính Quang Cảnh


Nhóm 10: Tìm hiểu về cây quyết định
Value(QC)={Nắng, Mưa, Âm u}
Gọi SNắng là tập các mẫu có QC=Nắng ta có SNắng=[2+,3-]
Tương tự ta có SMưa=[3+,2-], SÂm u=[4+,0-]
( ,

)=

( )−∑



0.971 −

×0−



(

(

Â

| |
) | |

)−

( )=
(

ư

) = 0.94 −

( )−
×

× 0.971 ≈ 0.246


Tư tượng đối với các thuộc tính Nhiệt độ, Độ ẩm, Gió ta có Gain tương ứng như sau:
- Gain(S,ND)= 0.029
- Gain(S,DA)= 0.151
- Gain(S,G)= 0.048

Chọn Quang cảnh làm thuộc tính phân lớp vì có Gain lớn nhất
- Vẽ cây quyết định:


Nhóm 10: Tìm hiểu về cây quyết định
Quang
Cảnh
Nắng

[D1, D2, D8, D9, D11]
S Nắng[2+,3-]
???

Âm u

[D3, D7, D12, D13]
S Âm u[4+,0-]


Mưa

[D4, D5, D6, D10, D14]
S
[3+,2-]

???

Do Quang cảnh=Nắng và Quang cảnh=Mưa chưa xác định được thuộc tính phân
lớp nên ta chia tập huấn liệu thành 2 bảng như hình trên và tiếp tục tìm thuộc tính
phân lớp cho 2 bảng mẫu huấn luyện. Kết quả cuối cùng ta có cây quyết định sau:


Nhóm 10: Tìm hiểu về cây quyết định
Quang
Cảnh
Nắng

Âm u

[D1, D2, D8, D9, D11]
S Nắng[2+,3-]

[D3, D7, D12, D13]
S Âm u[4+,0-]

Độ ẩm



TB

Mưa
[D4, D5, D6, D10, D14]
S
[3+,2-]

Gió

Cao

Nhẹ

S TB[2+,0-]

S cao[0+,3-]



khôn

S Nhẹ[3+,0-]


Từ cây quyết định trên tạo ra các luật:
– R1: IF QC=Âm u THEN Chơi Tennis=Có.
– R2: IF QC=Nắng AND Độ ẩm=TB THEN Chơi Tennis=Có.
– R3: IF QC=Nắng AND Độ ẩm=Cao THEN Chơi Tennis=Không.
– R4: IF QC=Mưa AND Gió=Nhẹ THEN Chơi Tennis=Có
– R5: IF QC=Mưa AND Gió=Mạnh THEN Chơi Tennis=Không

Mạnh
S Mạnh[0+,2-]
khôn


Nhóm 10: Tìm hiểu về cây quyết định

Các Nguồn tham khảo mà nhóm đã sử dụng trong quá trình tìm hiểu đề tài:
- Wikipedia
- Tài Liệu chuyên đề khai phá dữ liệu_Cây Quyết Định Đại Học Sư Phạm
Huế
- Đồ án môn học máy học – Lớp Cao học chuyên ngành KHTM – HTTT
trường Đại Học Khoa Học Tự Nhiên TP HCM năm 2012 của nhóm Hồ Sơn
Lâm, Bùi Tuấn Phụng, Đỗ Minh Tuấn, Trần Thị Tuyết Vân, Phan
Hoàn Vũ
- Cây quyết định với bài toán phân lớp (Decision Tree with Classification
Problem) của thây Nguyễn Văn Chức
/>


×