1. Trang chủ
  2. » Luận Văn - Báo Cáo

Một thuật toán đảm bảo tính riêng tư trong khai thác luật kết hợp trên cơ sở dữ liệu phân tán ngang

72 217 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 72
Dung lượng 1,56 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

---NGUYỄN TRUNG KIÊN MỘT THUẬT TOÁN ĐẢM BẢO TÍNH RIÊNG TƯ TRONG KHAI THÁC LUẬT KẾT HỢP TRÊN CƠ SỞ DỮ LIỆU PHÂN TÁN NGANG LUẬN VĂN THẠC SĨ Chuyên ngành: Công nghệ thông tin Mã số ngành: 6

Trang 1

-NGUYỄN TRUNG KIÊN

MỘT THUẬT TOÁN ĐẢM BẢO TÍNH RIÊNG TƯ TRONG KHAI THÁC LUẬT KẾT HỢP TRÊN CƠ

SỞ DỮ LIỆU PHÂN TÁN NGANG

LUẬN VĂN THẠC SĨ

Chuyên ngành: Công nghệ thông tin

Mã số ngành: 60480201

TP HỒ CHÍ MINH, tháng 04 năm 2017

Trang 2

-NGUYỄN TRUNG KIÊN

MỘT THUẬT TOÁN ĐẢM BẢO TÍNH RIÊNG TƯ TRONG KHAI THÁC LUẬT KẾT HỢP TRÊN CƠ

SỞ DỮ LIỆU PHÂN TÁN NGANG

Trang 3

Cán bộ hướng dẫn khoa học

(Ghi rõ họ, tên, học hàm, học vị và chữ ký)

TS.Cao Tùng Anh

Luận văn Thạc sĩ được bảo vệ tại Trường Đại học Công nghệ TP

HCMngày 23 tháng 04 năm 2017

Thành phần Hội đồng đánh giá Luận văn Thạc sĩ gồm:

(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ Luận văn Thạc sĩ)

Xác nhận của Chủ tịch Hội đồng đánh giá Luận sau khi Luận văn đã được sửa chữa (nếu có)

Chủ tị ch Hội đồng đánh gi á

LV

PGS TS Quản Thành

Thơ

Trang 4

TP.HCM, ngày 27 tháng 04 năm 2017

NGHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: Nguyễn Trung Kiên Giới tính: Nam

Ngày, tháng, năm sinh: 15/07/1979 Nơi sinh: Ninh Bình

Chuyên ngành: Công nghệ thông tin MSHV:

1341860008

I Tên đề tài :

Một thuật toán đảm bảo tính riêng tư trong khai thác luật kết hợp trên cơ sở

dữ liệu phân tán ngang

II Nhi ệm vụ và nội dung:

- Nghiên cứu các thuật toán, phương pháp khai thác tập phổ biến, luật kết hợp

trên

CSDL và CSDL phân tán ngang

- Nghiên cứu ECC Elliptic Curve Cryptography.

- Nghiên cứu thuật toán MHS khai thác trên CSDL phân tán ngang bảo toàn

tính riêng tư

- Nghiên cứu thuật toán EMHS khai thác trên CSDL phân tán ngang bảo toàn

tính riêng tư

- Nghiên cứu thuật toán mà các tác giả trong [7] đã đề xuất, thực nghiệm, đánh

giá, so sánh khả năng bảo vệ tính riêng tư và thời gian tính toán so với thuật toán EMHS

- Viết chương trình thực nghiệm để so sánh về quyền riêng tư và thời gian tính

toán,

cho thuật toán EMHS và thuật toán đề xuất

Trang 5

CÁN BỘ HƯỚNG DẪN KHOA QUẢN LÝ CHUYÊN NGÀNH

(Họ tên và chữ ký) (Họ tên và chữ ký)

TS Cao Tùng Anh

Trang 6

LỜI CAM ĐOAN

Tôi xin cam đoan luận văn được thực hiện trên cơ sở nghiên cứu, tổng hợp vàphát triển các phương pháp bảo mật tính riêng tư trên cơ sở dữ liệu phân tán trongkhái thác dữ liệu

Các đề xuất trong luận văn do chính tôi thực hiện qua quá trình nghiên c ứu và thực

hiện và không sao chép nguyên bản của bất kỳ tài liệu nào khác

Tác giả

Nguyễn Trung Kiên

Trang 7

LỜI CẢM ƠN

