SlideShare a Scribd company logo
1 of 39
1. Giới thiệu
2. Cây quyết định
3. Từ CSDL đến cây định danh
4. Từ cây đến luật
5. Nhận xét
6. Tổng kết
7. 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_computers
age?
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’sAlgorithm
 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
John
Sarah
Annie
Dana
Katie
blonde
red brown
No Yes
12/9/2009 13
Hair color
Weight
Alex
Annie
Blonde Red Brown
Height
Short Average
Tall
Weight
Dana
Pete
Sarah
Hair color
Blonde Red Brown
Katie
12/9/2009 14
Emily John
Average
Heavy
Light
Average
Heavy
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
No
Sarah
Annie
Emily
Pete
John
Yes
Dana
Alex
Katie
blonde
Sarah
Dana
Annie
Katie
Height
Dana
Pete
average
Sarah
Emily
John
tallshort
Alex
Annie
Katie
Weight
Emily
Pete
John
Average
Dana
Alex
Annie
HeavyLight
Sarah
Katie
Height
short average tall
Alex Sarah Dana
Annie Emily Pete
Katie John
Weight Lotion used
No Yes
Light Average Heavy Sarah
Annie Dana
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
Sarah
Dana
Annie
Katie
Lotion used
No
Sarah
Annie
Yes
Dana
Katie
Height
Dana
average
Sarah
tallshort
Annie
Katie
Weight
Average
Dana
Annie
HeavyLight
Sarah
Katie
Hair color
 Emily
Alex
Pete
John
red
12/9/2009 19
brownblonde
Sarah
Dana
Annie
Katie
Height
short average tall
Annie Sarah Dana
Katie
Weight
Light Average Heavy
Sarah Dana
Katie Annie
Lotion used
No
Sarah
Annie
Yes
Dana
Katie
Hair color
 Emily
Alex
Pete
John
red
12/9/2009 20
brownblonde
Sarah
Dana
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 nbc
log2Disorder
Disorder
1.0
0.5
0
0 0.5 1.0
Fraction in one class
0.5
0
0 0.5 1.0
Fraction in one class
Disorder
1.0
12/9/2009 22
Hair color
 Emily
Alex
Pete
John
red brownblonde
Sarah
Dana
Annie
Katie
0 0.5
3
8
0
4 2
log
8 4
Average disorder
2
4
Disorderin the branch b set
12/9/2009 23
b nt
2 2
log
2 1
4 2
4 8
nb
Test Disorder
Hair 0.5
Height
Dana
Pete
average
Sarah
Emily
John
tallshort
Alex
Annie
Katie
0 0.69
2
83
1
log
122
log
3
1
log
13
8 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 Disorder
Hair 0.5
Height 0.69
Weight
Emily
Pete
Average
Dana
Alex
HeavyLight
Sarah
Katie
0.94
2
3
2
log
3
1
log
1
2
3
1
log
1 2
log
3
1
log
11
log
2
8 2
3
8
Average disorder
2
32
3
2
32
32
2
Disorderinthe branch b set
JohnAnnie12/9/2009 25
b nt
1 3
2 2
2 8
nb
Test Disorder
Hair 0.5
Height 0.69
Weight 0.94
No
Sarah
Annie
Emily
Pete
Yes
Dana
Alex
Katie
0 0.61
Lotion used
5 3
log
8 5
Average disorder
2
5
Disorderin the branch b set
b nt
3 2
log
2 3
5 2
5 8
nb
Test Disorder
Hair 0.5
Height 0.69
Weight 0.94
Lotion 0.61
John12/9/2009 26
Lotion used
No
Sarah
Annie
Yes
Dana
Katie
Height
Dana
average
Sarah
tallshort
Annie
Katie
Weight
Average
Dana
Annie
HeavyLight
Sarah
Katie
Test Disorder
Height 0.5
Weight 1
Lotion 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 sao
2. Nếu tóc vàng, không dùng kem thì cháy
nắng
3. Nếu tóc đỏ thì cháy nắng
4. 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ắng
1. Nếu tóc vàng, có dùng kem thì không sao
2. Nếu tóc vàng, không dùng kem thì cháy
nắng
3. Nếu tóc đỏ thì cháy nắng
4. 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ật
cho kết luận không sao
Có 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ắng
2. Nếu tóc đỏ thì cháy nắng
3. 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àn
chỉ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ép
thử 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ách
duyệ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”, Third
edition,1992
2. Russell S., “Artificial – A model approach”,
Second edition, 2003
3. Han J., “Data mining, Concepts and
Technique”, Second edition, 2006
4. Quinlan, J. R. 1986. Induction of Decision
Trees. Mach. Learn. 1, 1 (Mar. 1986), 81-106
5. Leech W. J., “A Rule Based Process Control
of the
Exhibit,
Method with Feedback,” Proceedings
International Conference and
Instrument Society of America, 1986
12/9/2009 39

