Tải bản đầy đủ (.doc) (69 trang)

Một số kỹ thuật khai phá luật kết hợp có bảo đảm tính riêng tư trong các tập giao dịch 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 (969.37 KB, 69 trang )

1

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CNTT VÀ TRUYỀN THÔNG
------------------ o0o------------------

Họ và tên tác giả: Nguyễn Thị Thùy

MỘT SỐ KỸ THUẬT KHAI PHÁ LUẬT KẾT HỢP CÓ
BẢO ĐẢM TÍNH RIÊNG TƯ TRONG CÁC TẬP GIAO DỊCH
PHÂN TÁN NGANG

LUẬN VĂN THẠC SỸ KHOA HỌC

Thái Nguyên – 2014


2

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CNTT VÀ TRUYỀN THÔNG

Họ và tên tác giả: Nguyễn Thị Thùy

MỘT SỐ KỸ THUẬT KHAI PHÁ LUẬT KẾT HỢP CÓ
BẢO ĐẢM TÍNH RIÊNG TƯ TRONG CÁC TẬP
GIAO DỊCH PHÂN TÁN NGANG
Chuyên ngành: Khoa học máy tính

Mã số: 60 48 01


LUẬN VĂN THẠC SỸ KHOA HỌC

NGƯỜI HƯỚNG DẪN KHOA HỌC
TS. TRẦN ĐỨC SỰ

Thái Nguyên - 2014


3

LỜI CAM ĐOAN

Những kết quả nghiên cứu được trình bày trong luận văn là hoàn toàn
trung thực, không vi phạm bất cứ điều gì trong luật sở hữu trí tuệ và pháp luật
Việt Nam. Nếu sai, tôi hoàn toàn chịu trách nhiệm trước pháp luật.

TÁC GIẢ LUẬN VĂN

Nguyễn Thị Thùy


4

LỜI CẢM ƠN

Trước hết, tôi xin bày tỏ lòng cảm ơn chân thành tới thầy giáo,TS. Trần
Đức Sự, người tận tình hướng dẫn tôi trong suốt thời gian làm luận văn tốt
nghiệp.
Tôi xin cảm ơn các thầy, cô giáo ở khoa Công nghệ thông tin trường
Đại học CNTT và truyền thông - Đại học Thái Nguyên đã giảng dạy tôi trong

suốt thời gian học tập tại trường và tạo điều kiện giúp đỡ tôi hoàn thành luận
văn này.
Cảm ơn các bạn bè, đồng nghiệp đã cổ vũ động viên tôi trong suốt quá
trình học tập tại trường.
Tuy đã có những cố gắng nhất định nhưng do thời gian và trình độ có
hạn nên chắc chắn luận văn này còn nhiều thiếu sót và hạn chế nhất định.
Kính mong nhận được sự góp ý của thầy cô và các bạn.


5

MỤC LỤC
Bảng 1.1. Ví dụ về mô hình dữ liệu phân tán ngang....................................8
Bảng 1.2. Ví dụ về mô hình dữ liệu phân tán dọc........................................9
MỘT SỐ PHƯƠNG PHÁP TÌM LUẬT KẾT HỢP.............................................14
2.3. Thuật toán khai phá luật kết hợp phân tán..........................................19
2.3.1. Thuật toán khai phá luật kết hợp phân tán nhanh(FDM).................19
Bảng 2.1. Các tập phổ biến....................................................................... 22
Bảng 3.1 So sánh 2 phương pháp Secure Sum và Two Mixer Sum..............49


6

DANH MỤC CÁC TỪ VIẾT TẮT

A.sup:

Ðộ hỗ trợ toàn cục của itemset A (tính theo số lần xuất hiện)

A.supi:


Ðộ hỗ trợ cục bộ của itemset A tại site i (tính theo số lần xuất
hiện)

conf:

Ðộ tin cậy (toàn cục) tối thiểu

CSDL:

Cơ sở dữ liệu

DB:

Cơ sở dữ liệu tập trung hay toàn cục

DBi:

Cơ sở dữ liệu cục bộ tại site i

FI:

Tập itemset phổ biến

FIi:

Tập itemset phổ biến cục bộ tại site i

KTDL:


Khai thác dữ liệu

MFI:

Tập itemset tối đại

MFIi:

Tập itemset tối đại cục bộ tại site i

Public key:

Khoá công khai

Private key:

Khoá bí mật

SMC:

Các giao thức tính toán đa thành viên an toàn

sup:

Ðộ hỗ trợ (toàn cục) tối thiểu (tính theo tần số %)

SUP:

