Tải bản đầy đủ (.docx) (5 trang)

TÌM HIỂU THUẬT TOÁN ID3 - Xây dựng thuật toán ID3

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (96.09 KB, 5 trang )

TÌM HIỂU THUẬT TOÁN ID3
I. Tổng quan ID3.
Giải thuật quy nạp cây ID3 (gọi tắt là ID3) là một giải thuật học đơn giản
nhưng tỏ ra thành công trong nhiều lĩnh vực. ID3 là một giải thuật hay vì
cách biểu diễn tri thức học được của nó, tiếp cận của nó trong việc quản lý
tính phức tạp, heuristic của nó dùng cho việc chọn lựa các khái niệm ứng
viên, và tiềm năng của nó đối với việc xử lý dữ liệu nhiễu. ID3 biểu diễn
các khái niệm (concept) ở dạng các cây quyết định (decision tree). Biểu diễn
này cho phép chúng ta 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 đó.
Như vậy, nhiệm vụ của giải thuật ID3 là học cây quyết định từ một tập các ví
dụ rèn luyện (training example) hay còn gọi là dữ liệu rèn luyện (training
data). Hay nói khác hơn, giải thuật có:
Đầu vào: Một tập hợp các ví dụ. Mỗi ví dụ bao gồm các thuộc tính
mô tả một tình huống, hay một đối tượng nào đó, 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, và hy vọng là phân loại đúng cho cả các ví dụ
chưa gặp trong tương lai.
II. Thuật toán:
Các thuật toán ID3 bắt đầu với ban đầu là các tập S như là các nút gốc. Trên
mỗi lần lặp của thuật toán, nó lặp qua tất cả các thuộc tính của tập S và tính
toán dữ liệu ngẫu nhiên entropy H(S) ( hoặc độ lợi thông tin (information
gain) IG(A)) của thuộc tính đó. Sau đó chọn các thuộc tính trong đó có dữ
liệu ngẫu nhiên nhỏ nhất (hoặc thông tin thu được lớn nhất) có giá trị. Tập S
sau đó được chia bởi thuộc tính được lựa chọn (ví dụ độ tuổi <50, 50 <= tuổi
<100, tuổi> = 100) để tạo ra các tập con của dữ liệu. Thuật toán tiếp tuc
recurse(em nghĩ là đệ quy) trên mỗi tập con. Vì rằng các thuật toán không
bao giờ được lựa chọn trước. Đệ quy trên tập con có thể dừng lại ở 1 trong
những trường hợp
Mỗi phần tử trong tập hợp con thuộc về lớp tương đương (+ hoặc -),


sau đó nút biến thành một lá và dán nhãn với các lớp trong những ví dụ.
Không có nhiều hơn nữa là các thuộc tính được lựa chọn, nhưng các
ví dụ vẫn không thuộc về cùng một lớp (một số được + và một số -), sau đó
nút là biến thành một lá và dán nhãn với các lớp học phổ biến nhất của các
ví dụ trong tập hợp con.
Không có ví dụ trong tập hợp, điều này sẽ xảy ra khi không có ví dụ
trong tập cha mẹ đã được tìm thấy để được phù hợp với một giá trị cụ thể
của thuộc tính lựa chọn, ví dụ nếu không có ví dụ với tuổi> = 100. Sau đó,
một chiếc lá được tạo ra, và được dán nhãn với các lớp học phổ biến nhất
trong những ví dụ trong tập cha mẹ.
Trong suốt các thuật toán, các cây quyết định được xây dựng với mỗi nút không
đại diện cho thiết bị đầu cuối thuộc tính lựa chọn mà trên đó các dữ liệu được chia,
và các nút thiết bị đầu cuối đại diện cho các nhãn lớp của tập cuối cùng của chi
nhánh này.
ID3 xây dựng cây quyết định (cây QĐ) theo cách từ trên xuống. Lưu ý rằng đối
với bất kỳ thuộc tính nào, chúng ta cũng có thể phân vùng tập hợp các ví dụ rèn
luyện thành những tập con tách rờ i, mà ở đó mọi ví dụ trong một phân vùng
(partition) có một giá trị chung cho thuộc tính đó. ID3 chọn một thuộc tính để kiểm
tra tại nút hiện tại của cây và dùng trắc nghiệm này để phân vùng tập hợp các ví
dụ; thuật toán khi đó xây dựng theo cách đệ quy một cây con cho t ừng phân
vùng. Việc này tiếp tục cho đến khi mọi thành viên của phân vùng đều nằm trong
cùng một lớp; lớp đó trở thành nút lá của cây.
 Entropy H(S) đo tính thuần nhất của tập dữ liệu : dùng để đo tính