Lời đầu tiên tôi xin gửi lời cảm ơn chân thành và biết ơn sâu sắc đến TS CaoTùng Anh, người thầy đã hướng dẫn, chỉ bảo tận tình cho tôi trong suốt quá trìnhnghiên cứu và thực hiện luận văn này

Tôi xin chân thành cảm ơn tất cả các đồng nghiệp khoa Công Nghệ ThôngTin, trường Cao Đẳng Công Nghệ Thông Tin Thành Phố Hồ Chí Minh và các thầy

cô đã cổ vũ, động viên, giúp đỡ trong thời gian tôi thực hiện luận văn

Con xin cảm ơn Ba, Mẹ và những người thân đã kích lệ, động viên, giúp đỡtrong suốt thời gian học tập, nghiên cứu để có được thành quả như ngày nay

Cuối cùng, tôi xin gửi lời cảm ơn đến tất cả anh chị, bạn bè đã giúp đỡ, chia

sẻ, động viên tôi trong suốt thời gian học tập và thực hiện luận văn

Tác giả

Nguyễn Trung Kiên

Trang 8

TÓM TẮT

Những thuận lợi của kỹ thuật khai thác dữ liệu đóng vai trò quan trọng trongnhiều lĩnh vực ứng dụng khác nhau Trong bối cảnh về tính riêng tư và vấn đề bảomật, các vấn đề được gây ra bởi kỹ thuật khai thác luật kết hợp gần đây được xem xét.Việc lạm dụng kĩ thuật này có thể tiết lộ thông tin nhạy cảm của chủ sở hữu cơ sở

dữ liệu cho người khác Do đó, sự riêng tư của cá nhân không được bảo toàn Nhiềunhà nghiên cứu gần đây đã cố gắng để bảo vệ tính riêng tư của kiến thức nhạy cảmhoặc thông tin trong cơ sở dữ liệu thực Trong luận văn này, tác giả sẽ trình bày thuậttoán sửa đổi từ thuật toán EMHS để cải thiện hiệu quả khai thác bằng cách sửdụng Elliptic Curve Cryptography Thử nghiệm trên các bộ dữ liệu khác nhau chothấy rằng thuật toán sửa đổi có hiệu quả hơn khi so sánh với EMHS về thời gian tínhtoán

Trang 9

The advantages of data mining techniques play an important role inmany different application areas In the context of privacy and security issues, theproblems posed by recent combining data mining techniques have been examined.Abuse of this technique may expose the sensitive information of the database owner

to others Consequently, personal privacy is not preserved Many researchers haverecently tried to protect the privacy of sensitive knowledge or information in the realdatabase In this article, we have modified the EMHS algorithm to improve itsefficiency by using Elliptic Curve Cryptography We use ECC's ElgamalCryptography technique for encoding uniformity Analyzing trials on differentdatasets suggests that algorithmic recommendations are effective when compared withEMHS on computational time

Trang 10

MỤC LỤC

CHƯƠNG 1 TỔNG QUÁT LUẬN VĂN

4 1.1 Giới t hiệu chung

4 1.2 Khai t hác tập phổ biến và l uật kết hợp

5 1.2.1 Các khái niệm 5

1.2.2 Khai t hác tập phổ biến và l uật kết hợp

7 1.2.3 Thuật toán Apriori 9

1.2.4 Phương pháp IT- Tree .14

1.2.5 Thuật toán khai thác luật kết hợp .19

CHƯƠNG 2 GIỚI THIỆU VỀ DỮ LIỆU PHÂN TÁN 21

2.1 Khái niệm về cơ sở dữ liệu phân t án 21

2.2 Cơ sở dữ liệu phân t án ngang 21

2.2.1 Tính đ ầy đủ 24

2.2.2 Tính t ái t hiết lập 24

2.2.3 Tính t ách biệt .24

CHƯƠNG 3 THUẬT TOÁN EMHS VÀ CÁC THUẬT TOÁN LIÊN QUAN 25

3.1 Bảo vệ đ a tính to án với Tr usted Third Party 25

3.2 Bảo mật đa tính toán với mô hì nh Se mi-Honest .25

3.3 Thuật toán MHS trên dữ liệu phân t án ngang 26

3.4 Thuật toán EMHS trên dữ liệu phân tán ngang 26

3.4.1 Tập phổ biến tối đại 26

3.4.2 Thuật toán RSA 26