Ðộ hỗ trợ (toàn cục) tối thiểu (tính theo số lần xuất hiện)


Trusted-party: Thành viên thứ 3 đáng tin cậy


7

DANH MỤC CÁC BẢNG

Bảng 1.1. Ví dụ về mô hình dữ liệu phân tán ngang....................................8
Bảng 1.2. Ví dụ về mô hình dữ liệu phân tán dọc........................................9
Bảng 2.1. Các tập phổ biến....................................................................... 22
Bảng 3.1 So sánh 2 phương pháp Secure Sum và Two Mixer Sum..............49


8

DANH MỤC CÁC HÌNH VẼ
Hình 1.1. Quá trình khai phá luật kết hợp trên CSDL tập trung....................7
Hình 1.3. Mô hình tính toán SMC.............................................................12
Hình 2.1. CSDL giao dịch........................................................................... 14
Hình 2.2. Quá trình tìm tập phổ biến........................................................15
Hình 3.1. SecureSum(): Tính tổng bảo mật các Vi (0 ≤ i ≤ M-1)...................29
Hình 3.2a. Giai đoạn 1 của ví dụ sử dụng SecureSum................................30
Hình 3.2b. Giai đoạn 2 của ví dụ về sử dụng SecureSum............................30
Hình 3.3. Một ví dụ minh họa CRDM........................................................33
Hình 3.4. Giai đoạn 1, tìm itemset ứng viên chung....................................38
Hình 3.5. Giai đoạn 2, tính độ hỗ trợ toàn cục..........................................40
Hình 3.6. Giao thức sử dụng Semi-trusted-mixer......................................41
Hình 3.7. Giai đoạn 1 ví dụ về thuật toán Two – MixerSum.......................46
Hình 3.8. Giai đoạn 2 ví dụ về thuật toán Two – MixerSum.......................46
Hình 3.9. Giao diện chính của chương trình..............................................51

Hình 3.10. Tiến trình thử nghiệm của chương trình..................................52
Hình 3.11. Giao diện kết quả chương trình...............................................52
Hình 3.12. Giao diện chương trình...........................................................55
Hình 3.13 Tiến trình thử nghiệm..............................................................55
Hình 3.14. Kết quả chương trình..............................................................56


1

MỞ ĐẦU
Khai phá luật kết hợp là một trong các phương pháp quan trọng trong
khai phá dữ liệu. Việc khai phá luật kết hợp thường được thực hiện trên các
cơ sở dữ liệu giao dịch của người dùng được giữ trong các tổ chức, ví dụ các
giao dịch mua hàng tại siêu thị, các giao dịch tài chính tại ngân hàng ….
Các ngân hàng rất muốn tìm kiếm khả năng thanh toán nợ của khách
hàng, họ cần hợp tác với nhau để tìm ra khả năng này thông qua một số đặc
tính nào đó của khách hàng của họ tuy nhiên họ không thể giao dữ liệu khách
hàng của họ cho các ngân hàng khác được có thể vì lí do cạnh tranh khách
hàng, của luật bảo vệ thông tin người dùng. Do đó nhu cầu tìm kiếm các luật
kết hợp trên dữ liệu phân tán có đảm bảo tính riêng tư là một nhu cầu thiết
yếu và cấp bách.
Các giải pháp khai phá luật kết hợp có đảm bảo tính riêng tư ra đời là
hết sức cần thiết, để cho phép thực hiện việc khai phá luật kết hợp trong khi
vẫn bảo vệ được thông tin riêng tư. Do đó việc nghiên cứu, tìm hiểu các thuật
toán khai phá luật kết hợp có đảm bảo tính riêng tư để tích hợp cho các ứng
dụng là có tính thực tiễn cao.
Xuất phát từ thực tiễn trên, mục đích của đề tài là nghiên cứu đánh giá
“Một số kỹ thuật khai phá luật kết hợp có bảo đảm tính riêng tư trong
các tập giao dịch phân tán ngang”.
Nội dung bao gồm 3 chương và phần mở đầu, phần kết luận với nội

dung cụ thể như sau:
Chương 1: Tổng quan về khai phá luật kết hợp có đảm bảo tính riêng tư.
Trong chương 1 sẽ trình bày khái quát chung về vấn đề khai phá dữ liệu
có đảm bảo tính riêng tư, vấn đề khai phát luật kết hợp có đám bảo tính riêng


2

