Tải bản đầy đủ (.doc) (40 trang)

Báo cáo trí tuệ nhân tạo - học máy

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 (469.84 KB, 40 trang )

Trí Tuệ Nhân Tạo – Học Máy

MỤC LỤC
1. Giới thiệu chung.............................................................................................................................4
2. Các khái niệm cơ bản.....................................................................................................................5
3. Các kiểu cây quyết định.................................................................................................................7
4. Ưu điểm cây quyết định.................................................................................................................8
1. Giao diện:......................................................................................................................................30
...........................................................................................................................................................30
2. Code chương trình:......................................................................................................................31

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
1


Trí Tuệ Nhân Tạo – Học Máy

..................................................................................................................................................
..................................................................................................................................................


..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................

HỌC MÁY
Giới thiệu học máy
Từ khi trí tuệ nhân tạo ra đời cho đến nay, người ta không ngừng thực hiện các công
trình nghiên cứu để đưa tư tưởng nghiên cứu cùng với máy tính để ứng dụng vào việc
giải quyết các công việc trong thực tiễn đời sống.
Một trong những nguyên nhân làm cho trí tuệ nhân tạo trở thành một trong những lĩnh
vực mũi nhọn trong thời đại hiện nay là việc làm cho máy tính trở nên thông minh hơn,
nói cụ thể hơn là người ta tìm cách tạo ra các chương trình thông minh hơn có khả năng
giải quyết các vấn đề thực tế như cách giải quyết của con người.
Một trong những lĩnh vực lý thú của trí tuệ nhân tạo được đề cập trong chuyên đề
này là Học máy. Học máy là hướng tiếp cận trong đó thay vì con người phải chỉ ra
những tri thức cần thiết để giải quyết bài toán, máy tính sẽ tự động rút trích tri thức này
một cách từ những dữ liệu được cung cấp. Học máy mô phỏng quá trình học của con
2


Trí Tuệ Nhân Tạo – Học Máy

người qua các mức từ đơn giản đến phức tạp: đầu tiên máy tính ghi nhớ những trường

họp đã xuất hiện và cuối cùng học những trường hợp tổng quát chưa từng xuất hiện.
Trong một bài toán học máy, đầu vào là một tập dữ liệu huấn luyện bao gồm các
mẫu dữ liệu. Mỗi mẫu dữ liệu bao gồm một tập giá trị ứng với các thuộc tính. Tập
thuộc tính được chia làm hai phần: thuộc tính quan sát và thuộc tính kết quả. Mục tiêu
của học máy là tìm một ánh xạ từ thuộc tính quan sát vào thuộc tính kết quả (tìm moi
quan hệ giữa thuộc tính quan sát và thuộc tính kết quả) ứng với tập dữ liệu huấn luyện.
Ánh xạ này sẽ được áp dụng lên những mẫu quan sát mới để rút ra kết quả tương ứng.

Bảng dưới đây trình bày một ví dụ của học máy, bài toán dự đoán việc có chơi tennis
hay không.
#
1
2
3
4
5
6
7
8
9
10
11
12
13
14

Outlook Temperature Humidity Wind Target
Sunny
Hot
High

Weak
No
Sunny
Hot
High
Strong No
Overcast
Hot
High
Weak Yes
Rain
Mild
High
Weak Yes
Rain
Cool
Normal Weak Yes
Rain
Cool
Normal Strong No
Overcast
Cool
Normal Strong Yes
Sunny
Mild
High
Weak
No
Sunny
Cool

Normal Weak Yes
Rain
Mild
Normal Weak Yes
Sunny
Mild
Normal Strong Yes
Overcast
Mild
High
Strong Yes
Overcast
Hot
Normal Weak Yes
Rain
Mild
High
Strong No

Trong bài toán này, học máy sẽ tìm một mối quan hệ giữa các thuộc tính quan sát:
Outlook (quang cảnh), Temperature (Nhiệt độ), Humidity (Độ ẩm), Wind (Sức gió) với
3


Trí Tuệ Nhân Tạo – Học Máy

thuộc tính kết quả Target. Kết quả này sẽ dùng dự đoán giá trị Target khi nhập vào
thuộc tính quan sát cho các mẫu mới ví dụ:
# Outlook Temperature Humidity Wind Target
15 Sunny

Mild
Normal Strong
?
16 Rain
Cool
High
Strong
?
Việc dự đoán cho mẫu 15 có thể tương đối dễ dàng, vì mẫu này có các giá trị quan
sát tương tự mẫu số 11 nên giá trị Target cũng tương tự là Yes (trường hợp học máy
đơn giản -ghi nhớ). Tuy nhiên việc dự đoán cho mẫu 16 sẽ khó khăn hơn vì mẫu này
không giống bất kỳ một trong những mẫu đã biết. Đây là trường hợp tổng quát của học
máy - gặp những trường hợp chưa từng xuất hiện. Các phương pháp học máy đưa ra
nhằm giải quyết bài toán trong trường hợp tổng quát.

