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

MỘT SỐ TÍNH CHẤT CỦA LUẬT KẾT HỢP TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN NGANG

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 (719.56 KB, 26 trang )





HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG






NGUYỄN XUÂN KHUÊ




MỘT SỐ TÍNH CHẤT CỦA LUẬT KẾT HỢP
TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN NGANG



Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60.48.01.01







TÓM TẮT LUẬN VĂN THẠC SỸ











HÀ NỘI - NĂM 2013






Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG


Người hướng dẫn khoa học: ………………………………………………………
(Ghi rõ học hàm, học vị)


Phản biện 1: ………………………………………………………………………

Phản biện 2: ………………………………………………………………………





Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công
nghệ Bưu chính Viễn thông
Vào lúc: giờ ngày tháng năm



Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông

1





MỞ ĐẦU
Hiện nay, lượng thông tin được lưu trữ trên các thiết bị điện tử không ngừng tăng lên.
Sự tích lũy dữ liệu này xảy ra với một tốc độ bùng nổ. Nói một cách hình ảnh là chúng ta
đang “ngập” trong dữ liệu nhưng lại “đói” tri thức. Câu hỏi đặt ra là liệu chúng ta có thể
khai thác được gì từ những “núi” dữ liệu ấy không?
Data Mining ra đời như một hướng giải quyết hữu hiệu cho câu hỏi vừa đặt ra ở trên.
Khá nhiều định nghĩa về Data Mining, tuy nhiên có thể tạm hiểu rằng Data Mining như là
một công nghệ tri thức giúp khai thác những thông tin hữu ích từ những kho dữ liệu được
tích trữ trong suốt quá trình hoạt động của một công ty, tổ chức nào đó.
Khai phá dữ liệu bao hàm rất nhiều hướng tiếp cận. Các kỹ thuật chính được áp dụng
trong lĩnh vực này phần lớn được thừa kế từ lĩnh vực cơ sở dữ liệu, machine learning, trí tuệ
nhân tạo, lý thuyết thông tin, xác suất thống kê, và tính toán hiệu năng cao. Các bài toán chủ
yếu trong khai phá dữ liệu là phân lớp/dự đoán (classification/prediction), phân cụm
(clustering), khai phá luật kết hợp (association rules mining), khai phá chuỗi (sequence

mining), v.v…
Trong khai phá luật kết hợp, việc tìm hiểu về mối liên hệ, ràng buộc giữa các tập phổ
biến, luật kết hợp trên các các hệ con và trên hệ thống tập trung đóng vai trò hết sức quan
trọng. Nếu chỉ ra được sự ràng buộc và mối liên hệ giữa các tập phổ biến, luật kết hợp trên
hệ thống tập trung và các hệ thống con thì thay cho việc tìm tập phổ biến trên toàn hệ thống
ta tìm trên các hệ thống con và việc tìm kiếm diễn ra nhanh gấp nhiều lần so với tìm kiếm
tập trung trên hệ thống lớn.
Ý thức được đây là một lĩnh vực nghiên cứu có nhiều triển vọng, tôi đã chọn hướng
nghiên cứu khai phá luật kết hợp cho đề tài luận văn của mình. Luận văn được xây dựng
dựa trên nền các nghiên cứu đã có trong lĩnh vực khai phá luật kết hợp, đồng thời tôi cũng
mạnh dạn trình bày một vài đề xuất của riêng mình đó là “nêu lên một số tính chất của luật
kết hợp trong cơ sở dữ liệu phân tán ngang”.
Xuất phát từ nhu cầu trên tôi chọn đề tài:
“MỘT SỐ TÍNH CHẤT CỦA LUẬT KẾT HỢP TRONG CƠ SỞ DỮ
LIỆU PHÂN TÁN NGANG”
2





Mục đích nghiên cứu của đề tài luận văn là nghiên cứu tổng quan về khai phá dữ
liệu, khai phá luật kết hợp trong môi trường phân tán. Trong luận văn tác giả đặc biệt quan
tâm và xét một số tính chất của luật kết hợp trong cơ sở dữ liệu phân tán ngang. Bản chất
mà luận văn muốn đề cập là một tính chất t nào đó của luật kết hợp thỏa mãn trong bảng R
thì khi phân tán ngang R thành các bảng con R
1
, R
2
, …, R

k
, tính chất t có thỏa mãn trong
các R
i
không?
Bố cục của luận văn gồm 3 chương:
Chương 1. Nghiên cứu tổng quan
- Nghiên cứu tổng quan về khai phá dữ liệu
- Giới thiệu chung về khai phá dữ liệu
- Quy trình và các kỹ thuật khai phá dữ liệu
- Các ứng dụng của khai phá dữ liệu
- Nghiên cứu về cơ sở dữ liệu phân tán
Chương 2. Khai phá luật kết hợp
- Các luật trong khai phá tri thức
- Khai phá luật kết hợp
- Một số dạng luật kết hợp
- Một số thuật toán khai phá luật kết hợp
Chương 3: Một số tính chất của luật kết hợp
- Giới thiệu
- Các định nghĩa
- Giới thiệu một số tính chất của luật kết hợp trong cơ sở dữ liệu phân tán ngang.

3





Chương 1 - NGHIÊN CỨU TỔNG QUAN
1.1. Tổng quan về khai phá dữ liệu

