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

HỌC BẰNG PHƯƠNG PHÁP DỰA TRÊN CÂY ĐỊNH DANH

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 (235.06 KB, 26 trang )

ĐẠI HỌC QUỐC GIA
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN TP. HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT KHÓA 6
________________
BÀI THU HOẠCH
CHUYÊN ĐỀ: CÔNG NGHỆ TRI THỨC
Đề tài:
HỌC BẰNG PHƯƠNG PHÁP
DỰA TRÊN CÂY ĐỊNH DANH
GVHD: GS.TSKH. HOÀNG KIẾM
SVTH: VƯƠNG THỊ NGỌC ẨN – CH1101063
LÊ THỊ PHÚC KHOA – CH1101015

TP. HCM, 6/2012
Bài thu hoạch
MỤC LỤC
Phần A: Mở đầu 2
Phần B: Lý thuyết cơ sở của phương pháp học bằng cây định danh 4
I. Khái niệm máy học
II. Khám phá tri thức
III. Phân loại máy học
I. Định nghĩa về cây định danh 5
II. Phân tích bài toán 5
III. Thuật toán Quinlan 7
1. Thuật toán 7
2. Minh hoạ thuật toán 7
3. Nhận xét (độ đo hỗn loạn) 11
4. Phát sinh tập luật 13
5. Tối ưu hóa tập luật 13
6. Kết luận 15
IV. Thuật toán ILA 15


7. Thuật toán 16
8. Minh hoạ thuật toán 16
Phần C: Cài đặt ứng dụng minh họa 22
Phần D: Kết luận 25
Tài liệu tham khảo 26
Công Nghệ Tri Thức
2
Bài thu hoạch
PHẦN A. MỞ ĐẦU
Trí tuệ nhân tạo ngày nay đã trở thành một trong những lĩnh vực mũi nhọn,
tiên phong hàng đầu, con người chúng ta làm cho máy tính trở nên thông minh hơn,
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.
Bài thu hoạch sau đây là một khảo sát nhỏ về một phương pháp học trong trí
tuệ nhân tạo, đó là học bằng phương pháp dựa trên cây định danh. Bài toán được
đặt ra là từ một mẫu cơ sở dữ liệu có sẳn, máy tính có thể phát hiện ra tính quy luật
trong mẫu dữ liệu đó bằng phương pháp xây dựng cây định danh và nhờ đó giúp con
người đưa ra các quyết định nhanh chóng và chuẩn xác, Có thể ứng dụng để giải
quyết vấn đề thực tế.

Ví dụ ta có một bản thông tin dữ liệu như sau:
Công Nghệ Tri Thức
3
Bài thu hoạch
Tên Nước tiểu Giảm cân Đau lưng Sốt Kết quả
An Vàng Không Không Có Không bệnh sỏi thận
Cường Vàng Không Không Không Không bệnh sỏi thận
Châu Có vôi Không Không Có Bệnh sỏi thận
Dung Có máu ít Không Có Bệnh sỏi thận
Diễm Có máu Nhanh Có Có Bệnh sỏi thận

Hương Có máu Nhanh Có Không Không bệnh sỏi thận
Hoa Có vôi Nhanh Có Không Bệnh sỏi thận
Phương Vàng ít Không Có Không bệnh sỏi thận
My Vàng Nhanh Có Có Bệnh sỏi thận
Nhung Có máu ít Có Có Bệnh sỏi thận
Thu Vàng ít Có Không Bệnh sỏi thận
Thương Có vôi ít Không Không Bệnh sỏi thận
Tuấn Có vôi Không Có Có Bệnh sỏi thận
Tùng Có máu ít Không Không Không bệnh sỏi thận
(Bảng 1)
Sau khi dữ liệu này được đưa vào chương trình máy tính thì chương trình sẽ cho ra các
luật như sau, và dựa vào các luật này người ta có thể chuẩn đoán bệnh:
(Hình số 1)
Làm sao máy tính làm được việc này? Ta hãy nghiên cứu kỹ hơn trong phần lý thuyết cơ sở
của phương pháp học bằng xây dựng cây định danh.
Công Nghệ Tri Thức
4
1. (Nước tiểuVàng) và (có đau lưng) à Bệnh sỏi thận
2. (Nước tiểu Vàng) và (không đau lưng) à Không bệnh sỏi thận
3. (Nước tiểu có vôi) àBệnh sỏi thận
4. (Nước tiểu có máu) và (có sốt) à Bệnh sỏi thận
5. (Nước tiểu có máu) và (không sốt) à Không bệnh sỏi thận
Bài thu hoạch
PHẦN B
LÝ THUYẾT CƠ SỞ CỦA PHƯƠNG PHÁP HỌC BẰNG
XÂY DỰNG CÂY ĐỊNH DANH
I. KHÁI NIỆM MÁY HỌC:
- Máy tính hay chương trình máy tính có khả năng hoàn thiện từ “kinh nghiệm”
- Máy tính còn có nghĩa là việc mô hình hóa môi trường xung quanh hay khả năng một c
hương trình máy tính sinh ra một cấu trúc dữ liệu mới khác với cấu trúc hiện có.

chẳng hạn tìm ra những luật If…then… từ tập dữ liệu đầu vào.
II. KHÁM PHÁ TRI THỨC:
- Khám phá tri thức là tìm ra những tri thức tiềm ẩn, những tri thức mới (không phải là
những tri thức kinh điển, kinh nghiệm,…)
III. PHÂN LOẠI MÁY HỌC:
- Phân loại thô:
+ Học giám sát
+ Học không giám sát
- Phân loại theo 2 tiêu chuẩn cùng lúc: “cấp độ học” và “cách tiếp cận”
+ Cấp độ học:
Học vẹt
Học theo giải thích
Học theo ví dụ, trường hợp
Học khám phá
+ Cách tiếp cận:
Tiếp cận thống kê
Tiếp cận toán tử logic
Tiếp cận hình học (Phân hoạch không gian, xây dựng cây định danh,…)
Tiếp cận mạng Neural
Tiếp cận khai mỏ dữ liệu
……………………………
IV.ĐỊNH NGHĨA VỀ CÂY ĐỊNH DANH:
Công Nghệ Tri Thức
5
Bài thu hoạch
Cây định danh là cây mà nếu ta đi từ nút gốc đến các lá ta sẽ có một quyết định hay một
quy luật dựa vào các thuộc tính trên đường đi từ gốc đến lá, như vậy mỗi đường đi từ nút
gốc đến nút lá sẽ cho ra một quyết định hay một quy luật. Vì vậy người ta còn gọi cây định
danh là cây quyết định.
Ví dụ: Với ví dụ 1 ở trên thì cây định danh được xác định như sau:

