Tải bản đầy đủ (.docx) (57 trang)

Phương pháp luật kết hợp trong khai phá dữ liệu

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 (558.54 KB, 57 trang )

LỜI CẢM ƠN
Luận văn này được hoàn thành với sự hướng dẫn của GS.TS Vũ Đức Thi - Viện Công nghệ
thông tin. Trước tiên tôi xin chân thành bày tỏ lòng biết ơn sâu sắc tới GS.TS Vũ Đức Thi, người đã
tận tình hướng dẫn, động viên giúp đỡ tôi trong suốt thời gian thực hiện luận văn. Tôi cũng xin
chân thành cảm ơn các thầy cô trong Viện Công nghệ thông tin, Trường Đại học Sư phạm Hà Nội 2,
tạo điều kiện thuận lợi cho tôi hoàn thành tổt khóa học.
Xin chân thành cảm ơn các anh, các chị và các bạn học viên lớp Cao học K15KHMT-
Trường Đại học sư phạm Hà Nội 2 đã luôn động viên, giúp đỡ và nhiệt tình chia sẻ với tôi những
kinh nghiệm học tập, công tác trong suốt khoá học.
Cuổi cùng, tôi xin gửi lời cảm ơn sâu sắc đển gia đình, người thân, bạn bè đã động viên,
khuyến khích và hồ trợ cần thiết để tôi hoàn thành luận văn này.
Mặc dù rất cố gắng, song luận văn này không thể tránh khỏi những thiếu sót, kính mong
được sự chỉ dẫn của các quý thầy cô và các bạn.
Hà Nội, ngày 5 tháng 12 nẵm 20]3 Người viết
Phù Xuân Vĩnh
LỜI CAM ĐOAN
Tôi xin cam đoan rằng so liệu và kết quả nghiên cứu trong luận văn này là trung thực và
không trùng lặp với các đề tài khác. Tôi cũng xin cam đoan rằng mọi sự giúp đỡ cho việc thực
hiện luận văn này đã được cảm ơn và các thông tin trích dẫn trong luận văn đã được chỉ rõ
nguồn gốc.
Hà Nội, ngày 05 tháng 12 nãm 2013 Ngưòi cam đoan
Phù Xuân Yĩnh
]
MỤC LỤC
TRANG PHỤ BÌA ’ ’ TRANG
BẢNG KÝ HIỆU CHỮ VIÉT TẮT
DANH MỤC CÁC BẢNG
Bảng 2.1. Giao dịch mua hàng
Bảng 2.2. Tính độ hỗ trợ cho các tập hợp chửa các mặt hàng Bảng 2.3. Các
luật kết hợp và độ tin cậy của chúng
Bảng 2.4. Dùng thuật toán Apriori tính ra các tập hợp xuất hiện ơ-thường xuyên


Bảng 2.5. Ma trận biếu diễn cơ sở dữ liệu Bảng 2.6. Vector biểu diễn nhị phân cho
tập 1 thuộc tính Bảng 2.7. Vector biểu diễn nhị phân cho các tập 2 thuộc tính Bảng
STT Ký hiệu viết tắt Giải thích
1
ABBM: Algorithm Based on
Boolean Matrix
Thuât toán dưa trên ma trân Boolean
2 CSDL Cơ sờ dữ liêu
3 DBMS Hệ quản trị cơ sờ dữ liệu
4 IR (Information Retrieval) Truy xuất thông tin
5 KPDL Khai phá dữ liệu
6
OODBMS
Object Oriented Database
Management System
Hệ quản trị cơ sở dữ liệu hướng đối
tượng
7
RDBMS
Ralational Database
Management System
Hệ quán trị cơ sở dữ liệu quan hệ
8 Ỉ 5^-J } Tập n mục dữ liệu
9 DB = {T
t
,T
2
, ,T
m
} Cơ sở dữ liệu có m giao tác

10 db
Cơ sở dữ liệu giao tác con của DB,
db ÇDB
11 ip Mục dữ liệu thứ p
12 T Giao tác thứ q
13 n
Sô mục dữ liệu một cơ sở dữ liệu
giao tác
14 m
Sô giao tác của một cơ sở dữ liệu
giao tác
15 A,B,C
Tên các mục dữ liệu trong cơ sở dữ
liệu giao tác
16 minsup Ngưỡng độ hỗ trợ
17 minshare Ngưỡng cổ phần tối thiếu
18 minconf Ngưỡng độ tin cậy tối thiểu
19 X Số phần tử của tập hợp X
2
2.8. Vector biểu diễn nhị phân cho các tập 3 thuộc tính Bảng 2.9. Vector biểu diễn
nhị phân cho các tập 4 thuộc tính Bảng 3.1. Cơ sở dữ liệu ví dụ
Bảng 3.2. Giá trị ỉmv và co phẩn của các mục dữ liệu trong CSDL bảng 3.1.
Bảng 3.3. Các tập mục cổ phần cao của CSDL bảng, 3.1
Bảng 3.4.CSDL mình hoạ ngữ nghĩa của tập mục cổ phần cao
Bảng 3.5a. CSDL minh hoạ có trường hợp hai hàm tới hạn bằng nhau
Bảng 3.5b. CSDL minh hoạ có trường hợp hai hàm tới hạn luôn bằng nhau
Bảng 3.10. Các tập mục cổ phần cao của CSDL bảng 3.1
DANH MỤC CÁC HÌNH Hình 1.1. Quy trình phát hiện tri thức từ cơ
sở dữ liệu
Hình 1.2. Tập dữ liệu với hai lớp: có và không có khả năng trả nợ

Hình 1.3. Phân loại của các dữ liệu vay nợ trong hai miền lớp
Hình 1.4. Phân cụm tập dữ liệu cho vay thành 3 cụm
Hình 1.5. Kiến trúc điến hình của một hệ thong khai phá dữ liệu
Hình 3.1. Minh họa bảng dữ liệu giao tác có số lượng
Hình 3.2. Cấu trúc file nhập dữ liệu mẫu minh họa.
Hình 3.3. Giao diện chương trình XAMPP
Hình 3.4. Giao diện chính của chương trình
Hình 3.5. Giao diện màn hình chọn file dữ liệu
Hình 3.6. Giao diện màn hình nhập file dữ liệu
Hình 3.7. Giao diện mànhình nhập ngường cổ phần tối thiểu
Hình 3.8. Giao diện mànhình nhập ngưỡng cồ phần không đúng
Hình 3.9, Giao diện màn hình ghi lại file kết quả
MỞ ĐẦU
1. Lý do chọn đề tài
Khai phá dữ liệu là một lĩnh vực quan trọng của ngành CNTT. Khai phá luật
kết hợp là một kỹ thuật quan trọng của khai phá dữ liệu. Tri thức chiết xuất được từ
CSDL là nguồn tài liệu hỗ trợ cho lãnh đạo trong việc lên kế hoạch hoạt động hoặc
trong việc ra quyết định sản xuất kinh doanh. Vì vậy, tính ứng dụng của khai thác
luật kết hợp từ cơ sở dữ liệu là một vấn đề đang được quan tâm.
Khai phá dữ liệu là giai đoạn quan trọng trong tiến trình khai thác tri thức từ
cơ sở dữ liệu, các tri thức này hỗ trợ cho việc ra quyết định trong khoa học và kinh
3
doanh.
Khai phá dữ liệu đang được áp dụng một cách rộng rãi trong nhiều lĩnh vực
kinh doanh và đời sống khác nhau: Tài chính, ngân hàng, bảo hiếm, khoa học, y tế
Rất nhiều to chức và công ty lớn trên thế giới đã áp dụng kỹ thuật khai phá dữ liệu
vào các hoạt động sản xuất kinh doanh của mình và thu được những lợi ích to lớn.
Mục đích nghiên cứu của đề tài là tìm hiểu các kỹ thuật khai phá dữ liệu; các
vẩn đề liên quan đến luật kết hợp và tập mục cố phần cao, nham phát hiện và đưa ra
các mối liên quan giữa các giá trị dữ liệu trong cơ sở dữ liệu. Áp dụng và cài đặt