1.1.1. Các khái niệm cơ bản
Khai phá dữ liệu được dùng để mô tả quá trình phát hiện ra tri thức trong CSDL.
Đị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 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”.
Khai phá dữ liệu (Data mining): Là một bước trong quy trình khám phá tri thức,
nhằm:
 Rút trích thông tin hữu ích, chưa biết, tiềm ẩn trong khối dữ liệu lớn
 Phân tích dữ liệu bán tự động
 Giải thích dữ liệu trên các tập dữ liệu lớn
1.1.2. Quá trình khai phá dữ liệu
Quá trình phát hiện tri thức từ cơ sở dữ liệu là một quá trình sử dụng nhiều phương
pháp và công cụ tin học nhưng trong đó con người vẫn đóng vai trò là trung tâm của quá
trình.
Hình 1.1 – Quy trình phát hiện tri thức

4





1.1.3. Các kỹ thuật khai phá dữ liệu
Phân lớp dữ liệu [2]
Khái niệm phân lớp dữ liệu được Han và Kamber đưa ra năm 2000. Phân lớp dữ liệu
là xây dựng một mô hình mà có thể phân các đối tượng thành những lớp để dự đoán giá trị
bị mất tại một số thuộc tính của dữ liệu hay tiên đoán giá trị của dữ liệu sẽ xuất hiện trong
tương lai.

Phân nhóm dữ liệu [2, 3]
Phân nhóm là kỹ thuật khai phá dữ liệu tương tự như phân lớp dữ liệu. Tuy nhiên, sự
phân nhóm dữ liệu là quá trình học không được giám sát, là quá trình nhóm những đối
tượng vào trong những lớp tương đương. Trong phân lớp dữ liệu, một bản ghi thuộc về lớp
nào là phải xác định trước, trong khi phân nhóm không xác định trước. Trong phân nhóm,
những đối tượng được nhóm lại cùng nhau dựa vào sự giống nhau của chúng.
Hồi quy (Regression):
Là việc xét một hàm ánh xạ từ một tập dữ liệu thành một biến dự đoán có giá trị thực.
Nhiệm vụ hồi qui tương tự như phân lớp, điểm khác nhau chính là ở chỗ thuộc tính để dự
báo là liên tục chứ không rời rạc [3, 4].
Tổng hợp (summarization):
Là công việc liên quan đến các phương pháp tìm kiếm một mô tả cô đọng cho tập
con dữ liệu [2, 4]. Các kỹ thuật tổng hợp thường được áp dụng trong việc phân tích dữ liệu
có tính thăm dò và báo cáo tự động.
Phát hiện sự thay đổi và độ lệch (change and deviation dectection):
Nhiệm vụ này tập trung vào khám phá những thay đổi có ý nghĩa trong dữ liệu dựa
vào các giá trị chuẩn hay độ đo đã biết trước, phát hiện độ lệch đáng kể giữa nội dung của
tập con dữ liệu và nội dung mong đợi. [2, 3].
1.1.4. Các bài toán thông dụng trong khai phá dữ liệu
Trong khai phá dữ liệu (KPDL), các bài toán có thể phân thành bốn loại chính [5]:
Phân lớp (Classification):
Là bài toán thông dụng nhất trong KPDL. Với một tập các dữ liệu huấn luyện cho
trước và sự huấn luyện của con người, các giải thuật phân loại sẽ học ra bộ phân loại
5





(classifier) dùng để phân các dữ liệu mới vào một trong những lớp (còn gọi là loại) đã được

xác định trước.
Dự đoán (Prediction):
Với mô hình học tương tự như bài toán Phân lớp, lớp bài toán Dự đoán sẽ học ra các
bộ dự đoán. Khi có dữ liệu mới đến, bộ dự đoán sẽ dựa trên thông tin đang có để đưa ra một
giá trị số học cho hàm cần dự đoán. Bài toán tiêu biểu trong nhóm này là dự đoán giá sản
phẩm để lập kế hoạch trong kinh doanh.
Luật kết hợp (Association Rule):
Các giải thuật Tìm luật kết hợp tìm kiếm các mối liên kết giữa các phần tử dữ liệu, ví
dụ như nhóm các món hàng thường được mua kèm với nhau trong siêu thị.
Phân cụm (Clustering):
Các kỹ thuật Phân cụm sẽ nhóm các đối tượng dữ liệu có tính chất giống nhau vào
cùng một nhóm. Có nhiều cách tiếp cận với những mục tiêu khác nhau trong phân loại.
1.1.5. Các cơ sở dữ liệu phục vụ khai phá dữ liệu
Dựa vào những kiểu dữ liệu mà kỹ thuật khai phá áp dụng, có thể chia dữ liệu thành
các loại khác nhau.
Cơ sở dữ liệu quan hệ
Cơ sở dữ liệu quan hệ là một nguồn tài nguyên lớn nhất chứa những đối tượng mà
chúng ta cần khai phá. Cơ sở dữ liệu quan hệ có cấu trúc cao, dữ liệu được mô tả bởi một
tập những thuộc tính và lưu trong những bảng.
Cơ sở dữ liệu giao tác
Cơ sở dữ liệu giao tác là tập hợp những bản ghi giao dịch, trong đa số các trường hợp
chúng là những bản ghi các dữ liệu hoạt động của doanh nghiệp, tổ chức.
Cơ sở dữ liệu không gian
Cơ sở dữ liệu không gian bao gồm hai phần: Phần thứ nhất là dữ liệu quan hệ hay
giao tác, phần thứ hai là thông tin định vị hoặc thông tin địa lý.
Cơ sở dữ liệu có yếu tố thời gian
Giống như cơ sở dữ liệu không gian, cơ sở dữ liệu có yếu tố thời gian bao gồm hai
phần: Phần thứ nhất là dữ liệu quan hệ hay giao tác, phần thứ hai là thông tin về thời gian
xuất hiện dữ liệu ở phần thứ nhất.
6