Phần I: Cây quyết định
Trong lý thuyết quyết định (chẳng hạn quản lí rủi ro), một cây quyết định (decision
tree) là một đồ thị của các quyết định và các hậu quả có thể của nó (bao gồm rủi ro và
hao phí tài nguyên). Cây quyết định được sử dụng để xây dựng một kế hoạch nhằm đạt
được mục tiêu mong muốn. Các cây quyết định được dùng để hỗ trợ quá trình ra quyết
định. Cây quyết định là một dạng đặc biệt của cấu trúc cây.
1. Giới thiệu chung
Trong lĩnh vực học máy, cây quyết định là một kiểu mô hình dự báo (predictive model),
nghĩa là một ánh xạ từ các quan sát về một sự vật/hiện tượng tới các kết luận về giá trị
mục tiêu của sự vật/hiện tượng. Mỗi một nút trong (internal node) tương ứng với một
biến; đường nối giữa nó với nút con của nó thể hiện một giá trị cụ thể cho biến đó. Mỗi
nút lá đại diện cho giá trị dự đoán của biến mục tiêu, cho trước các giá trị của các biến
được biểu diễn bởi đường đi từ nút gốc tới nút lá đó. Kỹ thuật học máy dùng trong cây
4



Trí Tuệ Nhân Tạo – Học Máy

quyết định được gọi là học bằng cây quyết định, hay chỉ gọi với cái tên ngắn gọn là cây
quyết định.
Học bằng cây quyết định cũng là một phương pháp thông dụng trong khai phá dữ liệu.
Khi đó, cây quyết định mô tả một cấu trúc cây, trong đó, các lá đại diện cho các phân
loại còn cành đại diện cho các kết hợp của các thuộc tính dẫn tới phân loại đó. Một cây
quyết định có thể được học bằng cách chia tập hợp nguồn thành các tập con dựa theo
một kiểm tra giá trị thuộc tính . Quá trình này được lặp lại một cách đệ qui cho mỗi tập
con dẫn xuất. Quá trình đệ qui hoàn thành khi không thể tiếp tục thực hiện việc chia
tách được nữa, hay khi một phân loại đơn có thể áp dụng cho từng phần tử của tập con
dẫn xuất. Một bộ phân loại rừng ngẫu nhiên (random forest) sử dụng một số cây quyết
định để có thể cải thiện tỉ lệ phân loại.
Cây quyết định cũng là một phương tiện có tính mô tả dành cho việc tính toán các xác
suất có điều kiện.
Cây quyết định có thể được mô tả như là sự kết hợp của các kỹ thuật toán học và tính
toán nhằm hỗ trợ việc mô tả, phân loại và tổng quát hóa một tập dữ liệu cho trước.
Dữ liệu được cho dưới dạng các bản ghi có dạng:
( x, y ) = ( x1 , x2 , x3 ,..., xk , y )

Biến phụ thuộc (dependant variable) y là biến mà chúng ta cần tìm hiểu, phân loại hay
tổng quát hóa. x1 , x2 , x3 ... là các biến sẽ giúp ta thực hiện công việc đó.
2. Các khái niệm cơ bản
2.1. Cây quyết định:
Là một mô hình dữ liệu mã hóa phân bố của nhãn lớp (cũng là y) theo các thuộc tính
dùng để dự đoán. Đây là một đồ thị có hướng phi chu trình dưới dạng một cây. Nút gốc
(nút nằm trên đỉnh) đại diện cho toàn bộ dữ liệu. Cây quyết định thông thường được sử
dụng cho việc đạt được thông tin cho mục đính tạo quyết định. Cây quyết định bắt đầu
với một nút gốc từ đó user nhận được những hành động. Từ nút này, user chia ra mỗi

nút theo cách đệ qui theo giải thuật học cây quyết định. Kết quả cuối cùng là một cây

5


Trí Tuệ Nhân Tạo – Học Máy

quyết định trong đó mỗi nhánh thể hiện một trường hợp có thể của quyết định và hệ quả
của quyết định đó.
2.2. Ví dụ bài toán chơi tennis để giải thích cây quyết định
Người quản lý của một câu lạc bộ chơi tennis gặp rắc rối chuyện các thành viên đến hay
không đến. Có ngày ai cũng muốn chơi tennis nhưng số nhân viên câu lạc bộ lại không
đủ phục vụ. Có hôm thì chẳng ai đến chơi, và câu lạc bộ lại thừa nhân viên.
Mục tiêu của Người quản lý là tối ưu hóa số nhân viên phục vụ mỗi ngày bằng cách dựa
vào thời tiết để đoán xem khi nào người ta sẽ đến chơi tennis. Để thực hiện điều đó, anh
cần hiểu được tại sao khách hàng quyết định chơi và tìm hiểu xem có cách giải thích
nào cho việc đó hay không.
Vậy là trong hai tuần, anh ta thu thập thông tin về:
Trời Outlook (quang cảnh), Temperature (Nhiệt độ), Humidity (Độ ẩm), Wind (Sức gió)
với thuộc tính kết quả Target.