được một chương trình khai phá tập mục cố phần cao theo thuật toán AFSM
(Advanced Fast Share Measure) .
Với những ]ý do trình bày ở trên, tôi mạnh dạn chọn đề tài luận văn thạc sĩ
của mình là: “ Phương pháp luật kết hợp trong khai phá dữ liệu ”
2. Mục đích nghiên cứu
- Tìm hiếu về các kỹ thuật khai phá dữ liệu, các vấn đề liên quan đến khai phá luật kết
hợp nhằm phát hiện đưa ra các mối liên hệ giữa các giá trị dữ liệu trong cơ sở dữ liệu.
- Tìm hiểu bài toán khai phá tập mục cổ phần cao và cơ sở ]ỷ thuyết của thuật toán
FSM và AFSM từ đó đưa ra thực nghiệm tìm tất cả các tập mục cổ phần cao theo
thuật toán AFSM (Advanced Fast Share Measure).
3. Nhiệm vụ nghiên cứu
- Nghiên cứu tổng quan về khai phá dữ liệu, luật kết hợp trong cơ sở dữ liệu.
- Nghiên cún các bài toán, thuật toán luật kểt hợp và khai phá tập mục cố phần cao
trong khai phá dữ liệu.
4. Đối tượng và phạm vi nghiên cứu
- Nghiên cứu một số kỹ thuật khai phá dữ liệu sử dụng luật kết hợp.
- Nghiên cứu thuật toán luật kết hợp trong khai phá dữ liệu
- Nghiên cứu bài toán khai phá tập mục cô phân cao theo thuật toán AFSM
5. Dự kiến đóng góp mói
Đe tài khi hoàn thành sẽ giải quyết một phần quan trọng của bài toán tìm luật
kết hợp và khai phá tập mục cổ phần cao. Đây là cơ sở để có thể phát triển ứng dụng
áp dụng trong thực tể ở tất cả các lĩnh vực kinh doanh (bài toán bán hàng trong siêu
thị), Tài chính, ngân hàng, bảo hiểm hiện nay.
4
6. Phương pháp nghiên cứu
- Nghiên cứu tài liệu, tìm hiểu các thông tin trên Internet về các kỹ thuật liên quan.
- Sử dụng thừ nghiệm công cụ có sẵn để hiểu rõ bản chất vấn đề, sau đó xây dựng
chương trình demo.
CHƯƠNG 1. TÒNG QUAN VÈ PHÁT HIỆN TRI THỨC VÀ KHAI PHÁ
Dữ LIỆU

1.1.Phát hiện tri thức và khai phá dữ liệu
Sự phát triển mạnh mẽ của công nghệ thông tin làm cho khả năng thu thập và
xử lỷ thông tin của các hệ thống thông tin tăng một cách nhanh chóng. Số liệu thống
kê đưa ra vào năm 2006 cho thấy tình trạng “ngập tràn thông tin mà thiếu thon trí
thức ” hiện nay, tồn tại nhiều kho chửa dữ liệu khống lồ có dung lượng tăng trưởng
với tốc độ cao. Hàng triệu cơ sở dữ liệu đã được sử dụng trong các hoạt động sản
xuất, kinh doanh, quản lý , trong đó có nhiều ca sở dữ liệu cực lớn cỡ Gigabyte,
thậm chí là Terabyte. Ví dụ điến hình là Yahoo! có hơn 100TB, Google đã lưu trữ hơn
4 tỷ trang Web với dung lượng nhiều trăm ТВ; Aìexa sau 7 năm đã có 500 ТВ. [6]
Việc thu thập và lưu trữ các kho chứa dữ liệu khống lồ được liệt kê trên đây
dẫn tới một yêu cầu cấp thiết là cẩn có những kỹ thuật và công cụ mới đế tự động
chuyến đối lượng dữ liệu khống lồ thành các tri thức có ích. Do vậy, khai phá dữ liệu
(KPDL) nhằm phát hiện các tri thức mới giúp ích cho hoạt động của con người đã trở
thành một lĩnh vực quan trọng của ngành Công nghệ thông tin.
1.2.Quá trình phát hiện tri thức từ cơ sở dữ liệu
Thông tin là một khái niệm trừu tượng, được thế hiện dưới nhiều dạng thức
khác nhau. Thông tin có thể được phát sinh, lưu trữ, biển đổi trong những vật mang
tin (gọi là giá).
5
Dữ liệu là sự biểu diễn thông tin và được thể hiện bằng các tín hiệu vật lý, Dữ
liệu là một dãy các bit, các số và các ký hiệu, hoặc các “đối tượng” có 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. 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ộtcách cơ bản cho dữ liệu. 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 moi 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]
Phát hiện tri thức trong các cơ sở dữ liệu là một quy 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, khả ích, và có thế

hiếu được. Khai phá dữ liệu là một bước trong quy trình phát hiện tri thức gồm có các
thuật toán khai phá dữ liệu chuyên dùng dưới một so quỵ đị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à KPDL là tìm ra các mẫu và các mô hình
đang tồn tại trong các cơ sở dữ liệu nhưng vẫn còn bị che khuất bởi hàng “núi” dữ
liệu. Quá trình phát hiện tri thức được mô tả tóm tắt trên Hình 1.1:
6
\ Dữ liêu ! !
_
_
1
Dữ liệu
đã
1
tiền
Dữ
Hình 1.1. Quy trình phát hiện tri thức từ cơ sở dữ liệu
Làm sạch dữ liệu (Data cleaning): Loại bỏ dữ liệu nhiễu hoặc dữ liệu không
thích hợp.
- Tích hợp dữ liệu (Data integration): Tích hợp dữ liệu từ các nguồn khác nhau.
- Chọn dữ liệu (Data Selection): Chọn những dữ liệu liên quan trực tiếp đến nhiệm vụ.
- Chuyển đổi dữ liệu (Data Transformation): Chuyển dữ liệu về những dạng phù hợp
cho việc khai phá.
- KPDL (Data mining): Các kỹ thuật được áp dụng đế trích xuất thông tin có ích hoặc
các mẫu điển hình trong dữ liệu.
- Đánh giá mẫu (Pattern evaluation): Đánh giá mẫu hoặc tri thức đã thu được. -Trình
diễn dữ liệu (Knowledge Presentation): Biếu diễn nhữns tri thức khai phá được cho
người sử dụng.
Nhiều người coi KPDL và khám phá tri thức trong cơ sở dữ liệu là như nhau.
Tuy nhiên trên thực tế, KPDL 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 KPDL đế tìm ra các mẫu từ dữ liệu theo khuôn
dạng thích hợp.
1.2.1. Xác định vấn đề
Là một quá trình mang tính định tính với mục đích xác định được lĩnh vực yêu
cầu phát hiện tri thức và xây dựng bài toán tổng kểt. Trong thực tể, các cơ sờ dữ liệu
được chuyên môn hóa và phân chia theo các lĩnh vực khác nhau như sản phấm, kinh
doanh, tài chính, Với mỗi tri thức phát hiện được có thể có giá trị trong lĩnh vực
này nhưng lại không mang nhiều ý nghĩa đối với một lĩnh vực khác. Vì vậy mà việc
xác định lĩnh vực và định nghĩa bài toán giúp định hướng cho giai đoạn tiếp theo thu
thập và tiền xừ lý dữ liệu.
1.2.2, Thu thập và tiền xử lý dữ liệu
Các cơ sở dữ liệu thu được thường chứa rất nhiều thuộc tính nhưng lại không
đầy đủ, không thuần nhất, có nhiều lỗi và các giá trị đặc biệt. VI vậy, giai đoạn thu
thập và tiền xử lý dữ liệu trở nên rất quan trọng trong quá trình phát hiện trì thức từ
cơ sở dữ liệu. Có thế nói rằng giai đoạn này chiếm từ 70% đến 80% giá thành trong
toàn bộ bài toán.
Người ta chia giai đoạn thu thập và tiền xử lý dữ liệu thành các công đoạn như:
lựa chọn dữ liệu, làm sạch, làm giàu, mã hóa dữ liệu. Các công đoạn được thực hiện
theo trình tự đưa ra được một cơ sở dữ liệu thích hợp cho các giai đoạn sau. Tuy
nhiên, tùy từng dữ liệu cụ thể mà quá trình trên được điểu chỉnh cho phù hợp vì người
ta đưa ra một phương pháp cho mọi loại dữ liệu.
- Chọn lọc dữ liệu: Đây là bước chọn lọc các dữ liệu có liên quan trong các nguồn dữ
7
liệu khác nhau. Các thông tin được chọn lọc sao cho có chứa nhiều thông tin liên
quan tới lĩnh vực cần phát hiện tri thức đã xác định trong giai đoạn xác định vấn đề.
- Làm sạch dữ liệu: Dữ liệu thực tế, đặc biệt dữ liệu lấy từ nhiều nguồn khác nhau
thường không đồng nhất. Do đó cần có biện pháp xử lý đế đưa về một cơ sở dữ liệu
thống nhẩt phục vụ cho khai thác. Nhiệm vụ làm sạch dữ liệu thường bao gồm:
■ Điều hòa dừ liệu: Nhằm giảm bớt tính không nhất quán do dữ liệu lấy từ nhiều
nguồn khác nhau. Phương pháp thông thường là khử các trường hợp trùng lặp

