Định Nghĩa Cây quyết định có thể khác nhau trên một số khía cạnh : • Nút thử nghiệm có thể là đơn biến hay đa biến • Có thể có 2 hoặc hơn 2 kết quả đầu ra • Các đặc trưng hoặc thuộc tí
Trang 1XÂY DỰNG, BIỂU DIỄN CÂY QUYẾT ĐỊNH
CÁC VẤN ĐỀ THƯỜNG DÙNG CÂY
QUYẾT ĐỊNH GIẢI QUYẾT
Giáo viên hướng dẫn: PGS TS Đỗ Phúc
Sinh viên thực hiện: Lê Văn Đào
MSSV: CH1101071
Trang 2Nội dung trình bày
Các vấn đề thường dùng cây quyết định để giải quyết
Các vấn đề trong cây quyết định
Trang 3Định Nghĩa
Cây Quyết định là một cây phân lớp
Nút nội : là nút thử nghiệm
Nút lá : nút phân loại ( phân lớp )
Cây phân lớp bằng cách lọc mẫu nhập từ trên xuống
Kết quả là phân biệt và đầy đủ
Trang 4Định Nghĩa
Ví dụ
Trang 5Định Nghĩa
Cây quyết định có thể khác nhau trên một số
khía cạnh :
• Nút thử nghiệm có thể là đơn biến hay đa biến
• Có thể có 2 hoặc hơn 2 kết quả đầu ra
• Các đặc trưng hoặc thuộc tính có thể là phân loại
hoặc là số
• Đầu ra (cuối cùng) có thể có hai hoặc nhiều lớp
Trang 6Định Nghĩa
Ví dụ
Trang 7Học có giám sát với cây quyết định đơn biến
Chọn lựa kiểu cho thử nghiệm
Giảm độ hỗn loạn để chọn thử nghiệm
Thuộc tính không phải nhị phân
(non-binary)
Trang 8 Chọn lựa kiểu cho thử nghiệm
• Thông thường có n thuộc tính
• Thuộc tính nhị phân
Giá trị thuộc tính ở nút thử nghiệm là 0 hoặc 1
• Thuộc tính phân loại ( không phải nhị phân )
Chia giá trị thuộc tính vào các tập con phân biệt và đầy đủ
Học có giám sát với cây quyết định đơn biến
Trang 9Chọn lựa kiểu cho thử nghiệm
Ví dụ
Trang 10 Giảm độ hỗn loạn để xây dựng cây quyết
định
• Vấn đề : chọn thứ tự các thử nghiệm
• Với các thuộc tính phân loại và số => chọn
giá trị thích hợp cho thử nghiệm
• Giải pháp : giảm tối đa độ hỗn loạn (entropy)
Học có giám sát với cây quyết định đơn biến
Trang 12Giảm độ hỗn loạn để xây dựng cây
quyết định
Ước lượng bằng thông kê
xác suất thực tế dựa vào thống kê trong tập thuộc về lớp i
Trang 13 ni là số mẫu của nằm trong i = 1 k.
Độ hỗn loạn của thử nghiệm T trên kết
quả thứ j là
Giảm độ hỗn loạn là
Trang 14Giảm độ hỗn loạn để xây dựng cây
quyết định
Ước lượng trung bình trên toàn bộ
: độ hỗn loạn trung bình sau khi áp dụng T trên tập
l : xác xuất của thử nghiệm T có kết
quả thứ j
Trang 18• Đặt ngưỡng với miền giá trị thực
• Chọn gom nhóm phân loại với những giá trị
phân loại
Trang 19 Cách biểu diễn các hàm học được
• Cây quyết định hoặc
• Tập các luật if-then mà người có thể đọc được.
Trang 20 Nhiệm vụ của các phương pháp học:
• TÌm kiếm không gian giả thuyết hoàn chỉnh
• Loại bỏ khó khăn của không gian giả thuyết có giới
hạn.
Trang 21Cách biểu diễn cây quyết định
Cây quyết định phân loại các thể hiện bằng cách
sắp xếp chúng vào một cây từ gốc đến lá
• Mỗi node trong cây là một thuộc tính của các thể hiện
• Mỗi nhánh là một giá trị có thể có của các thuộc tính này
Cây quyết định được sử dụng trong phân lớp bằng cách duyệt từ nút gốc của cây cho đến khi đụng đến nút lá, từ đó rút ra lớp của đối tượng cần xét
Trang 22Ví dụ
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.
Vậy là trong hai tuần, anh ta thu thập thông tin về: Trời (outlook) (nắng (sunny), nhiều mây (overcast) hoặc mưa (raining)) Nhiệt độ (temperature) bằng độ F Độ ẩm (humidity) Có gió mạnh (wind) 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.
Trang 23Ví dụ
Day Outlook Temp Humidity Wind Play?
1 Sunny Hot High Weak No
2 Sunny Hot High Strong No
3 Overcast Hot High Weak Yes
4 Rain Mild High Weak Yes
5 Rain Cool Normal Weak Yes
6 Rain Cool Normal Strong No
7 Overcast Cool Normal Strong Yes
8 Sunny Mild High Weak No
9 Sunny Cold Normal Weak Yes
10 Rain Mild Normal Weak Yes
11 Sunny Mild Normal Strong Yes
12 Overcast Mild High Strong Yes
13 Overcast Hot Normal Weak Yes
14 Rain Mild High Strong No
Trang 24Kiểm tra khi nào chơi golf, khi nào không chơi
Wind Humidity
Outlook
Yes
No
Yes Sunny Overcast Rain
Yes
No
Ví dụ
Trang 25Ví dụ
Trang 26Duyệt cây quyết định
Day Outlook Temp Humidity Wind Play?
1 Sunny Hot High Weak No
Wind Humidity
Outlook
Yes
No
Yes Sunny Overcast Rain
Yes
No
Trang 27Yes
No
Yes Sunny Overcast Rain
Yes
No
Trang 28• Thuộc tính thường là các giá trị rời rạc nhưng
cũng cho phép xử lý trên các giá trị thực (phải
mở rộng các thuật toán cơ bản).
Các hàm chức năng (target-functions) có các giá trị đầu ra là rời rạc
• Trong ví dụ trên có 2 phân lớp là yes và no
Trang 29 Dữ liệu huấn luyện có thể có lỗi.
• Cây quyết định là một phương pháp xử lý tốt
với các trường hợp lỗi (lỗi trong phân lớp và lỗi trong giá trị thuộc tính)
Dữ liệu huấn luyện có thể bị khuyết giá trị
Trang 30Ví dụ
Day Outlook Temp Humidity Wind Play?
1 Sunny Hot High Weak No
2 Sunny Hot High Strong No
3 Overcast Hot High Weak Yes
4 Rain Mild High Weak Yes
5 Rain Cool Normal Weak Yes
6 Rain Cool Normal Strong No
7 Overcast Cool Normal Strong Yes
8 Sunny Mild High Weak No
9 Sunny Cold Normal Weak Yes
10 Rain Mild Normal Weak Yes
11 Sunny Mild Normal Strong Yes
12 Overcast Mild High Strong Yes
13 Overcast Hot Normal Weak Yes
14 Rain Mild High Strong No
Trang 310 14
5 log 14
5 14
9 log 14
9 )
5 , 9 ( )
S ,
Trang 320 7
4 log
7
4 7
3 log
0 7
1 log
7
1 7
6 log
Trang 330 8
2 log
8
2 8
6 log
1 6
3 log
6
3 6
3 log
Trang 37Ví dụ
Wind Humidity
Outlook
Yes
No
Yes Sunny Overcast Rain
Yes
No
Trang 38Biến đổi cây quyết định thành luật
Biểu diễn tri thức dưới dạng luật IF-THEN
Mỗi luật tạo ra từ mỗi đường dẫn từ gốc
Trang 39Biến đổi cây quyết định thành luật
Wind Humidity
Outlook
Yes
No
Yes Sunny Overcast Rain
Yes
No
R1: If (Outlook=Sunny) ∧ (Humidity=High) Then Play=No
R2: If (Outlook=Sunny) ∧ (Humidity=Normal) Then
Play=Yes
R3: If (Outlook=Overcast) Then Play=Yes
R4: If (Outlook=Rain) ∧ (Wind=Strong) Then Play=No
R5: If (Outlook=Rain) ∧ (Wind=Weak) Then Play=Yes
Trang 41Heavy Light
Trang 42Chọn cây
1
Trang 43Gain = 0.97
Gain = 0.85
Trang 44Gain = 0.85
Gain = 0.95
Trang 45Gain = 0.97
Gain = 0.85
Chọn cây 3
Trang 46Các vấn đề trong cây quyết định
Kết hợp các thuộc tính có giá trị liên tục
Lựa chọn thuộc tính bằng độ đo thay thế
Xử lý mẫu huấn luyện với thuộc tính có giá trị
khuyết
Xử lý thuộc tính với chi phí khác nhau
Tập trung cho thuật toán ID3
Trang 47Thuộc tính có giá trị liên tục
Thuật toán ID3 bắt buộc dùng thuộc tính có giá trị rời rạc
• Thuộc tính đích, dùng ra quyết định
• Thuộc tính dẫn dắt quyết định
Phân chia giá trị liên tục thành các khoảng rời
rạc, và có thể đưa vào cây quyết định
Trang 48Thuộc tính có giá trị liên tục (t.t)
Cho A là thuộc tính có giá trị liên tục, việc phân tách tạo 2 giá trị logic Ac với:
với c là điểm phân tách
Chọn giá trị c tối ưu?
false
c A
true
Ac
, ,
Trang 49Thuộc tính có giá trị liên tục (t.t)
Ví dụ, cho bảng nhiệt độ
Tìm ứng viên c có giá trị Gain lớn nhất trong các
trung điểm của từng cặp
c luôn nằm tại vị trí “đường biên”
Trang 50Thuộc tính có giá trị liên tục (t.t)
Một số cách tiếp cận khác:
• Multi-Interval Discretization of Continous-Valued Attributes for
Classification Learning, M Fayyad, B Irani (1993)
• An incremental Moethod for Finding Multivariate Splits for
Decision Trees, E Utgoff, E Brodley
Trang 51Độ đo thay thế
Trong InfomationGain, các thuộc tính có nhiều
giá trị sẽ có lợi hơn các thuộc tính có ít giá trị
) ( )
( )
,
(
) (
v A
Values v
v Entropy S S
S S
Entropy A
Trang 52Độ đo thay thế (t.t)
VD: thuộc tính Ngày (Date) có nhiều giá trị, sẽ luôn có
InformationGain cao nhất trở thành node đầu tiên
trong cây quyết định không hiệu quả cho quá trình dự đoán
Gain(S, Date)=Entropy(S)
Tennis Chơi Chơi Không Chơi Chơi Không
Trang 53Độ đo thay thế (t.t)
Độ đo Gain Raito (Quinland 1986)
• Với S1 đến Sc là c tập con rời rạc của thuộc tính A
với c điểm phân chia
S
S S
S A
S mation
i
i
2 1
log )
) ,
( )
,
(
A S mation SplitInfor
A S
Gain A
S
Trang 54Thuộc tính có giá trị khuyết
Trong một số trường hợp nhất định, dữ liệu có
thể khuyết một số giá trị thuộc tính
• VD: trong dữ liệu bệnh nhân, thuộc tính kết quả thử
máu chỉ có ở một số ít bệnh nhân
Trang 55Thuộc tính có giá trị khuyết (t.t)
Tại node thứ n, giả sử, ta đang tính Gain(S, A)
từ các tập mẫu để xem xét việc đưa vào cây
quyết định hay không
Ta có (x, c(x)) là một mẫu trong tập S với thuộc tính A, mà ở đó A(x) là giá trị khuyết (x là vị trí
khuyết, c(x) là quyết định đã biết trước)
Trang 56Thuộc tính có giá trị khuyết (t.t)
Phương pháp lấy giá trị phổ biến, tại node n,
chọn giá trị thuộc tính nhiều nhất trong phân lớp c(x) của thuộc tính A
VD:
? = Cao
Tennis Chơi Chơi Không Chơi Không Chơi Chơi
Trang 57Thuộc tính có giá trị khuyết (t.t)
Phương pháp gán tất cả các giá trị có thể có
của thuộc tính A vào A(x)
• VD: tại node n có 6 giá trị với A=1, và 4 giá trị với A=0
khả năng của A(x)=1 là 0.6 và khả năng của A(x)=0 là 0.4
• Ta phân làm 2 mẫu con và tính toán Gain dựa trên 2
mẫu con
Trang 58Thuộc tính với chi phí khác nhau
Trong một số trường hợp, thuộc tính có thể mang thêm giá trị chi phí, có thể là chi phí về tiền bạc, thời gian,
cảm nhận …
Chúng ta mong muốn xây dựng cây quyết định, ưu tiên dùng các thuộc tính có chi phí thấp, và chỉ dùng các thuộc tính có chi phí cao khi cần.
Trang 59Thuộc tính với chi phí khác nhau (t.t)
ID3 có thể chỉnh sửa để thêm giá trị chi phí vào quá trình tính độ đo để chọn thuộc tính
Một số phương pháp tiếp cận:
• Tan và Schlimmer
VD: áp dụng cho robot trong việc phân loại vật thể dựa trên khả năng
có thể nhặt được bằng cánh tay robot Robot có nhiều cảm biến để lấy thông tin thuộc tính: nhiệt độ, độ nặng … Cost(A) là thời gian robot lấy được thuộc tính đó.
) (
) ,
(
2
A Cost
A S
Gain
Trang 60Thuộc tính với chi phí khác nhau (t.t)
• Nunez
với ω = [0,1] là hệ số quan trọng của chi phí so với độ lợi thông tin
VD: áp dụng cho quá trình học các luật phân tích y khoa, nơi các thuộc thuộc tính là những triệu chứng và quá trình thí nghiệm khác nhau với các chi phí khác nhau.
ω) 1 )
( (
A S Gain
Trang 61Xây dựng một đồ thị quyết định
Trang 62Sử dụng đa biến
Nếu có bộ thử cho x1x2 và bộ thử cho x3x4, cây
quyết định có thể đơn giản hơn nhiều
Một vài nhà nghiên cứu đề
nghị các kỹ thuật học cây
quyết định theo cách thử tại
mỗi node các hàm tách biệt
tuyến tính phương pháp
dựa trên “entropy mềm”
Trang 63Rút trích luật từ cây quyết định
Các luật này có các tiền đề là các từ nối dẫn
xuống các node lá và
tiếp theo là tên của lớp
của node lá tương ứng
Ví dụ:
1
4 3
2
1 ∧ ¬ x ∧ x ∧ x ⊃
x
Trang 64Rút trích luật từ cây quyết định
Quinlan đề xuất phương pháp giảm tập luật:
• Loại bỏ khỏi tiền đề của mỗi luật các từ nối không cần
thiết
• Loại bỏ các luật không cần thiết
Một từ nối hay luật là không cần thiết nếu việc
loại bỏ nó không ảnh hưởng đến tính chính
xác của việc phân lớp
Trang 65So sánh
Một vài thí nghiệm so sánh cây quyết định,
mạng nơ ron và bộ phân lớp theo lân cận gần
nhất
Không có một kiểu phân lớp nào có thể giải
quyết tốt mọi bài toán không thể có một kết
luận chung là phương pháp phân lớp nào tốt
nhất cho loại bài toán phân lớp nào
Trang 66Tài liệu tham khảo
[1] Đỗ Phúc, Nhà kho và khai mỏ dữ liệu, Đại học quốc gia TP Hồ Chí Minh, 2003
[2] Lê Hoài Bắc, Võ Đình Bảy,(2008) “ Khai thác luật thiết yếu từ tập phôt biến đóng”, tập 11 số 1.
[3] JEFFREY D.ULLMAN, Nguyên lý các hệ cơ sở dữ liệu và cơ sở tri thức, tập I và
II bản dịch Trần Đức Quang.
[4] Nguyễn Văn Lân (2008), Kỹ thuật xây dựng ASP.net, tập I, II, III, IV, và V, NXB
lao động xã hội, Hà Nội.
[5] Daniel T.Larose An Introduction to Data Mining John Wiley & Sons,2005
[6] Alan Rea (1999) Data mining –An Introdution, the Parallel Computer Center,The Queen’s University of Belfast.
[7] Jiawei Han and Mincheline Kamber , Data mining, Concepts and Technique
University ot Illinois, Morgan Kaufmann Publisher 2002.