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

công nghệ xử lý 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 (347.02 KB, 45 trang )

MỤC LỤC
DANH MỤC HÌNH................................................................iii
LỜI CẢM ƠN.......................................................................iv
PHẦN MỞ ĐẦU....................................................................1
CHƯƠNG 1. TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU.....................2
1.1. Khai phá dữ liệu........................................................2
1.1.1. Các quan niệm về khai phá dữ liệu..............................................................2
1.1.2. Khám phá tri thức và khai phá dữ liệu.........................................................2
1.1.3. Kiến trúc của một hệ thống khai phá dữ liệu...............................................4
1.1.4. Các loại dữ liệu được khai phá....................................................................5
1.1.5. Nhiệm vụ của khai phá dữ liệu....................................................................5
1.2. Một số phương pháp khai phá dữ liệu thông dụng.......7
1.2.1. Phương pháp luật kết hợp............................................................................7
1.2.2. Phương pháp cây quyết định.......................................................................7
1.2.3. Phương pháp k - Mean................................................................................7
1.3. Một số ứng dụng của khai phá dữ liệu........................8
1.3.1. Phân tích dữ liệu gen và sinh học y học......................................................8
1.3.2. Phân tích dữ liệu tài chính...........................................................................9
1.3.3. Dịch vụ bán lẻ.............................................................................................9
1.3.4. Công nghiệp viễn thông............................................................................10
1.4. Các khuynh hướng và thách thức trong khai phá dữ
liệu................................................................................10
CHƯƠNG 2. LUẬT KẾT HỢP TRONG KHAI PHÁ DỮ LIỆU.........13
2.1. Bài toán dẫn đến việc khai phá dữ liệu.....................13
2.2. Khai phá luật kết hợp...............................................13

1


2.2.1. Một số khái niệm cơ bản...........................................................................13
2.2.2. Cách khai phá luật kết hợp........................................................................17


2.2.3. Các tiêu chuẩn để phân loại luật kết hợp...................................................18
2.3. Một số thuật toán phát hiện luật kết hợp..................19
2.3.1. Thuật toán AIS..........................................................................................19
2.3.2. Thuật toán SETM......................................................................................20
2.3.3. Thuật toán Apriori.....................................................................................22
2.3.4. Thuật toán FP - Growth.............................................................................27
CHƯƠNG 3. CHƯƠNG TRÌNH MINH HỌA LUẬT KẾT HỢP BẰNG
THUẬT TOÁN APRIORI........................................................30
3.1. Phát biểu bài toán...................................................30
3.2. Minh họa bài toán....................................................30
PHẦN KẾT LUẬN................................................................33
TÀI LIỆU THAM KHẢO.........................................................34

2


DANH MỤC HÌNH
Hình 1.1. Kiến trúc của hệ thống khai phá dữ liệu................................................4
Hình 1.2. Mẫu kết quả với phương pháp cây quyết định.......................................7
Hình 1.3. Phân cụm các đối tượng k-Mean...........................................................8
Hình 2.1. Các bước thực hiện của thuật toán AprioriTID....................................26
Hình 2.2. Thời gian xử lý mỗi bước quét của thuật toán Apriori và AprioriTID
..................................................................................................................................... 27
Hình 3.1. Kết quả chương trình áp dụng thuật toán apriori.................................32

3


LỜI CẢM ƠN
Chúng em xin được bày tỏ lòng cảm ơn sâu sắc tới thầy giáo

ThS. Nghiêm Văn Hưng đã tận tình hướng dẫn và giúp đỡ, tạo mọi
điều kiện thuận lợi về tài liệu và phương tiện để chúng em hoàn
thành chuyên đề này.
Chúng em xin chân thành cảm ơn các thầy cô giáo trong khoa
Công nghệ thông tin đã giúp đỡ và truyền đạt nhiều kiến thức liên
quan đến chuyên đề, và đóng góp nhiều ý kiến quý báu, kịp thời.
Chúng em xin chân thành cảm ơn!
TM NHÓM SINH VIÊN

Trần Văn Cường

4