dữ liệu và thống nhất các ký hiệu. Chẳng hạn, một khách hàng có thể có nhiều
bản ghi do việc nhập sai tên hoặc do quá trình thay đổi một số thông tin cá
nhân gây ra và tạo sự lầm tưởng có nhiều khách hàng khác nhau.
■ Xù' lý các giá trị khuyết: Tính không đầy đủ của dữ liệu có thể gây ra hiện
tượng dữ liệu chứa các giá trị khuyết. Đây là hiện tượng khá phổ biến. Thông
thường, người ta có thể lựa chọn các phương pháp khác nhau đế thực hiện việc
xử lý các giá trị khuyết như: bỏ qua các bộ có giá trị khuyết, điểm bố sung
bang tay, dùng một hằng chung đế điển vào giá trị khuyết, dùng giá trị trung
bình của mọi bản ghi cùng lóp hoặc dùng các giá trị mà tần suất xuất hiện lớn.
■ Xừ lỷ nhiễu và các ngoại lệ: Thông thường, nhiễu dữ liệu có thể là nhiễu ngẫu
nhiên hoặc các giá trị bất thường. Để làm sạch nhiễu, người ta có thể sử dụng
phương pháp làm trơn nhiễu hoặc dùng các giải thuật phát hiện ra các ngoại lệ
để xừ lý.
Làm giàu dữ liệu: Việc thu thập dữ liệu đôi khi không đảm báo tính đầy đủ của dữ
liệu. Một số thông tin quan trọng có thễ thiếu hoặc không đầy đủ. Chẳng hạn, dữ liệu
về khách hàng lấy từ một nguồn bên ngoài không có hoặc không đầy đủ thông tin về
thu nhập. Nếu thông tin về thu nhập là quan trọng trong quá trình khai phá dữ liệu để
phân tích hành vi khách hàng thì không thể chấp nhận đưa các dữ liệu khuyết thiếu
vào được.
Quá trình làm giàu dư liệu cũng bao gồm việc tích hợp và chuyến đối dữ liệu.
Các dữ liệu từ nhiều nguồn khác nhau được tích hợp thành một kho thống nhất. Các
khuôn dạng khác nhau của dữ liệu cũng được quy đối, tính toán lại để đưa về một
kiểu thổng nhất, tiện cho quá trình phân tích. Đôi khi, một số thuộc tính mới có thể
được xây dựng dựa trên các thuộc tính cũ.
- Mã hóa: Các phương pháp dùng để chọn lọc, làm sạch, làm giàu dữ liệu sẽ được mã
hóa dưới dạng các thủ tục, chương trình hay tiện ích nhằm tự động hóa việc kết xuất,
8
biến đổi và di chuyển dữ liệu. Các hệ thống con đó có thể được thực thi định kỳ làm
tươi dữ liệu phục vụ cho việc phân tích. [6]
1.2.3. Khai phá dữ liệu

Giai đoạn khai phá dữ liệu được bắt đầu sau khi dữ liệu đã được thu thập và
tiến hành xủ lý. Trong giai đoạn này, công việc chủ yếu là xác định được bài toán
khai phá dữ liệu, tiến hành lựa chọn phương pháp khai thác phù họp với dữ liệu có
được và tách ra các tri thức cần thiết.
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
chất mô tả - đưa ra những tính chất chung nhất của các dữ liệu, các bài toán khai thác
dự báo - bao gồm cả việc thực hiện các suy diễn trên dữ liệu. 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.
1.2.4. Minh họa và đánh giá
Các tri thức phát hiện từ cơ sở dữ liệu cần được tong hợp dưới dạng các báo
cáo phục vụ cho các mục đích hỗ trợ quyết định khác nhau. Do nhiều phương pháp
khai thác có thể được áp dụng nên các kểt quả có mức độ tốt/xấu khác nhau. Việc
đánh giá các kết quả thu được là cần thiết, giúp tạo cơ sở cho những quyết định chiến
lược. Thông thường chúng được tổng hợp, so sánh bằng các biểu đồ và được kiểm
nghiệm, tin học hóa. Công việc này thường là của các chuyên gia, các nhà phân tích
và quyết định.
1.2.5. Đưa kết quả vào thực tế
Các kết quả của quá trình phát hiện tri thức có thể được đưa vào ứng
dụng trong những lĩnh vực khác nhau. Do các kêt quả cổ thế là các dự báo hoặc các
mô tả nên chúng có thề được đưa vào các hệ thống hỗ trợ ra quyết định nhằm tự động
hóa quá trình này.
Quá trình phát hiện tri thức có thế được tiến hành theo các bước trên. Ngoài ra
trong quá trình khai thác người ta có thể thực hiện các cải tiến, nâng cấp cho phù hợp.
[6]
1.3.Khai phá dữ liệu
1.3.1. Các định nghĩa về khai phá dữ liệu
Khai phá dữ liệu được dung đế mô tả quá trình phát hiện tri thức trong cơ sở dữ
liệu. Qúa trình này kết xuất ra các tri thức tiềm ấn từ dữ liệu giúp dự bóa 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 các phương pháp truyền thống trước kia (Ví dụ như phương pháp thống kê). Sau

9
đây là các định nghĩa mang tính mô tả của nhiều tác giả:
- Định nghĩa của Ferruzza: Khai phá dữ liệu là tập hợp các phương pháp được dung
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 mẫu thông tin chưa biết và bất ngờ trong cơ sở dữ liệu lớn.
- Định nghĩa của Fayyad: Khai phá dữ liệu là quá 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 chất: Đúng đan, mới, khả ích và có thế hiếu được.
- Định nghĩa Zekulin: Quá trình trích lọc các thông tin chưa biết trước, có thế nhận
thức được, có thế tác động được từ CSDL lớn và sử dụng chúng đế tạo ra quyết định
công tác.
KPDL là một bước trong quá trình khám phá tri thức bao gồm các thuật toán
KPDL chuyên dùng dưới một sổ quy định về hiệu quả tính toán chấp nhận được để
tìm ra các mẫu và các mô hình trong dữ liệu.
Do vậy, mục đích của khám phá tri thức và KPDL là tìm ra các mẫu hoặc mô
hình đang tồn tại trong các cơ sớ dữ liệu nhưng vẫn còn bị khuất bởi số lượng dữ liệu
khống lồ. [6]
1.3.2. Nhiệm vụ của khai phá dữ liệu
Các bài toán liên quan đến KPDL về bản chất là các bài toán thổng kê. Điếm
khác biệt giữa các kỹ thuật KPDL và các công cụ phục vụ tính toán thống kê mà
chúng ta đã biết là ở khối lượng cần tính toán. Khi dữ liệu đã trở nên khổng lồ thì
những khâu như: thu thập dữ liệu, tiền xử lý và xử lý dữ liệu đều đòi hỏi phải được tự
động hóa. Tuy nhiên ở công đoạn cuối cùng, việc phân tích kểt quả sau khi đã KPDL
vẫn luôn là công việc của con người.
Do là một lĩnh vực đa ngành, KPDL thu hút các lĩnh vực khoa học khác như trí
tuệ nhân tạo, cơ sở dữ liệu, hiến thị dữ liệu, marketing, toán học, vận trù học, tin sinh
học, nhận dạng mẫu, tính toán thống kê
Điều mà KPDL có thể làm rất tốt là phát hiện ra những giả thuyết mạnh trước
khi sử dụng những công cụ tính toán thống kê. Mô hình dự báo sử dụng kỹ thuật phân