Dữ liệu như sau:
#
1
2
3
4
5
6
7

8
9
10
11
12
13
14

Outlook Temperature Humidity Wind Target
Sunny
Hot
High
Weak
No
Sunny
Hot
High
Strong No
Overcast
Hot
High
Weak Yes
Rain
Mild
High
Weak Yes
Rain
Cool
Normal Weak Yes
Rain

Cool
Normal Strong No
Overcast
Cool
Normal Strong Yes
Sunny
Mild
High
Weak
No
Sunny
Cool
Normal Weak Yes
Rain
Mild
Normal Weak Yes
Sunny
Mild
Normal Strong Yes
Overcast
Mild
High
Strong Yes
Overcast
Hot
Normal Weak Yes
Rain
Mild
High
Strong No


6


Trí Tuệ Nhân Tạo – Học Máy

Sau đó, để giải quyết bài toán, người ta đã đưa ra một mô hình cây quyết định.

Kết luận thứ nhất: nếu trời nhiều mây, người ta luôn luôn chơi tennis.
Tiếp theo, ta lại chia nhóm trời nắng thành hai nhóm con. Ta thấy rằng khách hàng
không muốn chơi golf nếu độ ẩm cao.
Cuối cùng, ta chia nhóm trời có gió thành hai và thấy rằng khách hàng sẽ không chơi
tennis nếu trời nhiều gió.

Và đây là lời giải ngắn gọn cho bài toán mô tả bởi cây phân loại. Người quản lý phần
lớn cho nhân viên nghỉ vào những ngày trời nắng và ẩm, hoặc những ngày gió mạnh. Vì
hầu như sẽ chẳng có ai chơi trong những ngày đó. Vào những hôm khác, khi nhiều
người sẽ đến chơi tennis, anh ta có thể thuê thêm nhân viên thời vụ để phụ giúp công
việc.
Kết luận là cây quyết định giúp ta biến một biểu diễn dữ liệu phức tạp thành một cấu
trúc đơn giản hơn rất nhiều.
3. Các kiểu cây quyết định
Cây quyết định còn có hai tên khác:
• Cây hồi quy (Regression tree): ước lượng các hàm có giá trị là số thực thay vì
7


Trí Tuệ Nhân Tạo – Học Máy

được sử dụng cho các nhiệm vụ phân loại. (ví dụ: ước tính giá một ngôi nhà hoặc

khoảng thời gian một bệnh nhân nằm viện)
• Cây phân loại (Classification tree): là một biến phân loại như: giới tính (nam
hay nữ), kết quả của một trận đấu (thắng hay thua).
4. Ưu điểm cây quyết định


Cây quyết định dễ hiểu. Người ta có thể hiểu mô hình cây quyết định sau khi
được giải thích ngắn.



Việc chuẩn bị dữ liệu cho một cây quyết định là cơ bản hoặc không cần thiết.
Các kỹ thuật khác thường đòi hỏi chuẩn hóa dữ liệu, cần tạo các biến phụ
(dummy variable) và loại bỏ các giá trị rỗng.



Cây quyết định có thể xử lý cả dữ liệu có giá trị bằng số và dữ liệu có giá trị là
tên thể loại. Các kỹ thuật khác thường chuyên để phân tích các bộ dữ liệu chỉ
gồm một loại biến. Chẳng hạn, các luật quan hệ chỉ có thể dùng cho các biến tên,
trong khi mạng nơ-ron chỉ có thể dùng cho các biến có giá trị bằng số.



Cây quyết định là một mô hình hộp trắng. Nếu có thể quan sát một tình huống
cho trước trong một mô hình, thì có thể dễ dàng giải thích điều kiện đó bằng
logic Boolean. Mạng nơ-ron là một ví dụ về mô hình hộp đen, do lời giải thích
cho kết quả quá phức tạp để có thể hiểu được.




Có thể thẩm định một mô hình bằng các kiểm tra thống kê. Điều này làm cho ta
có thể tin tưởng vào mô hình.



Cây quyết định có thể xử lý tốt một lượng dữ liệu lớn trong thời gian ngắn. Có
thể dùng máy tính cá nhân để phân tích các lượng dữ liệu lớn trong một thời gian
đủ ngắn để cho phép các nhà chiến lược đưa ra quyết định dựa trên phân tích của
cây quyết định.

8


Trí Tuệ Nhân Tạo – Học Máy