More Related Content

What's hot

Tổng quan về an toàn và bảo mật thông tin
Tổng quan về an toàn và bảo mật thông tinTổng quan về an toàn và bảo mật thông tin
Tổng quan về an toàn và bảo mật thông tinNguyen Thi Lan Phuong
 
Hỗ trợ ra quyết định
Hỗ trợ ra quyết địnhHỗ trợ ra quyết định
Hỗ trợ ra quyết địnhlmphuong06
 
PHÂN CỤM DỮ LIỆU TRONG DATAMING.pdf
PHÂN CỤM DỮ LIỆU TRONG DATAMING.pdfPHÂN CỤM DỮ LIỆU TRONG DATAMING.pdf
PHÂN CỤM DỮ LIỆU TRONG DATAMING.pdfMan_Ebook
 
bài giảng phân tích thiết kệ thống thông tin (hutech)
bài giảng phân tích thiết kệ thống thông tin (hutech)bài giảng phân tích thiết kệ thống thông tin (hutech)
bài giảng phân tích thiết kệ thống thông tin (hutech)truong le hung
 
Data mining - Luật kết hợp và ứng dụng
Data mining - Luật kết hợp và ứng dụngData mining - Luật kết hợp và ứng dụng
Data mining - Luật kết hợp và ứng dụngPhien Le
 
Phân tích thiết kế HTTT chương 1
Phân tích thiết kế HTTT chương 1Phân tích thiết kế HTTT chương 1
Phân tích thiết kế HTTT chương 1vtt167
 
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng HồBáo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng HồzDollz Lovez
 
Do an tot nghiep _ Nguyen Huu Bien
Do an tot nghiep _ Nguyen Huu BienDo an tot nghiep _ Nguyen Huu Bien
Do an tot nghiep _ Nguyen Huu Biennhbien
 
Bài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lýBài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lýMasterCode.vn
 
Báo cáo phân tích thiết kế đồ án game
Báo cáo phân tích thiết kế đồ án game Báo cáo phân tích thiết kế đồ án game
Báo cáo phân tích thiết kế đồ án game Tạ Thành Đạt
 
Bài giảng bảo mật hệ thống thông tin
Bài giảng bảo mật hệ thống thông tinBài giảng bảo mật hệ thống thông tin
Bài giảng bảo mật hệ thống thông tinTran Tien
 
Hệ thống thông tin quản lý - Bài 2 Tổng quan về hệ thống thông tin (phần 2)
Hệ thống thông tin quản lý - Bài 2 Tổng quan về hệ thống thông tin (phần 2)Hệ thống thông tin quản lý - Bài 2 Tổng quan về hệ thống thông tin (phần 2)
Hệ thống thông tin quản lý - Bài 2 Tổng quan về hệ thống thông tin (phần 2)MasterCode.vn
 
Thuật toán minimax game tìm kiếm đối kháng
Thuật toán minimax   game tìm kiếm đối khángThuật toán minimax   game tìm kiếm đối kháng
Thuật toán minimax game tìm kiếm đối khángjackjohn45
 