tư với dữ liệu tập trung và trên các hệ thống phân tán, một số tiêu chí đánh
giá.
Chương 2: Một số phương pháp khai phá luật kết hợp.
Ở chương 2 chúng ta sẽ tìm hiểu về một số phương pháp tìm luật kết
hợp, khai phá luật kết hợp trong dữ liệu phân tán.
Chương 3: Một số thuật toán khai phá luật kết hợp có đảm bảo tính riêng tư
trong môi trường phân tán ngang.
Chương này sẽ tập chung nghiên cứu về một số thuật toán khai phá luật
kết hợp có đảm bảo tính riêng tư trong môi trường phân tán ngang. Trong đó
tập trung vào 2 thuật toán chính là: Phương pháp dựa trên tổng bảo mật chống
lại sự thông đồng và phương pháp tiếp cận theo hướng FI. Đồng thời trình bày
đề mô thuật toán Secure Sum và cải tiến thuật toán.


3

Chương 1
TỔNG QUAN VỀ KHAI PHÁ LUẬT KẾT HỢP
CÓ ĐẢM BẢO TÍNH RIÊNG TƯ
1.1. Một số khái niệm cơ bản
1.1.1. Khai phá dữ liệu
Khai phá dữ liệu (KPDL) là các kỹ thuật để rút trích tri thức từ lượng

dữ liệu lớn và được xem là giai đoạn chính trong quá trình khám phá tri thức.
KPDL được ứng dụng trong nhiều lĩnh vực như tiếp thị, kinh doanh, khám
phá khoa học, công nghệ sinh học, tìm kiếm trên Internet, giải trí đa phương
tiện, …
Với lượng dữ liệu gia tăng nhanh chóng thì KPDL là một công cụ hữu
ích để rút trích những thông tin có ích từ dữ liệu, tuy nhiên trong các lĩnh vực
đặc thù như y khoa, bảo hiểm, ngân hàng… có chứa dữ liệu và thông tin nhạy
cảm, không cho phép tiết lộ dữ liệu và thông tin nhạy cảm này do đó gây khó
khăn cho quá trình khai thác, từ đó đòi hỏi cần có các nghiên cứu để có thể
khai phá dữ liệu nhưng không ảnh hưởng đến tính riêng tư của dữ liệu.
1.1.2. Tính riêng tư
Tính riêng tư là tính chất của các dữ liệu nhạy cảm như: định danh, tên,
địa chỉ, điện thoại, thu nhập,… của các cá nhân, một số số liệu thống kê các tổ
chức, doanh nghiệp… Các thông tin này là bí mật kinh doanh, mà nếu để lộ ra
sẽ gây bất lợi cho cá nhân, tổ chức,... hay những thông tin do quy định của
pháp luật nên không thể tiết lộ ra như bảo hiểm y tế, số tài khoản ngân hàng,...
Những loại thông tin như trên gọi là những thông tin có tính riêng tư hay là tri
thức nhạy cảm.
1.1.3. Khai phá dữ liệu đảm bảo tính riêng tư
Vậy khai phá dữ liệu có đảm bảo tính riêng tư là việc dùng các thuật
toán để trích rút ra những tri thức quan trọng cần thiết cho mục đích khai phá


4

dữ liệu mà không làm lộ ra các thông tin nhạy cảm của các cá nhân, tổ chức
có trong tập dữ liệu.
1.2. Khai phá luật kết hợp
1.2.1. Luật kết hợp
* Giao dịch: danh sách các mặt hàng (mục:item) trong một phiếu mua

hàng của khách hàng. Giao dịch T là một tập mục.
- Toàn bộ tập các mục I={i1,i2,..ik} “tất cả các mặt hàng”. Một giao dịch
là một tập con của I: T ⊆ I. Mỗi giao dịch T có một định danh TID.
- A là một tập mục A ⊆ I và T là một giao dịch: Gọi T chứa A nếu A ⊆
T.
* Luật kết hợp.
- Gọi A → B là một “luật kết hợp” nếu A ⊆ T, B ⊆ T và A ∩ B=∅.
- Luật kết hợp A→B có độ hỗ trợ (support) s trong CSDL giao dịch D
nếu trong D có s% các giao dịch T chứa AB:chính là xác suất P(AB). Tập
mục A có P(A) ≥s>0 (với s cho trước) được gọi là tập phổ biến (frequent set).
Luật kết hợp A→B có độ tin cậy (confidence) c trong CSDL D nếu như trong
D có c% các giao dịch T chứa A thì cũng chứa B: chính là xác suất P(B│A).
- Support (A→B) = P( ∪ B) :1≥s(A→B)≥0
- confidence (A→B) = P(B│A) :1≥c(A→B)≥0
- Luật A→B được gọi là bảo đảm độ hỗ trợ s trong D nếu s(A→B)≥s.
Luật A → B được gọi là bảo đảm độ tin cậy c trong D nếu c(A→B)≥c.
Độ hỗ trợ (Support)
• Độ hỗ trợ của một tập mục X trong cơ sở dữ liệu D là tỉ số giữa các
giao tác T



