Định nghĩa cây quyết định. Cây quyết định mô tả một cấu trúc cây phân cấp bao gồm các nút và các nhánh... Một cây quyết định có thể được học bằng cách chia tập hợp nguồn thành các tập
Trang 1BÀI THUYẾT
TRÌNH
CÂY QUYẾT ĐỊNH
Trang 2Cây quyết định là gì?
Trong lý thuyết quyết định, một cây quyết định (Decision tree) là một đồ thị của các quyết định và các hậu quả có thể của nó (bao gồm rủi ro và hao phí tài nguyên). 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 dùng để 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
Trong lĩnh vực học máy, cây quyết định là một kiểu mô hình dự báo (Predictive model), nghĩa
là một ánh xạ từ các quan sát về một sự vật/hiện tượng dẫn tới các kết luận về giá trị mục tiêu của sự vật/hiện tượng
Kỹ thuật học máy dùng trong cây quyết định được gọi là học bằng cây quyết định, hay chỉ gọi với cái tên ngắn gọn là cây quyết định
Trang 3Định nghĩa cây quyết định.
Cây quyết định mô tả một cấu trúc cây phân cấp bao gồm các nút và các nhánh
Nút: có 3 loại nút trên cây:
Trang 4Học bằng 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ác lá đại diện cho các phân loại còn cành đại diện cho các kết hợp của các 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 hợp nguồn thành các tập con dựa theo một kiểm tra giá trị thuộc tính
Quá trình này được lặp lại một cách đệ qui cho mỗi tập con dẫn xuất Quá trình đệ qui hoàn thành khi không thể tiếp tục thực hiện việ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
Trang 5 Dữ liệu được cho dưới dạng các bản ghi có dạng:
(x, y) = (x1, x2, x3 , xk, y)
y : Biến phụ thuộc (dependant variable) là biến mà chú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 sẽ giúp ta thực hiện công việc đó
Trang 6Các dạng cây quyết định.
Cây hồi quy (Regression tree) ước lượng các hàm giá có giá trị là 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á một ngôi nhà hoặc khoảng 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ả của một trận đấu (thắng hay thua)
Trang 7Ví dụ.
Lượng khách chơi Golf
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.
Trang 8Trong hai tuần, anh ta thu thập các thông tin về:
© Thời tiết (outlook)
© Khách có chơi hay ko (play)
David thu được một bộ dữ liệu gồm 14 dòng và 6 cột
Ví dụ.
Lượng khách chơi Golf
Trang 9Day Outlook Temperature ( O F) Humidity Windy Play
Play golf dataset
Trang 10Kiểm tra khách có đến chơi hay không?
Play 9 Don’t play 5
Play 2 Don’t play 3
Play 2
Don’t play 0 Don’t play 3 Play 0
Play 4 Don’t play 0
Play 3 Don’t play 2
Play 0 Don’t play 2 Don’t play 0 Play 3
Trang 11Play 9 Don’t play 5
Play 2 Don’t play 3
Kiểm tra khách có đến chơi hay không?
Trang 12Duyệt cây quyết định.
Play 9 Don’t play 5
Play 2 Don’t play 3
Play 2
Don’t play 0 Don’t play 3 Play 0
Play 4 Don’t play 0
Play 3 Don’t play 2
Play 0 Don’t play 2 Don’t play 0 Play 3
Trang 14Kết luận
Và đây là lời giải ngắn gọn cho bài toán được 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.
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.
Trang 15Xây dựng câu quyết định.
Cây được thiết lập từ trên xuống dưới, rời rạc hóa các thuộc tính dạng phi số, các mẫu huấn luyện nằm ở gốc của cây
Chọn một thuộc tính để phân chia thành các nhánh Thuộc tính được chọn dựa trên độ đo thống
kê hoặc độ đo heuristic
Tiếp tục lặp lại việc xây dựng cây quyết định cho các nhánh
Điều kiện dừng
Tất cả các mẫu rơi vào một nút thuộc về cùng một lớp (nút lá)
Không còn thuộc tính nào có thể dùng để phân chia mẫu nữa
Không còn lại mẫu nào tại nút
Trang 16Lựa chọn thuộc tính
Độ đo để lựa chọn thuộc tính: Thuộc tính được chọn là thuộc tính có lợi nhất cho quá trình phân lớp (tạo ra cây nhỏ nhất)
Có 2 độ đo thường dùng
1 Độ lợi thông tin (Information gain)
Giả sử tất cả các thuộc tính dạng phi số
Có thể biến đổi để áp dụng cho thuộc tính số
2 Chỉ số Gini (Gini index)
Giả sử tất cả các thuộc tính dạng số
Giả sử tồn tại một vài giá trị có thể phân chia giá trị của từng thuộc tính
Có thể biến đổi để áp dụng cho thuộc tính phi số
Trang 17Cách tính độ lợi thông tin.
s , ,s
Trang 18Day Outlook Temperature ( O F) Humidity Windy Play
Phân tích bài toán chơi golf
Trang 19Phân tích bài toán
Trang 20Cách tính độ lợi thông tin của từng thuộc tính.
Entropy của thuộc tính A:
A: thuộc tính Si: là tập con của thuộc tính A
Sij là sô trường hợp của tập con của A
Độ lợi thông tin dựa trên phân nhánh bằng thuộc tính A:
Tại mỗi cấp, chúng ta chọn thuộc tính có độ lợi lớn nhất để phân nhánh cây hiện tại
) , ,
( I
n j
mj j
s
s s
s , ,
s , I(s
Trang 21Độ lợi thông tin thuộc tính Windy
0 8
2 log
8
2 8
6 log
1 6
3 log
6
3 6
3 log
Trang 22Độ lợi thông tin thuộc tính Humidity
Trang 23Độ lợi thông tin thuộc tính Outlook
0.971
= 0
Trang 24Chọn thuộc tính.
Gain(S, Windy) = 0.940 - 0.892 = 0.048
Gain(S, Outlook) = 0.940 - 0.694 = 0.246
Trang 251 )
(
j
t j p t
Trang 27Phân nhánh thuộc tính nhị phân.
Chỉ phân thành 2 nhánh
N2 N1
Trang 28Phân chia thuộc tính có giá trị liên tục.
Dựa trên một giá trị nếu muốn phân chia nhị phân
Dựa trên vài giá trị nếu muốn có nhiều nhánh
Với mỗi giá trị tính các mẫu thuộc một lớp theo dạng A<v và A>v
Cách chọn giá trị v đơn giản: với mỗi giá trị v trong CSDL đều tính Gini của nó và lấy giá trị có Gini nhỏ nhất
Tax
> 80K < 80K
Trang 29Phân chia thuộc tính có giá trị liên tục.
phân chia và tính chỉ số gini
Trang 30Biế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 đến lá
Mỗi cặp giá trị thuộc tính dọc theo đường dẫn tạo nên phép kết (phép AND – và)
Các nút lá mang tên của lớp
Trang 31Biến đổi cây quyết định thành luật
R1: If (Outlook = Sunny) (Humidity > 70) Then Play=No
R 2 : If (Outlook = Sunny) (Humidity <= 70) Then Play=Yes
R 3 : If (Outlook = Overcast) Then Play=Yes
R4: If (Outlook = Rain) (Wind = True) Then Play=No
R 5 : If (Outlook = Rain) (Wind = False) Then Play=Yes
Wind Humidity
Trang 32Ưu khuyết điểm của cây quyết định.
hỏi chuẩn hóa dữ liệu, cần tạo các biến phụ (dummy variable) và loại bỏ các giá trị rỗng.
khác thường chuyên để phân tích các bộ dữ liệu chỉ gồm một loại biến
để phân tích các lượng dữ liệu lớn trong một thời gian đủ ngắn để cho phép các nhà chiến lược đưa ra quyết định dựa trên phân tích của cây quyết định.
Khó giải quyết được những vấn đề có dữ liệu phụ thuộc thời gian liên tục - dễ xảy ra lỗi khi có quá nhiều lớp chi phí tính toán để xây dựng mô hình cây quyết định CAO
Trang 33The END Xin chân thành cảm ơn các bạn!