NEW Cây Quyết Định ( Decision Tree Là Gì ? Tìm Hiểu Thuật Toán Id3

Kính thưa đọc giả. Today, tôi mạn phép đưa ra cái nhìn chủ quan về Cây Quyết Định ( Decision Tree Là Gì ? Tìm Hiểu Thuật Toán Id3 với bài viết Cây Quyết Định ( Decision Tree Là Gì ? Tìm Hiểu Thuật Toán Id3

Đa số nguồn đều được cập nhật ý tưởng từ những nguồn website lớn khác nên sẽ có vài phần khó hiểu.

Mong mọi cá nhân thông cảm, xin nhận góp ý and gạch đá bên dưới comment

[su_box title=”Khuyến nghị:” style=”default” box_color=”#3be863″ title_color=”#FFFFFF” radius=”3″]

Quý độc giả vui lòng đọc nội dung này ở trong phòng riêng tư để đạt hiệu quả nhất
Tránh xa tất cả những dòng thiết bị gây xao nhoãng trong công việc tập kết
Bookmark lại nội dung bài viết vì mình sẽ update thường xuyên

[/su_box]

Định nghĩa

Cây quyết định (Cây quyết định) là một mô hình thuộc nhóm thuật toán học có giám sát (Học tập có giám sát) .Tìm hiểu thêm về phân loại các thuật toán Học máy tại đây.

Bạn đang xem: Cây quyết định là gì?

Cây quyết định là gì?

Cây quyết định (gọi là DT) là một mô hình ra quyết định dựa trên câu hỏi. Dưới đây là mô hình DT của một ví dụ cổ điển. Câu hỏi đặt ra là có nên chơi tennis hay không? Các quyết định được đưa ra dựa trên các yếu tố thời tiết: tầm nhìn, độ ẩm, gió.

 

*

DT được áp dụng cho cả hai bài toán: Phân loại (Phân loại) và hồi quy (hồi quy). Tuy nhiên, bài toán phân loại được sử dụng nhiều hơn.

Có rất nhiều thuật toán để xây dựng DT, trong bài này chúng ta cùng tìm hiểu một thuật toán nổi tiếng và cơ bản nhất của DT là thuật toán ID3.

ID3. Thuật toán

Dichotomiser lặp lại 3 (ID3) là một thuật toán nổi tiếng để xây dựng Cây quyết định, được áp dụng cho bài toán Phân loại (Phân loại) nhưng tất cả các thuộc tính đều nằm trong danh mục.

Để dễ hiểu hơn, chúng ta cùng tìm hiểu thuật toán này qua một ví dụ.

Tìm hiểu bằng ví dụ

Chúng tôi có Tập dữ liệu đào tạo như bảng dưới đây:

IDEngineTypeColor4WDBạn muốn?

đầu tiên 2000cc SUV bạc đúng đúng
2 1000cc Sedan bạc đúng đúng
3 2000cc Thể thao Màu xanh dương Không Không
4 1000cc SUV Màu xanh dương Không đúng
5 2000cc Sedan bạc đúng Không
6 2000cc Thể thao Màu xanh dương đúng đúng
7 1000cc Sedan Màu xanh dương Không đúng
số 8 1000cc SUV bạc Không đúng
HOT  NEW Lý Thuyết Cân Bằng Có Thể Ứng, Ứng Dụng Trong Thị Trường Độc Quyền Nhóm

Dữ liệu của chúng tôi có 4 thuộc tính: Động cơ, Loại, Màu sắc, 4WD. Để tính DT, chúng ta cần chia các thuộc tính thành các nút đánh giá. Vậy làm sao để biết thuộc tính nào là quan trọng, thuộc tính nào nên đặt ở gốc, thuộc tính nào ở nhánh …

Trong thuật toán ID3, các thuộc tính được đánh giá dựa trên Hàm Entropy, một hàm phổ biến trong toán học xác suất.

Hàm Entropy

Cho một phân phối xác suất của một biến $ x $ rời rạc có thể nhận $ n $ các giá trị khác nhau $ x_1, x_2, dot, x_n $. Giả sử rằng xác suất $ x $ nhận các giá trị này là $ p_i = p (x = x_i) $

Kí hiệu cho phân phối này là $ mathbf p = (p_1, p_2, dot, p_n) $. Entropy của phân phối này là:

$$ H ( mathbf p) = – sum_ i = 1 ^ n p_i log_2 (p_i) quad quad $$

Hàm Entropy được biểu diễn bằng đồ thị như sau:

*

Từ đồ thị ta thấy, hàm Entropy sẽ đạt giá trị nhỏ nhất nếu có giá trị $ p_i = 1 $, giá trị lớn nhất nếu tất cả $ p_i $ đều bằng nhau. Hàm Entropy càng lớn thì tính ngẫu nhiên của các biến càng lớn. Biến rời rạc càng cao (càng không tinh khiết).

Với cây quyết định, chúng ta cần tạo một cây cung cấp cho chúng ta nhiều thông tin nhất, tức là Entropy là cao nhất.

Thông tin thu được

Vấn đề của chúng ta là, ở mỗi cấp của cây, thuộc tính nào nên được chọn sao cho mức giảm Entropy là thấp nhất. Một người có một khái niệm. Thông tin thu được được tính bằng $$ Gain (S, f) = H (S) – H (f, S) $$ trong đó: $ H (S) $ là tổng Entropy của toàn bộ tập dữ liệu $ S $. $ H (f, S) $ là Entropy được tính trên thuộc tính $ f $.

Vì $ H (S) $ là không đổi cho mỗi lớp, chúng tôi chọn thuộc tính $ f $ với Entropy nhỏ nhất để thu được $ Gain (S, f) $ lớn nhất.

Xem thêm: Tỷ suất đầu tư là gì? Tỷ lệ đầu tư là gì?

Tính toán Entropy của các thuộc tính

Xem xét Động cơ. bất động sản

Thuộc tính này có thể nhận 1 trong 2 giá trị 1000cc, 2000cc, tương ứng với 2 nút con. Gọi tập hợp các điểm trong mỗi nút con này lần lượt là $ S_1 $, $ S_2 $.

Sắp xếp theo thuộc tính Động cơ Chúng tôi có 2 bàn nhỏ.

Động cơ 1000cc ($ S_1 $)

IDEngineTypeColor4WDBạn muốn?

2 1000cc Sedan bạc đúng đúng
4 1000cc SUV Màu xanh dương Không đúng
7 1000cc Sedan Màu xanh dương Không đúng
số 8 1000cc SUV bạc Không đúng

Động cơ 2000cc ($ S_2 $)

IDEngineTypeColor4WDBạn muốn?

đầu tiên 2000cc SUV bạc đúng đúng
3 2000cc Thể thao Màu xanh dương Không Không
5 2000cc Sedan bạc đúng Không
6 2000cc Thể thao Màu xanh dương đúng đúng

Nút con cho Engine 1000cc sẽ có Entropy = 0 vì tất cả các giá trị đều đúngChúng ta chỉ cần tính Entropy với Engine 2000cc. Sau đó tính Entropy trung bình. Cụ thể như sau:

HOT  NEW Bảng Giá Xe Uaz Patriot

$$ begin align H (S_1) & = & 0 crH (S_2) & = & – frac 2 4 mathcal log _2 left ( frac 2 4 phải) – frac 2 4 mathcal log _2 left ( frac 2 4 right) = 1 crH (engine, S) & = & frac 4 8 H (S_1) + frac 4 8 H (S_2) = 0,5 end căn chỉnh $$

Xem xét Loại. thuộc tính

Thuộc tính này có thể nhận 1 trong 3 giá trị SUV, Senda, Sport tương ứng với 3 nút con. Gọi tập hợp các điểm trong mỗi nút con này lần lượt là $ S_u $, $ S_e $, $ S_p $.

Sắp xếp theo thuộc tính Kiểu Chúng tôi có 3 bàn nhỏ.

Loại SUV ($ S_u $)

IDEngineTypeColor4WDBạn muốn?

đầu tiên 2000cc SUV bạc đúng đúng
4 1000cc SUV Màu xanh dương Không đúng
số 8 1000cc SUV bạc Không đúng

Loại Sedan ($ S_e $)

IDEngineTypeColor4WDBạn muốn?

2 1000cc Sedan bạc đúng đúng
5 2000cc Sedan bạc đúng Không
7 1000cc Sedan Màu xanh dương Không đúng

Loại thể thao ($ S_p $)

IDEngineTypeColor4WDBạn muốn?

3 2000cc Thể thao Màu xanh dương Không Không
6 2000cc Thể thao Màu xanh dương đúng đúng

Tương tự, chúng ta lần lượt tính Entropy như sau:

$$ begin align H (S_u) & = & 0 crH (S_e) & = & – frac 2 3 mathcal log _2 left ( frac 2 3 phải) – frac 1 3 mathcal log _2 left ( frac 1 3 right) khoảng 0,918 crH (S_p) & = & – frac 1 2 mathcal log _2 left ( frac 1 2 right) – frac 1 2 mathcal log _2 left ( frac 1 2 right) = 1 crH (type, S) & = & frac 3 8 H (S_u) + frac 3 8 H (S_e) + frac 2 8 H ( S_p) khoảng 0,594 end căn chỉnh $$

Xem xét thuộc tính Màu

Thuộc tính này có thể nhận 1 trong 2 giá trị Silver, Blue tương ứng với 2 nút con. Gọi tập hợp điểm trong mỗi nút con này lần lượt là $ S_s $, $ S_b $.

Sắp xếp theo thuộc tính Màu sắc Chúng tôi có 2 bàn nhỏ.

Màu bạc ($ S_s $)

IDEngineTypeColor4WDBạn muốn?

đầu tiên 2000cc SUV bạc đúng đúng
2 1000cc Sedan bạc đúng đúng
5 2000cc Sedan bạc đúng Không
số 8 1000cc SUV bạc Không đúng

Màu xanh lam ($ S_b $)

IDEngineTypeColor4WDBạn muốn?

3 2000cc Thể thao Màu xanh dương Không Không
4 1000cc SUV Màu xanh dương Không đúng
6 2000cc Thể thao Màu xanh dương đúng đúng
7 1000cc Sedan Màu xanh dương Không đúng

Dễ dàng nhận thấy, hai giá trị Silver và Blue có tỷ lệ Yes, No giống nhau là 3/4 và 1/4. Vì vậy, chúng tôi tính toán Entropy trung bình:

$$ begin align H (color, S) & = & – frac 3 4 mathcal log _2 left ( frac 3 4 right) – frac 1 4 mathcal log _2 left ( frac 1 4 right) khoảng 0,811 end align $$

Hãy xem xét 4WD. thuộc tính

Thuộc tính này có thể nhận 1 trong 2 giá trị Yes, No tương ứng với 2 nút con. Gọi tập hợp các điểm trong mỗi nút con lần lượt là $ S_y $, $ S_n $.

Sắp xếp theo thuộc tính 4WD Chúng tôi có 2 bàn nhỏ.

4WD Có ($ S_y $)

IDEngineTypeColor4WDBạn muốn?

đầu tiên 2000cc SUV bạc đúng đúng
2 1000cc Sedan bạc đúng đúng
5 2000cc Sedan bạc đúng Không
6 2000cc Thể thao Màu xanh dương đúng đúng
HOT  NEW Cách làm mực nướng sa tế ngon bằng nồi chiên không dầu | Lize.vn

4WD Không ($ S_n $)

IDEngineTypeColor4WDBạn muốn?

3 2000cc Thể thao Màu xanh dương Không Không
4 1000cc SUV Màu xanh dương Không đúng
7 1000cc Sedan Màu xanh dương Không đúng
số 8 1000cc SUV bạc Không đúng

Tương tự với Màu, chúng tôi tính Entropy trung bình:

$$ begin align H (4wd, S) & = & – frac 3 4 mathcal log _2 left ( frac 3 4 right) – frac 1 4 mathcal log _2 left ( frac 1 4 right) khoảng 0,811 end align $$

Chọn thuộc tính có entropy nhỏ nhất

Sau khi tính toán Entropy trung bình của 4 thuộc tính, chúng tôi nhận được: $ H (engine, S) = 0,5 $$ H (type, S) khoảng 0,594 $$ H (color, S) khoảng 0,811 $ $ H (4wd, S) khoảng 0,811 $

Tính chất Động cơ có giá trị Entropy nhỏ nhất nên ta chọn là nút đánh giá đầu tiên. Với Engine 1000cc, tất cả dữ liệu có giá trị Yes, vì vậy chúng ta nhận được nút là Yes trong nhánh 1000cc. Chúng tôi tiếp tục tính toán cho Động cơ nhánh 2000cc với tập dữ liệu nhỏ hơn

IDEngineTypeColor4WDBạn muốn?

đầu tiên 2000cc SUV bạc đúng đúng
3 2000cc Thể thao Màu xanh dương Không Không
5 2000cc Sedan bạc đúng Không
6 2000cc Thể thao Màu xanh dương đúng đúng

Tương tự, chúng ta lần lượt tính Entropy cho 3 thuộc tính: Loại, Màu, 4WD

Với thuộc tính Kiểu: $$ begin align H (S_u) & = & 0 crH (S_e) & = & 0 crH (S_p) & = & – frac 1 2 mathcal log _2 left ( frac 1 2 right) – frac 1 2 mathcal log _2 left ( frac 1 2 right) = 1 crH (type, S) & = & frac 1 4 H (S_u) + frac 1 4 H (S_e) + frac 2 4 H (S_p) = 0,5 end align $$

Với thuộc tính Màu sắc: Vì 2 giá trị Bạc và Xanh lam có cùng tỷ lệ Có, Không là 1/2 và 1/2. $$ begin align H (color, S) & = & – frac 1 2 mathcal log _2 left ( frac 1 2 right) – frac 1 2 mathcal log _2 left ( frac 1 2 right ) = 1 end căn chỉnh $$

Với thuộc tính 4WD: $$ begin align H (S_y) & = & – frac 2 3 mathcal log _2 left ( frac 2 3 right) – frac 1 3 mathcal log _2 left ( frac 1 3 right) khoảng 0,918 crH (S_n) & = & 0 crH (4wd, S) & = & frac 3 4 H (S_y) + frac 1 4 H (S_n) khoảng 0,688 end căn chỉnh $$

Vì vậy, chúng tôi chọn Kiểu là nút đánh giá tiếp theo.

Trong trường hợp Loại là SUV hoặc Sedan, chúng ta có ngay một nút lá vì chỉ có một kết quả duy nhất. Trong trường hợp Loại là Thể thao, vì thuộc tính Màu giống nhau đối với tất cả dữ liệu, chúng tôi chọn nút đánh giá tiếp theo. 4WD.

Thể loại: Đầu tư

Nguồn tổng hợp

Bài tập cây quyết định có đáp án
Bài tập cây quyết định
Bài tập cây quyết định có đáp an
Sơ đồ cây quyết định
Vẽ cây quyết định
Ví dụ về cây quyết định
Ứng dụng của cây quyết định
Lợi ích của cây quyết định
Xem thêm bài viết thuộc chuyên mục: Thiết Kế

Leave a Comment