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

Khai phá luật kết hợp với đa ngưỡng hỗ trợ tối thiểu

57 26 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 57
Dung lượng 1,63 MB

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

Nội dung

Phần lớn các thuật toán khai phá luật kết hợp gồm có hai giai đoạn: tìm tất cả tập phổ biến, sau đó từ các tập phổ biến này sinh ra các luật kết hợp với độ tin cậy thỏa ngưỡng tin cậy yê

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA

Trang 2

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG TP HCM

Cán bộ hướng dẫn khoa học: PGS TS Quản Thành Thơ

Cán bộ chấm nhận xét 1: TS Võ Thị Ngọc Châu

Cán bộ chấm nhận xét 2: PGS TS Hồ Bảo Quốc

Luận văn thạc sĩ được bảo vệ tại: Trường đại học Bách Khoa – ĐHQG TP.HCM, ngày 28 tháng 12 năm 2017

Thành phần hội đồng đánh giá luận văn thạc sỹ gồm:

1 PGS.TS Dương Tuấn Anh – Chủ tịch

2 TS Nguyễn Đức Dũng – Thư ký

3 TS Võ Thị Ngọc Châu – Phản biện 1

4 PGS TS Hồ Bảo Quốc – Phản biện 2

5 TS Trần Tuấn Anh – Ủy viên

Xác nhận của chủ tịch hội đồng đánh giá luận văn và Trưởng khoa quản lý chuyên ngành sau khi luận văn đã được sữa chữa (nếu có)

Trang 3

TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Đặng Ngọc Vũ MSHV:7140845

Ngày, tháng, năm sinh: 24/09/1990 Nơi sinh: Quảng Ngãi Ngành: Khoa học máy tính Mã số : 60.48.01.01 I TÊN ĐỀ TÀI: Khai phá luật kết hợp với đa ngưỡng hỗ trợ tối thiểu

II NHIỆM VỤ VÀ NỘI DUNG: Đề tài nghiên cứu bài toán khai phá luật kết hợp sử dụng đa ngưỡng hỗ trợ tối thiểu Xây dựng hệ thống, tiến hành thực nghiệm, so sánh và đánh giá kết quả thu được III NGÀY GIAO NHIỆM VỤ : 10/07/2017

IV NGÀY HOÀN THÀNH NHIỆM VỤ:03/12/2017

V CÁN BỘ HƯỚNG DẪN: PGS.TS QUẢN THÀNH THƠ

Tp HCM, ngày 03 tháng 12 năm 2017.

CÁN BỘ HƯỚNG DẪN

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

TRƯỞNG KHOA KH & KTMT (Họ tên và chữ ký)

Trang 4

LỜI CẢM ƠN

Tôi xin gửi lời cảm ơn chân thành và sâu sắc nhất đến Thầy PGS.TS Quản Thành Thơ, khoa Khoa Học và Kỹ Thuật Máy Tính - Đại Học Bách Khoa TPHCM Trong suốt quá trình thực hiện đề cương và luận văn cao học, Thầy đã tận tình hướng dẫn và giúp đỡ, tạo mọi điều kiện để tôi có thể hoàn thành tốt luận văn này

Tôi xin gửi lời cảm ơn chân thành đến các Thầy Cô trường Đại Học Bách Khoa TPHCM Các Thầy Cô đã tận tình chỉ dạy, trang bị cho tôi những kiến thức quý báu trong suốt thời gian tôi học cao học tại trường

Tôi xin gửi lời cảm ơn đến gia đình, bạn bè và các đồng nghiệp đã động viên tinh thần, tạo mọi điều kiện thuận lợi giúp tôi hoàn thành luận văn

Tp HCM, ngày 25 tháng 11 năm 2017

Học viên

Đặng Ngọc Vũ

Trang 5

TÓM TẮT LUẬN VĂN

Khai phá tri thức cũng như khai phá dữ liệu được ứng dụng rộng rãi trong nhiều lĩnh vực như thương mại, y tế, giáo dục Một trong những kỹ thuật khai phá dữ liệu quan trọng và then chốt trong các lĩnh vực trên là kỹ thuật khai phá luật kết hợp

Phần lớn các thuật toán khai phá luật kết hợp gồm có hai giai đoạn: tìm tất cả tập phổ biến, sau đó từ các tập phổ biến này sinh ra các luật kết hợp với độ tin cậy thỏa ngưỡng tin cậy yêu cầu Nếu đặt ngưỡng hỗ trợ tối thiểu quá cao khi đó có thể sẽ dẫn đến việc bỏ qua các tập phần tử hiếm Để vừa phát hiện các tập phổ biến cũng như các tập phần tử hiếm, giá trị ngưỡng hỗ trợ phải thiết lập rất thấp, khi đó gặp phải một vấn

đề đó là khi đặt ngưỡng hỗ trợ tối thiểu thấp, lúc này trong giai đoạn tìm tất cả các tập phổ biến các tập phổ biến sẽ được sinh ra là khá lớn, điều này làm cho chi phí cho việc tìm kiếm sẽ tăng lên

Trong luận văn này sẽ dựa trên hướng tiếp cận sử dụng đa ngưỡng hỗ trợ tối thiểu trong vấn đề tìm luật kết hợp Luận văn cũng đề xuất hướng xử lý song song hóa trong giai đoạn tìm các tập phổ biến trong việc phát hiện luật kết hợp sử dụng đa ngưỡng hỗ trợ tối thiểu

Trang 6

ABSTRACT

Mining knowledge as well as data mining is widely used in many fields such as trade,

health, education etc One of the important data mining techniques which plays a key

role in these fields is association rule mining

Association rule generation is usually split up into two separate steps: a minimum