D có chứa tập X là tổng số giao tác trong D (hay là phần trăm

của các giao tác trong D có chứa tập mục X), kí hiệu là Supp (X).


5

Supp (X)=


{T ∈ D : X

⊂ T}

D

(2.1)

• Ta có 0 ≤ Supp (X) với mọi tập X.
• Hay có thế nói Support chỉ mức độ “thường xuyên xảy ra” của mẫu.
• Độ hỗ trợ của luật X→Y là tỉ số của số giao tác có chứa X ∪ Y và số
giao tác trong cơ sở dữ liệu D, kí hiệu là Supp (X→Y).
Supp (X→Y)=

{T ∈ D : X ∪ Y ⊆ T }
D

(2.2)

• Như vậy độ hỗ trợ của một luật bằng 50% nghĩa là có 50% số giao tác
có chứa tập mục X ∪ Y. Độ hỗ trợ có ý nghĩa thống kê của luật kết hợp.
Độ tin cậy ( Confidence)
• Độ tin cậy của luật kết hợp X →Y là xác suất xảy ra Y khi đã biết X.
Ví dụ độ tin cậy của luật kết hợp {Apple} →Banana} là 80% có nghĩa là 80%
khách hàng mua Apple cũng mua Banana.
• Công thức để tính độ tin cậy của luật kết hợp X là xác suất có điều
kiện Y khi đã biết X như sau :
Confidence(XY) = P(Y|X) =


n( X ∪ Y )
(2.3)
n( X )

Trong đó: n(X) là số giao dịch chứa X
* Một số ví dụ về luật kết hợp.
Ví dụ 1.2.1 80% khách hàng mua tạp chí thể thao thì đều mua tạp chí
về về ô tô =>sự kết hợp giữa tạp chí thể thao với tạp chí về về ô tô . (80% là
độ tin cậy của luật)


6

Ví dụ 1.2.2 Ngân hàng muốn thu thập thông tin về lịch sử tín dụng của
khách hàng thấy có một luật: 75% khách hàng vay mua nhà và mua xe và có
thu nhập hàng tháng dưới 7 triệu thì không có khả năng thanh toán nợ => sự
kết hợp giữa vay mua nhà và mua xe, có thu nhập dưới 7 triệu với khả năng
thanh toán nợ.(75% là độ tin cậy của luật).
Ví dụ 1.2.3 20% trên tổng số khách hàng có tài khoản tiết kiệm có thu
nhập lớn hơn hoặc bằng 60 triệu một năm với độ tin cậy là 100%.
Thu nhập= 60.000.000_max →Tài khoản tiết kiệm= yes [20% ; 100%]
1.2.2. Khai phá luật kết hợp
Khai phá luật kết hợp: là tìm các mẫu phổ biến, sự kết hợp, sự tương
quan, hay các cấu trúc nhân quả giữa các tập đối tượng trong các cơ sở dữ liệu
giao tác được gọi là các luật kết hợp.
Các ứng dụng: Luật kết hợp có ứng dụng trong nhiều lĩnh vực khác
nhau của đời sống như: khoa học, hoạt động kinh doanh, tiếp thị, thương mại,
phân tích thị trường chứng khoán, tài chính và đầu tư,...
Từ các luật kết hợp được trích rút từ chính các cơ sở dữ liệu giao dịch,
cơ sở dữ liệu khách hàng mà các siêu thị, các ngân hàng sẽ có chiến lược kinh

doanh (sắp xếp các mặt hàng, số lượng các mặt hàng,..), chiến lược tiếp thị,
quảng cáo,… để từ đó thúc đẩy hoạt động kinh doanh của mình.
1.3. Các phương pháp khai phá luật kết hợp có đảm bảo tính riêng tư.
Khai phá luật kết hợp có đảm bảo tính riêng tư là quá trình khai phá các
luật kết hợp trong các cơ sở dữ liệu, đồng thời vẫn đảm bảo các thông tin
riêng tư của các cá nhân hoặc tổ chức trong các cơ sở dữ liệu không bị lộ cho
người khai phá.


7

