Tải bản đầy đủ (.pdf) (56 trang)

Ứng dụng khai thác dữ liệu dự đoán kết quả học tập của sinh viên

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 (695.46 KB, 56 trang )

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC KHOA HỌC XÃ HỘI VÀ NHÂN VĂN
------------------

BÁO CÁO KẾT QUẢ
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC

ỨNG DỤNG KHAI THÁC DỮ LIỆU DỰ ĐOÁN KẾT QUẢ
HỌC TẬP CỦA SINH VIÊN
Ngành : Quản trị thông tin

Giảng viên hướng dẫn : Th.S Nguyễn Minh Tuấn
Sinh viên thực hiện:
Hoàng Bảo Uyên Trang 1356100167
(chủ nhiệm đề tài)
Lữ Thị Hồng Vân

TP Hồ Chí Minh, 3/2016

1356100183


MỤC LỤC
PHẦN MỞ ĐẦU........................................................................................................ 4
1.

Mở đầu..............................................................................................................4

2.

Giới thiệu.......................................................................................................... 5



3.

Khám phá tri thức trên cơ sở dữ liệu điểm của sinh viên................................ 7

4.

Mục tiêu của đề tài........................................................................................... 8

5.

Các nghiên cứu liên quan................................................................................. 8

PHẦN NỘI DUNG...................................................................................................10
CHƯƠNG I : CƠ SỞ LÝ THUYẾT......................................................................10
1.1. Một số định nghĩa........................................................................................ 10
1.2. Xác định sự tương đồng giữa các chuỗi...................................................... 11
1.2.1

Khoảng cách Euclide.............................................................................11

1.2.2

Chuẩn hóa chuỗi giá trị......................................................................... 11

1.2.3

Độ tương đồng dựa trên con đường chung dài nhất.............................12

1.3. Khám phá tri thức dựa trên cơ sở dữ liệu chuỗi..........................................12

1.3.1.

Tiền xử lý dữ liệu.................................................................................. 13

1.3.2.

Khám phá luật....................................................................................... 14

1.4. Các kỹ thuật khám phá tri thức....................................................................15
1.4.1.

Gom cụm trên cơ sở dữ liệu chuỗi........................................................15

1.4.1.1.

Phương pháp k-means....................................................................15

1.4.1.2.

Phương pháp Greedy......................................................................17

1.4.2.

Thuật toán khám phá luật kết hợp........................................................ 18

1.4.2.1.

Các khái niệm.................................................................................19

1.4.2.2.


Khám phá các tập phổ biến............................................................ 21

1.4.2.3.

Phát sinh luật kết hợp..................................................................... 24

1.4.3.

Phân lớp dữ liệu bằng cây quyết định.................................................. 25

CHƯƠNG II: TRIỂN KHAI ỨNG DỤNG...........................................................36
2.1. Làm sạch dữ liệu.......................................................................................... 36
2.2. Chuẩn hóa dữ liệu........................................................................................ 39
2.3. Xây dựng tập luật.........................................................................................39
2


2.3.1.

Độ tương đồng dựa trên chuẩn hóa chuỗi dữ liệu................................ 39

2.3.2.

Khám phá luật dựa vào thuật toán Apriori trên dữ liệu đã gom cụm...42

2.3.3.

Khám phá tri thức dựa trên cơ sở dữ liệu chuỗi................................... 43


2.3.4.

Phân lớp dữ liệu bằng cây quyết định.................................................. 44

PHẦN KẾT LUẬN.................................................................................................. 54
1.

Kết luận...........................................................................................................54

2.

Thuận lợi và khó khăn....................................................................................54

3.

Định hướng phát triển.................................................................................... 54

DANH MỤC TÀI LIỆU THAM KHẢO...............................................................56

3


PHẦN MỞ ĐẦU
1. Mở đầu
Hiện nay, với sự phát triển mạnh mẽ và ảnh hưởng của công nghệ thông tin đã
tác động mạnh mẽ tới nhiều lĩnh vực khác nhau khiến khối lượng dữ liệu tăng lên
một cách nhanh chóng. Vì thế, việc khai thác và chọn lọc dữ liệu từ kho dữ liệu
khổng lồ ấy là việc hết sức cần thiết và quan trọng. Do đó, để việc làm này có hiệu
quả, chúng ta cần những cơng cụ và kỹ thuật thích hợp.
Các kỹ thuật truyền thống đã khơng thể giúp khai thác triệt để những thơng tin

hữu ích mà một cơ sở dữ liệu mang lại, thường thì các thông tin do sử dụng kỹ
thuật cũ không mang lại hiệu quả cao trong việc ra quyết định.
Với những lý do đó, nhu cầu phát triển các kỹ thuật thu thập, lưu trữ, phân tích
dữ liệu, … được đặt ra và địi hỏi phải được xử lý thơng minh và hiệu quả hơn. Từ
đó kỹ thuật khai thác dữ liệu ra đời cho phép chúng ta khai thác được tri thức hữu
dụng từ cơ sở dữ liệu khổng lồ.
Khám phá tri thức từ cơ sở dữ liệu phát triển trong những năm gần đây và thu
hút sự quan tâm của các nhà nghiên cứu và những người làm công tác quản lý.
Khai thác dữ liệu (Data Mining) được xem là một giai đoạn của quá trình khám
phá tri thức, các kỹ thuật khai khoáng giúp chuyển khối dữ liệu to lớn thành các
thông tin và tri thức hữu dụng, ứng dụng rộng lớn bao gồm: phân tích thị trường,
quản lý thương mại, hỗ trợ ra quyết định,…
Trong đó, việc khai thác dữ liệu trong lĩnh vực giáo dục dần được quan tâm
cũng như chú trọng hơn. Chúng ta không thể nào phủ nhận được tầm quan trọng
của giáo dục trong sự phát triển của đất nước về nhiều mặt. Do đó, chúng ta phải
định hướng và hoạch định chính sách cho đối tượng chính của giáo dục là thế hệ
trẻ, là lực lượng kế thừa của việc xây dựng, bảo vệ và phát triển đất nước trong
tương lai một cách đúng đắn và kịp thời. Việc định hướng và xây dựng chính sách
trong giáo dục đào tạo cần phải được hỗ trợ bởi các công cụ khoa học để tránh
những sai lầm đáng tiếc, và khai thác dữ liệu là một trong những số đó. Đây là
4