support threshold is applied to find all frequent itemsets in a database, then a

minimum confidence constraint is applied to these frequent itemsets in order to form

rules If minimum support is set too high, rules that involve rare items will not be

found To find rules that involve both frequent and rare items, minsup has to be set

very low This may cause combinatorial explosion because those frequent items will

be associated with one another in all possible ways, this makes the cost of searching

increased

This thesis bases on the approach of using multiple minimum support thresholds in the

mining for association rules The thesis also proposes a parallelization approach for

finding frequent itemsets in mining association rule using multiple minimum supports

Trang 7

LỜI CAM ĐOAN

Tôi cam đoan rằng, ngoại trừ các kết quả tham khảo từ các công trình khác như đã ghi

rõ trong luận văn, các công việc trình bày trong luận văn là do chính tôi thực hiện và chưa có phần nội dung nào của luận văn này được nộp để lấy một bằng cấp ở trường này hoặc trường khác

Tp HCM, ngày 25 tháng 11 năm 2017

Học viên

Đặng Ngọc Vũ

Trang 8

MỤC LỤC

CHƯƠNG 1: GIỚI THIỆU 1

1.1 Lý do chọn đề tài 1

1.2 Mục tiêu và giới hạn của đề tài 2

1.3 Cấu trúc luận văn 2

CHƯƠNG 2: KIẾN THỨC NỀN TẢNG 3

2.1 Một số khái niệm cơ bản 3

2.1.1 Phát hiện tri thức và khai phá dữ liệu 3

2.1.2 Các kỹ thuật và hướng tiếp cận chính trong khai phá dữ liệu 3

2.1.3 Phân loại các hệ thống khai phá dữ liệu 4

2.2 Khai phá luật kết hợp 5

2.2.1 Các tính chất của luật kết hợp 7

2.2.2 Một số hướng tiếp cận luật kết hợp 8

2.3 Lập trình song song trên hệ thống đa nhân 9

2.3.1 Xử lý song song 9

2.3.2 Parallel Extensions trong Net Framework 10

CHƯƠNG 3: TỔNG THUẬT CÁC CÔNG TRÌNH LIÊN QUAN 13

3.1 Phát hiện luật kết hợp sử dụng đơn ngưỡng hỗ trợ tối thiểu 13

3.2 Phát hiện luật kết hợp sử dụng đa ngưỡng hỗ trợ tối thiểu 18

CHƯƠNG 4: PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ 20

4.1 Phương pháp tìm các tập phổ biến sử dụng đa ngưỡng hỗ trợ tối thiểu 20

4.2 Song song hóa trong giai đoạn tìm tập phổ biến 24

4.3 Giai đoạn sinh các luật kết hợp 25

4.3.1 Giải thuật sinh luật kết hợp 25

4.3.2 Tính toán độ tin cậy của luật khi sử dụng đa ngưỡng hỗ trợ tối thiểu 26

CHƯƠNG 5: THỰC NGHIỆM 28

5.1 Thực nghiệm 1: Tìm các tập phổ biến 28

5.1.1 Tập dữ liệu MUSHROOMS 8124 giao dịch 28

5.1.2 Tập dữ liệu C20D10K 10000 giao dịch 31

5.1.3 Tập dữ liệu BMS-POS 515597 giao dịch 35

Trang 9

CHƯƠNG 6: KẾT LUẬN 42

6.1 Tổng kết 42

6.2 Hướng phát triển 42

TÀI LIỆU THAM KHẢO………43

BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH VIỆT……….45

Trang 10

DANH MỤC HÌNH

Hình 2.1 Minh họa giải thuật tuần tự và song song với sự hỗ trợ của thư viện TPL 10

Hình 3.1 Sinh các tập ứng viên và tập phổ biến với ngưỡng hỗ trợ tối thiểu bằng 2 16

Hình 3.2 Ví dụ cây MIS Tree 19

Hình 5.1 So sánh thời gian thực thi giải thuật trên tập dữ liệu MUSHROOMS với LS = 0.2 30 Hình 5.2 So sánh thời gian thực thi giải thuật trên tập dữ liệu MUSHROOMS với LS = 0.15 30

Hình 5.3 So sánh thời gian thực thi giải thuật trên tập dữ liệu MUSHROOMS với LS = 0.1 31 Hình 5.4 So sánh thời gian thực thi giải thuật trên tập dữ liệu C20D10K với LS = 0.15 33

Hình 5.5 So sánh thời gian thực thi giải thuật trên tập dữ liệu C20D10K với LS = 0.1 34

Hình 5.6 So sánh thời gian thực thi giải thuật trên tập dữ liệu C20D10K với LS = 0.05 34

Hình 5.7 So sánh thời gian thực thi giải thuật trên tập dữ liệu BMS-POS với LS = 0.01 37

Hình 5.8 So sánh thời gian thực thi giải thuật trên tập dữ liệu BMS-POS với LS = 0.006 37

Hình 5.9 So sánh thời gian thực thi giải thuật trên tập dữ liệu BMS-POS với LS = 0.001 38

Trang 11

DANH MỤC BẢNG

Bảng 2.1 Ví dụ cơ sở dữ liệu giao dịch 5

Bảng 5.1 Mô tả các tập dữ liệu trong quá trình thực nghiệm hệ thống 28

Bảng 5.2 Số lượng tập phổ biến và thời gian thực thi với tập dữ liệu MUSHROOMS 29

Bảng 5.3 Số lượng tập phổ biến và thời gian thực thi với tập dữ liệu C20D10K 32

Bảng 5.4 Số lượng tập phổ biến và thời gian thực thi với tập dữ liệu BMS-POS 36

Bảng 5.5 Kết quả thực nghiệm với tập dữ liệu MUSHROOMS 39