Phần II: Thuật toán ID3
1. Thuật toán:
Thuật toán ID3 do Ross Quinlan đề xuất dùng để xây dựng những cây quyết định thỏa
các tính chất trên. Thuật toán tuân theo nguyên tắc dao cạo Occam để xây dựng những
cây quyết định bằng cách ở mỗi bước kiểm tra, cố gắng chọn thuộc tính (nút nhánh)
đơn giản nhất. Để xác định độ đơn giản của thuộc tính, ID3 sử dụng giá trị độ đo là
entropy thông tin (độ hỗn loạn thông tin).
Với một thuộc tính cho trước, một tập dữ liệu được chia thành n tập con với các tỷ lệ
Pi tương ứng (ví dụ, với thuộc tính Target, tập dữ liệu huấn luyện được chia thành 2 tập
con Yes với Po = 9/14 và tập con No với P;=5/14). Khi đó, entropy của tập dữ liệu trên
thuộc tính được chọn là:
9



Trí Tuệ Nhân Tạo – Học Máy

n
H
Ví dụ, entropy của tập dữ liệu tennis theo thuộc tính kết quả là:
H = - 9/14 * log29/14 - 5/14 * log25/14 = 0,94
Entropy đo độ hỗn loạn của một tập. Entropy càng cao thì độ hỗn loạn của tập đó
càng cao. Tập dữ liệu là hoàn toàn đồng nhất khi entropy = 0. Và trong trường hợp tập
dữ liệu có 2 lớp, tập dữ liệu hoàn toàn hỗn loạn sẽ có entropy = 1.

Thuật toán ID3: Bắt đầu với nút gốc,
1. Chọn A  thuộc tính quyết định "tốt nhất" cho nút kế tiếp
2. Gán A là thuộc tính quyết định cho nút
3. Với mỗi giá trị của A, tạo nhánh con mới của nút
4. Phân loại các mẫu huấn luyện cho các nhánh
5. Nếu các mẫu huấn luyện trong một nhánh được phân loại hoàn toàn (đồng nhất một
loại) thì NGƯNG, ta được một nút lá. Ngược lại, lặp với các nút nhánh mới.

Thuộc tính tốt nhất ở đây là thuộc tính có entropy trung bình thấp nhất theo thuộc
tính kết quả. Entropy trung bình của một thuộc tính bằng trung bình theo tỉ lệ của
entropy các nhánh:

10


Trí Tuệ Nhân Tạo – Học Máy

2. Ví dụ:
Áp dụng thuật toán ID3 cho bài toán học chơi tennis:
* Lưu ý: Các số khoan tròn của tất cả hình bên dưới đều có thuộc tính Target là Yes,

ngược lại là No.
 Lặp lần 1: Xét lần lượt các thuộc tính
Outlook:
#
1
2
3
4
5

Outlook
Sunny
Sunny
Overcast
Rain
Rain

Temperatur
e
Hot

Humidity
High
High
High
High
Normal

Hot
Hot

Mild
Cool
11

Wind Target
Weak
No
Strong
No
Weak
Yes
Weak
Yes
Weak
Yes


Trí Tuệ Nhân Tạo – Học Máy

6
Rain
7 Overcast
8
Sunny
9
Sunny
10
Rain
11 Sunny
12 Overcast

13 Overcast
14
Rain

Cool
Cool
Mild
Cool
Mild
Mild
Mild
Hot
Mild
Rain

4

HRain

5

6 10 14

Normal
Normal
High
Normal
Normal
Normal
High

Normal
High
Outlook
Overcast
3

Strong
Strong
Weak
Weak
Weak
Strong
Strong
Weak
Strong

No
Yes
No
Yes
Yes
Yes
Yes
Yes
No

Sunny

7 12 13


1

2

8

= - 3/5 * log23/5 - 2/5 * log22/5 = 0,97

HOvercast = - 4/4 * log24/4 - 0/4 * log20/4 = 0
HSunny = - 2/5 * log22/5 - 3/5 * log23/5 = 0,97
AE (Outlook) = 5/14 * 0,97 + 4/14 * 0 + 5/14 * 0,97 = 0,693

Temperature:
#
1
2
3
4
5
6
7
8
9
10
11
12
13

Outlook
Sunny

Sunny
Overcast
Rain
Rain
Rain
Overcast
Sunny
Sunny
Rain
Sunny
Overcast
Overcast

Temperatur
e
Hot
Hot
Hot
Mild
Cool
Cool
Cool
Mild
Cool
Mild
Mild
Mild
Hot

Humidity

High
High
High
High
Normal
Normal
Normal
High
Normal
Normal
Normal
High
Normal
12

Wind Target
Weak
No
Strong
No
Weak
Yes
Weak
Yes
Weak
Yes
Strong
No
Strong
Yes

Weak
No
Weak
Yes
Weak
Yes
Strong
Yes
Strong
Yes
Weak
Yes

9 11


Trí Tuệ Nhân Tạo – Học Máy

14

Rain

Mild

High

Temperatur
e

Hot


1

2

3 13

Strong

Cool

Mid

4

No

8 10 11 12 14

5