cơng cụ hữu ích và có tính khoa học cao, giúp các nhà quản lý giáo dục có được
những tri thức quý giá phục vụ cho công tác quản lý và sinh viên cũng có thể sử
dụng những kết quả hữu ích từ q trình chắt lọc dữ liệu trong khai phá dữ liệu.
Trong thời gian qua, đã có nhiều nghiên cứu về việc dự đoán kết quả học tập
của học sinh, sinh viên, nhưng chủ yếu khai khoáng dữ liệu dưới dạng các bảng,
không quan tâm đến yếu tố thời gian. Nghiên cứu này mong muốn trình bày một
phương pháp khám phá tri thức trong cơ sở dữ liệu dưới một cái nhìn khác hơn, đó

là xem xét cơ sở dữ liệu quản lý sinh viên như là một cơ sở dữ liệu liên tục theo
thời gian. Kết quả học tập của sinh viên được ghi nhận theo từng học kỳ, năm học.
Với kỹ thuật khai khoáng dữ liệu như trên, việc dự đoán kết quả học tập và kết
quả tốt nghiệp của sinh viên sẽ đạt được độ chính xác trong khoảng chấp nhận
được.

2. Giới thiệu
Hiện nay, cùng với sự tăng trưởng của dữ liệu thông tin về nhiều lĩnh vực khác
nhau, vấn đề dự đoán hay khai phá những kết quả mới từ dữ liệu có sẵn là một
hướng nghiên cứu thu hút sự quan tâm của nhiều nhà nghiên cứu.
Đặc biệt, trong lĩnh vực giáo dục cung cấp nhiều ứng dụng lý thú và đầy thử
thách cho khai thác dữ liệu. Một tổ chức giáo dục thường có nhiều nguồn thơng tin
phân tán và khác nhau, những nguồn này thường là dữ liệu truyền thống (thông tin
về sinh viên, giảng viên, lớp học, lịch học, điểm,…) và gần đây là cơ sở dữ liệu đa
phương tiện.
Có nhiều mối quan tâm khác nhau trong lĩnh vực giáo dục tạo cơ sở cho nhiều
yêu cầu trong khai thác dữ liệu. Ví dụ: Tìm kiếm thơng tin nhập học, dự đoán số
lượng sinh viên đăng ký học, hỗ trợ sinh viên chọn mơn học, dự đốn về tình hình
việc làm của sinh viên sau khi ra trường,…Tất cả ứng dụng về khai thác dữ liệu
khơng những đóng góp cho các cơ sở giáo dục để nâng cao chất lượng tốt hơn mà
cịn hỗ trợ cơng việc quản lý.

5


Với lượng thông tin quá nhiều và những nhu cầu khác nhau, có thể thấy là một
hệ thống khai thác dữ liệu tích hợp có khả năng phục vụ các nhu cầu đặc biệt của
các cơ sở giáo dục sẽ trở thành nhu cầu lớn trong thời gian sắp tới.
Đề tài này trình bày một ứng dụng thực tiễn trong lĩnh vực giáo dục. Giáo dục
được xem là một yếu tố quan trọng đóng góp cho sự phát triển kinh tế, xã hội.

Ở Việt Nam, sinh viên thường phải tích lũy các môn học trong 4 năm học, mỗi
năm học được chia thành 2 học kỳ chính và 1 học kỳ hè. Kết thúc 1 học kỳ, sinh
viên được tổng kết điểm trung bình tích lũy cho học kỳ đó. Áp dụng tương tự cho
năm học và tồn khóa học.
Đề tài này dựa trên kết quả học tập từng học kỳ của sinh viên để dự đoán kết
quả đạt được của sinh viên trong học kỳ tiếp theo và trong tồn khóa học. Ngồi ra,
có thể tìm ra được các sinh viên cá biệt. Phương pháp sử dụng để dự đoán kết quả
học tập của sinh viên là khai thác dữ liệu.
Khám phá tri thức được chia làm hai giai đoạn chính:
-

Giai đoạn tiền xử lý: chọn lọc, làm sạch dữ liệu, mã hóa dữ liệu,…

-

Giai đoạn khai thác dữ liệu: tùy theo dữ liệu và mục tiêu khai thác mà có
những kỹ thuật khác nhau.

Tóm tắt một vài phương pháp khai thác dữ liệu liên quan đến đề tài:
-

Gom cụm dữ liệu: mục tiêu là nhận dạng ra những mẫu giống nhau để có
kết luận tương tự.

-

Khám phá luật: khám phá dữ liệu nhằm kết luận “Nếu xuất hiện X thì sẽ
xuất hiện gì tiếp theo?”.

Khai thác dữ liệu đã có rất nhiều trong lĩnh vực kinh tế xã hội, khoa học kỹ

thuật, nhưng trong lĩnh vực giáo dục và đào tạo thì chưa nhiều. Trong giáo dục,
việc đánh giá kết quả, chất lượng của sinh viên là quan trọng, nhưng đơi khi vẫn
cịn mang tính cảm tính và cục bộ. Đề tài mong muốn áp dụng phương pháp khai
thác dữ liệu trên cơ sở dữ liệu điểm của sinh viên trong nhiều năm, bằng cách biến
đổi phù hợp, từ đó đưa ra thơng tin chính xác về thực trạng của sinh viên, đặc biệt
là cung cấp thông tin mang tính dự đốn.
6