Bảng 5.6 Kết quả thực nghiệm với tập dữ liệu C20D10K 40

Bảng 5.7 Kết quả thực nghiệm với tập dữ liệu BMS-POS 41

Trang 12

CHƯƠNG 1: GIỚI THIỆU

1.1 Lý do chọn đề tài

Hiện nay với sự phát triển như vũ bão của công nghệ thông tin và việc ứng dụng công nghệ thông tin trong nhiều lĩnh vực của đời sống, kinh tế xã hội, trong nhiều năm qua lượng thông tin của nhân loại được lưu trữ trong các hệ thống cơ sở dữ liệu ngày một tăng, sự tích lũy dữ liệu này xảy ra với một tốc độ bùng nổ Lượng dữ liệu khổng lồ này thực sự là một nguồn “tài nguyên” rất giá trị bởi thông tin là yếu tố then chốt trong nhiều lĩnh vực Khai phá dữ liệu (data mining) đã giúp người sử dụng thu được những tri thức hữu ích từ những cơ sở dữ liệu và các kho dữ liệu khổng lồ

Hiện nay lĩnh vực khai phá dữ liệu đã và đang được ứng dụng rộng rãi trong rất nhiều lĩnh vực Trong lĩnh vực khai phá dữ liệu, luật kết hợp (association rule) được dùng để chỉ sự kết hợp hay tương quan giữa các phần tử dữ liệu "điều kiện → hệ quả" giữa các phần tử dữ liệu (chẳng hạn, sự xuất hiện của tập mặt hàng này "kéo theo" sự xuất hiện của tập mặt hàng khác) trong một tập bao gồm nhiều đối tượng

dữ liệu (chẳng hạn, tập các giao dịch mua hàng) Phát hiện luật kết hợp là phát hiện các mối quan hệ đó trong phạm vi của một tập dữ liệu đã cho

Lý thuyết luật kết hợp được Rakesh Agrawal và cộng sự giới thiệu lần đầu tiên vào năm 1993 [1] và đã trở thành một trong những hướng nghiên cứu khai phá dữ liệu quan trọng, đặc biệt trong những năm gần đây Phát hiện luật kết hợp đã được ứng dụng thành công trong nhiều lĩnh vực kinh tế - xã hội khác nhau như thương mại, y tế, sinh học, tài chính-ngân hàng…

Trong các nghiên cứu liên quan đến phát hiện luật kết hợp trong [1, 2, 12, 16] các tác giả với hướng tiếp cận sử dụng một ngưỡng hỗ trợ trong việc phát hiện các luật kết hợp Tuy nhiên việc sử dụng một ngưỡng hỗ trợ dẫn đến vấn đề liên quan đến phần tử hiếm (Rare item problem) [10] Luật kết hợp liên quan đến phần tử hiếm mặc dù tần suất xảy ra thấp nhưng trong nhiều trường hợp chúng lại là các luật rất có giá trị, chẳng hạn như trong công trình nghiên cứu [17] đã chỉ ra luật kết hợp rất có ý nghĩa là luật kết hợp hiếm “ăn chay”→ “bệnh tim mạch” trong cơ sở dữ liệu điều trị bệnh nhân của một bệnh viện tại Pháp

Trang 13

1.2 Mục tiêu và giới hạn của đề tài

Trong phương pháp phát hiện luật kết hợp sử dụng một ngưỡng hỗ trợ sẽ gặp vấn

đề đó là nếu đặt ngưỡng hỗ trợ tối thiểu nhỏ khi đó các tập phổ biến sẽ được sinh ra khá lớn điều này làm cho chi phí cho việc tìm kiếm sẽ tăng lên Tuy nhiên, nếu đặt ngưỡng hỗ trợ lớn khi đó có thể sẽ dẫn đến việc bỏ qua các tập phần tử hiếm

Đề tài luận văn này tập trung nghiên cứu, xây dựng hệ thống và đánh giá phương pháp khai phá luật kết hợp sử dụng đa ngưỡng hỗ trợ tối thiểu nhằm tìm ra các luật kết hợp liên quan trên tập các tập dữ liệu kiểm nghiệm

1.3 Cấu trúc luận văn

Chương 1, Giới thiệu: giới thiệu tổng quan về đề tài, mục tiêu nghiên cứu và giới hạn của đề tài

Chương 2, Kiến thức nền tảng: trình bày tổng quan các khái niệm cơ bản về khai phá luật kết hợp, lập trình song song, các công trình nghiên cứu liên quan trong vấn đề khai phá luật kết hợp

Chương 3, Tổng thuật các công trình liên quan: khảo sát các công trình nghiên cứu

đã đăng tải liên quan

Chương 4, Phương pháp giải quyết vấn đề: trình bày phương pháp khai phá luật kết hợp sử dụng đa ngưỡng hỗ trợ tối thiểu, hướng tiếp cận song song trong giai đoạn tìm tập phổ biến

Chương 5, Thực nghiệm: chạy thực nghiệm, trình bày các kết quả thực nghiệm, so sánh và đánh giá hệ thống trên các tập dữ liệu khác nhau

Chương 6, Kết luận: đưa ra kết luận và hướng phát triển tiếp theo của đề tài trong tương lai

Trang 14

CHƯƠNG 2: KIẾN THỨC NỀN TẢNG

2.1 Một số khái niệm cơ bản

2.1.1 Phát hiện tri thức và khai phá dữ liệu