PHẦN MỞ ĐẦU
Ngày nay các lĩnh vực khoa học kỹ thuật đang ngày một phát
triển mạnh mẽ. Đặc biệt là ngành khoa học máy tính rất phát
triển, nó được ứng dụng rất nhiều trong các lĩnh vực khác nhau của
cuộc sống như: Giáo dục, Y tế, Kinh tế, Khoa học, Xây dựng. Ngành
khoa học này đã trở thành một phần không thế thiếu được trong
cuộc sống hàng ngày của con người.Việc dùng các phương tiện tin
học để tổ chức và khai thác các cơ sở dữ liệu đã được phát triển từ
những năm 60. Đặc biệt trong những năm gần đây vai trò của máy
tính trong việc lưu trữ và xử lý thông tin ngày càng trở nên quan
trọng. Bên cạnh đó các thiết bị thu thập dữ liệu tự động tương đối
phát triển đã tạo ra những kho dữ liệu khổng lồ. Với sự phát triển
mạnh mẽ của công nghệ điện tử tạo ra các bộ nhớ có dung lượng
lớn, bộ xử lý tốc độ cao cùng với các hệ thống mạng viễn thông,
người ta đã xây dựng các hệ thống thông tin nhằm tự động hoá
mọi hoạt động kinh doanh của mình. Điều này đã tạo ra một dòng

dữ liệu tăng lên không ngừng vì ngay từ các các giao dịch đơn giản
nhất như một cuộc điện thoại, kiểm tra sức khỏe, sử dụng thẻ tín
dụng, đều được ghi vào trong máy tính. Cho tới nay con số này đã
trở lên khổng lồ, bao gồm các cơ sở dữ liệu, thông tin khách hàng,
dữ liệu lịch sử các giao dịch, dữ liệu bán hàng, dữ liệu các tài
khoản vay, sử dụng vốn,…Vấn đề đặt ra là làm thế nào để xử lý
khối lượng thông tin cực lớn như vậy để phát hiện ra các tri thức
tiềm ẩn trong nó.
Để làm được điều đó người ta đã sử dụng quá trình phát hiện
tri thức trong cơ sở dữ liệu (Knowledge Discovery in DatabaseKDD). Nhiệm vụ của KDD là từ dữ liệu sẵn có phải tìm ra những
thông tin tiềm ẩn có giá trị mà trước đó chưa được phát hiện cũng
như tìm ra những xu hướng phát triển và các xu hướng tác động
lên chúng. Các kỹ thuật cho phép ta lấy được các tri thức từ cơ sở

1


dữ liệu sẵn có đó được gọi là kỹ thuật khai phá dữ liệu (Data
Mining).
Từ những lý do đó chúng em đã tìm hiểu về chuyên đề “Tìm
hiểu luật kết hợp trong khai phá dữ liệu”. Nhằm phân tích các
dữ liệu và sử dụng các kỹ thuật để tìm ra những mẫu thông tin,
hoạt động có tính chính quy trong tập dữ liệu mà người sử dụng
mong muốn, đồng thời để áp dụng vào bài toán quản lý bán hàng.

2


CHƯƠNG 1. TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1. Khai phá dữ liệu

1.1.1. Các quan niệm về khai phá dữ liệu
Khai phá dữ liệu là tập hợp các thuật toán nhằm chiết xuất
những thông tin có ích từ kho dữ liệu khổng lồ.
Khai phá dữ liệu được định nghĩa như một quá trình phát hiện
mẫu trong dữ liệu. Quá trình này có thể là tự động hay bán tự
động, song phần nhiều là bán tự động. Các mẫu được phát hiện
thường hữu ích theo nghĩa: các mẫu mang lại cho người sử dụng
một lợi thế nào đó, thường là lợi thế về kinh tế.
Khai phá dữ liệu giống như quá trình tìm ra và mô tả mẫu dữ
liệu. Dữ liệu như là một tập hợp của các vật hay sự kiện, còn đầu
ra của quá trình khai phá dữ liệu như là những dự báo của các vật
hay sự kiện mới.
Khai phá dữ liệu được áp dụng trong các cơ sở dữ liệu quan
hệ, giao dịch, cơ sở dữ liệu không gian, cũng như các kho dữ liệu
phi cấu trúc, mà điển hình là World Wide Web.
Khám phá tri thức 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 đắn, mới, khả ích và có
thể hiểu được. Khai phá dữ liệu là một bước trong quá trình khám
phá tri thức bao gồm các thuật toán khai phá dữ liệu 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.
1.1.2. Khám phá tri thức và khai phá dữ liệu
Trong thời đại bùng nổ công nghệ thông tin, các công nghệ lưu
trữ dữ liệu ngày càng phát triển tạo điều kiện cho các đơn vị thu
thập dữ liệu tốt hơn. Đặc biệt trong lĩnh vực kinh doanh, các doanh
nghiệp đã nhận thức được tầm quan trọng của việc nắm bắt và xử
lý thông tin, nhằm giúp các chủ doanh nghiệp trong việc vạch ra
3