Qua các thơng tin thu được, người dùng sẽ có một cái nhìn tổng quan về kết
quả học tập của sinh viên để đề ra phương hướng, các biện pháp giáo dục thích
hợp trong các năm học sau.

3. Khám phá tri thức trên cơ sở dữ liệu điểm của sinh viên
Ở các trường đại học, việc tính tốn và lưu trữ điểm của sinh viên được tiến
hành vào mỗi cuối học kỳ và cuối mỗi năm học. Công việc này chủ yếu để đánh
giá học lực của sinh viên. Hiệu quả đào tạo, chất lượng sinh viên, tỷ lệ sinh viên
giỏi, khá, trung bình,…
Đánh giá chất lượng giáo dục vẫn cịn mang tính bình qn và tương đối.
Phương pháp đánh giá hiện nay (xếp loại học tập thông qua điểm trung bình của tất
cả các mơn học) có ý kiến cho rằng không đánh giá đúng thực chất của sinh viên.
Kết quả học tập của sinh viên được lưu trữ trong nhiều năm, kết quả này bao
gồm kết quả của nhiều môn học khác nhau. Những nghiên cứu về luật kết hợp
trước đây đều thực hiện trên số liệu một học kỳ hoặc một năm. Trong khi đó, mỗi
sinh viên có chương trình học kéo dài 4 năm, 5 năm và hơn nữa (tùy trường), kết
quả là một dãy các số thực được ghi nhận theo một khoảng thời gian, do đó hướng
tiếp cận trong nghiên cứu này là sử dụng khai thác dữ liệu trong suốt khoảng thời
gian học tập của sinh viên.
Khám phá tri thức dựa trên cơ sở dữ liệu điểm của sinh viên có thể trình bày
qua các bước sau:

-

Bảng tổng kết kết quả học tập của sinh viên qua từng học kỳ.

-

Sắp xếp theo thứ tự thời gian.

-

Sử dụng các kỹ thuật khai thác dữ liệu để khám phá tri thức trên cơ sở dữ
liệu mới nhận được.

-

Kết quả nhận được là các luật biểu diễn mối quan hệ giữa các kết quả, trả
lời được câu hỏi “Với kết quả hiện có thì kết quả đạt được sắp tới là gì?”.

Mục tiêu là các thơng tin thu được sẽ hữu ích cho việc quản lý chất lượng giáo
dục, dự đoán và hoạch định phương pháp nâng cao chất lượng giáo dục.

7


4. Mục tiêu của đề tài
Để đạt được kết quả học tập tốt đang là điều mà đại đa số sinh viên quan tâm.
Tuy nhiên, với số lượng sinh viên đơng như hiện nay thì việc tư vấn cho từng cá
nhân lựa chọn lộ trình học tập để đạt điểm số như mong muốn là bất khả thi. Do đó,
trên cơ sở dựa vào kết quả tuyển sinh và kết quả trong quá trình học tập của sinh
viên ở một trường đại học, đề tài này tập trung trình bày hai phương pháp khám

phá luật trên cơ sở dữ liệu:
-

Phương pháp khám phá các luật dựa trên mẫu đặc trưng.

-

Phương pháp khám phá các luật liên kết các sự kiện từ cơ sở dữ liệu.

-

Phương pháp gom cụm dữ liệu cũng được đề cập, được xem như một kỹ
thuật để hỗ trợ hai thuật toán trên.

Các kỹ thuật khai thác trên cơ sở dữ liệu điểm của sinh viên nhằm khám phá
các thông tin hữu dụng, thể hiện các mối tương quan về kết quả trong một môn học,
giữa các môn học, đề tài sẽ đưa ra các luật. Các luật sẽ cung cấp thơng tin chính
xác hơn, hy vọng sẽ giúp người quản lý có cái nhìn chính xác hơn về chất lượng
sinh viên, có cơ sở khoa học để đánh giá hiệu quả đào tạo cũng như giúp dự đốn
kết quả đạt được của sinh viên. Từ đó, giúp nhà quản lý giáo dục đề ra các chiến
lược nâng cao chất lượng dạy và học trong nhà trường.

5. Các nghiên cứu liên quan
Trong thời gian gần đây, khai thác dữ liệu đã trở thành một trong những hướng
nghiên cứu chính trong lĩnh vực khoa học máy tính và cơng nghệ tri thức ở trong
nước và ngồi nước. Khai thác dữ liệu đã và đang ứng dụng thành công vào
thương mại, tài chính, thị trường chứng khốn, y học, thiên văn, sinh học, giáo dục,
viễn thông,…
Việc khai thác dữ liệu trong lĩnh vực giáo dục, ứng dụng vào thực tế đã và đang
trở thành hướng đầu tư của các tổ chức kinh doanh.

Một số tác giả nghiên cứu trong lĩnh vực khai thác dữ liệu giáo dục:
-

Nguyen Thai Nghe, previously Master’s Student, AIT, Thailand, and
currently Lecturer, Can Tho University, Viet Nam.
8


-

Paul Janecek, Assistant Professor, AIT, Thailand.

-

Peter Haddawy, Professor, AIT, Thailand.

-

Gabriele Cevenini, Department of Surgery and Bioengineering, University
of Siena, Siena, Italy.

-

Emanuela

Barbini,

Department

of


Physiopathology,

Experimental

Medicine and Public Health, University of Siena, Siena, Italy.
-

Zaidah Ibrahim, Faculty of Information Technology and Quantitative
Sciences, Malaysia.

9


PHẦN NỘI DUNG
CHƯƠNG I : CƠ SỞ LÝ THUYẾT
1.1. Một số định nghĩa
Định nghĩa 1:Chuỗi X = (x1, x2,…, xn) là một tập n giá trị xi được ghi nhận
trong một khoảng thời gian bằng nhau và được sắp theo thứ tự thời gian.

