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

Khai thác luật kết hợp từ cơ sở dữ liệu giao dịch của siêu thị bán lẻ : Luận văn ThS. Công nghệ thông tin: 60 48 05

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 (2.74 MB, 73 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN KHẮC GIÁO

KHAI THÁC LUẬT KẾT HỢP
TỪ CƠ SỞ DỮ LIỆU GIAO DỊCH
CỦA SIÊU THỊ BÁN LẺ

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Hà Nội – 2013


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN KHẮC GIÁO

KHAI THÁC LUẬT KẾT HỢP TỪ CƠ SỞ DỮ LIỆU
GIAO DỊCH CỦA SIÊU THỊ BÁN LẺ
Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60 48 05

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: GS.TS Vũ Đức Thi

Hà Nội - 2013



3

LỜI CẢM ƠN
Tôi xin bày tỏ lòng biết ơn sâu sắc đến:
- GS.TS Vũ Đức Thi - Viện Công nghệ thông tin, Viện Hàn lâm Khoa
học và Công nghệ Việt Nam, người thày đã tận tình hướng dẫn, chỉ bảo tôi
hoàn thành tốt luận văn này.
- Các thày cô giáo Khoa Công nghệ thông tin - Trường Đại học Công
nghệ đã tận tâm giảng dạy, truyền đạt cho tôi những kiến thức, phương
pháp nghiên cứu trong suốt hai năm học.
- Các thày cô, các anh chị tại viện Công nghệ thông tin, Viện Hàn lâm
Khoa học và Công nghệ Việt Nam đã giúp đỡ tôi rất nhiều trong quá trình
nghiên cứu.
Cuối cùng xin cảm ơn gia đình và bạn bè đã giúp đỡ động viên, tạo điều kiện
thuận lợi cho tôi trong suốt thời gian nghiên cứu.
Hà Nội, tháng 9 năm 2013

Nguyễn Khắc Giáo


4

LỜI CAM ĐOAN
Tôi xin cam đoan luận văn "Khai thác luật kết hợp từ cơ sở
dữ liệu giao dịch của siêu thị bán lẻ" nà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 GS.TS Vũ Đức Thi.
Các số liệu, kết quả tham khảo trong luận văn là chính xác và được
trích dẫn đầy đủ trong các tài liệu tham khảo. Phần ứng dụng thực
tiễn do cá nhân tôi tự thực hiện. Tôi xin chịu trách nhiệm về luận

văn của mình.
Nguyễn Khắc Giáo


5

MỤC LỤC

Danh mục hình vẽ ................................................................................................. 7
MỞ ĐẦU ............................................................................................................... 8
CHƯƠNG 1. TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU ................................... 11
1.1. Nhu cầu của khai phá dữ liệu ................................................................... 11
1.2. Định nghĩa khai phá dữ liệu ..................................................................... 12
1.3. Các ứng dụng của khai phá dữ liệu .......................................................... 13
1.4. Các bước của quá trình khai phá dữ liệu.................................................. 14
1.5. Kiến trúc của một hệ thống khai phá dữ liệu ........................................... 17
1.6. Kiểu dữ liệu trong khai phá dữ liệu ......................................................... 18
1.7. Các bài toán khai phá dữ liệu điển hình ................................................... 19
1.7.1. Mô tả khái niệm ................................................................................ 19
1.7.2. Quan hệ kết hợp ................................................................................ 20
1.7.3. Phân lớp (phân loại – classification) ................................................. 20
1.7.4. Phân cụm (clustering) ....................................................................... 20
1.7.5. Hồi quy (regression) .......................................................................... 20
1.7.6. Mô hình hóa sự phục thuộc (dependency modeling) ........................ 21
1.7.7. Phát hiện sự biến đổi và độ lệch (change and deviation detection) .. 21
1.8. Lợi thế của khai phá dữ liệu so với các phương pháp cơ bản.................. 22
1.8.1. Học máy (Machine Learning) ........................................................... 22
1.8.2. Phương pháp hệ chuyên gia .............................................................. 23
1.8.3. Phát kiến khoa học ............................................................................ 23
1.8.4. Phương pháp thống kê....................................................................... 23

1.9. Thách thức trong ứng dụng và nghiên cứu kỹ thuật khai phá dữ liệu ..... 24
1.9.1. Các vấn đề về CSDL ......................................................................... 24
1.9.2. Một số vấn đề khác ........................................................................... 26
1.10. Tình hình ứng dụng khai phá dữ liệu ..................................................... 27
CHƯƠNG 2. KHAI PHÁ DỮ LIỆU BẰNG LUẬT KẾT HỢP ........................ 29
2.1. Một số khái niệm ...................................................................................... 29


6
2.1.1. Độ hỗ trợ (support) ............................................................................ 29
2.1.2. Tập phổ biến ...................................................................................... 29
2.1.3. Luật kết hợp....................................................................................... 30
2.2. Phát biểu bài toán tìm luật kết hợp........................................................... 31
2.2. Một số hướng tiếp cận trong khai phá luật kết hợp ................................. 33
2.3. Một số thuật toán phát hiện luật kết hợp .................................................. 35
2.3.1. Thuật toán Apriori ............................................................................. 35
2.3.2. Thuật toán FP-Growth....................................................................... 40
CHƯƠNG 3. TÌM LUẬT KẾT HỢP TRONG CƠ SỞ DỮ LIỆU GIAO DỊCH
CỦA SIÊU THỊ BÁN LẺ ................................................................................... 50
3.1. Bài toán tìm luật kết hợp trong cơ sở dữ liệu giao dịch của siêu thị bán lẻ
......................................................................................................................... 50
3.1.1. Giới thiệu bài toán ............................................................................. 50
3.1.2. Thuật toán khai phá tập mục cổ phần cao AFSM – Advanced Fast
Share Measure) ............................................................................................ 51
3.2. Xây dựng chương trình khai phá luật kết hợp trong cơ sở dữ liệu giao
dịch của siêu thị bán lẻ .................................................................................... 59
3.2.1. Dữ liệu đầu vào ................................................................................. 59
3.2.2. Giao diện chương trình ..................................................................... 61
3.2.3. Thử nghiệm chương trình.................................................................. 66
3.2.4. Nhận xét ............................................................................................ 69

KẾT LUẬN ......................................................................................................... 70
Kết quả đạt được ............................................................................................. 70
Hướng nghiên cứu tiếp theo ............................................................................ 70
TÀI LIỆU THAM KHẢO ................................................................................... 72


7

