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

Khoá luận tốt nghiệp tìm hiểu khai phá dữ liệu và ứng dụng trong đào tạo

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 (376 KB, 0 trang )

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
VIỆN CÔNG NGHỆ THÔNG TIN
------------

NGUYỄN THỊ THU

TÌM HIỂU VỀ KHAI PHÁ DỮ LIỆU
VÀ ỨNG DỤNG TRONG ĐÀO TẠO

KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành: Sư phạm Tin học

HÀ NỘI, 2019


TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
VIỆN CÔNG NGHỆ THÔNG TIN
------------

NGUYỄN THỊ THU

TÌM HIỂU VỀ KHAI PHÁ DỮ LIỆU
VÀ ỨNG DỤNG TRONG ĐÀO TẠO

KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành: Sư phạm Tin học

Giáo viên hướng dẫn:

Đỗ Thị Lan Anh


HÀ NỘI, 2019


LỜI CẢM ƠN
Trong thời gian nghiên cứu và làm đề tài, em đã gặp không ít khó khăn
về cách làm và kiến thức. Tuy nhiên, em đã nhận được sự giúp đỡ tận tình của
cô giáo và các bạn, em đã hoàn thành đề tài này.
Có được thành quả này, cho phép em được bày tỏ lời cảm ơn đến các
thầy cô giáo trong Viện Công Nghệ Thông Tin Trường Đại Học Sư Phạm Hà
Nội 2 đã giúp em hoàn thành chương tìn và đề tài này.
Đồng thời em gửi lời cảm ơn đặc biệt về sự hướng dẫn và chỉ bảo của
cô giáo Ths. Đỗ Thị Lan Anh đã tận tình giúp đỡ em trong suốt quá trình
hoàn thành chương trình cũng như đề tài này.
Cùng với sự góp ý và hỗ trợ của các bạn trong lớp K41- Sư phạm Tin
học. Tuy nhiên do thời gian có hạn, cũng như kinh nghiệm còn thiếu nên
trong đề tài sẽ không tránh khỉ những thiếu xót, hạn chế nhất định. Những ý
kiến, nhận xét của thầy cô và các bạn là cơ sở để em học hỏi và hoàn thiện tốt
kiến thức của mình hơn. Em rất mong nhận được nhận xét và góp ý của thầy
cô và các bạn.
Em xin chân thành cảm ơn!

Sinh viên thực hiện

Nguyễn Thị Thu


LỜI CAM ĐOAN
Tôi xin cam đoan khoá luận được hoàn thành bằng sự cố gắng của bản
thân, dưới sự hướng dẫn tận tình của giảng viên Ths. Đỗ Thị lan Anh và tham
khảo một số tài liệu đã được ghi rõ nguồn.

Khoá luận hoàn toàn không sao chép từ tài liệu có sẵn nào. Kết quả
nghiên cứu không trùng lặp với các tác giả khác.
Nếu sai, tôi xin hoàn toàn chịu trách nhiệm!
Sinh viên thực hiện

Nguyễn Thị Thu


MỤC LỤC
ĐẶT VẤN ĐỀ ................................................................................................... 1
CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU ................................. 3
1.1. Khái niệm về khai phá dữ liệu và phát triển tri thức ................................. 3
1.2. Các bước trong quá trình phát hiện tri thức ............................................... 4
1.3. Kiến trúc hệ thống khai phá dữ liệu ........................................................... 5
1.4. Các nhiệm vụ trong khai phá dữ liệu ......................................................... 6
1.4.1. Phát hiện các luật tối ưu truy vấn ngữ nghĩa........................................... 6
1.4.2. Phát hiện sự phụ thuộc cơ sở dữ liệu ...................................................... 7
1.4.3. Phát hiện sự sai lệch ................................................................................ 7
1.4.4. Phát hiện luật kết hợp .............................................................................. 8
1.4.5. Mô hình hóa sự phụ thuộc....................................................................... 9
1.4.6. Mô hình hóa nhân quả ............................................................................. 9
1.4.7. Phân nhóm ............................................................................................. 10
1.4.8. Phân lớp................................................................................................. 10
1.4.9. Hồi quy .................................................................................................. 11
1.4.10. Tổng hợp ............................................................................................. 11
1.5. Sơ lược về một số kĩ thuật khai phá dữ liệu............................................. 12
1.5.1. Phân lớp dữ liệu .................................................................................... 12
1.5.2. Phân cụm dữ liệu ................................................................................... 12
1.5.3. Cây quyết định ...................................................................................... 12
1.5.4. Luật kết hợp .......................................................................................... 13

1.5.5. Hồi quy .................................................................................................. 13
1.5.6. Mạng Nơron .......................................................................................... 14
1.5.7. Giải thuật di truyền................................................................................ 14
1.6. Các cách thức và giải pháp cơ bản ........................................................... 14
1.7. Kết luận .................................................................................................... 16
CHƯƠNG 2: CƠ SỞ LÍ THUYẾT LUẬT KẾT HỢP ................................... 17
2.1. Lí thuyết về luật kết hợp .......................................................................... 17