Quá trình khai phá tri thức thường gồm có các bước chính sau:

 Trích chọn dữ liệu (data selection): là bước trích chọn những tập dữ liệu cần được khai phá từ các tập dữ liệu lớn (databases, data warehouses, data repositories) ban đầu theo một số tiêu chí nhất định

 Tiền xử lý dữ liệu (data preprocessing): là bước làm sạch dữ liệu (xử lý với dữ liệu không đầy đủ, dữ liệu nhiễu, dữ liệu không nhất quán, v.v.), rút gọn dữ liệu (sử dụng hàm nhóm và tính tổng, các phương pháp nén dữ liệu, sử dụng histograms, lấy mẫu, v.v.), rời rạc hóa dữ liệu (rời rạc hóa dựa vào histograms, dựa vào entropy, dựa vào phân khoảng, v.v.) Sau bước này, dữ liệu sẽ nhất quán, đầy đủ, được rút gọn, và được rời rạc hóa

 Biến đổi dữ liệu (data transformation): đây là bước chuẩn hóa và làm mịn dữ liệu để đưa dữ liệu về dạng thuận lợi nhất nhằm phục vụ cho các kỹ thuật khai phá ở bước sau

 Khai phá dữ liệu (data mining): đây là bước áp dụng những kỹ thuật khai phá (phần nhiều là các kỹ thuật của machine learning) để khai phá, trích chọn được những mẫu (patterns) thông tin, những mối liên hệ (relationships) đặc biệt trong dữ liệu Đây được xem là bước quan trọng và tốn nhiều thời gian nhất của toàn quá trình KDD

 Biểu diễn và đánh giá tri thức (knowledge representation and evaluation): những mẫu thông tin và mối liên hệ trong dữ liệu đã được khai phá ở bước trên được chuyển dạng và biểu diễn ở một dạng gần gũi với người sử dụng như đồ thị, cây, bảng biểu, luật, v.v Đồng thời bước này cũng đánh giá những tri thức khám phá được theo những tiêu chí nhất định

2.1.2 Các kỹ thuật và hướng tiếp cận chính trong khai phá dữ liệu

Các hướng tiếp cận của KPDL có thể được phân chia theo chức năng hay lớp các bài toán khác nhau Sau đây là một số hướng tiếp cận chính:

Trang 15

- Phân lớp và dự đoán (classification & prediction): xếp một đối tượng vào một

trong những lớp đã biết trước Ví dụ: phân lớp vùng địa lý theo dữ liệu thời tiết

Hướng tiếp cận này thường sử dụng một số kỹ thuật của machine learning như

cây quyết định (decision tree), mạng nơ ron nhân tạo (neural network), v.v

Phân lớp còn được gọi là học có giám sát (supervised learning)

- Luật kết hợp (association rules): là dạng luật biểu diễn tri thức ở dạng khá đơn

giản Ví dụ: “60 % nam giới vào siêu thị nếu mua bia thì có tới 80% trong số

họ sẽ mua thêm thịt bò khô” Luật kết hợp được ứng dụng nhiều trong lĩnh vực kinh doanh, y học, tin-sinh, tài chính & thị trường chứng khoán, v.v

- Khai phá chuỗi theo thời gian (sequential/temporal patterns): tương tự như

khai phá luật kết hợp nhưng có thêm tính thứ tự và tính thời gian Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực tài chính và thị trường chứng khoán vì nó có tính dự báo cao

- Phân cụm (clustering/segmentation): xếp các đối tượng theo từng cụm (số lượng cũng như tên của cụm chưa được biết trước Phân cụm còn được gọi là

học không giám sát (unsupervised learning)

2.1.3 Phân loại các hệ thống khai phá dữ liệu

Khai phá dữ liệu là một công nghệ tri thức liên quan đến nhiều lĩnh vực nghiên cứu khác nhau như cơ sở dữ liệu, máy học (machine learning), giải thuật, trực quan hóa (visualization), v.v Có thể phân loại các hệ thống khai phá dữ liệu dựa trên các tiêu chí khác nhau

- Phân loại dựa trên kiểu dữ liệu được khai phá: cơ sở dữ liệu (CSDL) giao dịch (transactional database), CSDL quan hệ (relational database), kho dữ liệu (data warehouse), CSDL hướng đối tượng, CSDL không gian (spatial database), CSDL đa phương tiện (multimedia database), CSDL Text và WWW, v.v

- Phân loại dựa trên dạng tri thức được khám phá: tóm tắt và mô, luật kết hợp, phân lớp (classification), phân cụm, khai phá chuỗi , v.v

- Phân loại dựa trên kỹ thuật được áp dụng: hướng CSDL (database oriented), phân tích trực tuyến (OnLine Analytical Processing – OLAP), machine learning (cây quyết định, mạng nơ ron nhân tạo, k-min, giải thuật di truyền, máy vectơ hỗ trợ - SVM, tập thô, tập mờ, v.v.), trực quan hóa visualization), v.v

Trang 16

- Phân loại dựa trên lĩnh vực được áp dụng: kinh doanh bán lẻ, tài chính và thị trường chứng khoán, truyền thông, tin sinh học, y học, ,web mining, v.v

Bảng 2.1 Ví dụ cơ sở dữ liệu giao dịch

Định nghĩa luật kết hợp: Cho tập phần tử I = {I1,I2,…, In} Một luật kết hợp là một phép kéo theo, dạng AB, trong đó: AI, BI, và AB =

Độ hỗ trợ:

Cho tập phần tử A, A I Độ hỗ trợ (support) của tập phần tử A trong CSDL giao dịch D, được ký hiệu là sup(A), là tỷ lệ phần trăm số giao dịch trong CSDL có chứa A trên tổng số các giao dịch trong D:

Trang 17

support(XY) = P(XY)

Ta có: 0 ≤ sup(XY) ≤ 1

Luật XY có trong tập giao dịch D với độ hỗ trợ s (support) là tỷ lệ các giao dịch trong D mà có chứa cả X và Y, tức là phép hợp XY, so với tổng số giao dịch trong