Danh mục hình vẽ
Hình 1.1. Tiến hóa công nghệ Cơ sở dữ liệu ................................................ 12
Hình 1.2. Quá trình phát hiện tri thức trong CSDL ...................................... 14
Hình 1.3. Quy trình phát hiện tri thức ........................................................... 15
Hình 1.4. Kiến trúc điển hình của hệ thống khai phá dữ liệu ....................... 17
Hình 2.1. Tính chất Apriori của tập mục phổ biến ....................................... 36
Hình 2.2. Nhánh tập cha không phổ biến sinh từ tập con không phổ biến ... 36
Hình 2.3. Ví dụ minh họa thuật toán Apriori ................................................ 39
Hình 3.1. Kết quả ví dụ về thuật toán AFSM ............................................... 57
Hình 3.2. Sơ đồ khối thuật toán AFSM ........................................................ 58
Hình 3.3. Dữ liệu dạng bảng ......................................................................... 59
Hình 3.4. Dữ liệu dạng CSDL....................................................................... 60
Hình 3.5. Dữ liệu dạng Text.......................................................................... 61
Hình 3.6. Form Giao diện chính ................................................................... 63
Hình 3.7. Form kết quả ................................................................................. 64
Hình 3.8. Giao diện mở file dữ liệu .............................................................. 65
Hình 3.9. Cảnh báo lỗi nếu nhập thiếu thông tin .......................................... 65
Hình 3.10. Cảnh báo lỗi nếu chọn sai dữ liệu ............................................... 66


8


MỞ ĐẦU
Ngày nay, với sự phát triển nhanh chóng của công nghệ thông tin, tin học đã
được ứng dụng trên nhiều mặt của kinh tế, đời sống xã hội. Kéo theo đó là một
khối lượng dữ liệu đồ sộ được lưu trữ trong các hệ thống cơ sở dữ liệu, kho dữ
liệu. Chúng ta biết rằng trong khối lượng dữ liệu khổng lồ đó đang ẩn chứa
những giá trị nhất định. Chẳng hạn như, tập dữ liệu về thông tin khám bệnh của
các bệnh nhân tại một bệnh viện hoặc một vùng có thể cho biết mối liên quan
giữa các triệu chứng bệnh hay xảy ra: người bị nhức đầu thường hay bị sốt,
người bị ho thường bị rát họng... ;Cơ sở dữ liệu giao dịch của một siêu thị có thể
ẩn chứa thông tin về thói quen mua hàng của khách hàng tại siêu thị: khách hàng
mua bánh mì thường mua sữa, khách hàng mua sữa bột thường mua bỉm, quần
áo trẻ sơ sinh...; Lịch sử duyệt web của người dùng ẩn chứa thông tin về thói
quen lướt web của người đó...v.v. Việc tìm ra những quy luật có thể được thực
hiện bằng phương pháp thống kê nhưng khi làm việc với cơ sở dữ liệu vô cùng
lớn thì phương pháp thống kê trở nên khó thực hiện và vô cùng tốn kém. Nhu
cầu khai thác tri thức từ dữ liệu ngày càng lớn làm cho một khuynh hướng kỹ
thuật mới ra đời: đó là phát hiện tri thức và khai phá dữ liệu KDD (Knowledge
Discovery and Data Mining). Phát hiện tri thức trong cơ sở dữ liệu là một quá
trình không tầm thường nhận ra những mẫu có giá trị, mới, hữu ích tiềm năng và
hiểu được trong dữ liệu. KDD là sự kế thừa và phát triển các thành tựu của nhiều
lĩnh vực nghiên cứu ứng dụng tin học trước đó như: Hệ chuyên gia, Trí tuệ nhân
tạo, lý thuyết nhận dạng, …
KDD được ứng dụng rất rộng rãi trong nghiên cứu khoa học, đời sống chính
trị xã hội và kinh tế: nghiên cứu thiên văn học, tin sinh học, phát hiện gian lận,
khai thác mạng xã hội, văn bản, phát hiện tội phạm, phát hiện lừa đảo, hỗ trợ ra
quyết định, quản lý rủi ro...
Hiện nay, thói quen mua sắm của người tiêu dùng tại các đô thị đang dần
thay đổi. Với các hệ thống siêu thị rộng khắp, thuận tiện và an toàn hơn, người
tiêu dùng chuyển sang mua sắm tại các siêu thị nhiều hơn. Nhờ việc ứng dụng
tin học vào trong công tác quản lý, các giao dịch mua sắm của khách hàng được

lưu lại trong cơ sở dữ liệu của siêu thị. Vấn đề đặt ra là, người quản lý siêu thị
có thể tìm thấy những tri thức mới từ kho dữ liệu giao tác khổng lồ kia? Họ
mong muốn tìm ra từ đó các quy luật mua sắm của khách hàng để điều phối, sắp
xếp hàng hóa một cách phù hợp. Bài toán này có thể tìm ra lời giải bằng phương