2.1.1. Luật thừa ............................................................................................... 17
2.1.2. Luật kết hợp .......................................................................................... 18
2.1.3. Một số tính chất của luật kết hợp .......................................................... 21
2.1.4. Phát biểu bài toán khai phá luật kết hợp ............................................... 22
2.1.5. Một số hướng tiếp cận trong khai phá luật kết hợp .............................. 23
2.2. Các đặc trưng của luật kết hợp ................................................................. 26
2.2.1. Không gian tìm kiếm luật ...................................................................... 26
2.2.2. Độ hỗ trợ của luật .................................................................................. 28
2.3. Một số thuật toán cơ bản .......................................................................... 29
2.3.1. Thuật toán Apriori ................................................................................. 29
2.3.2. Thuật toán Apriori-tid ........................................................................... 34
2.3.3. Thuật toán AIS ...................................................................................... 37
2.3.4. Thuật toán SETM .................................................................................. 39
2.3.5. Thuật toán CHARM .............................................................................. 42
2.4. Kết luận .................................................................................................... 44
CHƯƠNG 3:
ỨNG DỤNG KHAI PHÁ LUẬT KẾT HỢP TRONG ĐÀO TẠO ................ 45
3.1. Bài toán .................................................................................................... 45
3.2. Công cụ sử dụng trong chương trình ....................................................... 45
3.3. Mô tả dữ liệu bài toán .............................................................................. 47
3.4. Chuẩn hoá dữ liệu đầu vào cho thuật toán ............................................... 48

3.5 Kết quả khai phá luật kết hợp sử dụng thuật toán Apriori ....................... 50
3.6 Kết quả khai phá dữ liệu từ cơ sở dữ liệu điểm của trường Đại học Sư
Phạm Hà Nội 2 ................................................................................................ 53
3.7 Kết luận ..................................................................................................... 53
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ...................................................... 54
TÀI LIỆU THAM KHẢO ............................................................................... 55


DANH MỤC CÁC TỪ VIẾT TẮT

Từ viết tắt Tiếng Anh

Tiếng Việt

Ck

Ck

Tập K-itemset ứng cử

Conf

Confidence

Độ tin cậy

CSDL

Database


Cơ sở dữ liệu

Item

Item

Khoản mục

Itemset

Itemset

Tập các khoản mục

K-itemset

K- itemset

Tập gồm K mục

KDD

Knowledge

Discovery

and Kĩ thuật phát hiện tri thức và

Data Mining


khai phá dữ liệu

Lk

Lk

Tập các K- itemset phổ biến

Min_conf

Minimum Confidence

Độ tin cậy tối thiểu

Minsup

Minimum Support

Độ hỗ trợ tối thiểu

Supp

Support

Độ hỗ trợ

TID

Transaction Indentification


Định danh giao tác

SQL

Structured Query Language

Ngôn ngữ vấn đáp chuẩn

SQO

Sematics Query Optimization

Tối ưu hoá truy vấn ngữ
nghĩa


DANH MỤC HÌNH VẼ
Hình 1.1 Quy trình phát hiện tri thức ............................................................... 4
Hình 2.1: Dàn cho tập I = {1, 2, 3, 4} ............................................................ 26
Hình 2.2 Cây cho tập I = {1, 2, 3, 4} .............................................................. 27
Hình 2.3: Các bước thực hiện thuật toán apriori ........................................... 33
Hình 2.4: Các bước thực hiện thuật toán Apriori_TID .................................. 36
Hình 2.5. Các bước thực hiện thuật toám AIS ................................................ 38
Hình 2.6: Các bước thực hiện thuật toám SETM............................................ 41
Hình 3.1 Giao diện phần mềm WEKA ............................................................ 46
Hình 3.2 Môi trường Weka Explorer .............................................................. 47
Hình 3.3: Bảng dữ liệu khoá 41 ...................................................................... 48
Hình 3.4: Phân bố điểm của sinh viên học môn Tin học đại cương ............... 50
Hình 3.5: Phân bố điểm sinh viên ứng với các môn khác nhau ..................... 51



DANH MỤC BẢNG
Bảng 2.1: Ví dụ về một cơ sở dữ liệu dạng giao dịch - F ............................... 19
Bảng 2.2 : Các tập phổ biến trong cơ sở dữ liệu ở bảng 2.1 với độ hỗ trợ tối
thiểu 25%......................................................................................................... 20
Bảng 2.3 Cơ sở dữ liệu giao dịch D ................................................................ 32
Bảng 2.4: Cơ sở dữ liệu giao dịch D1 ............................................................. 35
Bảng 3.1: Các luật thu được trên dữ liệu sinh viên của lớp Sư phạm Tin học
khoá 41 ............................................................................................................ 52


ĐẶT VẤN ĐỀ
1. Lí do chọn đề tài
Khai phá dữ liệu (KPDL) là quá trình dựa trên những dữ liệu có sẵn,
tìm kiếm các mẫu mới, những thông tin tiềm ẩn mang tính dự đoán trong các
khối dữ liệu lớn. Những công cụ khai phá dữ liệu có thể dự đoán những xu
hướng trong tương lai. Sự phân tích một cách tự động và mang tính dự báo
của khai phá dữ liệu có ưu thế hơn hẳn so với phân tích thông thường ở chỗ,
khai phá dữ liệu có thể sử dụng với các cơ sở dữ liệu (CSDL) chứa dữ liệu
không đầy đủ hoặc biến đổi liên tục.
Một trong những nội dung cơ bản nhất trong khai phá dữ liệu và rất phổ
biến là phát hiện các luật kết hợp. Phương pháp này nhằm tìm ra các tập thuộc
tính thường xuất hiện đồng thời trong cơ sở dữ liệu và rút ra các luật về ảnh
hưởng của một tập thuộc tính dẫn đến sự xuất hiện của một thuộc tính khác
như thế nào. Apriori là thuật toán luật kết hợp, việc áp dụng thuật toán Apriori
vào khai phá dữ liệu sẽ giúp phát hiện ra các luật kết hợp. Vì vậy, việc lựa
chọn thuật toán luật kết hợp để ứng dụng vào việc khai phá dữ liệu sẽ mang
lại hiệu quả tốt. Đây là phương pháp điển hình cho việc tư vấn, đặc biệt là
trong đào tạo.Vì vậy tôi chọn đề tài “Tìm hiểu khai phá dữ liệu và ứng
dụng trong đào tạo”. Kết quả nghiên cứu cung cấp các thông tin hỗ trợ sinh

