ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
—- —-
ĐINH CHUNG DŨNG
NGHIÊN CỨU VÀ ÁP DỤNG KỸ THUẬT
KHAI PHÁ DỮ LIỆU TRÊN BỘ DỮ LIỆU SINH VIÊN
ĐẠI HỌC PHỤC VỤ CÔNG TÁC CỐ VẤN HỌC TẬP
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
HÀ NỘI, 2017
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
——————–
ĐINH CHUNG DŨNG
NGHIÊN CỨU VÀ ÁP DỤNG KỸ THUẬT
KHAI PHÁ DỮ LIỆU TRÊN BỘ DỮ LIỆU SINH VIÊN
ĐẠI HỌC PHỤC VỤ CÔNG TÁC CỐ VẤN HỌC TẬP
Ngành
: Công nghệ thông tin
Chuyên ngành : Truyền dữ liệu và mạng máy tính
Mã số
: Chuyên ngành đào tạo thí điểm
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
HƯỚNG DẪN KHOA HỌC: TS. NGUYỄN TRUNG TUẤN
HÀ NỘI, 2017
LỜI CẢM ƠN
Tác giả luận văn xin chân thành cảm ơn đến người hướng dẫn khoa học là
TS. Nguyễn Trung Tuấn, Viện Công nghệ Thông tin Kinh tế, Trường Đại học
Kinh tế Quốc dân. Thầy đã dành nhiều thời gian và tâm huyết để hướng dẫn và
giúp đỡ tác giả hoàn thành luận văn này. Tác giả cũng xin cảm ơn các Thầy, Cô
trong Khoa Công nghệ Thông tin, Trường Đại học Công nghệ, Đại học Quốc gia
Hà Nội đã tạo điều kiện thuận lợi, giúp đỡ và có những đóng góp quý báu trong
thời gian nghiên cứu và hoàn thành luận văn của tác giả.
Xin chân thành cảm ơn gia đình, bạn bè và đồng nghiệp đã giúp đỡ, động
viên tác giả trong suốt thời gian nghiên cứu luận văn.
Hà Nội, Ngày……tháng….. năm 2017
Đinh Chung Dũng
Lời cam đoan
Tôi xin cam đoan đây là công trình
nghiên cứu của tôi dưới sự hướng dẫn khoa học
của TS Nguyễn Trung Tuấn. Các số liệu và kết
quả nghiên cứu, công bố trong luận văn là trung
thực và chưa từng được ai công bố trong bất kỳ
công trình nào khác.
Hà Nội, Ngày……tháng….. năm 2017
Đinh Chung Dũng
MỤC LỤC
MỞ ĐẦU ……………………………………………………………………………………………….. 3
CHƯƠNG 1
……………………………………………………………………………………………. 6
TỔNG QUAN VỀ PHÁT HIỆN TRI THỨC VÀ KHAI PHÁ DỮ LIỆU ….. 6
1.1 Giới thiệu chương
…………………………………………………………………………… 6
1.2 Tổng quan về phát hiện tri thức và khai phá dữ liệu……………………………. 6
1.3 Quá trình phát hiện tri thức và khai phá dữ liệu ……………………………….. 10
1.4 Các phương pháp khai phá dữ liệu
………………………………………………….. 12
1.5 Các vấn đề cần nghiên cứu của phát hiện tri thức và khai phá dữ liệu
…. 14
1.6 Các lĩnh vực ứng dụng của phát hiện tri thức và khai phá dữ liệu ………. 16
1.7 Kỹ thuật khai phá luật kết hợp ……………………………………………………….. 17
1.7.1 Lý thuyết về luật kết hợp
…………………………………………………………. 17
1.7.2 Định nghĩa luật kết hợp
…………………………………………………………… 18
1.7.3 Một số hướng tiếp cận trong khai phá luật kết hợp …………………….. 20
1.8 Cây quyết định …………………………………………………………………………….. 22
1.8.1 Sơ lược về cây quyết định
……………………………………………………….. 22
1.8.2 Định nghĩa cây quyết định ………………………………………………………. 23
1.8.3 Xây dựng cây quyết định ………………………………………………………… 23
1.8.4 Một số thuật toán xây dựng cây quyết định ……………………………….. 23
1.8.5 Ưu điểm của cây quyết định…………………………………………………….. 29
1.9 Tổng kết chương 1 ……………………………………………………………………….. 30
CHƯƠNG 2
………………………………………………………………………………………….. 31
BÀI TOÁN CỐ VẤN HỌC TẬP VÀ ĐẶC TRƯNG BỘ DỮ LIỆU SINH
VIÊN ĐẠI HỌC TẠI TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN
………. 31
2.1 Giới thiệu chương
………………………………………………………………………….. 31
2.2 Những vấn đề về cố vấn học tập theo hình thức đào tạo tín chỉ tại trường
Đại học Kinh tế Quốc dân
………………………………………………………………. 31
2.2.1 Tổ chức hệ thống cố vấn học tập ……………………………………………… 31
2.2.2 Chức năng của cố vấn học tập
………………………………………………….. 32
2.2.3 Nhiệm vụ của cố vấn học tập …………………………………………………… 32
2.2.3.1 Nhiệm vụ chung của CVHT chuyên trách và kiêm nhiệm
………. 32
2.2.3.2 Nhiệm vụ cụ thể ………………………………………………………………… 33
2.3 Bài toán cố vấn học tập tại trường Đại học kinh tế quốc dân ……………… 35
2.3.1 Vấn đề thực tế xung quanh bài toán
………………………………………….. 35
2.3.2 Phát biểu bài toán …………………………………………………………………… 36
2.3.3 Mục tiêu và ý nghĩa của bài toán ………………………………………………. 36
2.3.4 Quy trình giải quyết bài toán ……………………………………………………. 37
2.4 Đặc trưng dữ liệu sinh viên trường Đại học kinh tế quốc dân …………….. 38
2.4.1 Hệ thống quản lý đào tạo, quản lý sinh viên
……………………………… 38
2.4.2 Mô tả một phần cơ sở dữ liệu quản lý sinh viên dựa trên những thông
tin đã thu thập
………………………………………………………………………… 40
2.5 Tổng kết chương 2 ………………………………………………………………………… 41
CHƯƠNG 3
………………………………………………………………………………………….. 42
ỨNG DỤNG THỬ NGHIỆM GIẢI BÀI TOÁN CỐ VẤN HỌC TẬP TẠI
TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN
………………………………………… 42
3.1 Giới thiệu chương
………………………………………………………………………….. 42
3.2 Giới thiệu một số công cụ khai phá dữ liệu và phát hiện tri thức
…………. 42
3.2.1 Weka
…………………………………………………………………………………….. 42
3.2.2 Ngôn ngữ R …………………………………………………………………………… 43
3.2.3 SQL Datamining ……………………………………………………………………. 44
3.2.3.1 Giới thiệu………………………………………………………………………….. 44
3.2.3.2 Thuật toán kết hợp trong công cụ (Assocication Algorithm) …… 45
3.2.3.3 Thuật toán phân loại trong công cụ (Classification Algorithm) .. 46
3.3 Quy trình thực hiện khai phá dữ liệu sinh viên và phát hiện tri thức với bài
toán cố vấn học tập tại Trường Đại học Kinh tế Quốc dân. ………………… 47
3.4 Khai phá dữ liệu bằng luật kết hợp giải bài toán 1 ……………………………. 48
3.4.1 Từ dữ liệu thô thu thập được ……………………………………………………. 48
3.4.2 Tiến hành biến đổi dữ liệu theo bài toán 1 …………………………………. 49
3.4.3 Thực hiện thử nghiệm trên công cụ BIDS
………………………………….. 49
3.5 Khai phá dữ liệu bằng cây quyết định giải bài toán 2
………………………… 55
3.5.1 Từ dữ liệu thô thu thập được
……………………………………………………. 55
3.5.2 Tiến hành biến đổi dữ liệu theo bài toán 2
…………………………………. 56
3.5.3 Thực hiện thử nghiệm trên công cụ BIDS …………………………………. 58
3.6 Một số đề xuất, kiến nghị
………………………………………………………………. 60
3.7 Tổng kết chương 3 ……………………………………………………………………….. 60
KẾT LUẬN ………………………………………………………………………………………….. 61
1
DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT
Từ viết tắt Tiếng Anh
Tiếng Việt
BI
Business Intelligence
Kinh doanh thông minh/trí
tuệ doanh nghiệp
BIDS
Business Intelligence
Development Studio
Bộ công cụ phân tích dữ
liệu trong MicroSoft SQL
Server
DA/PA
Data/Pattern analysis
Phân tích dữ liệu/mẫu
DBMS
Database Management System
Hệ quản trị cơ sở dữ liệu
KDD
Knowledge Discovery and Data
Mining
Phát hiện tri thức và Khai
phá dữ liệu
KE
Knowledge Extraction
Trích chọn tri thức
ML
Machine Learning
Học máy
SQL
Structured Query Language
Ngôn ngữ truy vấn cấu trúc
2
DANH MỤC CÁC HÌNH
Hình 1.1 Mối quan hệ của KDD với các lĩnh vực khác [4] …………………………… 7
Hình 1.2 Mối quan hệ của KDD và kinh doanh thông minh [4] ……………………. 8
Hình 1.3 Qui trình 5 bước khai phá dữ liệu ………………………………………………. 11
Hình 1.4 Phân lớp dựa theo mức chi tiêu và thu nhập của các hộ gia đình
……. 12
Hình 2.1 Quy trình giải quyết bài toán
……………………………………………………… 38
Hình 2.2 Hệ thống quản lý đào tạo ………………………………………………………….. 39
Hình 2.3 Cơ sở dữ liệu quản lý sinh viên
………………………………………………….. 40
Hình 3.1 Dữ liệu thu thập
……………………………………………………………………….. 48
Hình 3.2 Dữ liệu cho khai phá luật kết hợp ………………………………………………. 49
Hình 3.3 L1.1: minsupport=0.4 và minprobability = 0.4
…………………………….. 50
Hình 3.4 L1.2: minsupport=0.4 và minprobability = 0.9
……………………………. 51
Hình 3.5 L2.1: minsupp= 0.03, minprobability= 0.54 ………………………………… 52
Hình 3.6 L2.2: minsupp= 0.03, minprobability= 0.9 ………………………………….. 52
Hình 3.7 L3.1: minsupport=0.01, minprobability= 0.4………………………………. 53
Hình 3.8 L3.2: minsupport=0.01, minprobability= 0.7……………………………….. 54
Hình 3.9 L3.3: thể hiện tập mục phổ biến (Itemsets)
………………………………….. 55
Hình 3.10 Bảng điểm từng chuyên ngành theo kỳ sau khi biến đổi ……………… 56
Hình 3.11 Bảng điểm tổng kết của một kỳ, tất cả chuyên ngành (ví dụ kỳ 5)… 57
Hình 3.12 Bảng dữ liệu đưa vào khai phá
…………………………………………………. 58
Hình 3.13 Cây quyết định phân lớp kỳ 5 ………………………………………………….. 58
Hình 3.14 Cây quyết định phân lớp kỳ 6 ………………………………………………….. 59
Hình 3.15 Cây quyết định phân lớp kỳ 7 ………………………………………………….. 59
3
MỞ ĐẦU
1. Lý do lựa chọn đề tài
Khai phá dữ liệu và phát hiện tri thức đang là lĩnh vực được các nhà khoa
học quan tâm nghiên cứu trong nhiều năm gần đây. Ứng dụng khai phá dữ liệu
được thực hiện trong nhiều lĩnh vực khác nhau như giáo dục, y tế, tài chính, ngân
hàng, kinh doanh… Đặc biệt, trong thời gian gần đây, khai phá dữ liệu và phát
hiện tri thức trong lĩnh vực giáo dục đang được quan tâm nghiên cứu. Đối với bậc
giáo dục Đại học hiện nay, sinh viên đang học tập tại các trường Đại học theo
hình thức đào tạo tín chỉ. Đối với hình thức đào tạo này yêu cầu sinh viên phải có
sự chủ động cao, có nhiều sự lựa chọn mềm dẻo các môn học trong chuyên ngành
đào tạo. Sinh viên sẽ phải tự mình phân bổ các môn học cho từng kỳ sao cho đủ
số tín chỉ theo quy chế đào tạo, sinh viên có thể học nhanh để ra trường sớm hoặc
đúng hạn với số điểm cao. Trên thực tế đã có rất nhiều trường hợp thời gian học
đã hết nhưng các em vẫn chưa hoàn thành đủ tín chỉ, còn nợ môn chuyên ngành.
Các sinh viên chưa quen và gặp rất nhiều khó khăn trong định hướng học tập, làm
ảnh hưởng đến quá trình học tập của mình cũng như ảnh hưởng đến kết quả đào
tạo của nhà trường. Chính vì vậy công tác cố vấn học tập cho sinh viên đã được
đặt ra là một công việc quan trọng trong hình thức đào tạo theo tín chỉ. Đây cũng
là bài toán được đặt ra cho lĩnh vực khai phá dữ liệu khi có số liệu lớn về sinh
viên và quá trình học tập của sinh viên trong nhà trường nhằm trợ giúp cho cố vấn
học tập đạt được hiệu quả cao hơn.
Hiện nay tôi đang công tác tại Trường Đại học Kinh tế quốc dân, trước
những thực trạng đang tồn tại ở nơi làm việc cùng với lĩnh vực tôi đang theo học,
được sự đồng ý của TS. Nguyễn Trung Tuấn tôi chọn đề tài luận văn: “Nghiên
cứu và áp dụng kỹ thuật khai phá dữ liệu trên bộ dữ liệu sinh viên đại học phục
vụ công tác cố vấn học tập”, luận văn góp phần vào việc giải quyết các vấn đề
hết sức cấp bách và cần thiết trong thực tế.
2. Mục tiêu nghiên cứu của luận văn
Mục tiêu nghiên cứu của luận văn là để hiểu các kỹ thuật khai phá dữ liệu
và phát hiện tri thức cơ bản, tập trung chủ yếu vào hai kỹ thuật chính là kỹ thuật
khai phá luật kết hợp và cây quyết định. Đây là kỹ thuật đã có nhiều nhà khoa học
nghiên cứu và có nhiều đóng góp vào thực tiễn. Hiểu các quy chế, quy định, thông
tư hướng dẫn về triển khai thực hiện đào tạo đại học chính quy theo hệ thống tín
chỉ, các văn bản liên quan đến quy định về cố vấn học tập, chương trình đào tạo
chính quy theo học chế tín chỉ thuộc các chuyên ngành của Trường Đại học Kinh
4
tế Quốc dân. Đặc biệt tập trung vào các vấn đề cố vấn học tập cho sinh viên trong
quá trình học tập tại trường. Kết quả đạt được là phát hiện một số luật trong cố
vấn học tập thông qua bộ dữ liệu quản lý thông tin sinh viên hiện tại của Trường
Đại học Kinh tế Quốc dân bằng việc áp dụng kỹ thuật khai phá luật kết hợp và
cây quyết định với sự trợ giúp của các công cụ có sẵn.
3. Đối tượng, phạm vi nghiên cứu
Nghiên cứu các vấn đề cơ bản của khai phá dữ liệu và phát hiện tri thức; kỹ
thuật khai phá luật kết hợp, cây quyết định trong phát hiện tri thức và khai phá dữ
liệu; bài toán cố vấn học tập tại trường Đại học Kinh tế quốc dân. Các nội dung
nghiên cứu sẽ được thực nghiệm trên bộ dữ liệu sinh viên đại học chính quy của
trường Đại học Kinh tế quốc dân.
4. Phương pháp nghiên cứu
Tổng hợp các vấn đề lý thuyết liên quan từ các nguồn là giáo trình, bài
giảng, chuyên đề, luận văn, luận án, internet và tìm hiểu văn bản quy định tại
trường Đại học Kinh tế Quốc dân về các vấn đề liên quan đến luận văn. Cùng với
đó là phương pháp nghiên cứu thực nghiệm. Sử dụng bộ dữ liệu thực tế về thông
tin và quá trình học của một khóa sinh viên chính quy đã ra trường, xử lý dữ liệu
trên những công cụ quản trị cơ sở dữ liệu và công cụ khai phá dữ liệu của
Microsoft SQL Server. So sánh các kết quả thu được từ các mô hình khai phá để
rút ra các kết luận và quy trình sử dụng kỹ thuật khai phá dữ liệu cho bài toán cố
vấn học tập.
5. Những đóng góp của luận văn
Thực hiện mục tiêu nghiên cứu đã nêu ở trên, ngoài việc tổng hợp và tổng
quan các kiến thức liên quan cần thiết, luận văn đưa ra các đóng góp chính sau
đây:
+ Đề xuất quy trình xử lý dữ liệu cho các bài toán cố vấn học tập tại trường
Đại học kinh tế quốc dân
+ Thực nghiệm với bộ dữ liệu thực tế và đánh giá các kết quả đã tìm được
từ các kỹ thuật khai phá dữ liệu cho các bài toán cố vấn học tập đã nêu.
5
6. Kết cấu của luận văn
Luận văn được trình bày trong ba chương chính:
Chương 1. Tổng quan về phát hiện tri thức và khai phá dữ liệu
Trong chương này sẽ trình bày những vấn đề cơ bản về phát hiện tri thức
và khai phá dữ liệu, bao gồm những nội dung cơ bản: tổng quan về khai phá dữ
liệu và phát hiện tri thức; ứng dụng của khai phá dữ liệu và phát hiện tri thức; các
phương pháp và kỹ thuật khai phá dữ liệu và phát hiện tri thức.
Chương 2. Bài toán cố vấn học tập và đặc điểm bộ dữ liệu sinh viên tại trường
Đại học Kinh tế Quốc dân
Nội dung của chương này sẽ trình bày những vấn đề về cố vấn học tập trong
đào tạo đại học chính quy theo hình thức tín chỉ, những vấn đề gặp phải trong quá
trình cố vấn học tập. Từ đó phân tích và hình thành bài toán cần giải quyết trong
công tác cố vấn học tập tại trường Đại học Kinh tế Quốc dân. Giới thiệu và mô tả
đặc điểm của bộ dữ liệu sinh viên chính quy đã thu thập được trường Đại học
Kinh tế quốc dân để phục vụ cho quá trình thực nghiệm; mô tả về các bộ dữ liệu
con được trích rút dữ liệu bộ dữ liệu lớn phục vụ cho các mục đích phân tích khác
nhau theo yêu cầu của bài toán cố vấn học tập.
Chương 3. Ứng dụng thử nghiệm khai phá dữ liệu sinh viên phục vụ cố vấn
học tập tại trường Đại học Kinh tế Quốc dân
Chương này sẽ giới thiệu về một số công cụ khai phá dữ liệu và phát hiện
tri thức thông dụng và công cụ BIDS của Microsoft SQL Server 2008. Quy trình
thực nghiệm khai phá và phát hiện tri thức với bài toán cố vấn học tập. Trình bày
và đánh giá các kết quả khai phá dữ liệu trên 02 bài toán cố vấn học tập: Tư vấn
lựa chọn môn học theo tổ hợp lựa chọn từng ngành; Phân lớp, dự đoán sinh viên
có ra trường đúng thời hạn hay không.
Ngoài ra, phần Mở đầu của luận văn sẽ giới thiệu chung về những nội dung
và phương pháp thực hiện nghiên cứu đề tài luận văn. Phần Kết luận của luận văn
sẽ trình bày về tóm tắt về những kết quả đã đạt được, những hạn chế và hướng
nghiên cứu tiếp theo của đề tài luận văn.
6
CHƯƠNG 1
TỔNG QUAN VỀ PHÁT HIỆN TRI THỨC VÀ KHAI PHÁ DỮ LIỆU
1.1 Giới thiệu chương
Mục tiêu của chương này là nhằm trình bày về cơ sở lý luận, lý thuyết nền
tảng phục vụ cho những nghiên cứu sâu hơn trong luận văn. Nội dung chính của
chương bao gồm những khái niệm, các kỹ thuật, ứng dụng và những vấn đề cần
nghiên cứu trong phát hiện tri thức và khai phá dữ liệu. Chương 1 được bố cục
gồm có 9 mục, mục kế tiếp sẽ đề cập đến những vấn đề cơ bản về phát hiện tri
thức và khai phá dữ liệu. Mục 3 trong chương sẽ tóm tắt quá trình phát hiện tri
thức và khai phá dữ liệu. Mục 4 trình bày các phương pháp khai phá dữ liệu. Mục
5 sẽ trình bày về các vấn đề cần nghiên cứu của phát hiện tri thức và khai phá dữ
liệu. Mục 6 là các lĩnh vực ứng dụng của phát hiện tri thức và khai phá dữ liệu.
Mục 7 là kỹ thuật khai phá luật kết hợp. Mục 8 tóm tắt lý thuyết cây quyết định.
Cuối cùng là tổng kết những vấn đề đã được tác giả thể hiện trong chương.
1.2 Tổng quan về phát hiện tri thức và khai phá dữ liệu
Cùng với sự phát triển của các ngành khoa học, các dữ liệu con người thu
nhận, lưu trữ thông qua các hoạt động kinh tế – xã hội, các hoạt động nghiên cứu
khoa học ngày một lớn, chúng được lưu trữ trên các hệ thống máy tính với dung
lượng lên đến hàng terabyte, thậm chí đến hàng petabyte. Tuy nhiên, việc hiểu và
sử dụng hết được những dữ liệu đó đối với con người rất khó khăn. Trước thực tế
như vậy, một hướng nghiên cứu mới về phát hiện tri thức và khai phá dữ liệu đã
hình thành và phát triển nhanh chóng trong gần 20 năm qua. Tác giả sẽ trình bày
lại một số khái niệm liên quan đến lĩnh vực Phát hiện tri thức và Khai phá dữ liệu
(KDD – Knowledge Discovery and Data mining) được đề cập trong [1], [4], [9],
[10], [11], [12], nhằm hệ thống hóa những kiến thức nền tảng về lĩnh vực này.
Trong thực tế, Phát hiện tri thức và Khai phá dữ liệu còn có thể được sử dụng với
cụm từ Khai phá dữ liệu và Phát hiện tri thức.
Dữ liệu (data) là số liệu về các hiện tượng, sự vật mà người ta thu thập
được thông qua quan sát, khảo sát trực tiếp hoặc thông qua các thiết bị hỗ trợ,
chúng có thể là các con số, các chuỗi ký tự, các biểu tượng hoặc các đối tượng có
ý nghĩa nhất định. Dữ liệu có thể được đưa vào các chương trình máy tính theo
một định dạng nào đó. Thông tin (information) là các dữ liệu đã qua một quá trình
xử lý, chắt lọc và thường mang những ý nghĩa nhất định đối với những đối tượng
tiếp nhận thông tin, người ta cũng có thể coi thông tin là những dữ liệu đã được
7
phiên dịch theo một phương pháp nào đó. Thông tin của quá trình xử lý này có
thể lại trở thành dữ liệu cho một quá trình xử lý khác. Tri thức (knowledge) là các
thông tin được tích hợp bao gồm cả các cơ sở lập luận và những vấn đề liên quan,
được nhận biết, khám phá, phản ánh trong trí óc và tinh thần. Tri thức còn được
hiểu đó là dữ liệu đã được trừu tượng hoá và tổng quát hoá ở mức cao. Tri thức
có đặc điểm là có thể được tái tạo, phát triển qua các quá trình học, suy luận và
vận dụng, tri thức sẽ không mất đi trong quá trình sử dụng mà ngược lại nó càng
gia tăng và phát triển lên một mức độ mới nếu càng được sử dụng nhiều.
Phát hiện tri thức và khai phá dữ liệu là quá trình tự động trích rút các tri
thức (knowledge) hoặc các mẫu (pattern), mô hình (model) có đặc điểm không
tầm thường, ẩn, chưa biết trước, có khả năng sử dụng và hiểu được từ khối lượng
lớn dữ liệu [4]. Phát hiện tri thức và khai phá dữ liệu là một lĩnh vực phát triển rất
nhanh chóng, là lĩnh vực giao thoa giữa nhiều lĩnh vực liên quan như: công nghệ
cơ sở dữ liệu, thống kê, học máy, thuật toán học và các lĩnh vực liên quan khác
nhằm trích rút ra những tri thức hữu ích từ những tập dữ liệu rất lớn. Người ta
cũng có thể sử dụng những tên khác cho khai phá dữ liệu và khám phá tri thức
như: khám phá tri thức trong cơ sở dữ liệu (Knowledge discovery in databases –
KDD), trích chọn tri thức (Knowledge extraction – KE), phân tích dữ liệu hay
mẫu (Data/pattern analysis – DA/PA) hay kinh doanh thông minh hoặc tri thức
doanh nghiệp (Business Intelligence – BI) [4]…
Hình 1.1 Mối quan hệ của KDD với các lĩnh vực khác [4]
Khai phá dữ liệu
và phát hiện tri
thức
Công nghệ
CSDL
Thống kê
Học máy
Nhận diện
mẫu
Thuật toán
Các lĩnh vực
khác
Trực quan hoá
8
Khai phá dữ liệu (Data mining) là một khâu trong quá trình khám phá tri
thức mà trong đó ta có thể áp dụng những thuật toán khai phá dữ liệu với những
giới hạn có thể chấp nhận được về độ phức tạp tính toán để tìm ra những mẫu
hoặc mô hình trong dữ liệu [4]. Khai phá dữ liệu có hai chức năng chính là: mô tả
dữ liệu và dự báo dữ liệu, trong đó mô tả dữ liệu tập trung vào tìm kiếm các đặc
tính, đặc trưng của dữ liệu, còn dự báo dữ liệu tập trung vào việc phân tích, suy
diễn dữ liệu quá khứ, hiện tại để dự báo giá trị dữ liệu tương lai. Như vậy mục
đích của phát hiện tri thức và khai phá dữ liệu là để tìm ra những mẫu và/hoặc
những mô hình tồn tại trong cơ sở dữ liệu mà chúng có thể đang ẩn trong khối dữ
liệu rất lớn.
Hình 1.2 Mối quan hệ của KDD và kinh doanh thông minh [4]
Phát hiện tri thức và khai phá dữ liệu được ứng dụng trong nhiều lĩnh vực
khác nhau [4]. Trong phân tích dữ liệu và hỗ trợ quyết định, phát hiện tri thức và
khai phá dữ liệu được ứng dụng vào quản trị kinh doanh và phân tích thị trường
(còn được coi là các lĩnh vực kinh doanh thông minh hay trí tuệ doanh nghiệp –
Hình 1.2 ) như: định hướng thị trường, quản trị quan hệ khách hàng (Customer
Relation Management – CRM), phân tích giỏ hàng, phân mảng thị trường và kinh
doanh đa chiều; quản trị và phân tích rủi ro: dự báo, duy trì khách hàng, kiểm soát
chất lượng, phân tích cạnh tranh…; phát hiện gian lận và dò tìm những mẫu không
9
bình thường, phân tích cá biệt (outlier). Trong các lĩnh vực khác, người ta áp dụng
vào khai phá dữ liệu văn bản (bản tin, thư điện tử, tài liệu), khai phá dữ liệu Web,
khai phá dữ liệu theo luồng và các dữ liệu sinh học…
Theo [4], người ta thường sử dụng một số tiêu chí sau để phân loại mức độ
hấp dẫn của kết quả: Tính căn cứ (Evidence) chỉ ra ý nghĩa của kết quả tìm kiếm
được và thường đo bằng các tiêu chí thống kê. Độ dư thừa (Redundancy) để chỉ
sự tương tự của kết quả tìm được so với các kết quả tìm kiếm khác và các độ đo
xác định mức độ tương tự của một kết quả với các kết quả khác. Tính hữu dụng
(Usefulness) để chỉ mối quan hệ giữa kết quả tìm được và mục tiêu của người
dùng. Tính mới (Novelty) để chỉ ra sự khác biệt của kết quả với những tri thức có
trước của người sử dụng hay của hệ thống, người ta còn gọi đó là tính bất ngờ.
Tính đơn giản (Simplicity) để chỉ độ phức tạp về cú pháp biểu diễn kết quả tìm
kiếm và khả năng tổng quát hoá. Ta cụ thể hoá một số các thuật ngữ như sau:
• Dữ liệu (Data): là một tập hợp các thể hiện của các đối tượng hoặc tập hợp
các giá trị của các biến (ví dụ là các bản ghi trong cơ sở dữ liệu).
• Mẫu (Pattern): là mô tả một tập con của không gian kết quả hoặc không
gian dữ liệu, các mẫu và mô hình thường được biểu diễn thông qua một
hàm F(v1, v2, …,vn) trong đó vi là các tham số, các tham số này có giá trị là
các tập con của dữ liệu.
• Tiến trình (Process): thông thường trong tiến trình KDD là quá trình đa
bước, bao gồm chuẩn bị và tiền xử lý dữ liệu, tìm kiếm hình mẫu, đánh giá
tri thức và tinh chỉnh, được lặp đi lặp lại kèm theo sự sửa đổi nào đó, quá
trình này có thể được thực hiện một cách tự động hoặc bán tự động.
• Hợp lệ (Validity): Những mẫu hoặc mô hình được khám phá từ một tập dữ
liệu huấn luyện phải đúng trên tập dữ liệu mới với một mức độ chắc chắn
nào đó, mức độ chắc chắn này xác định khả năng đúng đắn của mẫu hoặc
mô hình tìm được, thông thường người ta xác định một ngưỡng tối thiểu
cho độ đo chắc chắn để lọc ra các kết quả phù hợp.
• Mới (Novelty): Các mẫu tìm được phải có tính mới hoặc bất ngờ (ít nhất là
đối với hệ thống). Tính mới có thể được đo đối với sự thay đổi trong dữ
liệu (bằng việc so sánh các giá trị hiện tại với các giá trị trước hoặc các giá
trị mong muốn) hoặc tri thức (kết quả tìm kiếm mới có quan hệ như thế nào
đối với kết quả cũ).
10
• Hữu dụng tiềm năng (Potentially Useful): Các mẫu có thể có khả năng hữu
dụng, nó thể hiện các kết quả tìm được có phù hợp với mục tiêu của người
dùng không. Tính hữu dụng thường được đo bằng các hàm tiện ích là ánh
xạ từ không gian kết quả đến không gian mục tiêu với một độ đo nào đó.
• Khả năng có thể hiểu được (Understandability): Mục đích của KDD là tạo
ra các mẫu mà con người có khả năng hiểu được để có thể nắm bắt tốt hơn
về dữ liệu. Điều này rất khó xác định một cách chính xác do vậy người ta
sử dụng một thông số khác là độ đo tính đơn giản (Simplicity). Có nhiều độ
đo tính đơn giản được sử dụng, từ việc đo về cú pháp (ví dụ là kích thước
của mẫu) đến ngữ nghĩa (ví dụ như con người có dễ nhận thức được không
trong một số tình huống).
Một độ đo khác rất quan trọng được gọi là mức độ hấp dẫn (Interestingness)
thường là độ đo tổng thể kết hợp các độ đo trên của các mẫu hoặc mô hình tìm
được, tuỳ theo mục đích của người sử dụng mà mỗi độ đo riêng biệt được gán một
trọng số nhất định khi kết hợp trong độ đo tổng thể.
1.3 Quá trình phát hiện tri thức và khai phá dữ liệu
Theo [1], quá trình phát hiện tri thức và khai phá dữ liệu được thực hiện
thông qua nhiều bước và được lặp đi lặp lại. Dưới đây là tóm tắt lại những bước
cơ bản trong quá trình này đã được mô tả chi tiết trong [1].
Bước 1: Tìm hiểu lĩnh vực áp dụng và xác định bài toán, còn được gọi là tìm
hiểu tri thức lĩnh vực. Đây là bước tiên quyết để có thể trích rút ra được
những tri thức hữu dụng và lựa chọn được các phương pháp khai phá dữ
liệu thích hợp cho bước 3 tuỳ thuộc vào mục đích sử dụng và bản chất của
dữ liệu.
Bước 2: Thu thập và tiền xử lý dữ liệu: Lựa chọn các nguồn dữ liệu, xử lý nhiễu
hoặc loại những dữ liệu dư thừa, xử lý dữ liệu khiếm khuyết, chuyển đổi
dữ liệu và rút gọn dữ liệu… Bước này thường chiếm phần lớn thời gian
trong cả tiến trình KDD.
Bước 3: Khai phá dữ liệu: Tìm kiếm các mẫu/mô hình ẩn chứa trong dữ liệu
bằng các thuật toán khai phá dữ liệu nào đó phù hợp với từng loại dữ liệu
đầu vào. Các lớp bài toán quan trọng của khai phá dữ liệu là mô hình hoá
dự báo như phân lớp và hồi qui; phân đoạn và phân cụm; mô hình hoá sự
phụ thuộc như các mô hình đồ thị hoặc dự tính mật độ; tổng quát hoá như
11
tìm mối quan hệ giữa các trường, sự liên kết, biểu diễn trực quan; mô hình
hoá hoặc phát hiện sự thay đổi và sự chênh lệch trong dữ liệu và tri thức.
Hình 1.3 Qui trình 5 bước khai phá dữ liệu
Bước 4: Thể hiện tri thức đã được phát hiện: Thể hiện các tri thức đã được phát
hiện theo các phương pháp mô tả và dự báo, đây là hai đích cơ bản nhất của
các hệ thống phát hiện tri thức. Các thí nghiệm chỉ ra rằng các mẫu hoặc
mô hình phát hiện được từ dữ liệu thường không được quan tâm hoặc trực
tiếp sử dụng ngay và tiến trình KDD cần thiết phải lặp lại với sự đánh giá
tri thức được phát hiện. Để đánh giá các luật thu được, người ta thường chia
dữ liệu ra thành hai tập, huấn luyện trên một tập và kiểm tra trên tập kia.
Quá trình này có thể lặp đi lặp lại nhiều lần với những cách phân chia khác
nhau, kết quả trung bình có thể dự tính được độ mạnh của các luật. Một
phương pháp đánh giá thường được sử dụng có tên gọi m-fold cross
validation. Với phương pháp này, người ta phân chia tập dữ liệu thành m
tập con một cách ngẫu nhiên và có số lượng phần tử tương đối đều nhau,
sau đó sử dụng 1 tập làm tập kiểm tra và m-1 tập con còn lại làm tập huấn
luyện để thực hiện thuật toán, quá trình này được thực hiện m lần cho m tập
con khác nhau, kết quả cuối cùng sẽ được tính là trung bình cộng của m lần
thực hiện thuật toán. Người ta thường chọn m=10, như vậy phép thử này
sẽ là 10-fold cross validation (xác nhận chéo 10 lần).
1. Tìm hiểu lĩnh vực áp dụng và xác định bài toán
2. Thu thập và tiền xử lý dữ liệu
3. Khai phá dữ liệu
4. Thể hiện tri thức đã được phát hiện
5. Sử dụng tri thức phát hiện được
12
Bước 5: Sử dụng tri thức phát hiện được: đây là bước cuối cùng trong quá trình
KDD. Trong một số trường hợp, các tri thức có thể được sử dụng mà không
cần đưa vào trong hệ thống máy tính. Trong một số trường hợp khác, người
sử dụng mong muốn các tri thức đã phát hiện có thể đưa vào máy tính để
một số chương trình khai thác được ngay. Việc đưa các kết quả của KDD
vào sử dụng trong thực tế là đích cao nhất của khám phá tri thức.
Không gian các mẫu thường rất lớn và việc liệt kê các mẫu đòi hỏi một số phương
pháp tìm kiếm trong không gian này. Các ràng buộc về khả năng tính toán sẽ xác
định những giới hạn trong không gian con mà các thuật toán có thể thực hiện.
Công việc của khai phá dữ liệu trong tiến trình KDD tập trung chủ yếu vào các
công cụ được sử dụng để trích và liệt kê các mẫu từ dữ liệu. Phát hiện tri thức bao
gồm đánh giá và thể hiện các mẫu để quyết định mẫu nào là tri thức, mẫu nào
không là tri thức, cũng bao gồm việc lựa chọn các cách mã hoá, tiền xử lý, lấy
mẫu và chiếu trên các thuộc tính trước khi thực hiện khai phá dữ liệu.
1.4 Các phương pháp khai phá dữ liệu
Trong [4] đã chỉ ra hai mục tiêu cơ bản của khai phá dữ liệu là nhằm dự
báo và mô tả. Dự báo đòi hỏi sử dụng một số biến hoặc trường trong cơ sở dữ liệu
để tìm giá trị chưa biết hoặc giá trị tương lai của các biến cần quan tâm. Mô tả tập
trung vào việc tìm kiếm các mẫu thể hiện dữ liệu mà con người có thể hiểu được.
Với các ứng dụng khai phá dữ liệu khác nhau thì mức độ quan trọng của việc dự
báo hay mô tả cũng sẽ khác nhau. Ở đây ta sẽ tìm hiểu chi tiết các phương pháp
khai phá dữ liệu thông dụng được nêu trong [4]:
• Phân lớp là việc xác định một hàm ánh xạ các mục dữ liệu vào một trong
nhiều lớp đã được xác định trước. Ví dụ dưới đây thể hiện phân lớp theo
hai chỉ tiêu là thu nhập và mức độ chi tiêu của các hộ gia đình.
Chi tiêu
Thu nhập
Hình 1.4 Phân lớp dựa theo mức chi tiêu và thu nhập của các hộ gia đình
13
• Hồi qui là việc xác định một hàm ánh xạ một mục dữ liệu đến một giá trị
dữ liệu thực của biến dự báo.
• Phân cụm là công việc mang tính mô tả thông thường, nó sẽ xác định tập
hữu hạn các nhóm hoặc các cụm để mô tả dữ liệu. Các nhóm đó có thể là
duy nhất và chi tiết hoặc có thể có các cách biểu diễn phong phú hơn như
phân cấp hoặc chồng nhau.
• Tổng quát hoá bao gồm các phương pháp để tìm kiếm một mô tả ngắn gọn
và tổng quát cho một tập con dữ liệu. Một ví dụ đơn giản là có thể lập bảng
về trung vị và độ lệch chuẩn cho tất cả các trường. Các phương pháp phức
tạp hơn bao gồm suy dẫn ra các luật tổng kết, các kỹ thuật thể hiện đa biến
và phát hiện những mối quan hệ giữa các biến. Các kỹ thuật tổng kết thường
sử dụng các phương pháp khai phá dữ liệu tương tác và tự động sinh ra báo
cáo.
• Mô hình hoá sự phụ thuộc bao gồm việc tìm một mô hình mô tả những sự
phụ thuộc cơ bản giữa các biến. Các mô hình phụ thuộc tồn tại ở hai mức:
mức cấu trúc (thường trong dạng đồ hoạ) của các mô hình xác định các biến
nào phụ thuộc cục bộ lẫn nhau, mức định lượng của các mô hình xác định
độ mạnh của các phụ thuộc và thường sử dụng độ đo số.
• Phát hiện thay đổi và chênh lệch tập trung vào việc phát hiện những thay
đổi đáng chú ý trên dữ liệu từ những giá trị được đo trước đó.
• Biểu diễn mô hình là phương pháp để mô tả những mẫu hoặc mô hình có
thể được phát hiện. Nếu biểu diễn này bị hạn chế và có nhiều ràng buộc thì
khi đó không thể tìm được mô hình đúng đắn cho dữ liệu. Do vậy điều quan
trọng là người phân tích dữ liệu phải hiểu đầy đủ các giả thiết của mô hình
biểu diễn và người thiết kế thuật toán phải xác định rõ các giả thiết của mô
hình biểu diễn được thực hiện trong thuật toán cụ thể.
• Đánh giá mô hình dự tính khả năng đáp ứng của một mẫu hoặc mô hình và
các tham số của nó với các tiêu chí kết quả của tiến trình KDD. Đánh giá
độ chính xác dự báo (tính hợp lệ) được dựa trên kiểm tra chéo. Đánh giá
chất lượng mô tả bao gồm độ chính xác dự báo, tính mới, tính hữu dụng và
khả năng có thể hiểu được của mô hình. Cả các tiêu chí logic và thống kê
có thể được sử dụng để đánh giá mô hình.
14
• Phương pháp tìm kiếm có hai bài toán là tìm kiếm tham số và tìm kiếm mô
hình. Trong tìm kiếm tham số, thuật toán phải tìm ra các tham số mà nó tối
ưu các tiêu chí đánh giá mô hình cho những dữ liệu được quan sát cho trước
và một biểu diễn mô hình cố định. Tìm kiếm mô hình tập trung vào việc lặp
trên phương pháp tìm kiếm tham số: biểu diễn mô hình được thay đổi vì
vậy một họ các mô hình được xem xét. Với mỗi biểu diễn mô hình cụ thể,
phương pháp tìm kiếm tham số được thực hiện để xác định chất lượng của
mô hình. Thiết lập các phương pháp tìm kiếm mô hình thường theo xu
hướng sử dụng các kỹ thuật tìm kiếm gần đúng khi không gian mô hình rất
lớn.
1.5 Các vấn đề cần nghiên cứu của phát hiện tri thức và khai phá dữ liệu
Phát hiện tri thức và khai phá dữ liệu là một lĩnh vực mới và đang được
nghiên cứu, ứng dụng một cách nhanh chóng, mạnh mẽ, tuy nhiên vẫn còn nhiều
bài toán và nhiều thách thức đặt ra cho các nhà nghiên cứu, các thách thức này có
thể được phân chia theo các nhóm vấn đề [4]:
• Phương pháp luận khai phá dữ liệu:
o Khai phá các loại tri thức từ các loại dữ liệu khác nhau như dữ liệu
sinh học, web… Các dữ liệu được thu thập từ nhiều nguồn khác nhau
và được thể hiện dưới nhiều dạng khác nhau một cách hỗn hợp, hỗn
tạp vì thế yêu cầu các hệ thống khai phá dữ liệu phải có khả năng
khai phá và tích hợp các dữ liệu này trong cùng một quá trình khai
phá. Mặt khác, có những loại dữ liệu có nhiều đặc điểm riêng như dữ
liệu dạng chuỗi (sequence), chuỗi thời gian (time-series)… do vậy
cần phải có các phương pháp khai phá dữ liệu khác nhau cho chúng.
Các thuộc tính của dữ liệu cũng có các cấu trúc và mối quan hệ lẫn
nhau phức tạp. Cấu trúc phân cấp của các thuộc tính hoặc các giá trị,
các quan hệ giữa các thuộc tính và các cách phức tạp hơn nữa để biểu
diễn tri thức về nội dung của cơ sở dữ liệu sẽ yêu cầu các thuật toán
có thể sử dụng hiệu quả trên những thông tin này. Các thuật toán khai
phá dữ liệu trước đây đã được phát triển cho những bản ghi có thuộc
tính và giá trị đơn giản, nhưng những kỹ thuật mới để suy dẫn các
quan hệ giữa các biến cũng đang được phát triển.
o Khả năng thực hiện. Hiệu suất, hiệu lực và khả năng mở rộng của
thuật toán. Khối lượng dữ liệu ngày càng lớn có kích thước lên đến
hàng terabyte hay petabyte do vậy cần thiết phải nghiên cứu các thuật
15
toán có hiệu năng cao để có thể xử lý được những dữ liệu như vậy.
Ngoài đặc điểm về số lượng dữ liệu lớn, số chiều của dữ liệu cũng
có khả năng lớn, do vậy cần có các phương pháp hay thuật toán để
xử lý và trích chọn những đặc trưng, tìm kiếm mô hình trên đó.
o Kiểm định mẫu/mô hình. Nghiên cứu các phương pháp kiểm tra và
đánh giá các mẫu/mô hình đã khai phá được có khả năng ứng dụng
hay phù hợp với lĩnh vực yêu cầu hay không.
o Xử lý dữ liệu nhiễu và dữ liệu không đầy đủ. Đây là một bài toán rất
dễ gặp trong các cơ sở dữ liệu kinh doanh. Các thuộc tính quan trọng
có thể bị khuyết nếu như cơ sở dữ liệu không được thiết kế với ý
tưởng phát hiện tri thức. Các giải pháp có thể bao gồm các sử dụng
nhiều chiến lược thống kê phức tạp để xác định những biến ẩn và
những sự phụ thuộc.
o Các phương pháp khai phá song song, phân tán và gia tăng. Với sự
gia tăng dữ liệu ngày một nhiều và số chiều dữ liệu ngày một lớn cần
thiết phải nghiên cứu các kỹ thuật và phương pháp khai phá dữ liệu
trên các hệ thống song song, phân tán. Các phương pháp khai phá dữ
liệu gia tăng (incremental) cũng cần được nghiên cứu để có thể thực
hiện trên các bộ dữ liệu lớn và cải thiện tốc độ khai phá dữ liệu. Khai
phá dữ liệu gia tăng cũng nhằm đáp ứng cho việc dữ liệu thay đổi
nhanh chóng có thể làm cho các mẫu tìm được trước đó không đúng.
Hơn nữa, các biến được đo trong một cơ sở dữ liệu ứng dụng đã cho
có thể bị thay đổi, xoá hoặc thêm vào với những thước đo mới theo
thời gian. Các giải pháp có thể bao gồm các phương pháp mang tính
gia tăng để cập nhật các mẫu và xử lý các thay đổi như một cơ hội
để phát hiện bằng cách sử dụng nó để gợi ý chỉ cho các mẫu của sự
thay đổi đó
o Tích hợp tri thức đã khai phá được với các hệ thống đã tồn tại, kết
hợp với tri thức cơ sở đã có. Nhiều phương pháp KDD, nhiều công
cụ hiện tại không thực sự tương tác, không dễ dàng tích hợp với tri
thức có trước của bài toán, ngoại trừ những cách đơn giản như sử
dụng tri thức lĩnh vực với vai trờ là một điều kiện quan trọng trong
toàn bộ các bước của tiến trình KDD.
16
• Tương tác với người dùng:
o Ngôn ngữ truy vấn cho khai phá dữ liệu và tích hợp với các hệ thống
truy vấn khác. Một hệ thống phát hiện độc lập thường không hữu
dụng nhiều. Vấn đề nổi bật của sự tích hợp bao gồm tích hợp với Hệ
quản trị cơ sở dữ liệu (DBMS) thông qua giao diện truy vấn, tích hợp
với các bảng tính và công cụ thể hiện trực quan, trợ giúp các bộ đọc
cảm biến thời gian thực.
o Thể hiện các kết quả đã khai phá được dưới dạng trực quan hoặc biểu
thức. Điểm quan trọng trong các ứng dụng là làm cho con người có
thể hiểu được các mẫu đã phát hiện. Các giải pháp có thể là: biểu
diễn đồ hoạ, cấu trúc luật với những đồ thị có hướng nối, biểu diễn
bằng ngôn ngữ tự nhiên, sử dụng các kỹ thuật trực quan hoá
(visualization) dữ liệu và tri thức.
o Khai phá dữ liệu tương tác với các mức độ trừu tượng tri thức khác
nhau. Các hệ thống phát hiện tri thức và khai phá dữ liệu cần phải có
sự tương tác với người sử dụng để có thể chọn lọc được những thông
tin hay tri thức dưới nhiều dạng và mức độ trừu tượng khác nhau tuỳ
thuộc đối tượng người sử dụng và mục đích sử dụng. Quá trình tương
tác này có thể được thực hiện thông qua các giao diện người sử dụng
để truyền và dự đoán các tham số cho hệ thống khai phá dữ liệu.
1.6 Các lĩnh vực ứng dụng của phát hiện tri thức và khai phá dữ liệu
Mặc dù khai phá dữ liệu và phát hiện tri thức là một xu hướng nghiên cứu
tương đối mới, nhưng thu hút nhiều nhà nghiên cứu bởi vì các ứng dụng thực tế
của nó trong nhiều lĩnh vực. Sau đây là một số ứng dụng tiêu biểu:
– Phân tích dữ liệu và hỗ trợ ra quyết định: ứng dụng này phổ biến trong
thương mại, tài chính và thị trường chứng khoán…
– Giáo dục: phân tích dữ liệu sinh viên đại học để cố vấn lộ trình học tập,
dự đoán khả năng ra trường sớm hay muộn….
– Y tế: Tìm kiếm sự liên quan tiềm năng giữa các triệu chứng, chẩn đoán
và phương pháp điều trị (dinh dưỡng, bác sĩ phẫu thuật, toa thuốc)
– Khai phá dữ liệu văn bản và web: Tóm tắt tài liệu, khôi phục văn bản và
tìm kiếm văn bản, phân lớp văn bản và siêu văn bản.
17
– Tin sinh học: Tìm kiếm và so sánh thông tin di truyền điển hình hoặc đặc
biệt như bộ gen và DNA, các mối quan hệ ngầm giữa một số gen và một số
bệnh di truyền, ….
– Tài chính và thị trường chứng khoán: kiểm tra dữ liệu để trích xuất thông
tin dự đoán cho giá của các loại cổ phiếu
– Những ứng dụng khác trong các lĩnh vực viễn thông, bảo hiểm y tế, thiên
văn học, chống khủng bố, thể thao,…
1.7 Kỹ thuật khai phá luật kết hợp
1.7.1 Lý thuyết về luật kết hợp
Từ khi được giới thiệu vào năm 1993 trở đi, bài toán khai phá luật kết hợp
nhận được rất nhiều sự quan tâm của nhiều nhà khoa học. Ngày nay việc khai thác
các luật như thế vẫn là một trong những phương pháp khai phá mẫu phổ biến nhất
trong khai phá dữ liệu và phát hiện tri thức.
Cho một tập I = {I1, I2, …,Im} các tập m khoản mục (item), một giao dịch
(transaction) T được định nghĩa như một tập con (subset) của các khoản mục trong
I (T I). Tương tự như khái niệm tập hợp, các giao dịch không được trùng lặp,
nhưng có thể nới rộng tính chất này của tập hợp và trong các thuật toán sau này,
người ta đều giả thiết rằng các khoản mục trong một giao dịch và trong tất cả các
tập mục (item set) khác, có thể coi chúng đã được sắp xếp theo thứ tự từ điển của
các item.
Gọi D là cơ sở dữ liệu của n giao dịch và mỗi giao dịch được đánh nhãn với
một định danh duy nhất (Unique Transasction Identifier). Nói rằng, một giao dịch
T D hỗ trợ (support) cho một tập X I nếu nó chứa tất cả các item của X,
nghĩa là X T, trong một số trường hợp người ta dùng ký hiệu T(X) để chỉ tập
các giao dịch hỗ trợ cho X. Kí hiệu support(X) (hoặc sup(X), s(X)) là tỷ lệ phần
trăm của các giao dịch hỗ trợ X trên tổng các giao dịch trong D, nghĩa là:
sup(X) = T D, X T / D
Độ hỗ trợ tối thiểu (minimum support) minsup là một giá trị cho trước bởi
người sử dụng. Nếu tập mục X có sup(X) minsup thì ta nói X là một tập các
mục phổ biến (hoặc large itemset). Một tập phổ biến được sử dụng như một tập
đáng quan tâm trong các thuật toán, ngược lại, những tập không phải tập phổ biến
là những tập không đáng quan tâm. Trong các trình bày sau này, ta sẽ sử dụng
những cụm từ khác như “X có độ hỗ trợ tối thiểu”, hay “X không có độ hỗ trợ
18
tối thiểu” cũng để nói lên rằng X thỏa mãn hay không thỏa mãn điều kiện
support(X) minsup.
1.7.2 Định nghĩa luật kết hợp
Một luật kết hợp có dạng R: X => Y, trong đó X, Y là tập các mục, X, Y I và
XY = . X được gọi là tiên đề và Y được gọi là hệ quả của luật.
Luật X => Y tồn tại một độ tin cậy c (confidence-conf). Độ tin cậy c được
định nghĩa là khả năng giao dịch T hỗ trợ X thì cũng hỗ trợ Y. Ta có công thức
tính độ tin cậy c như sau:
Tuy nhiên, không phải bất cứ luật kết hợp nào có mặt trong tập các luật có
thể được sinh ra cũng đều có ý nghĩa trên thực tế. Mà các luật đều phải thoả mãn
một ngưỡng hỗ trợ và tin cậy cụ thể. Thực vậy, cho một tập các giao dịch D, bài
toán phát hiện luật kết hợp là sinh ra tất cả các luật kết hợp mà có độ tin cậy (conf)
lớn hơn độ tin cậy tối thiểu (minconf) và độ hỗ trợ (supp) lớn hơn độ hỗ trợ tối
thiểu (minsupp) tương ứng do người dùng xác định.
Quy trình khai phá luật kết hợp được thực hiện lần lượt theo hai bài toán sau:
– Bài toán 1: Tìm tất cả các tập mục mà có độ hỗ trợ lớn hơn độ hỗ trợ tốt
thiểu do người dùng xác định. Các tập mục thoả mãn độ hỗ trợ tối thiểu
được gọi là các tập mục phổ biến (theo ngưỡng minsupp).
– Bài toán 2: Dùng các tập mục phổ biến để sinh ra các luật mong muốn.
Ý tưởng chung là nếu gọi ABCD và AB là các tập mục phổ biến, thì
chúng ta có thể xác định luật nếu AB => CD giữ lại với tỷ lệ độ tin cậy:
nếu conf ≥ minconf thì luật được giữ lại (luật này sẽ thoả mãn độ hỗ
trợ tối thiểu vì ABCD là phổ biến)
Các thành phần cấu tạo nên một luật bao gồm:
– Phần tiền đề (antecedent): Thông thường gồm nhiều mệnh đề, thường
được kết hợp với nhau bởi toán tử AND.