3.4.3 Hệ thố ng mật mã Homomor phic Paillier 26

3.4.4 Thuật toán EMHS 27

Trang 11

28

Trang 12

4.2 Elliptic Cur ve Cryptogr

aphy 28

4.3 Giao t hức gi ao tiếp .30

CHƯƠNG 5 KẾT QUẢ THỰC NGHIỆM .35

5.1 So sánh về sự riêng tư 35

5.2 So sánh về tính toán t hời gian 35

5.3 Kết quả t hực nghiệm .35

5.3.1 Chương trình thực nghiệm I-EMHS 37

5.3.2 Biểu đồ so sánh thời gi an 38

KẾT LUẬN 42

TÀI LIỆU THAM KHẢO 43

Trang 13

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

TT Từ vi ết tắt Di ễn gi ải ti ếng Anh Di ễn gi ải ti ếng Vi ệt

Elliptic

PPDM trên dữ liệu phân tán

MHS

4 PPDM Privacy Preserving Data Mining Khai thác dữ liệu bảo toàn

tính riêng tư

8 MCT Minimum Confidence Threshold Ngưỡng độ tin cậy tối thiểu

9 SMC Secure Multiparty Computation Bảo mật đa tính toán

Trang 14

28Bảng 8 Mô tả chi tiết của cơ sở dữ liệu t hực nghiệm

35Bảng 9 P hân mảnh cơ sở dữ liệu Mus hroom

38Bảng 10 Kết quả thực nghiệm trên dữ liệu Mus hroom

38Bảng 11 Phân mảnh cơ sở dữ liệu Chess .39Bảng 12 Kết quả thực nghiệm trên dữ liệu Chess 40

Trang 15

17Hình 4 Cây tìm kiếm t ập FI t hỏa mi nSup = 60% có sắp xếp.

18Hình 5 Mô hì nh hệ cơ sở dữ liệu phân t án

21Hình 6 Giao t hức gi ao tiếp thuật toán sửa đổi từ EMHS[7 ]

30Hình 7 Initiator tìm FI phổ biến to àn cục

34Hình 8 Màn hì nh điều khiển trên Site Initiator

37Hình 9 So sánh t hời gian c hạy EMHS và I- EMHS trên cơ sở dữ liệu Mus hroom

39Hình 10 So sánh thời gi an chạy EMHS và I-EMHS trên cơ sở dữ liệu Chess

40

Trang 16

MỞ ĐẦU

1 Đặt vấn đề

Cơ sở dữ liệu (CSDL) phân tán là một cấu trúc dữ liệu hiện nay đang phát triểnrất nhanh và chúng ta thường gặp chúng trong thực tế như: CSDL của một hệ thốngngân hàng, của các công ty bảo hiểm, của các tổng công ty thương mại có một hệthống cửa hàng phát triển ở nhiều nơi như CSDL của các thành viên thuộc tổ chứcquốc tế

Khai thác dữ liệu là quá trình tìm kiếm những thông tin tiềm ẩn mang tính dựđoán trong các CSDL Những công cụ khai thác dữ liệu có thể phát hiện những luật

và định hướng trong tương lai, các tri thức mà khai thác dữ liệu mang lại cho các đơn

vị có thể ra các quyết định kịp thời và trả lời những câu hỏi trong lĩnh vực mà trướcđây tốn rất nhiều thời gian để xử lý Với ưu điểm trên, khai thác dữ liệu đã chứng tỏđược tính hữu dụng của nó trong môi trường kinh doanh đầy tính cạnh tranh ngàynay và được ứng dụng rộng rãi trong các lĩnh vực thương mại, tài chính, điều trị yhọc, giáo dục, viễn thông, quốc phòng

Trong thực tế, phần lớn CSDL phân tán dùng để khai thác thường liên quan đến

nhiều cá nhân hoặc nhiều tổ chức Bản thân dữ liệu là thông tin nhạy cảm hoặc quátrình phân tích dữ liệu cho ra tri thức có tính nhạy cảm Một số đơn vị, tổ chức muốnchia sẻ dữ liệu theo kiểu cùng phối hợp dữ liệu để khai thác trên dữ liệu chung, nhưngmỗi bên lại muốn đảm bảo tính riêng tư cho dữ liệu của chính mình Khai thác dữliệu phân tán đảm bảo tính riêng tư là hướng nghiên cứu nhằm đề ra giải pháp bảo vệtính riêng tư của dữ liệu lẫn tri thức trước và sau khi thực hiện khai thác trên dữ liệu.Nhiều nhà nghiên cứu gần đây đã công bố nhiều thuật toán, phương pháp đểbảo vệ tính riêng tư trong khai thác trên CSDL phân tán Trong luận văn này, tác giả