viên lựa chọn môn học, hướng nghiên cứu, đồng thời hỗ trợ cán bộ phòng đào
tạo thuận lợi hơn trong công tác đào tạo. Cụ thể là tìm ra các luật có ích giúp
cho các nhà quản lí đào tạo sắp xếp khung chương trình, lên thời khoá biểu,…
2. Mục đích và nhiệm vụ nghiên cứu
- Mục đích: Giúp tư vấn cho quá trình đào tạo từ việc cài đặt thuật
toán Apriori sinh các luật kết hợp từ đó giúp tư vấn trong đào tạo.
- Nhiệm vụ nghiên cứu:
+ Tìm hiểu khai phá dữ liệu
+ Tìm hiểu các thuật toán khai phá đặc biệt là thuật toán Apriori

1


+ Cài đặt chương trình thử nghiệm
3. Phương pháp nghiên cứu
- Phương pháp nghiên cứu lí thuyết.
- Phương pháp thực nghiệm: lấy dữ liệu mẫu và cài đặt thử nghiệm.

2


CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1. Khái niệm về khai phá dữ liệu và phát triển tri thức
Với sự phát triển mạnh mẽ của công nghệ thông tin con người đã xây
dựng được nhiều hệ CSDL lớn tập trung hoặc phân tán, nhiều hệ quản trị
CSDL mạnh với các công cụ phong phú giúp con người khai thác hiệu quả
hơn các nguồn tài nguyên dữ liệu trong các hoạt động kinh tế xã hội.
Sự phát triển nhanh chóng của công nghệ thông tin dẫn đến một lượng lớn
dữ liệu được thu thập và lưu trữ trong các CSDL lớn đã vượt qua khả năng
của con người có thể hiểu được chúng nếu không có những công cụ hỗ trợ tốt.

Dẫn tới một lượng lớn dữ liệu ít được xem xét tới. Vì vậy khi con người đưa
ra quyết định thường không dựa vào những thông tin và dữ liệu thu thập được
mà dựa vào nhận thức và suy đoán để đưa ra quyết định. Tình huống đặt ra ở
đây là nhiều dữ liệu nhưng vẫn thiếu thông tin và thiếu tri thức. Do đó một kĩ
thuật mới đã ra đời đó là kĩ thuật khai phá tri thức trong cơ sở dữ liệu
(Knowledge Discovery in Database) gọi tắt KDD.
Năm 1989 thuật ngữ KDD được đưa ra với ý nghĩa là thực hiện các xử lý
để tìm ra các tri thức trong CSDL và mục đích nhấn mạnh đến các ứng dụng ở
mức cao hơn của khai phá dữ liệu (data mining). Khai phá dữ liệu thường
được dùng trong các lĩnh vực thống kê, sử dụng phương pháp thống kê để mô
hình dữ liệu và phát hiện các mẫu, luật,…
KDD là một quá trình tổng thể bao gồm nhiều bước nhằm phát hiện ra các
tri thức hữu ích trong dữ liệu còn khai phá dữ liệu chỉ tập trung vào việc ứng
dụng các thuật toán nhằm phát hiện các mẫu từ dữ liệu mà không có thêm các
bước của quá trình KDD như bước kết hợp với tri thức đã có hoặc bước đánh
giá kết quả thu được. Các bước thêm vào này rất cần thiết để thấy được rằng
những thông tin thu được từ dữ liệu là thực sự hữu ích. Nhiều khi các mẫu thu
được từ quá trình khai phá dữ liệu nhờ việc thực hiện một ứng dụng nào đó
không có giá trị hoặc không phục vụ mục đích nào. Như vậy, một quá trình

3


phát hiện tri thức từ dữ liệu đặc trưng bằng các bước lặp chính là lặp lại các
ứng dụng theo một thuật toán khai phá dữ liệu cụ thể và hiểu các mẫu thu
được từ thuật toán này.
Định nghĩa: “KDD là một quá trình không tầm thường của việc xác định
các mẫu mới, có giá trị, có hiệu quả sử dụng và cơ bản hiểu được trong cơ sở
dữ liệu”.[6]
Định nghĩa của Ferruzza: “Khai phá dữ liệu là tập hợp các phương pháp

được dùng trong tiến trình khám phá tri thức để chỉ ra sự khác biệt các mối
quan hệ và các mẫu chưa biết bên trong dữ liệu”. [2]
1.2. Các bước trong quá trình phát hiện tri thức
Quy trình phát hiện tri thức thường tuân theo các bước sau [2]:
Hình thành và định nghĩa bài toán

Thu thập và tiền xử lí dữ liệu

Khai phá dữ liệu, rút ra các tri thức

Phân tích và kiểm định kết quả

Sử dụng các tri thức phát hiện được
Hình 1.1 Quy trình phát hiện tri thức
Bước 1: Hình thành, xác định và định nghĩa bài toán: Là tìm hiểu lĩnh
vực ứng dụng từ đó hình thành bài toán, xác định các nhiệm vụ cần phải hoàn
thành. Bước này sẽ quyết định cho việc rút ra được các tri thức hữu ích và cho
phép chọn các phương pháp khai phá dữ liệu thích hợp với mục đích ứng
dụng và bản chất của dữ liệu.

4