cụm (Crustering) để chia nhóm các sự vật, sự kiện sau đó rút ra các luật nhằm tìm ra
đặc trưng cho mỗi nhóm và cuối cùng để nghị một mô hình. Ví dụ, những bạn đọc
đăng ký dài hạn của một tạp chí có thế phân nhóm dựa theo nhiều tiêu chí khác nhau
(lứa tuổi, giới tính, thu n h ậ p . s a u

đó tạp chí căn cứ vào đặc trưng riêng của từng
nhóm để đề ra mức phí thu trong năm sao cho phù hợp nhất.
1
Những nhiệm vụ cơ bản nhất của KPDL là:
- Phân cụm, phân loại, phân nhóm, phân lớp. Nhiệm vụ là trả lời câu hỏi: Một dữ liệu
mới thu thập sẽ thuộc về nhóm nào? Quá trình này thường được thực hiện một cách
tự động.
- Khai phá luật kết hợp. Nhiệm vụ là phát hiện ra những moi quan hệ giống nhau của
các bản ghi giao dịch. Luật kết hợp X=>Y có dạng tổng quát là: Nếu một giao dịch đã
sở hữu các tính chất X thì đồng thời nó cũng sở hữu các tính chất Y, ờ một mửc độ
nào đó. Khai phá luật kế thợp được hiểu theo nghĩa: Biết trước các tính chất X, vậy
các tính chất Y là những tính chất nào?
- Lập mô hình dự báo, bao gồm hai nhiệm vụ: Hoặc là phân nhóm dư liệu vào một hay
nhiều lớp dữ liệu đã xác định từ trước, hoặc là sử dụng các trường đã cho trong một
CO' sở dữ liệu đế dự báo sự xuất hiện (hoặc không xuất hiện) của các trường hợp
khác.
- Phân tích đối tượng ngoài cuộc: Một cơ sở dữ liệu có thể có thể chứa các đối tượng
không tuân theo mô hình dữ liệu. Các đối tượng dữ liệu như vậy gọi là các đổi tượng
ngoài cuộc. Hầu hết các phương pháp KPDL đều coi các đối tượng ngoài cuộc là
nhiễu và loại bỏ chúng. Tuy nhiên trong một số ứng dụng, chẳng hạn như phát hiện
nhiễu thì sự kiện hiếm khi xảy ra lại được chú ỷ hơn những gì thường xuyên gặp phải.
Sự phân tích dữ liệu ngoài cuộc được coi như là phai phá các đối tượng ngoài cuộc.
Một số phương pháp được ứng dụng để phát hiện đối tượng ngoài cuộc: Sử dụng các
hình thức kiểm tra mang tính thống kê trên cơ sở một phân phối dữ liệu hay một mô
hình xác suẩt cho dữ liệu, dùng các độ đo khoảng cách mà theo đó các đối tượng có

một khoảng cách đáng kế đến cụm bất kỳ khác được coi là đối tượng ngoài cuộc,
dùng các phương pháp dựa trên độ lệch để kiểm tra sự khác nhau trong những đặc
trưng chính của các nhóm đối tượng.
- Phân tích sự tiến hóa: Phân tích sự tiển hóa thực hiện việc mô tả và mô hình hóa các
quy luật hay khuynh hướng của những đối tượng mà ứng xử của chúng thay đối theo
thời gian. Phân tích sự tiến hóa có thế bao gồm cả đặc trưng hóa, phân biệt, tìm luật
kết họp, phân lóp hay phân cụm dữ liệu liên quan đển thời gian, phân tích dữ liệu
theo chuỗi thời gian, so sánh mẫu theo chu kỳ và phân tích dữ liệu dựa trên tính
tương tự.
1.3.3. Một số ứng dụng khai phá dữ liệu
Hiện nay, kỹ thuật KPDL đang được áp dụng một cách rộng rãi trong rất nhiều
1
lĩnh vực kinh doanh và đời sống khác nhau như:
- Thương mại: Phân tích dữ liệu bán hàng và thi trường, phân tích đầu tư, quyết
định cho vay, phát hiện gian lận,
- Thông tin sản xuất: Điều khiển và lập kể hoạch, hệ thống quản ]ý, phân tích kết
quả thử nghiệm,
- Thông tin khoa học: dự báo thời tiết, CSDL sinh học: Ngân hàng gen, khoa học
địa lỷ: dự báo động đẩt,
- Trong y tế, marketing, ngân hàng, viễn thông, du lịch, internet
1.3.4. Các kỹ thuật khai phá dữ liệu
Hình 1.2. biểu diễn một tập dữ liệu giả hai chiều bao gồm 23 trường hợp. Mỗi
một điếm trên hình đại diện cho một người vay tiền ngân hàng tại một thời điểm
trong quá khứ. Dữ liệu được phân loại thành hai lớp: những người không có khả năng
trả nợ và những người tình trạng vay nợ đang ở trạng thái tốt.
Hai mục đích chính của KPDL trong thực tế là dự đoán và mô tả.
1.3.4.1 Khai phá dữ liệu dự đoán
Nhiệm vụ của KPDL dự đoán là đưa ra các dự đoán dựa vào các suy
diễn trên cơ sở dữ liệu hiện thời. Nó sử dụng các biền hay các trường trong cơ
sở dữ liệu đế dự đoá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 loại (Classiíication); Hồi qui (Regression)
Phân loại:
Mục tiêu của phương pháp phân loại dữ liệu là dự đoán nhãn lớp cho các mẫu
dừ liệu. Quá trình phân loại dữ liệu thường gồm hai bước: xây dựng mô hình và sử
1
dụng mô hình để phân loại 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 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 nà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 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 gọi là học có giám sát.
Bước 2: Sử dụng mô hình để phân loại 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ự đoán nhãn lóp cho các mẫu dữ liệu khác trong tương lai.
Hay nói các khác, phân loại là học một hàm ánh xạ một mục dữ liệu vào trong số
các lớp cho trước. Hình 1.3. cho thẩy sự phân loại của các dữ liệu vay nợ trong hai
miền lớp. Ngân bà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.
Hình 1.3. Phân loại của các dữ liệu vay nợ trong hai miền lớp
Hồi quy :
Phương pháp hối quy khác với phương pháp phân loại dữ liệu ở chỗ, hồi qui
dùng đế dự đoán về các giá trị liên tục còn phân loại dữ liệu chỉ dùng để dự đoán về
các giá trị rời rạc.
Hồi quy là một hàm học ánh xạ mục dữ liệu thành một biến dự đoán có giá trị
thực. Có rất nhiều ứng dụng KPDL với nhiệm vụ hồi quy, chẳng hạn như khả năng
đánh giá tử vong của bệnh nhân khi biết các kết quả xét nghiệm; chấn đoán, dự đoán
nhu cầu tiêu thụ một sản phấm mới bằng một hàm chi tiêu quảng cáo.
1.З.4.2. Khai phá dữ liệu mô tả
Kỹ thuật này có nhiệm vụ mô tả về các tính chẩt hoặc các đặc tính chung của
dữ liệu trong CSDL hiện có. Bao gồm các kỹ thuật: Phân cụm; Khai phá luật kết

1

