1. Trang chủ
  2. » Thể loại khác

Tài liệu cay quyet dinh-decision tree docx

16 756 6

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 16
Dung lượng 212,72 KB

Nội dung

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

Trang 1

CÂY QUYẾT ĐỊNH

Trang 2

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ụ:

Trang 3

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

Trang 4

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

Trang 5

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

Trang 6

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.

Trang 7

Độ đ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”

Trang 8

• 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

Trang 9

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

Trang 10

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

Trang 11

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 nhãn bởi tuyển của tất cả các lớp trong tập_ví_dụ

Else

begin

chọn một thuộc tính P, lấy nó là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

Trang 12

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:

– Kiểm tra case cơ bản

– Với mỗi thuộc tính A tìm thông tin nhờ

việc tách thuộc tính A

– Chọn a_best là thuộc tính mà độ đo lựa

chọn thuộc tính “tốt nhất”

– Dùng a_best làm thuộc tính cho node chia

cắt cây.

– Đệ quy trên các danh sách phụ được tạo ra

bởi việc phân chia theo a_best, và thêm

các node này như là con của node

(1) ComputerClassFrequency(T); (2) if OneClass or FewCases return a leaf;

Create a decision node N;

(3) ForEach Attribute A 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

Trang 13

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: 4 bước

• Mỗi đường đi từ gốc đến lá là một luật mẫu Đơn giản luật mẫu bằng cách bỏ dần điều kiện

mà không ảnh hưởng tới độ chính xác của luật.

• Các luật đã cắt tỉa được nhóm lại theo giá trị phân lớp tạo ra các tập con Với mỗi tập con, xem xét để lựa chọn luật để tối ưu hóa độ chính xác dự đoán của lớp gắn với tập luật đó

• Sắp xếp các tập luật trên theo tần số lỗi Lớp mặc định được tạo ra bằng cách xác định các case trong tập S không chứa trong các luật hiện tại và chọn lớp phổ biến nhất trong các case đó làm lớp mặc định

• Ước lượng đánh giá: các luật được ước lượng trên toàn tập S, loại bỏ luật làm giảm độ chính xác của sự phân lớp

– Hoàn thành: 1 tập các quy tắc đơn giản được lựa chọn cho mỗi lớp

Trang 14

Thuật toán 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 tra dạng nhị phân: value(V) < h với h là 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 hay V>hi => chia V thành V1={v1,v2,…, vi} và V2 = {vi+1, vi+2, …, vm} và có hi (i=1…m-1)

Trang 15

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ê

Trang 16

Từ điển âm tiết

• Thông kê:

– Thống kê các vần và khả năng ghép với các phụ âm đầu cuối

– Khối lượng công việc lớn, tiềm ẩn sai sót

• Bộ phân tách phiên âm

– Chưa hoàn chỉnh

– Không bỏ xót âm, nhưng xác nhận cả những tổ hợp vần và phụ âm không phát âm được

• Dựa vào luật phiên âm

- Cần xây dựng luật âm tiết đúng đắn

- Áp dụng học máy để bổ xung âm tiết mới

Ngày đăng: 26/01/2014, 00:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w