(Hình số 2)
Các kết luận hay quyết định cho cây định danh này được đưa ra như hình số 1
V. PHÂN TÍCH BÀI TOÁN:
Dựa vào ý tưởng tiếp cận hình học là phân chia không gian bài toán tạo thành một cây định
danh sau đó xây dựng các phương pháp học dựa trên cây định danh đó.
1. Cây định danh được xây dựng bằng cách tìm các quy luật của dữ liệu:
Gọi P là tập hợp những người quan sát được:
Ta xét ngẫu nhiên qua từng thuộc tính rồi phân nhóm kết quả theo từng giá trị của thuộc
tính
Quan sát thuộc tính Nước tiểu ta có:
P
vàng
= {An, Cường, Phương, My, Thu}
P
Có vôi
= {Châu, Hoa, Phương, Tuấn}
P
Có máu
= {Dung, Diễm, Hương, Nhung, Tùng}
Người được gạch dưới và in đậm là bị Bệnh sỏi thận, ta có sơ đồ sau:
Công Nghệ Tri Thức
6
Nước tiểu
Đau lưng
Có máu
Bệnh sỏi thận
- Châu
- Hoa
- Thương
- Tuấn

Vàng
KhôngCó
Không bệnh sỏi
thận
- An
- Cường
- Phương
Bệnh sỏi thận
- My
- Thu
Có vôi
Sốt
Không bệnh sỏi
thận
Bệnh sỏi thận

Không
- Dung
- Diễm
- Nhung
- Hương
- Tùng
Bài thu hoạch
(Hình số 3)
Ta thấy P
vàng
còn lẫn lộn người bệnh và không bệnh
Tiếp tục quan sát thuộc tính kế tiếp là thuộc tính Giảm cân với các tập hợp còn lẫn lộn
này ta có:
P

vàng, không
= {An, Cường}
P
vàng, ít
= {Phương, Thu}
P
vàng, nhanh
= {My}
(Hình số 4)
2. Nhận xét:
- Quá trình này cứ thế tiếp tục cho đến khi tất cả các nút lá của cây không còn lẫn lộn
giữa bệnh và không bệnh nữa.
- Qua mỗi bước phân hoạch cây càng ngày càng “phình” ra. Cây mà chúng ta đang xây
dựng gọi là cây định danh.
9. Vấn đề:
Nếu như ban đầu ta không chọn thuộc tính Nước tiểu để phân hoạch mà chọn thuộc
tính khác như thuộc tính Giảm cân chẳng hạn để phân hoạch thì sao? Cuối cùng thì cách
phân hoạch nào tốt hơn, thông minh hơn. Việc chọn thuộc tính như thế nào là thông minh
hơn ta sẽ xem thuật toán Quinlan sau đây:
Công Nghệ Tri Thức
7
Nước
tiểu
- Dung
- Diễm
- Hương
- Nhung
- Tùng
Có máu
Có vôi

- Châu
- Hoa
- Phương
- Tuấn
Vàng
- An
- Cường
- Phương
- My
- Thu
Nước
tiểu
Vàng
Giảm cân
- My
Nhanh
ít
- Phương
- Thu
Không
- An
- Cường
Có vôi
Có máu
- Châu
- Hoa
- Phương
- Tuấn
- Dung
- Diễm

- Hương
- Nhung
- Tùng
Bài thu hoạch
VI. THUẬT TOÁN QUINLAN:
1. Thuật toán:
- Với mỗi thuộc tính dẫn xuất A còn có thể sử dụng để phân hoạch thì ta tính:
V
A
(j) = (T(j, r
1
), T(j, r
2
), …, T(j, r
n
), )
T(j, r
i
) =
Trong đó r
1
, r
2
, …, r
n
là các giá trị thuộc tính mục tiêu. 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(A
j
) được gọi là vector đơn vị nếu nó 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. Minh họa thuật toán:
Bước 1:
 Xét thuộc tính Nước tiểu
- Xét giá trị vàng:
V
Nước tiểu
(vàng) = {T(vàng, Bệnh sỏi thận), T(vàng, không bệnh sỏi thận)}
Số người Nước tiểu vàng là: 5
Số người nước tiểu vàng và bệnh sỏi thận là: 2
Số người nước tiểu vàng và không bệnh sỏi thận là: 3
Như vậy: V
nước tiểu
(vàng) = (2/5, 3/5) = (0.4, 0.6)
- Xét giá trị Có vôi:
V
Nước tiểu
(Có vôi) = {T(Có vôi, Bệnh sỏi thận), T(Có vôi, không bệnh sỏi
thận)}
Số người nước tiểu có vôi là: 4
Số người nước tiểu có vôi và bệnh sỏi thận là: 4
Số người nước tiểu có vôi và không bệnh sỏi thận là: 0
Như vậy: V
nước tiểu
(có vôi) = (4/4,0/4) = (1, 0) à vector đơn vị
- Xét giá trị Có máu:
V
Nước tiểu
(Có máu) = {T(Có máu, Bệnh sỏi thận), T(Có máu, không bệnh

sỏi thận)}
Công Nghệ Tri Thức
8
Tổng số phần tử trong phân hoạch có giá trị thuộc tính dẫn xuất là
A là j và có giá trị thuộc tính mục tiêu là r
i
Tổng số phần tử trong phân hoạch có giá trị thuộc tính dẫn xuất là A là
j
Bài thu hoạch
Số người nước tiểu có máu là: 5
Số người nước tiểu có máu và bệnh sỏi thận là: 3
Số người nước tiểu có máu và không bệnh sỏi thận là: 2
Như vậy: V
nước tiểu
(có máu) = (3/5,2/5) = (0.6, 0.4)
 Xét thuộc tính Giảm cân
V
Giảm cân
(Không) = (2/4, 2/4)
V
Giảm cân
(ít) = (4/6, 2/6)
V
Giảm cân
(Nhanh) = (3/4, 1/4)
 Xét thuộc tính đau lưng
V
đau lưng
(Có) = (6/7, 1/7)
V