Hình 1.1 Minh họa chuỗi kết quả

Khoảng thời gian giữa hai giá trị liên tiếp nhau có thể được chọn tùy theo lĩnh
vực hoặc nội dung mà nó biểu diễn.
Các chuỗi X có bản chất giống nhau, dữ liệu có thể rất dài, có thể chứa hàng
triệu, hàng tỉ giá trị.
Định nghĩa 2: Cho chuỗi X = (x1, x2,…, xn) có chiều dài n, một dãy con S của
X là một dãy có chiều dài m (1 ≤ m ≤ n) các giá trị liền nhau trong X.
S = (xk,…, xk+m-1), 1 ≤ p ≤ n – m + 1
Có n – m + 1 dãy con có chiều dài m

Ví dụ:

10


Cho X = (4, 5, 2, 8, 6), các dãy con có 3 phần tử của X gồm: S1 = (4, 5, 2), S2 =
(5, 2, 8) và S3 = (2, 8, 6).
Định nghĩa 3: Cho chuỗi X = (x1, x2,…, xn) có chiều dài n, các giá trị xi được
xác định trong khoảng thời gian từ t1 đến tn, ti là thời gian xác định xi.

1.2. Xác định sự tương đồng giữa các chuỗi
Để xác định độ tương đồng giữa các chuỗi, cần xây dựng một độ đo để đánh
giá mức độ tương đồng. Mỗi độ đo chỉ thích hợp với một vài lĩnh vực nào đó, vì
vậy có nhiều độ đo xác định độ tương đồng được xây dựng.

1.2.1 Khoảng cách Euclide
Phương pháp này tính tốn độ tương đồng giữa các chuỗi có độ dài bằng nhau.
-

Xem một chuỗi X = (x1, x2,…, xn) là một điểm trong không gian Euclide
n-chiều.

-

Độ tương đồng giữa hai chuỗi được định nghĩa như là khoảng cách giữa
hai điểm trong không gian Rn.

 n
2
d(X,Y) =   xi  yi 

 i 1

Trong đó, X = (x1, x2,…, xn) và Y = (y1, y2,…, yn) là các chuỗi đang xét.
Độ tương đồng Euclide có nhiều ưu điểm như dễ tính tốn, giải quyết được
nhiều bài toán khác nhau (đánh chỉ mục, gom cụm,…).
Tuy vậy, cũng có khuyết điểm là khơng cho phép có biên độ dao động khác
nhau.
Ví dụ:
Giá trị của X từ 20 đến 40, giá trị của Y từ 60 đến 100 thì khơng xác định được
độ tương đồng.

1.2.2 Chuẩn hóa chuỗi giá trị



Cho chuỗi X = (x1, x2,…, xn), chuẩn hóa X được ký hiệu là X  x1 , x2 ,..., xn
và được định nghĩa như sau:
11




xi  xi  Ex
Trong đó, Ex là giá trị trung bình của các giá trị xi.
Ví dụ:

Cho X = (4, 5, 6, 7, 8)
Ex = 6

X  (-2, -1, 0, 1, 2)

Sau khi chuẩn hóa chuỗi, dùng khoảng cách Euclide để đo độ tương đồng giữa
hai chuỗi tương ứng.
Nếu độ tương đồng chỉ dựa trên khoảng cách Euclide, gặp trường hợp giá trị có
biên độ dao động khác nhau thì kết quả sẽ khơng tương đồng.

1.2.3 Độ tương đồng dựa trên con đường chung dài nhất
Cho hai chuỗi X = (x1, x2,…, xn) và Y = (y1, y2,…, yn)
Đặt X’ = (xi1, xi2,…, xil) và Y’ = (yj1, yj2,…, yjl) lần lượt là hai dãy con của X, Y.
X’ và Y’ được gọi là tương đồng nếu:
(a) ik< ik+1, jk < jk+1
(b) xik = yjk
Độ tương đồng của X và Y là số phần tử nằm trong cặp tương đồng X’ và Y’.
Ví dụ:
X = (3, 2, 4, 5, 9)
Y = (2, 7, 4, 9, 6)
Chuỗi con tương đồng dài nhất là (2, 4, 9)
Độ tương đồng là 3



Sử dụng một độ tương đồng phù hợp để xây dựng mối liên hệ giữa hai
chuỗi.

1.3. Khám phá tri thức dựa trên cơ sở dữ liệu chuỗi
Hiện nay, khám phá tri thức dựa trên cơ sở dữ liệu chuỗi có nội dung phong
phú, các nhà khoa học bắt đầu khám phá các tính chất cục bộ, địa phương như: các
mẫu tuần hoàn, các mẫu tương đồng, luật kết hợp, hành vi,…

12



Đề tài sẽ tập trung khám phá luật kết hợp trên các mẫu đặc trưng được trích ra
từ cơ sở dữ liệu.
Quá trình khám phá tri thức bao gồm: làm sạch và lọc dữ liệu, nhận dạng các
thuộc tính quan trọng, trích ra các luật kết hợp để dự đốn tương lai, khám phá tri
thức để hỗ trợ cho quá trình ra quyết định.
Các giai đoạn thực hiện:
-

-

Giai đoạn tiền xử lý:
+

Làm sạch dữ liệu thô.

+

Định danh các đặc điểm mô tả cơ sở dữ liệu.

+

Xác định các mẫu đặc trưng trên các dãy con (gom cụm).

Giai đoạn khai khống:
+

Trích xuất các luật.

+


Thu gọn các luật để được tập luật hoàn chỉnh, hữu dụng.

1.3.1.

Tiền xử lý dữ liệu