các chiến lược kinh doanh kịp thời mang lại những lợi nhuận to lớn
cho doanh nghiệp của mình. Tất cả lí do đó khiến cho các cơ quan,
đơn vị và doanh nghiệp đã tạo ra một lượng dữ liệu khổng lồ cỡ
Gigabyte thậm chí là Terabyte cho riêng mình.
Khi lưu trữ các dữ liệu khổng lồ như vậy thì chúng ta thấy rằng
chắc chắn chúng phải chứa những giá trị nhất định nào đó. Tuy
nhiên, theo thống kê thì chỉ có một lượng nhỏ của những dữ liệu
này (khoảng từ 5% đến 10%) là luôn được phân tích, số còn lại họ
không biết sẽ phải làm gì hoặc có thể làm gì với chúng nhưng họ
vẫn tiếp tục thu thập rất tốn kém với ý nghĩ lo sợ rằng sẽ có cái gì
đó quan trọng đã bị bỏ qua sau này có lúc cần đến nó. Mặt khác,
trong môi trường cạnh tranh, người ta ngày càng cần có nhiều
thông tin với tốc độ nhanh để trợ giúp việc 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ó. Với những lý do như
vậy, 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 đáp ứng được thực tế đã làm phát triển
một khuynh hướng kỹ thuật mới đó là Kỹ thuật phát hiện tri thức
và khai phá dữ liệu (KDD - Knowledge Discovery and Data Mining).
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 cơ sở dữ liệu 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
4


thức, mới, khả í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 cơ sở dữ liệu nhưng vẫn còn bị che khuất
bởi hàng “núi” dữ liệu.
Nhiều người coi khai phá dữ liệu và khám phá tri thức trong cơ
sở dữ liệu là như nhau. Tuy nhiên trên thực tế, khai phá dữ liệu chỉ
là một bước thiết yếu trong quá trình phát hiện tri thức trong cơ sở
dữ liệu.
Như vậy, mục đích của khám phá tri thức và khai phá dữ liệu
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ồ.
1.1.3. Kiến trúc của một hệ thống khai phá dữ liệu
Như đã trình bày ở trên, khai phá dữ liệu là một giai đoạn
trong quá trình phát hiện tri thức từ số lượng lớn dữ liệu lưu trữ
trong các cơ sở dữ liệu, kho dữ liệu hoặc các nơi lưu trữ khác. Bước
này có thể tương tác lẫn nhau giữa người sử dụng hoặc cơ sở tri
thức, những mẫu đáng quan tâm được đưa cho người dùng hoặc
lưu trữ như là tri thức mới trong cơ sở tri thức.

5



Hình 1.1.3.a.1. Kiến trúc của hệ thống khai phá dữ liệu
Kiến trúc của hệ thống khai phá dữ liệu có các thành phần như
sau:
- Cơ sở dữ liệu, kho dữ liệu: Đó là một hoặc tuyển tập các cơ
sở dữ liệu, kho dữ liệu. Các kỹ thuật làm sạch dữ liệu, tích hợp, lọc
dữ liệu có thể thực hiện trên dữ liệu.
- Cơ sở dữ liệu hoặc kho dữ liệu phục vụ: Là kết quả lấy dữ liệu
có liên quan trên cơ sở khai phá dữ liệu của người dùng.
- Cơ sở tri thức: Đó là lĩnh vực tri thức được sử dụng để hướng
dẫn việc tìm hoặc đánh giá các mẫu kết quả thu được.
- Mô tả khai phá dữ liệu: Bao gồm tập các modul chức năng để
thực hiện các nhiệm vụ mô tả đặc điển, kết hợp, phân lớp, phân
cụm dữ liệu…
- Đánh giá mẫu: Thành phần này sử dụng các độ đo và tương
tác với modul khai phá dữ liệu để tập trung vào tìm các mẫu quan
tâm.

