Mơ hình và thuật tốn ID

Một phần của tài liệu BÀI GIẢNG HỌC MÁY Ngành Khoa học Máy tính (Trang 26 - 28)

X Màutóc A1 Chiều cao A2 Cân năng A3 Dùng thuốc A4 Kết quả:y (Label) B

3 Overcast Hot High False Yes 4RainyMildHighFalseYes

3.4.1. Mơ hình và thuật tốn ID

Thuật tốn ID3 (Inductive Dichotomizer 3): Nghĩa đen: tách đơi quy nạp) do Qinlan đề xuất vào khoảng năm 1991, là cải tiến của thuật toán độ lộn xộn. Lấy lại bài toán “Rám Nắng”:

Bảng 2.1. Bảng dữ liệu thử nghiệm E « Rám Nắng » ban đầu

TT Tên :X Màu tóc A1 Chiều cao

A2 Cân năngA3 Dùng thuốc A4 Kết quả:y

1 Hoa Đen Tầm thước Nhẹ Không Rám

2 Lan Đen Cao Vừa phải Có Khơng

3 Xn Râm Thấp Vừa phải Có Khơng

4 Hạ Đen Thấp Vừa phải Không Rám

5 Thu Bạc Tầm thước Nặng Không Rám

6 Đông Râm Cao Nặng Không Không

7 Mơ Râm Tầm thước Nặng Không Không

8 Đào Đen Thấp Nhẹ Có Khơng

Giả thiết: A = { A1, A2, A3, A4} => B. Đây là bài toán A=>B; A: tập đặc trưng đầu vào (d=4) với sô mẫu (Pattern hay instances =8); Giá trị của các đặc trưng dạng chữ (ngôn ngữ)

A1: màu tóc; 3 giá trị ngôn ngữ A2: chiều cao: 3 giá trị ngôn ngữ A3: cân nặng: 3 giá trị ngôn ngữ

A4: dùng thuốc: 2 giá trị ngôn ngữ (nhị phân)

Output: Cần xác định các quy luật (Rule) để hàm đầu ra (hay hàm đích g(x) nhận Y (Rám), N Khơng

Rám), dùng thuật toán ID3

BƯỚC 1: Hồn tồn tương tự như thuật tốn Quinlan dùng phương pháp “chia để trị (tức tạo cây

quyết định, hay cây định danh)

BƯỚC 2: Thay vì tính tốn Entropy như trong thuật tốn độ lộn xộn Cân nặng: A3 Chiều cao: A2

Màu tóc: A1 Dùng thuốc: A4

Tỷ lệ số nhóm có giá trị đồng nhất (hoặc đồng nhất rám hoặc khơng) trên tổng số nhóm

(3.8)

EAi=∑i i nj ntc (−njc nj )log2(njc nj)

người ta tính độ tăng (độ lợi) thông tin (Information Gain) ký hiệu IG, là chỉ số đánh giá độ tốt của thuộc tính (Atributte) hay đặc trưng (Features) trong việc phân chia tập dữ liệu thành những tâp con có đặc trưng đồng nhất. Độ tăng độ lợi thơng tin được tính như sau:

IG(S, AI)=H(S)−EAi=H(S)−∑ i nj ntc (−njc nj )log2(njc nj) (3.9)

Một số tài liệu ký hiệu nj=|Si|;nt=|S|. Ở đây Si; S là lực lượng (số lượng) các đối tượng của đặc

trưng thứ i (trong ví dụ i=1..4) và lực lượng (số lượng) các đối tượng của toàn bộ dữ liệu học (hay dữ liệu thử nghiệm). Có rất nhiều thuật tốn khác nhau được sử dụng để học cây quyết định từ dữ liệu như ID3, C4.5, Quinlan, độ lộn xộn, Sprint, thuật giải ILA… Trong phần này sẽ giới thiệu thuật tốn ID3. Trong cơng thức (3.10) H(s) là Entropy của tồn bộ dữ liệu thực nghiêm E:

H(S)=∑

i=1 c

pi∗log2pi(3.10) Trong đó: pi là xác suất của các nhãn phân loại. Trong trường hợp bài toán của ta, c=2

nt: số tổng số mẫu quan sát (nt=8 trong ví dụ của chúng ta),

ni: số mẫu nhánh cây thứ i với giá trị đầu ra c (c=1: Rám; c=2: Khơng cho ví dụ này)

Giá trị của IG được sử dụng để lựa chọn thuộc tính tốt nhất tại mỗi nút. Thuộc tính được lựa chọn là thuộc tính có IG lớn nhất. Giả sử ta sử dụng bảng dữ liệu dự đoán người bị “rám năng” như bảng 2.4. Ta phân lớp “+” là lớp RÁM, lớp “-” là KHÔNG.

S = [3+, 5-]; H(S) = −38 ∗log283−58∗log258=0,9544

Thuật toán độ lộn xộn Thuật toán ID3

1 EA1: Màu tóc 0,50

(Min) H(S, EA1): Màu tóc 0.95-0,50=0.45 (Max)

2 EA2: Chiều cao 0,69 H(S, EA2): Chiều cao 0.95-0,69=0,36 3 EA3: Cân nặng 0,94 H(S, EA3): Cân nặng 0.95-0,94=0.01 4 EA4: Dùng thuốc 0,64 H(S, E41): Dùng thuốc 0.95-0,64=0,31 Như vậy: Trong thuật tốn ID3, tiêu chí chọn nút gốc là Max(IG)

Bước 3. Chọn gốc, chọn A1.

Bước 4. Chọn giá trị để viết luật, một cách tương ứng Thuật toán độ lộn xộn

Bước 5. Cịn lại 4 giá trị máu tóc=Đen chưa viết luật. Tổ hợp chập 2, 2 đặc trung như thuật toán độ

lộn xộn, viết 2 luật (sinh viên tự làm tiếp theo)

Nhận xét 1. Có thể kết hợp 4 luật thành hai luật:

If (A1 là “Bạc”)∨¿(A1 là ‘đen’) ʌ (A4 là ‘không’))

Then “Kết quả” là “rám nắng”

If (A1 là “Râm”)∨¿( (A1 là ‘đen’) ʌ (A4 là ‘có’))

Then “Kết quả” là “không rám”

(A1 là “Bạc”)∨¿(A1 là ‘đen’) ʌ (A4 là ‘không’)) và (A1 là “Râm”)∨¿( (A1 là ‘đen’) ʌ (A4 là ‘có’))

4. Thay luật bằng hàm

Nếu ký hiệu giá trị “Rám”=1; “Khơng Rám”=0 và hàm đích (Target Function) hay hàm cung thành (gơn), (Goal Function g(x)) thì đây chính là hàm bước nhảy đơn vị:

g(x)=¿

Điều này tương đương với hàm tương tác đầu ra trong học của mạng nơ ron nhân tao.

Một phần của tài liệu BÀI GIẢNG HỌC MÁY Ngành Khoa học Máy tính (Trang 26 - 28)