Tuỳ thuộc vào đặc trưng của nguồn dữ liệu, mô hình dữ liệu mà chúng
ta có thể phân chia thành các loại bài toán khai phá luật kết hợp có đảm bảo
tính riêng tư khác nhau:
1.3.1. Khai phá luật kết hợp có đảm bảo tính riêng tư với dữ liệu tập trung
Trong bài toán này, người ta giả thiết có một tổ chức sở hữu tập dữ
liệu, trong tập dữ liệu có một số thuộc tính nhạy cảm. Tổ chức này mong
muốn công bố tập dữ liệu cho mục đích nghiên cứu, ví dụ: khai phá luật kết
hợp, đồng thời mong muốn bảo vệ các thông tin riêng tư trong tập dữ liệu.
Một phương pháp cơ bản để giải quyết bài toán này là thực hiện biến
đổi dữ liệu để ẩn các thông tin nhạy cảm trước khi đưa vào khai thác như vậy
sẽ không tiết lộ thông tin nhạy cảm.

CSDL
Gốc

Biến
đổi

CSDL

Đã biến đổi

KPDL

Tri thức

Hình 1.1. Quá trình khai phá luật kết hợp trên CSDL tập trung
Ví dụ 1.3.1. Một công ty bán hàng muốn nghiên cứu về nhu cầu mua
hàng hoá vào mùa hè sắp tới để có phương pháp huy động vốn và đầu tư mặt
hàng cho phù hợp và hiệu quả. Họ sẽ cung cấp dữ liệu cho chuyên gia để
nghiên cứu, tuy nhiên họ lại không muốn để lộ các thông tin về bán hàng của
họ. Để làm được việc này họ đã biến đổi dữ liệu trước khi chuyển giao cho
việc nghiên cứu.
Ví dụ 1.3.2 Một ngân hàng thực hiện khai phá dữ liệu nghiên cứu về
khả năng thanh toán nợ của khách hàng dựa trên lịch sử tín dụng của khách
hàng trên CSDL của họ. Họ sẽ cung cấp dữ liệu cho chuyên gia để nghiên
cứu, tuy nhiên họ lại không muốn để lộ các thông tin của khách hàng. Để làm
được việc này họ đã biến đổi dữ liệu trước khi chuyển giao cho việc nghiên
cứu.
1.3.2. Khai phá luật kết hợp có đảm bảo tính riêng tư với dữ liệu phân tán


8

1.3.2.1. Khai phá dữ liệu trong mô hình phân tán
Giả thiết rằng tập dữ liệu được phân tán thành nhiều phần theo chiều
ngang hoặc theo chiều dọc trên một nhóm các tổ chức (thành viên), mỗi thành
viên sở hữu một tập dữ liệu riêng. Vấn đề đặt ra là làm thế nào để các tổ chức
có thể chia sẻ tập dữ liệu cho nhau nhằm khai phá ra các luật kết hợp trên tập
dữ liệu liên kết của các thành viên, trong khi vẫn bảo vệ được tính riêng tư

của mỗi thành viên tham gia.
1.3.2.2. Phân tán ngang
Các site khác nhau thu thập cùng các đặc trưng về thông tin của các
thực thể khác nhau. Cũng có thể hiểu là các Site khác nhau nắm giữ cùng các
thuộc tính của các đối tượng khác nhau
Bảng 1.1. Ví dụ về mô hình dữ liệu phân tán ngang
Mô hình toàn cục
Họ tên

Ngày sinh

Nơi sinh

Số điện thoại

Email

10/10/1992

Nghệ An

097994898x



21/12/1992

Hà Nội

098998986x




Site A
ABC
…….
Site B
KHM
……

Ví dụ 1.3.3 Ngân hàng Nhà nước thực hiện khai phá dữ liệu nghiên
cứu về khả năng thanh toán nợ của khách hàng dựa trên lịch sử tín dụng của
khách hàng trên CSDL của các ngân hàng thương mại. Nhưng các ngân hàng
này không muốn để lộ thông tin khách hàng cho các ngân hàng khác. Khi đó
yêu cầu đặt ra là phải thực hiện khai phá luật kết hợp ứng dụng trên CSDL
phân tán ngang đảm bảo tính riêng tư.


9

1.3.2.3. Phân tán dọc
Các site thu thập các đặc trưng khác nhau của cùng tập thực thể, ví dụ:
Bệnh viện thu thập các thông tin về bệnh nhân, các chứng bệnh. Nhà cung cấp
dịch vụ viễn thông cung cấp về thông tin khách hàng, thời gian gọi điện, thời
lượng gọi điện…
Tổng hợp 2 cơ sở dữ liệu này lại để nghiên cứu về một mối tương quan
giữa các bệnh có thể sinh ra do nguyên nhân sử dụng điện thoại di động
Bảng 1.2. Ví dụ về mô hình dữ liệu phân tán dọc
Dữ liệu toàn cục
Họ tên


Số CMT