Cơ sở dữ liệu đa phương tiện
Số lượng trang web đang bùng nổ trên thế giới, web có mặt ở khắp mọi nơi, duyệt
web đã là nhu cầu của mọi tầng lớp trong xã hội. Thông tin trên web đang phát triển với tốc
độ rất cao, khai phá thông tin trên web (web mining) đã trở thành một lĩnh vực nghiên cứu
chính của khai phá dữ liệu, được các nhà nghiên cứu đặc biệt quan tâm.
1.1.6. Các ứng dụng của khai phá dữ liệu
- Phân tích dữ liệu và hỗ trợ ra quyết định (Analysis & decision support).
- Điều trị trong y học (Medical): mối liên hệ giữa triệu chứng, chuẩn đoán và phương
pháp điều trị (chế độ dinh dưỡng, thuốc men, phẫu thuật).
- Phân lớp văn bản, tóm tắt văn bản và phân lớp các trang Web (Text mining & Web
mining).
- Tin sinh học (Bio-informatics): Tìm kiếm, đối sánh các hệ gen và thông tin di
truyền, mối liên hệ giữa một số hệ gen và một số bệnh di truyền.
- Nhận dạng.
- Tài chính và thị trường chứng khoán (Finance & stock market): Phân tích tình hình
tài chính và dự đoán giá cổ phiếu.
- Bảo hiểm (Insurance).
- Giáo dục (Education).
1.1.7. Khai phá dữ liệu và các lĩnh vực liên quan
Phát hiện tri thức và khai phá dữ liệu được coi là trung tâm của nhiều ngành khoa
học, nó liên quan đến rất nhiều ngành, nhiều lĩnh vực khác nhau như tài chính, ngân hàng,
thương mại, y tế, giáo dục, thống kê, máy móc, trí tuệ nhân tạo, cơ sở dữ liệu, thuật toán
học, tính toán song song, thu nhận tri thức trong các hệ chuyên gia, quan sát dữ liệu.
Đặc trưng của hệ thống khai phá dữ liệu là nhờ vào các phương pháp thuật toán và kỹ
thuật từ những lĩnh vực khác nhau, nhằm mục đích cuối cùng là trích ra tri thức từ dữ liệu

trong CSDL khổng lồ.
1.1.8. Các thách thức trong khai phá dữ liệu
- Cơ sở dữ liệu lớn
- Số chiều các thuộc tính lớn
7





- Thay đổi dữ liệu và tri thức có thể làm cho các mẫu đã phát hiện không còn phù
hợp
- Dữ liệu bị thiếu hoặc bị nhiễu
- Quan hệ giữa các trường phức tạp
- Giao tiếp với người sử dụng và kết hợp với các tri thức đã có
- Tích hợp với các hệ thống khác
1.2. Nghiên cứu về cơ sở dữ liệu phân tán
1.2.1. Các khái niệm cơ bản
Thiết kế hệ thống máy tính phân tán bao gồm:
- Phân rã dữ liệu;
- Chọn những vị trí đặt dữ liệu;
- Các chương trình ứng dụng trên mạng máy tính đó;
- Thiết kế tổ chức khai thác hệ thống mạng.
1.2.2. Cơ sở dữ liệu phân tán là gì?
Định nghĩa 1.1. Phân rã hay phân mảnh CSDL
Phân rã (hay phân mảnh) CSDL là chia CSDL thành nhiều phần không chồng lặp lên
nhau, mỗi phần được gọi là một mảnh con hay CSDL con.
Định nghĩa 1.2. Cơ sở dữ liệu phân tán
Cơ sở dữ liệu phân tán là một tập các cơ sở dữ liệu có quan hệ với nhau về mặt logic
và được phân bố trên một mạng máy tính.

1.2.3. Tại sao phải phân tán CSDL?
Trong thực tế chúng ta luôn cần phân tán CSDL là vì:
- Chia để trị, chia CSDL thành các CSDL con để tiện giải quyết và quản trị
chúng.
- Do tầm hoạt động, tầm địa lý của CSDL rộng, lớn nên bắt buộc phải phân tán
CSDL theo các khu vực.
- Do yêu cầu bảo mật dữ liệu nên chúng ta phải phân tán dữ liệu thành các phần
con để dễ bảo vệ dữ liệu.
8





- Một lý do quan trọng bắt buộc chúng ta phải phân tán (phân rã) cơ sở dữ liệu
là để đảm bảo tính nhất quán, ổn định, không dư thừa dữ liệu mỗi khi thao tác
và truy xuất trên CSDL.
1.2.4. Phân rã dọc
Định nghĩa 1.3 Phân rã dọc
Phép phân rã dọc quan hệ R trên tập thuộc tính A = {A1, A2, , An} thành các quan
hệ R1, R2, , Rk tương ứng trên các tập thuộc tính U1, U2, , Uk là tách R thành k quan hệ
thỏa mãn các yêu cầu sau:
(i) A = U1

U2



Uk
(ii) R = R1*R2* *Rk. Trong đó * là phép nối tự nhiên

1.2.5. Phân rã ngang
Định nghĩa 1.4 Phân rã ngang R
Phân rã ngang R trên tập thuộc tính A = {A1, A2, , An} là chia ngang quan hệ R
thành các R
1
, R
2
, …, R
k
. Với R
i
là những quan hệ trên A;
(1) R
i