D Tỷ lệ này tương đương với xác suất P(XY) Chẳng hạn, độ hỗ trợ s = 1% nghĩa

là có 1% số giao dịch trên tổng số giao dịch trong CSDL thể hiện X và Y cùng có mặt

Độ tin cậy:

Luật kết hợp có dạng X cY , trong đó X, Y là các tập phần tử thỏa mãn điều

kiện X Y =, X được gọi là tiền đề, Y được gọi là kết quả của luật, c là độ tin cậy (confidence) của luật

Luật XY có độ tin cậy c trong tập giao tác D, với c là tỷ lệ các giao dịch trong D chứa X và cũng chứa cả Y, so với tổng số giao dịch có chứa X

Trang 18

Độ tin cậy (confidence) của luật kết hợp XY, ký hiệu là conf(XY), là tỷ lệ phần trăm giữa số giao dịch chứa XY và số giao dịch chứa X trong CSDL giao dịch

Khi đó độ tin cậy của luật XY được biểu diễn bằng:

hỗ trợ mỗi X hoặc Y, khi đó luật XYZ có độ hỗ trợ 0%

Tương tự : XY  XZ thì không nhất thiết XYZ là đúng

- Tính chất 2: Không tách luật

Nếu XYZ thì XZ và YZ chưa chắc đã xảy ra

Trang 19

Ví dụ trường hợp Z có mặt trong một giao dịch chỉ khi cả hai X và Y cũng có mặt, tức là sup(XY) = sup(Z), nếu độ hỗ trợ của X và Y thỏa mãn s(X) > s(XY) và s(Y)

> s(XY) thì hai luật riêng biệt sẽ không đủ độ tin cậy

- Tính chất 3: Các luật kết hợp không có tính bắc cầu

Nếu XY và YZ thì không thể suy ra XZ

2.2.2 Một số hướng tiếp cận luật kết hợp

Luật kết hợp cho đến nay đã được nghiên cứu và phát triển theo nhiều hướng khác nhau Dưới đây là một số hướng chính:

- Luật kết hợp nhị phân (Binary association rule hay Boolean association rule):

là hướng nghiên cứu đầu tiên của luật kết hợp Theo luật này, các phần tử chỉ quan tâm là xuất hiện hay không trong cơ sở dữ liệu giao dịch Thuật toán tiêu biểu nhất của khai phá dạng luật này là thuật toán Apriori [2] và các biến thể của thuật toán này

Ví dụ luật: “Mua bánh mì = ‘yes’  mua đường= ‘yes’ => mua sữa = ‘yes’  mua bơ

= ‘yes’, với độ hỗ trợ 20% và độ tin cậy 80%”

- Luật kết hợp có thuộc tính số và thuộc tính hạng mục (Quantitative and

categorial association rule): các cơ sở dữ liệu thực tế thường có thuộc tính đa dạng như nhị phân, số, mục (categorial) Vì vậy để khai phá luật kết hợp với các cơ sở dữ liệu này các nhà nghiên cứu đề xuất một số phương pháp rời rạc hóa nhằm chuyển dạng luật này về dạng nhị phân để có thể áp dụng các thuật toán đã có [13] Một ví dụ

Trang 20

về dạng luật này là: “Tuổi  ‘30 39’  Thu nhập ‘42000 48000’=> Mua tivi có độ phân giải cao”

- Luật kết hợp tiếp cận theo hướng tập thô (mining association rule base on

rough set): tìm kiếm luật kết hợp dựa trên lí thuyết tập thô

- Luật kết hợp nhiều mức (multi-level association rules): ngoài các dạng luật

trên, các nhà nghiên cứu còn đề xuất một hướng nghiên cứu nữa về luật kết hợp là luật

kết hợp nhiều mức [7] [15] Luật kết hợp nhiều mức liên quan đến các phần tử, thuộc

tính ở các mức trừu tượng khác nhau, ví dụ như các luật:

Tuổi(X, “30 39”) → Mua(X, “laptop computer”)

ƒ Tuổi(X, “30 39”) → Mua(X, “computer”)

- Luật kết hợp mờ (fuzzy association rule): Với những khó khăn gặp phải khi rời

rạc hóa các thuộc tính số, các nhà nghiên cứu đã đề xuất luật kết hợp mờ nhằm khắc phục những hạn chế trên và chuyển luật kết hợp về một dạng tự nhiên hơn, gần gũi

hơn với người sử dụng [3][4] Một ví dụ về dạng luật này: “Ho khan =

‘yes’  sốt cao  đau cơ = ‘yes’  khó thở = ‘yes’ => Bị nhiễm SARS = ‘yes’, với độ

hỗ trợ 4% và độ tin cậy 85%” Trong luật này, điều kiện sốt cao ở vế trái của luật là

một thuộc tính đã được mờ hóa

2.3 Lập trình song song trên hệ thống đa nhân

2.3.1 Xử lý song song

Xử lý song song hay tính toán song song là quá trình xử lý thông tin trong đó nhấn mạnh việc nhiều đơn vị dữ liệu được xử lý đồng thời bởi một hay nhiều bộ xử lý để giải quyết một bài toán Trái ngược với xử lý tuần tự, đòi hỏi phải xử lý các công việc theo thứ tự tuần tự

Có hai kiểu song song đó là:

Song song về dữ liệu (data parallelism): là cơ chế sử dụng nhiều đơn vị xử lý thực hiện cùng một thao tác trên nhiều đơn vị dữ liệu

Song song lệnh (control parallelism): là cơ chế trong đó nhiều thao tác khác nhau tác động lên nhiều đơn vị dữ liệu khác nhau một cách đồng thời

