Decision tree
-
Upload
luis-goldster -
Category
Technology
-
view
51 -
download
0
Transcript of Decision tree
1. Giới thiệu2. Cây quyết định3. Từ CSDL đến cây định danh4. Từ cây đến luật5. Nhận xét6. Tổng kết7. Tài liệu tham khảo
12/9/2009 2
Machine Learning
Supervised Learning Un-supervised Learning
-Học 1 hàm từ dữ liệu huấn luyện-Dữ liệu huấn luyện là các cặp (input,output)-Bài toán: phân lớp (Hàm học được áp dụng vào dữ liệu chưa biết để xác định output cho dữ liệu đó)
-Học để xác định tập dữ liệu được phân bố như thế nào-Dữ liệu học không có nhãn (output)- Bài toán: gom nhóm
12/9/2009 3
Machine Learning
Supervised Learning Un-supervised Learning
Giải quyết bài toán phân lớp:
-Cây quyết định-Luật-Naïve Bayes-Mạng neural-SVM-…
-Học để xác định tập dữ liệu được phân bố như thế nào-Dữ liệu học không có nhãn (output)- Bài toán: gom nhóm
12/9/2009 4
Là cấu trúc phân cấp các nút + nhánh Mỗi nút được liên kết với 1 tập các câu trả
lời có thể Mỗi nút không phải là lá được gắn với 1
test chia tập các câu trả lời thành các tập con ứng với kết quả test
Mỗi nhánh là kết quả test từ tập các câu trả lời xuống tập con
12/9/2009 5
buy_computersage?
student? credit rating?
no yes fairexcellent
<=30 >40
no noyes yes
yes
30..40
12/9/2009 6
Dữ liệu quan sát
Cây quyết định
Luật quyết định
Dự đoán trên dữ liệu chưa biết
12/9/2009 7
Có nhiều thuật toán xây dựng cây quyếtđịnh:
12/9/2009 8
Hunt’s Algorithm CART ID3, C4.5 Cây định danh
•Cơ sở dữ liệu•Luật Occam•Xây dựng cây định danh•Độ hỗn loạn trung bình•Thủ tục đâm chồi (Sprouter)
12/9/2009 9
Tập các mẫu quan sát được trong thực tế Mỗi mẫu có 1 thuộc tính cuối cùng là
thuộc tính dùng để phân lớp (dự đoán/định danh đối tượng)
Sử dụng để huấn luyện cây quyết định
12/9/2009 10
Name Hair color
Height Weight Lotion Result
Sarah blonde average light no sunburned
Dana blonde tall average yes none
Alex brown short average yes none
Annie blonde short average no sunburned
Emily red short average no sunburned
Pete brown average heavy no none
John brown average heavy no none
Katie blonde short light yes none
12/9/2009 11
3 màu tóc x 3 chiều cao x 3 cân nặng x 2 sửdụng lotion = 54 tổ hợp có thể
12/9/2009 12
Xác suất 1 mẫu mới trùng với mẫu quan sát:8/54 = 15%
Thực tế: số lượng thuộc tính và giá trị thuộc tính rất lớn không thể tìm bằng cách so khớp từ bảng
Hướng giải quyết: Đề ra 1 thủ tục phân lớp chính xác từng mẫu Thủ tục đúng trên số lượng đủ lớn mẫu có
khảnăng đúng trên các mẫu mà nhãn lớp là chưa biết
Hair color
Lotion used Emily
Alex Pete JohnSarah
AnnieDanaKatie
blonde red brown
No Yes
12/9/2009 13
Hair color
WeightAlex
Annie
Blonde Red Brown
Height
Short AverageTall
WeightDana Pete
SarahHair color
Blonde Red Brown
Katie
12/9/2009 14
Emily John
AverageHeavy
Light
AverageHeavy
Light
Thế giới vốn dĩ là đơn giản [*]. Cây định danh nhỏ nhất mà nhất quán với
các mẫu cây có khả năng nhất trong việc phân lớp chính xác các đối tượng chưa biết
Cây định danh (1) tốt hơn (2)
[*] William Ockham (1285–1349): "Entities should not be multiplied unnecessarily."
Làm sao xây dựng cây
12/9/2009 15
định danh nhỏ nhất?
Chỉ có thể xây dựng cây “nhỏ”, mặc dùkhông đảm bảo là “nhỏ nhất”
Thủ tục: chia để trị Tìm test cho nút gốc: Chia CSDL thành các tập
con với càng nhiều mẫu thuộc cùng 1 lớp càng tốt Với mỗi tập chứa nhiều hơn 1 lớp, chọn 1 test
khác để chia tập không đồng nhất thành các tập con đồng nhất
Điều kiện dừng: Mỗi nút lá chỉ gồm các mẫu đồng nhất Không còn thuộc tính nào có thể phân chia nữa
=> Thủ tục này cực tiểu hóa độ hỗn loạn dữ liệu
12/9/2009 16
12/9/2009 17
Hair color
Lotion used
Emily
Alex Pete John
red brown
NoSarahAnnieEmily
Pete John
YesDana Alex Katie
blonde
SarahDana
Annie Katie
Height
Dana Pete
average
SarahEmily
John
tallshort
AlexAnnie
Katie
Weight
Emily Pete John
Average
Dana AlexAnni
e
HeavyLight
SarahKatie
Height
short
average
tall
Alex
Sarah
DanaAnnie
Emily
PeteKatie
John
Weight
Lotion usedNo
YesLight Average Heavy Sarah
AnnieDana
Sarah Dana Emily Emily Alex
Katie Alex Pete Pete
Katie
Annie John
John
Hair color
Emily
Alex Pete John
red
12/9/2009 18
brownblonde
SarahDana
Annie Katie
Lotion usedNo
SarahAnnie
YesDanaKatie
Height
Dana
average
Sarah
tallshort
AnnieKatie
Weight
Average
DanaAnnie
HeavyLight
SarahKatie
Hair color
Emily
Alex Pete John
red
12/9/2009 19
brownblonde
SarahDana
Annie Katie
Height
short
average
tall
Annie
Sarah
DanaKatie
Weight
Light Average Heavy
Sarah
Dana Katie
Annie
Lotion usedNo
SarahAnnie
YesDanaKatie
Hair color
Emily
Alex Pete John
red
12/9/2009 20
brownblonde
SarahDana
Annie Katie
c
12/9/2009 21
b
nbcnbc
nt nb nb
nb log2Average disorder
Trong đó:• nb là số mẫu của nhánh b• nt là tổng số mẫu của tất cả các nhánh• nbc là tổng số mẫu của nhánh b thuộc lớp c
Mô tả sự “hỗn loạn” trong 1 tập dữ liệu: ĐHL = 0 nếu tập dữ liệu là đồng nhất (chỉ gồm 1
lớp) ĐHL = 1 nếu tập dữ liệu chứa tất cả các lớp
c nb nb
nbc nbclog2Disorder
Disorder1.0
0.5
00 0.5 1.0Fraction in one class
0.5
00 0.5 1.0Fraction in one class
Disorder1.0
12/9/2009 22
Hair color
Emily
Alex Pete John
red brownblonde
SarahDana
Annie Katie
0 0.538
04 2 log8 4
Average disorder
2 4
Disorderin the branch b set
12/9/2009 23
b nt
2 2 log 2 1
4 2 48
nb
Test DisorderHair 0.5
Height
Dana Pete
average
SarahEmily
John
tallshort
AlexAnnie
Katie
0 0.69283
1 log 122 log
31 log 1
38 3
Average disorder
2 32 32 3
Disorderin the branch b set
12/9/2009 24
b nt
2 log 2 3
3 2 3 8
nb
Test DisorderHair 0.5
Height 0.69
Weight
Emily Pete
Average
Dana Alex
HeavyLight
SarahKatie
0.94232 log3
1 log 1
231 log 1 2 log
31 log
11 log
28238
Average disorder
2 32 3
2 32 32 2
Disorderin the branch b set
JohnAnnie12/9/2009 25
b nt
1
32 2 2 8
nb
Test DisorderHair 0.5
Height 0.69Weight 0.94
NoSarahAnnieEmily Pete
YesDana Alex Katie
0 0.61
Lotion used
5 3 log8 5
Average disorder
2 5
Disorderin the branch b setb nt
3 2 log 2 3
5 2 58
nb
Test DisorderHair 0.5
Height 0.69Weight 0.94Lotion 0.61
John12/9/2009 26
Lotion usedNo
SarahAnnie
YesDanaKatie
Height
Dana
average
Sarah
tallshort
Annie Katie
Weight
Average
DanaAnnie
HeavyLight
Sarah Katie
Test DisorderHeight 0.5Weight 1Lotion 0
12/9/2009 27
Lặp đến khi: mỗi nút lá chỉ gồm các mẫu đồng nhất hoặc không còn thuộc tính nào có thể phân chia nữa
12/9/2009 28
Chọn 1 nút lá có tập các mẫu không đồng nhất
Thay thế nút lá đó bằng 1 nút test mà nó sẽ chia tập mẫu không đồng nhất thành các tập không đồng nhất ở mức độ tối thiểu dựa vào độ đo tính hỗn loạn
•Rút luật từ cây•Loại bỏ các tiền đề luật không cần thiết•Loại bỏ luật thừa•Thủ tục tỉa cành (Pruner)
12/9/2009 29
Theo dấu mỗi đường dẫn từ gốc lá Lấy các phép thử làm tiền đề Các nút lá làm kết luận
1. Nếu tóc vàng, có dùng kem thì không sao2. Nếu tóc vàng, không dùng kem thì cháy
nắng3. Nếu tóc đỏ thì cháy nắng4. Nếu tóc nâu thì không sao
12/9/2009 30
Ai có dùng kem cũng không bị cháy nắng1. Nếu tóc vàng, có dùng kem thì không sao2. Nếu tóc vàng, không dùng kem thì cháy
nắng3. Nếu tóc đỏ thì cháy nắng4. Nếu tóc nâu thì không sao
12/9/2009 31
Có 2 luật cho kết luận cháy nắng, 2 luậtcho kết luận không saoCó thể bỏ bớt 2 luật và thêm 1 luật mặc định (được áp dụng khi không có luật nào thỏa)1. Nếu tóc vàng, không dùng kem thì cháy
nắng2. Nếu tóc đỏ thì cháy nắng3. Nếu không có luật nào thỏa thì không sao
12/9/2009 32
Tạo 1 luật cho mỗi đường đi từ gốc đến látrong cây quyết định
Đơn giản hóa mỗi luật bằng cách loại bỏ những tiền đề không ảnh hưởng KL mà cây có được
Thay thế những luật có chung KL bằng 1 luật mặc định mà luật này sẽ được kích hoạt khi không có luật nào khác được kích hoạt
12/9/2009 33
Ưu điểm của cây quyết định:
12/9/2009 34
Dễ xây dựng Phân lớp mẫu mới nhanh Dễ dàng diễn giải cho các cây kích thước nhỏ
Khuyết điểm: Không thể học tăng cường
Ưu điểm của cây quyết định:
12/9/2009 35
Dễ xây dựng Phân lớp mẫu mới nhanh Dễ dàng diễn giải cho các cây kích thước nhỏ
Vấn đề gặp phải: quá khớp (Overfitting)với dữ liệu huấn luyện do: Dữ liệu nhiễu Dữ liệu thiếu=> Giảm độ chính xác khi phân lớp mẫu mới
Giải quyết overfitting:
12/9/2009 36
Loại bỏ trước: Dừng thêm nhánh cây ngay khi nó tạo ra độ đo dưới 1 ngưỡng nào đó▪Làm sao chọn ngưỡng??
Loại bỏ sau: Loại bớt nhánh từ cây hoànchỉnh (từ dưới lên)▪Sử dụng dữ liệu độc lập để kiểm tra và
loại bớt (đánh giá bằng percentage split hoặc cross validation)
Theo luật Occam: thế giới đơn giản. Do vậy, cách giải thích đơn giản nhất bao phủ được toàn bộ dữ liệu là cách hiệu quả nhất
1 cách để định danh/phân lớp dữ liệu là sử dụng cây quyết định với đường đi đến mỗi nút là 1 phép thử
Sử dụng các độ đo để xác định nên dùng phépthử trên thuộc tính nào của tập dữ liệu
Sau khi xây được cây, rút thành luật bằng cáchduyệt các đường đi từ gốc đến lá
Đơn giản tập luật bằng cách loại bớt các tiền đề thừa và các luật thừa
12/9/2009 37
1. Patrick H.
12/9/2009 38
W., “Artificial Intelligence”, Thirdedition,1992
2. Russell S., “Artificial – A model approach”,Second edition, 2003
3. Han J., “Data mining, Concepts andTechnique”, Second edition, 2006
4. Quinlan, J. R. 1986. Induction ofDecision Trees. Mach. Learn. 1, 1 (Mar. 1986), 81-106
5. Leech W. J., “A Rule Based ProcessControl
ofthe
Exhibit,
Method with Feedback,”Proceedings InternationalConference and Instrument Society of America, 1986
12/9/2009 39