sẽ trình bày thuật toán sửa đổi từ thuật toán EMHS[3] nhằm cải thiện hiệu quả củathuật toán mã hóa bằng cách sử dụng phương pháp Elliptic Curve Cryptography Cáctác giả trong[7.] đã sử dụng kỹ thuật Elgamal Cryptography của ECC cho mã hóađồng dạng Phần phân

Trang 17

tích các thử nghiệm trên các bộ dữ liệu khác nhau của các tác giả đã cho thấy thuật toán mới đề xuất có hiệu quả hơn khi so sánh với EMHS[3] về thời gian tính toán.

2 Mục ti êu của l uận văn

Nghiên cứu các thuật toán, phương pháp khai thác tập phổ biến, luật kết hợp trên

CSDL và CSDL phân tán ngang

Tác giả nghiên cứu và trình bày thuật toán EMHS mà các tác giả trong [3] đãtrình bày và thuật toán sửa đổi từ EMHS, khai thác trên CSDL phân tán ngang bảotoàn tính riêng tư cho các bên tham gia

Cài đặt chương trình thực nghiệm và so sánh sự riêng tư, thời gian tính toán của

EMHS với thuật toán sửa đổi từ EMHS

Chương 1 Tổng quát l uận văn

Trong chương này, trình bày tổng quát về luận văn, dữ liệu phân tán và các kỹthuật khai thác dữ liệu hoặc khai phá tri thức như khai thác luật kết hợp

Chương 2 Gi ới thi ệu về dữ l i ệu phân tán

Trong chương này, trình bày về các khái niệm về dữ liệu phân tán, các kiểuphân tán dữ liệu, mô hình phân tán

Chương 3 Thuật toán EMHS và các thuật toán l i ên quan

Trong chương này, trình bày các thuật toán và giải t huật cụ thể của thuậttoán EMHS và các thuật toán liên quan nhằm khai thác dữ liệu phân tán ngang vàbảo mật được tính riêng tư cho dữ liệu được khai thác

Chương 4 Thuật toán sửa đổi từ EMHS

Trang 18

Trong chương này, trình bày thuật toán và giải thuật của thuật toán đề xuất dựatrên thuật toán EMHS Thuật toán sửa đổi từ EMHS trong giới hạn về khả năng bảođảm tính riêng tư và thời gian khai thác dữ liệu.

Chương 5 Kết quả thực nghi ệm

Trong chương này, trình bày về thực nghiệm và so sánh kết quả từ thuật EMHS

và thuật toán sửa đổi từ EMHS trong luận văn

Kết l uận

Phần này trình bày tổng quát về các kết quả đạt được, những khó khăn vàhướng phát triển, nghiên cứu tiếp theo của luận văn

Trang 19

CHƯƠNG 1 TỔNG QUÁT LUẬN VĂN

1.1 Gi ới thi ệu chung

Trong sự phát triển mạnh của Internet ngày nay, dẫn đến sự bùng nổ của thôngtin, tri thức và với khối lượng dữ liệu ngày càng lớn đã thúc đẩy một lĩnh vựcnghiên cứu đầy tiềm năng là khai thác tri thức và khai thác dữ liệu

Khai phá dữ liệu hoặc phát hiện kiến thức kỹ thuật như khai phá luật kết hợp,gom nhóm, phân loại, khai thác chuỗi, … đã được sử dụng rộng rãi nhất trong thôngtin thế giới ngày nay Ứng dụng thành công các kỹ thuật đã được chứng minh trongnhiều lĩnh vực như tiếp thị, phân tích y tế, kinh doanh, kiểm soát sản phẩm và một sốlĩnh vực khác mà tạo lợi nhuận thương mại, xã hội và các hoạt động nhân đạo Những

kỹ thuật này đã được chứng minh trong môi trường tập trung cũng như mô i trườngphân tán

Trong môi trường tập trung, tất cả các tập dữ liệu được thu thập tại các sitetrung tâm (kho dữ liệu) và sau đó hoạt động khai thác tài nguyên được thực hiện, nhưthể hiện trong hình 1a