R
j
=

nếu i

j;
(2) R =

k
i
Ri
1


9





Chương 2 - KHAI PHÁ LUẬT KẾT HỢP
2.1. Luật kết hợp
2.1.1. Giới thiệu về luật kết hợp
 Khai phá luật kết hợp: Là tìm các mẫu phổ biến kết hợp nhân quả giữa các tập đối
tượng trong các cơ sở dữ liệu giao tác, cơ sở dữ liệu quan hệ, và những kho thông tin khác.
2.1.2. Các khái niệm cơ bản
- Gọi I = {I
1
, I
2,
, I
m
} là tập m thuộc tính riêng biệt, mỗi thuộc tính gọi là một mục.
- Gọi D là một cơ sở dữ liệu chứa n giao dịch, trong đó mỗi bản ghi Ti là một giao
dịch và chứa các tập mục, X  I:
Định nghĩa 2.1:
Độ hỗ trợ của X, ký hiệu support(X), là tỷ lệ phần trăm của các giao dịch hỗ trợ X
trên tổng các giao dịch trong D, nghĩa là:

| { / } |
( )
| |
T D X T
support X

D
 

Hay

( )
Tong so luong giao dich ho tro X
support X
Tong so giao dich


Định nghĩa 2.2:
Một luật kết hợp có dạng R: X

Y, trong đó X, Y là tập các mục, X, Y  I và X
Y = .
 X được gọi là tiên đề .
 Y được gọi là hệ quả của luật.
Định nghĩa 2.3:
Độ hỗ trợ (support) của luật kết hợp X

Y là tỷ lệ phần trăm giữa số lượng các
giao dịch chứa cả X và Y
( )
X Y

với tổng số các giao dịch có trong cơ sở dữ liệu. Đơn vị
tính %.

Tong so luong giao dich ho tro X Y

support
Tong so giao dich


Định nghĩa 2.4:
10





Độ tin cậy (confidence) là tỷ lệ phần trăm giữa số lượng các giao dịch chứa cả X và
Y
( )
X Y

với số giao dịch có chứa X. Đơn vị tính %.
Tong so luong giao dich ho tro X Y
confidence
So luong giao dich ho tro X



Ý nghĩa của độ hỗ trợ và độ tin cậy:
 Độ hỗ trợ của luật biểu diễn "sức mạnh" của luật. Luật có ảnh hưởng như thế nào
trong toàn bộ hệ thống.
 Độ tin cậy biểu diễn mức độ "đúng" của quy tắc X

Y
Việc khai phá 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 lớn hơn ngưỡng của độ 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à minsupp và minconf.
Định nghĩa 2.5:
Cho một tập mục X  I và một ngưỡng hỗ trợ tối thiểu minsupp (được cho bởi người
sử dụng). Tập mục X gọi là một tập mục phổ biến (Frequent Itemset hay Large Itemset) với
độ hỗ trợ tối thiểu minsupp khi và chỉ khi support(X)>=minsupp.
2.1.3. Một số dạng luật kết hợp
2.1.3.1. Luật kết hợp và định lượng
Boolean: Luật liên quan đến mối kết hợp giữa sự có xuất hiện và không xuất hiện
của các phần tử (ví dụ “có mua A" hoặc “không có mua A")
Định lượng: Luật liên quan đến mối kết hợp giữa các phần tử hay thuộc tính định
lượng.
tuổi=30 39, thu nhập=42 48K

mua=PC [1%, 75%]
2.1.3.2. Luật kết hợp nhiều chiều
Một cấp: Mối kết hợp giữa các phần tử hay thuộc tính của cùng một cấp khái niệm
(ví dụ cùng một cấp của hệ thống phân cấp)
Bia, Khoai tây chiên

Bánh mì [0.4%, 52%]
Nhiều cấp: Mối kết hợp giữa các phần tử hay thuộc tính của nhiều cấp khái niệm
khác nhau (ví dụ nhiều cấp của hệ thống phân cấp)
Bia:Karjala, Khoai tây chiên:Estrella:Barbeque

Bánh mì [0.1%, 74%]
11






2.1.4. Tối ưu luật
2.2. Một số thuật toán khai phá luật kết hợp
2.2.1. Thuật toán khai phá luật kết hợp tuần tự
2.2.1.1. Thuật toán Apriori
Apriori là thuật toán khai phá luật kết hợp do RaKesh Agrawal, Tomasz Imielinski,
Anin Sawami đưa ra vào năm 1993, là nền tảng cho việc phát triển những thuật toán sau
này. Thuật toán sinh tập mục ứng cử từ những tập mục phổ biến ở bước trước, sử dụng kĩ
thuật “tỉa” để bỏ đi tập mục ứng cử không thỏa mãn ngưỡng hỗ trợ cho trước. Thuật toán
được trình bày chi tiết trong [7].
2.2.1.2. Thuật toán Apriori - TID
Tương tự thuật toán Apriori, thuật toán Apriori-TID cũng sử dụng tập phổ biến (k-1)
phần tử để tạo ra các tập mục ứng cử k phần tử trước khi bắt đầu mỗi giai đoạn.
Điểm khác nhau chủ yếu của thuật toán này so với thuật toán Apriori là: nó không sử
dụng cơ sở dữ liệu để tính độ hỗ trợ trong các giai đoạn k > 1. Thay vào đó nó sử dụng mã
khóa của các tập mục ứng cử đã sử dụng trong giai đoạn trước [7].
2.2.1.3. Thuật toán Apriori - Hybrid
Thuật toán này dựa vào ý tưởng “không cần thiết phải sử dụng cùng một thuật toán
cho tất cả các giai đoạn lên trên dữ liệu”. Như đã đề cập ở trên, thuật toán Apriori thực thi
hiệu quả ở các giai đoạn đầu, thuật toán Apriori-TID thực thi hiệu quả ở các giai đoạn sau.
Phương pháp của thuật toán Apriori-Hybrid là sử dụng thuật toán Apriori ở các giai đoạn
đầu và chuyển sang sử dụng thuật toán Apriori-TID ở các giai đoạn sau, được trình bày chi
tiết trong [7].
2.2.1.4. Thuật toán FP-Growth
Thuật toán được trình bày chi tiết trong [8].
Ý tưởng: Dùng đệ quy để gia tăng độ dài của mẫu phổ biến dựa trên cây FP-Tree và
các mẫu được phân hoạch.
Phương pháp thực hiện:
12