Chương trình Quản lý Nhà Sách
Chương trình Quản lý Nhà SáchChương trình Quản lý Nhà Sách
Chương trình Quản lý Nhà SáchBIC
 
Hệ thống thông tin quản lý
Hệ thống thông tin quản lýHệ thống thông tin quản lý
Hệ thống thông tin quản lýHọc Huỳnh Bá
 
Hệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng onlineHệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng onlineHan Nguyen
 

What's hot (20)

Tổng quan về an toàn và bảo mật thông tin
Tổng quan về an toàn và bảo mật thông tinTổng quan về an toàn và bảo mật thông tin
Tổng quan về an toàn và bảo mật thông tin
 
Hỗ trợ ra quyết định
Hỗ trợ ra quyết địnhHỗ trợ ra quyết định
Hỗ trợ ra quyết định
 
PHÂN CỤM DỮ LIỆU TRONG DATAMING.pdf
PHÂN CỤM DỮ LIỆU TRONG DATAMING.pdfPHÂN CỤM DỮ LIỆU TRONG DATAMING.pdf
PHÂN CỤM DỮ LIỆU TRONG DATAMING.pdf
 
bài giảng phân tích thiết kệ thống thông tin (hutech)
bài giảng phân tích thiết kệ thống thông tin (hutech)bài giảng phân tích thiết kệ thống thông tin (hutech)
bài giảng phân tích thiết kệ thống thông tin (hutech)
 
Luận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAY
Luận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAYLuận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAY
Luận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAY
 
Data mining - Luật kết hợp và ứng dụng
Data mining - Luật kết hợp và ứng dụngData mining - Luật kết hợp và ứng dụng
Data mining - Luật kết hợp và ứng dụng
 
Phân tích thiết kế HTTT chương 1
Phân tích thiết kế HTTT chương 1Phân tích thiết kế HTTT chương 1
Phân tích thiết kế HTTT chương 1
 
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng HồBáo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
 
Do an tot nghiep _ Nguyen Huu Bien
Do an tot nghiep _ Nguyen Huu BienDo an tot nghiep _ Nguyen Huu Bien
Do an tot nghiep _ Nguyen Huu Bien
 
Bài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lýBài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lý
 
Báo cáo phân tích thiết kế đồ án game
Báo cáo phân tích thiết kế đồ án game Báo cáo phân tích thiết kế đồ án game
Báo cáo phân tích thiết kế đồ án game
 
Bài giảng bảo mật hệ thống thông tin
Bài giảng bảo mật hệ thống thông tinBài giảng bảo mật hệ thống thông tin
Bài giảng bảo mật hệ thống thông tin
 
Đề tài: Quản lí Tour du lịch, HAY, 9đ
Đề tài: Quản lí Tour du lịch, HAY, 9đĐề tài: Quản lí Tour du lịch, HAY, 9đ
Đề tài: Quản lí Tour du lịch, HAY, 9đ
 
Hệ thống thông tin quản lý - Bài 2 Tổng quan về hệ thống thông tin (phần 2)
Hệ thống thông tin quản lý - Bài 2 Tổng quan về hệ thống thông tin (phần 2)Hệ thống thông tin quản lý - Bài 2 Tổng quan về hệ thống thông tin (phần 2)
Hệ thống thông tin quản lý - Bài 2 Tổng quan về hệ thống thông tin (phần 2)
 
Luận án: Phân lớp dữ liệu bằng cây quyết định mờ, HAY
Luận án: Phân lớp dữ liệu bằng cây quyết định mờ, HAYLuận án: Phân lớp dữ liệu bằng cây quyết định mờ, HAY
Luận án: Phân lớp dữ liệu bằng cây quyết định mờ, HAY
 
Thuật toán minimax game tìm kiếm đối kháng
Thuật toán minimax   game tìm kiếm đối khángThuật toán minimax   game tìm kiếm đối kháng
Thuật toán minimax game tìm kiếm đối kháng
 
