Cây phân loại

Một phần của tài liệu Machine Learning Toolbox trong MatLab (Trang 111 - 113)

6 Bài toán phân loạ i Bài toán phân biệt

6.3 Cây phân loại

Cây phân loại được xây dựng dựa trên cây quyết định nhị phân. Mỗi nốt sẽ có 2 node con tượng trưng cho 2 quyết định, 2 đặc điểm phân loại. Khi đó với đầu vào là 1 bộ dữ liệu, cây phân loại sẽ phân tích các đặc điểm của bộ dữ liệu từ những biến quan sát và xây dựng lên cây.

6.3.1 Lý thuyết chung

Đầu tiên ta xét tới quy tắc kiểm định mối liến kết giữa các biến, khi mối liên kết càng mạnh thì chúng càng có khả năng được phân vào cùng 1 nhóm. Ta sử dụng quy tắc kiểm định

curvature testnhư sau:

1. Chia biến x thành các khoảng phân vị, tạo ra 1 biến theo phân phối chuẩn tắc chứa các khoảng phân vị của biến x.

2. Với mỗi khoảng phân vị j=1,2, ...,J và các nhãnk=1,2, ...,K ta tính tỷ lệ trọng số của các biến quan sát đối với nhãn k.

πjk = n ∑ i=1

I{yi =k}wi

với n là kích thước mẫu của x,I{yi =k}là vecto nhãn nếu một biến được phân vào lớp k thì I=1 ngược lại I=0,∑wi =1

3. Xác định biến ngẫu nhiênt=n K ∑ k=1 J ∑ j=1 πjk−πj+π+k 2 πj+π+k Với πj+=∑ k

πjk là tổng xác suất của một khoảng j và π+k =∑ j

πjk là tổng xác suất thuộc quan sát k. Với n đủ lớn thì biến t là tuân theo phân phối khi bình phương với

(K−1)(J−1)bậc tự do.

4. Nếu p−valuecủa kiểm định bé hơn mức ý nghĩaα =5%thì ta bác bỏ giả thuyếtH0 là 2 mẫu x và y có liên hệ với nhau.

Sau đó ta sẽ đánh giá sai số của các node theo chỉ số node error hoặc Gini’s Diversity, sai số càng nhỏ thì việc chia nhánh cho cây quyết định nhị phân càng tốt.

1. Gini’s Diversity là chỉ số đo độ tạp chất của node (impurity), bằng 1−∑ i

p2(i)với i là các nhãn trong node đó

6 BÀI TOÁN PHÂN LOẠI - BÀI TOÁN PHÂN BIỆT

2. Sai số của node là1−p(j)với p(j)là nhãn có số lượng mẫu lớn nhất trong node.

Ta tiếp tục đánh giá đến độ tốt của các quyết định khi tiến hành chia nhánh. Giả sử ta xét 2 biến dự báoxj,xk và 2 quy tắc rẽ nhánhxj <uvàxk<v. Độ đo cho các quy tắc rẽ nhanh này là:

λjk = min(PL,PR)−(1−PLjLk−PRjRk)

min(PL,PR)

với

• PL là tỷ lệ số quan sát theo con bên trái (left), số biến quan sát tuân theoxj <uở node t. • PR là tỷ lệ số quan sát theo con bên phải (right), số biến quan sát tuân theoxj ≥uở node t. • PLjLk là tỷ lệ số biến quan sát ở node t tuân theoxj <u,xk<v.

• PRjRk là tỷ lệ số biến quan sát ở node t tn theoxj≥u,xk≥v.

Khi đó λjk thì quyết địnhxk <vsẽ tốt hơnxj <u.

Thuật toán tiêu chuẩn CART để xây dựng cây phân loại. Với tồn bộ các biến dự đốn

xi;i=1, ..p, ta thực hiện các bước sau:

1. Tính độ tạp chất (impurity) của nodet ký hiệu làit.

2. Ước lượng xác suất của các biến quan sát ở nodet làP(T) = ∑ j∈T

wj vớiwj là trọng lượng của biến quan sát j ở trong nodet.

3. Sắp xếp bộ dữ liệu theo chiều tăng dần độ lớn, với xi là 1 giá trị trong bộ dữ liệu sau khi sắp xếp. Từ mỗi điểmxi ta đều có thể tiến hành cắt bộ dữ liệu ở node t để tiếp tục rẽ nhánh. 4. Cây phân loại sẽ cắt bộ dữ liệu tại điểm xi sao cho độ tạp chất tại node đó cao nhất, tạp chất càng cao thì sự khác biệt giữa 2 nhánh càng lớn. (Độ thay đổi tạp chất được đo bằng

δI=P(T)it−P(TL)itL−P(TR)itR).

5. curvature test xem có tiến hành rẽ nhánh tại điểmxi cho độ tạp chất lớn nhất không. Nếu

p−valuecủa kiểm định vượt qua mức ý nghĩaα thì ta khơng cắt và chuyển quyết định ngược lại thì ta tiến hành rẽ nhánh và thực hiện lại các bước của thuật toán đến khi loss function của bài tốn phân loại cực tiểu.

6 BÀI TỐN PHÂN LOẠI - BÀI TOÁN PHÂN BIỆT

6.3.2 Cài đặt code và ví dụ minh họa

Sử dụng câu lệnh tree = fitctree(Tbl,ResponseVarName)để trả về cây phân loại cho bộ dữ liêuTblvới các nhãn được chứa trongResponseVarName.

Ví dụ minh họa

load ionosphere

rng(1); % For reproducibility

MdlDefault = fitctree(X,Y,’CrossVal’,’on’);

view(MdlDefault.Trained{1},’Mode’,’graph’)

Kết quả thu được:

Một phần của tài liệu Machine Learning Toolbox trong MatLab (Trang 111 - 113)

Tải bản đầy đủ (PDF)

(184 trang)