Thông tin tài liệu
CÂY QUYẾT ĐỊNH
Khái niệm
–
Là một cấu trúc cây phân cấp sử dụng trong bài toán phân
lớp dựa trên dãy các câu hỏi/luật về thuộc tính của lớp
–
Biến thuộc tính của lớp có thể là dạng bất kỳ, nhưng các
lớp phải ở dạng định tính
–
Ví dụ:
Sử dụng cây quyết định
•
Dự đoán mẫu hay phân lớp dữ liệu
–
Các luật (phụ thuộc vào thứ tự ưu tiên các thuộc tính)
•
Test data:
–
Alex: Train
–
Buddy: Bus
–
Cherry: Train
Tạo một cây quyết định
•
Cây quyết định được xây dựng và huấn luyện dựa trên tập dữ
liệu
•
Quá trình tạo gồm hai giai đoạn:
–
xây dựng
–
cắt tỉa: Xác định và loại bỏ những nhánh nhiễu hoặc tách khỏi nhóm
Các bước cơ bản xây dựng cây quyết định
•
Gồm 2 bước:
–
Phát triển cây quyết định: đi từ gốc, đến các nhánh, phát triển quy
nạp theo hình thức chia để trị.
•
Chọn thuộc tính “tốt” nhất bằng một độ đo đã định trước
•
Phát triển cây bằng việc thêm các nhánh tương ứng với từng giá trị của
thuộc tính đã chọn
•
Sắp xếp, phân chia tập dữ liệu đào tạo tới node con
•
Nếu các ví dụ được phân lớp rõ ràng thì dừng.
•
Ngược lại: lặp lại bước 1 tới bước 4 cho từng node con
–
Cắt tỉa cây: nhằm đơn giản hóa, khái quát hóa cây, tăng độ chính
xác
Các bước cơ bản xây dựng cây quyết định
BuildTree(DataSet,Output)
• If all output values are the same in DataSet, return a leaf node that
says “predict this unique output”
• If all input values are the same, return a leaf node that says “predict
the majority output”
• Else find attribute X with highest Info Gain
• Suppose X has nX distinct values (i.e. X has arity nX).
• Create and return a non-leaf node with nX children.
• The i’th child should be built by calling
BuildTree(DSi,Output)
Where DSi built consists of all those records in DataSet for which X = ith
distinct value of X.
Độ đo thuộc tính
•
Việc tính độ đo để lựa chọn thuộc tính quyết định đến hình
dáng của cây
•
Có nhiều độ đo, ứng với mỗi độ đo là thuật toán dựa cây
quyết định như độ đo Gain, độ đo tỉ lệ Gain, độ đo Gini
•
Các tiêu chí đánh giá độ đo càng tốt khi các tập con được
phân chia càng trở nên “trong suốt”
Overfitting
•
Cây quyết định bị ảnh hưởng quá nhiều vào dữ liệu huấn luyện gây
nên cây quá nhiều nhánh, độ chính xác kém trong những mẫu chưa
biết
•
Nguyên nhân:
–
Dữ liệu nhiễu và tách rời khỏi nhóm
–
Dữ liệu huấn luyện quá ít
–
Các giá trị tối đa cục bộ trong tìm kiếm tham lam
•
Khắc phục:
–
cắt tỉa lại cây quyết định sau khi học
–
cắt tỉa các luật sau khi chuyển cây về dạng luật.
Một số đại lượng dùng trong cây quyết định
–
Entropy
–
Gini Index
–
Classification error
–
Information Gain
–
Second Iteration
–
Third Iteration
Thuật toán ID3
•
Xác định phân loại của một đối tượng bằng cách kiểm tra các
giá trị của nó trên một số thuộc tính nào đó
•
Học cây quyết định từ một tập các dữ liệu huấn luyện
–
Đầu vào: Tập huấn luyện, ví dụ gồm các thuộc tính mô tả một
tình huống, hay một đối tượng, và một giá trị phân loại của nó.
–
Đầu ra: Cây quyết định có khả năng phân loại đúng đắn các ví dụ
trong tập dữ liệu rèn luyện
•
xây dựng cây quyết định theo cách từ trên xuống
[...]... C4.5 • Ứng dụng vào bài toán phân lớp dữ liệu: – Bước 1 (Học): xây dựng mô hình mô tả tập dữ liệu; khái niệm đã biết • Input: tập dữ liệu có cấu trúc được tạo mô tả bằng các thuộc tính • Output: Các luật If…Then – Bước 2 (Phân loại): dựa trên mô hình đã xây dựng để phân lớp dữ liệu mới: đi từ gốc đến các nút lá nhắm rút ra lớp của đối tượng cần xét • Xử lý với dữ liệu thuộc tính liên tục: – Sử dụng kiể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 Thuật toán C4.5 • Là sự phát triển từ CLS và ID3, tư tưởng thuật toán theo Hunt và chiến lược phát triển theo độ sâu • Pseudocode:... ComputeGain(A); (4) N.test=AttributeWithBestGain; (5) if (N.test is continuous) find Threshold; (6) ForEach T' in the splitting of T (7) If ( T' is Empty ) Child of N is a leaf else (8) Child of N=FormTree(T'); (9) ComputeErrors of N; return N Thuật toán C4.5 • Chuyển đổi sang luật: cắt tỉa cây – Dạng luật: if A and B and C… then class X Không thỏa mãn điều kiện chuyển về lớp mặc định – Xây dựng luật:...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... hằng số ngưỡng (threshold) – h được tìm bằng cách: • Quick sort sắp xếp các case trong S theo các giá trị của thuộc tính liên tục V đang xét =>V = {v1, v2, …, vm} • hi = (vi + v(i+1))/2 Test phân chia dữ liệu: V hi => chia V thành V1={v1,v2,…, vi} và V2 = {vi+1, vi+2, …, vm} và có hi (i=1…m-1) Từ điển âm tiết • Hướng xây dựng – Dựa vào bộ phân tách phiên âm – Dựa vào luật âm tiết – Thống kê . dữ liệu huấn luyện gây
nên cây quá nhiều nhánh, độ chính xác kém trong những mẫu chưa
biết
•
Nguyên nhân:
–
Dữ liệu nhiễu và tách rời khỏi nhóm
–
Dữ liệu. dụng vào bài toán phân lớp dữ liệu:
–
Bước 1 (Học): xây dựng mô hình mô tả tập dữ liệu; khái niệm đã biết
•
Input: tập dữ liệu có cấu trúc được tạo mô
Ngày đăng: 26/01/2014, 00:20
Xem thêm: Tài liệu cay quyet dinh-decision tree docx, Tài liệu cay quyet dinh-decision tree docx