Thực hiện gom cụm các dãy con trên cơ sở dữ liệu, khi các dãy con được gom
cụm, có thể áp dụng các phương pháp tìm luật từ các dãy. Nói cách khác, khi
chuyển dữ liệu sang dạng biểu diễn khác là cơ sở dữ liệu các mẫu đặc trưng, mỗi
record biểu diễn một chuỗi tương ứng. Các record trong cơ sở dữ liệu mới này
chứa một dãy các định danh nhóm tương ứng dãy con tại vị trí đó.
Các bước thực hiện:
-

Chọn độ rộng của dãy con thích hợp.

-

Ghi nhận các dãy con bằng cách duyệt qua toàn chuỗi, tại một vị trí xác
định một chuỗi con theo độ rộng đã chọn. Thực hiện gom cụm các dãy con
thu được này bằng một độ đo thích hợp.

-

Mỗi nhóm được gán một định danh duy nhất, khi duyệt qua chuỗi, mỗi dãy
con tương ứng với một nhóm được gán định danh của nhóm tương ứng
chứa dãy con đó, các dãy con trơng cùng nhóm gọi là cùng mẫu.

Ví dụ:

Cho chuỗi X = (1, 2, 1, 2, 1, 2, 3, 2, 3, 4, 3, 4)
13


Chọn độ rộng là 3 và chọn độ tương đồng là phương pháp chuẩn hóa.
Duyệt chuỗi, tại mỗi vị trí đặt một định danh:
a1 = (1, 2, 1)
a2 = (2, 1, 2)
a3 = (1, 2, 3)

Chuỗi X trở thành dạng sau:
X = (a1, a2, a1, a2, a3, a1, a2, a3, a1, a2)

Dữ liệu ban đầu
X

1

2

1

2

1

2

3


a3

a1

2

3

4

3

4

Dữ liệu sau khi biến đổi
X

a1

1.3.2.

a2

a1

a2

a2

a3


a1

a2

Khám phá luật

Giai đoạn tiếp theo là khai thác các luật trên cơ sở dữ liệu đã được biến đổi
trong giai đoạn tiền xử lý, các luật thu được là các luật liên kết các mẫu.
-

Luật đơn giản nhất có dạng: “Nếu A xuất hiện thì B sẽ xuất hiện”. Trong
đó, A và B là các mẫu được xây dựng trên chuỗi. Các luật phải thỏa độ tin
cậy chọn trước. Trong nhiều trường hợp, người ta quan tâm đến thời điểm
xuất hiện: “Nếu A xuất hiện ở thời điểm t1 thì B sẽ xuất hiện ở thời điểm
t2”.
Ví dụ:

Cơ sở dữ liệu ghi nhận nhiệt độ tại nhiều vùng khác nhau, luật

sau đây thể hiện thời điểm xuất hiện: “Nếu nhiệt độ tại vùng A tăng liên tục trong
5 ngày thì nhiệt độ vùng B sẽ tăng sau đó 10 ngày”.
-

Mở rộng luật đơn giản sang dạng phức tạp hơn: “Nếu A1, A2,…, Ak
xuất hiện thì B sẽ xuất hiện”.

-

Một hướng khám phá khác: “Nếu A xuất hiện thì điều gì sẽ xảy ra?”.

14


1.4. Các kỹ thuật khám phá tri thức
1.4.1.

Gom cụm trên cơ sở dữ liệu chuỗi

Gom cụm các chuỗi thành từng nhóm sao cho độ tương đồng của các chuỗi
trong cùng nhóm cao nhất và các chuỗi trong các nhóm khác nhau thì độ tương
đồng thấp. Nói cách khác, gom cụm dữ liệu là tạo ra một phép phân hoạch trên cơ
sở dữ liệu, mỗi một chuỗi chỉ thuộc về một nhóm duy nhất.
Cho X là một chuỗi và C1, C2,…, Ck là các nhóm thu được sau khi thực hiện
gom cụm thì các nhóm phải thỏa tính chất:
(a)  i, j € [1,…, k], Ci ∩ Cj = Ø
k

(b) U i 1C i  T
Duyệt qua toàn bộ cơ sở dữ liệu và sử dụng một độ đo tương đồng thích hợp
gom cụm các đối tượng. Có nhiều phương pháp gom cụm có thể thực hiện được
trên cơ sở dữ liệu và cho kết quả tốt.
Phương pháp gom cụm có thể chia làm 2 loại: phương pháp dựa trên độ tương
đồng và phương pháp dựa trên mơ hình. Đề tài tập trung vào phương pháp gom
cụm dựa trên độ tương đồng, một phương pháp được xem là phù hợp với ứng dụng.
Mỗi chuỗi được xem như là một điểm trong không gian n chiều, theo phương
pháp đo độ tương đồng, xác định một khoảng cách hay một hàm tương đồng giữa
mỗi cặp dữ liệu, sau đó sử dụng đến các kỹ thuật gom cụm. Độ đo tương đồng
được sử dụng nhiều nhất là khoảng cách Euclide.
Có nhiều thuật tốn gom cụm khác nhau dựa trên độ đo tương đồng, đề tài
trình bày hai thuật tốn gom cụm là Greedy và k-means.


1.4.1.1.

Phương pháp k-means

Đây là phương pháp được sử dụng phổ biến. Ý tưởng của phương pháp này là
từ tập ban đầu tìm ra một phép phân hoạch vào trong k tập con (nhóm), trong đó k
là số nguyên dương cho trước. Trong mỗi nhóm có một phần tử đặc biệt đại diện

15


cho nhóm, gọi là trọng tâm của nhóm. Một phần tử được xem xét có thuộc nhóm
nào đó hay khơng, tùy thuộc vào khoảng cách từ nó đến phần tử trọng tâm.
Định nghĩa phần tử trọng tâm:
Phần tử trọng tâm (điểm trọng tâm) của một nhóm là phần tử có giá trị trung
bình cộng của tất cả các phần tử trong nhóm. Phần tử trọng tâm này có thể xem là
phần tử đại diện cho nhóm.
Điểm trọng tâm r của nhóm C được tính như sau:
r=