9
pháp khai phá luật kết hợp thực hiện trên bảng cơ sở dữ liệu giao tác (giao dịch
mua hàng).
Trước đây, bảng dữ liệu đầu vào chỉ thể hiện việc có hay không thực hiện
một giao tác nào đó (ví dụ như mặt hàng nào bán được ghi 1, không bán ghi 0),
nhưng bảng dữ liệu còn thể hiện số lượng trong giao tác (mặt hàng nào không
bán được ghi 0, mặt hàng bán được thì ghi số lượng của mặt hàng đó được bán.
Điều này dẫn bài toán đến sát thực tiễn và có ý nghĩa thực tiễn hơn bài toán 0 và
1. Nhưng cũng vì thế mà làm biến đổi nhiều đặc tính của dữ liệu 0 và 1. Do đó
nhiều nhà khoa học đã tiến hành nghiên cứu bảng dữ liệu giao tác có số lượng để
tìm ra những quy luật sao cho việc tìm kiếm các tập mục phổ biến trong bảng
giao tác có số lượng là nhanh nhất.
Trong luận văn này, tôi chọn cách nghiên cứu và xây dựng thực nghiệm với
bài toán khai thác luật kết hợp từ cơ sở dữ liệu của siêu thị bán lẻ mà các giao
dịch không chỉ đơn thuần được thể hiện ở dạng nhị phân mà có cả số lượng hàng
hóa được mua trong các giao dịch.
Nội dung chính của luận văn gồm 3 chương:
Chương 1: Tổng quan về khai phá dữ liệu
Nêu những kiến thức cơ bản khai phá dữ liệu và phát hiện tri thức trong
cơ sở dữ liệu:
- Một số định nghĩa về khai phá dữ liệu.
- Các phương pháp khai phá dữ liệu phổ biến và ứng dụng của chúng.
- Khuynh hướng phát triển của khai phá dữ liệu.
Chương 2: Khai phá dữ liệu bằng luật kết hợp

- Giới thiệu về bài toán khai phá luật kết hợp, các khái niệm liên quan và
các phương pháp khai phá luật kết hợp.
- Giới thiệu một số thuật toán được sử dụng để khai phá luật kết hợp.
Chương 3: Tìm luật kết hợp trong cơ sở dữ liệu giao dịch của siêu thị bán lẻ
Mô tả bài toán thực nghiệm là tìm tập các luật kết hợp thể hiện thói quen
mua sắm của các khách hàng từ tập cơ sở dữ liệu về các giao dịch mua bán
của một siêu thị bán lẻ. Trong đó:
- Mô tả sự khác biệt giữa cơ sở dữ liệu bán lẻ của siêu thị so với bảng dữ liệu
nhị phân.


10
- Giới thiệu một số cách giải quyết mà các nhà khoa học đã công bố.
- Xây dựng phần mềm tìm luật kết hợp dựa trên phương pháp AFSM.


11

CHƯƠNG 1. TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1. Nhu cầu của khai phá dữ liệu
Chúng ta đang sống trong thời kỳ công nghệ thông tin phát triển như vũ bão.
Công nghệ thông tin ứng dụng trên hầu hết các lĩnh vực khoa học, đời sống,
kinh tế, chính trị, xã hội. Đồng thời với đó là lượng dữ liệu được lưu trữ cũng
được tăng lên nhanh chóng tạo ra những kho dữ liệu khổng lồ. Chúng ta biết
rằng, ẩn chứa trong lượng dữ liệu đó có những giá trị nhất định. Tuy nhiên theo
thống kê, chỉ một lượng nhỏ của những dữ liệu này (khoảng 5% - 10%) là luôn
được phân tích, số còn lại không biết để làm gì nhưng chúng ta vẫn luôn phải
lưu trữ vì sợ sẽ bỏ qua những thông tin quan trọng nào đó hoặc một ngày nào đó
sẽ dùng tới chúng. Mặt khác, trong thời đại ngày nay, chúng ta cần có nhiều
thông tin để trợ giúp ra quyết định và ngày càng có nhiều câu hỏi mang tính chất

định tính cần phải trả lời dựa trên một khối lượng dữ liệu khổng lồ đã có. Do đó,
các phương pháp quản trị và khai thác cơ sở dữ liệu truyền thống ngày càng
không thể đáp ứng được thực tế. Trong [13] hai tác giả Jiawei Han và Micheline
Kamber đã nhận định rằng, tình trạng "giàu về dữ liệu mà nghèo về thông tin" là
một động lực phát triển lĩnh vực khai phá dữ liệu và phát hiện tri thức trong cơ
sở dữ liệu. Quá trình tiến hóa trong lĩnh vực công nghệ cơ sở dữ liệu được hai
tác giả mô tả như Hình 1.1, trong đó công nghệ khai phá dữ liệu được coi là giai
đoạn tiến hóa mới của công nghệ cơ sở dữ liệu. Quá trình tiến hóa này được bắt
đầu từ cuối những năm 1980 và không ngừng được phát triển về cả bề rộng lẫn
chiều sâu.
Việc nghiên cứu và phát triển lĩnh vực khai phá dữ liệu và phát hiện tri thức
trong CSDL nhằm giải quyết tình trạng "tràn ngập thông tin và thiếu thốn tri
thức". Những kho dữ liệu khổng lồ về Web (Google, Alexa, Internet Achive), về
CSDL (Yahoo, Max Phanck Institute for Meteorology, AT&T), kho dữ liệu về
thiên văn, y tế, chứng khoán tài chính.... được xây dựng không ngoài mục đích
tìm ra những thông tin có giá trị từ những dữ liệu đó. Chẳng hạn như, từ một
giải pháp phân lớp trong khai phá dữ liệu Web (Web mining) có thể phát triển
thành một thành phần của máy tìm kiếm để khi một trang web mới được tải về,
máy tìm kiếm sẽ tự động phân nó vào một lớp trang web đã được xác định; việc
phân lớp đó sẽ tạo thuận lợi cho việc tìm kiếm về sau của người sử dụng. Hay
như giải pháp khai phá luật kết hợp từ một cơ sở dữ liệu về các lỗi của mạng di
động cho ra được mối liên quan giữa các lỗi "phổ biến" xảy ra trong mạng di
động với một xác suất nhất định (mức độ "phổ biến" này được xác định bằng


12
một ngưỡng cho trước của người khai phá) từ đó phần nào hỗ trợ người quản trị
mạng có thể dự đoán được các lỗi xảy ra để có biện pháp phòng chống.
Tập hợp dữ liệu và khởi tạo CSDL
(tới cuối những năm 1960)

- Xử lý file thô sơ

Hệ quản trị CSDL
(những năm 1970 và những năm đầu 1980)
- Hệ thống CSDL phân cấp và mạng  Hệ thống CSDL quan hệ
- Công cụ mô hình dữ liệu: Mô hình quan hệ thực thể...
- Kỹ thuật đánh chỉ số và tổ chức dữ liệu: Cây B+, băm ...
- Ngôn ngữ hỏi SQL...
- Giao diện người dùng, nhập liệu và kết xuất
- Xử lý truy vấn, tối ưu truy vấn
- Quản lý giao dịch: khôi phục, điều khiển đồng thời...
- Xử lý giao dịch trực tuyến (QL TP)

Hệ CSDL mở rộng
(những năm giữa 1980 đến nay)
- Mô hình dữ liệu mở rộng: quan hệ mở rộng,
hướng đối tượng, quan hệ - đối tượng, suy luận.
- Định hướng ứng dụng không gian, thời gian, đa
phương tiện, tích cực, khoa học, cơ sở tri thức.

Kho dữ liệu và khai phá dữ liệu
(những năm cuối 1980 đến nay)
- Kho dữ liệu và công nghệ OLAP.
- Khai phá dữ liệu & phát hiện tri thức

Hệ CSDL dựa trên Web
(những năm 1990 đến nay)
- Hệ CSDL dựa trên XML.
- Khai phá Web.


Thế hệ mới hệ thông tin tích hợp (2000 -)

Hình 1.1. Tiến hóa công nghệ Cơ sở dữ liệu

1.2. Định nghĩa khai phá dữ liệu
"Khai phá dữ liệu được dùng để chỉ việc kết xuất hoặc khai thác tri thức từ
lượng lớn dữ liệu"[13]. Quá trình này kết xuất ra các tri thức tiềm ẩn từ dữ liệu
giúp cho việc dự báo trong kinh doanh, các hoạt động sản xuất, … Khai phá dữ
liệu làm giảm chi phí về thời gian so với phương pháp truyền thống trước kia (ví
dụ như phương pháp thống kê). Sau đây là các định nghĩa mang tính mô tả của
các tác giả về khai phá dữ liệu được Friedman tổng hợp trong [11]:
Định nghĩa của Fayyad: “Khai phá dữ liệu là một quá trình không tầm
thường nhận ra những mẫu có giá trị mới, hữu ích tiềm năng và hiểu được trong
dữ liệu” [10].


13
Định nghĩa của Zekulin: "Khai phá dữ liệu là quá trình trích lọc những
thông tin chưa biết, hiểu được và hữu ích từ những cơ sở dữ liệu lớn và dùng
chúng để đưa ra những quyết định kinh doanh quan trọng".
Đị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”.
Định nghĩa của John: "Khai phá dữ liệu là quá trình phát hiện những mẫu có
ích trong dữ liệu".
Định nghĩa của Parsaye: “Khai phá dữ liệu là quá trình trợ giúp quyết định,
trong đó chúng ta tìm kiếm các mẫu thông tin chưa biết và bất ngờ trong CSDL
lớn”.
J. Han và M. Kamber cho rằng, cụm từ tiếng Anh "Data mining" (Khai phá
dữ liệu) chưa diễn tả đầy đủ và toàn diện ý nghĩa của lĩnh vực nghiên cứu - triển

khai mà nó mang tên. Như việc khai thác vàng từ đá hay cát không thể diễn đạt
bằng cụm từ "Khai thác đá" hoặc "Khai thác cát"[13]. Tuy vậy, thuật ngữ "Khai
phá dữ liệu" đã trở nên phổ biến trong các tài liệu tiếng Việt hiện nay.
Hai thuật ngữ “Khám phá tri thức” và “Khai phá dữ liệu” đã xuất hiện và
phổ biến trên thế giới, tuy nhiên ở việt nam thì những thuật ngữ này còn tương
đối là mới mẻ do vậy rất nhiều người đã coi khai phá dữ liệu và khám phá tri
thức trong cơ sở dữ liệu (knowledge discovery in databases - KDD) là như nhau.
Tuy nhiên thực chất, khai phá dữ liệu chỉ là một khâu trong quá trình khám phá
tri thức.
Khái niệm về Khai phá dữ liệu của Frawley, Piatetski-Shapiro và Matheus:
"Khai phá dữ liệu là một bước trong quá trình Phát hiện tri thức trong cơ sở dữ
liệu, thi hành một thuật toán khai phá dữ liệu để tìm ra các mẫu từ dữ liệu theo
khuôn dạng thích hợp".

1.3. Các ứng dụng của khai phá dữ liệu
Phát hiện tri thức và khai phá dữ liệu liên quan đến nhiều ngành, nhiều lĩnh
vực: thống kê, trí tuệ nhân tạo, CSDL, thuật toán, tính toán song song… Đặc
biệt phát hiện tri thức và khai phá dữ liệu rất gần gũi với lĩnh vực thống kê, sử
dụng các phương pháp thống kê để mô hình hóa dữ liệu và phát hiện các mẫu.
Khai phá dữ liệu có nhiều ứng dụng trong thực tế, ví dụ như:


14
 Bảo hiểm, tài chính và thị trường chứng khoán: phân tích tình hình tài
chính và dự báo giá của các loại cổ phiếu trong thị trường chứng khoán. Danh
mục vốn và giá, lãi suất, dữ liệu thẻ tín dụng, phát hiện gian lận …
 Thống kê, phân tích dữ liệu và hỗ trợ ra quyết định.
 Điều trị y học và chăm sóc y tế: một số thông tin về chẩn đoán bệnh lưu
trong các hệ thống quản lý bệnh viện. Phân tích mối liên hệ giữa các triệu chứng
bệnh, chẩn đoán và phương pháp điều trị.

 Sản xuất và chế biến: Quy trình, phương pháp chế biến và xử lý sự cố.
 Text mining và Web mining: Phân tích lớp văn bản và trang web, tóm tắt
văn bản.
 Lĩnh vực khoa học: quan sát thiên văn, dữ liệu gene, dữ liệu sinh vật học,
tìm kiếm, so sánh các hệ gene và thông tin di truyền, mối liên hệ gene và một số
bệnh di truyền…
 Mạng viễn thông: Phân tích các cuộc gọi điện thoại và hệ thống giám sát
lỗi, sự cố, chất lượng dịch vụ, …

1.4. Các bước của quá trình khai phá dữ liệu
Trình diễn
Khai phá
dữ liệu
Tri thức
Đổi dạng

Tiền xử lý

Mẫu

Chọn lựa
Dữ liệu đã
chuyển dạng
Dữ liệu đã
tiền xử lý
Dữ liệu đích
Dữ liệu

Hình 1.2. Quá trình phát hiện tri thức trong CSDL
Theo [7,8,10] quy trình phát hiện tri thức thường tuân theo các nhóm bước

như mô tả cụ thể như trong Hình 1.3.


15
Nhóm bước thứ nhất: Mở rộng hiểu biết về miền ứng dụng, về các tri thức
với độ ưu tiên thích hợp và về mục đích của người dùng cuối. Có thể coi nội
dung công việc này tương ứng với nội dung khảo sát bài toán trong quy trình
xây dựng một hệ thống thông tin nói chung.
Khởi tạo tập dữ liệu đích, tạo kho dữ liệu: chọn tập dữ liệu "và/hoặc" hướng
trọng tâm tới các tập con các biến hoặc mẫu dữ liệu mà trên đó công việc phát
hiện tri thức được tiến hành. Tri thức miền ứng dụng có được thông qua việc mở
rộng hiểu biết về miền ứng dụng nói trên đóng vai trò là nền tảng tri thức để
khởi tạo tập dữ liệu đích, kho dữ liệu.
Tạo/lựa chọn
CSDL đích
Tạo kho dữ liệu

1

Lựa chọn kỹ
thuật lấy mẫu
và dữ liệu
Bổ sung dữ
liệu thất lạc

Loại trừ dữ
liệu tạp nhiễu
2

Chuẩn hóa dữ

liệu

Chuyển dạng
dữ liệu

Lựa chọn bài
toán DM

Lựa chọn
phương pháp
DM

Tìm các thuộc tính
quan trọng và các
phạm vi có giá trị

Tạo các thuộc
tính xuất phát
3
Rút tri thức

Test tri thức

Tinh chế
tri thức

Chuyển sang
các dạng trình
diễn khác


4

5

Hình 1.3. Quy trình phát hiện tri thức
Nhóm bước thứ hai: làm sạch và tiền xử lý dữ liệu: thực hiện các thao tác cơ
sở như giải quyết thiếu vắng giá trị, loại bỏ nhiễu hoặc yếu tố ngoại lai, kết nối
các thông tin cần thiết tới mô hình hoặc loại bỏ nhiễu, quyết định chiến lược
nhằm nắm bắt các trường dữ liệu (các thuộc tính), tính toán dãy thông tin thời
gian và sự biến đổi được định trước.
Chất lượng của hệ thống khai phá dữ liệu phụ thuộc vào chất lượng của dữ
liệu đầu vào. Mục tiêu làm sạch dữ liệu nhằm đảm bảo dữ liệu đầu vào có chất
lượng tốt. Nhờ đó mà nâng cao chất lượng của hệ thống.


16
Thu gọn và trình diễn dữ liệu có mục tiêu tìm được các đặc trưng hữu ích
nhằm trình bày mối phụ thuộc dữ liệu theo mục đích của bài toán. Thu gọn dữ
liệu được thi hành về chiều ngang (giảm số lượng đối tượng), chiều dọc (giảm
số lượng trường dữ liệu) hoặc cả hai nhằm làm giảm kích thước dữ liệu được xử
lý, tăng tốc độ hoạt động của hệ thống. Sử dụng các phương pháp thu gọn hoặc
biến đổi chiều nhằm rút gọn số lượng các biến cần quan tâm hoặc để tìm ra các
mô tả bất biến đối với dữ liệu nhằm trình diễn dữ liệu phù hợp nhất. Do khối
lượng dữ liệu trong bài toán KDD là rất lớn nên việc thực hiện bước này là rất
cần thiết. Khi thu gọn theo chiều ngang cần lưu ý là tập dữ liệu được lựa chọn
phải có tính đại diện cho toàn bộ dữ liệu của miền ứng dụng. Việc chọn lựa dữ
liệu vào xây dựng mô hình khai thác dữ liệu thông thường cần được tiến hành
theo một phương pháp đảm bảo tính "ngẫu nhiên" khi chọn lựa dữ liệu trong
miền ứng dụng. Tương tự, khi thu gọn theo chiều dọc cần lưu ý các thuộc tính
còn lại phải đảm bảo tính đại diện cho đối tượng trong bài toán khai phá dữ liệu

đang xem xét. Trong nhiều bài toán khai phá dữ liệu, thu gọn theo chiều dọc thu
được kết quả tốt hơn không chỉ về thời gian, không gian mà còn cả về chất
lượng của bài toán khai phá dữ liệu cũng đạt độ chính xác cao hơn vì đã loại bỏ
được một số thuộc tính gây nhiễu.
Nhóm bước thứ ba: Chọn bài toán khai phá dữ liệu: quyết định mục tiêu của
quá trình KDD là loại bài toán cụ thể nào. Chọn lựa phương pháp khai phá dữ
liệu. Nội dung này bao gồm cả việc quyết định các mô hình và tham số có thể
được chấp nhận và phương pháp khai phá dữ liệu phù hợp với tiêu chuẩn tổng
thể của quá trình KDD. Thi hành thuật toán khai phá dữ liệu: tiến hành việc dò
tìm các mẫu cần quan tâm dưới dạng trình bày riêng biệt, hoặc một tập các trình
bày như quy tắc phân lớp, cây, hồi quy, phân đoạn, ... Trong bước này, sự hỗ trợ
của người dùng vẫn đóng một vài trò quan trọng.
Nhóm bước thứ tư: Giải thích mẫu đối với các mẫu được khám phá, có thể
quay về một cách hợp lý tới bất kỳ bước nào từ bước đầu tiên tới bước thi hành
thuật toán khai phá dữ liệu đã thực hiện.
Bước thứ năm: Hợp nhất các tri thức đã được khám phá, kết hợp các tri thức
này thành một hệ thống trình diễn hoặc được biên soạn dễ dàng và kết xuất
thành những thành phần hấp dẫn. Kiểm tra và giải quyết xung đột đối với tri
thức được trích chọn.
Tóm lại: Khai phá tri thức là một quá trình kết xuất ra tri thức từ tập dữ liệu
vô cùng lớn mà trong đó khai phá dữ liệu là công đoạn quan trọng nhất.


17

1.5. Kiến trúc của một hệ thống khai phá dữ liệu
Kiến trúc của một hệ thống KPDL điển hình có thể có các thành phần như
hình 1.4 [7, 8, 13]

Giao diện đồ họa người dùng


Đánh giá mẫu

Máy khai phá dữ liệu
Cơ sở tri thức
Máy chủ CSDL hay kho dữ liệu
Làm sạch và tích hợp dữ liệu

Cơ sở dữ liệu

Lọc

Kho dữ liệu

Hình 1.4. Kiến trúc điển hình của hệ thống khai phá dữ liệu
- CSDL, kho dữ liệu hoặc các lưu trữ thông tin khác (Databases, Data
warehouse, …): Đây là một hay một tập các CSDL, các kho dữ liệu, các trang
tính hay các dạng lưu trữ thông tin khác. Các kỹ thuật làm sạch dữ liệu và tích
hợp dữ liệu có thể được thể hiện trên những dữ liệu này.
- Máy chủ CSDL hay máy chủ kho dữ liệu (Database or warehouse server):
Máy chủ này có trách nhiệm lấy những dữ liệu thích hợp dựa trên các yêu cầu
khai phá của người dùng.
- Cơ sở tri thức (Knowledge base): Đây là miền tri thức được dùng để hướng
dẫn việc tìm kiếm hay đánh giá độ quan trọng của các hình mẫu kết quả.
- Máy KPDL (Data mining engine): Một hệ thống KPDL cần phải có một
tập các modun chức năng để thực hiện công việc như: đặc trưng hoá, kết hợp,
phân lớp, phân cụm, phân tích sự tiến hoá.
- Modun đánh giá mẫu (Pattern evaluation): Bộ phận này tương tác với các
modun KPDL để duyệt tìm các mẫu đáng được quan tâm. Nó có thể dùng các



18
ngưỡng về độ quan tâm để lọc mẫu đã khám phá được. Cũng có thể modun đánh
giá mẫu được tích hợp vào modun khai phá, tuỳ theo sự cài đặt của phương pháp
khai phá được dùng.
- Giao diện đồ họa người dùng (Graphical user interface): Bộ phận này cho
phép người dùng giao tiếp với hệ thống KPDL. Ngoài ra, bộ phận này còn cho
phép người dùng xem các lược đồ CSDL, lược đồ kho dữ liệu (hay các cấu trúc
dữ liệu), các đánh giá mẫu và hiển thị các mẫu trong khuôn dạng khác nhau.

1.6. Kiểu dữ liệu trong khai phá dữ liệu
Nguồn dữ liệu được sử dụng để tiến hành khai phá dữ liệu rất phong phú và
đa dạng, trong đó điển hình nhất là CSDL quan hệ, kho dữ liệu, CSDL giao
dịch, các hệ thống dữ liệu và thông tin mở rộng khác.
Cơ sở dữ liệu quan hệ: Tính phổ biến của hệ thống CSDL quan hệ hiện nay
dẫn đến việc CSDL quan hệ là một nguồn đầu vào điển hình nhất, rất được quan
tâm của khai phá dữ liệu. Các loại "quan hệ" tiềm ẩn trong CSDL quan hệ cũng
là một trong những mối quan tâm của khai phá dữ liệu.
Kho dữ liệu: theo định nghĩa của W.H. Inmon "kho dữ liệu là tập hợp các dữ
liệu định hướng theo chủ đề, được tích hợp lại, có tính phiên bản theo thời gian
và kiên định được dùng để hỗ trợ việc tạo ra quyết định trong quản lý", ngoài ra
cũng còn nhiều định nghĩa khác về kho dữ liệu. Kho dữ liệu là một kết quả xuất
hiện trong quá trình tiến hóa các hệ hỗ trợ ra quyết định. Quá trình phát hiện tri
thức trong CSDL tiếp nhận đầu vào là các hệ thống CSDL, các nhà kho tổ chức
dữ liệu từ các nguồn và các dữ liệu mô tả. Đồng thời với sự phát triển của công
nghệ kho dữ liệu, các hệ thống tích hợp các nguồn dữ liệu cả dữ liệu trong quá
khứ lẫn dữ liệu tác nghiệp đã được xây dựng. Nhiều hệ thống khai phá dữ liệu
có đầu vào từ siêu dữ liệu cùng các nguồn dữ liệu trong các kho dữ liệu.
Cơ sở dữ liệu giao dịch: Một lớp bài toán khai phá dữ liệu phổ biến là khai
phá quan hệ kết hợp trong đó điển hình là bài toán khai phá luật kết hợp, được

xuất phát từ việc xem xét các CSDL giao dịch (bán hàng). Dữ liệu giao dịch
chính là dữ liệu nguyên thủy xuất hiện trong định nghĩa về luật kết hợp cùng với
các độ do của luật như độ hỗ trợ và độ tin cậy. Khi mở rộng dữ liệu từ dữ liệu
giao dịch sang dữ liệu vô hướng, hoặc dữ liệu phức tạp hơn có trong các CSDL
quan hệ, các giải pháp khai phá luật kết hợp được cải tiến để thích ứng với sự
biến đổi này. Các giải pháp ứng dụng lý thuyết tập mờ và lý thuyết tập thô tương
ứng với việc mở rộng miền dữ liệu cần khai phá đã được tiến hành trong nhiều
công trình nghiên cứu.


19
Các hệ thống dữ liệu mở rộng: CSDL hướng đối tượng, CSDL không gian thời gian, CSDL tạm thời, dữ liệu chuỗi thời gian, dữ liệu dòng, CSDL Text và
CSDL đa phương tiện, CSDL hỗ tạp và CSDL thừa kế, Word Wide Web.

1.7. Các bài toán khai phá dữ liệu điển hình
Quá trình khai phá dữ liệu là quá trình phát hiện ra mẫu thông tin. Trong đó
giải thuật khai phá dữ liệu được xây dựng từ các phương pháp học máy, thiết kế
mẫu, thống kê...
Ở mức tổng quát, hai mục tiêu chủ yếu của khai phá dữ liệu là dự báo và mô
tả, tương đương với hai dạng bài toán tổng quát của khai phá dữ liệu. Bài toán
dữ báo sử dụng một số biến (hoặc trường) trong CSDL để dự đoán về những giá
trị chưa biết hoặc là những giá trị sẽ xuất hiện trong tương lai của các biến. Bài
toán mô tả hướng tới việc tìm ra các mẫu mô tả dữ liệu. Dự đoán và mô tả có
tầm quan trọng khác nhau đối với các thuật toán khai phá dữ liệu riêng. Trong
ngữ cảnh KDD, vấn đề mô tả có khuynh hướng quan trọng hơn vấn đề dự báo,
điều này trái ngược với nội dung chủ yếu của các ứng dụng nhận dạng mẫu và
học máy, thì vấn đề dự báo lại là quan trọng hơn.
Ở mức chi tiết - cụ thể, dự báo và mô tả được thể hiện thông qua các bài
toán cụ thể như mô tả khái niệm, quan hệ kết hợp, phân cụm, phân lớp, hồi quy,
mô hình phụ thuộc, phát hiện biến đổi và độ lệch, và một số bài toán cụ thể

khác.
1.7.1. Mô tả khái niệm
Nội dung của bài toán mô tả khái niệm là tìm ra các đặc trưng và tính chất
của khái niệm (dùng để mô tả khái niệm đó). Điển hình nhất trong bài toán mô
tả khái niệm là các bài toán như tổng quát hóa, tóm tắt, phát hiện các đặc trưng
dữ liệu ràng buộc...
Bài toán tóm tắt là một bài toán mô tả điển hình áp dụng các phương pháp để
tìm ra một mô tả cô đọng nhất đối với 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ụ chính là sản sinh ra các mô tả đặc trưng cho
một lớp. Mô tả loại này là một kiểu tổng hợp, tóm tắt lại 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”. Lưu ý rằng luật dạng này có các đặc


20
biệt so với luật phân lớp. Luật phát hiện đặc trưng cho lớp chỉ sản sinh khi các
mục đã thuộc về lớp đó.
1.7.2. Quan hệ kết hợp
Phát hiện mối quan hệ kết hợp trong tập dữ liệu là một bài toán quan trọng
trong khai phá dữ liệu. Một trong những mối quan hệ kết hợp điển hình là quan
hệ kết hợp giữa các biến dữ liệu, trong đó bài toán khai phá luật kết hợp là một
bài toán điển hình. Bài toán khai phá luật kết hợp (thuộc lớp quan hệ kết hợp)
thực hiện việc phát hiện ra mối quan hệ giữa các tập thuộc tính (các tập biến) có
dạng X Y, trong đó X, Y là hai tập thuộc tính. Về hình thức, luật kết hợp có
dạng giống như phụ thuộc hàm trong CSDL quan hệ, nhưng nó không được định
sẵn từ tri thức miền.
1.7.3. Phân lớp (phân loại – classification)
Là việc xác định một hàm ánh xạ từ một tập 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. Như thế 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 được phát hiện biểu diễn dưới dạng các luật theo cách sau: “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ề nhân viên có 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 loại là trình độ
lãnh đạo của nhân viên.
1.7.4. Phân cụm (clustering)
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 gối lên nhau. Có nghĩa 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 khách hàng có phản ứng giống nhau
trong CSDL tiếp thị; xác định tập 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.7.5. Hồi quy (regression)
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. Nhiệm vụ của 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 liên tục (không phải rời rạc). Việc dự báo các giá


21
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ư
phương pháp hồi quy tuyến tính. Tuy nhiên, phương pháp mô hình hóa cũng
được sử dụng.
Ứng dụng của hồi quy là rất nhiều, ví dụ: dự đoán số lượng sinh vật phát
quang hiện thời trong một 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; ước lượng xác suất người bệnh có thể chết bằng cách kiểm tra

các triệu chứng bệnh lý; dự báo nhu cầu của nhóm người dùng đối với một sản
phẩm…
1.7.6. Mô hình hóa sự phục thuộc (dependency modeling)
Là việc tìm kiếm một mô hình mô tả sự phụ thuộc giữa các biến, thuộc tính
theo hai mức. Mức cấu trúc của mô hình mô tả (thường 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. Những phụ thuộc này thường được biểu thị dưới dạng luật
“nếu – thì” (nếu tiền đề đúng thì kết luận đúng). Về nguyên tắc, cả tiền đề và kết
luận đề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 thuộc tính. Hơn
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à đồ 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ố
của liên kết phụ thuộc giữa các nút đó.
1.7.7. Phát hiện sự biến đổi và độ lệch (change and deviation detection)
Nhiệm vụ này tập trung vào khám phá hầu hết 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 độ 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 độ lệch hay
dùng là lệch theo thời gian và lệch theo nhóm. Độ lệch theo thời gian là sự thay
đổi có ý nghĩa của dữ liệu theo thời gian. Độ lệch theo nhóm là sự khác nhau
của các 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, sai sót
dữ liệu hay sai lệch so với giá trị thông thường được phát hiện.
Vì những nhiệm vụ này yêu cầu số lượng và các dạng thông tin rất khác
nhau nên chúng thường ảnh hướng đến việc thiết kế và chọn phương pháp khai
phá dữ liệu khác nhau. Ví dụ như phương pháp cây quyết định tạo ra được một



22
mô tả phân biệt được mẫu giữa các lớp nhưng không có tính chất và đặc điểm
của lớp.

1.8. Lợi thế của khai phá dữ liệu so với các phương pháp cơ bản
Như đã phân tích ở trên, ta thấy phương pháp khai phá dữ liệu không có gì là
mới và hoàn toàn dựa trên các phương pháp cơ bản đã biết. Vậy khai phá dữ liệu
có gì khác so với các phương pháp đó? Và tại sao khai phá dữ liệu lại có ưu thế
hơn hẳn so với chúng trong việc phát hiện tri thức từ lượng dữ liệu lớn? Các
phân tích sau đây sẽ giải đáp câu hỏi này.
1.8.1. Học máy (Machine Learning)
Mặc dù người ta đã cố gắng cải tiến các phương pháp học máy để có thể phù
hợp với mục đích khai phá dữ liệu nhưng sự khác biệt giữa cách thiết kế, các đặc
điểm của CSDL làm cho phương pháp học máy trở nên không phù hợp với mục
đích này, mặc dù cho đến nay, phần lớn các chương trình khai phá dữ liệu vẫn
dựa trên nền tảng cơ sở của phương pháp học máy.
Trong quản trị CSDL, một CSDL là một tập hợp được tích hợp một cách
logic của dữ liệu được lưu trong một hay nhiều tệp và được tổ chức để lưu trữ
hiệu quả, sửa đổi và lấy thông tin liên quan được dễ dàng. Ví dụ như CSDL
quan hệ, dữ liệu được tổ chức thành các tệp hoặc các bảng có các bản ghi có độ
dài cố định. Mỗi bản ghi là một danh sách có thứ tự các giá trị, mỗi giá trị được
đặt vào một trường. Thông tin về tên trường và giá trị của trường được đặt trong
một tệp riêng gọi là thư viện dữ liệu (data dictionary). Một hệ thống quản trị
CSDL sẽ quản ý các thủ tục (procedures) để lấy, lưu trữ và xử lý dữ liệu trong
các CSDL đó.
Trong học máy, thuật ngữ CSDL chủ yếu đề cập đến một tập các mẫu
(instance hoặc example) được lưu trong một tệp. Các mẫu thường là các vector
đặc điểm có độ dài cố định. Thông tin về các tên đặc điểm, dãy giá trị của chúng
đôi khi cũng có được lưu lại như trong từ điển dữ liệu. Một số giải thuật học còn
sử dụng tập dữ liệu và các thông tin kèm theo tập dữ liệu đó làm đầu vào và đầu

ra cho biểu thị kết quả của việc học.
Với so sánh CSDL thông thường và CSDL trong học máy như trên, có thể
thấy là học máy có khả năng được áp dụng CSDL thông thường, bởi vì không
phải học trên tập các mẫu mà học trên tệp các bản ghi của CSDL.
Tuy nhiên, phát hiện tri thức trong CSDL làm tăng thêm các vấn đề vốn đã
là điển hình trong học máy và đã quá khả năng của học máy. Trong thực tế,


23
CSDL thường động, không đầy đủ, bị nhiễu, và lớn hơn nhiều so với tập các dữ
liệu học máy điển hình. Các yếu tố này làm cho hầu hết các giải thuật học máy
trở nên không hiệu quả trong hầu hết các trường hợp. Vì vậy trong khai phá dữ
liệu cần tập trung rất nhiều công sức vào việc vượt qua những khó khăn, phức
tạp này trong CSDL.
1.8.2. Phương pháp hệ chuyên gia
Các hệ chuyên gia cố gắng nắm bắt tri thức thích hợp với bài toán nào đó.
Các kỹ thuật thu thập, các phương pháp tích hợp tri thức với các chuyên gia cho
phép tạo ra các phương pháp hệ chuyên gia. Mỗi phương pháp đó là một cách
suy diễn các luật từ các ví dụ và giải pháp đối với các bài toán chuyên gia đưa
ra. Phương pháp này khác với khai phá dữ liệu ở chỗ các ví dụ của hệ chuyên
gia thường ở mức chất lượng cao hơn rất nhiều so với các dữ liệu trong CSDL,
và chúng thường chỉ bao được các trường hợp quan trọng. Hơn nữa, các hệ
chuyên gia sẽ xác nhận giá trị và hữu dụng của các mẫu phát hiện được. Cũng
như với các công cụ quản trị CSDL, ở các phương pháp này đòi hỏi có sự tham
gia của con người trong việc phát hiện tri thức.
1.8.3. Phát kiến khoa học
Khai phá dữ liệu rất khác với phát kiến khoa học ở chỗ khai phá trong CSDL
ít có chủ tâm và có điều kiện hơn. Các dữ liệu khoa học có từ thực nghiệm nhằm
loại bỏ một số tác động của các tham số để nhấn mạnh độ biến thiên của một
hay một số tham số đích. Tuy nhiên, các CSDL thương mại điển hình lại ghi một

số lượng thừa thông tin về các dự án của họ để đạt được một số mục đích về mặt
tổ chức. Độ dư thừa này (hay có thể gọi là sự lẫn lộn – confusion) có thể nhìn
thấy và cũng có thể ẩn chứa trong các mối quan hệ dữ liệu. Hơn nữa các nhà
khoa học có thể tạo lại các thí nghiệm và có thể tìm ra rằng các thiết kế ban đầu
không thích hợp. Trong khi đó, các nhà quản lý CSDL hầu như không thể xa xỉ
đi thiết kế lại các trường dữ liệu và thu thập lại dữ liệu.
1.8.4. Phương pháp thống kê
Một câu hỏi hiển nhiên là khai phá dữ liệu khác gì so với phương pháp thống
kê? Từ nhiều năm nay, con người đã sử dụng phương pháp thống kê một cách
rất hiệu quả để đạt được mục đích của mình.
Mặc dù các phương pháp thống kê cung cấp một nền tảng lý thuyết vững
chắc cho các bài toán phân tích dữ liệu nhưng chỉ có tiếp cận thống kê thuần túy
thôi chưa đủ. Thứ nhất, các phương pháp thống kê chuẩn không phù hợp với các


24
kiểu dữ liệu có cấu trúc trong rất nhiều các CSDL. Thứ hai, thống kê hoàn toàn
phụ thuộc vào dữ liệu, nó không sử dụng tri thức có sẵn về lĩnh vực. Thứ ba, các
kết quả phân tích thống kê có thể sẽ rất nhiều và khó có thể làm rõ được. Cuối
cùng, các phương pháp thống kê cần có sự hướng dẫn của người sử dụng để xác
định phân tích dữ liệu như thế nào và ở đâu.
Sự khác nhau cơ bản giữa khai phá dữ liệu và thống kê là ở chỗ khai phá dữ
liệu là một phương tiện được dùng bởi người sử dụng đầu cuối chứ không phải
là các nhà thống kê. Khai phá dữ liệu tự động quá trình thống kê một cách có
hiệu quả, vì vậy làm nhẹ bớt công việc của người dùng đầu cuối, tạo ra công cụ
dễ sử dụng hơn. Như vậy, nhờ có khai phá dữ liệu, việc dự đoán và kiểm tra
(vốn rất vất vả) trước đây có thể được đưa lên máy tính, được tính, dự đoán và
kiểm tra một cách tự động.

1.9. Thách thức trong ứng dụng và nghiên cứu kỹ thuật khai phá dữ

liệu
Ở đây, ta đưa ra một số khó khăn trong việc nghiên cứu và ứng dụng kỹ
thuật khai phá dữ liệu. Tuy nhiên, có khó khăn không có nghĩa là việc giải quyết
là hoàn toàn bế tắc mà chỉ muốn nêu lên rằng để khai phá được dữ liệu không
phải là đơn giản, mà phải xem xét cũng như tìm cách giải quyết những vấn đề
này. Ta có thể liệt kê một số khó khăn sau:
1.9.1. Các vấn đề về CSDL
Đầ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ô cơ sở,
phát sinh trong khai phá dữ liệu chính là từ đây. Do các dữ liệu trong thực tế
thường động, không đầy đủ, lớn và bị nhiễu. Trong những trường hợp khác,
người ta không biết CSDL có chứa các thông tin cần thiết cho việc khai thác 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.
• Dữ liệu lớn: Cho đến nay, các CSDL với hàng trăm trường và bảng, hàng
triệu bản ghi với kích thước đến gigabytes đã là chuyện bình thường. Hiện nay
những CSDL có kích thước terabytes cũng xuất hiện tương đối nhiều ở CSDL
lớn. Các phương pháp giải quyết hiện nay là đưa ra một ngưỡng cho CSDL, lấy
mẫu, các phương pháp xấp xỉ, xử lý song song (Agrawal et al, Holsheimer et al).
• 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 CSDL cũng có nhiều. Vì vậy mà kích thước của bài toán trở nên lớn hơn.
Một tập dữ liệu có kích thước lớn sinh ra vấn đề làm tăng không gian tìm kiếm


25
mô hình suy diễn. Hơn nữa, nó cũng 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ả. Biện pháp khắc phục là 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: Đặc điểm cơ bản của hầu hết các CSDL là nội dung của
chúng thay đổi liên tục. Dữ liệu có thể thay đổi theo thời gian và 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. Ví dụ như CSDL về
tình trạng bệnh nhân, một số giá trị dữ liệu là hằng số, một số khác là sự thay đổi
liên tục theo thời gian (ví dụ cân nặng và chiều cao), một số khác lại thay đổi tùy
thuộc vào tình huống và chỉ có giá trị được quan sát mới nhất là đủ (ví dụ nhịp
đập của mạch). Vậy thay đổi dữ liệu nhanh chóng có thể làm cho các mẫu khai
thác được trước đó mất giá trị. Hơn nữa, các biến trong CSDL của các ứng dụng
đã cho cũng có thể bị thay đổi, bị xóa hoặc là tăng 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 mẫu và coi những
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
thay đổi.
• Các trường không phù hợp: Một đặc điểm quan trọng khác là tính không
thích hợp của dữ liệu, nghĩa là các 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
CSDL.
• Các giá trị bị thiế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 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ũng có thể sự vắng mặt của
dữ liệu được coi như một điều kiện, thuộc tính bị mất có thể được coi như một
giá trị trung gian và là giá trị không biết.
• Các trường bị thiếu: một quan sát không đầy đủ CSDL có thể làm cho các
dữ liệu có giá trị bị xem như có lỗi. Việc quan sát CSDL phải phát hiện được
toàn bộ thuộc tính có thể dùng để giải thuật khai phá dữ liệu có thể áp dụng
nhằm giải quyết bài toán. Giả sử ta có các thuộc tính để phân biệt các tình huống
đáng quan tâm. Nếu chúng không làm được điều đó thì có nghĩa là đã có lỗi
trong dữ liệu. Đối với một hệ thống học để chẩn đoán bệnh sốt rét từ CSDL
bệnh nhân thì trường hợp các bản ghi của bệnh nhân có triệu chứng giống nhau
nhưng lại có các chẩn đoán khác nhau là do trong dữ liệu đã bị lỗi. Đây cũng là



×