đau lưng
(Không) = (3/7, 4/7)
 Xét thuộc tính Sốt
V
Sốt
(có) = (6/8, 2/8)
V
Sốt
(không) = (3/6, 3/6)
Như vậy: thuộc tính Nước tiểu có số vector đơn vị nhiều nhất (1 vector đơn vị) nên sẽ
được chọn đầu tiên để phân hoạch.
Bước 2
Ta phân hoạch theo nhánh Nước tiểu vàng
- Trong tập phân hoạch này ta thấy còn chứa những người Bệnh sỏi thận và không bệnh
sỏi thận, tiếp tục phân hoạch tập này. Tính vector đặc trưng trên các tập còn lại: Giảm
cân, đau lưng, sốt
- Bảng quan sát
Tên Giảm cân Đau lưng Sốt Kết qả
An Không Không Có Không bệnh sỏi thận
Cường Không Không Không Không bệnh sỏi thận
Phương ít Không Có Không bệnh sỏi thận
My Nhanh Có Có Bệnh sỏi thậnu
Thu ít Có Không Bệnh sỏi thận
(Bảng số 2)
 Xét thuộc tính Giảm cân
V
Giảm cân
(Không) = (0/2, 2/2) = (0, 1) -> Vector đơn vị
Công Nghệ Tri Thức
9

Bài thu hoạch
V
Giảm cân
(ít) = (1/2, 1/2)
V
Giảm cân
(Nhanh) = (1/1, 0/1) = (1,0) -> Vector đơn vị
 Xét thuộc tính đau lưng
V
đau lưng
(Có) = (2/2, 0/2) = (1,0) -> Vector đơn vị
V
đau lưng
(Không) = (0/3, 3/3) = (0,1) -> Vector đơn vị
 Xét thuộc tính Sốt
V
Sốt
(có) = (1/3, 2/3)
V
Sốt
(không) = (1/2, 1/2)
Vì hai thuộc tính Giảm cân và đau lưng đều có cùng 2 vector đơn vị, tuy nhiên số phân
hoạch của thuộc tính đau lưng là ít hơn nên ta chọn phân hoạch theo thuộc tính đau lưng.
Tập phân hoạch này không còn lẫn lộn người bệnh sỏi thận và không bệnh sỏi thận nên ta
dừng phân hoạch.
Bước 3
Ta phân hoạch theo nhánh Nước tiểu có máu
- Trong tập phân hoạch này ta thấy còn chứa lẫn lộn những người Bệnh sỏi thận và không
bệnh sỏi thận, tiếp tục phân hoạch tập này. Tính vector đặc trưng trên các tập còn lại:
Giảm cân, đau lưng, sốt

- Bảng quan sát
Tên Giảm cân Đau lưng Sốt Kết quả
Dung ít Không Có Bệnh sỏi thận
Diễm Nhanh Có Có Bệnh sỏi thận
Hương Nhanh Có Không Không bệnh sỏi thận
Nhung ít Có Có Bệnh sỏi thận
Tùng ít Không Không Không bệnh sỏi thận
(Bảng số 3)
 Xét thuộc tính Giảm cân
V
Giảm cân
(ít) = (2/3, 1/3)
V
Giảm cân
(Nhanh) = (1/2, 1/2)
 Xét thuộc tính đau lưng
V
đau lưng
(Có) = (2/3, 1/3)
V
đau lưng
(Không) = (1/2, 1/2)
Công Nghệ Tri Thức
10
Bài thu hoạch
 Xét thuộc tính Sốt
V
Sốt
(có) = (3/3, 0/3) = (1,0) -> Vector đơn vị
V

Sốt
(không) = (0/2, 2/2) = (0,1) -> Vector đơn vị
Vì thuộc tính Sốt có nhiều vector đơn vị nhất ( 2 vector đơn vị), nên ta chọn phân hoạch
theo thuộc tính Sốt. Tập phân hoạch này không còn lẫn lộn người bệnh sỏi thận và không
bệnh sỏi thận nên ta dừng phân hoạch, kết thúc thuật toán.
Ta có cây định danh cuối cùng:
(Hình số 5)
3. Nhận xét (độ đo hỗn loạn):
Thay vì phải xây dựng vector đặc trưng như phương pháp của Quinlan, ứng với mỗi thuộc
tính dẫn xuất ta chỉ cần tính ra độ đo hỗn loạn và lựa chọn thuộc tính nào có độ đo hỗn
loạn là thấp nhất. Người ta tính được công thức như sau:
Gọi T
A
là độ đo hỗn loạn của một thuộc tính A, ta có:

Trong đó:
o b
t
là tổng số phần tử có trong phân hoạch
Công Nghệ Tri Thức
11
Nước tiểu
Đau lưng
Có máu
Bệnh sỏi thận
- Châu
- Hoa
- Thương
- Tuấn
Vàng

KhôngCó
Không bệnh sỏi
thận
- An
- Cường
- Phương
Bệnh sỏi thận
- My
- Thu
Có vôi
Sốt
Không bệnh sỏi
thận
Bệnh sỏi thận

Không
- Dung
- Diễm
- Nhung
- Hương
- Tùng
j
b
j
b
t
x
b
ri
b

j
- x log
2
b
ri
bj
-
T
A
=
i
Bài thu hoạch
o b
j
là số phần tử có thuộc tính dẫn xuất A có giá trị j
o b
ri
là tổng số phần tử có thuộc tính dẫn xuất A có giá trị j và thuộc tính mục tiêu
có giá trị i.
Tính độ đo hỗn loạn trong bài toán chuẩn đoán bệnh trên:
Bước 1: Tính độ hỗn loạn trung bình lần 1
- Bảng quan sát: Bảng 1
 Xét thuộc tính Nước tiểu
Tổng số phần tử có trong phân hoạch: 14
Số người nước tiểu vàng là: 5 (2 người bệnh sỏi thận, 3 người không bệnh sỏi thận)
Số người nước tiểu có vôi là : 4 (4 người bệnh sỏi thận, 0 người không bệnh sỏi thận)
Số người nước tiểu có máu: 5 (3 người bệnh sỏi thận, 2 người không bệnh sỏi thận)
T
Nước tiểu
= 5/14.(-2/5.log

2
2/5 – 3/5.log
2
3/5) + 4/14.(-4/4.log
2
4/4 – 0/4.log
2
0/4) +
5/14.(-3/5.log
2
3/5 – 2/5.log
2
2/5) =0.68
 Xét thuộc tính Giảm cân