Chương trình Quản lý Nhà Sách
Chương trình Quản lý Nhà SáchChương trình Quản lý Nhà Sách
Chương trình Quản lý Nhà Sách
 
Hệ thống thông tin quản lý
Hệ thống thông tin quản lýHệ thống thông tin quản lý
Hệ thống thông tin quản lý
 
Hệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng onlineHệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng online
 
Đề tài: Quản lý cửa hàng vật liệu xây dựng, HAY, 9đ
Đề tài: Quản lý cửa hàng vật liệu xây dựng, HAY, 9đĐề tài: Quản lý cửa hàng vật liệu xây dựng, HAY, 9đ
Đề tài: Quản lý cửa hàng vật liệu xây dựng, HAY, 9đ
 

Viewers also liked

Information retrieval
Information retrievalInformation retrieval
Information retrievalYoung Alista
 
Cobol, lisp, and python
Cobol, lisp, and pythonCobol, lisp, and python
Cobol, lisp, and pythonYoung Alista
 
Data and assessment
Data and assessmentData and assessment
Data and assessmentYoung Alista
 
Datamining with nb
Datamining with nbDatamining with nb
Datamining with nbYoung Alista
 
Data preprocessing
Data preprocessingData preprocessing
Data preprocessingYoung Alista
 
Big picture of data mining
Big picture of data miningBig picture of data mining
Big picture of data miningYoung Alista
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_cryptoYoung Alista
 
Python language data types
Python language data typesPython language data types
Python language data typesYoung Alista
 
Test driven development
Test driven developmentTest driven development
Test driven developmentYoung Alista
 
Data mining and knowledge discovery
Data mining and knowledge discoveryData mining and knowledge discovery
Data mining and knowledge discoveryYoung Alista
 
Data structures and algorithms
Data structures and algorithmsData structures and algorithms
Data structures and algorithmsYoung Alista
 
Database introduction
Database introductionDatabase introduction
Database introductionYoung Alista
 

Viewers also liked (20)

Overview prolog
Overview prologOverview prolog
Overview prolog
 
List in webpage
List in webpageList in webpage
List in webpage
 
Information retrieval
Information retrievalInformation retrieval
Information retrieval
 
Cobol, lisp, and python
Cobol, lisp, and pythonCobol, lisp, and python
Cobol, lisp, and python
 
Gm theory
Gm theoryGm theory
Gm theory
 
Data and assessment
Data and assessmentData and assessment
Data and assessment
 
Learning python
Learning pythonLearning python
Learning python
 
Python basics
Python basicsPython basics
Python basics
 
Datamining with nb
Datamining with nbDatamining with nb
Datamining with nb
 
Data preprocessing
Data preprocessingData preprocessing
Data preprocessing
 
Big picture of data mining
Big picture of data miningBig picture of data mining
Big picture of data mining
 
Xml stylus studio
Xml stylus studioXml stylus studio
Xml stylus studio
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
 
Python language data types
Python language data typesPython language data types
Python language data types
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Data mining and knowledge discovery
Data mining and knowledge discoveryData mining and knowledge discovery
Data mining and knowledge discovery
 
Abstract class
Abstract classAbstract class
Abstract class
 
Cryptography
CryptographyCryptography
Cryptography
 
Data structures and algorithms
Data structures and algorithmsData structures and algorithms
Data structures and algorithms
 
Database introduction
Database introductionDatabase introduction
Database introduction
 

More from Young Alista

Google appenginejava.ppt
Google appenginejava.pptGoogle appenginejava.ppt
Google appenginejava.pptYoung Alista
 
Motivation for multithreaded architectures
Motivation for multithreaded architecturesMotivation for multithreaded architectures
Motivation for multithreaded architecturesYoung Alista
 
Serialization/deserialization
Serialization/deserializationSerialization/deserialization
Serialization/deserializationYoung Alista
 
Business analytics and data mining
Business analytics and data miningBusiness analytics and data mining
Business analytics and data miningYoung Alista
 
Directory based cache coherence
Directory based cache coherenceDirectory based cache coherence
Directory based cache coherenceYoung Alista
 