6


- Giao diện người dùng: Đây là modul giữa người dùng và hệ
thống khai phá dữ liệu. Cho phép người dùng tương tác với hệ
thống trên cơ sở những truy vấn hay tác vụ, cung cấp thông tin
cho việc tìm kiếm.
1.1.4. Các loại dữ liệu được khai phá
Do Data mining được ứng dụng rộng rãi nên có thể làm việc
với rất nhiều kiểu dữ liệu khác nhau. Sau đây là một số dang dữ
liệu điển hình: CSDL quan hệ, CSDL đa chiều (multidimentional
structures, data warehouse), CSDL dạng giao dịch, CSDL quan hệ
hướng đối tượng, dữ liệu không gian và thời gian, dữ liệu chuổi thời

gian, CSDL đa phương tiện, dữ liệu text và web…
1.1.5. Nhiệm vụ của khai phá dữ liệu
Các bài toán liên quan đến khai phá dữ liệu 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 khai phá dữ
liệu 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. Một 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 đã khai phá dữ liệu 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, khai phá dữ liệu 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à khai phá dữ liệu 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
7


nhóm dựa theo nhiều tiêu chí khác nhau (lứa tuổi, giới tính, thu
nhập…), sau đó 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.
Chúng ta thấy, những nhiệm vụ cơ bản nhất của khai phá dữ
liệu 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 mối
quan hệ giống nhâu 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ết hợ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 cơ 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 khai phá dữ liệu đề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 sả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,
8


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.2. Một số phương pháp khai phá dữ liệu thông dụng
1.2.1. Phương pháp luật kết hợp
Một trong những chủ đề phổ biến của khai phá dữ liệu là khai
phá luật kết hợp. Mục đích của khám phá luật kết hợp là xác định
mối quan hệ, sự kết hợp giữa các item trong một CSDL lớn. Luật
kết hợp là một luật dạng X => Y, với X, Y là tập các item. Một
luật kết hợp được gọi là mạnh, nếu nó thoả độ hỗ trợ và thoả độ tin
cậy tối thiểu.
Có nhiều thuật toán để khai phá luật kết hợp theo từng loại
luật. Một trong những thuật toán thường gặp nhất là thuật toán
Apriori. Chúng tôi sẽ trình bày chi tiết các thuật toán AIS, SETM,
Apriori, FP - growth, … trong các chương sau.
1.2.2. Phương pháp cây quyết định
Cây quyết định là một mô tả tri thức dạng đơn giản nhằm
phân các đối tượng dữ liệu thành một số lớp nhất định.
Các nút của cây được gán nhãn là tên các thuộc tính, các cạnh
được gán các giá trị có thể của các thuộc tính, các lá mô tả các lớp
khác nhau. Các đối tượng được phân lớp theo các đường đi trên
cây, qua các cạnh tương ứng với các giá trị của thuộc tính của đối
tượng tới lá. Hình 1.2 mô tả một mẫu đầu ra có thể của quá trình

9



khai phá dữ liệu dùng phương pháp cây quyết định với tập dữ liệu
khách hàng xin vay vốn.

Hình 1.2.2.a.1. Mẫu kết quả với phương pháp cây quyết
định
1.2.3. Phương pháp k - Mean
Phân cụm cũng là một trong những chủ đề được quan tâm
nhiều trong nghiên cứu khai phá dữ liệu. Có nhiều phương pháp
được sử dụng trong phân cụm, phương pháp k-Mean được coi là
các kỹ thuật cơ bản của phân cụm.
Với phương pháp này sẽ chia tập có n đối tượng thành k cụm
sao cho các đối tượng trong cùng một cụm thì giống nhau, các đối
tượng khác cụm thì khác nhau.
Đầu tiên chọn k đối tượng ngẫu nhiên, mỗi đối tượng đại diện
cho tâm của cụm (cluster mean or center). Dựa vào khoảng cách
giữa tâm cụm với mỗi đối tượng còn lại, gán mỗi đối tượng vào một
cụm mà nó giống nhau nhất. Sau đó, tính tâm mới của mỗi cụm.
Quá trình được lặp lại cho đến khi hàm tiêu chuẩn hội tụ (criterion
function converges). Chẳng hạn sử dụng hàm tiêu chuẩn: , với p là
một điểm đại diện một đối tượng cho trước và mi là tâm của cụm.
Ví dụ: Phân cụm các đối tượng trong không gian thành 3 cụm
(k=3).