Ngày nay, các bộ vi xử lý đa nhân (multi-core) cho phép nhiều luồng xử lý (thread) ngày càng phổ biến Khi lập trình song song người lập trình tập trung vào mô

Trang 21

hệ thống Có rất nhiều mô hình lập trình song song như mô hình dùng bộ nhớ chia sẻ (như Pthreads và OpenMP), mô hình lập trình truyền thông điệp (như Message Passing Interface (MPI)) Những mô hình này cung cấp công cụ mạnh mẽ cho lập trình song song, chẳng hạn như mô hình truyền thông điệp là một trong những mô hình lâu đời và được ứng dụng rộng rãi trong lập trình song song Tuy nhiên đối với

mô hình lập trình chia sẻ bộ nhớ cổ điển, chương trình được song song hóa cho các luồng, người lập trình phải quản lý công việc tạo ra các luồng và phân công công việc cho các luồng, quản lý sự tồn tại các luồng, bên cạnh đó cần hiểu rõ về mặt kiến trúc vật lý (chẳng hạn như có bao nhiều lõi của bộ xử lý là đang sẵn sàng) để có thể đạt được những cải tiến về mặt hiệu năng

2.3.2 Parallel Extensions trong Net Framework

Parallel Extensions là một sự bổ sung cho các thư viện của Microsoft bắt đầu từ nền tảng NET Framework 4.0 Parallel Extensions gồm có Task Parallel Library (TPL), Parallel LINQ và nhiều lớp hỗ trợ khác cho việc lập trình xử lý song song trên nền tảng Net Những tính năng này giúp đơn giản hóa việc phát triển lập trình song song, loại bỏ sự phức tạp khi viết mã song song của các nhà phát triển để giúp họ tập trung vào giải quyết các vấn đề chính yếu về mặt nghiệp vụ

Lớp Parallel cung cấp các phương thức Parallel.For and Parallel.Foreach cho phép song song hóa các tác vụ vòng lặp truyền thống Với chương trình tuần tự, các vòng lặp for, foreach sẽ thực hiện tuần tự từng vòng lặp cho đến khi kết thúc, trong trường hợp CPU rỗi thì vẫn phải chờ sau khi thực hiện xong một vòng lặp rồi mới thực hiện vòng lặp tiếp theo Khi sử dụng các vòng lặp song song sẽ khắc phục được nhược điểm của lập trình tuần tự, các vòng lặp sẽ được thực thi đồng thời giúp tăng hiệu năng tính toán

Hình 2.1 Minh họa giải thuật tuần tự và song song với sự hỗ trợ của thư viện

TPL

Trang 22

Xét ví dụ nhân hai ma trận sau đây:

Giải thuật nhân ma trận A và B với giải thuật tuần tự như sau:

void MultiplyMatricesSequential(double[,] matA, double[,] matB, double[,] result){

for (int i = 0; i < matARows; i++)

Trang 23

}

Trong chương 4 chúng tôi sẽ trình bày hướng tiếp cận song song hóa trong giai đoạn tìm các tập phổ biến dựa vào thư viện TPL của Net Framework

Trang 24

CHƯƠNG 3: TỔNG THUẬT CÁC CÔNG

TRÌNH LIÊN QUAN

Trong chương này sẽ trình bày một số nghiên cứu liên quan đến việc tìm luật kết hợp trong lĩnh vực khai phá dữ liệu cũng như các vấn đề mà đề tài luận văn quan tâm

3.1 Phát hiện luật kết hợp sử dụng đơn ngưỡng hỗ trợ tối thiểu

Trong hướng tiếp cận tìm tất cả các tập phổ biến để từ đó phát hiện ra các luật kết hợp từ các tập phổ biến, công trình nghiên cứu [2] đã đề xuất thuật toán Apriori để tìm tất cả các tập phổ biến từ cơ sở dữ liệu, đây là thuật toán tìm tập phổ biến nổi tiếng

Thuật toán Apriori:

Input: Tập các giao dịch D, giá trị ngưỡng support tối thiểu minsup

Output: L- tập phần tử phổ biến trong D

Thuật toán:

L1={large 1-itemset (tập 1- mục phổ biến)}

begin

Ck=apriori-gen(Lk-1); //sinh ra tập ứng cử viên từ Lk-1

begin

CT = subset(Ck, T); //lấy tập con của T là ứng cử viên trong Ck

Trang 25

c.count++; //tăng bộ đếm tần suất thêm 1 đơn vị

phần tử mà giá trị độ hỗ trợ của nó lớn hơn hoặc bằng minsup

Trong các giai đoạn thứ k sau đó (k > 1), mỗi giai đoạn gồm có 2 pha Trước hết các large(k-1)-itemset (tập k-1- phần tử phổ biến) trong tập Lk-1 được sử dụng để sinh

ra các tập ứng cử viên (candidate itemset) Ck, bằng cách thực hiện hàm Apriori_gen Hàm Apriori_gen với đối số là Lk-1 (tập các large(k-1)-itemset) sẽ cho lại kết quả là một superset, tập của tất cả các large k – itemset

Trong giải thuật Apriori, bước loại bỏ (prunning) dựa trên độ hỗ trợ được dựa theo nguyên tắc sau:

Nếu một tập phần tử là thường xuyên, thì tất cả các tập con (subsets) của nó đều là các tập phần tử thường xuyên

Nếu một tập phần tử là không thường xuyên (not frequent) thì tất cả các tập cha (supersets) của nó đều là các tập mục không thường xuyên

Trang 26

Ví dụ: Xét cơ sở dữ liệu chứa các giao dịch sau:

T1 T2 T3 T4 T5 T6 T7 T8 T9