o Với mỗi phần tử phổ biến trong Header Table, xây dựng cơ sở điều kiện và
cây điều kiện của nó.
o Lặp lại tiến trình trên với mỗi cây điều kiện mới được tạo ra.
o Cho tới khi cây điều kiện được tạo ra là cây rỗng hoặc chỉ bao gồm một đường
đi đơn thì ngừng. Mỗi tổ hợp con các phần tử trên đường đi đơn được tạo ra sẽ
là một tập phổ biến.
Với phương pháp này, việc xây dựng cây FP-Tree chỉ cần hai lần duyệt cơ sở dữ liệu
và phương pháp này được đánh giá là một phương pháp nhanh, hiệu quả.
2.2.2. Thuật toán khai phá luật kết hợp song song
2.2.2.1. Thuật toán Count Distribution (CD)
Thuật toán sử dụng kiến trúc không chia sẻ, mỗi bộ xử lý có một bộ xử lý chính và
bộ nhớ phụ riêng. Các bộ xử lý này được kết nối với nhau bởi một mạng truyền thông và có
thể được truyền thông tin cho nhau bằng việc truyền thông điệp. Dựa trên mô hình song
song dữ liệu, dữ liệu được phân hoạch cho các bộ xử lý, mỗi bộ xử lý thực thi công việc
giống như thuật toán Apriori tuần tự nhưng thông tin bởi các bộ xử lý trên các phân hoạch
dữ liệu của nó.
2.2.2.2. Thuật toán Data Distribution (DD)
Trong thuật toán DD, cơ sở dữ liệu D được phân hoạch thành {D1, D2,…, Dp} nên
mỗi bộ xử lý làm việc với một tập dữ liệu không đầy đủ, do đó việc trao đổi dữ liệu giữa các
bộ xử lý là cần thiết. Ngoài ra, các tập mục ứng cử cũng được phân hoạch và phân bố cho
tất cả các bộ xử lý, mỗi bộ xử lý làm việc với tập mục ứng cử khác nhau.
2.2.2.3. Thuật toán Candidate Distribution
Thuật toán Candidate Distribution thực hiện phân hoạch cả dữ liệu lẫn các tập mục
ứng cử. Theo cách này, mỗi bộ xử lý có thể xử lý độc lập. Trong giai đoạn m (m là giá trị
heuristic), thuật toán này chia các tập mục phổ biến L

m-1
cho các bộ xử lý sao cho mỗi bộ xử
lý P
i
có thể sinh ra một C
p
i
(p > m) duy nhất độc lập với các bộ xử lý khác (C
p
i


C
p
j
= Ø,
i≠j).
13





Trong cùng một thời điểm, dữ liệu được phân chia lại sao cho một bộ xử lý có thể
sinh các tập mục ứng cử trong C
p
i
một cách độc lập với tất cả các bộ xử lý khác. Tùy vào
tính tối ưu của việc phân chia tập mục, một số phần cơ sở dữ liệu có thể có các bản sao trên
một số bộ xử lý.

2.2.2.4. Thuật toán song song FP-Growth
Dựa vào thuật toán Fp-Tree tuần tự được trình bày trong [8]. Thuật toán này, ta xây
dựng một số Fp-Tree cục bộ trong môi trường bộ nhớ phân tán và sử dụng mô hình “Chủ -
Tớ”. Dựa trên chiến lược lập lịch làm việc động trong giai đoạn hợp nhất các mẫu điều kiện
cơ sở và giai đoạn khai phá để cân bằng khối lượng công việc trong quá trình thực thi.
Quá trình khai phá tập mục phổ biến song song gồm hai bước chính:
 Xây dựng song song cây FP-Tree.
 Khai phá song song và sinh tập mục phổ biến.
2.2.3. Thuật toán khai phá luật kết hợp phân tán
2.2.3.1. Thuật toán khai phá luật kết hợp phân tán nhanh (FDM)
Thuật toán được trình bày chi tiết trong [9].
Cho cơ sở dữ liệu DB chứa D giao dịch, giả sử có một hệ thống phân tán gồm n điểm
S
1
, S
2
,…,S
n
và DB được phân mảnh vào n điểm đó {DB
1
, DB
2
,…, DB
n
}, mỗi DB
i
có D
i

giao dịch. Cho một ngưỡng hỗ trợ tối thiểu s, nhiệm vụ của thuật toán là tìm tất cả tập phổ