Hardware managed cache
Hardware managed cacheHardware managed cache
Hardware managed cacheYoung Alista
 
How analysis services caching works
How analysis services caching worksHow analysis services caching works
How analysis services caching worksYoung Alista
 
Optimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsOptimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsYoung Alista
 
Abstract data types
Abstract data typesAbstract data types
Abstract data typesYoung Alista
 
Concurrency with java
Concurrency with javaConcurrency with java
Concurrency with javaYoung Alista
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysisYoung Alista
 
Programming for engineers in python
Programming for engineers in pythonProgramming for engineers in python
Programming for engineers in pythonYoung Alista
 
Extending burp with python
Extending burp with pythonExtending burp with python
Extending burp with pythonYoung Alista
 
Python your new best friend
Python your new best friendPython your new best friend
Python your new best friendYoung Alista
 
Rest api to integrate with your site
Rest api to integrate with your siteRest api to integrate with your site
Rest api to integrate with your siteYoung Alista
 

More from Young Alista (20)

Google appenginejava.ppt
Google appenginejava.pptGoogle appenginejava.ppt
Google appenginejava.ppt
 
Motivation for multithreaded architectures
Motivation for multithreaded architecturesMotivation for multithreaded architectures
Motivation for multithreaded architectures
 
Serialization/deserialization
Serialization/deserializationSerialization/deserialization
Serialization/deserialization
 
Business analytics and data mining
Business analytics and data miningBusiness analytics and data mining
Business analytics and data mining
 
Directory based cache coherence
Directory based cache coherenceDirectory based cache coherence
Directory based cache coherence
 
Cache recap
Cache recapCache recap
Cache recap
 
Hardware managed cache
Hardware managed cacheHardware managed cache
Hardware managed cache
 
How analysis services caching works
How analysis services caching worksHow analysis services caching works
How analysis services caching works
 
Object model
Object modelObject model
Object model
 
Optimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsOptimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessors
 
Abstract data types
Abstract data typesAbstract data types
Abstract data types
 
Abstraction file
Abstraction fileAbstraction file
Abstraction file
 
Concurrency with java
Concurrency with javaConcurrency with java
Concurrency with java
 
Inheritance
InheritanceInheritance
Inheritance
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
 
Programming for engineers in python
Programming for engineers in pythonProgramming for engineers in python
Programming for engineers in python
 
Api crash
Api crashApi crash
Api crash
 
Extending burp with python
Extending burp with pythonExtending burp with python
Extending burp with python
 
Python your new best friend
Python your new best friendPython your new best friend
Python your new best friend
 
Rest api to integrate with your site
Rest api to integrate with your siteRest api to integrate with your site
Rest api to integrate with your site
 