Tổng số phần tử có trong phân hoạch: 14
Số người không Giảm cân: 4 (2 người bệnh sỏi thận, 2 người không bệnh sỏi thận)
Số người Giảm cân ít là : 6 (4 người bệnh sỏi thận, 2 người không bệnh sỏi thận)
Số người Giảm cân nhanh: 4 (3 người bệnh sỏi thận, 1 người không bệnh sỏi thận)
T
Giảm cân
= 4/14.(-2/4.log
2
2/4 – 2/4.log
2
2/4) + 6/14.(-4/6.log
2
4/6 – 2/6.log
2
2/6) +
4/14.(-3/4.log

2
3/4 – 1/4.log
2
1/4) =0.91
 Xét thuộc tính đau lưng
Tổng số phần tử có trong phân hoạch: 14
Số người có đau lưng là: 7 (6 người bệnh sỏi thận, 1 người không bệnh sỏi thận)
Số người không đau lưng là : 7 (3 người bệnh sỏi thận, 4 người không bệnh sỏi thận)
T
đau lưng
= 7/14.(-6/7.log
2
6/7 – 1/7.log
2
1/7) + 7/14.(-3/7.log
2
3/7 – 4/7.log
2
4/7)
=0.79
 Xét thuộc tính Sốt
Tổng số phần tử có trong phân hoạch: 14
Số người có sốt là: 8 (6 người bệnh sỏi thận, 2 người không bệnh sỏi thận)
Số người không sốt là : 6 (3 người bệnh sỏi thận, 3 người không bệnh sỏi thận)
T
Sốt
= 8/14.(-6/8.log
2
6/8 – 2/8.log
2

2/8) + 6/14.(-3/6.log
2
3/6 – 3/6.log
2
3/6) = 0.89
Chọn thuộc tính Nước tiểu làm thuộc tính phân hoạch vì thuộc tính này có độ trung
bình hỗn loạn nhỏ nhất.
Bước 2 : Tính độ hỗn loạn trung bình lần 2 cho nhánh Nước tiểu = vàng
- Bảng quan sát :
Công Nghệ Tri Thức
12
Bài thu hoạch
Tên Nước tiểu Giảm cân Đau lưng Sốt Kết quả
An Vàng Không Không Có Không bệnh sỏi thận
Cường Vàng Không Không Không Không bệnh sỏi thận
Phương Vàng ít Không Có Không bệnh sỏi thận
My Vàng Nhanh Có Có Bệnh sỏi thận
Thu Vàng ít Có Không Bệnh sỏi thận
Tương tự ta tính độ hỗn loạn trung bình của 3 thuộc tính : Giảm cân, Đau lưng, Sốt
T
Giảm cân
= 2/5.(-0/2.log
2
0/2 – 2/2.log
2
2/2) + 2/5.(-1/2.log
2
1/2 – 1/2.log
2
1/2) + 1/5.

(-1/1.log
2
1/1 – 0/1.log
2
0/1) =0.4
T
Đau lưng
= 3/5.(-0/3.log
2
0/3 – 3/3.log
2
3/3) + 2/5.(-2/2.log
2
2/2 – 0/2.log
2
0/2) =0
T
Sốt
= 2/5.(-1/2.log
2
1/2 – 1/2.log
2
1/2) + 3/5.(-1/3.log
2
1/3 – 2/3.log
2
2/3) = 0.57
Chọn thuộc tính Đau lưng làm thuộc tính phân hoạch vì thuộc tính này có độ trung
bình hỗn loạn nhỏ nhất.
Bước 3 : Tính độ hỗn loạn trung bình lần 3 cho nhánh Nước tiểu = Có máu

- Bảng quan sát :
Tên Nước tiểu Giảm cân Đau lưng Sốt Kết quả
Dung Có máu ít Không Có Bệnh sỏi thận
Diễm Có máu Nhanh Có Có Bệnh sỏi thận
Hương Có máu Nhanh Có Không Không bệnh sỏi thận
Nhung Có máu ít Có Có Bệnh sỏi thận
Tùng Có máu ít Không Không Không bệnh sỏi thận
Tương tự ta tính độ hỗn loạn trung bình của 3 thuộc tính : Giảm cân, Đau lưng, Sốt
T
Giảm cân
= 3/5.(-2/3.log
2
2/3 – 1/3.log
2
1/3) + 2/5.(-1/2.log
2
1/2 – 1/2.log
2
1/2) =0.95
T
Đau lưng
= 3/5.(-2/3.log
2
2/3 – 1/3.log
2
1/3) + 2/5.(-1/2.log
2
1/2 – 1/2.log
2
1/2) =0.95

T
Sốt
= 3/5.(-3/3.log
2
3/3 – 0/3.log
2
0/3) + 2/5.(-0/2.log
2
0/2 – 2/2.log
2
2/2) = 0
Chọn thuộc tính Sốt làm thuộc tính phân hoạch vì thuộc tính này có độ trung bình
hỗn loạn nhỏ nhất.
Bước 4 : Kết luận : Ta có cây định danh
Công Nghệ Tri Thức
13
Nước tiểu
Đau lưng
Có máu
Bệnh sỏi thận
- Châu
- Hoa
- Thương
- Tuấn
Vàng
KhôngCó
Không bệnh sỏi
thận
- An
- Cường

- Phương
Bệnh sỏi thận
- My
- Thu
Có vôi
Sốt
Không bệnh sỏi
thận
Bệnh sỏi thận

Không
- Dung
- Diễm
- Nhung
- Hương
- Tùng
Bài thu hoạch
10. Phát sinh tập luật:
Dựa vào cây định danh được xây dựng như trong hình số 5 , rút ra các luật như sau: Bằng
cách theo các nhánh của cây từ gốc đến lá
(Hình số 6)
Vấn đề còn lại là làm sao tối ưu hóa tập luật này nếu nó có tồn tại luật dư thừa.
11. Tối ưu hóa tập luật:
a. Loại bỏ giả thiết không cần thiết trong luật:
Sau khi các luật chuyển từ cây định danh, có thể bỏ đi các luật không cần thiết để đơn
giản tập các luật được sinh ra, ta sẽ bỏ đi những giả thiết không làm thay đổi tác dụng
của luật đối với mẫu
Ta lần lượt xét 5 tập luật ở trên:
• Xét luật 1:
IF (Nước tiểu Vàng) và (có đau lưng) THEN Bệnh sỏi thận