Bước 2: Thu thập và tiền xử lí dữ liệu: Là thu thập và xử lí thô, còn được
gọi là tiền xử lí dữ liệu nhằm loại bỏ nhiễu (làm sạch dữ liệu), xử lí việc thiếu
dữ liệu (làm giàu dữ liệu), biến đổi dữ liệu và rút gọn dữ liệu nếu cần thiết,
bước này thường chiếm nhiều thời gian nhất trong toàn bộ quy trình phát hiện
tri thức. Do dữ liệu được lấy từ nhiều nguồn khác nhau, không đồng nhất, …
có thể gây ra các nhầm lẫn. Sau bước này, dữ liệu sẽ nhất quán, đầy đủ, được
rút gọn và rời rạc hóa.

Bước 3: Khai phá dữ liệu, rút ra các tri thức: Là khai phá dữ liệu, hay nói
cách khác là trích ra các mẫu hoặc/và các mô hình ẩn dưới các dữ liệu. Giai
đoạn này rất quan trọng bao gồm các công đoạn như: chức năng, nhiệm vụ và
mục đích của khai phá dữ liệu, dùng phương pháp khai phá nào? Thông
thường, các bài toán khai phá dữ liệu bao gồm: các bài toán mang tính mô tả đưa ra tính chất chung nhất của dữ liệu, các bài toán dự báo – bao gồm cả việc
phát hiện suy diễn dựa trên dữ liệu hiện có. Tùy theo bài toán xác định được
mà ta sử dụng các phương pháp khai phá dữ liệu cho phù hợp.
Bước 4: Phân tích và kiểm định kết quả: Là hiểu tri thức đã tìm được, đặc
biệt là làm sáng tỏ các mô tả và dự đoán. Các bước trên có thể lặp đi lặp lại
nhiều lần, kết quả thu được lấy trung bình trên tất cả các lần thực hiện.
Bước 5: Sử dụng các tri thức phát hiện được: Là đưa các tri thức tìm được
ứng dụng vào trong thực tế. Do các kết quả có thể là các dự đoán hoặc các mô
tả nên chúng có thể được đưa vào các hệ thống hỗ trợ ra quyết định nhằm tự
động hóa quá trình này.
Tóm lại: KDD là một quá trình kết xuất ra tri thức từ kho dữ liệu mà trong
đó khai phá dữ liệu là công đoạn quan trọng nhất.
1.3. Kiến trúc hệ thống khai phá dữ liệu
Kiến trúc của hệ thống khai phá dữ liệu có thể chia thành các thành phần
chính như sau:

5


- Kho dữ liệu: là một tập các cơ sở dữ liệu, các công cụ làm sạch dữ liệu
và tích hợp dữ liệu có thể thực hiện trên chúng.
- Cơ sở tri thức: là yếu tố tri thức được dùng để đánh giá các mẫu kết
quả khai phá được.
- Kỹ thuật khai phá: là các công cụ để thực hiện các nhiệm vụ: mô tả,
kết hợp, phân lớp, phân nhóm dữ liệu.
- Công cụ đánh giá mẫu: gồm một số modul sử dụng các độ đo và tương

tác với các modul khai phá dữ liệu để tập trung vào các thuộc tính cần
quan tâm.
- Biểu diễn dạng đồ họa: modul này giao tiếp với người dùng và hệ
thống khai phá dữ liệu.
1.4. Các nhiệm vụ trong khai phá dữ liệu
Ngày nay, nhu cầu phát hiện tri thức từ CSDL ngày càng cao dẫn tới sự
phát triển mạnh mẽ của các loại hệ thống phát hiện tri thức trong CSDL. Để
đáp ứng các nhu cầu từ nhiều lĩnh vực khác nhau mà việc phát hiện tri thức
trở lên đa dạng và phong phú hơn. Do đó, nhiệm vụ phát hiện tri thức trong
CSDL cũng trở nên đa dạng hơn và có thể phát hiện rất nhiều tri thức khác
nhau.
1.4.1. Phát hiện các luật tối ưu truy vấn ngữ nghĩa
Là biến đổi các câu truy vấn ban đầu thành một câu truy vấn mới bằng
cách thêm hoặc xóa đi các mối liên kết bằng việc sử dụng các tri thức CSDL
ngữ nghĩa bao gồm các ràng buộc về tính toàn vẹn và sự phụ thuộc hàm để
sản sinh ra các câu truy vấn hiệu quả hơn. Như vậy câu truy vấn đã biến đổi
cũng trả lại cùng câu trả lời giống như câu truy vấn ban đầu trong bất kì trạng
thái nào của CSDL thỏa mãn kiến thức về ngữ nghĩa được sử dụng trong phép
biến đổi. Các hệ thống phát hiện luật SQO có thể được chia thành ba lớp:

6


- Các hệ thống hướng truy vấn (hệ thống báo cáo) trong đó thuật toán
phát hiện tri thức trong CSDL nhằm phục vụ các truy vấn CSDL thực của
người dùng.
- Các hệ thống hướng dữ liệu (hệ thống tác nghiệp) trong đó thuật toán
phát hiện tri thức trong CSDL chủ yếu phục vụ sự phân bổ dữ liệu trong trạng
thái hiện thời của CSDL
- Các hệ thống kết hợp các đặc tính của cả hệ thống hướng truy vấn và