10


Hình 1.2.3.a.1. Phân cụm các đối tượng k-Mean
Với đối tượng được đánh dấu cộng (+) là tâm cụm.
1.3. Một số ứng dụng của khai phá dữ liệu
1.3.1. Phân tích dữ liệu gen và sinh học y học

Khai phá dữ liệu đã trở thành một công cụ mạnh và đóng góp
thiết thực vào việc phân tích gen theo các cách sau:
Nghiên cứu tương tự và so sánh các chuỗi gen: Một trong
những nghiên cứu quan trọng trong phân tích gen là nghiên cứu
tương tự và so sánh các chuỗi gen. Các chuỗi gen được cô lập từ
các mô bệnh và khoẻ có thể được so sánh với nhau để nhận dạng
những khác biệt giữa hai lớp gen.
Phân tích kết hợp: Nhận dạng các chuỗi gen cùng xảy ra, phân
tích kết hợp có thể được sử dụng giúp chúng ta xác định các loại
gen thường kết hợp với nhau để gây nên bệnh.
Phân tích hướng đi: Liên kết các gen ở các giai đoạn khác
nhau của quá trình phát triển bệnh, nếu một chuỗi hoạt động của
các gen ở những giai đoạn khác nhau của bệnh được xác định, thì
có thể giúp chúng ta chế tạo ra các dược phẩm can thiệp vào từng
giai đoạn của bệnh. Do đó, có thể đạt được cách điều trị bệnh hiệu
quả.

11


1.3.2. Phân tích dữ liệu tài chính
Dữ liệu tài chính nhận được tương đối hoàn chỉnh, đáng tin cậy
và chất lượng cao làm thuận lợi cho việc phân tích dữ liệu, khai
phá dữ liệu một cách hệ thống. Các ứng dụng của khai phá dữ liệu
vào lĩnh vực tài chính là:
Dự đoán trả tiền vay và phân tích chính sách tín dụng khách
hàng: Dự đoán trả tiền vay và phân tích chính sách tín dụng khách
hàng là vấn đề quan trọng đối với việc kinh doanh của ngân hàng.
Có nhiều yếu tố (chẳng hạn: tỉ lệ trả trên thu nhập, mức thu nhập,
mức học vấn, vùng dân cư, lịch sử tín dụng,…) có thể ảnh hưởng

mạnh hoặc yếu đến việc thực hiện trả tiền vay và sự đánh giá mức
độ tín nhiệm khách hàng. Các phương pháp khai phá dữ liệu như
lựa chọn đặc trưng, xếp hạng các thuộc tính liên quan có thể giúp
xác định các yếu tố quan trọng và loại bỏ những yếu tố không liên
quan. Do đó, ngân hàng có thể điều chỉnh chính sách cho vay đối
với những khách hàng mà trước đây ngân hàng đã từ chối nhưng
nay tỉ mạo hiểm đối với họ là thấp dựa vào các phân tích trên.
Phát hiện các tội phạm tài chính: Để phát hiện việc chuyển
tiền bất chính vào ngân hàng và các tội phạm tài chính, việc tích
hợp thông tin từ các CSDL khác nhau (CSDL giao dịch ngân hàng,
CSDL về lịch sử tội phạm) là rất quan trọng. Sau khi có dữ liệu tổng
hợp, chúng ta có thể dựa trên các công cụ của khai phá dữ liệu để
phát hiện ra các mẫu khác thường.
1.3.3. Dịch vụ bán lẻ
Dịch vụ bán lẻ là một trong những lĩnh vực ứng dụng của khai
phá dữ liệu. Một lượng dữ liệu khổng lồ đã và đang được thu thập
ngày càng tăng, đặc biệt với sự gia tăng về sự tiện lợi, lợi ích và
tính phổ biến của việc kinh doanh trên Web, thương mại điện tử.
Dữ liệu bán lẻ cung cấp một kho dữ liệu phong phú cho việc khai
phá dữ liệu.

12