HHot = - 2/4 * log22/4 - 2/4 * log22/4 = 1
HMid = - 4/6 * log24/6 - 2/6 * log22/6 = 0,918
HCool

= - 3/4 * log23/4 - 1/4 * log21/4 = 0,811

AE (Temperature) = 4/14 * 1 + 6/14 * 0,918 + 4/14 * 0,811 = 0,911

Humidity:

#
1
2
3
4
5
6
7
8
9
10
11
12
13
14

Outlook
Sunny
Sunny
Overcast
Rain
Rain
Rain
Overcast
Sunny
Sunny
Rain
Sunny
Overcast
Overcast

Rain

Temperatur
e
Hot
Hot
Hot
Mild
Cool
Cool
Cool
Mild
Cool
Mild
Mild
Mild
Hot
Mild

Humidity
High
High
High
High
Normal
Normal
Normal
High
Normal
Normal

Normal
High
Normal
High
13

Wind Target
Weak
No
Strong
No
Weak
Yes
Weak
Yes
Weak
Yes
Strong
No
Strong
Yes
Weak
No
Weak
Yes
Weak
Yes
Strong
Yes
Strong

Yes
Weak
Yes
Strong
No

6

7

9


Trí Tuệ Nhân Tạo – Học Máy

HHigh

= - 3/7 * log23/7 - 4/7 * log24/7 = 0,985

HNormal = - 6/7 * log26/7 - 1/7 * log21/7 = 0,592
AE (Humidity) = 7/14 * 0,985 + 7/14 * 0,592 = 0,79
Humidity

High
1

2

3


4

Normal

8 12 14

5

6

7

9 11 10 13

Wind:
#
1
2
3
4
5
6
7
8
9
10
11
12
13
14


Outlook
Sunny
Sunny
Overcast
Rain
Rain
Rain
Overcast
Sunny
Sunny
Rain
Sunny
Overcast
Overcast
Rain

Temperatur
e
Hot
Hot
Hot
Mild
Cool
Cool
Cool
Mild
Cool
Mild
Mild

Mild
Hot
Mild

Weak

1

3

4

5

8

9 10 13

Humidity
High
High
High
High
Normal
Normal
Normal
High
Normal
Normal
Normal

High
Normal
High

Wind Target
Weak
No
Strong
No
Weak
Yes
Weak
Yes
Weak
Yes
Strong
No
Strong
Yes
Weak
No
Weak
Yes
Weak
Yes
Strong
Yes
Strong
Yes
Weak

Yes
Strong
No

Wind

Strong

14

2

6

7 11 12 14


Trí Tuệ Nhân Tạo – Học Máy

Hweak

= - 2/8 * log22/8 - 6/8 * log26/8 = 0,81

HStrong

= - 3/6 * log23/6 - 3/6 * log23/6 = 1

AE (Wind) = 8/14 * 0,81 + 6/14 * 1 = 0,89
So sánh ta thấy thuộc tính Outlook có entropy trung bình thấp nhất nên ta chọn
thuộc tính này làm gốc.


• Lặp lần 2: Xét nhánh Rain
Xét các thuộc tính Temperature
#
4
5
6
10
14

Outloo
k
Rain
Rain
Rain
Rain
Rain

Hot

Temperatur
e
Mild
Cool
Cool
Mild
Mild

Humidity


Wind

Target

High
Normal
Normal
Normal
High

Weak
Weak
Strong
Weak
Strong

Yes
Yes
No
Yes
No

Temperatur
e

Cool

4 10 14

5


Entropy trung bình:
HMid = - 2/3 * log22/3 - 1/3 * log21/3 = 0,918
HCool = - 1/2 * log21/2 - 1/2 * log21/2 = 1
15

6


Trí Tuệ Nhân Tạo – Học Máy

AE (Temperature) = 3/5 * 0,918 + 2/5 * 1 = 0,8308
Xét các thuộc tính Humidity
#
4
5
6
10
14

Outloo
k
Rain
Rain
Rain
Rain
Rain

Temperatur
e

Mild
Cool
Cool
Mild
Mild

Wind

Target

High
Normal
Normal
Normal
High

Weak
Weak
Strong
Weak
Strong

Yes
Yes
No
Yes
No

Humidity


High
4

Humidity

Normal

14

5

6 10

Entropy trung bình:
HHigh = - 1/2 * log21/2 - 1/2 * log21/2 = 1
HNormal = - 2/3 * log22/3 - 1/3 * log21/3 = 0,918
AE (Humidity) = 2/5 * 1 + 3/5 * 0,918 = 0,9508
Xét các thuộc tính Wind:
#

Outloo
k

Temperatur
e

Humidit
y

Wind


Targe
t

4
5
6
10
14

Rain
Rain
Rain
Rain
Rain

Mild
Cool
Cool
Mild
Mild

High
Normal
Normal
Normal
High

Weak
Weak

Strong
Weak
Strong