I1, I2, I5 I2, I4 I2, I3 I1, I2, I4 I1, I3 I2, I3 I1, I3 I1, I2, I3, I5 I1, I2, I3

Trong bước lặp đầu tiên, mỗi phần tử của tập dữ liệu đều được xem là ứng viên tập

1 phần tử C1 Giải thuật sẽ duyệt qua tất cả các giao dịch để đếm số lần xuất hiện của mỗi phần tử này

Giả sử ngưỡng hỗ trợ tối thiểu được thiết lập là 2 (tức min_sup = 2) Tập phổ biến

L1 được xác định từ tập C1, trong ví dụ này tất cả các phần tử trong tập ứng viên C1đều thỏa ngưỡng hỗ trợ tối thiểu

Tiếp theo để tìm tập phổ biến 2 phần tử L2, giải thuật sẽ thực hiện phép nối

L1L1 để sinh ra các tập ứng viên C2 Không có ứng viên nào trong tập C2 bị loại

bỏ trong giai đoạn cắt vì mỗi tập con của ứng viên trong C2 đều là tập phổ biến

Độ hỗ trợ của các ứng viên trong tập C2 sẽ được tính toán, bước tiếp theo sẽ thu được tập phổ biến L2 từ các ứng viên trong C2 mà thỏa điều kiện ngưỡng hỗ trợ tối thiểu

Trang 27

Duyệt D tìm

số lần xuất hiện của mỗi ứng viên

So sánh độ hỗ trợ của các ứng viên với ngưỡng hỗ trợ tối thiểu

Sinh tập

ứng viên

C 3 từ L 2

Duyệt D tìm số lần xuất hiện của mỗi ứng viên

So sánh độ hỗ trợ của các ứng viên với ngưỡng hỗ trợ tối thiểu

Hình 3.1 Sinh các tập ứng viên và tập phổ biến với ngưỡng hỗ trợ tối thiểu bằng

2

Tập phần tử Số lần

xuất hiện {I1}

{I1, I2, I5}

2

2

Tập phần tử Số lần

xuất hiện {I1, I2, I3}

{I1, I2, I5}

2

2

Tập phần tử

{I1, I2, I3}

{I1, I2, I5}

C 3

C 3

Trang 28

Quá trình sinh tập ứng viên C3 được mô tả như sau:

a) Thực hiện phép nối L2L2 ta thu được

L2L2 = {{I1, I2}, {I1, I3}, {I1, I5}, {I2, I3}, {I2, I4}, {I2, I5}}

{{I1, I2}, {I1, I3}, {I1, I5}, {I2, I3}, {I2, I4}, {I2, I5}}

b) Thực hiện bước cắt theo tính chất Apriori: Tất cả các tập con không rỗng của một tập phổ biến thì phải là tập phổ biến

 Các tập con 2 phần tử của {I1, I2, I3} là {I1, I2}, {I1, I3} và {I2, I3} Tất cả các tập con này đều thuộc L2 do đó sẽ giữ {I1, I2, I3} trong C3

 Các tập con 2 phần tử của {I1, I2, I5} là {I1, I2}, {I1, I5} và {I2, I5} Tất cả các tập con này đều thuộc L2 do đó sẽ giữ {I1, I2, I5} trong C3

 Các tập con 2 phần tử của {I1, I3, I5} là {I1, I3}, {I1, I5} và {I3, I5} {I3, I5} không thuộc L2 do đó nó không phải là tập phổ biến vì vậy {I1, I3, I5} sẽ bị loại khỏi C3

 Các tập con 2 phần tử của {I2, I3, I4} là {I2, I3}, {I2, I4} và {I3, I4} {I3, I4} không thuộc L2 do đó nó không phải là tập phổ biến vì vậy {I2, I3, I4} sẽ bị loại khỏi C3

 Các tập con 2 phần tử của {I2, I3, I5} là {I2, I5}, {I2, I5} và {I3, I5} {I3, I5} không thuộc L2 do đó nó không phải là tập phổ biến vì vậy {I2, I3, I5} sẽ bị loại khỏi C3

 Các tập con 2 phần tử của {I2, I4, I5} là {I2, I4}, {I2, I5} và {I4, I5} {I4, I5} không thuộc L2 do đó nó không phải là tập phổ biến vì vậy {I2, I4, I5} sẽ bị loại khỏi C3

c) Do đó ta thu được C 3 = {{I1, I2, I3}, {I1, I2, I5}} sau giai đoạn cắt

Duyệt qua cơ sở dữ liệu D để tìm số lần xuất hiện của các phần tử trong tập ứng viên C3 và so sánh với ngưỡng hỗ trợ tối thiểu ta thu được tập L3= {{I1, I2, I3}, {I1, I2, I5}}

Giải thuật tiếp tục thực hiện phép nối L3L3 để sinh ra tập ứng viên 4 phần tử

C4 Kết quả của phép nối thu được tập phần tử { I1, I2, I3, I5}, tập phần tử này bị loại

vì tập con của tập này là {I2, I3, I5} không phải là tập phổ biến Do đó C4 =  vì vậy