1
C

x
x€C

Trong phương pháp k-means, thay vì tính khoảng cách giữa các cặp phần tử
trong cùng nhóm với nhau, ta tính khoảng cách từ mỗi phần tử đến phần tử trọng
tâm của nhóm. Trong thuật tốn, các phần tử trọng tâm ban đầu của k nhóm được

chọn ngẫu nhiên từ các điểm trong tập cần phân hoạch. Trong mỗi lần lặp, mỗi
phần tử được phân vào nhóm có trọng tâm gần nó nhất, sau đó trọng tâm của nhóm
được tính lại.
Thuật tốn k-means:
Gọi D là tập dữ liệu cần phân hoạch, k là số nguyên dương (số nhóm). Kết quả
thu được sẽ là danh sách k nhóm: C1, C2,…, Ck.
-

Lặp i = 1 đến k: chọn ngẫu nhiên ri € D làm trọng tâm của Ci.

-

Trong khi có sự thay đổi trong các nhóm Ci
+

+

Với mỗi x € D


Tính khoảng cách từ x đến ri gọi là d(x,ri), i = 1,…,k



Đưa x vào nhóm Cj nếu d(x,rj) ≤ d(x,ri), i ≠ j

Lặp i = 1 đến k: tính lại các trọng tâm ri

16



Hình 1.2 Mơ tả thuật tốn K-means
Một dạng cải tiến của thuật toán k-means là xét mỗi phần tử và tính lại phần tử
trọng tâm của nhóm bất cứ khi nào có một phần tử được thêm vào, lặp lại chu trình
qua các phần tử cho đến khi tình trạng các nhóm khơng cịn thay đổi.
Việc tìm kiếm trong thuật tốn k-means bị hạn chế trong khơng gian phân
hoạch, có thể bỏ qua giải pháp gom cụm tốt nhất. Người ta có thể khắc phục
khuyết điểm này bằng cách thực hiện nhiều lần thuật toán với các điểm trọng tâm
ban đầu được chọn khác nhau và chọn một kết quả tốt nhất. Thời gian thực hiện sẽ
tăng lên rất nhiều.

1.4.1.2.

Phương pháp Greedy

Phương pháp Greedy đặc biệt hiệu quả và thích hợp với trường hợp số lượng
nhóm k và bán kính nhóm d đã xác định trước. Ta cũng xem một chuỗi như một
điểm trong không gian Rn và sử dụng khoảng cách Euclide làm độ đo tương đồng.

17


Gọi D là tập dữ liệu cần phân hoạch, với mỗi điểm p trong D ta tìm trọng tâm
nhóm q sao cho d(p,q) nhỏ nhất.
-

Với qi chưa gom cụm trong D:
Với mỗi p trong D \ {qi}: nếu d(p,qi) < d thì thêm p vào nhóm có trọng

tâm qi

-

Lặp lại bước trên với các điểm trong D \ {nhóm qi} cho đến khi tất cả các
điểm trong D đều được xét.
Xác định được một dãy các trọng tâm q1, q2,…, qk. Khoảng cách giữa hai

trọng tâm nhỏ nhất là d.

1.4.2.

Thuật toán khám phá luật kết hợp

Để khám phá tri thức trên cơ sở dữ liệu, có thể vận dụng nhiều kỹ thuật khám
phá luật khác nhau trên cơ sở dữ liệu đã qua giai đoạn tiền xử lý. Chẳng hạn sử
dụng Information Theoretic Network trên cơ sở dữ liệu các sự kiện, thuật tốn
Apriori trên dữ liệu đã phân nhóm,… Đề tài trình bày thuật tốn quen thuộc là
Apriori.
Luật kết hợp là dạng rất phổ biến trong việc biểu diễn tri thức, luật kết hợp có
ưu điểm dễ đọc, có thể bổ sung hoặc loại bỏ dễ dàng. Đây là một nội dung quan
trọng trong việc khám phá tri thức từ cơ sở dữ liệu lớn. Biểu diễn tri thức dưới
dạng luật kết hợp có thể thích ứng với nhiều ứng dụng khác nhau. Dạng tổng quát
của luật kết hợp là: “Nếu X thì Y”, trong đó X là giả thuyết và Y là kết luận. Các
luật kết hợp như vậy mơ tả thật dễ hiểu, hỗ trợ tích cực cho các nhà quản lý trong
việc ra quyết định hay hoạch định chiến lược phát triển.
Thuật toán Apriori
Cho I = {i1, i2,…, im} là tập các mục dữ liệu (item). Một tập con của I gọi là
itemset, nếu itemset có k phần tử gọi là k-itemset.
Cho tập D chứa các giao tác (transaction), một giao tác d € D là một tập các
item con của I, d  I. Trong D, mỗi giao tác có một định danh duy nhất.
Cho hai tập con X, Y của I, X ∩ Y = Ø, luật kết hợp r là luật liên kết hai điều

kiện là hai tập X và Y, có dạng “Nếu X thì Y”.
18


Ký hiệu:

r: X → Y

Bài toán khai thác dữ liệu là tìm ra tất cả luật kết hợp có độ hỗ trợ và độ tin cậy
lần lượt lớn hơn độ hỗ trợ tối thiểu (minsupp) và độ tin cậy tối thiểu (minconf).

1.4.2.1.

Các khái niệm

Định nghĩa 4:
Cho itemset S € I, p(S) là tập các giao tác trong D có chứa S. Độ hỗ trợ của S
được định nghĩa là tỷ số giữa tổng số các giao tác trong D có chứa S và tổng số
giao tác trong D.
Độ hỗ trợ của S:

SP(S) =

pS 
D