Yes
Yes
No
Yes
No

Weak
4

5

Wind

Strong

10

14

Entropy trung bình:
HHigh = - 3/3 * log23/3 – 0/3 * log20/3 = 0
HNormal = - 0/2 * log20/2 – 2/2 * log22/2 = 0
AE (Humidity) = 0
16

6



Trí Tuệ Nhân Tạo – Học Máy

Thuộc tính Wind có entropy trang bình thấp nhất nên chọn làm nút nhánh.

• Lặp lần 3: Xét nhánh Sunny
Xét các thuộc tính Temperature
#

Outlook

1
2
8
9
11

Sunny
Sunny
Sunny
Sunny
Sunny
Mid

8

11

Temperatur

e
Hot
Hot
Mild
Cool
Mild

Humidity

Wind

Target

High
High
High
Normal
Normal

Weak
Strong
Weak
Weak
Strong

No
No
No
Yes
Yes


Temperatur
e

Hot
1

2

HMid = - 1/2 * log21/2 – 1/2 * log21/2 = 1
HHot = - 0/2 * log20/2 – 2/2 * log20/2 = 0
HCool = - 1 * log21 – 0 * log20 = 0
AE (Temperature) = 2/5 * 1 + 0 + 0 = 0,4
17

Cool
9


Trí Tuệ Nhân Tạo – Học Máy

Xét các thuộc tính Humidity
#
1
2
8
9
11

Outlook


Temperatur

Humidity

Wind

Target

Sunny
Sunny
Sunny
Sunny
Sunny

e
Hot
Hot
Mild
Cool
Mild

High
High
High
Normal
Normal

Weak
Strong

Weak
Weak
Strong

No
No
No
Yes
Yes

High
1

2

Humidity

8

Normal
9

11

Entropy trung bình:
HHigh = - 0/3 * log20/3 – 3/3 * log23/3 = 0
HNormal = - 2/2 * log22/2 – 0 = 0
AE (Humidity) = 0
 Thuộc tính Humidity có entropy trung bình thấp nhất nên chọn làm nút nhánh.
 Cây quyết định kết quả:


• Sau khi xây dựng cây, ta có thể rút ra các luật tương ứng bằng cách duyệt các
đường đi trên cây từ nút gốc đến nút lá, mỗi đường đi ứng với một luật:
 L1: Nếu Outlook = Overcast thì chơi tennis.
 L2: Nếu Outlook = Rain và Wind = Weak thì chơi tennis.
 L3: Nếu Outlook = Rain và Wind = Strong thì không chơi tennis.
18


Trí Tuệ Nhân Tạo – Học Máy

 L4: Nếu Outlook = Sunny và Hub = High thì không chơi tennis.
 L5: Nếu Outlook = Sunny và Hub = Normal thì chơi tennis.
Lưu ý: Một phiên bản khác của thuật toán ID3 sử dụng Informatic Gain
thay cho entropy để chọn thuộc tính quyết định. Công thức tính Informatic
Gain như sau:
Gain(A) = Entropy(S) – Entropy(A)
Trong đó: S là tập mẫu và A là một thuộc tính. Entropy(S): độ hỗn
loạn của tập S. Entropy(A): độ hỗn loạn trung bình của thuộc tính A (cách
tính như trên)
Nguyên tắc thực hiện: tương tự trên ngoại trừ Gain lớn nhất.

Phần II: Thuật toán QuinLan
1. Thuật toán:
Quinlan quyết định thuộc tính phân hoạch bằng cách xây dựng các vector đặc trưng cho
mỗi giá trị của từng thuộc tính dẫn xuất và thuộc tính mục tiêu. Cách tính cụ thể như
sau :
Với mỗi thuộc tính dẫn xuất A còn có thể sử dụng để phân hoạch, tính :
VA(j) = ( T(j , r1), T(j , r2) ,…, T(j , rn) )
T(j, ri) = (tổng số phần tử trong phân hoạch có giá trị thuộc tính dẫn xuất A là

j và có giá trị thuộc tính mục tiêu là ri ) / ( tổng số phần tử trong phân hoạch có
giá trị thuộc tính dẫn xuất A là j )
* Trong đó: r1, r2, … , rn là các giá trị của thuộc tính mục tiêu
19


Trí Tuệ Nhân Tạo – Học Máy

*
Như vậy nếu một thuộc tính A có thể nhận một trong 5 giá trị khác nhau thì nó sẽ có 5
vector đặc trưng.
Một vector V(Aj ) được gọi là vector đơn vị nếu nó chỉ có duy nhất một thành phần có
giá trị 1 và những thành phần khác có giá trị 0.
Thuộc tính được chọn để phân hoạch là thuộc tính có nhiều vector đơn vị nhất.

2. Ví dụ:
Bài toán dự đoán việc chơi tennis
#
1
2
3
4
5
6
7
8
9
10
11
12

13
14