hướng dữ liệu
Một đặc tính quan trọng của các luật SQO, khác với các kiểu phát hiện
tri thức khác, là việc chọn các thuộc tính để tổng hợp một SQO cần phải tính
đến chi phí liên quan như dùng phương pháp truy cập nào và sơ đồ chỉ số
trong hệ quản trị CSDL. Việc này là cần thiết để tiết kiệm thời gian xử lí truy
vấn. Một thuật toán phát hiện tri thức trong CSDL loại này đòi hỏi phải xem
xét tối ưu chi phí.
1.4.2. Phát hiện sự phụ thuộc cơ sở dữ liệu
Trong một mô hình cơ sở dữ liệu quan hệ, chúng ta nghiên cứu quan hệ
trong CSDL quan hệ không tính đến quan hệ giữa các thuộc tính. Các quan hệ
này thường được thể hiện thông qua sự phụ thuộc dữ liệu hoặc ràng buộc toàn
vẹn. Ở đây sẽ sử dụng thuật ngữ phụ thuộc CSDL để chỉ sự phụ thuộc dữ liệu
kiểu này. Sự phụ thuộc CSDL được sử dụng trong thiết kế hoặc duy trì
CSDL. Phương pháp phát hiện tự động sự phụ thuộc CSDL này chính là một
kiểu nhiệm vụ của khai phá dữ liệu.
1.4.3. Phát hiện sự sai lệch
Nhiệm vụ này nhằm khám phá sự thay đổi có ý nghĩa dưới dạng độ đo
đã biết trước hoặc giá trị chuẩn, phát hiện sự sai lệch đáng kể giữa nội dung
của tập con dữ liệu thực và nội dung mong đợi. Hai mô hình sai lệch hay dùng
là lệch theo thời gian và lệch theo nhóm. Sai lệch theo thời gian là sự thay đổi
có ý nghĩa của dữ liệu theo thời gian. Sai lệch theo nhóm là sự khác nhau của

7


giữa dữ liệu trong hai tập con dữ liệu, ở đây tính cả trường hợp tập con dữ
liệu này thuộc tập con kia, nghĩa là xác định dữ liệu trong một nhóm con của
đối tượng có khác đáng kể so với toàn bộ đối tượng không? Theo cách này,
các sai sót dữ liệu hay sai lệch so với giá trị thông thường được phát hiện.
1.4.4. Phát hiện luật kết hợp

Xét ví dụ: Xét một tập các mặt hàng trong một giỏ mua hàng. Vấn đề
đặt ra là tìm những mối liên hệ giữa các mặt hàng trong một giỏ hàng.
Một cách chi tiết là một tập các thuộc tính nhị phân với một tập các bộ,
mỗi bộ được gọi là một giỏ. Các thuộc tính nhị phân được gọi là các mục hay
các mặt hàng trong giỏ mà mỗi mục chỉ nhận một trong hai giá trị đúng hoặc
sai tùy thuộc vào việc khách hàng có mua mặt hàng đó hay không. Chúng
thường được thu thập thông qua công nghệ thông qua mã vạch trong các hoạt
động kinh doanh siêu thị, cửa hàng tạp hóa,…
Một giao dịch có thể chứa một số điều khoản, tập hợp tất cả các điều
khoản sẽ thuộc vào một không gian A nào đó mà mỗi giao dịch khi đó là một
tập con của A. Chúng ta cần phát hiện mối quan hệ, mối kết hợp trong số các
điều khoản chứa trong các giao dịch của một dữ liệu nào đó sao cho sự xuất
hiện của một số điều khoản nào đó trong giao dịch sẽ kéo theo sự xuất hiện
của một số điều khoản khác trong cùng một giao dịch đó.
Một luật kết hợp là một quan hệ có dạng X → Y, trong đó X và Y là
tập các phần tử và X ∩ Y = . Mỗi luật kết hợp được đặc trưng bởi độ hỗ trợ
(supp) và độ tin cậy (conf). Độ hỗ trợ được định nghĩa như tỷ lệ số giỏ thỏa
mãn cả X và Y trên toàn bộ số giỏ chỉ thỏa mãn X.

8


1.4.5. Mô hình hóa sự phụ thuộc
Nhiệm vụ này liên quan tới việc tìm kiếm một mô hình mô tả sự phụ
thuộc giữa các biến, các thuộc tính theo hai mức: mức cấu trúc và mức định
lượng. Mức cấu trúc của mô hình mô tả thường biểu diễn dưới dạng đồ thị.
Trong đó, các biến phụ thuộc bộ phận vào các biến khác. Mức định lượng mô
hình mô tả mức độ phụ thuộc được biểu thị dưới dạng luật “nếu – thì”: “nếu
(tiên đề là đúng) thì (kết luận đúng)”. Về nguyên tắc thì cả tiên đề và luật kết
hợp đều có thể là sự kết hợp logic của các giá trị thuộc tính. Trên thức tế, tiên

đề thường là nhóm các giá trị thuộc tính và kết luận chỉ là một giá trị thuộc
tính. Hơn thế nữa hệ thống có thể phát hiện các luật phân lớp trong đó tất cả
các luật cần phải có cùng một thuộc tính do người dùng chỉ ra trong kết luận.
Quan hệ phụ thuộc cũng có thể biểu diễn dưới dạng mạng tin cậy
Bayes. Đó là một đồ thị có hướng, không có chu trình. Các nút biểu diễn
thuộc tính và trọng số biểu diễn độ mạnh của sự phụ thuộc giữa các nút đó.
1.4.6. Mô hình hóa nhân quả
Nhiệm vụ này tập trung phát hiện mối nhân quả trong thuộc tính. Giống
như luật phụ thuộc các luật nhân quả cũng là các luật “nếu – thì” nhưng mạnh
hơn. Luật phụ thuộc đơn giản chỉ là một mối quan hệ tương hỗ giữa tiên đề và
kết luận của luật mà không có ý nghĩa quan hệ nhân quả trong quan hệ này. Do
đó, cả tiên đề và kết luận có thể quan hệ dưới sự ảnh hưởng của một biến thứ
ba, nghĩa là một thuộc tính có thể có ở trong tiên đề hoặc trong kết luận. Luật
nhân quả không chỉ chỉ ra mối tương quan giữa tiên đề và kết luận mà còn cho
biết tiên đề thực sự tạo ra kết luận và mối quan hệ giữa hai thành phần này là
trực tiếp. Tập các mối quan hệ có thể được biểu diễn bằng đồ thị nhân quả.
Thuật toán CAUDISCO phát hiện các luật nhân quả bằng cách áp dụng
các phép kiểm tra sự độc lập thống kê của từng cặp thuộc tính. Sau đó, đối với
các thuộc tính phụ thuộc lẫn nhau, thuật toán sẽ xác định mối quan hệ là có