Giả thiết có 2 phần, nếu bỏ đi phần “Nước tiểu vàng”, còn lại “có đau lưng”, theo
các mẫu thì vẫn còn lẫn lộn người có bệnh và không bệnh
Ta có bảng ngẫu nhiên (gọi là bảng ngẫu nhiên vì kết quả của bảng phụ thuộc vào
dữ liệu cho trong bảng quan sát) như sau:
Nước tiểu Bệnh sỏi thận Không bệnh sỏi thận
vàng
không vàng
2
7
3
2
Rõ ràng ta không thể loại bỏ thuộc tính “Nước tiểu vàng ” này trong luật này
Nếu bỏ đi thuộc tính có đau lưng ta có:
Đau lưng Bệnh sỏi thận Không bệnh sỏi thận

Không
6
3
1
4
Rõ ràng ta không thể loại bỏ thuộc tính “dùng kem” này trong luật này
Công Nghệ Tri Thức
14
1. (Nước tiểuVàng) và (có đau lưng) à Bệnh sỏi thận
2. (Nước tiểu Vàng) và (không đau lưng) à Không bệnh sỏi thận
3. (Nước tiểu có vôi) àBệnh sỏi thận
4. (Nước tiểu có máu) và (có sốt) à Bệnh sỏi thận
5. (Nước tiểu có máu) và (không sốt) à Không bệnh sỏi thận
Bài thu hoạch
Hai bảng trên cho thấy không thể bỏ đi giả thiết nào trong luật này vì ta không thể

bảo đảm kết luận vẫn đúng nếu bỏ đi một trong 2 giả thiết đã cho, có nghĩa là luật
này không thể cho đơn giản hơn được nữa.
• Xét luật 2,3,4 và 5 ta cũng không thể loại bỏ giả thiết nào.

Tóm lại: Tập luật này không có giả thiết thừa
b. Loại bỏ luật thừa:
Xây dựng mệnh đề mặc định
Một vấn đề đặt ra là:
Khi gặp phải một trường hợp mà tất cả các luật đều không thỏa thì phải làm như thế
nào? Một cách hành động là đặt ra một luật mặc định đại loại như:
 Nếu không có luật nào thỏa → Bệnh sỏi thận (1) Hoặc
 Nếu không có luật nào thỏa → không bệnh sỏi thận. (2)
Một số quy tắc khi chọn luật mặc định:
(1) Chọn luật mặc định sao cho nó có thể thay thế cho nhiều luật nhất.
(2) Chọn luật mặc định có kết luận phổ biến nhất.
(3) Chọn luật mặc định sao cho tổng số mệnh đề của các luật mà nó thay thế là
nhiều nhất.
Sau khi loại bỏ giả thiết thừa trong phần (a), đôi khi cũng còn có luật thừa vì trùng
suy luận thông tin với các luật khác trong tập luật. Ta dùng các suy luận sau đây để
loại bỏ luật thừa:
Với tập luật thu được ở hình số 6 ta thấy có 2 kết luận không bệnh sỏi thận
(luật 2 & 5) và 3 kết luận bệnh sỏi thận (luật 1,3 & 4). Ta có thể dùng luật mặc
định để thay thế một hay nhiều luật có trong tập luật nếu luật mặc định đó
không làm mất đi tính đúng đắn ban đầu. Do có hai kết luận nên có hai khả
năng của luật mặc định:
IF không có giả thiết THEN Bệnh sỏi thận (a)
IF không có giả thiết THEN Không bệnh sỏi thận (b)
12. Kết luận:
Công Nghệ Tri Thức
15

Bài thu hoạch
Sau khi dùng thuật toán Quinlan để xây dựng cây định danh, ta rút ra tập luật, đồng thời
tối ưu hóa tập luật bằng việc loại bỏ các giả thiết thừa, loại bỏ giả thiết không gây ảnh
hưởng đến tập luật. Sau đó loại bỏ luật thừa bằng thay thế vào luật mặc định
Sau đây ta sẽ nghiên cứu thêm một thuật toán gọi là thuật toán ILA cho việc trực tiếp xác
định tập luật từ mẫu dữ liệu có sẵn cho bài toán trên mà thông qua việc xác định cây định
danh.
V. THUẬT TOÁN ILA:
Thuật giải ILA (Inductive Learning Algorithm) được dùng để xác định các luật phân
loại cho tập hợp các mẫu học. Thuật giải này thực hiện theo cơ chế lặp, để tìm luật riêng đại
diện cho tập mẫu của từng lớp. Sau khi xác định được luật, ILA loại bỏ các mẫu liên quan
khỏi tập mẫu, đồng thời thêm luật mới này vào tập luật. Kết quả có được là một danh sách
có thứ tự các luật chứ không là một cây quyết định. Các ưu điểm của thuật giải này có thể
được trình bày như sau:
- Dạng các luật sẽ phù hợp cho việc khảo sát dữ liệu, mô tả mỗi lớp một cách đơn giản để dễ
phân biệt với các lớp khác.
- Tập luật được sắp thứ tự, riêng biệt – cho phép quan tâm đến một luật tại thời điểm bất kỳ.
Khác với việc xử lý luật theo phương pháp cây quyết định, vốn rất phức tạp trong trường
hợp các nút cây trở nên khá lớn.
1. Thuật toán:
 Bước 1: Chia mẫu ban đầu thành n bảng con. Mỗi bảng con ứng với một giá trị
của thuộc tính quyết định của tập mẫu
 Thực hiện lần lượt các bước từ 2 đến 8 cho mỗi bảng con có được
 Bước 2: j = 1
 Bước 3: Trên mỗi bảng con đang khảo sát, chia danh sách các thuộc tính thành
các tổ hợp khác nhau, mỗi tổ hợp bao gồm j thuộc tính
 Bước 4: Với mỗi tổ hợp thuộc tính có được, tính số lần giá trị thuộc tính xuất
hiện theo cùng tổ hợp thuộc tính trong các dòng còn lại của bảng con đang xét
(mà đồng thời không xuất hiện tổ hợp giá trị này trên tất cả các bảng còn lại).
Gọi tổ hợp đầu tiên (trong bảng con) có số lần xuất hiện nhiều nhất là tổ hợp lớn