Outlook Temperature Humidity Wind Target
Sunny
Hot
High
Weak
No
Sunny
Hot
High
Strong No
Overcast
Hot
High
Weak Yes
Rain
Mild
High
Weak Yes
Rain
Cool
Normal Weak Yes
Rain
Cool
Normal Strong No
Overcast
Cool
Normal Strong Yes

Sunny
Mild
High
Weak
No
Sunny
Cool
Normal Weak Yes
Rain
Mild
Normal Weak Yes
Sunny
Mild
Normal Strong Yes
Overcast
Mild
High
Strong Yes
Overcast
Hot
Normal Weak Yes
Rain
Mild
High
Strong No

Phân hoạch lần 1:
VOutlook(Sunny) = (2/5, 3/5)
VOutlook(Overcast) = (4/4, 0/4) = (1, 0) { vector đơn vị}
20



Trí Tuệ Nhân Tạo – Học Máy

VOutlook(Sunny) = (2/5, 3/5)
VTemperature(Hot) = (2/4, 2/4)
VTemperature(Mid) = (4/6, 2/6) = (2/3, 1/3)
VTemperature(Cool) = (3/4, 1/4)
VHumidity(High) = (3/7, 4/7)
VHumidity(Normal) = (6/7, 6/7)
VWind(Weak) = (3/7, 4/7)
VWind(Strong) = (6/8, 2/8) = (3/4, 1/4)
Ta chọn thuộc tính Outlook vì có vector đơn vị nên ta chọn làm nhánh gốc.
Trong Outlook còn có thuộc tính Rain và Sunny là chứa những người chơi tennis hoặc
không chơi. Vì vậy ta sẽ phân hoạch tiếp hai nhánh này.

Dữ liệu còn lại là:
#
1
2
4
5
6
8
9
10
11
14

Outlook


Temperature

Humidity

Wind

Target

Sunny
Sunny
Rain
Rain
Rain
Sunny
Sunny
Rain
Sunny
Rain

Hot
Hot
Mild
Cool
Cool
Mild
Cool
Mild
Mild
Mild


High
High
High
Normal
Normal
High
Normal
Normal
Normal
High

Weak
Strong
Weak
Weak
Strong
Weak
Weak
Weak
Strong
Strong

No
No
Yes
Yes
No
No
Yes

Yes
Yes
No

Phân hoạch lần 2: - Nhánh Sunny
#
1
2

Outloo
k

Temperatur
e

Humidit
y

Wind

Targe
t

Sunny
Sunny

Hot
Hot

High

High

Weak
Strong

No
No

21


Trí Tuệ Nhân Tạo – Học Máy

8
9
11

Sunny
Sunny
Sunny

Mild
Cool
Mild

VTemperature(Hot) = (0/2, 2/2) = (1, 0)

High
Normal
Normal


Weak
Weak
Strong

No
Yes
Yes

{ vector đơn vị}

VTemperature(Mid) = (1/2, 1/2)
VTemperature(Cool) = (1, 0)

{ vector đơn vị}

VHumidity(High) = (0/3, 3/3) = (0, 1)
VHumidity(Normail) = (2/2, 0/2) = (1, 0)

{ vector đơn vị}
{ vector đơn vị}

VWind(Weak) = (2/3, 1/3)
VWind(Strong) = (0/2, 2/2) = (0, 1)

{ vector đơn vị}

 Hai thuộc tính Temperature và Humidity đều có 2 vector đơn vị. Tuy nhiên, số
phân hoạch của thuộc tính Humidity là ít hơn nên ta chọn phân hoạch theo thuộc tính
Humidity.


Phân hoạch lần 3: - Nhánh Rain
#

Outloo
k

Temperatur
e

Humidit
y

Wind

Targe
t

4
5
6
10
14

Rain
Rain
Rain
Rain
Rain


Mild
Cool
Cool
Mild
Mild

High
Normal
Normal
Normal
High

Weak
Weak
Strong
Weak
Strong

Yes
Yes
No
Yes
No

VTemperature(Mild) = (2/3, 1/3)
VTemperature(Cool) = (1/2, 1/2)

VHumidity(High) = (1/2, 1/2)
VHumidity(Normal) = (2/3, 1/3)


VWind(Weak) = (2/3, 1/3)
22


Trí Tuệ Nhân Tạo – Học Máy

VWind(Strong) = (0/2, 2/2) = (0, 1) { vector đơn vị}
 Thuộc tính Wind có vector đơn vị nên ta chọn phân hoạch. Vậy, cây định danh
cuối cùng của chúng ta sẽ như sau :

