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

Tìm hiểu kỹ thuật khai thác tập phổ biến dựa vào vector bit

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 (838.41 KB, 54 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NHA TRANG

TRẦN THỊ CHÂM

TÌM HIỂU KỸ THUẬT KHAI THÁC
TẬP PHỔ BIẾN DỰA VÀO VECTOR BIT

LUẬN VĂN THẠC SĨ

KHÁNH HÒA - 2019


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NHA TRANG

TRẦN THỊ CHÂM
TÌM HIỂU KỸ THUẬT KHAI THÁC
TẬP PHỔ BIẾN DỰA VÀO VECTOR BIT

LUẬN VĂN THẠC SĨ
Ngành:

Công nghệ thông tin

Mã Số:

8480201

Quyết định giao đề tài:


514/QĐ - ĐHNT ngày 17/5/2019

Quyết định thành lập HĐ:
Ngày bảo vệ:
Người hướng dẫn khoa học:
TS. NGUYỄN ĐỨC THUẦN
Chủ tịch hội đồng:

Khoa sau đại học:

KHÁNH HÒA - 2019


LỜI CAM ĐOAN

Tôi xin cam đoan mọi kết quả của đề tài: “TÌM HIỂU KỸ THUẬT KHAI
THÁC TẬP PHỔ BIẾN DỰA VÀO VECTOR BIT” là cơng trình nghiên cứu của cá
nhân tôi và chưa từng được công bố trong bất cứ cơng trình khoa học nào khác cho tới
thời điểm này.

Khánh Hòa, ngày …... tháng 10 năm 2019
Tác giả luận văn

Trần Thị Châm

iii


LỜI CẢM ƠN


Trong suốt thời gian thực hiện đề tài, tơi đã nhận được sự giúp đỡ của q phịng
ban trường Đại học Nha Trang, Trường Cao đẳng Sư phạm Đà Lạt đã tạo điều kiện tốt
nhất cho tôi được hoàn thành đề tài. Đặc biệt là sự hướng dẫn tận tình của TS. Nguyễn
Đức Thuần đã giúp tơi hồn thành tốt đề tài. Qua đây tôi cũng xin gửi lời cảm ơn sâu
sắc tới sự giúp đỡ này.
Cuối cùng tôi xin gửi lời cảm ơn chân thành đến gia đình và tất cả bạn bè đã giúp
đỡ, động viên tơi trong suốt q trình học tập và thực hiện đề tài.
Với điều kiện thời gian cũng như kinh nghiệm cịn hạn chế của một học viên, luận
văn này khơng thể tránh được những thiếu sót. Tơi rất mong nhận được sự chỉ bảo, đóng
góp ý kiến của các thầy cơ để tơi có điều kiện bổ sung, nâng cao kiến thức của mình.
Tơi xin chân thành cảm ơn!
Khánh Hịa, ngày……tháng 10 năm 2019
Tác giả luận văn

Trần Thị Châm

iv


MỤC LỤC
Tiêu đề

Trang

LỜI CAM ĐOAN ......................................................................................................................iii
LỜI CẢM ƠN............................................................................................................................ iv
MỤC LỤC .................................................................................................................................. v
DANH MỤC CÁC TỪ VIẾT TẮT .........................................................................................viii
DANH MỤC BẢNG ................................................................................................................. ix
DANH MỤC HÌNH ................................................................................................................... x

TRÍCH YẾU LUẬN VĂN ........................................................................................................ xi
MỞ ĐẦU .................................................................................................................................... 1
1.

Lý do chọn đề tài ................................................................................................................. 1

2.

Mục tiêu và nhiệm vụ nghiên cứu ....................................................................................... 2

3.

Đối tượng và phạm vi nghiên cứu ....................................................................................... 2

CHƯƠNG 1. TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU ........................................................... 3
1.1. Giới thiệu chung về khai phá dữ liệu .................................................................................. 3
1.1.1. Khái niệm........................................................................................................................ 3
1.1.2. Mục đích của khai phá dữ liệu ........................................................................................ 4
1.1.3. Dữ liệu sử dụng trong khai phá dữ liệu .......................................................................... 4
1.1.3.1. Phân loại dữ liệu ........................................................................................................... 4
1.1.3.2. Tổng hợp dữ liệu .......................................................................................................... 5
1.1.4. Các bước của quá trình khai phá dữ liệu ........................................................................ 6
1.2. Các kỹ thuật khai phá dữ liệu .............................................................................................. 7
1.2.1. Phương pháp dự đoán ..................................................................................................... 7
1.2.1.1. Phân lớp (classification) ............................................................................................... 7
1.2.1.2. Hồi quy (regression) ..................................................................................................... 8
1.2.2. Khai phá dữ liệu mô tả .................................................................................................... 8
1.2.2.1. Phân cụm (clustering)................................................................................................... 8
v



1.2.2.2. Luật kết hợp (Association rules) .................................................................................. 9
1.3. Kiến trúc của hệ thống khai phá dữ liệu ............................................................................ 10
1.4. Các ứng dụng của khai phá dữ liệu và những thách thức gặp phải ................................... 10
1.4.1. Ứng dụng của khai phá dữ liệu trong thực tiễn ............................................................ 10
1.4.2. Những thách thức trong ứng dụng và nghiên cứu kỹ thuật khai phá dữ liệu................ 11
1.4.2.1. Các vấn đề liên quan đến cơ sở dữ liệu ....................................................................... 11
1.4.2.1. Một số vấn đề khác ...................................................................................................... 12
CHƯƠNG 2. BÀI TOÁN KHAI THÁC TẬP PHỔ BIẾN ...................................................... 13
2.1. Giới thiệu bài toán khai thác tập phổ biến ......................................................................... 13
2.2. Các định nghĩa cơ bản ....................................................................................................... 13
2.2.1. Hạng mục và tập hạng mục .......................................................................................... 13
2.2.1.1. Hạng mục (Item) ........................................................................................................ 13
2.2.1.2. Tập các hạng mục (Itemset) ....................................................................................... 14
2.2.1.3. Tập hạng mục mức k .................................................................................................. 14
2.2.2. Giao dịch (Transaction) ................................................................................................ 14
2.2.3. Cơ sở dữ liệu giao tác ................................................................................................... 14
2.2.4. Độ hỗ trợ (Support)....................................................................................................... 15
2.2.4.1. Độ hỗ trợ của một tập mục dữ liệu ............................................................................. 15
2.2.4.2. Độ hỗ trợ của luật kết hợp .......................................................................................... 16
2.2.5. Tập mục dữ liệu thường xuyên (Frequent Itemset) ...................................................... 16
2.2.6. Độ tin cậy (Confidence)................................................................................................ 17
CHƯƠNG 3. SO SÁNH HIỆU QUẢ THUẬT TOÁN KHAI THÁC TẬP PHỔ BIẾN
APRIORI VÀ CÁC THUẬT TOÁN VECTOR BIT ............................................................... 18
3.1. Thuật tốn Apriori ............................................................................................................. 18
3.1.1. Ví dụ thử nghiệm .......................................................................................................... 18
3.1.2. Ưu nhược điểm của thuật toán Apriori ......................................................................... 20
3.1.2.1. Ưu điểm ...................................................................................................................... 20
vi



3.1.2.2. Nhược điểm ................................................................................................................ 20
3.2. Thuật toán khai phá tập dữ liệu thường xuyên bằng vector BIT ....................................... 20
3.2.1. Giới thiệu ...................................................................................................................... 20
3.2.2. CBVAR Algorithm - Cluster based Bit Vectors for Association Rule mining ............ 21
3.2.3. ICBVAR Algorithm - Improved Cluster Based Big Vector Association Rule ............ 25
CHƯƠNG 4. KẾT QUẢ CỦA THỬ NGHIỆM VÀ HƯỚNG PHÁT TRIỂN ........................ 29
4.1. Các thử nghiệm .................................................................................................................. 29
4.1.1. Thử nghiệm trên bộ dữ liệu MUSHROOM.................................................................... 30
4.1.2. Thử nghiệm trên bộ dữ liệu CHESS ............................................................................... 31
4.1.3. Thử nghiệm trên bộ dữ liệu CONNECT ........................................................................ 31
4.2. Nhận xét chung .................................................................................................................. 32
4.3. Hướng nghiên cứu ............................................................................................................. 33
TÀI LIỆU THAM KHẢO ........................................................................................................ 34
PHỤ LỤC ................................................................................................................................. 35

vii


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

Từ viết tắt

Ý nghĩa

Tiếng Anh

KPDL

Khai phá dữ liệu


Data Mining

CSDL

Cơ sở dữ liệu

Database

ST

Ngưỡng hỗ trợ

Support Threshold

KDD

Khai phá tri thức

Knowledge Discovery in Databases

MST

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

Minimum Support Threshold

SC

Độ hỗ trợ


Support Count

FI

Tập thường xuyên

Frequent Itemset

viii


DANH MỤC BẢNG

Bảng 1.1. Các kiểu dữ liệu sử dụng trong khai phá dữ liệu ........................................... 5
Bảng 2.1. CSDL mô tả các giao dịch mua hàng. ......................................................... 13
Bảng 2.2. Biểu diễn ngang của cơ sở dữ liệu giao tác.................................................. 15
Bảng 2.3. Biểu diễn dọc của cơ sở dữ liệu giao tác. .................................................... 15
Bảng 3.1. Ma trận giao tác của CSDL giao tác ............................................................ 21
Bảng 3.2. CSDL giao dịch bán hàng. ........................................................................... 23
Bảng 3.3. CSDL được chuyển đổi theo thuật toán CBVAR. ....................................... 24
Bảng 3.4. Danh mục các tập 1, 2, 3- mục thường xuyên của thuật toán CBVAR. ....... 25
Bảng 3.5. CSDL được xây dựng theo thuật toán ICBVAR. ......................................... 27
Bảng 3.6. Danh mục các tập 3 mục thường xuyên của thuật toán ICBVAR. ............... 28
Bảng 4.1. Kết quả thời gian thực hiện chương trình trên bộ dữ liệu MUSHROOM. ... 30
Bảng 4.2. Kết quả thời gian thực hiện chương trình trên bộ dữ liệu CHESS. .............. 31
Bảng 4.3. Kết quả thời gian thực hiện chương trình trên bộ dữ liệu CONNECT. ........ 32

ix



DANH MỤC HÌNH

Hình 1.1. Mơ hình khai phá dữ liệu. .............................................................................. 4
Hình 1.2. Phân lớp cho tập dữ liệu cho vay. .................................................................. 8
Hình 1.3. Phân cụm tập dữ liệu cho vay nợ vào trong 3 cụm. ....................................... 9
Hình 1.4. Kiến trúc điển hình của một hệ thống khai phá dữ liệu. ............................... 10
Hình 4.1. Giao diện chương trình Demo. ..................................................................... 29
Hình 4.2. Biểu đồ so sánh kết quả của 3 thuật tốn trên bộ dữ liệu MUSHROOM ..... 30
Hình 4.3. Biểu đồ so sánh kết quả của 3 thuật toán trên bộ dữ liệu CHESS ................ 31
Hình 4.4. Biểu đồ so sánh kết quả của 3 thuật toán trên bộ dữ liệu CONNECT .......... 32

x


TRÍCH YẾU LUẬN VĂN
Khai thác tập phổ biến là một trong hai bài tốn chính của khai phá luật kết hợp.
Mọi lĩnh vực khoa học có liên quan đến máy tính hiện nay đã, đang và sẽ áp dụng các
ứng dụng có liên quan đến lĩnh vực khai phá dữ liệu. Tuy có nhiên ở Việt Nam những
nghiên cứu về lĩnh vực này vẫn cịn hạn chế.
Chính vì lý do đó luận văn được thực hiện với mục tiêu hệ thống lại kiến thức và
tập trung nghiên cứu về một số vấn đề sau:
- Tổng quan về khai phá dữ liệu.
- Ứng dụng của khai phá dữ liệu vào đời sống.
- Bài toán khai thác tập phổ biến.
- Cài đặt thuật toán khai thác tập phổ biến Apriori.
- Cài đặt thuật toán khai thác tập phổ biến dựa vào vector BIT.
- So sánh hiệu quả của các thuật toán.
Trong khi thực hiện luận văn, tơi có cài đặt 3 thuật tốn: Apriori, CBVAR, ICBVAR
bằng ngơn ngữ C# để so sánh hiệu quả của các thuật tốn. Qua đó luận văn đã đạt được

một số kết quả nghiên cứu sau:
- Nhận thấy mức độ quan trọng của bài toán khai thác tập phổ biến trong lĩnh vực
khai phá dữ liệu.
- Trong phạm vi cài đặt của luận văn thuật tốn tìm tập phổ biến dựa vào vector
Bit (CBVAR, ICBVAR) có lợi hơn về mặt thời gian so với Apriori.
Từ những kết quả đạt được, luận văn đưa ra một số kiến nghị như sau:
- Thuật tốn tìm tập phổ biến dựa vào vector Bit cải thiện hiệu quả hơn thuật toán
Apriori nhưng chưa có lợi về mặt khơng gian bộ nhớ so với Apriori ở nhiều CSDL, đặc
biệt với các CSDL lớn, thưa thì bài tốn tìm tập phổ biến dựa vào vector Bit đạt hiệu
quả không cao về cả mặt thời gian và không gian bộ nhớ.
- Phát triển nghiên cứu giải thuật mới dựa vào vector Bit như kết hợp vector Bit
và cây, và bảng có trọng số,...
Từ khóa: khai phá dữ liệu (Data mining), khai phá tập phổ biến, Frequent Itemset,
vector Bit.
xi


MỞ ĐẦU
1. Lý do chọn đề tài
Sự phát triển của ngành công nghệ thông tin và việc ứng dụng công nghệ thông tin
trong nhiều lĩnh vực của đời sống, kinh tế, xã hội trong nhiều năm qua cũng đồng nghĩa
với lượng dữ liệu đã được các cơ quan, đơn vị, tổ chức xã hội thu thập và lưu trữ được
ngày càng nhiều lên. Người ta vẫn luôn thu thập, lưu trữ tất cả các dữ liệu này vì cho
rằng ẩn bên trong nó sẽ chứa đựng những giá trị nhất định nào đó. Tuy vậy, theo những
thống kê đã thực hiện chỉ ra thì trong số đó chỉ có một số lượng khá nhỏ (khoảng từ 5%
đến 10%) của những dữ liệu này là được phân tích, số cịn lại họ khơng biết xử lý thế
nào hoặc có thể làm được gì với chúng nhưng họ vẫn tiếp tục thu thập mặc cho rất tốn
kém về thời gian, không gian bộ nhớ với ý nghĩ rằng về lâu dài sẽ có cái gì đó quan
trọng đã bị bỏ qua và sau này có lúc cần đến nó. Và thực tế đã và đang chứng minh rằng
dữ liệu trong các ngành, nghề, lĩnh vực như khoa học, y tế, giáo dục, kinh tế… đang dần

được áp dụng vào trong thực tiễn đời sống nhờ các nghiên cứu, sáng kiến của các nhà
khoa học cùng sự phát triển nhanh chóng của ngành công nghệ thông tin. Mặt khác,
trong thời buổi cạnh tranh như hiện nay, con người ngày càng cần có nhiều thơng tin
cho vấn đề mình gặp phải cùng với đó là tốc độ xử lý thơng tin nhanh chóng để trợ giúp
cho việc ra quyết định. Những câu hỏi mang tính chất định tính trên khối cơ sở dữ liệu
khổng lồ cũng đã xuất hiện. Với những lý do như vậy, các phương pháp quản trị và khai
phá cơ sở dữ liệu truyền thống ngày càng không đáp ứng được thực tế đã làm phát triển
một khuynh hướng kỹ thuật mới đó là kỹ thuật phát hiện tri thức (Knowledge Discovery
in Databases - KDD) và khai phá dữ liệu (Data Mining - DM).
Kỹ thuật phát hiện tri thức và khai phá dữ liệu đã và đang được nghiên cứu, ứng
dụng trong nhiều lĩnh vực khác nhau ở các nước trên thế giới, tại Việt Nam kỹ thuật này
tương đối còn mới mẻ tuy nhiên cũng đang được rất nhiều nhà nghiên cứu quan tâm và
xây dựng ứng dụng vào thực tế. Bài toán khai phá luật kết hợp bao gồm 2 bài toán con,
bài thứ nhất là khai thác tập phổ biến và bài thứ hai là sinh ra các luật kết hợp. Trong
đó, mọi khó khăn của bài tốn khai phá luật kết hợp nằm ở bài toán thứ nhất đó là khai
thác tất cả các tập phổ biến thỏa mãn ngưỡng hỗ trợ cho trước và các nghiên cứu về luật
kết hợp cũng tập trung vào khai phá tập phổ biến. Vì những lợi ích thực tế như vậy luận
văn “TÌM HIỂU KỸ THUẬT KHAI THÁC TẬP PHỔ BIẾN DỰA VÀO VECTOR

1


BIT” được tìm hiểu, cài đặt và so sánh với thuật toán Apriori trong khai thác tập phổ
biến, hi vọng có được những hiệu quả hơn từ đó có những áp dụng vào thực tiễn.
2. Mục tiêu và nhiệm vụ nghiên cứu
Mục tiêu:
- Cài đặt thuật toán Apriori, thuật toán khai thác tập phổ biến dựa vào vector bit
là CBVAR và ICBVAR.
- So sánh kết quả các thuật toán.
Nhiệm vụ:

Để thực hiện được những mục tiêu nêu trên, cần nghiên cứu và tiến hành triển khai
các nội dung như sau:
- Tìm hiểu các lý thuyết có liên quan trong các bài tốn khai thác tập phổ biến.
- Tìm hiểu về thuật tốn Apriori, CBVAR, ICBVAR.
- Xây dựng chương trình của từng thuật tốn.
- So sánh kết quả các chương trình với nhau.
3. Đối tượng và phạm vi nghiên cứu
Đối tượng:
- Các lý thuyết liên quan được sử dụng trong bài toán khai phá tập phổ biến.
- Thuật toán Apriori, CBVAR, ICBVAR.
Phạm vi:
- Tập trung nghiên cứu phương thức chuyển đổi dữ liệu thành kiểu Bit được sử
dụng trong các thuật tốn CBVAR, ICBVAR.
- Phương pháp tính độ hỗ trợ, tìm tập phổ biến trong mỗi phương pháp.

2


CHƯƠNG 1. TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1. Giới thiệu chung về khai phá dữ liệu
1.1.1. Khái niệm
Khai phá dữ liệu (KPDL): Là q trình tính tốn để tìm ra các mẫu trong các bộ
dữ liệu lớn. Đây là một lĩnh vực liên ngành của khoa học máy tính. Mục tiêu tổng thể
của quá trình khai phá dữ liệu là trích xuất thơng tin từ một bộ dữ liệu và chuyển nó
thành một cấu trúc dễ hiểu để sử dụng tiếp. Ngồi bước phân tích thơ, nó cịn liên quan
tới cơ sở dữ liệu và các khía cạnh quản lý dữ liệu, tiền xử lý dữ liệu, mơ hình hóa và suy
luận thống kê, các thang đo,... Khai phá dữ liệu là bước phân tích của q trình "khám
phá kiến thức trong cơ sở dữ liệu" (Knowledge Discovery in Databases - KDD). Khai
phá dữ liệu và phát hiện tri thức trong CSDL có thể coi là như nhau. Tuy nhiên trên thực
tế, khai phá dữ liệu chỉ là một bước thiết yếu trong quá trình Phát hiện tri thức trong

CSDL. Có thể nói khai phá dữ liệu là giai đoạn quan trọng nhất trong tiến trình Phát
hiện tri thức từ cơ sở dữ liệu, các tri thức này hỗ trợ trong việc ra quyết định trong khoa
học, kinh doanh,....

3


Hình 1.1. Mơ hình khai phá dữ liệu.
1.1.2. Mục đích của khai phá dữ liệu
Từ những năm 60 của thế kỷ XX, các công cụ tin học đã bắt đầu được sử dụng để
tổ chức, lưu trữ và khai phá các bộ CSDL. Tiếp đến là sự phát triển vượt bậc của công
nghệ điện tử, truyền thông, khả năng thu thập dữ liệu, phương thức lưu trữ và xử lý dữ
liệu cải tiến khơng ngừng được nâng cao, vì đó mà, lượng thông tin được lưu trữ trên
các thiết bị như đĩa từ, băng từ, đĩa CD-ROM, ….không ngừng tăng lên. Theo thống kê
sơ bộ cho thấy, lượng dữ liệu trên các hệ thống tin học cứ khoảng 20 tháng lại tăng gấp
đôi. Sự phát triển của các bộ CSDL trong mọi ngành nghề, ở nhiều cấp độ đã gây ra sự
bùng nổ thơng tin, vì vậy người ta đã đưa ra khái niệm khủng hoảng phân tích dữ liệu
tác nghiệp. Việc phân tích để trích lọc dữ liệu tác nghiệp nhằm cung cấp thơng tin có
chất lượng cao cho người cần đưa ra quyết định trong các tổ chức ngày càng gặp nhiều
khó khăn. Đúng như John Naisbett đã cảnh báo “Chúng ta đang chìm ngập trong dữ liệu
mà vẫn đói tri thức”. Khối dữ liệu khổng lồ đúng thực là một nguồn “tài nguyên” rất có
giá trị bởi thông tin là yếu tố then chốt trong mọi hoạt động quản lý, kinh doanh, phát
triển sản xuất và dịch vụ, … nó giúp cho những nhà điều hành và quản lý có những cái
nhìn bao qt về mơi trường và quy trình hoạt động của cơ quan, đơn vị mình trước khi
ra quyết định để có thể đạt được các mục tiêu một cách hiệu quả và bền bỉ. KPDL khai
thác các thơng tin tiềm ẩn mang tính dự đoán từ những CSDL lớn, là một hướng tiếp
cận mới và có khả năng giúp các đơn vị, tổ chức chú trọng vào những thơng tin có nhiều
ý nghĩa từ tập dữ liệu lớn (Databases, Data Warehouses, Data repositories).
1.1.3. Dữ liệu sử dụng trong khai phá dữ liệu
1.1.3.1. Phân loại dữ liệu

Trong KPDL, các thuộc tính được phân thành hai loại dựa vào kiểu dữ liệu của chúng:
• Phân loại (Categorical): Các thuộc tính có dữ liệu thuộc kiểu định danh, nhị
phân, thứ tự.
• Liên tục (Continuous): Các thuộc tính có dữ liệu thuộc kiểu số nguyên, khoảng,
tỷ lệ - khoảng[1].
Kiểu dữ liệu

Ý nghĩa

4


Định danh

Là tập các nhãn dùng để mô tả, phân loại Phân

(Nominal data)

(categories) các đối tượng.

loại

Ví dụ: tên màu, mã số sinh viên,…
Nhị phân

Là một trường hợp đặc biệt của kiểu dữ liệu

(Binary data)

định danh, các dữ liệu thuộc kiểu này chỉ

mang một trong 2 giá trị.
Ví dụ: kiểu Boolean là true hoặc false,
giới tính là nam hoặc nữ

Thứ tự

Là tập các phần tử chỉ định một thứ tự được

(Ordinary data)

sắp xếp
Ví dụ: xếp loại (kém, trung bình, khá, giỏi)

Số nguyên

Là tập số nguyên, các phần tử kiểu này có thể Liên

(Integer)

chịu tác động của các phép toán số học để kết tục
xuất phần tử mới

Khoảng

Dữ liệu khoảng là một tập giá trị mà các phần

(Interval data)

tử cách đều nhau (thường dùng làm các thang
đo)

Ví dụ: nhiệt độ được đo theo độ C

Tỉ lệ - khoảng

Tương tự kiểu dữ liệu khoảng, điểm khác biệt

(ratio - scaled data) là các phần tử thuộc kiểu dữ liệu này có thể so
sánh như là bội số của nhau. Dữ liệu kiểu tỉ lệ
có thể thực hiện các phép nhân, chia.
Ví dụ: trọng lượng 100kg là 2 lần của 50kg,
sự khác biệt giữa 1 và 2 cũng giống như 9 và
10,…
Bảng 1.1. Các kiểu dữ liệu sử dụng trong khai phá dữ liệu
1.1.3.2. Tổng hợp dữ liệu
Xác định các đại lượng số (đại lượng thống kê mô tả) để đo độ tập trung (Central
Tendency) và độ phân tán (Dispersion) của dữ liệu. Các đại lượng này kết hợp với đồ
thị phân phối tần số sẽ cho một bức tranh rõ nét chi tiết về tập dữ liệu cần xử lý.

5


1.1.4. Các bước của quá trình khai phá dữ liệu
Đầu vào của q trình là kho dữ liệu thơ và kết thúc là các tri thức được chiết xuất.
Về mặt cơ bản thì thấy có vẻ rất đơn giản, nhưng thật sự đây là một q trình rất khó
khăn bởi nó phụ thuộc vào rất nhiều yếu tố: thuật tốn áp dụng phải phù hợp, thời gian
xử lý, không gian bộ nhớ, cũng như các khó khăn trong việc quản lý các tập dữ liệu.
KPDL bao gồm các bước như sau:
1. Gom dữ liệu (Gathering): Thu thập dữ liệu là bước đầu tiên trong q trình
khai phá dữ liệu.
2. Trích lọc dữ liệu (Selection): Trong giai đoạn này dữ liệu được lựa chọn hoặc

phân chia bởi một hay một số tiêu chuẩn nào đó.
3. Làm sạch, tiền xử lý và chuẩn bị trước dữ liệu (Cleaning, Pre-processing
and Preparation): Giai đoan thứ ba này là giai đoạn rất quan trọng trong q trình khai
phá dữ liệu và có ảnh hưởng mang tính chất quyết định đến kết quả của q trình khai phá
dữ liệu. Một số lỗi thường mắc phải trong khi gom dữ liệu là tính khơng đủ chính xác,
thiếu tính tồn vẹn, nhất qn, khơng chặt chẽ và logíc. Vì vậy, dữ liệu thường chứa các
giá trị vơ nghĩa và khơng có khả năng kết nối dữ liệu. Giai đoạn này sẽ tiến hành tổng
hợp những đặc điểm chung của dữ liệu, xử lý những phần tử ngoại lệ, phần tử nhiễu, các
đối tượng dữ liệu không chặt chẽ. Những dữ liệu này được coi là thông tin dư thừa,
khơng có giá trị và có thể gây nên những kết quả sai lệch.
4. Chuyển đổi dữ liệu (Data Transformation): Dữ liệu được chuyển đổi sao cho
phù hợp với mục đích của q trình khai thác đồng thời có thể thực hiện các thao tác
như: làm trơn dữ liệu (Smoothing), kết hợp dữ liệu (Aggregation), tổng quát hóa dữ liệu
(Generalization), chuẩn hóa dữ liệu (Normalization), xây dựng thuộc tích đặc trưng
(Attribute/Feature Construction). Ở giai đoạn này dữ liệu có thể được sử dụng.
5. Phát hiện và trích mẫu dữ liệu (Pattern Extraction and Discovery): Bước
này mang tính tư duy trong khai phá dữ liệu, điều đó thể hiện bởi có rất nhiều thuật tốn
khác nhau được sử dụng để trích ra các mẫu từ dữ liệu.
6. Đánh giá kết quả mẫu (Evaluation of Result): Đây là giai đoạn cuối trong quá
trình khai phá dữ liệu. Các mẫu dữ liệu được chiết xuất, tuy nhiên không phải tất cả các
mẫu dữ liệu đều hữu ích, đơi khi nó cịn bị sai lệch. Vì vậy, cần phải ưu tiên những tiêu
chuẩn đánh giá để chiết xuất ra các tri thức (Knowledge).
6


Trên đây là 6 giai đoạn trong quá trình KPDL, trong đó giai đoạn 5 là giai đoạn
được quan tâm nhiều nhất, đó là bước khai phá dữ liệu.
1.2. Các kỹ thuật khai phá dữ liệu
Quá trình khai phá dữ liệu khơng chỉ là một q trình tuần tự từ bước đầu tiên đến
bước cuối cùng mà là một quá trình lặp và có quay trở lại các bước đã qua. Hai mục

đích chính của khai phá dữ liệu trong thực tế là dự đốn (Prediction) và mơ tả
(Description), người ta thường dùng các phương pháp sau cho khai phá dữ liệu:
1.2.1. Phương pháp dự đoán
Nhiệm vụ của phương pháp KPDL dự đoán là đưa ra các dự đoán dựa vào các suy
diễn trên nguồn CSDL hiện đang có. Nó sử dụng các biến hay các trường trong CSDL
để dự đốn các giá trị khơng biết hay các giá trị tương lai. Bao gồm các kĩ thuật: phân
lớp (classification), hồi quy (regression)...
1.2.1.1.

Phân lớp (classification)

Là phương pháp dự báo, cho phép phân loại một đối tượng vào một hoặc một số
lớp cho trước. Mục tiêu của phương pháp này là dự đốn nhãn của lớp, cho các mẫu dữ
liệu vào mơ hình. Quá trình phân lớp dữ liệu thường gồm 2 bước: xây dựng mơ hình và
sử dụng mơ hình để phân lớp dữ liệu.
Bước 1: Xây dựng mơ hình dựa trên việc phân tích các mẫu dữ liệu cho trước.
Mỗi mẫu dữ liệu thuộc về một lớp được xác định bởi một thuộc tính gọi là thuộc tính
lớp. Các mẫu dữ liệu như vậy còn được gọi là tập dữ liệu huấn luyện. Các nhãn lớp của
tập dữ liệu dùng để huấn luyện đều phải được xác định trước khi xây dựng mơ hình, vì
vậy phương pháp này cịn được gọi là học có giám sát - học có thầy (Supervised
Learning).
Bước 2: Sử dụng mơ hình để phân lớp dữ liệu. Trước hết chúng ta phải tính độ
chính xác của mơ hình. Nếu độ chính xác là chấp nhận được, mơ hình sẽ được sử dụng
để dự đốn nhãn lớp cho các mẫu dữ liệu khác trong tương lai.
Hay nói cách khác, phân lớp là học một hàm ánh xạ một mục dữ liệu vào một trong
số các lớp cho trước. Hình 1.2 cho thấy sự phân lớp của các dữ liệu vay nợ vào trong
hai miền lớp. Ngân hàng có thể sử dụng các miền phân loại để tự động quyết định liệu
những người vay nợ trong tương lai có nên cho vay hay khơng.

7



Nỵ

Thu nhËp

Hình 1.2. Phân lớp cho tập dữ liệu cho vay.
1.2.1.2.

Hồi quy (regression)

Phương pháp hồi quy khác với phân lớp dữ liệu ở chỗ, hồi quy là phương pháp dự
đoán trên các giá trị liên tục, còn các giá trị rời rạc thì người ta dùng phương pháp phân
lớp dữ liệu.
Hồi quy là học một hàm ánh xạ một mục dữ liệu vào một biến dự báo giá trị thực.
Các ứng dụng dựa vào phương pháp hồi quy rất nhiều, ví dụ như dự báo nhu cầu tiêu
dùng đối với một sản phẩm mới ra mắt dựa trên hoạt động quảng cáo, xác suất khả năng
mắc bệnh của bệnh nhân dựa vào lịch sử bệnh án,....
1.2.2. Khai phá dữ liệu mơ tả
Kỹ thuật khai phá dữ liệu mơ tả có nhiệm vụ mơ tả về các tính chất, các đặc tính
chung của dữ liệu trong CSDL hiện có. Các kỹ thuật chính bao gồm: phân cụm
(Clustering), phân tích luật kết hợp (Association rules)...
1.2.2.1. Phân cụm (clustering)
Mục đích của phương pháp này là nhóm các đối tượng tương tự nhau bởi một hay
một số thuộc tính đặc trưng vào một cụm sao cho các đối tượng thuộc cùng một cụm là
tương đồng với nhau, các đối tượng trong các cụm khác nhau thì khác nhau. Phân cụm
dữ liệu là một phương pháp học không giám sát. Không giống như phân lớp dữ liệu,
phân cụm dữ liệu không bắt buộc phải định nghĩa trước các mẫu dữ liệu huấn luyện. Vì
vậy, có thể coi phân cụm dữ liệu là một cách học bằng quan sát (Learning by
Observation), trong khi phân lớp dữ liệu là học bằng ví dụ (Learning by Example). Trong

phương pháp phân cụm, chúng ta sẽ không thể biết trước kết quả các cụm thu được sẽ
như thế nào khi bắt đầu q trình. Vì lẽ đó, thơng thường sẽ cần có một chuyên gia về
lĩnh vực nghiên cứu để đánh giá các cụm thu được. Phân cụm dữ liệu được sử dụng

8


nhiều trong các ứng dụng về phân khúc thị trường, phân khúc khách hàng, nhận dạng
mẫu, phân loại trang Web,… Ngồi ra phân cụm dữ liệu cịn được sử dụng như một
bước tiền xử lý cho các thuật toán khai phá dữ liệu khác.
Trong hình 1.3, cho chúng ta thấy sự phân cụm tập dữ liệu cho vay nợ vào trong 3
cụm: chú ý rằng các cụm chồng lên nhau có nghĩa là cho phép các điểm dữ liệu thuộc
về nhiều hơn một cụm.
Cơm 3

Nỵ
Cơm 1

Cơm 2
Thu nhËp

Hình 1.3. Phân cụm tập dữ liệu cho vay nợ vào trong 3 cụm.
1.2.2.2. Luật kết hợp (Association rules)
Luật kết hợp chỉ ra mối quan hệ tương quan phổ biến hay mối kết hợp giữa các
hạng mục trong tập dữ liệu lớn. KPDL dựa vào luật kết hợp được thực hiện qua 2 bước:
Bước 1: Tìm các tập phổ biến, một tập phổ biến được xác định bằng cách tính độ
hỗ trợ và độ hỗ trợ đó phải thỏa mãn độ hỗ trợ cực tiểu.
Bước 2: Sinh ra các luật kết hợp từ tập phổ biến vừa thu được, các luật kết hợp
phải thỏa mãn điều kiện lớn hơn hoặc bằng độ hỗ trợ cực tiểu và độ tin cậy cực tiểu.
Luật kết hợp được ứng dụng rất hiệu quả trong các lĩnh vực kinh tế như marketing,

bán hàng,…
Ví dụ về khai phá luật kết hợp: Trong một hiệu sách lưu lại các phiếu mua sách,
người ta phát hiện ra rằng: Trong số những người mua quyển "Cơ sở dữ liệu" thì có 40%
số người đó mua thêm quyển "Hệ quản trị cơ sở dữ liệu", và 25% mua thêm quyển "Kho
dữ liệu".
Trong ví dụ trên, hai luật kết hợp được tìm thấy:

9


Có 40% số người mua quyển " Cơ sở dữ liệu " thì đồng thời mua quyển "Hệ quản
trị cơ sở dữ liệu".
Có 25% số người mua quyển " Cơ sở dữ liệu " thì đồng thời mua quyển "Kho dữ
liệu".
Với những quy tắc khám phá được ở trên, người bán hàng có thể sắp xếp các quyển
sách có liên quan với nhau ở vị trí gần nhau như một sự gợi ý cho người mua mua những
sản phẩm cần thiết đi kèm. Những quy tắc đó cũng giúp cho nhà sách có chiến lược kinh
doanh tốt hơn.
1.3. Kiến trúc của hệ thống khai phá dữ liệu
Kiến trúc điển hình của một hệ thống KPDL được trình bày trong hình 1.4.

Hình 1.4. Kiến trúc điển hình của một hệ thống khai phá dữ liệu.
1.4. Các ứng dụng của khai phá dữ liệu và những thách thức gặp phải
1.4.1. Ứng dụng của khai phá dữ liệu trong thực tiễn
Các kỹ thuật KDD có thể được áp dụng vào trong nhiều lĩnh vực:
• Phân tích dữ liệu và hỗ trợ ra quyết định (data analysis and decision support)

10



• Thơng tin kinh tế, thương mại: Phân tích dữ liệu mua hàng, bán hàng, phân tích
vốn đầu tư, chấp thuận cho vay, phát hiện gian lận, ...
• Y học: Phân tích dữ liệu bệnh án từ đó cảnh báo người bệnh khả năng mắc bệnh
và phương án điều trị,…
• Nhân sự: Phân tích dữ liệu để đánh giá trình độ, kinh nghiệm, kỹ năng, chứng
chỉ, vị trí cơng việc trước đây,... phục vụ chọn ứng cử viên khi tuyển dụng
• Nhận dạng (pattern recognition)
• .v.v.
1.4.2. Những thách thức trong ứng dụng và nghiên cứu kỹ thuật khai phá dữ liệu
1.4.2.1. Các vấn đề liên quan đến cơ sở dữ liệu
Đầ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 CSDL,
đó cũng là nơi sinh ra những khó khăn trong q trình khai phá dữ liệu bởi dữ liệu
thường biến đổi, không đầy đủ, lớn và bị nhiễu. Các thách thức liên quan đến CSDL
thường gặp là:
• Các cơ sở dữ liệu lớn: cơ sở dữ liệu với hàng trăm bảng và thuộc tính, hàng triệu
bản ghi và kích thước lên tới nhiều gigabyte là vấn đề hồn tồn bình thường và cơ sở
dữ liệu terabyte (1012 bytes) cũng đã bắt đầu xuất hiện.
• Kích thước lớn: số lượng rất lớn các bản ghi trong cơ sở dữ liệu và số lượng rất
lớn các trường (các thuộc tính, các biến) vì vậy kích thước bài tốn trở nên lớn hơn.
• Dữ liệu động: CSDL thường xuyên thay đổi, dữ liệu cũng có thể thay đổi theo
thời gian nên việc khai phá dữ liệu cũng bị ảnh hưởng bởi thời điểm quan sát dữ liệu.
• Các thuộc tính khơng phù hợp: một đặc điểm quan trọng của dữ liệu là có các
tính khơng phù hợp, nghĩa là các thành phần của dữ liệu khơng phù hợp với mục đích
của việc khai thác.
• Các giá trị, thuộc tính bị thiếu: sự thiếu sót một giá trị, thuộc tính nào đó cũng có
thể ảnh hưởng đến việc khai phá dữ liệu.
• Độ nhiễu và khơng chắc chắn.
• Mối quan hệ phức tạp giữa các thuộc tính.

11



1.4.2.1. Một số vấn đề khác
• “Q khít khao” (Over-fitting): Khi giải thuật tìm kiếm các tham số tốt nhất cho
một mơ hình đặc biệt sử dụng một tập hữu hạn dữ liệu thì nó có thể rơi vào tình trạng
chỉ phù hợp với các dữ liệu đó mà khơng có khả năng đáp ứng cho các dữ liệu khác.
• Đánh giá tầm quan trọng thống kê.
• Khả năng biểu đạt của mẫu.
• Sự tương tác với người sử dụng và các tri thức có sẵn.

12


CHƯƠNG 2. BÀI TOÁN KHAI THÁC TẬP PHỔ BIẾN
2.1. Giới thiệu bài toán khai thác tập phổ biến
Bài toán khai thác tập phổ biến (hay tập thường xuyên) là tìm tất cả các tập mục
dữ liệu có độ hỗ trợ thỏa ngưỡng tối thiểu cho trước, gọi là tập các tập mục dữ liệu
thường xuyên hay tập mục dữ liệu phổ biến.
Bài toán khai thác tập phổ biến là bài tốn tìm tất cả tập các hạng mục (itemset) S
có độ phổ biến (support) thỏa mãn độ phổ biến tối thiểu S0: supp(S) ≥ S0. Để khai thác
tập hợp mục thường xuyên có rất nhiều số lần quét CSDL và bộ các ứng cử viên dự
phòng được tạo ra dẫn đến thời gian thực hiện việc này trên bộ dữ liệu lớn là rất nhiều.
2.2. Các định nghĩa cơ bản
Để minh họa cho các định nghĩa, ta lấy ví dụ CSDL với các giao dịch sau.
TID (mã giao dịch)

I (tập các hạng mục)

1


A, B, E

2

B, D

3

B, C

4

A, B, D

5

A, C

6

B, C

7

A, C

8

A, B, C, E
Bảng 2.1. CSDL mô tả các giao dịch mua hàng.


2.2.1. Hạng mục và tập hạng mục
2.2.1.1. Hạng mục (Item)
Hạng mục là danh mục các phần tử được kí hiệu bằng ký tự, số ví dụ như: A =
Apple, B = Bread, C = Cereal, D = donuts, E = Eggs.

13


2.2.1.2. Tập các hạng mục (Itemset)
Tập các hạng mục là tập các hạng mục có trong tập, ví dụ tập các hạng mục của
giỏ hàng gồm có A,B,C,D,E.
2.2.1.3. Tập hạng mục mức k
Tập k-hạng mục (k-itemset) là tập danh sách bao gồm k phần tử là các hạng mục
thuộc tập hạng mục. Ví dụ danh sách 1 hạng mục (1-itemset) như {A, B, C}, danh sách
2 hạng mục (2-itemset) như {{A, B}, {A, C}}, danh sách 3 hạng mục (3-itemset) như
{{A, B, C}, {B, C, E}}.
2.2.2. Giao dịch (Transaction)
Một giao dịch xác định trên I là tập các hạng mục có trong I.
Giao dịch mua hàng ở ví dụ là tập các hạng mục được mua trong một giỏ hàng
được lưu kèm với mã giao dịch (TID) ví dụ TID8={A,B,C,E}.
2.2.3. Cơ sở dữ liệu giao tác
2.2.3.1. Định nghĩa
Cho I = {x1, x2, …, xn} là tập hợp các mục dữ liệu. Mỗi xi  I gọi là một mục dữ
liệu hay là một thuộc tính. Một tập con {xi1, xi2, …, xik}  I được gọi là một giao tác
trên I. Đặt ti = {xi1, xi2, …, xik}, ti gọi là định danh của giao tác với tập hợp các mục
trong giao tác là:{xi1, xi2, …, xik}. Một tập hợp gồm m định danh giao tác T = {t1, t2, …,
tm}, với m là số bất kỳ được gọi là một cơ sở dữ liệu giao tác trên I.
Mỗi tập con X  I với ‖X‖ = k được gọi là tập k-mục dữ liệu hay k-thuộc tính của
I (trong trường hợp không quan tâm đến số mục dữ liệu của X, ta gọi tắt: X là tập mục

dữ liệu), mỗi tập con S  T gọi là tập định danh giao tác. Để thuận tiện trong các ví dụ,
ta viết X = ABC thay cho X = {A, B, C} và S = 123 thay cho S = {t1, t2, t3}, XY thay
cho X  Y.
2.2.3.2. Biểu diễn cơ sở dữ liệu giao tác
Có hai cách biểu diễn tập cơ sở dữ liệu giao tác: Biểu diễn ngang và biểu diễn dọc.
Biểu diễn ngang: Một cơ sở dữ liệu là một danh sách các giao tác. Mỗi giao tác có
một định danh giao tác (tid) và một danh sách những mục dữ liệu trong giao tác đó.

14


×