Khai phá dữ liệu bán lẻ có thể giúp chúng ta xác định được
hành vi mua hàng của khách hàng, phát hiện những mẫu mua
hàng của người dùng, những khuynh hướng mua hàng.
Thiết kế các chiến dịch kinh doanh: Giữ khách hàng - Phân tích
lòng trung thành của khách hàng: Lòng trung thành của khách
hàng và khuynh hướng mua hàng có thể được phân tích một cách

hệ thống.
1.3.4. Công nghiệp viễn thông
Công nghiệp viễn thông đã phát triển nhanh từ các dịch vụ
điện thoại cục bộ và điện thoại đường dài cho đến các dịch vụ
truyền thông khác như voice, fax, image, e-mail, truyền dữ liệu
Web, các giao lộ dữ liệu khác. Tích hợp viễn thông, mạng máy tính,
internet, các phương tiện truyền thông khác đã và đang được thực
hiện. Điều này tạo ra một yêu cầu lớn về khai phá dữ liệu để giúp
hiểu thêm việc kinh doanh, xác định các mẫu viễn thông, chặn
đứng các hoạt động lừa dối nhằm tạo điều kiện sử dụng các tài
nguyên tốt hơn và nâng cao được chất lượng dịch vụ.
Phân tích nhu cầu: Dữ liệu viễn thông là các dữ liệu đa chiều
đích thực, với các chiều như: giờ gọi, thời gian gọi, vị trí người
gọi, vị trí người được gọi, kiểu cuộc gọi. Phân tích đa chiều đối
với các dữ liệu kiểu này có thể giúp xác định nhu cầu và hành vi
của các nhóm người dùng, từng vùng…Từ đó cung cấp các
dịch vụ, thiết bị phù hợp hơn.
Phân tích các mẫu gian lận và xác định các mẫu khác thường:
Việc xác định những người dùng gian lận tiềm năng và những mẫu
sử dụng không điển hình là rất quan trọng. Những mẫu này có thể
được khám phá bởi phân tích đa chiều, phân tích phân cụm, phân
tích phần tử ngoài cuộc.

13


1.4. Các khuynh hướng và thách thức trong khai phá dữ liệu
Việc phát triển các hệ thống, phương pháp khai phá hiệu quả,
kiến trúc môi trường khai phá dữ liệu tích hợp và ứng dụng kỹ
thuật khai phá dữ liệu vào các bài toán lớn là một nhiệm vụ quan

trọng đối với các nhà nghiên cứu, các nhà phát triển ứng dụng. Dưới
đây là những khuynh hướng trong khai phá dữ liệu phản ánh các
thách thức này.
Mở rộng ứng dụng: Trước đây các ứng dụng khai phá dữ liệu
chỉ tập trung vào việc giúp đỡ các nhà kinh doanh đạt được vấn đề
cạnh tranh. Khi khai phá dữ liệu trở thành phổ biến hơn, nó được
sử dụng ngày càng tăng trong các lĩnh vực khác như: Sinh học y
học, tài chính, viễn thông.
Phương pháp khai phá dữ liệu uyển chuyển: Khác với các
phương pháp phân tích dữ liệu truyền thống, khai phá dữ liệu ngày
nay phải có thể xử lý một lượng lớn dữ liệu một cách hiệu quả,
tương tác. Vì lượng lớn dữ liệu đang được thu thập tiếp tục tăng
nhanh nên việc thiết kế các thuật toán uyển chuyển cho phép khai
phá dữ liệu được tích hợp và riêng biệt là trở nên rất cần thiết. Một
hướng quan trọng cải tiến hiệu quả của quá trình khai phá dữ liệu
có sự tương tác của người dùng là khai phá dựa trên các ràng
buộc. Nó cho phép người dùng đưa ra các điều khiển và các ràng
buộc bổ sung để hướng định hướng hệ thống khai phá dữ liệu
trong việc phát hiện những mẫu đáng quan tâm.
Tích hợp khai phá dữ liệu với các hệ CSDL, các hệ kho dữ liệu,
hệ CSDL Web: Các hệ CSDL, hệ kho dữ liệu, WWW đã trở thành các
hệ xử lý thông tin chủ đạo. Việc tích hợp khai phá dữ liệu với các
môi trường xử lý thông tin là một vấn đề cần thiết. Một kiến trúc lý
tưởng cho một hệ khai phá dữ liệu là một hệ kết hợp chặt chẽ với
các hệ kho dữ liệu và CSDL. Quản lý giao dịch, xử lý truy vấn, xử lý
phân tích trực tuyến, khai phá phân tích trực tuyến nên được tích
hợp vào trong một khung hợp nhất. Điều này sẽ đảm bảo tính
14