biến toàn cục L, trong đó L
k
là tập phổ biến toàn cục k phần tử.
2.2.3.2. Thuật toán khai phá luật kết hợp phân tán DMAR
Thuật toán DMAR được trình bày chi tiết trong [10].
Thuật toán DMAR cho việc khai phá luật kết hợp phân tán sử dụng kỹ thuật meta-
learning. Đó là khai phá các tập phổ biến cục bộ mà chúng được sử dụng như là siêu tri thức
tại mọi điểm trong hệ thống phân tán và tạo ra các tập ứng cử phổ biến toàn cục từ những
siêu tri thức này, sau đó quét cơ sở dữ liệu giao dịch một lần để thu được các tập phổ biến
toàn cục. Thuật toán này có hiệu năng khai phá cao hơn và yêu cầu số lượng các giao tiếp
thông điệp ít hơn.
14





Chương 3 – MỘT SỐ TÍNH CHẤT CỦA LUẬT KẾT HỢP
3.1. Các khái niệm cơ bản của hệ khai thác dữ liệu
3.1.1. Hệ tin
Định nghĩa 3.1 Hệ tin
Hệ tin là bộ bốn thành phần S = (U, A, V, f). Trong đó:
- U = {o
1
, o
2
, o
m
}, m


1, được gọi là tập các đối tượng, hay vũ trụ
(Universe).
- A = {A
1
, A
2
, A
n
}, n

1 là tập các thuộc tính, mỗi thuộc tính a

A có miền
trị (Domain(a)) là V
a
;
- V =

V
a
là miền trị của các thuộc tính;
- Hàm f : U

A  V thoả mãn điều kiện f (o, a)

V
a
được gọi là hàm thông
tin.
Lưu ý:

Đôi khi để cho tiện ta có thể viết hệ tin S = (U, A). Với V, f coi như xác định.
Trong nhiều tài liệu các tác giả thường viết a(o) = v thay cho f(o, a) = v.
3.1.2. Hệ khai thác dữ liệu
Định nghĩa 3.1.
Hệ khai thác dữ liệu là hệ tin S = (O, I, V, f). Trong đó:
Tập O = {o
1
, o
2
, , o
m
} được gọi là tập các hóa đơn.
Tập I = {i
1
, i
2
, , i
n
} được gọi là tập các mục (ItemSet). Tập V = {0, 1}.
Giá trị f (o
j
, i
k
) =1 cho ta biết hóa đơn o
j
chứa mặt hàng i
k
và f (o
j
, i

k
) = 0 nếu hóa đơn
o
j
không chứa mặt hàng i
k
.
3.1.3. Độ phổ biến (hay độ hỗ trợ) của tập mục X
3.1.3.1. Độ phổ biến
Cho hệ S = (O, I, V, f); X

I.
Định nghĩa 3.2.
15