Trong môi trường phân tán, dữ liệu có thể được phân chia giữa các site khácnhau mà không được phép gửi dữ liệu của nó để tìm kiếm kết quả toàn cục

Có hai loại dữ liệu phân tán

(1) Phân tán theo chiều 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, như thể hiện trong hình 1b

(2) Phân tán theo chiều dọc: các site thu thập các đặc trưng khác nhau củacùng tập thực thể, như thể hiện trong hình 1c

Trang 20

Hình 1 Các hình thức khác nhau của cơ sở dữ liệu

Gần đây các kỹ thuật này trong việc điều tra, nghiên cứu về vấn đề riêng tư vàbảo mật và nó được kết luận rằng những kỹ thuật đó đe dọa đến sự riêng tư của thôngtin cá nhân Điều đó có nghĩa một đối tượng(ví dụ: kẻ thù hoặc sử dụng độc hại) có thể

dễ dàng suy luận thông tin nhạy cảm của một ai đó (hoặc kiến thức) bằng kỹ thuật khaithác tài nguyên Vì vậy, thông tin nhạy cảm nên được mã hóa trong cơ sở dữ liệutrước khi phát hành Đối với khai thác dữ liệu cần được bảo vệ khỏi các bên thứ 3 (hoặccác site) những người muốn tìm kiếm các kết quả khai thác toàn cục[6] Từ đó, giữgìn sự riêng tư cho thông tin nhạy cảm, riêng tư, bảo vệ khai thác dữ liệu (PPDM) trởthành một xu hướng cần thiết cho các kỹ thuật khai thác thông tin, dữ liệu

1.2 Khai thác tập phổ bi ến và l uật kết hợp

1.2.1 Các khái ni ệm

Khai thác dữ liệu là tiến trình khám phá tri thức tiềm ẩn trong các cơ sở dữ

liệu

Tri thức: Là các thông tin tích hợp, bao gồm các sự kiện và mối quan hệ

giữa chúng, đã được nhận thức, khám phá, hoặc nghiên cứu Tri thức có thể được xemnhư là dữ liệu trừu tượng và tổng quát ở mức độ cao

Trang 21

Khai thác dữ l i ệu:

Là một bước trong quá trình khám phá tri thức, gồm các thuật toán khai thác

dữ liệu chuyên dùng vớ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, các mô hình dữ liệu hoặc các thông tin có ích cho người dùng Nóicách khác , mục tiêu của khai thác dữ liệu là rút trích ra những thông tin có giá trị tồntại trong CSDL nhưng ẩn trong khối lượng lớn dữ liệu

Dữ l i ệu gi ao dị ch:

Cho I = {i1, i2, …, in} là tập tất cả các mục dữ liệu (mặt hàng) T = {t1, t2, …, tm} là

tập tất cả các giao dịch trong CSDL giao dịch D CSDL được cho là quan hệ hai ngôi

  I  T Nếu mục iI xảy ra trong giao dịch tT thì ta viết là (i,t), ký hiệu i  t

Ví dụ về bảng dữ liệu của một cơ sở dữ liệu giao dịch:

Trang 22

AB, với A  I, B  I và A  B = Ø Luật AB ngầm chứa trong D với độ

đo Supp s, trong đó s là tỷ lệ các giao dịch trong D chứa A  B, được diễn tả bằng xácsuất P(A B) Luật AB có độ đo Conf c trong tập D, thì c là tỷ lệ giữa các giao dịchtrong D chứa A thì chứa luôn B, được diễn tả bằng xác suất P(B/A)

1.2.2 Khai thác tập phổ bi ến và l uật kết hợp

Cho tập I = {I1, I2,….,Im} là một tập các mục dữ liệu Cho D là bộ dữ liệu cầnkhai thác, và là một tập trong CSDL giao dịch Mỗi giao dịch T là một tập các mục dữliệu và

TI Mỗi giao dịch có một định danh, được gọi là TID Cho A là tập các mục dữ liệu

Một giao dịch T được gọi là chứa A khi và chỉ khi A  T

Một luật kết hợp có dạng AB, với A  I, B  I và A  B = Ø Luật ABngầm chứa trong D với độ đo Support s, trong đó s là tỷ lệ các giao dịch trong D chứa

A B, được diễn tả bằng xác suất P(A B) Luật AB có độ đo Conf c trong tập D, thì c