thuần nhất của một tập dữ liệu. Entropy của một tập S được tính theo
công thức (1)

Trong trường hợp các mẫu dữ liệu có hai thuộc tính phân lớp "yes"
(+), "no" (-). Ký hiệu p
+
là để chỉ tỷ lệ các mẫu có giá trị của thuộc tính quyết

định là "yes", và p
-
là tỷ lệ các mẫu có giá trị của thuộc tính quyết định là
"no" trong tập S.
Trường hợp tổng quát, đối với tập con S có n phân lớp thì ta có công
thức sau:

Hoặc là:
Trong đó P
i
là tỷ lệ các mẫu thuộc lớp i trên tập hợp S các mẫu kiểm tra.
Các trường hợp đặc biệt
- Nếu tất cả các mẫu thành viên trong tập S đều thuộc cùng một lớp thì
Entropy(S) =0
- Nếu trong tập S có số mẫu phân bổ đều nhau vào các lớp thì Entropy(S)
=1
- Các trường hợp còn lại 0< Entropy(S)<1
 Information Gain (viết tắt là Gain): Gain là đại lượng dùng để đo tính
hiệu quả của một thuộc tính được lựa chọn cho việc phân lớp. Đại
lượng này được tính thông qua hai giá trị Information và Entropy.
- Cho tập dữ liệu S gồm có n thuộc tính A
i
(i=1,2…n) giá trị Information
của thuộc tính A
i
ký hiệu là Information(A
i
) được xác định bởi công
thức .
(2.3)

- Giá trị Gain của thuộc tính A trong tập S ký hiệu là Gain(S,A) và được
tính theo công thức sau:
(2.4)
Trong đó :
 S là tập hợp ban đầu với thuộc tính A. Các giá trị của v tương ứng là
các giá trị của thuộc tính A.
 S
v
bằng tập hợp con của tập S mà có thuộc tính A mang giá trị v.
 |S
v
| là số phần tử của tập S
v
.
 |S| là số phần tử của tập S.
Trong quá trình xây dựng cây quyết định theo thuật toán ID3 tại mỗi
bước triển khai cây, thuộc tính được chọn để triển khai là thuộc tính có giá trị
Gain lớn nhất.
Xây dựng cây quyết định:
Gồm có 2 bước:
+ Bước một: Thiết lập cây quyết định
• Bắt đầu từ gốc
• Kiểm tra các giá trị của thuộc tính và phân chia các
mẫu đệ quy
+ Bước 2: Tỉa bớt cây:
• Xác định và loại bỏ các nhánh không ổn định hoặc
cá biệt
Một cây quyết định tốt cần thỏa mãn các tính chất:
 Đầy đủ: cây quyết định cần khớp với mọi trường hợp trong tập huấn
luyện

 Đơn giản: cây càng đơn giản thì càng tổng quát.
Khi nào nên sử dụng ID3:
Giải thuật ID3 là một giải thuật học đơn giản nhưng nó chỉ phù
hợp với một lớp các bài toán hay vấn đề có thể biểu diễn bằng ký
hiệu. Chính vì vậy, giải thuật này thuộc tiếp cận giải quyết vấn đề
dựa trên ký hiệu
(symbol – based approach).
Tuy nhiên, khác với một số giải thuật khác cũng thuộc tiếp cận
này, ID3 sử dụng các ví dụ rèn luyện ở dạng xác suất nên nó có ưu
điểm là ít bị ảnh hưởng bởi một vài dữ liệu nhiễu. Vì vậy, tập dữ liệu
rèn luyện ở đây có thể chứa lỗi hoặc có thể thiếu một vài giá trị ở một
số thuộc tính nào đó. Một giải pháp thường được áp dụng đối với các
dữ liệu bị thiếu là sử dụng luật đa số, chương trình tiền xử lý dữ liệu
sẽ điền vào các vị trí còn trống giá trị có tần số xuất hiện cao nhất của
thuộc tính đó.

×