i
Khai phá dữ liệu và phát hiện luật kết hợp trong cơ sở dữ liệu siêu thị - Bùi Thị Trung Thành
LỜI CẢM ƠN
Trƣớc hết, tôi xin bày tỏ lòng biết ơn tới các thầy cô giáo trƣờng Đại học
Công nghệ thông tin & truyền thông đã tận tâm giảng dạy, cung cấp cho tôi
kiến thức, phƣơng pháp nghiên cứu trong khoá học vừa qua.
Đặc biệt tôi xin đƣợc bày tỏ sự biết ơn sâu sắc đến thầy giáo hƣớng dẫn
PGS.TS Đoàn Văn Ban, ngƣời đã tận tình hƣớng dẫn, giúp đỡ và động viên để
tôi thực hiện luận văn này.
Xin cảm ơn Ban giám hiệu trƣờng Đại học Công nghệ thông tin &
truyền thông, gia đình và các bạn đồng nghiệp đã tạo điều kiện giúp đỡ tôi trong
thời gian vừa qua.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
ii
Khai phá dữ liệu và phát hiện luật kết hợp trong cơ sở dữ liệu siêu thị - Bùi Thị Trung Thành
LỜI CAM ĐOAN
Tôi xin cam đoan toàn bộ nội dung bản luận văn theo đúng nội dung đề
cƣơng cũng nhƣ nội dung mà cán bộ hƣớng dẫn giao cho. Nội dung luận văn này
là do tôi tự sƣu tầm, tra cứu và sắp xếp cho phù hợp với nội dung yêu cầu của đề
tài.
Nội dung luận văn này chƣa từng đƣợc công bố hay xuất bản dƣới bất kỳ
hình thức nào và cũng không đƣợc sao chép từ bất kỳ một công trình nghiên cứu
nào.
Tất cả phần mã nguồn của chƣơng trình đều do tôi tự thiết kế và xây
dựng, trong đó có sử dụng một số thƣ viện chuẩn và các thuật toán đƣợc các tác
giả xuất bản công khai và miễn phí trên mạng Internet.
Nếu sai tôi xin tôi xin hoàn toàn chịu trách nhiệm.
Thái Nguyên, tháng 10 năm 2011
TÁC GIẢ LUẬN VĂN
Bùi Thị Trung Thành
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
iii
Khai phá dữ liệu và phát hiện luật kết hợp trong cơ sở dữ liệu siêu thị - Bùi Thị Trung Thành
MỤC LỤC
LỜI CẢM ƠN ........................................................................................................... i
LỜI CAM ĐOAN .................................................................................................... ii
MỤC LỤC .............................................................................................................. iii
DANH MỤC CÁC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT ........................................v
DANH MỤC CÁC HÌNH VẼ ................................................................................ vi
DANH MỤC CÁC BẢNG ................................................................................... vii
PHẦN MỞ ĐẦU ......................................................................................................1
CHƢƠNG 1 KHO DỮ LIỆU VÀ KHAI PHÁ DỮ LIỆU ........................................3
1.1 KHO DỮ LIỆU ...................................................................................................3
1.1.1 Các chiến lƣợc xử lý và khai thác thông tin ...................................................... 3
1.1.2 Định nghĩa kho dữ liệu ..................................................................................... 4
1.1.3 Mục đích của kho dữ liệu ................................................................................. 5
1.1.4 Đặc tính của dữ liệu trong kho dữ liệu .............................................................. 6
1.2 Khai phá kho dữ liệu ........................................................................................... 8
1.2.1 Định nghĩa khai phá dữ liệu............................................................................. 9
1.2.2 Các ứng dụng của khai phá dữ liệu ................................................................. 10
1.2.3 Các bƣớc của quá trình khai phá dữ liệu ......................................................... 11
1.2.4 Các phƣơng pháp khai phá dữ liệu ................................................................. 12
1.2.5. Lựa chọn phƣơng pháp .................................................................................. 17
1.2.6. Thách thức trong ứng dụng và nghiên cứu kỹ thuật khai phá dữ liệu ............ 18
CHƢƠNG 2 KHAI PHÁ LUẬT KẾT HỢP ........................................................... 23
2.1 Vài nét về khai phá luật kết hợp ....................................................................... 23
2.2 Luật kết hợp ...................................................................................................... 24
2.2.1. Mô hình hình thức ......................................................................................... 24
2.2.2 Một số hƣớng tiếp cận trong khai phá luật kết hợp ........................................ 26
2.2.3 Phát biểu bài toán phát hiện luật kết hợp ........................................................ 28
2.2.4 Phát hiện luật kết hợp dựa trên hệ thông tin nhị phân ..................................... 30
2.3 Thuật toán AprioriTID ..................................................................................... 38
2.4 Thuật toán AprioriHybrid ................................................................................. 41
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
iv
Khai phá dữ liệu và phát hiện luật kết hợp trong cơ sở dữ liệu siêu thị - Bùi Thị Trung Thành
2.5 Thuật toán K-Nearest Neighbors ...................................................................... 42
2.6 Thuật toán K-Means ......................................................................................... 43
2.7 Kết luận cuối chƣơng ........................................................................................ 46
CHƢƠNG 3. CHƢƠNG TRÌNH THỰC NGHIỆM ................................................ 48
3.1 Giới thiệu bài toán ............................................................................................. 48
3.2 Tóm tắt và phân tích và thiết kế hệ thống .......................................................... 48
3.3 CSDL vật lý với MS SQL Server 2008 .............................................................. 49
3.4 CSDL của chƣơng trình..................................................................................... 50
3.5 Một số chức năng và giao diện ............................................................................ 50
KẾT LUẬN ............................................................................................................ 54
1. Kết quả đạt đƣợc trong luận văn .......................................................................... 54
2. Hƣớng nghiên cứu tiếp theo ................................................................................ 54
TÀI LIỆU THAM KHẢO ....................................................................................... 55
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
v
Khai phá dữ liệu và phát hiện luật kết hợp trong cơ sở dữ liệu siêu thị - Bùi Thị Trung Thành
DANH MỤC CÁC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT
Ký hiệu, chữ viết tắt
Candidate itemset
Ý nghĩa
Một itemset trong tập Ck đƣợc sử dụng để sinh
ra các large itemset
Ck
Tập các candidate k-itemset ở giai đoạn thứ k
Confidence
Độ tin cậy của luật kết hợp
CSDL
Cơ sở dữ liệu
DM
Data mining – Khai phá dữ liệu
Frequent/large itemset
Một itemset có độ hỗ trợ (support) >= ngƣỡng
độ hỗ trợ tối thiểu
ID
Identifier
Item
Một phần tử của itemset
Itemset
Tập của các item
k-itemset
Một itemset có độ dài k
Lk
Tập các Large itemset ở giai đoạn thứ k
TID
Transaction Identifier
Transaction
Giao dịch
Classification
Phân loại
Candidate
Dự tuyển
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
vi
Khai phá dữ liệu và phát hiện luật kết hợp trong cơ sở dữ liệu siêu thị - Bùi Thị Trung Thành
DANH MỤC CÁC HÌNH VẼ
Ý NGHĨA
STT
TRANG
Hình 1.1
Luồng dữ liệu trong một tổ chức
5
Hình 1.2
Mối quan hệ và cách nhìn nhận trong hệ thống
6
Hình 1.3
Quy trình phát hiện tri thức
11
Hình 2.1
Thiết lập để xác định danh giới các cụm ban đầu
43
Hình 2.2
Tính toán trong tâm các cụm mới
43
Hình 3.1
Mô hình quan hệ thực thể đã đƣợc lƣợc bỏ & tóm gọn
48
Hình 3.2
Cơ sở sữ liệu vật lý
48
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
vii
Khai phá dữ liệu và phát hiện luật kết hợp trong cơ sở dữ liệu siêu thị - Bùi Thị Trung Thành
DANH MỤC CÁC BẢNG
Bảng
Ý nghĩa
Trang
1.1
Tính thời gian của dữ liệu
8
2.1
Minh hoạ bài toán phát hiện luật kết hợp
30
2.2
Hệ thống thông tin nhị phân mua bán hàng hoá
34
2.3
Các luật kết hợp từ hệ thông tin nhị phân mua bán hàng hoá
37
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
Khai phá dữ liệu và phát hiện luật kết hợp trong cơ sở dữ liệu siêu thị - Bùi Thị Trung Thành
1
PHẦN MỞ ĐẦU
Lý do chọn đề tài Trong những năm gần đây, với sự phát triển công nghệ
thông tin chúng ta thấy một thực tế là con ngƣời có trong tay một lƣợng dữ liệu
rất lớn nhƣng với những kỹ thuật khai thác cũ không còn phù hợp nữa nó nhƣờng
chỗ cho những kỹ thuật mới hơn nhƣ là khai phá dữ liệu.Khai phá dữ liệu đã trở
thành một trong những lĩnh vực chính đƣợc các nhà khoa học quan tâm nghiên
cứu bởi tính ứng dụng cao trong thực tiễn cuộc sống.
Đối tượng nghiên cứu: Nghiên cứu các vấn đề về phát hiện luật kết hợp
trong quá trình khai phá dữ liệu: Lịch sử vấn đề, luật kết hợp trong khai phá dữ
liệu và một số thuật toán đã và đang đƣợc nghiên cứu.
Phạm vi nghiên cứu: Luận văn tập trung nghiên cứu các thuật toán phát hiện
luật kết hợp trong các kho dữ liệu và khả năng ứng dụng của chúng để phát hiện
tri thức.
Nội dung luận văn: Nếu nhƣ lĩnh vực phân lớp/phân cụm dữ liệu đã đƣợc
nghiên cứu ứng dụng khá lâu thì vấn đề khai phá luật kết hợp gần đây mới đƣợc
đề cập. Hiện nay việc phát hiện luật kết hợp đang trở thành một khuynh hƣớng
quan trọng của khai phá dữ liệu. Luật kết hợp là luật ngầm định một số quan hệ
kết hợp giữa một tập các đối tƣợng mà các đối tƣợng có thể độc lập hoàn toàn với
nhau.
Khai phá luật kết hợp là một nội dung quan trọng trong khai phá dữ liệu.
Để nghiên cứu sâu hơn về khai phá luật kết hợp, đặc biệt là về khả năng áp dụng
một số thuật toán phát hiện luật kết hợp trong CSDL lớn và cài đặt thử nghiệm
trong thực tế, tôi chọn đề tài: “Khai phá dữ liệu và phát hiện luật kết hợp trong
Cơ sở dữ liệu siêu thị ”.
Luận văn bao gồm ba chƣơng:
Chƣơng 1: Kho dữ liệu và khai phá dữ liệu
Trình bày kiến thức tổng quan về khai thác và xử lý thông tin:
- Định nghĩa kho dữ liệu, 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.
Chƣơng 2: Khai phá luật kêt hợp
Trình bày các bài toán trong khai phá dữ liệu, phát hiện luật kết hợp:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
Khai phá dữ liệu và phát hiện luật kết hợp trong cơ sở dữ liệu siêu thị - Bùi Thị Trung Thành
2
- Khái niệm về luật kết hợp và các phƣơng pháp khai phá luật kết hợp
- Khai phá luật kết hợp dựa trên sự phân chia không gian tìm kiếm.
-
Một số thuật toán khai phá dữ liệu phát hiện luật kết hợp nhƣ:
AprioriTID, AprioriHyrid, K-Nearest Neighbors(K- láng giềng),K-Means.
Chƣơng 3: Chƣơng trình thử nghiệm
Nội dung của chƣơng là trình bày kết quả xây dựng chƣơng trình và kết quả
chạy chƣơng trình thử nghiệm khai phá luật kết hợp trên CSDL thử nghiệm là các
file dữ liệu bán hàng của siêu thị sách.
Phương pháp nghiên cứu: Tìm, chọn lọc và đọc các tài liệu liệu quan về
kho dữ liệu, phát hiện luật kết hợp và các phƣơng pháp khai phá dữ liệu có liên
quan đến quá trình khai phá dữ liệu từ kho thông tin khổng lồ của các tác giả
trong nƣớc hay ngoài nƣớc đã và đang nghiên cứu. Từ đó rút ra đƣợc các kiến
thức cần thiết để hoàn thành nhiệm vụ nghiên cứu đã đặt ra ở trên.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
Khai phá dữ liệu và phát hiện luật kết hợp trong cơ sở dữ liệu siêu thị - Bùi Thị Trung Thành
3
CHƢƠNG 1
KHO DỮ LIỆU VÀ KHAI PHÁ DỮ LIỆU
1.1 KHO DỮ LIỆU
1.1.1 Các chiến lƣợc xử lý và khai thác thông tin
Trong những năm gần đây, với sự phát triển công nghệ thông tin chúng ta
thấy một thực tế là con ngƣời có trong tay một lƣợng dữ liệu rất lớn nhƣng với
những kỹ thuật khai thác cũ nhƣ SQL không còn phù hợp nữa nó nhƣờng chỗ cho
những kỹ thuật mới hơn nhƣ là khai phá dữ liệu. Khai phá dữ liệu đã trở thành
một trong những lĩnh vực chính đƣợc các nhà khoa học quan tâm nghiên cứu bởi
tính ứng dụng cao trong thực tiễn cuộc sống. Khai phá dữ liệu đƣợc ứng dụng
rộng rãi trong nhiều lĩnh vực nhƣ: Tài chính và thị trƣờng chứng khoán, Thƣơng
mại, Giáo dục, y tế, sinh học, bƣu chính viễn thông….với nhiều hƣớng tiếp cận
nhƣ: Phân lớp/ Dự đoán, Phân cụm, Luật kết hợp,….
Các kỹ thuật khai phá dữ liệu thƣờng đƣợc chia thành 2 nhóm chính:
- Kỹ thuật khai pha dữ liệu mô tả: có nhiệm vụ mô tả các tính chất hoặc các
đặc tính chung của dữ liệu trong CSDL hiện có.
- Kỹ thuật khai phá dữ liệu dự đoán: có nhiệm vụ đƣa ra các dự đoán dựa
vào suy diễn trên dữ liệu hiện thời.
Ba phƣơng pháp thông dụng nhất là: khai phá luật kết hợp, phân cụm dữ
liệu và phân lớp dữ liệu.
- Khai phá 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 các mối liên hệ giữa các giá trị dữ liệu trong CSDL. Mẫu đầu ra của giải thuật
khai phá dữ liệu là tập luật kết hợp tìm đƣợc.
- Phân cụm dữ liệu: Mục tiêu chính của phƣơng pháp 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 các đối
tƣợng thuộc cùng một lớp là tƣơng đống còn các đối tƣợng thuộc các cụm khác
nhau sẽ tƣơng đồng.
- Phân lớp dữ liệu và hồi quy: Mục tiêu của phƣơng pháp phân lớp dữ liệu
là dự đoán nhãn lớp cho các mẫu dữ liệu.
Giải pháp cho tất cả các vấn đề nêu trên chính là việc xây dựng một kho dữ
liệu (Data Warehouse) và phát triển một khuynh hƣớng kỹ thuật mới đó là kỹ
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
Khai phá dữ liệu và phát hiện luật kết hợp trong cơ sở dữ liệu siêu thị - Bùi Thị Trung Thành
4
thuật phát hiện tri thức và khai phá dữ liệu (KDD-Knowledge Discovery and
Data Mining). Vậy, trƣớc tiên ta xem xét một vài khái niệm cơ bản liên quan đến
CSDL, kho dữ liệu …
1.1.2 Định nghĩa kho dữ liệu
Thông thƣờng chúng ta coi dữ liệu nhƣ một dãy các bit, hoặc các số và các
ký hiệu, hoặc các “đối tƣợng” với một ý nghĩa nào đó khi đƣợc gửi cho một
chƣơng trình dƣới một dạng nhất định. Chúng ta sử dụng các bit để đo lƣờng các
thông tin và xem nó nhƣ là các dữ liệu đã đƣợc lọc bỏ các dƣ thừa, đƣợc rút gọn
tới mức tối thiểu để đặc trƣng một cách cơ bản cho dữ liệu. Chúng ta có thể xem
tri thức nhƣ là các thông tin tích hợp, bao gồm các sự kiện và các mối quan hệ
giữa chúng. Các mối quan hệ này có thể đƣợc hiểu ra, có thể đƣợc phát hiện,
hoặc có thể đƣợc học. Nói cách khác, tri thức có thể đƣợc coi là dữ liệu có độ
trừu tƣợng và tổ chức cao [6].
Theo John Ladley, kỹ nghệ kho dữ liệu (DWT - Data warehouse
technology) là tập các phƣơng pháp, kỹ thuật và các công cụ có thể kết hợp, hỗ
trợ nhau để cung cấp thông tin cho ngƣời sử dụng trên cơ sở tích hợp từ nhiều
nguồn dữ liệu, nhiều môi trƣờng khác nhau.
Kho dữ liệu (DW-Data warehouse), là tuyển chọn các CSDL tích hợp,
hƣớng theo các chủ đề nhất định, đƣợc thiết kế để hỗ trợ cho chức năng trợ giúp
quyết định, mà mỗi đơn vị dữ liệu liên quan đến một khoảng thời gian cụ thể.
Kho dữ liệu thƣờng có dung lƣợng rất lớn, thƣờng là hàng Gigabytes hay có khi
tới hàng Terabytes.
Kho dữ liệu đƣợc xây dựng để tiện lợi cho việc truy cập từ nhiều nguồn,
nhiều kiểu dữ liệu khác nhau sao cho có thể kết hợp đƣợc cả những ứng dụng của
các công nghệ hiện đại và vừa có thể kế thừa đƣợc từ các hệ thống đã có từ trƣớc.
Dữ liệu đƣợc phát sinh từ các hoạt động hàng ngày và đƣợc thu thập xử lý để
phục vụ công việc nghiệp vụ cụ thể của một tổ chức, vì vậy thƣờng đƣợc gọi là
dữ liệu tác nghiệp và hoạt động xử lý dữ liệu này gọi là xử lý giao dịch trực tuyến
(OLPT-Online transaction processing). Dòng dữ liệu trong một tổ chức (cơ quan,
xí nghiệp, công ty, …) có thể mô tả khái quát nhƣ sau:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
Khai phá dữ liệu và phát hiện luật kết hợp trong cơ sở dữ liệu siêu thị - Bùi Thị Trung Thành
5
Hình 1.1 Luồng dữ liệu trong một tổ chức
Dữ liệu cá nhân không thuộc phạm vi quản lý của hệ quản trị kho dữ liệu.
Nó chứa các thông tin đƣợc trích xuất ra từ các hệ thống dữ liệu tác nghiệp, kho
dữ liệu và từ những kho dữ liệu cục bộ của những chủ đề liên quan bằng các phép
gộp, tổng hợp hay xử lý theo một cách nào đó [5].
1.1.3 Mục đích của kho dữ liệu
Mục tiêu chính của kho dữ liệu nhằm đáp ứng các tiêu chuẩn cơ bản:
Phải có khả năng đáp ứng mọi yêu cầu về thông tin của ngƣời sử
dụng.
Hỗ trợ để các nhân viên của tổ chức thực hiện tốt, hiệu quả công
việc của mình, ví dụ nhƣ: có những quyết định hợp lý, nhanh và
bán đƣợc nhiều hàng hơn, năng suất cao hơn, thu đƣợc lợi nhuận
cao hơn.
Giúp cho tổ chức xác định, quản lý và điều hành các dự án, các
nghiệp vụ một cách hiệu quả và chính xác.
Tích hợp dữ liệu và siêu dữ liệu từ nhiều nguồn khác nhau.
Muốn đạt đƣợc những yêu cầu trên thì DW phải:
Tăng chất lƣợng dữ liệu bằng các phƣơng pháp làm sạch và tinh
lọc.
Tổng hợp và kết nối dữ liệu.
Đồng bộ hoá các nguồn dữ liệu với DW.
Phân định và đồng nhất các hệ quản trị CSDL tác nghiệp nhƣ là
các công cụ chuẩn để phục vụ cho DW.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
Khai phá dữ liệu và phát hiện luật kết hợp trong cơ sở dữ liệu siêu thị - Bùi Thị Trung Thành
6
Quản lí siêu dữ liệu (metadata)
Cung cấp thông tin tích hợp, tóm tắt hoặc đƣợc liên kết, tổ chức
theo các chủ đề.
Các kết quả khai thác kho dữ liệu đƣợc dùng trong hệ thống hỗ trợ quyết
định (DSS-Decision support system), các hệ thống thông tin tác nghiệp hoặc hỗ
trợ cho các truy vấn đặc biệt. Mục tiêu cơ bản của mọi tổ chức là lợi nhuận, điều
này đƣợc mô tả nhƣ sau:
Hình 1.2. Mối quan hệ về cách nhìn nhận trong hệ thống
Để thực hiện chiến lƣợc kinh doanh hiệu quả, các nhà lãnh đạo vạch ra
phƣơng hƣớng kinh doanh hàng hoá. Việc xác định giá của hàng hoá và quá trình
bán hàng sẽ sản sinh lợi tức. Tuy nhiên, để có đƣợc hàng hóa kinh doanh thì cần
phải mất các khoản chi phí. Lợi tức trừ đi chi phí sẽ cho lợi nhuận của đơn vị.
1.1.4 Đặc tính của dữ liệu trong kho dữ liệu
Kho dữ liệu là một tập hợp dữ liệu có các đặc tính sau [9]:
- Tính tích hợp (Intergration)
- Tính hƣớng chủ đề (Subject-Oriented)
- Tính ổn định (Nonvolatility)
- Dữ liệu tổng hợp (summarization Data)
a. Tính tích hợp
Dữ liệu trong kho dữ liệu đƣợc tổ chức theo nhiều cách khác nhau sao cho
phù hợp với các quy ƣớc đặt tên, thống nhất về số đo, cơ cấu mã hoá và cấu trúc
vật lý của dữ liệu, ... Một kho dữ liệu là một khung nhìn thông tin mức toàn bộ
đơn vị sản xuất kinh doanh đó, thống nhất toàn bộ các khung nhìn khác nhau
thành một khung nhìn theo một chủ điểm nào đó. Ví dụ, hệ thống xử lý giao dịch
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
Khai phá dữ liệu và phát hiện luật kết hợp trong cơ sở dữ liệu siêu thị - Bùi Thị Trung Thành
7
trực tuyến (OLAP) truyền thống đƣợc xây dựng trên một vùng nghiệp vụ. Một hệ
thống bán hàng và một hệ thống tiếp thị (marketing) có thể có chung một dạng
thông tin khách hàng. Tuy nhiên, các vấn đề về tài chính cần có một khung nhìn
khác về khách hàng. Khung nhìn đó bao gồm các phần dữ liệu khác nhau về tài
chính và marketing.
Tính tích hợp thể hiện ở chỗ: dữ liệu tập hợp trong kho dữ liệu đƣợc thu
thập từ nhiều nguồn đƣợc trộn ghép với nhau thành một thể thống nhất.
b. Tính hƣớng chủ đề
Dữ liệu trong kho dữ liệu đƣợc tổ chức theo chủ đề phục vụ cho tổ chức dễ
dàng xác định đƣợc các thông tin cần thiết trong từng hoạt động của mình. Ví dụ,
trong hệ thống quản lý tài chính cũ có thể có dữ liệu đƣợc tổ chức cho các chức
năng: cho vay, quản lý tín dụng, quản lý ngân sách, ... Ngƣợc lại, trong kho dữ
liệu về tài chính, dữ liệu đƣợc tổ chức theo chủ điểm dựa vào các đối tƣợng:
khách hàng, sản phẩm, các xí nghiệp, ... Sự khác nhau của hai cách tiếp cận trên
dẫn đến sự khác nhau về nội dung dữ liệu lƣu trữ trong hệ thống.
* Kho dữ liệu không lƣu trữ dữ liệu chi tiết, chỉ cần lƣu trữ dữ liệu mang
tính tổng hợp phục vụ chủ yếu cho quá trình phân tích để trợ giúp quyết định.
* CSDL trong các ứng dụng tác nghiệp lại cần xử lý dữ liệu chi tiết, phục vụ
trực tiếp cho các yêu cầu xử lý theo các chức năng của lĩnh vực ứng dụng hiện
thời. Do vậy, các hệ thống ứng dụng tác nghiệp (Operational Application System
- OAS) cần lƣu trữ dữ liệu chi tiết. Mối quan hệ của dữ liệu trong hệ thống này
cũng khác, đòi hỏi phải có tính chính xác, có tính thời sự, ...
* Dữ liệu cần gắn với thời gian và có tính lịch sử. Kho chứa dữ liệu bao
hàm một khối lƣợng lớn dữ liệu có tính lịch sử. Dữ liệu đƣợc lƣu trữ thành một
loạt các snapshot (ảnh chụp dữ liệu). Mỗi bản ghi phản ánh những giá trị của dữ
liệu tại một thời điểm nhất định thể hiện khung nhìn của một chủ điểm trong một
giai đoạn. Do vậy cho phép khôi phục lại lịch sử và so sánh tƣơng đối chính xác
các giai đoạn khác nhau. Yếu tố thời gian có vai trò nhƣ một phần của khoá để
đảm bảo tính đơn nhất của mỗi sản phẩm hàng hoá và cung cấp đặc trƣng về thời
gian cho dữ liệu. Ví dụ, trong hệ thống quản lý kinh doanh cần có dữ liệu lƣu trữ
về đơn giá của mặt hàng theo ngày (đó chính là yếu tố thời gian).
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
Khai phá dữ liệu và phát hiện luật kết hợp trong cơ sở dữ liệu siêu thị - Bùi Thị Trung Thành
8
Dữ liệu trong OAS thì cần phải chính xác tại thời điểm truy cập, còn ở DW
thì chỉ cần có hiệu lực trong khoảng thời gian nào đó, trong khoảng 5 đến 10 năm
hoặc lâu hơn. Dữ liệu của CSDL tác nghiệp thƣờng sau một khoảng thời gian
nhất định sẽ trở thành dữ liệu lịch sử và chúng sẽ đƣợc chuyển vào trong kho dữ
liệu. Đó chính là những dữ liệu hợp lý về những chủ điểm cần lƣu trữ.
Chẳng hạn, khi so sánh về CSDL tác nghiệp và ảnh chụp dữ liệu, ta có:
Bảng 1.1 Tính thời gian của dữ liệu
CSDL tác nghiệp
Ảnh chụp dữ liệu
Thời gian ngắn (30 – 60 ngày)
Thời gian dài (5 – 10 năm)
Có thể có yếu tố thời gian hoặc không
Luôn có yếu tố thời gian
Dữ liệu có thể đƣợc cập nhật
Khi dữ liệu đƣợc chụp lại thì không cập nhật
đƣợc
c. Dữ liệu có tính ổn định
Dữ liệu trong DW là dữ liệu chỉ đọc và chỉ có thể đƣợc kiểm tra, không thể
đƣợc thay đổi bởi ngƣời dùng đầu cuối (terminal users). Nó chỉ cho phép thực
hiện 2 thao tác cơ bản là nạp dữ liệu vào kho và truy cập vào các cung trong DW.
Do vậy, dữ liệu không biến động.
Thông tin trong DW phải đƣợc tải vào sau khi dữ liệu trong hệ thống điều
hành đƣợc cho là quá cũ. Tính không biến động thể hiện ở chỗ: dữ liệu đƣợc lƣu
trữ lâu dài trong kho dữ liệu. Mặc dù có thêm dữ liệu mới nhập vào nhƣng dữ liệu
cũ trong kho dữ liệu vẫn không bị xoá hoặc thay đổi. Điều đó cho phép cung cấp
thông tin về một khoảng thời gian dài, cung cấp đủ số liệu cần thiết cho các mô
hình nghiệp vụ phân tích, dự báo. Từ đó có đƣợc những quyết định hợp lý, phù
hợp với các quy luật tiến hoá của tự nhiên.
d. Dữ liệu tổng hợp
Dữ liệu tác nghiệp thuần tuý không đƣợc lƣu trữ trong DW. Dữ liệu tổng
hợp đƣợc tích hợp lại qua nhiều giai đoạn khác nhau theo các chủ điểm đã nêu ở
trên.
1.2 Khai phá kho dữ liệu
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
Khai phá dữ liệu và phát hiện luật kết hợp trong cơ sở dữ liệu siêu thị - Bùi Thị Trung Thành
9
Nếu cho rằng các điện tử và các sóng điện từ chính là bản chất của công
nghệ điện tử truyền thống thì dữ liệu, thông tin và tri thức hiện đang là tiêu điểm
của một lĩnh vực mới trong nghiên cứu và ứng dụng về phát hiện tri thức (KDD)
và khai phá dữ liệu (DM) [7].
Thông thƣờng chúng ta coi dữ liệu nhƣ một dãy các bit, hoặc các số và các
ký hiệu, hoặc các “đối tƣợng” với một ý nghĩa nào đó khi đƣợc gửi cho một
chƣơng trình dƣới một dạng nhất định. Chúng ta sử dụng các bit để đo lƣờng các
thông tin và xem nó nhƣ là các dữ liệu đã đƣợc lọc bỏ các dƣ thừa, đƣợc rút gọn
tới mức tối thiểu để đặc trƣng một cách cơ bản cho dữ liệu. Chúng ta có thể xem
tri thức nhƣ là các thông tin tích hợp, bao gồm các sự kiện và các mối quan hệ
giữa chúng. Các mối quan hệ này có thể đƣợc hiểu ra, có thể đƣợc phát hiện,
hoặc có thể đƣợc học. Nói cách khác, tri thức có thể đƣợc coi là dữ liệu có độ
trừu tƣợng và tổ chức cao.
Phát hiện tri thức trong các CSDL là một qui trình nhận biết các mẫu hoặc
các mô hình trong dữ liệu với các tính năng: hợp thức, mới, có ích, và có thể hiểu
đƣợc. Còn khai thác dữ liệu là một bƣớc trong qui trình phát hiện tri thức gồm có
các thuật toán khai thác dữ liệu chuyên dùng dƣới một số qui định về hiệu quả
tính toán chấp nhận đƣợc để tìm ra các mẫu hoặc các mô hình trong dữ liệu. Nói
một cách khác, mục đích của phát hiện tri thức và khai phá dữ liệu chính là tìm ra
các mẫu và/hoặc các mô hình đang tồn tại trong các CSDL nhƣng vẫn còn bị che
khuất bởi hàng núi dữ liệu.
Các nhà thống kê thì xem khai phá dữ liệu nhƣ là một qui trình phân tích
đƣợc thiết kế để thăm dò một lƣợng rất lớn các dữ liệu nhằm phát hiện ra các mẫu
thích hợp. Qui trình này bao gồm ba giai đoạn cơ bản: thăm dò, xây dựng mô
hình hoặc định nghĩa mẫu, hợp thức/kiểm chứng.
1.2.1 Định nghĩa khai phá dữ liệu
Khai phá dữ liệu đƣợc dùng để mô tả quá trình phát hiện ra tri thức trong
CSDL. 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 nhiều tác giả về
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
Khai phá dữ liệu và phát hiện luật kết hợp trong cơ sở dữ liệu siêu thị - Bùi Thị Trung Thành
10
khai phá dữ liệu:
Đị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 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”
Định nghĩa của Fayyad: “Khai phá tri thức là một quá trình không tầm
thƣờng nhận ra những mẫu dữ liệu có giá trị, mới, hữu ích, tiềm năng và có thể
hiểu đƣợc”.
1.2.2 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ƣ:
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ề chuẩ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, chuẩ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 lớp văn bản và các 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ụ, ...
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
Khai phá dữ liệu và phát hiện luật kết hợp trong cơ sở dữ liệu siêu thị - Bùi Thị Trung Thành
11
1.2.3 Các bƣớc của quá trình khai phá dữ liệu
Quy trình phát hiện tri thức thƣờng tuân theo các bƣớc sau: [7, 9]
Bước thứ nhất: 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.
Bước thứ hai: 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ộ qui 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 hoá.
Hình 1.3 Quy trình phát hiện tri thức
Bước thứ ba: 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 các
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 lựa chọn
các phƣơng pháp khai phá dữ liệu cho phù hợp.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
Khai phá dữ liệu và phát hiện luật kết hợp trong cơ sở dữ liệu siêu thị - Bùi Thị Trung Thành
12
Bước thứ tư: 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 một số lần, kết quả thu đƣợc có thể
đƣợc lấy trung bình trên tất cả các lần thực hiện.
Bước thứ năm: Sử dụng các tri thức phát hiện đƣợc. 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 một số lần, kết quả thu đƣợc có thể đƣợc lấy trung bình trên tất cả các lần
thực hiện. Các kết quả của quá trình phát hiện tri thức có thể đƣợc đƣa và ứng
dụng trong các lĩnh vực khác nhau. 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 hoá 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.2.4 Các phƣơng pháp khai phá dữ liệu
Khai phá dữ liệu là lĩnh vực mà con ngƣời luôn tìm cách đạt đƣợc mục đích
sử dụng thông tin của mình. Quá trình khai phá dữ liệu là quá trình phát hiện
mẫu, trong đó phƣơng pháp khai phá dữ liệu để tìm kiếm các mẫu đáng quan tâm
theo dạng xác định. Có thể kể ra đây một vài phƣơng pháp nhƣ: Sử dụng công cụ
truy vấn, xây dựng cây quyết định, dựa theo khoảng cách (K-láng giềng gần), giá
trị trung bình, phát hiện luật kết hợp, … Các phƣơng pháp trên có thể đƣợc phỏng
theo và đƣợc tích hợp vào các hệ thống lai để khai phá dữ liệu theo thống kê
trong nhiều năm nghiên cứu. Tuy nhiên, với dữ liệu rất lớn trong kho dữ liệu thì
các phƣơng pháp này cũng đối diện với thách thức về mặt hiệu quả và quy mô.
a. Các thành phần của giải thuật khai phá dữ liệu
Giải thuật khai phá dữ liệu bao gồm 3 thành phần chính nhƣ sau: biểu diễn
mô hình, kiểm định mô hình và phƣơng pháp tìm kiếm.
Biểu diễn mô hình: Mô hình đƣợc biểu diễn theo một ngôn ngữ L nào đó để
miêu tả các mẫu có thể khai thác đƣợc. Mô tả mô hình rõ ràng thì học máy sẽ tạo
ra mẫu có mô hình chính xác cho dữ liệu. Tuy nhiên, nếu mô hình quá lớn thì khả
năng dự đoán của học máy sẽ bị hạn chế. Nhƣ thế sẽ làm cho việc tìm kiếm phức
tạp hơn cũng nhƣ hiểu đƣợc mô hình là không đơn giản hoặc sẽ không thể có các
mẫu tạo ra đƣợc một mô hình chính xác cho dữ liệu. Ví dụ: mô tả cây quyết định
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
Khai phá dữ liệu và phát hiện luật kết hợp trong cơ sở dữ liệu siêu thị - Bùi Thị Trung Thành
13
sử dụng phân chia các nút theo một trƣờng dữ liệu, chia không gian đầu vào
thành các siêu phẳng song song với trục các thuộc tính. Phƣơng pháp cây quyết
định nhƣ vậy không thể khai phá đƣợc dữ liệu dạng công thức “X = Y” dù cho
tập học có quy mô lớn thế nào đi nữa. Vì vậy, việc quan trọng là ngƣời phân tích
dữ liệu là cần phải hiểu đầy đủ các giả thiết miêu tả. Một điều cũng khá quan
trọng là ngƣời thiết kế giải thuật cũng phải diễn tả đƣợc các giả thiết mô tả nào
đƣợc tạo ra bởi giải thuật nào. Khả năng miêu tả mô hình càng lớn thì càng làm
tăng mức độ nguy hiểm do bị học quá và làm giảm đi khả năng dự đoán các dữ
liệu chƣa biết. Hơn nữa, việc tìm kiếm sẽ càng trở lên phức tạp hơn và việc giải
thích mô hình cũng khó khăn hơn.
Mô hình ban đầu đƣợc xác định bằng cách kết hợp biến đầu ra (phụ thuộc)
với các biến độc lập mà biến đầu ra phụ thuộc vào. Sau đó phải tìm những tham
số mà bài toán cần tập trung giải quyết. Việc tìm kiếm mô hình sẽ đƣa ra đƣợc
một mô hình phù hợp với tham số đƣợc xác định dựa trên dữ liệu (trong một số
trƣờng hợp khác thì mô hình và các tham số lại thay đổi để phù hợp với dữ liệu).
Trong một số trƣờng hợp, tập các dữ liệu đƣợc chia thành tập dữ liệu học và tập
dữ liệu thử. Tập dữ liệu học đƣợc dùng để làm cho tham số của mô hình phù hợp
với dữ liệu. Mô hình sau đó sẽ đƣợc đánh giá bằng cách đƣa các dữ liệu thử vào
mô hình và thay đổi các tham số cho phù hợp nếu cần. Mô hình lựa chọn có thể là
phƣơng pháp thống kê nhƣ SASS, … một số giải thuật học máy (ví dụ nhƣ cây
quyết định và các quyết định học có thầy khác), mạng neuron, suy diễn hƣớng
tình huống (case based reasoning), các kỹ thuật phân lớp.
Kiểm định mô hình (model evaluation): Là việc đánh giá, ƣớc lƣợng các mô
hình chi tiết, chuẩn trong quá trình xử lý và phát hiện tri thức với sự ƣớc lƣợng có
dự báo chính xác hay không và có thoả mãn cơ sở logic hay không? Ƣớc lƣợng
phải đƣợc đánh giá chéo (cross validation) với việc mô tả đặc điểm bao gồm dự
báo chính xác, tính mới lạ, tính hữu ích, tính hiểu đƣợc phù hợp với các mô hình.
Hai phƣơng pháp logic và thống kê chuẩn có thể sử dụng trong mô hình kiểm
định.
Phương pháp tìm kiếm: Phƣơng pháp này bao gồm hai thành phần: Tìm
kiếm tham số và tìm kiếm mô hình. Trong tìm kiếm tham số, giải thuật cần tìm
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
- Xem thêm -