9


xác thực, tiềm năng hay chỉ là một liên kết giả tạo, không phụ thuộc vào tập
các điều kiện thỏa mãn bởi quan hệ nhân quả.
Các quan hệ nhân quả cần phụ thuộc vào thời gian theo định nghĩa là
nguyên nhân trước kết luận. Nguyên nhân và kết quả đều có ít nhất một sự
kiện thời gian đi kèm và thời gian của kết quả phải đi sau thời gian của
nguyên nhân. Mặc dù yếu tố thời gian làm rõ ý nghĩa nhân quả nhưng hệ
thống thường khó phân biệt các liên kết giả tạo.

1.4.7. Phân nhóm
Là việc mô tả chung để tìm ra các tập hay các nhóm, loại mô tả dữ liệu.
Các nhóm có thể tách nhau hoặc phân cấp. Tức là dữ liệu có thể vừa thuộc
nhóm này lại vừa thuộc nhóm khác. Các ứng dụng khai phá dữ liệu có nhiệm
vụ phân nhóm như: phát hiện tập các cửa hàng bán hàng trực tuyến uy tín trên
ứng dụng bán hàng trực tuyến; xác định các quang phổ từ các phương pháp đo
tia hồng ngoại, … Liên quan chặt chẽ đến việc phân nhóm là nhiệm vụ đánh
giá dữ liệu, hàm mật độ xác suất đa biến/ các trường trong CSDL.
1.4.8. Phân lớp
Phân lớp là việc xác định một hàm ánh xạ từ một mẫu dữ liệu vào một
trong số các lớp đã được biết trước đó. Mục tiêu của thuật toán phân lớp là
tìm ra mối quan hệ nào đó giữa thuộc tính dự báo và thuộc tính phân lớp. Quá
trình phân lớp có thể sử dụng mối quan hệ này để dự báo cho các mục mới.
Các kiến thức biểu diễn dưới dạng các luật có dạng: “Nếu các thuộc tính dự
báo của một mục thỏa mãn điều kiện của các tiền đề thì mục nằm trong lớp
chỉ ra trong kết luận”.
Ví dụ: Một mục biểu diễn thông tin về các nhân viên trong đó các thuộc
tính dự báo là: họ tên, tuổi, giới tính, trình độ học vấn,… và thuộc tính phân
lớp là trình độ lãnh đạo của nhân viên.

10


1.4.9. Hồi quy
Hồi quy là việc học một hàm ánh xạ từ một mẫu dữ liệu thành một biến
dự đoán có giá trị thực. Về khái niệm, nhiệm vụ hồi quy tương tự như phân
lớp. Điểm khác nhau chính là ở chỗ thuộc tính để dự báo là liên tục chứ
không phải rời rạc. Việc dự báo các giá trị số thường được làm bởi các
phương pháp thống kê cổ điển, chẳng hạn như hồi quy tuyến tính. Tuy nhiên,
các phương pháp mô hình hóa cũng được sử dụng như cây quyết định, trong

đó nút lá là mô hình tuyến tính phát sinh tập các lớp giả có giá trị thuộc tính
đích tương tự nhau, sau đó sử dụng phương pháp quy nạp để thay thế các lớp
trong luật quy nạp bằng tổ hợp các giá trị của thuộc tính lớp cho các bộ dữ
liệu theo luật.
Ứng dụng của hồi quy là rất nhiều: dự báo nhu cầu của người dùng với
một sản phẩm trong dịp tết; dự đoán số lượng sinh vật phát quang hiện thời
trong khu rừng bằng cách dò tìm vi sóng bằng các thiết bị cảm biến từ xa; dự
đoán giá bất động sản bằng cách kiểm tra các thuộc tính như: vị trí địa lí, năm
xây dựng, số phòng ngủ,…
1.4.10. Tổng hợp
Nhiệm vụ tổng hợp là công việc liên quan đến các phương pháp tìm
kiếm một mô tả tập con dữ liệu. Kĩ thuật tổng hợp thường áp dụng trong việc
phân tích dữ liệu có tính thăm dò và báo cáo tự động. Nhiệm vụ tổng hợp
chính là sản sinh ra các mô tả đặc trưng cho một lớp. Mô tả này là một kiểu
tổng hợp, tóm tắt các đặc tính chung của tất cả hay hầu hết các mục của một
lớp. Các mô tả đặc trưng thể hiện theo luật có dạng sau: “Nếu một mục thuộc
về lớp đã chỉ trong tiền đề thì mục đó có tất cả các thuộc tính đã nêu trong kết
luận”. Cần lưu ý rằng các luật này có những đặc trưng khác biệt so với luật
phân lớp. Luật phát hiện đặc trưng cho một lớp chỉ sản sinh khi các mục đã
thuộc về lớp đó.