Thời lượng

Bị u não

Bị viêm tai

Dữ liệu tại hãng viễn thông
Họ tên

Số CMT

Thời lượng(phút)/ngày

Nguyễn Văn A

18613377x

20

………..

Dữ liệu tại bệnh viện
Họ tên

Số CMT

Nguyễn Văn A 18613377x


Bị u não

Bị viêm tai



không

………..

1.3.3. Ẩn các luật nhạy cảm trong khai phá luật kết hợp
Trong quá trình khai phá dữ liệu có thể có những luật nhạy cảm không
muốn bị lộ ra, ví dụ: Trong ngân hàng có một số luật được tìm thấy nhưng lại
rất nhạy cảm, ngân hàng không muốn tiết lộ ra vì nếu tiết lộ ra sẽ làm ảnh


10

hưởng đến khách hàng, hoặc ảnh hưởng đến ngân hàng, giả dụ như khách
hàng sử dụng dịch vụ A và sử dụng dịch vụ B thì thường dẫn đến không có
khả năng thanh toán nợ…
Chính vì lí do đó nên trong bài toán khai phá luật kết hợp có đảm bảo
tính riêng tư chúng ta cần tính đến việc ẩn đi các luật nhạy cảm.
1.4. Một số kỹ thuật khai phá luật kết hợp có đảm bảo tính riêng tư
1.4.1. Phương pháp biến đổi dữ liệu
Tư tưởng của phương pháp biến đổi dữ liệu là trước khi đưa dữ liệu vào
khai phá thì dữ liệu sẽ được biến đổi, tuy nhiên việc biến đổi chỉ nhằm che
dấu những thông tin nhạy cảm mà không làm ảnh hưởng đến kết quả tính
toán. Một trong những phương pháp thường được sử dụng trong trường hợp

này là phương pháp cộng nhiễu.
1.4.2. Sử dụng thành viên thứ ba đáng tin cậy
Thành viên thứ 3 đáng tin cậy (Trusted-party) là một thành viên bên
ngoài, hoạt động hoàn toàn độc lập, tính toán và đưa ra kết quả, sau khi đưa ra
kết quả thành viên đáng tin cậy này xoá tất cả những gì đã biết.
Cách thực hiện như trong hình 1.2, tất cả các thành viên gửi dữ liệu cục
bộ hoặc các mô hình khai thác cục bộ cho Trusted-part, Trusted-party tính
toán và gửi kết quả khai thác về cho các thành viên. Hướng tiếp cận này an
toàn tuyệt đối nhưng Trusted-party thì không thực tế [7][8].


11

DB1

T

T

P

P

DB2

TP

T
P


DBn

Hình 1.2. Giao thức sử dụng Trusted-party
1.4.3. Tính toán đa thành viên bảo mật
Tính toán đa thành viên bảo mật (Secure Multi-party Computation –
SMC) là một tính toán giữa hai hay nhiều thành viên dựa vào các yếu tố đầu
vào, tiến hành tính toán mà không để lộ bất kỳ thông tin gì ngoại trừ kết quả
và các yếu tố đầu vào của mỗi thành viên. Ý tưởng của SMC tương tự như
giao thức với thành viên thứ ba đáng tin cậy, mỗi thành viên tham gia gửi yếu
tố đầu vào tới thành viên thứ ba đáng tin cậy này và chỉ nhận lại kết quả tính
toán. SMC giả lập thành viên thứ ba đáng tin cậy này dựa vào một giao thức
giữa các thành viên [7] như trong hình 1.3.


12

Hình 1.3. Mô hình tính toán SMC
Đã có nhiều giao thức SMC được đề xuất như: tính tổng an toàn, phép
giao an toàn, phép hợp an toàn, tích vô hướng an toàn. Ta có thể kết hợp các
giao thức con để tạo ra các giao thức an toàn mới, nếu thuật toán/giao thức
phụ thuộc vào một số giao thức con, việc thực hiện các giao thức con hiệu quả
sẽ cải thiện đáng kể hiệu quả tổng thể.
Đã có nhiều giao thức SMC được áp dụng để bảo đảm tính riêng tư
trong KTDL trên dữ liệu phân tán ngang[5][6] với mỗi thuật toán KTDL sẽ
có các giao thức SMC tương ứng và tuỳ theo cách thực hiện ta sẽ áp dụng các
giao thức SMC nào cho phù hợp.
Dù cách tính toán là an toàn, một số thông tin đầu vào vẫn có thể bị tiết
lộ do kết quả của hàm tính toán, ví dụ, nếu một thành viên có tổng tài sản là
100.000$ và thành viên kia giàu hơn thì thành viên này sẽ có tổng tài sản thấp
hơn [5].