là tỷ lệ giữa các giao dịch trong D chứa A thì chứa luôn B, được diễn tả bằng xác suấtP(B/A)

Nghĩa là:

Supp (AB) = P( A  B)

Conf (AB) = P( B/A )

Những luật thỏa mãn cả hai ngưỡng minSup và minConf được gọi là mạnh.Một tập các mục dữ liệu đơn (items) được gọi là itemset Một itemset chứa kitems được gọi là k-itemset Chẳng hạn tập {gió, mây, mưa} là 3-itemset Độ phổ biếncủa một

Trang 23

itemset là số lượng các giao dịch có chứa itemset Thường được biết với các tên

là support count, hay count của itemset

Nếu độ đo support count của một itemset I thỏa ngưỡng minSup cho trước thì I

là một tập phổ biến Một tập phổ biến gồm k-items được ký hiệu là FI

Độ đo Conf của luật AB có thể thu được từ độ đo support của A và của A  B

Do đó, một khi độ đo support của A, B và A  B được tìm thấy, ta có thể kiểm tra 2 luậtkết hợp AB và BA xem chúng có mạnh hay không Như vậy, vấn đề khai tháccác luật kết hợp có thể chuyển về bài toán khai thác các tập phổ biến

Phát bi ểu bài

toán:

Cho một tập các mục I, một cơ sở dữ liệu giao dịch D, ngưỡng hỗ trợminSup, ngưỡng tin cậy minConf Tìm tất cả các luật kết hợp XY trên CSDL D saocho: sup(X

Y) ≥ minSup và Conf(XY) ≥ minConf Bài toán khai thác luật kết hợp có thểđược

chia ra làm 2 bài toán con được phát biểu trong thuật toán

sau:

Nội dung thuật toán

Vào: I, D, minSup, minConf

Ra: Các luật kết hợp thỏa mãn minSup và minConf

Các bước thực hiện:

(1) Tìm tất cả các tập mục phổ biến từ CSDL D tức là tìm tất cả các tập mục có

độ hỗ trợ lớn hơn hoặc bằng minSup

(2) Sinh ra các luật từ các tập mục phổ biến (large itemsets) sao cho độ tin cậycủa luật lớn hơn hoặc bằng minConf

Tùy theo ngữ cảnh các thuộc tính dữ liệu, cũng như phương pháp sử dụngtrong các thuật toán; người ta có thể phân bài toán khai thác luật kết hợp ra nhiềunhóm khác nhau Chẳng hạn, nếu giá trị của các thuộc tính có kiểu boolean thì ta gọi

là khai thác luật kết hợp Boolean (Mining Boolean Association Rules)…

Apriori là thuật toán khai thác tập phổ biến và từ đó có thể khai thác luật kết hợp

Trang 25

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

1.2.3 Thuật toán Apri

ori

Thuật toán Apriori, một trong những thuật toán phổ biến trong hướng tiếp cậnkhai thác dữ liệu, là tìm các tập phổ biến trong cơ sở dữ liệu thỏa ngưỡng hỗ trợ(minSup) cho trước và dẫn xuất ra luật kết hợp

Apriori là thuật toán nền tảng để tìm các tập phổ biến sử dụng phương pháp sinh

tập ứng viên thỏa

minSup

Cho một tập các itemset phổ biến có kích thước k là Fk và tập ứng viên củachúng là Ck Apriori quét cơ sở dữ liệu D lần thứ nhất để tìm kiếm các item đơn thỏaminSup Sau đó lặp lại 3 bước sau để tìm các tập phổ biến

Bước 1 Sinh tập ứng viên Ck+1 từ các tập phổ biến có k phần tử

Bước 2 Quét cơ sở dữ liệu để đếm độ phổ biến của các ứng

viên

Bước 3.Thêm các tập này vào danh sách L các tập phổ biến có k+1 phần tử nếu nó

thỏa minSup

Mô tả tuận toán cụ thể như sau:

Input: D, cơ sở dữ liệu của các giao tác; minSup, ngưỡng độ hỗ trợ tối

Trang 26

(6) for each ứng viên

Trang 27

procedure apri ori _gen(L k-1 :tập (k-1) item phổ biến)

(1) for each tập item l1L k-1

(2) for each tập item l2L k-1