• о о
о о о
• • • •
о
о •
О
О
О
• •
• •
• о о
• • • • о
Thu nhập ь.
hợp
Phân cụm :
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
một cụm là tương đồng còn các đổi tượng thuộc các cụm khác nhau sẽ không tương
đồng. Phân cụm dữ liệu là một ví dụ của phương pháp học không giám sát. Phân cụm
dữ liệu đòi hỏi phải định nghĩa trước các dữ liệu huấn luyện.
Phân cụm dữ liệu được sử dụng nhiều trong các ứng dụng về phân đoạn thị
trường, phân đoạn khách hàng, nhận dạng mẫu, phân loại trang Web
Hình 1.4. cho Chấy sự phân cụm tập dữ liệu cho vay vào trong 3 cụm: Lưu ý
rằng các cụm chồng lên nhau cho phép các điếm dữ liệu thuộc về nhiều hơn một cụm.
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 cơ sở dữ liệu. Mầu đầu ra của giải thuật KPDL là luật kết hợp tìm
được. Chang hạn, phân tích cơ sả dữ liệu bán hàng nhận được thông tin về những

khách hàng mua máy tính có khuynh hướng mua phần mềm quản ]ý tài chính trong
cùng lần mua được miêu tả trong luật kết hợp sau: “Máy tính=>Phần mềm quản lý tài
chính” (Độ hồ trợ: 2%, độ tin cậy: 60%).
Độ hỗ trợ và độ tin cậy là hai độ đo của sự đáng quan tâm của luật. Chúnẹ phản
ánh sự hữu ích vá sự chắc chắn của luật đã khám phá. Độ hỗ trợ 2% có nghĩa là 2%
của tẩt cả các vụ đang phân tích chỉ ra rằng máy tính và phần mềm quản lỷ tài chính
là đã được mua cùng nhau. Còn độ tin cậy 60% có nghĩa là: 60% các khách hàng mua
máy tính cũng mua phần mềm.
Khai phá luật kết hợp được thực hiện qua hai bước:
Bước 1: Tìm tất cả các tập mục pho biển, một tập mục phố biến được xác
1
định qua tính hỗ trợ và thỏa mãn độ hỗ trợ cực tiểu
Bước 2: Sinh ra các luật kết hợp mạnh tù’ tập mục phố biển,các luật phải thỏa
mãn độ hỗ trợ cực tiểu và độ tin cậy cực tiểu.
Phương pháp này được sử dụng rất hiệu quả trong các lĩnh vực như maketing có
chủ đích, phân tích quyết định, quản lý kinh doanh, phân tích giá thị trường[6].
1.3.5. 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.5.
Trong kiến trúc hệ thống này, các nguồn dữ liệu cho các hệ thống KPDL bao
gồm hoặc Cơ sở dữ liệu, hoặc Kho dữ liệu, hoặc World Wide Web, hoặc kho chửa dữ
liệu kiếu bất kỳ khác, hoặc tố họp các kiếu đã liệt kê nói trên.
Cơ sở tri thức, bao chứa các tri thức miền ứng dụng hiện có, được sử dụng
trong thành phần hệ thống KPDL đế làm tăng tính hiệu quả của thành phần này. Một
số tham số của thuật toán KPDL tương ứng sẽ được tinh chỉnh theo tri thức miền sẵn
có từ cơ sở tri thức trong hệ thống. Cơ sờ tri thức còn được sử dụng trong việc đánh
giấ các mẫu đã khai phá được xem chúng có thực sự hấp dẫn hay không, trong đó có
việc đối chứng mẫu mới với các tri thức đã có trong cơ sở tri thức. Nểu mẫu khai phá
được là thực sự hấp dẫn thì chúng được bổ sung vào cơ sở tri thức để phục vụ cho
hoạt động tiếp theo của hệ thống. Như vậy, nguồn tri thức bổ sung vào cơ sở tri thức
ở đây không chỉ từ lập luận lôgic theo các hệ toán lôgic đế có tri thức mới, không chỉ

do con ngirời hiếu biết thêm về thế giới khách quan đế bo sung vào mà còn là tri thức
được phát hiện một cách tự động từ nguồn dữ liệu.
1
Hình 1.5. Kiến trúc điển hình của một hệ thống khai phá dữ liệu
1.4.Tổng kết chương 1
Trong chương 1 đã trình bày tông quan về khai phá tri thức và khai phá dữ
liệu, trong đó có đề cập về quá trình phát hiện tri thức từ cơ sở dữ liệu, nhiệm vụ
của khai phá dữ liệu, một sổ ứng dụng khai phá dữ liệu, các kỹ thuật khai phá dữ
liệu thông dụng và những khó khăn trong việc khai phá dữ liệu.
CHƯƠNG 2. LUẬT KÉT HỢP TRONG KHAI PHÁ DŨ LIỆU
2.1.Bài toán kỉnh đỉễn dẫn đến việc khai phá luật kết họp
Bài toán giỏ mua hàng trong siêu thị: Giả định chúng ta có rất nhiều mặt hàng,
ví dụ như “bánh mì”, “sữa”, .(coi là tính chất hoặc trường). Khách hàng khi đi siêu
thị sẽ bỏ vào giỏ mua hàng của họ một sổ mặt hàng nào đó, và chúng ta muốn tìm
hiếu các khách hàng thường mua các mặt hàng nào đồng thời, chúng ta không cần
biết khách hàng cụ thể là ai. Nhà quản lý dùng những thông tin này để điều chỉnh việc
nhập hàng về siêu thị, hay đơn giản là để bổ trí sắp xếp các mặt hàng gần nhau, hoặc
bán các mặt hàng đó theo một gói hàng, giúp cho khắc đỡ mất công tìm kiểm.
Ví dụ:
- Giô hàng = văn bản. Mặt hàng - từ. Khi đó, những từ hay đi cùng nhau sẽ
giúp ta nhanh chóng tìm ra các lối diễn đạt, hay các khái niệm có mặt trong
văn bản.
- Giỏ hàng = văn bản. Mặt hàng = câu. Khi đó, những văn bản có nhiều câu
giống nhau giúp phát hiện ra sự đạo văn, hay những “website đúp”.
Khai phá luật kết hợp được mô tả như sự tương quan của các sự kiện những sự
kiện xuẩt hiện thường xuyên một cách đồng thời. Nhiệm vụ chính của khai phá luật
kết hợp là phát hiện ra các tập con cùng xuất hiện trong một khối lượng giao dịch lớn
của một cơ sở dữ liệu cho trước. Nói cách khác, thuật toán khai phá luật kết hợp cho
phép tạo ra các luật mô tả các sự kiện xảy ra đồng thời (một cách thường xuyên) như
thế nào. Các thuật toán này trải qua hai pha: pha đầu là đi tìm các sự kiện xảy ra

thường xuyên, pha hai là tìm luật. [6]
Vấn đề khám phá luật kết họp được phát biếu như sau:
• Cho trước tỉ lệ hỗ trợ và độ tin cậy
• Tìm tất cả các luật trong D có các giá trị ti lệ hỗ trợ 0 và độ tin cậy ß lớn hơn
tương ứng.
Ví dụ: Gọi D là sơ sở dữ liệu mua bán với 0 = 40% và ß = 90%.
• Liệt kê tất cả những quy luật chỉ ra sự xuất hiện một số các mục sẽ kéo theo
1
một số mục khác.
• Chỉ xét những quy luật mà tỉ lệ hỗ trợ lớn hơn 40% và độ tin cậy lớn hơn 90%.
Chúng ta hãy tưởng tượng, một công ty bán hàng qua mạng Internet. Các
khách hàng được yêu cầu điền vào các mẫu bán hàng để công ty có được một cơ sở
dữ liệu về các yêu cầu của khách hàng. Giả sử công ty đó quan tâm đến mối quan hệ
“tuổi, giới tính, nghề nghiệp —>■ sản phẩm”, Khi đó có thể có rất nhiều câu hỏi
tương ứng với luật trên. Chang hạn, trong lứa tuối nào thì những khách hàng nữ là
công nhân đặt mua hàng gì (ví dụ: áo dài) là nhiều nhất?. [6]
2.2.Định nghĩa về luật kết họp Định nghĩa:
Cho I={11,12, Im} là tập hợp của m tính chất riêng biệt. Giả sử D là cơ sở dữ
liệu, với các bản ghi chửa một tập con T các tính chất (có thể coi như T Œ I), các bản
ghi đều có chỉ số riêng. Một luật kết hợp là một mệnh đề kéo theo có dạng X—»Y,
trong đó X, Y ÇZ I, thỏa mãn điều kiện XnY=0. Các tập họp X và Y được gọi là các
tập hợp tính chất (itemset). Tập X gọi là nguyên nhân, tập Y gọi là hệ quả.
Có 2 độ đo quan trọng đối vói luật kết hợp: Độ hỗ trợ (support) và độ tin cậy
(confidence), được định nghĩa như phần dưới đây.
Định nghĩa: Độ ho trợ
Định nghĩa 2.1: Độ hỗ trợ của một tập hợp X trong cơ sở dữ liệu D là tỷ số giữa các
bản ghi T ç:D có chứa tập X và tổng số bản ghi trong D (hay là phần trăm cúa các bản
ghi trong D có chứa tập hợp X), ký hiệu là support(X) hay supp(X) (support sẽ tự
sinh ra khi cài thuật toán).
c _IỊTCD:YDXỊI