Decision tree

  • 1.
  • 2. 1. Giới thiệu 2. Cây quyết định 3. Từ CSDL đến cây định danh 4. Từ cây đến luật 5. Nhận xét 6. Tổng kết 7. Tài liệu tham khảo 12/9/2009 2
  • 3. 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
  • 4. 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
  • 5.  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
  • 6. buy_computers age? student? credit rating? no yes fairexcellent <=30 >40 no noyes yes yes 30..40 12/9/2009 6
  • 7. 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
  • 8.  Có nhiều thuật toán xây dựng cây quyết định: 12/9/2009 8  Hunt’sAlgorithm  CART  ID3, C4.5  Cây định danh
  • 9. •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
  • 10.  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
  • 11. 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
  • 12.  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
  • 13. Hair color Lotion used  Emily Alex Pete John Sarah Annie Dana Katie blonde red brown No Yes 12/9/2009 13
  • 14. Hair color Weight Alex Annie Blonde Red Brown Height Short Average Tall Weight Dana Pete Sarah Hair color Blonde Red Brown Katie 12/9/2009 14 Emily John Average Heavy Light Average Heavy Light
  • 15.  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?
  • 16.  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
  • 17. 12/9/2009 17 Hair color Lotion used  Emily Alex Pete John red brown No Sarah Annie Emily Pete John Yes Dana Alex Katie blonde Sarah Dana Annie Katie Height Dana Pete average Sarah Emily John tallshort Alex Annie Katie Weight Emily Pete John Average Dana Alex Annie HeavyLight Sarah Katie
  • 18. Height short average tall Alex Sarah Dana Annie Emily Pete Katie John Weight Lotion used No Yes Light Average Heavy Sarah Annie Dana 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 Sarah Dana Annie Katie
  • 20. Height short average tall Annie Sarah Dana Katie Weight Light Average Heavy Sarah Dana Katie Annie Lotion used No Sarah Annie Yes Dana Katie Hair color  Emily Alex Pete John red 12/9/2009 20 brownblonde Sarah Dana Annie Katie
  • 21. 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
  • 22.  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 nbc log2Disorder Disorder 1.0 0.5 0 0 0.5 1.0 Fraction in one class 0.5 0 0 0.5 1.0 Fraction in one class Disorder 1.0 12/9/2009 22
  • 23. Hair color  Emily Alex Pete John red brownblonde Sarah Dana Annie Katie 0 0.5 3 8 0 4 2 log 8 4 Average disorder 2 4 Disorderin the branch b set 12/9/2009 23 b nt 2 2 log 2 1 4 2 4 8 nb Test Disorder Hair 0.5
  • 24. Height Dana Pete average Sarah Emily John tallshort Alex Annie Katie 0 0.69 2 83 1 log 122 log 3 1 log 13 8 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 Disorder Hair 0.5 Height 0.69
  • 25. Weight Emily Pete Average Dana Alex HeavyLight Sarah Katie 0.94 2 3 2 log 3 1 log 1 2 3 1 log 1 2 log 3 1 log 11 log 2 8 2 3 8 Average disorder 2 32 3 2 32 32 2 Disorderinthe branch b set JohnAnnie12/9/2009 25 b nt 1 3 2 2 2 8 nb Test Disorder Hair 0.5 Height 0.69 Weight 0.94
  • 26. No Sarah Annie Emily Pete Yes Dana Alex Katie 0 0.61 Lotion used 5 3 log 8 5 Average disorder 2 5 Disorderin the branch b set b nt 3 2 log 2 3 5 2 5 8 nb Test Disorder Hair 0.5 Height 0.69 Weight 0.94 Lotion 0.61 John12/9/2009 26
  • 28.  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
  • 29. •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
  • 30.  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 sao 2. Nếu tóc vàng, không dùng kem thì cháy nắng 3. Nếu tóc đỏ thì cháy nắng 4. Nếu tóc nâu thì không sao 12/9/2009 30
  • 31.  Ai có dùng kem cũng không bị cháy nắng 1. Nếu tóc vàng, có dùng kem thì không sao 2. Nếu tóc vàng, không dùng kem thì cháy nắng 3. Nếu tóc đỏ thì cháy nắng 4. Nếu tóc nâu thì không sao 12/9/2009 31
  • 32.  Có 2 luật cho kết luận cháy nắng, 2 luật cho kết luận không sao Có 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ắng 2. Nếu tóc đỏ thì cháy nắng 3. Nếu không có luật nào thỏa thì không sao 12/9/2009 32
  • 33.  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
  • 34.  Ư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
  • 35.  Ư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
  • 36.  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àn chỉ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)
  • 37.  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ép thử 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ách duyệ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
  • 38. 1. Patrick H. 12/9/2009 38 W., “Artificial Intelligence”, Third edition,1992 2. Russell S., “Artificial – A model approach”, Second edition, 2003 3. Han J., “Data mining, Concepts and Technique”, Second edition, 2006 4. Quinlan, J. R. 1986. Induction of Decision Trees. Mach. Learn. 1, 1 (Mar. 1986), 81-106 5. Leech W. J., “A Rule Based Process Control of the Exhibit, Method with Feedback,” Proceedings International Conference and Instrument Society of America, 1986