11


1.5. Sơ lược về một số kĩ thuật khai phá dữ liệu
Có nhiều kỹ thuật khác nhau được sử dụng đề khai phá dữ liệu nhằm
thực hiện chức năng mô tả và dự đoán. Với mỗi chức năng có các kĩ thuật
khai phá dữ liệu tương ứng của nó.
1.5.1. Phân lớp dữ liệu
Mục tiêu của phân lớp dữ liệu là dự đoán nhãn lớp cho các mẫu dữ liệu.

Quá trình phân lớp dữ liệu được chia làm 2 bước là: Xây dựng mô hình dữ
liệu và sử dụng mô hình dữ liệu. Mô hình dữ liệu sẽ được sử dụng để dự đoán
nhãn lớp độ chính xác của mô hình chấp nhận được. Một số phương pháp
phân lớp dữ liệu phổ biến là: phân lớp theo cây quyết định, phân lớp kiểu
Bayes, phân lớp dựa trên quy tắc if – then, …
1.5.2. Phân cụm dữ liệu
Mục tiêu của kĩ thuật phân cụm dữ liệu là nhóm các đối tượng tương tự
nhau trong tập dữ liệu vào các cụm sao cho nhóm các lớp đối tượng tương tự
nhau. Kĩ thuật phân cụm thường không thực hiện độc lập mà sử dụng kết hợp
với các kĩ thuật khác. Một lớp phân cụm được đưa ra thì phải có một kĩ thuật
khác áp dụng trên lớp đó để đưa được ra ý nghĩa của cụm đó. Hai kĩ thuật
phân cụm cơ bản là phân hoạch (partitional) và phân cấp (hierarchical).
Ngoài ra, còn một số kĩ thuật phân cụm khác như: phân cụm dựa vào mật độ,
phân cụm dựa vào lưới, phân cụm dựa vào mô hình,…
Một số thuật toán khai phá dữ liệu bằng phân cụm dữ liệu là: thuật toán
k-means, thuật toán PAM (Partitioning Around Medoids), thuật toán CALAR
(Clustering LARge Application), thuật toán BRICH (Balanced Interative
Reducing and Clustering Using Hierarchies), thuật toán DBCAN (Density –
Based Spatial Clustering of Application with Noise),…
1.5.3. Cây quyết định
Kĩ thuật cây quyết định là một công cụ mạnh và hiệu quả trong phân
lớp và dự báo. Các đối tượng dữ liệu sẽ được phân thành các lớp và các giá trị

12


của đối tượng dữ liệu chưa biết sẽ được dự đoán. Cây quyết định được biểu
diễn dưới dạng một sơ đồ có cấu trúc cây. Nút trên cùng gọi là nút gốc. Mỗi
nút trên cây (trừ nút lá) ghi một phép thử trên thuộc tính, mỗi nhánh biểu diễn
một kết quả của phép thử. Mỗi nút lá sẽ ghi một nhãn lớp. Tri thức rút ra từ kĩ

thuật cây quyết định thường được mô tả rõ ràng, tường minh, dễ hiểu cho
người sử dụng.
Một số thuật toán khai phá dữ liệu bằng cây quyết định là: Thuật toán
CLS (Concept Learning System), thuật toán ID3 (Interactive Dichotomizer 3),
thuật toán C4.5, thuật toán SLIQ (Supervised Learning In Quest),…
1.5.4. Luật kết hợp
Mục tiêu của phương pháp này là phát hiện và đưa ra mối quan hệ giữa
các giá trị trong cơ sở dữ liệu. Kết quả của luật kết hợp là tập luật kết hợp tìm
được. Phương pháp khai phá luật kết hợp gồm hai bước:
- Bước 1: Tìm tất cả các tập mục phổ biến. Một tập mục phổ biến được
xác định thông qua việc tính độ hỗ trợ và thoả mãn độ hỗ trợ cực tiểu.
- Bước 2: Sinh ra các luật kết hợp mạnh từ tập mục phổ biến, luật phải
thoả mãn độ hỗ trợ và độ tin cậy cực tiểu.
Một số thuật toán khai phá dữ liệu bằng luật kết hợp là: thuật toán AIS,
thuật toán Apriori, thật toán Apriori_TID, thuật toán SETM, thuật toán
FT_growth,…
1.5.5. Hồi quy
Mục tiêu của hồi quy là dự đoán các giá trị liên tục của đầu ra. Ví dụ
chúng ta có thể dự đoán lương của một giảng viên đại học sau 5 năm kinh
nghiệm, hay dự đoán giá cổ phiếu của một công ty sau một thời gian trên sàn
chứng khoán. Phương pháp hồi quy là một lựa chọn tốt khi tất cả các biến độc
lập cũng là giá trị liên tục. Nhiều bài toán có thể giải quyết bằng hồi quy
tuyến tính. Nhiều bài toán phi tuyến tính cũng được giải bằng cách chuyển

13


sang giải lặp bài toán tuyến tính. Một số phương pháp hồi quy là: mô hình hồi
quy, hồi quy Poisson, hồi quy logistic,…
1.5.6. Mạng Nơron