Phần IV: Thuật toán học quy nạp (ILA)
Thuật toán học quy nạp ILA đưa ra hướng tiếp cận ngược lại so với thuật toán
ID3. Trong toán ID3, quá trình rút tri thức từ dữ liệu được xuất phát từ các thuộc
tính quan sát của tập dữ liệu. Từ việc kiểm tra trên các thuộc tính quan sát, ID3
chọn những thuộc tính có các giá trị mà chúng chia tập huấn luyện thành những tập
con một cách tốt nhất. Các thuộc tính này sẽ được chọn để rút ra luật cho dữ liệu.
Ngược lại, trong ILA, quá trình học xuất phát từ các thuộc tính quyết định. ILA
chia tập dữ liệu huấn luyện thành các tập con rời nhau, mỗi tập con là một phân
lớp dựa trên thuộc tính quyết định. Tiếp đến ILA sẽ xem xét trong từng phân lớp
xem có thuộc tính nào (hoặc tổ hợp thuộc tính nào) có giá trị chỉ xuất hiện trong
lớp đó mà không xuất hiện trong các lớp khác hay không. Nếu có, những (tổ hợp)
thuộc tính và giá trị đó sẽ được chọn làm đặc trưng phân lớp cho lớp đó.
Thuật toán ILA
1. Chia tập mẫu thành các bảng con ứng với thuộc tính quyết định
2. Với mỗi bảng con
3. Với mỗi tổ hợp thuộc tính có thể có (bắt đầu với số lượng = 1)
23


Trí Tuệ Nhân Tạo – Học Máy


4. Tìm các giá trị chỉ xuất hiện ở bảng con này mà không xuất hiện ở các bảng con
khác
5. (Nếu có nhiều tổ hợp thì chọn tổ hợp có số lượng mẫu tin nhiều nhất)
6. Sử dụng tổ hợp thuộc tính, giá trị vừa tìm được để tạo luật
7. Đánh dấu các dòng đã xét
8. Nếu còn dòng chưa xét, lặp lại bước 3
9. Lặp lại từ bước 2 với các bảng còn lại

Áp dụng ILA cho bảng bài toán tennis:
1. Chia tập dữ liệu ban đầu thành 2 bảng con:
#
3
4
5
7
9
10
11
12
13
#
1
2
6
8
1
4

Outlook Temperatur Hudmidit Wind Target

Overcast
Hot
High
Weak Yes
Rain
Mild
High
Weak Yes
Rain
Cool
Normal Weak Yes
Overcast
Cool
Normal Strong Yes
Sunny
Cool
Normal Weak Yes
Rain
Mild
Normal Weak Yes
Sunny
Mild
Normal Strong Yes
Overcast
Mild
High
Strong Yes
Overcast
Hot
Normal Weak Yes

Outloo
k

Temperatur
e

Hudmidit
y

Wind

Targe
t

Sunny
Sunny
Rain
Sunny
Rain

Hot
Hot
Cool
Mild
Mild

High
High
Normal
High

High

Weak
Strong
Strong
Weak
Strong

No
No
No
No
No

2. Với bảng Yes: các giá trị sau không xuất hiện trong bảng No:
• Tổ hợp 1 thuộc tính:
24


Trí Tuệ Nhân Tạo – Học Máy

o Outlook = Overcast, các mẫu: 3, 7, 12, 13
⇒ Luật L1: Nếu Outlook = Overcast thì Target = Yes (xoá các mẫu 3, 7, 12, 13)
• Tổ hợp 2 thuộc tính:
# Outlook Temperatur Hudmidit Wind Target
4
Rain
Mild
High
Weak Yes

5
Rain
Cool
Normal Weak Yes
9 Sunny
Cool
Normal Weak Yes
10 Rain
Mild
Normal Weak Yes
11 Sunny
Mild
Normal Strong Yes
o O = S ∧ T= C, mẫu: 9
o O = S ∧ H = N, mẫu: 11, 9
o O = R ∧ W = W, mẫu: 5, 4, 10
o H = N ∧ T = M, mẫu: 11, 10
o T = C ∧ W = W, mẫu: 5, 9
o H = N ∧ W = W, mẫu: 5, 9, 10
⇒ Luật L2: Nếu O = R ∧ W = W thì Target = Yes (xoá các mẫu 4, 5, 10)
còn lại
o O = S ∧ T = C, mẫu: 9
o O = S ∧ H = N , mẫu: 9, 11
o T = M ∧ H = N , mẫu: 11
o T = C ∧ W = W , mẫu: 9
⇒ Luật L3: Nếu O = S ∧ H = N thì Target = Yes (xoá các mẫu_9, 11)
Với bảng No:
• Tổ hợp 1 thuộc tính: không có
• Tổ hợp 2 thuộc tính:
o O = S ∧ T= H, mẫu: 1, 2

o O = S ∧ H = H, mẫu: 1, 2, 8
o O = R ∧ W = S , mẫu: 6, 14
o T = H ∧ W = S , mẫu: 2
⇒ Luật L4: Nếu O = S ∧ H = H thì Target = Yes (xoá các mẫu 1, 2, 8)
còn lại
o O = R ∧ W = S , mẫu: 6
25


×