(3) if (l1[1] = l2[1])  (l1[2] = l2[2])  …  (l1[k-1] <l2[k-1]) then { (4)

c= l1 kế t l2; // bước kết: phát sinh các ứng viên

(5) if has_i nfrequent_subset(c, L k-1) then

(6) del ete c; //loại bỏ các ứng viên không đạt (bước xén

tỉa) (7) el se add c to C k;

(8) }

(9) return C k;

procedurehas_i nfrequent_subset(c: ứng viên tập k item;

L k-1 : các tập (k-1) item phổ biến); // sử dụng kiến thức

trước (1) for each tập con (k-1) s of c

Pha thứ 1: Các (k-1)-itemset phổ biến trong tập Lk-1 tìm được trong giai đoạn thứk-1 được dùng để sinh ra các tập mục ứng cử Ck bằng cách thực hiện hàm apri ori _gen().

Trang 28

Pha thứ 2: CSDL D sẽ được quét để tính độ hỗ trợ cho mỗi tập mục ứng cử

trong Ck Các tập mục ứng cử trong Ck mà được chứa trong giao dịch t có thể đượcxác định một cách hiệu quả bằng việc sử dụng cây băm

Hàm apri ori _gen() thực hiện hai

bước:

Bước kết nối (Joi n step): Để tìm Lk, một tập ứng viên các tập k item đượcsinh bởi việc kết Lk-1 với nó Tập các ứng viên này được đặt là Ck Gọi l1 và l2 là cáctập item trong Lk-1 Ký hiệu li[j] chỉ tới item thứ j trong li (vd: l1[k–2] chỉ tới item cuốithứ 2 trong l1) Với quy ước, Apriori giả sử các item trong một giao tác hay tập item

đã được sắp xếp theo thứ tự từ điển Đối với tập (k–1) item, li, nghĩa là các item đượcsắp xếp thành li[1] <li[2] < … <li[k-1]

Phép kết, Lk-1, được thực hiện, với các phần tử của Lk-1 là khả kết nếu (k–2) items

đầu tiên của chúng là chung Do đó, các phần tử l1 và l2 của Lk-1 được kết nếu(l1[1] = l2[1])  (l1[2] = l2[2])  …  (l1[k–2] = l2[k–2])  (l1[k–1] <l2[k–1]).Điều kiện l1[k–1] <l2[k–1] đơn giản là bảo đảm rằng không có các bản sao đượcphát

sinh Tập item tạo ra bởi việc kết l1 và l2 là l1[1], l1[2], …, l1[k-2], l2

[k-1]

Bước cắt tỉ a: Ck là tập cha của Lk, do đó, những phần tử của nó có thể hoặckhông thể phổ biến, nhưng tất cả các tập k item phổ biến thuộc Ck Việc quét cơ sở dữliệu để xác định số lượng của mỗi ứng viên trong Ck sẽ cho kết quả trong việc xácđịnh của Lk (Vd: tất cả ứng viên có số lượng không nhỏ hơn độ hỗ trợ tối thiểu là phổbiến theo đị nh nghĩa và do đó thuộc về Lk) Tuy nhiên, Ck có thể khổng lồ và nó cóthể đòi hỏi việc tính toán cực nhọc Để giảm kích thước của Ck, tính chất Apriori được

sử dụng như sau Vài tập (k–1) items là không phổ biến thì không thể là tập con củamột tập k items phổ biến Sau đó, nếu vài tập con (k–1) items của ứng viên tập kitems không thuộc Lk-1, thì ứng viên cũng không thể là phổ biến và có thể loại bỏ khỏi

Ck Việc kiểm tra tập con này có thể hoàn thành một cách nhanh chóng bằng cách giữmột cây băm (hash tree) của tất cả các tập item phổ biến

Trang 31

L4=0 ITEMSET COUNT

Bảng 2 Một ví dụ thuật toán Apriori

Như vậy, với cơ sở dữ liệu D sau 4 bước thực hiện thuật toán Apriori ta thu được

11 tập phổ biến: FI = {{A}, {B}, {C}, {D}, {E}, {AB}, {AD}, {BC}, {BD}, {BE},

{ABD}}

Thuật toán Apriori cho thấy hiệu suất tốt với tập dữ liệu thưa, ví dụ như: dữliệu kinh doanh, dữ liệu thị trường, nơi mà các tập phổ biến rất ít Tuy nhiên, với tập

dữ liệu phức tạp, dày như là dữ liệu viễn thông, tập dữ liệu về điều tra dân số trong