So ^ (2.1)
Ta CÓ: 0 <supp(X) <1 với mọi tập hợp X.
Định nghĩa 2.2; Độ hỗ trợ của một luật kết hợp X—»Y là tỷ lệ giữa số lượng
các bản ghi chứa tập hợp X u Y, so với tống số các bản ghi trong D - Ký hiệu
supp(X—>Y).
Supp(X—>Y) = ' t r ^ Z 3 : r

3

X u F ] l

^
2 2 )
Khi chúng ta nói rằng độ hỗ trợ của một luật là 50%, có nghĩa là có 50% tổng
số bản ghi chứa X uY. Như vậy, độ hỗ trợ mang ỷ nghĩa thống kê cúa luật.
Trong một số trường hợp, chúng ta chí quan tâm đến những luật có độ hỗ trợ
cao (Ví dụ như luật kết hợp xét trong cửa tiệm tạp phấm). Nhưng cũng có trường hợp,
1
mặc dù độ hỗ trợ của luật thấp, ta vẫn cần quan tâm (ví dụ luật kết hợp liên quan đến
nguyên nhân gây ra sự đứt liên lạc ở các tổng đài điện thoại).
Định nghĩa: Độ tin cậy
Định nghĩa 2.3: Độ tin cậy của một luật kết hợp X—>Y là tỷ lệ giữa số lượng
các bản ghi trong D chứa X uY với số bản ghi trong D có chứa tập hợp X. Ký
hiệu độ tin cậy của một luật là conf(r). Ta có 0 < conf(r) <1
Nhận xét: Độ hỗ trợ và độ tin cậy có xác suất sau:
Supp(X—>Y)=P(Xu Y) (2.3)
Conf (X-> Y) = P(Y/X)=supp(XuY)/supp(X) (2.4)
Có thể định nghĩa độ tin cậy như sau:
Định nghĩa 2.4: Độ tin cậy của một luật kểt họp X—»Y là tỷ lệ giữa sổ lượng
các bản ghi của tập hợp chửa X u Y, so với tong số các bản ghi chứa X. Nói rằng độ

tin cậy của một luật là 90%, có nghĩa là có tới 90% số bản ghi chứa X chứa luôn cả Y.
Hay nói theo ngôn ngữ xác suất là: “ Xác suất có điều kiện đế sảy ra sự kiện Y đạt
85%”. Điều kiện ở đây chính là: “Xảy ra sự kiện X”.
Như vậy, độ tin cậy của luật thể hiện sự tương quan (correlation) giữa X và Y.
Độ tin cậy đo sức nặng của luật, và người ta hầu như chỉ quan tâm đến những luật có
độ tin cậy cao. Một luật kết hợp đi tìm các nguyên nhân dẫn tới hỏng hóc của hệ
thống tống đài, hay đề cập đến những mặt hàng thường hay được khách hàng mua
kèm với mặt hàng chính mà độ tin cậy thẩp sẽ không có ích cho công tác quản lý.
Việc khai thác các luật kết hợp từ cơ sở dữ liệu chính là việc tìm tất cả các luật
có độ hỗ trợ và độ tin cậy do người sứ dụng xác định trước. Các ngưỡng của độ hỗ
trợ và độ tin cậy được ký hiệu là minsup và mincof.
Ví dụ: Khi phân tích giỏ hàng của người mua hàng trong một siêu thị ta được
luật kiếu như: 80% khách hàng mua sữa thì cũng mua bánh mì, 30% thì mua cả hai
thử. Trong đó: “mua sữa” là tiền đề còn “mua bánh mì” là kết luận của luật. Con sổ
30% là độ hỗ trợ của luật còn 80% là độ tin cậy của luật.
Chúng ta nhận thấy rằng tri thức đem lại bởi luật kết hợp dạng trên có sự khác
biệt rất nhiều so với những thông tin thu được từ các câu lệnh truy vấn dữ liệu thông
thường như SQL. Đó là những tri thức, những mối liên hệ chưa biết trước và mang
tính dự báo đang tiềm ấn trong dữ liệu. Những tri thức này khône đơn giản là kểt quả
của phép nhóm, tính tống hay sắp xểp mà là của một quá trình tính toán khá phức tạp,
Định nghĩa: Tập họp thường xuyên
Định nghĩa 2.5: Tập hợp X được gọi là tập hợp thường xuyên (Frenquent itemset)
nếu có supp(X) > minsup, với minsup là ngưỡng độ hỗ trợ cho trước. Kí hiệu các tập
1
này là FT.
Tính chất 2.1: Giả sử A, B ç I là hai tập hợp với A çB thì supp(A) > supp(B).
Như vậy, những bản ghi nào chứa tập hợp B thì cũng chứa tập hợp A Tính chất
2.2: Giả sử A, B là hai tập hợp A, B ç I, nếu B là tập họp thường xuyên và AçB thì A
cũng là tập hợp thường xuyên.
Thật vậy, nểu B là tập họp thường xuyên thì supp(B) > minsup, mọi tập hợp A

là con của tập hợp B đều là tập hợp thường xuyên trong cơ sở dữ liệu D vì supp(A) >
supp(B) (Tính chất 3.1)
Tính chat 2,3: Giả sử A, B là hai tập hợp, A £ B và A là tập hợp không thường xuyên
thì B cũng là tập hợp không thường xuyên.
Định nghĩa 2.6: Một tập mục X được gọi là đóng (closed) nếu không có tập cha nào
cúa X có cùng độ hỗ trợ với nó, tức là không tồn tại một tập mục X’ nào mà X’=> X
và t(X) = t(X’) (với t(X) và t(X’) tương ửng là tập các giao chứa tập mục X và X’).
Ký hiệu tập phố biến đóng là FCI.
Định nghĩa 2,7: Nếu X là phổ biến và không tập cha nào của X là phồ biến, ta nói
rằng X là một tập phổ biển lớn nhất (maximally frequent itemset). Kỹ hiệu tập tất cả
các tập phổ biển lởn nhất là MFI. Dễ thấy MFĨ ç FCI çz FT.
Khai phá luật kết hợp là công việc phát hiện ra (tìm ra, khám phá, phát hiện) các
luật kết họp thỏa mãn các ngưỡng độ hồ trợ (ô) và ngưỡng độ tin cậy (oc) cho trước.
Bài toán khai phá luật kết hợp được chia thánh hai bài toán nhỏ, hay như người ta
thường nói, việc giải bài toán trải qua hai pha:
Pha 1 : Tìm tất cả các tập phổ biển (tìm FI) trong CSDL T.
Pha 2: Sử dụng tập FI tìm được ở pha 1 để sinh ra các luật tin cậy (interesting
rules). Ý tưởng chung là nếu gọi ABCD và AB là các tập mục phổ biến, thì chúng ta
có thể xác định luật AB —»CD với tỷ lệ độ tin cậy:
conf =
SUPP(ABCD)
(2.5)
supp(AB)
Neu conf > minconf thì luật được giữ lại (và thỏa mẫn độ hồ trợ tối thiểu vì
ABCD là phổ biến).
Trong thực tế, hầu hết thời gian của quá trình khai thác luật kết hợp là thực
hiện ở pha 1. Nhưng khi có những mẫu rất dài (mẫu chứa nhiều mục) xuất hiện trong
dữ liệu, việc sinh ra toàn bộ các tập phổ bien (FI) hay các tập đóng (FCI) là không
thực tế. Hơn nữa, có nhiều ứng dụng mà chỉ cần sinh tập phổ biển 1001 nhất (MFI) là
1