Độ phổ biến(hay độ hộ trợ) của tập hàng X, ký hiệu support (X) là tỷ số giữa số các
hóa đơn chứa X trên số tất cả hóa đơn. Gọi d(X) là tập hóa đơn chứa X, |O| là số các hóa
đơn khi đó ta có
Support(X) =
|O|
)(Xd

Trong khai thác dữ liệu họ {X

I : support(X)




} được gọi là các tập phổ biến
với ngưỡng

, gọi tắt là các tập phổ biến.
Đặt FS(

) là họ các tập X mà support (X)



. Hay
FS(

) = {X

I : support(X)



}.
3.1.3.2 Thuật toán tìm các tập phổ biến
Cho hệ khai thác dữ liệu S = (O, I, V, f).
Thuật toán Apriori tìm hết các tập phổ biến với ngưỡng minsupp FS(minsupp) = {X

I : support(X)

minsupp}.
Thuật toán

Input S = (O, I, V, f); minsupp
Output FS(minsupp) = {X

I: support(X)

minsupp}.
Algorithm
Thuật toán được tiến hành qua hai pha:
- Pha 1: tìm các tập phổ biến một phần tử F
1
:
F
1
= {X

I:
X
= 1 & support(X)

minsupp}.
- Pha 2: Tìm F
k
có k phần tử được tổ hợp từ 2 phần tử của F
k-1
:
F
k
= {X

I:

X
= k & X = Y

Z
trong đó Y, Z

F
k-1
& support(X)

minsupp}
Với k = 2, 3, Thuật toán sẽ dừng khi F
k
= rỗng
Tập tất cả các tập phổ biến FS(minsupp) = F
1


F
2




F
k-1

3.1.4. Luật kết hợp
3.1.4.1. Luật kết hợp
Cho hệ S = (O, I, V, f); X, Y


I.
16





Định nghĩa 3.3.
Luật kết hợp của X và Y ký hiệu X

Y là luật chỉ khả năng xuất hiện của Y khi X
xuất hiện.
3.1.4.2. Định nghĩa độ tin cậy của luật kết hợp
Cho hệ S = (O, I, V, f); X, Y

I
Định nghĩa 3.4.
Độ tin cậy của luật X

Y trong hệ S, ký hiệu CF
S
(X

Y) là đại lượng chỉ khả
năng xuất hiện của Y khi X xuất hiện . Độ tin cậy được tính theo công thức:
CF
S
(X


Y) =
support (X Y)
support (X)

.
3.1.4.3. Luật quan trọng
Cho hệ S = (O, I, V, f), minconf

(0,1], X, Y

I.
Định nghĩa 3.5.
Luật X

Y được goi là luật quan trọng (hay luật tin cậy) trong S với ngưỡng
minconf nếu CF
S
(X

Y)

minconf.
3.1.4.4. Thuật toán tìm luật quan trọng
Luật kết hợp tin cậy hay luật quan trọng: Một luật được xem là tin cậy nếu độ tin
cậy confidence của nó lớn hơn hoặc bằng một ngưỡng minconf ]1,0(

nào đó do người dùng
xác định. Ngưỡng minconf phản ánh mức độ xuất hiện của Y khi cho trước X.
Thuật toán tìm luật quan trọng
Input: S = (O, I, V, f) là hệ toàn cục; minsup, minconf


(0,1]
Output: Các luật quan trọng (X

Y) mà CF
S
(X

Y)

minconf
Algorithm
1. Tìm các tập phổ biến với ngưỡng minsupp X, Y

I: sup
S
(X) ≥ minsupp, sup
S
(Y)
≥ minsupp.
2. Tìm các luật quan trọng (X

Y) mà CF
S
(X

Y)

minconf.
Hầu hết các thuật toán khai phá luật kết hợp thường chia thành hai pha:

17





- Pha 1: Tìm tất cả các tập mục phổ biến từ cơ sở dữ liệu tức là tìm tất cả các tập
mục X thỏa mãn support(X) ≥ minsupp.
- Pha 2: Sinh các luật tin cậy từ các tập phổ biến đã tìm thấy ở pha 1.
Nếu X là một tập mục phổ biến nhiều hơn 1 phần tử thì các luật kết hợp được sinh từ
X có dạng:
X’  X \ X’; trong đó:
X’ là tập con khác rỗng của X.
X\X’ là hiệu của hai tập hợp X và X’ và conf(X’  X\X’) ≥ minconf.
3.2. Một số tính chất của tập phổ biến trong hệ S = (O, I, V, f)
Tính chất 3.1:
Nếu A  B, A, B là các tập mục thì support(A) ≥ support(B)
Tính chất 3.2:
Một tập mục A không phải tập phổ biến với ngưỡng tối thiểu minsupp nghĩa là
support(A) < minsupp thì mọi tập cha B của A sẽ không phải là tập mục phổ biến.
Tính chất 3.3:
Nếu tập mục B là một tập mục phổ biến, nghĩa là support(B) ≥ minsupp thì mọi tập
con A của B đều là tập phổ biến.
Tính chất 3.4: (Không hợp luật kết hợp)
Nếu luật X

Z và Y

Z là luật quan trọng trong S thì không nhất thiết luật X



Y

Z cũng là luật quan trọng trong S.
Tính chất 3.5: (Không tách luật)
Nếu luật X  Y

Z là luật quan trọng trong S thì X

Z và Y

Z chưa chắc xảy
ra.
Tính chất 3.6: (Các luật kết hợp không có tính bắc cầu)
Nếu X

Y và Y

Z, chúng ta không thể suy ra X

Z.
Tính chất 3.7:
Nếu luật X

(L - X) không thỏa mãn độ tin cậy tối thiểu thì không có luật nào
trong các luật Y

(L – Y) có độ tin cậy tối thiểu, trong đó Y  X; X,Y  L.
18






3.3. Một số tính chất của tập phổ biến và luật kết hợp trong hệ phân tán ngang
3.3.1. Hệ phân tán ngang
Giả sử ta có hệ khai thác dữ liệu S = (O, I, V, f). S được tách ngang thành m hệ thống
con S
1
, S
2
, …, S
m
. Với S
j
= (O
j
, I, V, f
j
) ; O =

O
j
; O
i
 O
j
=  với mọi i ≠ j và f
j
là co của

f trên O
j
×I, hay f
j
: O
j
x I  V sao cho f
j
(o, i) = f(o, i). Sau đây ta sẽ viết f thay cho f
j
.
Vậy
S = (O, I, V, f) với O = {o
1
, o
2
, , o
M
}, I = {i
1
, , i
n
}, V = {0, 1}, hàm f: O x I  V;
f(o, i
k
) =1 nếu hóa đơn o có chứa i
k
ngược lại f(o, i
k
) = 0.

Hệ S = (O, I, V, f) ta sẽ gọi là hệ tập trung toàn cục.
Mỗi S
j
= (O
j
, I, V, f
j
) là một hệ con hay một trạm.
Thí dụ 3.3:
Xét S = (O, I, V, f) với O = {o
1
, o
2
, o
3
, o
4
, o
5
, o
6
, o
7
, o
8
}; I = {i
1
, i
2
, i

3
, i
4
, i
5
, i
6
}; V =
{1, 0} và f cho như trong bảng như sau:
Bảng 3.10 – Bảng biểu diễn tập hóa đơn toàn hệ thống S

i
1
i
2
i
3
i
4
i
5
i
6

o
1
1 1 1 1 1 1
o
2
1 1 0 0 1 1

o
3
1 1 0 1 1 0
o
4
1 0 1 0 0 0
o
5
1 0 1 1 0 1
o
6
1 0 0 0 0 1
o
7
1 1 0 0 0 0
o
8
1 1 0 0 0 0

Ta có thể tách ngang S thành S
1
, S
2
, S
3
như sau:
S
1
= ({o
1

, o
2
}, I, V, f) = (O
1
, I, V, f) với f: O
1
×I  V

19





Bảng 3.11 – Bảng biểu diễn tập hóa đơn trạm S
1
i
1
i
2
i
3
i
4
i
5
i
6

o

1
1 1 1 1 1 1
o
2
1 1 0 0 1 1

S
2
= ({o
3
, o
4
, o
5
}, I, V, f) = (O
2
, I, V, f) với f: O
2
×I  V
Bảng 3.12 – Bảng biểu diễn tập hóa đơn trạm S
2
i
1
i
2
i
3
i
4
i

5
i
6

o
3
1 1 0 1 1 0
o
4
1 0 1 0 0 0
o
5
1 0 1 1 0 1

S
3
= ({o
6
, o
7
, o
8
}, I, V, f) = (O
3
, I, V, f) với f: O
3
×I  V
Bảng 3.13 – Bảng biểu diễn tập hóa đơn trạm S
3
i

1
i
2
i
3
i
4
i
5
i
6

o
6
1 0 0 0 0 1
o
7
1 1 0 0 0 0
o
8
1 1 0 0 0 0
3.3.2. Một số kết quả
Cho S = (O, I, V, f) là hệ tập trung toàn cục; |O| = M. Ta tách ngang S thành m trạm
S
j
= (O
j
, I, V, f); j = 1, 2, , m và mỗi trạm có số hóa đơn là |O
j
| =M

j
. Các trạm con sẽ là S
j

= (O
j
, I, V, f) với j = 1, 2, , m.
Tính chất 3.8.
Nếu X là tập phổ biến trong hệ S = (O, I, V, f) thì tồn tại ít nhất một trạm S
j
mà trong
S
j
, X là tập phổ biến.
Tính chất 3.9.
20





Nếu X không là tập phổ biến trong bất kỳ trạm S
j
= (O
j
, I, V, f) nào với ngưỡng
minsupp =  thì X không là tập phổ biến trong S= (O, I, V, f) toàn cục với ngưỡng minsupp
đó.
Tính chất 3.10.
Cho hệ S = (O, I, V, f). Với mọi tập mục X


I ta luôn có bất đẳng thức:
sup
S
(X) <
1
sup (X)
m
Sj
j


Tính chất 3.11.
Cho hệ S = (O, I, V, f). Với mọi cặp X, Y

I ta luôn có bất đẳng thức:
CF
S
(X

Y) < Y) X (
1



m
j
Sj
CF
Tính chất 3.12.

Cho S = (O, I, V, f) là hệ toàn cục, X, Y I

. Nếu X

Y là luật quan trọng trong S
với ngưỡng minconf thì tồn tại ít nhất một trạm S
j
= (O
j
, I, V, f) để trong S
j
luật X


Y là
luật quan trọng với ngưỡng minconf.
Tính chất 3.13.
Cho S = (O, I, V, f) là hệ toàn cục; X, Y I

. Nếu X


Y không là luật quan trọng
với ngưỡng minconf trong bất kỳ trạm S
j
nào thì luật X


Y không là luật quan trọng với
ngưỡng minconf trong S.

3.3.3. Đánh giá.
Bộ dữ liệu kiểm thử là cơ sở dữ liệu ngân hàng với 11 thuộc tính và số lượng giao
dịch là 600.
Qua kiểm thử ta thấy phần lớn các luật xuất hiện trong hệ tập trung thì cũng xuất hiện
trên các trạm con tuy nhiên cũng có thể xảy trường hợp độ hỗ trợ và độ tin cậy không đảm
bảo đồng thời cùng xuất hiện trên một trạm S
j
nào đó.
21





KẾT LUẬN
Sau một thời gian tìm hiểu, nghiên cứu đến nay luận văn “MỘT SỐ TÍNH CHẤT CỦA
LUẬT KẾT HỢP TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN NGANG” đã được hoàn thành. Về cơ
bản luận văn đáp ứng được các nội dung đã đăng ký trong đề cương. Cụ thể luận văn đã đạt
được một số kết quả chính sau:
 Tìm hiểu khái quát một số thuật toán khai phá luật kết hợp.
 Phát biểu bài toán hệ khai thác dữ liệu thực chất là một hệ tin.
 Đúc kết được các tính chất của các tập phổ biến trong hệ tập trung.
 Đề xuất và phát hiện, chứng minh một số các tính chất của tập phổ biến, luật kết
hợp trong cơ sở dữ liệu tập trung và phân tán ngang.
Do thời gian có hạn nên luận văn không thể tránh được các thiếu sót, các mặt còn hạn
chế chẳng hạn như:
 Chưa có kiểm thử các tính chất tìm được trên dữ liệu thực tế hoặc một cơ sở dữ
liệu lớn.
 Chưa có đề xuất cài đặt hoặc cải tiến các thuật toán khai phá luật kết hợp đã có
dựa trên các tính chất tìm được.

 Số tính chất nghiên cứu được còn hạn chế.
22





HƯỚNG NGHIÊN CỨU TIẾP THEO
Với việc có nhiều nghiên cứu, đề xuất được thử nghiệm và ứng dụng thành công vào
cuộc sống đã chứng tỏ KPDL nói chung, khai phá luật kết hợp nói riêng là một lĩnh vực
nghiên cứu ổn định có nền tảng lý thuyết vững chắc thu hút được nhiều sự quan tâm.
Do thời gian có hạn nên luận văn còn nhiều hạn chế, trong tương lai có thể phát triển
và mở rộng theo các định hướng sau:
- Nghiên cứu và nêu tiếp các tính chất, công thức ràng buộc giữa các độ đo phổ biến,
độ tin cậy của luật trong môi trường phân tán và môi trường tập trung.
- Đề xuất, cải tiến thuật toán khai phá luật kết hợp dựa trên những tính chất tìm được.
- Cài đặt so sánh thời gian thực hiện tìm tập phổ biến, luật kết hợp trong môi trường
tập trung và môi trường phân tán.

23





×