Thách thức là phát triển các giao thức bảo đảm tính riêng tư có chi phí
tính toán và truyền thông hợp lý trong các vấn đề thực tế và chứng minh tính
bảo mật (xem chi tiết trong [5]). Giao thức cần phù hợp với loại dữ liệu, kiểu
phân tán dữ liệu, nhiệm vụ khai thác và yêu cầu về tính riêng tư [5].


13

* Các tiêu chí đánh giá
Để đánh giá các các giao thức bảo đảm tính riêng tư, ta sử dụng các
tiêu chí sau:
- Hiệu năng: Thời gian yêu cầu, chi phí tính toán và truyền thông (với
dữ liệu phân tán).
- Tính hiệu dụng dữ liệu: Độ chính xác và hữu ích của thông tin khai
thác được từ CSDL sau khi áp dụng kỹ thuật bảo đảm tính riêng tư.
- Mức độ đảm bảo tính riêng tư: Xác suất để đoán ra thông tin ẩn.
- Khả năng chống lại sự thông đồng: Số lượng các thành viên phải
thông đồng với nhau để có khả năng làm lộ các thông tin của các thành viên
còn lại.
Kết luận chương 1
Chương này chúng ta đã đi tìm hiểu các khái niệm cơ bản về khai phá
dữ liệu, khai phá luật kết hợp, các tham số và thành phần của luật kết hợp như
độ tin cậy, độ hỗ trợ, tập ứng viên, giao dịch cũng như các khái niệm và
phương pháp cơ bản để khai phá luật kết hợp trên cơ sở dữ liệu phân tán và
tập chung.
Để đảm bảo tính riêng tư trong việc khai thác luật kết hợp người ta sử
dụng nhiều phương pháp khác nhau tùy trường hợp áp dụng như với dữ liệu
tập trung ta sử dụng phương pháp biến đổi dữ liệu, với dữ liệu phân tán ta sử
dụng các mô hình tính toán đa thành viên và sử dụng bên thứ 3 tin cậy. Trong
các kỹ thuật này thì kỹ thuật sử dụng bên thứ 3 tin cậy đảm bảo độ an toàn

tuyệt đối nhưng không thực tế do chi phí quá tốn kém, cần đảm bảo kênh
được an toàn tuyệt đối do đó trên thực tế người ta vẫn thường sử dụng mô
hình có chi phí vừa phải hơn là tính toán đa thành viên bảo mật (SMC).
Để đánh giá các phương pháp ta sử dụng các tiêu chí về: hiệu năng,
tính hiệu dụng dữ liệu, mức độ đảm bảo tính riêng tư và khả năng chống lại
thông đồng, trong đó 2 tiêu chí thường được sử dụng nhất là hiệu năng và
mức độ đảm bảo chống thông đồng


14

Chương 2
MỘT SỐ PHƯƠNG PHÁP TÌM LUẬT KẾT HỢP
2.1. Bài toán tìm luật kết hợp.
2.1.1. Phát biểu bài toán.
Cho trước độ hỗ trợ tối thiểu s>0, độ tin cậy tối thiếu c>0. Hãy tìm
mọi luật kết hợp XY. Để tìm luật kết hợp ta dựa vào khái niệm sau:
Định nghĩa 2.1 Tập phổ biến (Frequent pattern): là tập xuất hiện phổ
biến trong 1 CSDL, tức là có tần suất xuất hiện trong CSDL lớn hơn một
ngưỡng nào đó cho trước.
Tần suất xuất hiện của tập phổ biến gọi là độ phổ biến (supp) của tập các
hạng mục X trong CSDL D hay là tỷ lệ giữa số các giao dịch chứa X trên tổng
số các giao dịch trong D.
Supp (X) = count (X) / | D |
Tập các hạng mục phổ biến S hay tập phổ biến (Frequent Itemset) là tập
các hạng mục có độ phổ biến thỏa mãn độ phổ biến tối thiểu
Nếu Supp (S) ≥ Minsup thì S là tập phổ biến.
2.1.2. Ví dụ
Giả sử min_support = 50%,
Transaction-id


min_conf = 50%:
Items bought

01

A, B, C

02

A, C

03

A, D

04

B, E, F
Hình 2.1. CSDL giao dịch


15

Hình 2.2. Quá trình tìm tập phổ biến
Các tập phổ biến tìm được là: {A},{B},{C},{A,C}.
Luật A → C:
support = support({A}∪{C}) = 50%
confidence = support({A}∪{C})/support({A}) = 66.6%
A  C (50%, 66.7%)