đủ, như khám phá mẫu tổ hợp trong các ứng dụng sinh học.
Nhiều nghiên cứu về các phương pháp sinh tất cả các tập phố biến và tập pho
biến lớn nhất một cách có hiệu quả. Khi các mẫu pho bien (frequent patterm) dài có
từ 15 đến 20 items) thì tập FI, thậm chí cả tập FCI trở nên rẩt lớn và hầu hết các
phương pháp truyền thống phải đếm quá nhiều tập mục mới có thể thực hiện được.
Các thuật toán dựa trên thuật toán Apriori - đếm tat cả 2k tập con của mỗi k- itemsets
mà chúng quét qua, và do đó không thích hợp với các itemsets dài được. Các phương
pháp khác sử dụng “lookaheads” để giảm số lượng tập mục được đếm. Tuy nhiên,
hầu hết các thuật toán này đều sử dụng tìm kiếm theo chiều rộng, ví dụ: tìm tat cả các
k - itemsets trước khi tính đen các (k+1) - itemsets.
Cách làm này hạn chế hiệu quả của lookaheads, vì các mẫu phổ biến dài hơn
mà hữu ích vẫn chưa được tìm ra.
Thuật toán 1 - Thuật toán CO' bản:
Input: I, D, ơ, a
Output: Các luật kết họp thỏa mãn ngưỡng độ hỗ trợ G, ngưỡng độ tin cậy a.
Algorithm:
Bước 1: Tìm tat cả các tập họp các tính chất có độ hồ trợ không nhỏ hơn ngưỡng oc.
Bước 2: Từ các tập hợp mới tìm ra, tạo ra các luật kết hợp có độ tin cậy không nhỏ
hơn a.
Ví dụ:
Xét 4 mặt hàng (tính chất) trong một cửa hàng thực phấm với CSDL các
giao dịch thuộc loại nhở, chỉ có 4 giao dịch (giở mua hàng), cho trong các bảng
sau:
Cho trước 2 ngưỡng ơ = 40% và Oí = 60%.
Ta tính độ hỗ trợ của các tập hợp cắc tính chất.
Bảng 2.2. Tính độ hỗ trợ cho các tập hợp chửa các mặt hàng
2
Bảng 2.1. Giao dịch mua hàng
Giao
dịch

Mua hàng gì?
T01 Bánh mì, Bơ, Trúng
T02 Bơ, Trứng, Sữa
T03 Bơ
T04 Bánh mì, Bơ
Agrawal đã chí ra việc duyệt các tập hợp các tính chât đê tính ra ngưỡng độ hỗ
trợ của chúng và đánh giá có vượt ngưỡng ơ cho trước hay không, tốn rất nhiều thời
gian tính toán (độ phức tạp hàm mũ). Còn một khi đã xác định xong các tập hợp thóa
mãn điều kiện trên (gọi là các tập hợp xuất hiện thường xuyên) thì việc khai phá luật
kết hợp đỡ tốn thời gian hon. Agrawal đề nghị một thuật toán như sau;
Thuật toán 2- Tìm luật kết họp khi đã biết các tập họp thường xuyên
Input: I, D, ơ, a,
s
Output: Các luật kết hợp thỏa mãn ngưỡng độ hỗ trợ ơ, ngưỡng độ tin cậy a.
Algorithm:
Bước 1: Lấy ra một tập xuất hiện ơ-thường xuyên Se
s,
và một tập con X C
2
Tập họp ÍT'
A
1ập các
bản ghi
Tỷ lệ
Độ hô
trợ
Vượt ngưỡng

độ hỗ trợ 40%
Bánh mì {1,4} 2/4 50% Đúng


{1,2,3,4
}
4/4 100% Đúng
Trứng {1,2} 2/4 50% Đúng
Sữa {2} 1/4 25% Sai
Bánh mì, Bơ {1,4} 2/4 50% Đúng
Bánh mì, Trứng ỈM 1/4 25% Sai
Bánh mì, Sữa {0} 0/4 0% Sai
Bơ, Trứng {1,2} 2/4 50% Đúng
Bơ, Sữa {2} 1/4 25% Sai
Trửng, Sữa Í2) 1/4 25% Sai
Bánh mì, Bơ, Trứng
{1}
1/4 25% Sai
Bánh mì, Bơ, Sữa {0} 0/4 0% Sai
Bánh mì, Trứng, Sữa {0} 0/4 0% Sai
Bơ, Trứng, Sữa {2} 1/4 25% Sai
Bánh mì, Bơ, Trứng,
Sữa
{0} 0/4 0% Sai
Bảng 2.3. Các luật kết hợp và độ tin cậy của chúng
Luật kêt hợp
Tỷ
lệ
Độ tin
cậy
Vượt ngưỡng độ tin cậy
60%
Bánh mì —* Bơ 2/4 50% Sai