Mạng Nơ-ron là một trong những kĩ thuật khai phá dữ liệu được ứng
dụng phổ biến hiện nay. Kĩ thuật này ra đời do mong muốn nâng khả năng
làm việc của máy tính dần tăng bằng khả năng làm việc của bộ não con người.
Kết quả của mạng nơ-ron là khả năng tạo ra các mô hình dự đoán có độ
chính xác cao, có thể áp dụng cho nhiều bài toán khác nhau. Tuy nhiên, kĩ
thuật này khá phức tạp, khi tiến hành sẽ gặp rất nhiều khó khăn như: mất
nhiều thời gian, nhiều dữ liệu và nhiều lần kiểm tra thử.
1.5.7. Giải thuật di truyền
Giải thuật di truyền là phương pháp tìm kiếm cực trị tổng thể, kỹ thuật
tối ưu tổng thể có tầm qua trọng rất lớn đối với nhiều vấn đề khác nhau trong
khoa học kĩ thuật. Ý tưởng của giải thuật di truyền là mô phỏng theo cơ chế
của quá trình chọn lọc và di truyền trong tự nhiên.
1.6. Các cách thức và giải pháp cơ bản
Khai phá dữ liệu không phải là việc đơn giản mà có rất nhiều khó khăn và
thách thức. Tuy nhiên không có nghĩa là việc giải quyết là hoàn toàn bế tắc
mà phải xem xét cũng như tìm cách giải quyết những vấn đề này.
Đầu vào chủ yếu của một hệ thống khai thác tri thức là các dữ liệu thô
trong cơ sở phát sinh trong khai phá dữ liệu. Do các dữ liệu trong thực tế
thường động, không đầy đủ, lớn và bị nhiễu. Trong nhiều trường hợp khác,
người ta không biết cơ sở dữ liệu có chứa các thông tin cần thiết cho việc khai
thác dữ liệu hay không và làm thế nào để giải quyết với sự dư thừa những
thông tin không thích hợp này.
 Dữ liệu lớn: Các CSDL lớn với hàng trăm trường và bảng với
hàng triệu bản ghi và với kích thước đến gigabyte và terabyte đã là chuyện

14


bình thường. Các phương pháp giải quyết hiện nay là đưa ra một ngưỡng cho
cơ sở dữ liệu, lấy mẫu, các phương pháp xấp xỉ, xử lý song song.

 Kích thước lớn: Không chỉ có số lượng bản ghi lớn mà số các
trường trong cơ sở dữ liệu cũng nhiều. Vì vậy kích thước bài toán trở lên lớn
hơn. Một tập dữ liệu kích thước lớn làm tăng không gian tìm kiếm mô hình
suy diễn và làm tăng khả năng một giải thuật khai phá dữ liệu có thể tìm thấy
các mẫu giả. Chúng ta khắc phục bằng cách làm giảm kích thước tác động của
bài toán và sử dụng các tri thức biết trước để xác định các biến không phù
hợp.
 Dữ liệu động: Nội dung của cơ sở dữ liệu thay đổi liên tục. Dữ
liệu thay đổi theo thời gian và việc khai phá dữ liệu cũng bị ảnh hưởng bởi
thời gian quan sát dữ liệu. Việc dữ liệu thay đổi nhanh chóng có thể làm cho
các mẫu khai thác trước đó mất giá trị. Các biến trong CSDL của ứng dụng đã
cho cũng có thể bị thay đổi, bị xóa, hoặc tăng lên theo thời gian. Vấn đề này
được giải quyết bằng các giải pháp tăng trưởng để nâng cấp các mẫu và coi
các thay đổi như là cơ hội để khai thác bằng cách sử dụng nó để tìm kiếm các
mẫu bị thay đổi.
 Các trường không phù hợp: Một đặc điểm khác là tính không
thích hợp của dữ liệu, nghĩa là mục dữ liệu trở thành không thích hợp với
trọng tâm hiện tại của việc khai thác. Một khía cạnh khác đôi khi cũng liên
quan đến độ phù hợp là tính ứng dụng của một thuộc tính đối với một tập con
của cơ sở dữ liệu. Vấn đề này giải quyết bằng cách lấy ví dụ mẫu, chọn lọc
các bộ dữ liệu đặc trưng và tốt nhất.
 Các giá trị bị thiếu: Đây là vấn đề có thể nói là rất khó khăn
trong việc khai phá dữ liệu. Sự có mặt hay vắng mặt của giá trị các thuộc tính
dữ liệu phù hợp có thể ảnh hưởng đến việc khai phá dữ liệu. Trong một hệ
thống tương tác, sự thiếu vắng dữ liệu quan trọng có thể dẫn đến việc yêu cầu
cho giá trị của nó hoặc kiểm tra để xác định giá trị của nó. Hoặc có thể coi sự
15


vắng mặt của dữ liệu như một điều kiện, thuộc tính bị mất có thể coi như một

giá trị trung gian và là giá trị không biết. Chúng ta có thể tận dụng các xử lí
song song để khắc phục vấn đề này. Hiện nay, do giá thành các phần cứng
không cao lắm, có thể áp dụng các giải pháp song song cho việc khai phá dữ
liệu: Phân chia nhiệm vụ, dữ liệu cho nhiều bộ xử lí thực hiện đồng thời.
1.7. Kết luận
Nội dung chương tìm hiểu quá trình phát hiện tri thức và các vấn đề khai
phá dữ liệu. Phát hiện tri thức là một quá trình rút ra tri thức từ dữ liệu mà
trong đó khai phá dữ liệu là giai đoạn quan trọng nhất. Khai phá dữ liệu là
nhiệm vụ tìm ra các dữ liệu có ích từ số lượng lớn dữ liệu. Trong chương này
tóm tắt một số kĩ thuật dùng để khai phá dữ liệu và phân tích việc khai phá dữ
liệu. Trong các kĩ thuật khai phá dữ liệu, phát hiện luật kết hợp là một lĩnh
vực đang được quan tâm và đây cũng là lĩnh vực nghiên cứu của khoá luận, sẽ
được trình bày chi tiết trong chương 2.

16


×