tiện ích dữ liệu, linh động, uyển chuyển và thực thi cao của khai
phá dữ liệu.
Khai phá Web: Ngày nay, với một lượng khổng lồ thông tin trên
Web vai trò quan trọng của Web đối với xã hội, việc khai phá nội
dung Web sẽ trở thành bài toán quan trọng và đáng quan tâm
trong vấn đề khai phá dữ liệu.
An toàn và bảo mật thông tin trong khai phá dữ liệu: Với sự
tăng nhanh của việc sử dụng các công cụ khai phá dữ liệu, mạng
máy tính, mạng viễn thông, một vấn đề quan trọng đang đối mặt
với khai phá dữ liệu là an toàn và bảo mật thông tin. Cho nên các
phương pháp được phát triển sau này phải đảm bảo được vấn đề
này, mà vẫn tạo điều kiện thuận lợi cho việc truy cập và khai phá
thông tin hoàn hảo.

15


CHƯƠNG 2. LUẬT KẾT HỢP TRONG KHAI PHÁ DỮ LIỆU
2.1. Bài toán dẫn đến việc khai phá dữ liệu
Bài toán giở mua hàng trong siêu thi: Giả sử chúng ta có rất
nhiều mặt hàng, ví dụ như “bánh mì, sữa, bơ…”. Khách hàng đi
siêu thị sẽ bỏ vào giỏ mua hàng của họ một 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 những mặt
hàng nào, thậm chí chúng ta không cần biết khách hàng 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ách đỡ
mất công tìm kiếm.
Bài toán này hoàn toàn có thể áp dụng trong các lĩnh vực
khác. 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” (mirror website).
Khai phá luật kết hợp được môt tả như sự tương quan của các
sự kiện xuất hiện thường xuyên một các đồ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 2 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.

16


2.2. Khai phá luật kết hợp
2.2.1. Một số khái niệm cơ bản
a. Luật kết hợp
Cho I = {i1, i2, …im } là tập hợp của m tính chất riêng biệt. Giả
sử D là CSDL, 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  I, thỏa
mãn điều kiện X  Y = . 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ả. [1]
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.
b. Độ hỗ trợ

* Định nghĩa 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).

Ta có: 0 ≤ supp(X) ≤ 1 với mọi tập hợp X.
* Định nghĩa 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  Y, so với tổng số các bản ghi trong D - Ký
hiệu supp(X → Y)

17


Khi chúng ta nói rằng độ hỗ trợ của một luật là 50%, có nghĩa
là coc 50% tổng số bản ghi chứa X  Y. 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 hàng
tạp phẩm). Nhưng cũng có trường hợp, 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).
c. Độ tin cậy [1]
* Định nghĩa 1
Độ 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  Y 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:

* Định nghĩa 2
Độ 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  Y, so với tổng 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) gữ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
18


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á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ư: 85% 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ông đơ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.
d. Tập hợp [2]
* Định nghĩa 1
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 này là FI.
Tính chất 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: 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.
19


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 2).
Tính chất 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
e. Định nghĩa 2
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.

f. Định nghĩa 3
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ớm nhất là MFI. Dễ
thấy MFI  FCI  FI.
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 (α) 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:

20


Nếu 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ổ biến (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 lớn nhất
(MFI) là đủ, như khám phá mẫu tổ hợp trong các ứng dụng sinh
học.
Có rất 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 phổ biến lớn nhất một cách có hiệu quả. Khi

các mẫu phổ biến (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 tất cả
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 tất cả các k - itemsets trước khi tính đến 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.
2.2.2. Cách khai phá luật kết hợp
Bài toán khai phá luận kết hợp được tách thành hai bài toán
con:
Bài toán 1: Tìm tất cả các frequent itemset. Với một số cơ sở
dữ liệu giao dịch D và min _sup, chúng ta phải tìm tất cả các
frequen itemset có thể có trong D.

21


×