Cho trước ngưỡng minsupp € (0, 1], S € I là tập phổ biến nếu SP(S) ≥ minsupp.
Ký hiệu FS(minsupp) là tập tất cả các tập phổ biến ứng với minsupp.
Định nghĩa 5:
Cho M € FS(minsupp), M là tập phổ biến tối đại nếu không tồn tại S €

FS(minsupp), M ≠ S, M S.
Định nghĩa 6:
Cho luật r: X → Y. Độ hỗ trợ SP(r) của luật r định nghĩa là độ hỗ trợ của tập X
Y.
SP(r) =

p X  Y 
D

Định nghĩa 7:
Cho luật r: X → Y. Độ tin cậy CF(r) của luật r được định nghĩa như sau:
CF(r) =

p X   p Y 
p X 

CF(r) =

SP  X  Y 
SP  X 

hoặc

Độ tin cậy CF(r) được tính như là tỷ số giữa số dòng chứa tập XY với số dòng
chứa tập X.
19


Đặt minsupp € (0, 1] và minconf € (0, 1] là ngưỡng hỗ trợ và ngưỡng tin cậy,
luật r: X → Y được xem là hợp lệ nếu SP(r) ≥ minsupp và CF(r) ≥ minconf.

Ví dụ:
Cho cơ sở dữ liệu gồm tập các item I = {1, 2, 3, 4, 5}
Các giao tác {1, 2, 3, 4, 5}, {1, 4}, {1, 2}, {1, 2, 3}
Biểu diễn cơ sở dữ liệu dưới dạng nhị phân như sau:
1

2

3

4

5

d1

1

1

1

1

1

d2

1


0

0

1

0

d3

1

1

0

0

0

d4

1

1

1

0


0

Giá trị ô (m, n) = 1 cho biết item thứ n có trong giao tác thứ m, (m, n) = 0 có
nghĩa item thứ n khơng có trong giao tác thứ m.
Với S = {2, 3}, ta có:
SP(S) =

2
= 0.5
4

Nếu ta chọn minsupp = 0.5 thì SP(S) ≥ minsupp nên S là một tập phổ biến.
Trên S có thể phát sinh hai luật kết hợp là:
r1: {2} → {3}
r2: {3} → {2}
Độ tin cậy của các luật trên là:
CF(r1) =
CF(r2) =

0.5
≈ 0.667
0.75
0.5
=1
0.5

Nếu chọn minconf = 0.8 thì r2 hợp lệ, r1 bị loại.
Vậy luật r2 thỏa:
SP(r2) ≥ minsupp = 0.5
CF(r2) ≥ minconf = 0.8

20


Bài tốn khám phá luật kết hợp có thể được phân ra thành hai bài tốn nhỏ hơn
như sau:
-

Tìm các itemset có độ hỗ trợ lớn hơn minsupp, tức là tìm các tập phổ biến.

-

Dung các tập phổ biến để phát sinh các luật, các luật phải thỏa độ tin cậy
đã chọn (minconf).

1.4.2.2.

Khám phá các tập phổ biến

Có rất nhiều thuật toán khám phá tập phổ biến, một trong những thuật tốn đó
là Apriori, thuật tốn tiến hành nhiều lần duyệt trên dữ liệu để xác định các tập phổ
biến. Có thể chia thuật tốn Apriori thành các giai đoạn sau:
-

Bước 1: Xác định các tập phổ biến chỉ có một item.

-

Bước 2: Sử dụng tập phổ biến được tìm thấy ở lần duyệt trước để phát sinh
các tập phổ biến mới. Xác định độ hỗ trợ của các tập phổ biến này và xác
định tập nào là tập phổ biến thực sự, những itemset nào không thỏa

minsupp sẽ bị loại.

-

Bước 3: Lặp lại quá trình ở bước 2 cho đến khi khơng cịn tìm thấy các
itemset nào mới.

Tuy nhiên, thuật tốn này cũng có nhiều khuyết điểm như: tập tìm được khơng
phải là tập phổ biến, mỗi tập phổ biến tìm thấy phải duyệt lại trên tồn cơ sở dữ
liệu nên rất khó khăn nếu cơ sở dữ liệu lớn.
Thuật toán AprioriTID là cải tiến của thuật toán Apriori, nó khắc phục được
các khuyết điểm của Apriori. Trong thuật tốn AprioriTID, cơ sở dữ liệu khơng
được dung tồn bộ cho việc xác định độ hỗ trợ lần đầu tiên, trong lần duyệt sau
kích thước của mã hóa có thể trở nên nhỏ hơn so với các lần trước đó.
Giới thiệu thuật toán AprioriTID
-

Thuật toán AprioriTID được cải tiến từ thuật toán Apriori nhằm cải tiến
việc duyệt cơ sở dữ liệu quá nhiều lần để đếm số lần xuất hiện của các tập
ứng viên trong các giao tác.

-

Thuật toán AprioriTID sử dụng tập k để tính độ hỗ trợ cho các phần tử của
tập Ck khi k>1 thay cho việc duyệt cơ sở dữ liệu. Mỗi phần tử của tập k có

21


dạng <TID, X>, với X là tập các ứng viên thuộc Ck tương ứng với giao tác

t có mã TID, hay ta có thể viết <t.TID, {c  Ck | c có trong t}>.
-

Nếu giao tác t khơng chứa một tập ứng viên nào (Xk = Ø) thì giao tác t
khơng được đưa vào k. Do đó, số phần tử của

k

có thể nhỏ hơn số lượng

các giao tác trong cơ sở dữ liệu, đặc biệt khi k lớn.
-

Khi số phần tử của k nhỏ hơn số lượng các giao tác trong cơ sở dữ liệu thì
việc duyệt

k

để tính độ hỗ trợ cho từng phần tử của Ck phục vụ cho việc