Ngày đăng: 26/01/2021, 06:58

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Agrawal R., Imielinski T., and Swami A. (1993), “Mining Association Rules between Sets of Items in Large Databases”, Proc. of ACM SIGMOD Conf.Management of Data, pp. 207-216 Sách, tạp chí
Tiêu đề: Mining Association Rules between Sets of Items in Large Databases
Tác giả: Agrawal R., Imielinski T., and Swami A
Năm: 1993
[2] Agrawal, R. and Srikant, R. (1994), “Fast algorithms for mining association rules” VLDB-94 Sách, tạp chí
Tiêu đề: Fast algorithms for mining association rules
Tác giả: Agrawal, R. and Srikant, R
Năm: 1994
[3] A. Gyenesei (2000), “A fuzzy approach for mining quantitative association rules”. Technical Report 336, Turku Centre for Computer Science Sách, tạp chí
Tiêu đề: A fuzzy approach for mining quantitative association rules
Tác giả: A. Gyenesei
Năm: 2000
[4] C. Kuok, A. Fu, and M. Wong (1998), “Mining fuzzy association rules in databases”. ACM SIGMOD Record, Volume 27 Issue 1, pp. 41 - 46 Sách, tạp chí
Tiêu đề: Mining fuzzy association rules in databases
Tác giả: C. Kuok, A. Fu, and M. Wong
Năm: 1998
[5] Han J., Pei J., Yin J., and Mao R. (2004), “Mining Frequent Patterns without Candidate Generation: A Frequent-Pattern Tree Approach”, Data Mining and Knowledge Discovery, Vol. 8, pp. 53-87 Sách, tạp chí
Tiêu đề: Mining Frequent Patterns without Candidate Generation: A Frequent-Pattern Tree Approach
Tác giả: Han J., Pei J., Yin J., and Mao R
Năm: 2004
[6] Hu, Y. H., &amp; Chen, Y. L. (2006), “Mining association rules with multiple minimum supports: A new mining algorithm and a support tuning mechanism”.Decision Support Systems, 42, 1–24 Sách, tạp chí
Tiêu đề: Mining association rules with multiple minimum supports: A new mining algorithm and a support tuning mechanism
Tác giả: Hu, Y. H., &amp; Chen, Y. L
Năm: 2006
[7] J. Han, Y. Fu (1995), "Discovery of Multiple-Level Association Rules from Large Databases", Proc. 21th Int'l Conf. Very Large Data Bases, pp. 420-431 Sách, tạp chí
Tiêu đề: Discovery of Multiple-Level Association Rules from Large Databases
Tác giả: J. Han, Y. Fu
Năm: 1995
[8] Kiran R. U., and Reddy P. K. (2009), “An Improved Multiple Minimum Support Based Approach to Mine Rare Association Rules”, Proc. of CIDM 2009, pp. 340-347 Sách, tạp chí
Tiêu đề: An Improved Multiple Minimum Support Based Approach to Mine Rare Association Rules
Tác giả: Kiran R. U., and Reddy P. K
Năm: 2009
[9] Liu B., Hsu W., and Ma Y. (1999), “Mining Association Rules with Multiple Minimum Supports”, Proc. of KDD 1999, pp. 337-341 Sách, tạp chí
Tiêu đề: Mining Association Rules with Multiple Minimum Supports
Tác giả: Liu B., Hsu W., and Ma Y
Năm: 1999
[10] Mannila, H. (1998), "Database methods for data mining” KDD-98 tutorial Sách, tạp chí
Tiêu đề: Database methods for data mining
Tác giả: Mannila, H
Năm: 1998
[11] Ng. R. T. Lakshmanan, L. Han, J. (1998) “Exploratory mining and pruning optimizations of constrained association rules.” SIGMOD-98 Sách, tạp chí
Tiêu đề: Exploratory mining and pruning optimizations of constrained association rules
[12] Park, J. S. Chen, M. S. and Yu, P. S, (1995) “An effective hash based algorithm for mining association rules.” SIGMOD-95, pp. 175-186 Sách, tạp chí
Tiêu đề: An effective hash based algorithm for mining association rules
[13] R.J. Miller, Y. Yang (1997), "Association Rules Over Interval Data", Proc. 1997 ACM-SIGMOD Int'l Conf. Management of Data, pp. 452-461 Sách, tạp chí
Tiêu đề: Association Rules Over Interval Data
Tác giả: R.J. Miller, Y. Yang
Năm: 1997
[14] R. Agrawal, J. Shafer (1996), "Parallel Mining of Association Rules", IEEE Trans. Knowledge and Data Eng., vol. 8, no. 6, pp. 962-969 Sách, tạp chí
Tiêu đề: Parallel Mining of Association Rules
Tác giả: R. Agrawal, J. Shafer
Năm: 1996
[15] R. Srikant, R. Agrawal (1995), "Mining Generalized Association Rules", Proc. 21th Int'l Conf. Very Large Data Bases, pp. 407-419 Sách, tạp chí
Tiêu đề: Mining Generalized Association Rules
Tác giả: R. Srikant, R. Agrawal
Năm: 1995
[16] Rastogi, R. and Shim, K. (1998), “Mining optimized association rules with categorical and numeric attributes.” ICDE –98 Sách, tạp chí
Tiêu đề: Mining optimized association rules with categorical and numeric attributes
Tác giả: Rastogi, R. and Shim, K
Năm: 1998
[17] Szathmary L., Valtchev P., and Napoli A. (2010), “Generating Rare Association Rules Using Minimal Rare Itemsets Family”, International Journal of Software and Informatics, Vol. 4 (3), pp. 219-238 Sách, tạp chí
Tiêu đề: Generating Rare Association Rules Using Minimal Rare Itemsets Family
Tác giả: Szathmary L., Valtchev P., and Napoli A
Năm: 2010
[18] Yun H., Ha D., Hwang B., Ryu K. H. (2003), “Mining Association Rules on Significant Rare Data Using Relative Support”, The Journal of Systems and Software 67, pp. 181-191 Sách, tạp chí
Tiêu đề: Mining Association Rules on Significant Rare Data Using Relative Support
Tác giả: Yun H., Ha D., Hwang B., Ryu K. H
Năm: 2003
[20] Frequent Itemset Mining Dataset Repository, http://fimi.ua.ac.be/data/ Link

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