nhất.
 Bước 5: Nếu tổ hợp lớn nhất có giá trị bằng 0, tăng j lên 1 và quay lại bước 3.
 Bước 6: Loại bỏ các dòng thỏa tổ hợp lớn nhất ra khỏi bảng con đang xử lý.
Công Nghệ Tri Thức
16
Bài thu hoạch
 Bước 7: Thêm luật mới vào tập luật R, với vế trái là tập các thuộc tính của tổ
hợp lớn nhất (kết hợp các thuộc tính bằng toán tử AND) và vế phải là giá trị
thuộc tính quyết định tương ứng.
 Bước 8: Nếu tất cả các dòng đều đã được loại bỏ, tiếp tục thực hiện từ bước 2
cho các bảng con còn lại. Ngược lại (nếu còn dòng chưa bị loại bỏ) thì quay lại
bước 4. Nếu tất cả các dòng con đã được xét đến thì kết thúc. Tập R chính là tập
luật cần tìm.
2. Minh họa thuật toán:
Minh họa giải thuật ILA cho bảng dữ liệu sau đây:
Tên Nước tiểu Giảm cân Đau lưng Sốt Kết quả
An Vàng Không Không Có Không bệnh sỏi thận
Cường Vàng Không Không Không Không bệnh sỏi thận
Châu Có vôi Không Không Có Bệnh sỏi thận
Dung Có máu ít Không Có Bệnh sỏi thận
Diễm Có máu Nhanh Có Có Bệnh sỏi thận
Hương Có máu Nhanh Có Không Không bệnh sỏi thận
Hoa Có vôi Nhanh Có Không Bệnh sỏi thận
Phương Vàng ít Không Có Không bệnh sỏi thận
My Vàng Nhanh Có Có Bệnh sỏi thận
Nhung Có máu ít Có Có Bệnh sỏi thận
Thu Vàng ít Có Không Bệnh sỏi thận
Thương Có vôi ít Không Không Bệnh sỏi thận
Tu ấn Có vôi Không Có Có Bệnh sỏi thận
Tùng Có máu ít Không Không Không bệnh sỏi thận

Bước 1: Chia tập mẫu ban đầu thành hai bảng con (2 lớp) bởi 2 loại quyết định
“Bệnh sỏi thận” và “Không bệnh sỏi thận” như sau:
Bảng 1
Tên Nước tiểu Giảm cân Đau lưng Sốt Kết quả
Châu Có vôi Không Không Có Bệnh sỏi thận
Dung Có máu ít Không Có Bệnh sỏi thận
Diễm Có máu Nhanh Có Có Bệnh sỏi thận
Hoa Có vôi Nhanh Có Không Bệnh sỏi thận
My Vàng Nhanh Có Có Bệnh sỏi thận
Nhung Có máu ít Có Có Bệnh sỏi thận
Thu Vàng ít Có Không Bệnh sỏi thận
Thương Có vôi ít Không Không Bệnh sỏi thận
Tu ấn Có vôi Không Có Có Bệnh sỏi thận
Bảng 2
Tên Nước tiểu Giảm cân Đau lưng Sốt Kết quả
An Vàng Không Không Có Không bệnh sỏi thận
Cường Vàng Không Không Không Không bệnh sỏi thận
Hương Có máu Nhanh Có Không Không bệnh sỏi thận
Phương Vàng ít Không Có Không bệnh sỏi thận
Tùng Có máu ít Không Không Không bệnh sỏi thận
Công Nghệ Tri Thức
17
Bài thu hoạch
Bước 2: Áp dụng lần lượt các bước từ 2 đến 8 với bảng 1
Với j = 1. Có 4 tổ hợp, mỗi tổ hợp gồm một thuộc tính là {Nước tiểu}, {Giảm cân},
{đau lưng}, {Sốt}
• Với tổ hợp {Nước tiểu} thuộc tính “Có vôi” xuất hiện 4 lần trong bảng 1 và
không xuất hiện trong bảng 2; thuộc tính “Có máu” và “vàng” xuất hiện trên
cả hai bảng
T(Nước tiểu

có vôi
) = 4; T(Nước tiểu
có máu
) = 0; T(Nước tiểu
vàng
)=0
• Với tổ hợp {Giảm cân} thuộc tính “Không”, “ít”, “nhanh” xuất hiện trên cả
hai bảng
T(Giảm cân
không
) = 0; T(Giảm cân
ít
) = 0; T(Giảm cân
nhanh
)=0
• Với tổ hợp { đau lưng} thuộc tính “Có”, “Không” xuất hiện trên cả hai bảng
T(đau lưng

) = 0; T(đau lưng
không
) = 0
• Với tổ hợp {Sốt} thuộc tính “Có”, “Không” xuất hiện trên cả hai bảng
T(Sốt

) = 0; T(Sốt
không
) = 0
Như vậy, ta có T(Nước tiểu
có vôi
) = 4 và lớn nhất . Ta chọn T(Nước tiểu

có vôi
) và ta
sẽ có luật:
IF Nước tiểu = có vôi THEN Kết quả = Bệnh sỏi thận (a)
Kế tiếp, loại bỏ những dòng ứng với Nước tiểu = có vôi ra khỏi bảng 1 ta được:
Tên Nước tiểu Giảm cân Đau lưng Sốt Kết quả
Dung Có máu ít Không Có Bệnh sỏi thận
Diễm Có máu Nhanh Có Có Bệnh sỏi thận
Nhung Có máu ít Có Có Bệnh sỏi thận
Thu Vàng ít Có Không Bệnh sỏi thận
Với các dòng còn lại, mọi giá trị của thuộc tính đều xuất hiện trong cả hai bảng
(mọi giá trị T đều bằng 0) nên ta sẽ tăng j lên 1 và thực hiện lại bước 2
 Với j = 2, có 6 tổ hợp mỗi tổ hợp gồm 2 thuộc tính là {Nước tiểu, Giảm
cân}, {Nước tiểu, đau lưng}, {Nước tiểu, sốt}, {Giảm cân, đau lưng},
{Giảm cân, sốt}, {đau lưng, sốt}
Ta có: T(Nước tiểu
có máu
,Giảm cân
ít
) = 0
T(Nước tiểu
có máu
,Giảm cân
nhanh
) = 0
T(Nước tiểu
vàng
,Giảm cân
ít
) = 0