xác định Lk (tập phổ biến) sẽ nhanh hơn duyệt cơ sở dữ liệu.

Tính Ck
Ck được tạo từ Lk-1 qua 2 bước
-

Kết Lk-1 với chính nó
select p.item1, p.item2,…, p.itemk-1, q.itemk-1
from Lk-1 as p, Lk-1as q
where (p.item1= q.item1)  …  (p.itemk-2 = q.item k-2) 

(p.itemk-1< q.itemk-1)

-

Loại bớt các tập hợp có tập con khơng thuộc Lk-1

Tính k, Lk
C k = Ø;

for all t  C k 1 do begin
Ct = {c  Ck | (c-c[k])  t.X^ c-c[k-1]  t.X};
for all candidate c  Ctdo
c.count ++;
if (Ct  Ø) then

+= < t.TID, Ct>;

Ck

End

Lk = {c  C k | c.count  minsup}

22


Ví dụ:

Nhận xét
-


Với k=1, số phần tử của 1 bằng số giao tác trong cơ sở dữ liệu, tập X (ứng
mỗi phần tử của 1) có số lượng thành viên bằng số item trong giao tác
tương ứng trong CSDL.

-

Với k nhỏ (k>1), số lượng phần tử của k bằng hoặc nhỏ hơn không đáng kể
so với số giao tác trong cơ sở dữ liệu, tập X (ứng mỗi phần tử của k) có thể
có số lượng thành viên lớn hơn số item trong giao tác tương ứng trong cơ
sở dữ liệu vì số phần tử của Ck nhiều khi k nhỏ và khả năng các ứng viên
của tập Ck có trong giao tác là lớn (trong ví dụ trên tập X trong giao tác có
TID 300 có số thành viên là 6 trong khi CSDL chỉ có 4 item).

-

Với k lớn, số lượng phần tử của k nhỏ hơn so với số giao tác trong cơ sở dữ
liệu, tập X (ứng mỗi phần tử của k) có thể có số lượng thành viên nhỏ hơn
23


số item trong giao tác tương ứng trong CSDL vì số phần tử của Ck không
nhiều khi k lớn và khả năng các ứng viên của tập Ck có trong giao tác là
nhỏ.

1.4.2.3.

Phát sinh luật kết hợp

Để phát sinh các luật, với mỗi tập phổ biến h ta tìm các tập con khác rỗng của h.

Với mỗi tập con a, ta đưa ra luật a → (h – a) nếu độ tin cậy của nó (tỷ số giữa độ
hỗ trợ của h và độ hỗ trợ của a) lớn hơn hoặc bằng minconf.
Xét các tập con của h để phát sinh các luật với nhiều kết quả khác nhau. Nếu
tập con a của tập phổ biến h không sinh ra một luật thì tập con của a cũng khơng
cần xem xét để phát sinh luật.
Ví dụ:
Nếu ABC → D khơng thỏa minconf, ta không cần kiểm tra AB → CD.
Chúng ta cũng khơng bỏ sót luật nào vì độ hỗ trợ của bất kỳ tập con a’ của a
cũng phải lớn như độ hỗ trợ của a. Do vậy, độ tin cậy của luật a’ → (h – a’) không
thể lớn hơn độ tin cậy của luật a → (h – a). Nếu a không sinh ra một luật gồm tất
cả các item trong h với a ở vế trước thì cũng khơng sinh ra luật với a’ ở vế trước.
Ta nhận thấy, nếu luật a → (h – a) khơng giá trị thì a’ → (h – a’) cũng khơng
có giá trị với bất kỳ a’ là tập con của a. Ngược lại, luật (h – a) → a có giá trị thì
(h – a’) → a’ cũng có giá trị.
Ví dụ:
Nếu luật AB → CD có giá trị thì ABC → D và ABD → C có giá trị.
Nếu một luật có vế thứ hai là a có giá trị thì các luật ở vế thứ hai là tập con của a
cũng có giá trị.
1.5.

Thu gọn tập luật
Trong nhiều trường hợp, vấn đề thu gọn tập luật không được đề cập đến. Tuy

nhiên, do các luật thu được thường rất lớn và thường có sự trùng lắp, do đó vấn đề
thu gọn các luật được đặt ra.

24


Ví dụ:


Cho hai luật
Luật 1: Nếu A và B thì T
Luật 2: Nếu C và D thì T
Có thể kết hợp hai luật này với nhau như sau:
Luật mới: Nếu (A và B) hoặc (C và D) thì T

Thuật tốn thu gọn luật
Khởi đầu các luật được trộn là 0
Số các điều kiện là l = 0
While (l < số thuộc tính đầu vào) do
Lặp với mỗi luật có l điều kiện
If khơng có luật đã trộn có l điều kiện
Xác định luật đã trộn đầu tiên với l điều kiện
Cho giá trị ban đầu bậc của luật
Else
Trộn với luật đang có (có cùng giá trị đích và cùng giá trị
đầu vao thay cho (l – 1) điều kiện)
If trộn được
Cập nhật số điều kiện l
Cập nhật bậc của luật
Else
Xác định một luật mới với l điều kiện
Khởi đầu bậc của luật
Tăng 1

1.4.3. Phân lớp dữ liệu bằng cây quyết định
Cây quyết định (decision tree) là một trong những hình thức mô tả dữ liệu trực
quan nhất, dễ hiểu nhất đối với người dùng. Cấu trúc của một cây quyết định bao
gồm các nút và các nhánh. Nút dưới cùng được gọi là nút lá, trong mơ hình phân

lớp dữ liệu chính là các giá trị của các nhãn lớp (gọi tắt là nhãn). Các nút khác nút
lá được gọi là các nút con, đây cịn là các thuộc tính của tập dữ liệu, hiển nhiên
các thuộc tính này phải khác thuộc tính phân lớp. Mỗi một nhánh của cây xuất phát
25


×