Bơ —*■ Bánh mì 2/2 100% Đúng
Bơ —»Trứng 2/2 100% Đúng
Trúng —► Bơ 2/4 50% Sai
s.
Bước 2: Xét luật kết hợp có dạng X —> (SuX), đánh giá độ tin cậy của nó xem có
nhỏ hơn a hay không.
Thực chất, tập hợp s mà ta xét đóng vai trò của tập hợp giao s = XuY, và do X
n(S - X) = 0, nên coi như Y= s - X.
Các thuật toán xoay quanh khai phá luật kết hợp chú yếu nêu ra các giải pháp để
đấy nhanh việc thực hiện mục 1 của Thuật toán 1.
2.3.Một số hướng tiếp cận trong khai phá luật kết họp
Lĩnh vực khai thác luật kết hợp cho đến nay đã được nghiên cửu và
phát triển theo nhiều hướng khác nhau. Có những đề xuấtnhằm cảitiến thuật
toán, có đề xuất tìm kiếm những luật có ý nghĩa hơn v.v và có một số hướng chính
sau đây:
- Luật kết hợp nhị phân (Binary association rule): là hướng nghiên cứu đầu tiên của
luật kết hợp. Theo dạng luật kết hợp này thì các items chỉ được quan tâm là có hay
không xuất hiện trong cơ sờ dữ liệu giao tác (Transaction database) chứ không quan
tâm về mức độ hay tần xuất hiện. Thuật toán tiêu biểu nhất của khai phá dạng luật
này là thuật toán Apriori.
- Luật kết hợp có thuộc tính sổ và thuộc tính hạng mục (Quantitative and categorial
association rule): các cơ sở dữ liệu thực tế thường có các thuộc tính đa dạng (như nhị
phân, số, mục (categorial ) chứ không nhất quán ở một dạng nào cả. Vì vậy để khai
phá luật kết hợp với các cơ sở dữ liệu này các nhà nghiên cứu đề xuất một số phương
pháp rời rạc hóa nhằm chuyển dạng luật này về dạng nhị phân để có thể áp dụng các
thuật toán đã có.
- Luật kết hợp tiếp cận theo hướng tập thô (mining association rule base on rough set):
tìm kiếm luật kết hợp dựa trên lí thuyết tập thô.
- Luật kết hợp nhiều mức (multi-level association ruls): với cách tiếp cận luật kết hợp
thế này sẽ tìm kiếm thêm những luật có dạng: mua máy tính PC —► mua hệ điểu

hành Window AND mua phẩn mềm văn phòng Microsoft Office,
- Luật kết hợp mờ (fuzzy association rule): Với những khó khăn gặp phải khi rời rạc
hóa các thuộc tính số, các nhà nghiên cửu đề xuất luật kểt hợp mờ khắc phục hạn chể
đó và chuyển luật kết hợp về một dạng gần gũi hơn.
- Luật kết hợp với thuộc tính được đánh trọng số (association rules with weighted
2
items): Các thuộc tính trong cơ sở dữ liệu thường không có vai trò như nhau. Có một
số thuộc tính quan trọng và được chú trọng hơn các thuộc tính khác. Vì vậy trong quá
trình tìm kiếm luật các thuộc tính được đánh trọng sổ theo mức độ xác định nào đó.
Nhờ vậy ta thu được những luật “hiểm” (tức là có độ hỗ trợ thấp nhưng mang nghiều
ý nghĩa).
- Khai thác luật kết hợp song song (parallel mining of association rule): Nhu cầu song
song hóa và xử lỹ phân tán là cần thiết vì kích thước dữ liệu ngày càng lớn nên đòi
hỏi tổc độ xử lý phải được đảm bảo.
Trên đây là những biển thế của khai phá luật kểt hợp cho phép ta tìm kiểm luật
kểt họp một cách linh hoạt trong những cơ sở dữ liệu lớn. Bên cạnh đó các nhà
nghiên cứu còn chú trọng đề xuất các thuật toán nhằm tăng tốc quá trình tìm kiểm
luật kểt họp trong cơ sở dữ liệu.
2.4.Một số thuật toán phát hiện luật kết hợp
2.4.1. Thuật toán Apriorỉ
Thuật toán do Agrawal đề nghị năm 1994, được Cheung đánh giá mang tính
chất lịch sử trong ITnh vực khai phá luật kết hợp, vì đã vượt xa tàm của các thuật
toán quen thuộc trong lĩnh vực này. Thuật toán dựa trên một nhận xét khá đơn giản là
bất kỳ tập hợp con nào của tập xuất hiện ơ thường xuyên cũng là tập xuất hiện ơ-
thường xuyên. Do đó, trong quá trình đi tìm các tập ứng cừ viên, nó chỉ cần dùng đến
các tập ứng cử viên vừa xuẩt hiện ở bước ngay trước đó, chứ không cần dùng đến tất
cả các tập ứng cử viên (cho đến thời điếm đó). Nhờ vậy, bộ nhớ được giải phóng
đáng kế.
Bước 1: cho trước ngưỡng độ hỗ trợ 0 < ơ < 1. Tìm tất cả các mật hàng xuất
hiện ơ — thường xuyên.

Bước 2: Ta tiến hành ghép đôi các phần tử của LI (không cần đế ý đến thứ tự),
được tập C2, tạp gọi là tập các ứng cứ viên có 2 phần tử. Sở dĩ chi gọi là “ứng cử
viên”, vì chưa chắc chúng đã là ơ- thường xuyên. Sau khi kiểm tra (dùng định nghĩa),
ta lọc ra được các tập hợp ơ - thường xuyên có 2 phần tử. Ký hiệu tập hợp này là L2.
Bước 3: Với chủ ý đã nêu (về tính chất tăng dần của các tập hợp ơ- thường
xuyên), ta tiến hành tìm các ứng cử viên có 3 phần từ (lấy từ LI). Gọi nó là tập C3.
Lưu ỹ là nếu {A, B, C} muốn là “ứng cử viên” thì các tập 2 phần từ ỊA, B},{B,C},ỊC,
A Ị đều phải là ơ- thường xuyên, tức là chúng đều ]à phần tử của tập L2. Ta đi “kiểm
2
tra tư cách đại biểu” trong tập C3 và lọc ra được tập các tập hợp ơ- thường xuyên có
3 phần tử. Tập hợp này được ký hiệu là L3.
Bước 4: Ta tiến hành tìm các ứng cử viên có n phần từ. Gọi tập của chúng là tập
Cn và từ đây, lọc ra Ln là tập tập các tập hợp ơ- thường xuyên có n phẩn tử.
Xét ví dụ minh họa sau:
Câụ lệnh SQL saụ đây tạọ cặp, xử lý 10 triệu giỏ inụa hàng, mọi giỏ mua hàng
trung bình có 10 mặt hàng, với giả thiết siêu thị có khoảng 100.000 mặt hàng:
SELECT bl.item b2.item COUNT(*)
FROM Baskets bl, Baskets b2
WHERE bl.BID = b2.BID AND bl.item <b2. item
GROUP BY bl.item , b2. item
HAVING COUNT(*) >=s;
Câu lệnh WHERE đảm bảo các cặp ỵhép không bị đúp 2 lần (vì ta không cần
đế ý đến tú' tự các phần tử).
Câu lệnh HAVING đả bảo các tập hợp chọn ra là ơ- thường xuyên.
- Khi ghép Baskets vói chính nó, mỗi giỏ ta có 45 cách che ra các cặp ứng viên [do
(10*9)/2=45], và do có 10 triệu giỏ mua hàng, nên ta phải xét 45x 107 trường hợp để
lọc ra các cặp ơ- thường xuyên.
Trong khi đó nếu sử dụng Thuật toán Apriori, trước hết ta giảm được đáng kế kích
thước cúa Baskets, vì ở bước 1 ta đi tìm các phần tử (mặt hàng) xuất hiện ơ- thường
xuyên.

SELECT *
FROM Baskets GROUP
BY item HAVING
COUNT (*) >= s;
Sự giảm kích thước của Baskets chưa phải là điểm cốt yếu. Điểm cốt yếu là khi ta
kết hợp đế tìm cặp, ta sẽ giảm được bình phương lần.
Cốt lõi của thuật toán Apriori là hàm apriori_gen() do Agrawal đề nghị năm
1994. Hàm này hoạt động theo 2 bước, bước 1- tập hợp Lk-1 tự kết nối (join) với
chính 11Ó để tạo ra tập ứng cừ viên Ck. Sau đó hàm apriori_gen() loại bỏ các tập
hợp có một hợp con (k-1) phần tử không nằm trong Lk-1 (vì chúng không thế là tập
họp xuất hiện ơ- thường xuyên, theo như nhận xét ban đầu).
2
Method: apriori_gen() [Agrwal 1994]
Input: Lóp các tập hợp xuất hiện ơ- thường xuyên có (k-1) phần tử, ký hiệu là Lk-1
Output: Lớp các tập hợp xuất hiện o- thường xuyên có k phần tử, ký hiệu là Luật kết
hợp
// Bước tự kết nối li -
Items i Insert into Ck
Select p.Il, p.I2, , p.Ik-], q.Ik-1 From
Lk-1 is p, Lk-1 is q
Where p.Il =q.Il and and p.Ik-2 = q.Ik-2 and p.Ik-1 <q.Ik-l
//Bước tỉa bớt
Forall itemsets c Ck do
Forall (k-1)- subsets s of c do
If (s is not of Lk-1) then
Delete c from Ck
Hàm sau đây có nhiệm vụ rà soát từng tính chất và đo đếm xem giá đỡ của
nó bằng bao nhiêu. Nói cách khác, ả bước đầu tiên Agrawal dùng hàm count() để
tìm ra các tập hợp xuất hiện ơ - thường xuyên có 1 phần tử. Function count(C:a set
of itemsets, D: database) begin

for each transaction T € D = u Di do
begin
forall subsets xe T do if X 6 c then x.count++; end
end
Dưới đây là toàn bộ Thuật toán Apriori:
Thuật toán 3- Apriori [Agrawal 1994]
Input:

T, D, ơ
Output:

L
Algorithm:
//Apriori Algorithm prposed by Agrawal R., Srikant, R. [Agrawall994]
//procedure Largeltemsets
1. Cl : = I; // Tập ứng cử viên có 1 phần tử
2. Sinh ra LI bằng cách tính tần số xuất hiện của mặt hàng trong các giao dịch;
3. for (k=2; Lk-1 ± 0; k++) do begin
//Tạo ra các tập ứng cử viên
2

×