C  A (50%, 100%)
Nhận xét 2.1 Mọi tập con của tập phổ biến cũng là tập phổ biến .
Ví dụ{A,C} là tập phổ biến nên{A},{C} cũng là tập phổ biến
Việc tìm kiếm luật kết hợp thực chất là tìm kiếm mọi tập phổ biến sau
đó sinh ra luật từ các tập phổ biến. Sau đây ta tìm hiểu một số thuật toán khai
phá luật kết hợp. Dựa vào nhận xét 2.1 ta đi đến thuật toán Apriori.
2.2. Thuật toán Apriori
2.2.1. Nguyên lí Apriori
Với mọi tập mục không phổ biến thì mọi tập chứa nó không là tập phổ
biến. Dựa trên nguyên lí này, người ta thiết kế thuật toán Apriori như sau.
Phương pháp
 Sinh các tập mục ứng viên dài (k+1) từ các tập mục phổ biến có
độ dài k (Độ dài tập mục là số phần tử của nó),


16


Kiểm tra các tập ứng viên theo CSDL để loại bỏ các tập không
phổ biến (có độ hỗ trợ < min_support)

2.2.2. Thuật toán Apriori
Từ các nhận xét và tính chất trên ta đi đến xây dựng thuật toán Apriori như
sau:
Đầu tiên thực hiện duyệt CSDL để tìm các mục riêng biệt trong CSDL và
độ hỗ trợ tương ứng của nó. Tập thu được là C1. Duyệt tập C1 loại bỏ các mục có
độ hỗ trợ < min_support, các tập mục còn lại của C 1 là các tập 1-Itemset (L1)
phổ biến. Sau đó kết nối L1 với L1 để được tập các tập 2-Itemset C2. Duyệt
CSDL xác định độ hỗ trợ của các tập mục trong C2. Duyệt C2 Loại bỏ các tập
mục có độ hỗ trợ < min_support, các tập mục còn lại của C 2 là tập các tập 2Itemset (L2) phổ biến. L2 lại được sử dụng để sinh ra L 3 và cứ tiếp tục như vậy

cho đến khi tìm được tập mục k-Itemset Lk mà Lk = ∅ (tức là không có tập mục
phổ biến nào được tìm thấy) thì dừng lại.
Tập các tập mục phổ biến của CSDL là: ∪ki-1= L1.
Để tăng hiệu quả của thuật toán trong quá trình sinh các tập mục ứng
viên, ta sử dụng tính chất của tập mục phổ biến để làm giảm số lượng tập các
tập ứng viên, không phải là tập phổ biến được sinh ra.
Tính chất đó là: tập các tập con khác rỗng của tập mục phổ biến đều là
tập mục phổ biến.
1.

Duyệt (Scan) toàn bộ CSDL giao dịch để có được support S của 1-

itemset, so sánh S với min_support, để có được 1-itemset (L1)
2.

Sử dụng Lk-1 nối (join) Lk-1 để sinh ra tập ứng viên k-itemset. Loại bỏ các

itemsets không phải là tập phổ biến thu được k-itemset
3.

Duyệt (Scan) toàn bộ CSDL giao dịch để có được support của mỗi tập

ứng viên k-itemset, so sánh S với min_support để thu được tập phổ biến k –


17
itemset (Lk)
4.

Lặp lại từ bước 2 cho đến khi các tập ứng viên (C) trống (không tìm thấy


tập phổ biến)
5. Với mỗi tập phổ biến I, sinh tất cả các tập con s không rỗng của I
6. Với mỗi tập con s không rỗng của I, sinh ra các luật s => (I-s) nếu độ tin
cậy (Confidence) của nó > =min_conf

* Giả mã thuật toán Apriori.
Thuật toán Apriori [WKQ08]
Input: - Cơ sở dữ liệu giao dịch D ={t│t giao dịch}
Output:

Độ hỗ trợ tối thiểu minsup >0

- Tập hợp tất cả các tập phổ biến

0: mincount = minsup *│D│;
1: F1 ={Các tập phổ biến có độ dài 1}
2: for (k=1; Fk ≠

; k++) do begin

3. Ck+1 = apriori-gen (Fk); // sinh mọi ứng viên độ dài k+1
4. for t ∉ D do begin
5. Ct ={c ∉ Ck+1│c ⊆ t}; // mọi ứng viên chứa trong t
6.

for c ∉ Ct do

7.


c.count++;

8.

end

9.

Fk+1 = {c ∉ Ck+1│c.count ≥ mincount};

10.

end

11.
Answer ∪ k Fk ;
Nhận xét:


×