T(Nước tiểu
có máu
,đau lưng
không
) = 0
T(Nước tiểu
có máu
,đau lưng

) = 0
Công Nghệ Tri Thức
18
Bài thu hoạch
T(Nước tiểu
vàng
,đau lưng

) =1
T(Nước tiểu
vàng
,Sốt
không
) =0
T(Nước tiểu
có máu
,Sốt

) =3
T(Giảm cân
ít

,đau lưng
không
) =0
T(Giảm cân
nhanh
,đau lưng

) =0
T(Giảm cân
ít
,đau lưng

) =2
T(Giảm cân
ít
,sốt

) = 0
T(Giảm cân
ít
,sốt
không
) = 0
T(Giảm cân
nhanh
,sốt

) =1
T(đau lưng
không

,Sốt

) =0
T(đau lung

,sốt

) =2
T(đau lưng

,sốt
không
) =0
Như vậy, ta có T(Nước tiểu
có máu
,Sốt

) =3 và lớn nhất . Ta chọn T(Nước tiểu

máu
,Sốt

) và ta sẽ có luật:
IF Nước tiểu = có máu and Sốt = có THEN Kết quả = Bệnh sỏi thận (b)
Kế tiếp, loại bỏ những dòng ứng với Nước tiểu = có máu và sốt = có ra khỏi bảng ta được:
Tên Nước tiểu Giảm cân Đau lưng Sốt Kết quả
Thu Vàng ít Có Không Bệnh sỏi thận
 Với j = 2, có 6 tổ hợp mỗi tổ hợp gồm 2 thuộc tính là {Nước tiểu, Giảm cân},
{Nước tiểu, đau lưng}, {Nước tiểu, sốt}, {Giảm cân, đau lưng}, {Giảm cân,
sốt}, {đau lưng, sốt}

Ta có:
T(Nước tiểu
vàng
,Giảm cân
ít
) = 0
T(Nước tiểu
vàng
,đau lưng

) =1
T(Nước tiểu
vàng
,Sốt
không
) =0
T(Giảm cân
ít
,đau lưng

) =1
T(Giảm cân
ít
,sốt
không
) = 0
T(đau lưng

,sốt
không

) =0
Như vậy, ta có T(Nước tiểu
vàng
,đau lưng

) =1và T(Giảm cân
ít
,đau lưng

) =1
lớn nhất. Ta mặc định chọn T(Nước tiểu
vàng
,đau lưng

) =1 và ta sẽ có luật:
IF Nước tiểu = vàng and đau lưng= có THEN Kết quả = Bệnh sỏi thận (c)
Công Nghệ Tri Thức
19
Bài thu hoạch
Kế tiếp, loại bỏ những dòng ứng với Nước tiểu = vàng và đau lưng = có ra khỏi bảng
Như vậy tất cả các dòng trong bảng 1 bị loại bỏ ta chuyển sang bảng 2
Tên Nước tiểu Giảm cân Đau lưng Sốt Kết quả
An Vàng Không Không Có Không bệnh sỏi thận
Cường Vàng Không Không Không Không bệnh sỏi thận
Hương Có máu Nhanh Có Không Không bệnh sỏi thận
Phương Vàng ít Không Có Không bệnh sỏi thận
Tùng Có máu ít Không Không Không bệnh sỏi thận
Trong bảng 2, mọi giá trị của mọi thuộc tính đều xuất hiện trong cả hai bảng (mọi
giá trị T đều bằng 0) nên ta sẽ tăng j lên 1 (j=2) và thực hiện lại bước 2
Bước 3: Áp dụng lần lượt các bước từ 2 đến 8 với bảng 2

 Với j = 2, có 6 tổ hợp mỗi tổ hợp gồm 2 thuộc tính là {Nước tiểu, Giảm
cân}, {Nước tiểu, đau lưng}, {Nước tiểu, sốt}, {Giảm cân, đau lưng},
{Giảm cân, sốt}, {đau lưng, sốt}
Ta có: T(Nước tiểu
có máu
,Giảm cân
ít
) = 0
T(Nước tiểu
có máu
,Giảm cân
nhanh
) = 0
T(Nước tiểu
vàng
,Giảm cân
ít
) =0
T(Nước tiểu
vàng
,Giảm cân
không
) = 2
T(Nước tiểu
có máu
,đau lưng
không
) = 0
T(Nước tiểu
có máu

,đau lưng

) = 0
T(Nước tiểu
vàng
,đau lưng
không
) =3
T(Nước tiểu
vàng
,Sốt
không
) =0
T(Nước tiểu
vàng
,Sốt

) =0
T(Nước tiểu
có máu
,Sốt
không
) =2
T(Giảm cân
ít
,đau lưng
không
) =0
T(Giảm cân
nhanh

,đau lưng

) =0
T(Giảm cân
không
,đau lưng
không
) =0
T(Giảm cân
không
,sốt

) = 0
T(Giảm cân
không
,sốt
không
) = 1
T(Giảm cân
nhanh
,sốt
không
) =0
Công Nghệ Tri Thức
20
Bài thu hoạch
T(Giảm cân
ít
,sốt


) =0
T(Giảm cân
ít
,sốt
không
) =0
T(đau lưng
không
,Sốt

) =0
T(đau lưng
không
,sốt
không
) =0
T(đau lưng

,sốt
không
) =0
Như vậy, ta có T(Nước tiểu
vàng
,đau lưng
không
) =3 là lớn nhất . Ta chọn T(Nước tiểu
vàng
,đau lưng
không
) và ta sẽ có luật:

IF Nước tiểu = vàng and đau lưng = không THEN Kết quả = Không Bệnh sỏi
thận (d)
Kế tiếp, loại bỏ những dòng ứng với Nước tiểu = vàng và đau lưng = không ra khỏi bảng 2
Tên Nước tiểu Giảm cân Đau lưng Sốt Kết quả
Hương Có máu Nhanh Có Không Không bệnh sỏi thận
Tùng Có máu ít Không Không Không bệnh sỏi thận
 Với j = 2, có 6 tổ hợp mỗi tổ hợp gồm 2 thuộc tính là {Nước tiểu, Giảm
cân}, {Nước tiểu, đau lưng}, {Nước tiểu, sốt}, {Giảm cân, đau lưng},
{Giảm cân, sốt}, {đau lưng, sốt}
Ta có: T(Nước tiểu
có máu
,Giảm cân
ít
) = 0
T(Nước tiểu
có máu
,Giảm cân
nhanh
) = 0
T(Nước tiểu
có máu
,đau lưng
không
) = 0
T(Nước tiểu
có máu
,đau lưng

) = 0
T(Nước tiểu

có máu
,Sốt
không
) =2
T(Giảm cân
ít
,đau lưng
không
) =0
T(Giảm cân
nhanh
,đau lưng

) =0
T(Giảm cân
nhanh
,sốt
không
) =0
T(Giảm cân
ít
,sốt
không
) =0
T(đau lưng
không
,sốt
không
) =0
T(đau lưng


,sốt
không
) =0
Công Nghệ Tri Thức
21
Bài thu hoạch
Như vậy, ta có T(Nước tiểu
có máu
,Sốt
không
) =2 là lớn nhất . Ta T(Nước tiểu
có máu
,Sốt
không
) và ta sẽ có luật:
IF Nước tiểu = có máu and Sốt = không THEN Kết quả = Không Bệnh sỏi thận
(e)
Kế tiếp, loại bỏ những dòng ứng với Nước tiểu = có máu và Sốt = không ra khỏi bảng :
Như vậy tất cả các dòng trong bảng 2 bị loại bỏ.
* Thuật toán kết thúc vì tất cả các bảng đã được xét đến và tất cả các dòng trong
các bảng đã được loại bỏ.
PHẦN C. CÀI ĐẶT ỨNG DỤNG MINH HỌA
Hai chuyên đề nổi bật là giải thuật để xây dựng cây định danh và tìm ra tri thức cho
mẫu dữ liệu thực tế là giải thuật Quinlan và giải thuật ILA. Trong phần này ứng dụng
chỉ minh họa cho giải thuật ILA để tìm ra tri thức cho bảng dữ liệu.
* Mô tả chương trình:
Chương trình yêu cầu người dùng đưa vào danh sách các thuộc tính dẫn xuất, thuộc
tính mục tiêu cùng với tất cả các giá trị của mỗi thuộc tính, yêu cầu người sử dụng
cung cấp bảng số liệu quan sát. Chương trình sẽ liệt kê trên màn hình các luật mà nó

tìm được từ bảng số liệu. Sau đó yêu cầu người dùng nhập vào các trường hợp cần xác
định, hệ thống sẽ đưa ra kết luận của trường hợp này.
13.Giải thuật ILA:
+ Đầu vào: Bảng dữ liệu chứa thông tin, thuộc tính giả thiết, thuộc tính kết luận.
+ Kết quả: Tập các luật sinh ra từ bảng.
* Thuật toán:
For each Giá trị của thuộc tính quyết định
{
Tạo ra bảng con tương ứng /* Lọc ra từ bảng chính có thuộc tính
quyết định = giá trị tương ứng */
}
For each bảng con
{
While bảng con <> rỗng
{ + Xét Tohop có 1 thuộc tính giả thiết
For each Tohop
Công Nghệ Tri Thức
22
Bài thu hoạch
{
For each tập giá trị của Tohop
{
+ tính tần xuất của Tohop /* số lần xuất hiện của giá trị ứng với
Tohop trong bảng đang xét và đồng thời không xuất hiện trong các
bảng còn lại */
}
}
+ Chọn Tohop có tập giá trị của Tohop tương ứng với tần xuất lớn nhất
If tần xuất của Tohop có giá trị lớn nhất =0
{

tăng số lượng Tohop lên 1
}
else
{
+ rút ra kết luận
+ xoá Tohop này ra khỏi bảng đang xét
}
}
}
2. Hướng dẫn cài đặt và thực hiện chương trình:
Dữ liệu nhập:
- Dạng file .txt;
2.1: File mô tả thuộc tính và các giá trị:
- Dòng 1: <Tên thuộc tính mục tiêu>:{i | {\t <Giá trị thuộc tính mục tiêu thứ i> }}.
- Các dòng tiếp theo: <Tên thuộc tính dẫn xuất>:{i | {\t <Giá trị thuộc tính dẫn xuất
thứ i> }}.
Ví dụ:
ThuocTinh.txt
Kết quả: Không bệnh sỏi thận Bệnh sỏi thận
Nước tiểu: Vàng Có vôi Có máu
Giảm cân: Không Ít Nhanh
Đau lưng: Không Có
Sốt: Không Có
2.2: File dữ liệu:
- Dòng 1: {i | <Tên thuộc tính thứ i>\t}
- Các dòng tiếp theo: {i | <Giá trị thuộc tính thứ i>\t}
Ví dụ:
Nước tiểu Giảm cân Đau lưng Sốt Kết quả
Công Nghệ Tri Thức
23

Bài thu hoạch
Vàng Không Không Có Không sỏi thận
Vàng Không Không Không Không sỏi thận
Có vôi Không Không Có Bệnh sỏi thận
Có máu Ít Không Có Bệnh sỏi thận
Công Nghệ Tri Thức
24
Bài thu hoạch
PHẦN D. KẾT LUẬN
Bài thu hoạch là một khảo sát nhỏ về một phương pháp học trong trí tuệ nhân tạo,
đó là học bằng phương pháp dựa trên cây định danh. Từ một mẫu cơ sở dữ liệu có sẳn,
máy tính có thể phát hiện ra tính quy luật trong mẫu dữ liệu đó bằng phương pháp xây dựng
cây định danh và nhờ đó giúp con người đưa ra các quyết định nhanh chóng và chuẩn xác,
Có thể ứng dụng để giải quyết vấn đề thực tế.
Bài thu hoạch đã mô tả cách mà máy tính đưa ra tập luật từ một mẫu cơ sở dữ liệu
ban đầu như thế nào? Đồng thời đã ứng dụng cài đặt thuật toán để giải quyết bài toán thực tế
đã nêu ra.
Tuy nhiên do thời gian và kiến thức còn gói gọn trong môn học nên chuyên đề
không chuyên sâu, còn sai sót, nhóm chúng em mong nhận được sự đóng góp xây dựng tích
cực của thầy Hoàng Kiếm cùng bạn đọc.
Nhóm chúng em xin thành thật cảm ơn thầy Hoàn Kiếm đã tận tình chỉ bảo và
cho nguồn tài liệu trong suốt quá trình học tập cũng như quá trình làm khóa luận này.
Công Nghệ Tri Thức
25

×