đó có rất nhiều mẫu phổ biến dài thì hiệu quả của thuật toán Apriori bị giảm rấtnhiều Sự giảm hiệu suất này là do các lý do:

Thứ nhất: thuật toán này thực hiện nhiều lần duyệt qua CSDL để tìm ra tậpphổ biến với một ngưỡng hỗ trợ minSup nào đó, số lần duyệt bằng độ dài của tập phổbiến tìm được

Thứ hai: có thể thấy thuật toán Apriori là thuật toán đúng đắn để kiểm tra toàn

bộ các mẫu phổ biến Tuy nhiên, để khám phá được mẫu phổ biến có kích thước là nthì cần

Trang 32

thực tế không khả thi để khai thác tập mẫu phổ biến lớn mà chỉ áp dụng cho tập mẫuphổ biến có kích thước n nhỏ.

1.2.4 Phương pháp

IT-Tree

Cấu trúc IT-Tree (Itemset Tidset-tree) và các lớp tương đương [5]

Cho I là tập các danh mục và X  I Ta định nghĩa một hàm p(X,k) = X[1:k] gồm k

phần

Trang 33

X ,Y  I , X

Y  p( X , k )  p(Y , k )

Nghĩa là, hai itemset có cùng một lớp tương đương khi và chỉ khi chúng chia

sẻ chung k phần tử đầu phổ biến Mỗi nút trong cây IT-Tree đại diện cho một cặp

Itemset- Tidset X x t(X), thực tế là một lớp tiền tố Tất các các nút con của nút X thuộc về lớp tương đương của nó bởi vì chúng chia sẻ cùng tiền tố X.

Ký hiệu một lớp tương đương là [P]= {l 1 ,l 2 ,…,l n }, trong đó P là nút cha và mỗi

l i

là một mục dữ liệu đơn, đại diện cho nút Pl i x t(Pl i)

Chẳng hạn, nút gốc của cây tương ứng với lớp [ ] = {A,B,C,D,E}, nút tráicùng của gốc là lớp [A] chứa tất cả các itemset chứa A là tiền tố, nghĩa là tập{B,C,D,E} Như vậy, mỗi lớp thành viên đại diện cho một con của nút cha Một lớpđại diện cho các mục dữ liệu mà các mục dữ liệu đó là tiền tố để có thể mở rộng thànhcác lớp phổ biến mới Rõ ràng, không có cây con nào của một tiền tố không phổ biếnđược xem xét

Ưu điểm của phương pháp lớp tương đương là nó chia không gian tìm kiếm

ban đầu thành các vấn đề nhỏ độc lập Đối với mỗi nút gốc con của nút X, có thể xem

nó như một vấn đề mới hoàn toàn, mỗi nút có thể sinh ra các mẫu dưới nó

Trang 34

Kết quả: Tập FIs gồm tất cả các tập phổ biến của cơ sở dữ liệu D.

Ví dụ minh họa phương pháp IT-Tree:

Cho cơ sở dữ liệu giao dịch D (Bảng 1), I = {A, B, C, D, E} Áp dụng thuật toán

Eclat để tìm các tập phổ biến thỏa minSup =

60% Ta có minSup count = (60 * 5)/100 = 3

Trang 36

t(A) = 1345 : t(AB) = t(A) ∩ t(B) = 1345 ∩ 123456 = 1345

t(AC) = t(A) ∩ t(C) = 1345 ∩ 245 = 45 (bị loại vì không thỏa minSup)t(AD) = t(A) ∩ t(D) = 1345 ∩ 135 = 135

t(AE) = t(A) ∩ t(E) = 1345 ∩ 234 = 34 (bị loại vì không thỏa minSup)t(B) = 12345:t(BC) = t(B) ∩ t(C) = 12345 ∩ 135 = 245

t(BD) = t(B) ∩ t(D) = 12345 ∩ 135 = 135t(BE) = t(B) ∩ t(E) = 12345 ∩ 234 = 234t(C) = 245 : t(CD) = t(C) ∩ t(D) = 245 ∩ 135 = 5 (bị loại vì không thỏa minSup)

t(CE) = t(C) ∩ t(E) = 245 ∩ 234 = 24 (bị loại vì không thỏa minSup)t(D) = 135 : t(DE) = t(D) ∩ t(E) = 135 ∩ 234 = 3 (bị loại vì không thỏa minSup)

Ngày đăng: 02/01/2019, 10:55

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w