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

Ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web

74 806 1

Đ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 74
Dung lượng 1,87 MB

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

Nội dung

Dung lượng dữ liệu đọc vào từ tập tin web log có thể quá lớn đến mức không thể áp dụng trực tiếp các giải thuật khai phá luật kết hợp do sự hạn chế về bộ nhớ trong của hệ thống tính toán

Trang 1

MỤC LỤC

LỜI CAM ĐOAN 1

LỜI CẢM ƠN 2

MỤC LỤC 3

DANH MỤC CÁC BẢNG 5

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 6

CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN 9

1.1 Khai phá dữ liệu sử dụng web 9

1.2 Phát biểu bài toán khai phá luật kết hợp từ dữ liệu sử dụng web 11

1.3 Hướng tiếp cận của đề tài 12

1.4 Kết luận chương 1 13

CHƯƠNG 2: LUẬT KẾT HỢP VÀ CÁC KỸ THUẬT KHAI PHÁ LUẬT KẾT HỢP 14

2.1 Khái niệm về luật kết hợp và tập phổ biến 14

2.2 Luật kết hợp trong dữ liệu sử dụng web 15

2.3 Một số nghiên cứu về khai phá luật kết hợp 15

2.4 Khai phá sử dụng Web với giải thuật Apriori 19

2.5 Các kỹ thuật khai phá song song luật kết hợp 24

2.6 Những vấn đề đặt ra khi khai phá luật kết hợp từ dữ liệu web log 30

2.7 Kết luận chương 2 36

CHƯƠNG : TƯ TƯ NG CHIA Đ T Ị T ONG KHAI PHÁ LUẬT KẾT HỢP 37

3.1 p dụng chiến lược Chia để trị trong bài toán khai phá luật kết hợp 37

3.2 Cơ sở toán học cho việc áp dụng chiến lược Chia để trị 38

3.3 Mô hình hệ thống khai phá luật kết hợp từ dữ liệu sử dụng web dựa trên chiến lược Chia để trị 40

3.4 Tư tưởng Chia để trị trong khai phá song song luật kết hợp từ dữ liệu sử dụng web 46

3.5 Sinh các tập phổ biến cục bộ 50

Trang 2

3.6 Sinh các luật kết hợp mạnh từ các tập phổ biến 51

3.7 Kết luận chương 3 52

CHƯƠNG 4: KẾT QUẢ THỰC NGHIỆM 54

4.1 Đặc trưng của dữ liệu thực nghiệm 54

4.2 Các thao tác tiền xử lý dữ liệu 54

4.2.1 Lọc dữ liệu 55

4.2.2 Gán nhãn thời gian 57

4.2.3 Phân định các phiên truy cập 58

4.3 Một số kết quả thực nghiệm 63

4.3.1 Mục tiêu của quá trình thực nghiệm 63

4.3.2 Các hệ thống tham gia vào quá trình thực nghiệm 64

4.3.3 Tổ chức dữ liệu và cách thức tiến hành thực nghiệm 65

4.3.4 Kết quả thực hiện và đánh giá 66

4.4 Kết luận chương 4 71

KẾT LUẬN 72

TÀI LIỆU THAM KHẢO 74

Trang 3

DANH MỤC CÁC BẢNG

Bảng 2.1: Các phiên truy cập của một người dùng 21

Bảng 2.2: Cơ sở dữ liệu giao dịch D 22

Bảng 2 : Các mẫu web log của một số máy chủ web được thu thập và cung cấp tại trang web http://ita.ee.lbl.gov 34

Bảng 4.1: Các tập tin dữ liệu thực nghiệm 54

Bảng 4.2: Cấu hình máy tính tham gia thử nghiệm 64

Bảng 4 : Các bộ dữ liệu thử nghiệm 66

Bảng 4.4: Kết quả thực nghiệm với 04 bộ dữ liệu trên 03 hệ thống 67

Trang 4

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ

Hình 1.1: Một trích đoạn dữ liệu web log 9

Hình 2.1: Loại bỏ các tập mục độ dài 1 có độ hỗ trợ nhỏ hơn minsup=2/9 22

Hình 2.2: Loại bỏ các tập mục độ dài 2 có độ hỗ trợ nhỏ hơn minsup=2/9 23

Hình 2.3: Các tập phổ biến độ dài 3 23

Hình 2.4: Minh họa giải thuật phân phối độ hỗ trợ trên 03 bộ xử lý song song 25

Hình 2.5: Minh họa giải thuật phân phối dữ liệu trên 03 bộ xử lý song song 26

Hình 2.6: Mô hình khai phá song song luật kết hợp từ dữ liệu truy cập web 27

Hình 2.7: Một tập tin web log với các trường thông tin xác định 31

Hình 2.8: Sự tiêu tốn bộ nhớ khi số mục vào tăng 32

Hình 2.9: Cấu hình tập tin log trên Microsoft IIS 7.5 35

Hình 2.10: Các tập tin log được ghi theo từng ngày (từ 20/07 đến 25/07/2012) 36

Hình 3.1: Tương quan lực lượng giữa các tập phổ biến cục bộ và toàn cục 38

Hình 3.2: Mô hình khai phá luật kết hợp dựa trên chiến lược Chia để trị 41

Hình 3.3: Mô hình Chia để trị trong khai phá song song luật kết hợp 48

Hình 4.1: Quá trình tiền xử lý dữ liệu truy cập web 55

Hình 4.2: Yêu cầu truy cập Ri ∈ Sj nếu khoảng cách TS(Ri) - TS(Ro) ≤ θ 60

Hình 4.3: Ri ∈ Sj và Ri+1 ∈ Sj+1 nếu ST(Ri+1) - ST(Ri) ≥ δ 61

Hình 4.4: Nếu Rk ∈ Sj và Rk tham chiếu đến Ri thì Ri ∈ Sj 61

Hình 4.5: p dụng phương pháp heuristic hướng thời gian 62

Hình 4.6: p dụng phương pháp heuristic hướng cấu trúc 62

Hình 4.7: Hệ thống khai phá luật kết hợp dựa trên giải thuật Apriori 65

Hình 4.8a: Biểu đồ so sánh thời gian xử lý của 3 hệ thống với minsup = 0.25% 69

Hình 4.8b: Biểu đồ so sánh thời gian xử lý của 3 hệ thống với minsup = 0.5% 69

Hình 4.8c: Biểu đồ so sánh thời gian xử lý của 3 hệ thống với minsup = 0.75% 70

Hình 4.8d: Biểu đồ so sánh thời gian xử lý của 3 hệ thống với minsup = 1.00% 70

Trang 5

M ĐẦU

Dữ liệu sử dụng web (còn được gọi là dữ liệu truy cập web hay dữ liệu web

logs) chứa đựng nhiều thông tin hữu ích phản ánh quá trình tương tác của người

dùng với World Wide Web Dữ liệu này thường được các phần mềm máy chủ web

tự động ghi lại dưới dạng các tập tin nhật ký truy cập (web server logs) p dụng các kỹ thuật khai phá dữ liệu, ta có thể phát hiện ra các mẫu (tri thức) tiềm năng và hữu ích từ dữ liệu sử dụng web Được xem là một trong ba loại hình cơ bản của khai phá web, khai phá sử dụng web đã trở thành một lĩnh vực thu hút sự quan tâm của nhiều nhà nghiên cứu và có nhiều ứng dụng hiệu quả trong thực tế

Trong luận văn này, tác giả tập trung trình bày một hướng nghiên cứu quan

trọng trong khai phá sử dụng web, đó là khai phá luật kết hợp từ dữ liệu sử dụng

web Có thể nói khai phá luật kết hợp là một trong những bài toán khai phá dữ liệu

điển hình Từ các luật kết hợp, chúng ta có thể xác định được thói quen cũng như

xu hướng truy cập của người dùng, từ đó giúp cho các doanh nghiệp có được những chiến lược kinh doanh phù hợp hoặc giúp cho các nhà phát triển tái cấu trúc lại website sao cho thuận tiện nhất với người dùng Tuy nhiên, dữ liệu sử dụng web cũng có những nét đặc trưng cơ bản khác với những dạng dữ liệu khác, đó là: dữ liệu thường có dung lượng lớn và phát sinh liên tục theo thời gian thực Điều này dẫn tới kết quả khai phá dữ liệu tại một thời điểm có thể sẽ không còn phản ánh đúng thực tế ở thời điểm ngay sau đó do dữ liệu đầu vào đã có sự phát sinh mới Trong điều kiện mà dữ liệu đầu vào thường xuyên thay đổi và thao thác khai phá dữ liệu phải được thực hiện liên tục mỗi khi có dữ liệu mới phát sinh thì chi phí cho quá trình khai phá dữ liệu là rất lớn Để khắc phục vấn đề này, tác giả đã mạnh dạn đề xuất một phương pháp tiếp cận dựa trên chiến lược Chia để trị khi xử lý tập dữ liệu vào Tập dữ liệu vào được chia nhỏ thành các phần dữ liệu riêng biệt và tiến hành xử lý độc lập, sau đó sẽ kết hợp lại để thu được kết quả cuối cùng Phương pháp này giúp làm giảm đáng kế chi phí cho quá trình khai phá dữ liệu trong điều kiện dữ liệu phát sinh liên tục Khi tiếp cận dựa trên chiến lược Chia để trị thì tập dữ liệu mới phát sinh sẽ được xem là độc lập với các dữ liệu trước đó và quá trình khai phá sẽ chỉ thực hiện với tập dữ liệu mới phát sinh chứ không phải với toàn bộ dữ liệu, nhờ đó sẽ làm giảm đáng kể chi phí cho quá trình khai phá Trong luận văn này, tác giả cũng dành một phần đáng kể để chỉ ra những cơ sở toán học nhằm chứng minh cho tính đúng đắn của phương pháp được đề xuất Luận văn

Trang 6

được xây dựng dựa trên nền tảng những nghiên cứu về khai phá luật kết hợp và khai phá sử dụng web đã được đề xuất từ năm 1995, trong đó đáng chú ý nhất phải

kể đến những nghiên cứu của Navathe [16] và Agrawal [3]

Nội dung luận văn được tác giả trình bày bao gồm 04 chương:

hương i i thiệu t ng u n: Đặt vấn đề và giới thiệu bài toán mong muốn xử

lý, các nghiên cứu trước đó và hướng tiếp cận của đề tài

hương 2 Luật kết hợp và các kỹ thuật kh i phá luật kết hợp: Tập trung trình

bày một số khái niệm cơ bản về tập phổ biến và luật kết hợp, các nghiên cứu về khai phá luật kết hợp và một số thuật toán tiêu biểu Trong chương này, tác giả cũng chỉ ra những khó khăn khi áp dụng khai phá luật kết hợp với dữ liệu web log

hương 3 Tư tưởng “ hi để trị” trong kh i phá luật kết hợp: Trình bày cơ sở

toán học cho việc áp dụng tư tưởng Chia để trị và đề xuất thuật toán cho phép tổng hợp các kết quả xử lý trên các tập dữ liệu con để thu được kết quả mong muốn Tác giả cũng đề xuất mô hình hệ thống phân tích dữ liệu web log để tìm luật

kết hợp dựa trên chiến lược Chia để trị

hương o ul ph n t ch liệu và kết u thực nghiệ : Phân tích các đặc

trưng dữ liệu web log cũng như trình bày kết quả thực nghiệm và đánh giá

Mặc dù có nhiều cố gắng những chắc chắn không tránh khỏi những thiếu sót, tác giả rất mong sẽ nhận được những ý kiến đóng góp của các thầy giáo, cô giáo và các bạn học viên để tác giả có thể hoàn thiện những kết quả nghiên cứu của mình

Trang 7

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

1.1 Khai phá dữ liệu sử dụng web

Sự bùng nổ của Internet đã khiến cho World Wide Web trở thành một kho dữ liệu khổng lồ với số lượng vô cùng lớn các máy chủ web rải rác khắp nơi trên thế giới Kho tài nguyên dữ liệu Web tiềm ẩn nhiều mẫu thông tin quý giá đối với mỗi

cá nhân, tổ chức hay cả cộng đồng Trong những năm gần đây, lĩnh vực khai phá web (Web Mining) đã có những bước phát triển mạnh mẽ, thu hút sự quan tâm của nhiều nhà nghiên cứu và các nhóm phát triển ứng dụng

Khai phá dữ liệu sử dụng web (Web Usage Mining) là một hướng nghiên cứu quan trọng trong khai phá web Các máy chủ web thường ghi lại và tích lũy các dữ liệu phản ánh hoạt động của người dùng mỗi khi nó nhận được một yêu cầu truy cập (hình 1.1) Từ những hồ sơ truy cập web (hay còn gọi là web log), áp dụng các

kỹ thuật khai phá dữ liệu có thể giúp khám phá ra các tri thức hữu ích liên quan đến quá trình tương tác của người dùng với Internet mà cụ thể là các trang Web

Hình 1.1: Một trích đoạn dữ liệu web log

Trang 8

Khai phá dữ liệu được định nghĩa là một quá trình không tầm thường nhằm phát hiện ra những mẫu có giá trị, mới, hữu ích tiềm năng và hiểu được trong dữ liệu [1] Đối với khai phá sử dụng web nói riêng và khai phá dữ liệu nói chung, có nhiều phương thức tiếp cận khác nhau được sử dụng trong phát hiện mẫu:

1 Phân tích th ng k (Standard Statistical Analysis): Đây là phương pháp

thường được sử dụng nhất nhằm trích chọn ra những tri thức liên quan đến người dùng bằng cách phân tích hồ sơ của phiên truy cập sử dụng các kỹ thuật phân tích thống kê tần suất, giá trị trung bình, trung vị, dựa trên số lần duyệt trang (page view), thời gian duyệt trang (viewing time), chiều dài vết truy cập (navigation path)

2 uật kết hợp (Association Rules): Phát hiện mối quan hệ kết hợp trong tập dữ

liệu là một bài toán quan trọng trong khai phá dữ liệu Bài toán khai phá luật kết hợp thực hiện việc phát hiện ra mối quan hệ giữa các tập thuộc tính (mục)

có dạng Y, trong đó và Y là hai tập thuộc tính Luật kết hợp cho chúng

ta biết tập các trang web thường được truy cập cùng với nhau

3 M u tu n t (Sequential Patterns): sử dụng để phát hiện các mẫu trải dài trên

nhiều phiên truy cập mà sự có mặt của các tập mục (item set) được sắp xếp theo thứ tự thời gian của các phiên truy cập

4 h m cụm (Clustering): sử dụng để nhóm các mục (item) có cùng các đặc

trưng thành các tập mục Đối với khai phá sử dụng web, người ta quan tâm nhiều đến việc phân cụm người dùng (usage clustering) và phân cụm trang web (page clustering) Theo [1 , phân cụm có thể coi là một bài toán mô tả hướng tới việc nhận biết một tập hữu hạn các cụm hoặc các lớp để mô tả dữ liệu

5 h n l p (Classification): sử dụng để ánh xạ các mục dữ liệu vào các lớp đã

được định nghĩa trước Theo [1], phân lớp thực hiện việc xây dựng các mô hình dự báo nhằm mô tả hoặc phát hiện các lớp/khái niệm cho các dự báo tiếp theo Trong khai phá sử dụng web người ta sẽ quan tâm nhiều đến việc hồ sơ truy cập của một người dùng sẽ thuộc về một lớp hay một nhóm người dùng

cụ thể nào

Trong luận văn này, tác giả lựa chọn hướng tiếp cận dựa trên khai phá luật kết hợp nhằm xác định ra xu hướng truy cập của người dùng được phản ánh bởi các tập phổ biến Các phân tích này có thể giúp cấu trúc lại các website trong các phân nhóm hiệu quả hơn, hay xác định ra vị trí đặt các banner quảng cáo hiệu quả nhất,

Trang 9

cũng như gắn việc quảng cáo các sản phẩm nhất định cho những người dùng quan tâm để đạt hiệu quả cao nhất,…

1.2 Phát biểu bài toán khai phá luật kết hợp từ dữ liệu sử dụng web

Trong lĩnh vực thương mai điện tử, việc xác định ra thói quen, thị hiếu mua sắm hay xu hướng truy cập thông tin của người dùng là vô cùng quan trọng Điều này giúp các nhà quản lý có thể đưa ra được những chiến lược quảng cáo hay tiếp thị phù hợp Đối với các nhà phát triển hệ thống, việc nắm được thói quen hay xu hướng truy cập của người dùng sẽ là những gợi ý hay để xây dựng một website với cấu trúc khoa học và tiện dụng Bài toán đặt ra là: căn cứ vào dữ liệu truy cập (web log) có thể xác định được ra nhóm các trang web thường được truy cập cùng với nhau hay không vì nhóm này phản ánh thói quen hay xu hướng truy cập của người dùng Bài toán có thể phát biểu như sau:

Dữ liệu đầu vào (Input): là tập các các bản ghi truy cập web (web log) với

các trường thông tin xác định, được đọc ra từ tập tin log Số lượng các bản ghi này

là rất lớn

Dữ liệu đầu ra (Output): là tập các trang web (hay tập tin) thường được truy

cập cùng với nhau với xác suất trên một ngưỡng nào đó

Trong lĩnh vực khai phá dữ liệu, bài toán này có thể được giải quyết dựa trên

mô hình luật kết hợp và các thuật toán khai phá luật kết hợp Phát hiện mối quan hệ kết hợp trong dữ liệu sử dụng web đã trở thành một trong những bài toán cơ bản của khai phá web Sau khi dữ liệu truy cập web đã được tiền xử lý, phân tách riêng ứng với từng người dùng và từng phiên truy cập thì một trong những vấn đề thực tiễn đặt ra là những trang web (hay những tập tin tài nguyên) nào thường được truy cập cùng với nhau Việc sử dụng những giải thuật khai phá luật kết hợp có thể giúp phát hiện ra mối tương quan giữa những người dùng đã viếng thăm trang web giới thiệu các sản phẩm điện tử với những người dùng khác đang viếng thăm trang web quảng cáo các dụng cụ thể thao chẳng hạn Bên cạnh những ứng dụng trong thương mại điện tử, các luật kết hợp có thể giúp đưa ra những gợi ý cho các nhà phát triển web nhằm tái cấu trúc lại trang web của họ sao cho thuận tiện nhất với người dùng Các luật kết hợp cũng có thể được ứng dụng trong các cơ chế tìm kiếm nhằm tải trước các trang web để giảm bớt thời gian chờ đợi của người dùng khi truy cập tới một máy chủ web ở xa

Trang 10

1.3 Hướng tiếp cận của đề tài

Khi áp dụng khai phá luật kết hợp vào dữ liệu web log, ta vấp phải một số những vấn đề sau đây:

1 Dung lượng dữ liệu đọc vào từ tập tin web log có thể quá lớn đến mức không thể áp dụng trực tiếp các giải thuật khai phá luật kết hợp do sự hạn chế về bộ nhớ trong của hệ thống tính toán

2 Bản thân dữ liệu web log có thể được ghi lại một cách phân tán trên các tập tin rời rạc (theo từng chu kỳ thời gian giờ/ngày/tuần/tháng/năm) và dữ liệu thường xuyên được phát sinh mới sau mỗi chu kỳ Tuy nhiên khi tiến hành khai phá dữ liệu thì ta cần khai phá toàn bộ dữ liệu từ các tập tin này như một chỉnh thể Việc dữ liệu phát sinh mới sẽ khiến kết quả khai phá trước đó không còn chính xác và chúng ta phải tiến hành khai phá lại từ đầu sau khi

dữ liệu đầu vào đã được cập nhật Liệu có cách nào có thể tận dụng được các kết quả khai phá trước đó hay không là một vấn đề đặt ra

Trong luận văn, tác giả không tiếp cận dựa trên việc cải tiến các giải thuật khai phá luật kết hợp đã có hay đề xuất áp dụng một giải thuật mới mà tiếp cận giải quyết vấn đề từ góc độ dữ liệu vào

Tư tưởng Chia để trị (Divide and Conquer) được tác giả đề xuất áp dụng khi

xử lý tập dữ liệu vào Chia để trị là một cách tiếp cận hết sức tự nhiên khi giải quyết bài toán Tập dữ liệu vào sẽ được phân chia thành các tập dữ liệu con (có kích thước phù hợp với bộ nhớ trong) và có thể được xử lý độc lập nhau Các kết quả xử lý này sẽ được tổng hợp lại để thu được kết quả mong muốn Trong luận văn, tác giả sẽ tập trung trình bày cơ sở toán học cũng như chứng minh tính đúng đắn của việc áp dụng chiến lược Chia để trị khi xử lý tập dữ liệu vào và đồng thời đề xuất một mô hình hệ thống phân tích dữ liệu thu được từ tập tin các web log

để đưa ra các luật kết hợp Các số liệu thực nghiệm cũng được trình bày một cách đầy đủ để làm cơ sở so sánh Cách thức tiếp cận dựa trên tư tưởng Chia để trị có nhiều ưu điểm, trong đó có hai ưu điểm lớn nhất đó là:

1 Độc lập với các giải thuật khai phá dữ liệu được sử dụng: Khi tiến hành xử

lý các tập dữ liệu con, ta có thể lựa chọn một giải thuật khai phá dữ liệu phù hợp Thậm chí, không nhất thiết tất cả các tập dữ liệu con đều phải sử dụng cùng một giải thuật mà mỗi tập dữ liệu con có thể dùng một giải thuật khác nhau để xử lý

Trang 11

2 Có thể xử lý độc lập trên các hệ thống tính toán khác nhau: Các tập dữ liệu

con có thể được xử lý song song và hoàn toàn độc lập trên cùng một hệ thống tính toán hoặc trên các hệ thống khác nhau

Trang 12

CHƯƠNG 2: LUẬT KẾT HỢP VÀ CÁC KỸ THUẬT KHAI PHÁ LUẬT KẾT HỢP

2.1 Khái niệm về luật kết hợp và tập phổ biến

Cho một tập mục I = {i1, i2,…, in}, mỗi phần tử thuộc I được gọi là một mục (item) Đôi khi mục còn được gọi là thuộc tính và I cũng được gọi là tập các thuộc tính Mỗi tập con trong I được gọi là một một tập mục (itemset), số lượng các phần

tử trong một tập mục được gọi là độ dài hay kích thước của một tập mục

Cho một cơ sở dữ liệu giao dịch D = {t1, t2,…, tm}, trong đó mỗi ti là một giao dịch và là một tập con của I Thường thì số lượng các giao dịch (lực lượng của tập

D ký hiệu là |D| hay card(D)) là rất lớn

Cho , Y là hai tập mục (hai tập con của I) Luật kết hợp (association rule)

được ký hiệu là Y, trong đó và Y là hai tập không giao nhau, thể hiện mối ràng buộc của tập mục Y theo tập mục theo nghĩa sự xuất hiện của sẽ kéo theo

sự xuất hiện của Y ra sao trong các giao dịch Tập mục được gọi là xuất hiện trong giao dịch t nếu như là tập con của t Độ hỗ trợ của một tập mục (ký hiệu

là sup( )) được định nghĩa là tỷ lệ các giao dịch trong D có chứa :

Trong đó C( ) số lượng các giao dịch trong CSDL giao dịch D mà có chứa

Giá trị của luật kết hợp Y được thể hiện thông qua hai độ đo là độ hỗ trợ sup( Y) và độ tin cậy conf( Y)

Độ hỗ trợ supp( Y) là tỷ lệ các giao dịch có chứa U Y trong tập D:

sup( Y) = P( ∪ Y) = C(X ∪ Y)/|D| (2.2) Trong đó ký hiệu C( ∪ Y) là số lượng các giao dịch có chứa U Y

Độ tin cậy conf( Y) là tỷ lệ các tập giao dịch có chứa U Y so với các tập giao dịch có chứa :

conf( Y) = P(Y| ) = C( ∪ Y)/C( ) = sup( Y)/sup( ) (2.3) Trong đó ký hiệu C( ) số lượng các giao dịch có chứa

Từ định nghĩa ta thấy 0 ≤ sup( Y) ≤ 1 và 0 ≤ conf( Y) ≤ 1 Theo quan niệm xác suất, độ hỗ trợ là xác suất xuất hiện tập mục ∪ Y, còn độ tin cậy là xác suất có điều kiện xuất hiện Y khi đã xuất hiện

Luật kết hợp Y được coi là một tri thức (mẫu có giá trị) hay còn gọi là luật kết hợp mạnh (strong association rules) nếu xảy ra đồng thời sup( Y) ≥ minsup

Trang 13

và conf( Y) ≥ minconf Trong đó minsup và minconf là hai giá trị ngưỡng cho

trước Một tập mục có độ hỗ trợ vượt qua ngưỡng minsup được gọi là tập phổ

biến (frequent itemset)

2.2 Luật kết hợp trong dữ liệu sử dụng web

Sau khi dữ liệu truy cập web đã được tiền xử lý, xác định rõ dữ liệu tương ứng với từng người dùng và từng phiên truy cập thì một trong những vấn đề thực tiễn đặt ra là những trang web (hay những tập tin tài nguyên) nào thường được truy cập cùng với nhau Về cơ bản, một khi đã phân định được các phiên truy cập, ta có thể

áp dụng mô hình luật kết hợp vào dữ liệu thu được Mỗi trang web hay tập tin được truy cập đóng vai trò là một mục, một phiên truy cập được xem là một giao dịch

Dữ liệu truy cập web lúc này được xem là một cơ sở dữ liệu giao dịch và có thể sử dụng các thuật toán khai phá luật kết hợp Các luật kết hợp có thể được sử dụng để liên kết những trang thường được truy cập cùng với nhau trong một phiên truy cập Trong ngữ cảnh của khai phá sử dụng web thì các luật kết hợp chỉ ra tập hợp các trang web thường được truy cập cùng với nhau với độ hỗ trợ lớn hơn một ngưỡng quy định trước Các trang web này không nhất thiết phải được kết nối với nhau thông qua các siêu liên kết (hyperlink) Việc sử dụng các giải thuật khai phá luật kết hợp có thể giúp phát hiện ra mối tương quan giữa những người dùng đã viếng thăm các trang web khác nhau

Khai phá luật kết hợp có thể coi là quá trình tìm ra các mẫu phổ biến (frequent patterns) từ các tập mục nằm trong cơ sở dữ liệu giao dịch Ý tưởng về khai phá luật kết hợp bắt nguồn từ bài toán Phân tích giỏ hàng ở siêu thị nhằm tìm ra những mặt hàng nào thường được mua cùng với nhau Trong ngữ cảnh của khai phá web thì khai phá luật kết hợp là nhằm tìm ra những trang web có quan hệ với nhau, được truy cập cùng với nhau với một xác suất nhất định nào đó Các luật kết hợp trong khai phá sử dụng web thường có dạng: Nếu một người truy cập vào website của CNN thì có 60% khả năng người này cũng sẽ truy cập trang ABC News trong tháng đó

2 Một số nghiên cứu về khai phá luật kết hợp

Khai phá luật kết hợp hay các tập phổ biến là một trong những kỹ thuật khai phá dữ liệu được sử dụng rộng rãi Giải thuật khai phá luật kết hợp đầu tiên được

đề xuất bởi Agrawal và các cộng sự [4, 5] nhằm giải quyết bài toán phân tích giỏ hàng ở siêu thị (market basket analysis) Từ đó cho tới nay, rất nhiều giải thuật

Trang 14

khác nhau đã được phát triển và khai phá luật kết hợp vẫn là một lĩnh vực thu hút

sự quan tâm của nhiều nhà nghiên cứu

Khai phá luật kết hợp từ dữ liệu sử dụng web có liên quan trực tiếp đến các trang (hay tập tin) thường được truy cập cùng với nhau trong một phiên truy cập Phát biểu trong ngữ cảnh của khai phá sử dụng web thì các luật kết hợp chỉ ra tập các trang được truy cập cùng với nhau với độ hỗ trợ lớn hơn một giá trị ngưỡng nào

đó Agrawal và các cộng sự đã đưa ra giải thuật AIS (xem [4 ) Giải thuật này tạo

ra các tập ứng viên trực tiếp trong mỗi lần duyệt qua cơ sở dữ liệu giao dịch Các tập phổ biến từ lần duyệt trước đó được kiểm tra xem có xuất hiện trong giao dịch hiện thời hay không Giải thuật này chưa thực sự hiệu quả vì nó tạo ra quá nhiều các tập ứng viên Điều này dẫn tới việc tăng dung lượng bộ nhớ sử dụng trong khi giải thuật lại yêu cầu phải duyệt qua cơ sở dữ liệu giao dịch nhiều lần và sinh ra những luật chỉ có một mục tham gia

Chính Agrawal và các cộng sự cũng đã phát triển các phiên bản khác nhau của giải thuật Apriori như là: Apriori, AprioriTid và AprioriHybrid (xem [5 ) Các giải thuật Apriori và AprioriTid sinh các tập mục dựa trên những tập phổ biến được tìm thấy ở lần duyệt trước đó mà không cần phải xét tới các giao dịch Giải thuật AprioriTid được phát triển dựa trên giải thuật Apriori bằng cách sử dụng cơ sở dữ liệu ngay trong lần duyệt đầu tiên Quá trình đếm trong các lần duyệt tiếp theo có thể được thực hiện bằng các sử dụng các mã được tạo ra từ lần duyệt đầu tiên có kích thước nhỏ hơn nhiều so với cơ sở dữ liệu gốc Nhờ đó, hiệu năng xử lý của giải thuật này nhanh gấp 3 lần giải thuật AIS Phát triển một bước nữa, Agrawal đề xuất giải thuật AprioriHybrid Giải thuật AprioriHybrid được thực hiên dựa trên nguyên tắc: những bước duyệt ban đầu sẽ sử dụng giải thuật Apriori và ở những bước duyệt sau đó sẽ chuyển sang dùng giải thuật AprioriTid nếu kích thước của tập ứng viên có thể lưu trữ vừa trong bộ nhớ

Mặc dù có nhiều phiên bản khác nhau của giải thuật Apriori được phát triển, vấn đề với các giải thuật Apriori đó là chúng tạo ra quá nhiều các tập ứng viên có

độ dài 2 không phải là tập phổ biến Một giải thuật Băm và cắt tỉa trực tiếp (DHP–Direct Hashing and Prunning) [8 đã được phát triển có tác dụng làm giảm kích thước của các tập ứng viên bằng cách lọc bỏ khỏi bảng băm các tập mục có độ

hỗ trợ không vượt quá ngưỡng minsup Nhờ khả năng lọc bỏ rất ưu việt mà giải thuật DHP tỏ ra hiệu quả hơn nhiều so với giải thuật Apriori (trong một số trường

Trang 15

hợp, với cùng một bộ dữ liệu vào, khi DHP đã thực thi xong thì Apriori mới đang ở lần duyệt thứ 2)

Khả năng mở rộng (scalability) là yếu tố vô cùng quan trọng trong khai phá dữ liệu Các giải thuật cần có khả năng mở rộng để đáp ứng với sự gia tăng nhanh chóng của dữ liệu Eui-Hong và các cộng sự cố gắng tạo ra khả năng mở rộng đối với sự phân bố dữ liệu và phân bố các ứng viên bằng cách sử dụng giải thuật phân

bố dữ liệu thông minh (IDD-Intelligent Data Distribution) và giải thuật phân bố hỗn hợp (HD-Hybrid Distribution) (xem [6 ) Giải thuật IDD giúp giải quyết vấn đề quá tải trong trao đổi dữ liệu và tính toán thừa bằng cách sử dụng bộ nhớ gộp để phân đoạn các ứng viên và di chuyển dữ liệu một cách hiệu quả Giải thuật HD được cải tiến từ IDD bằng cách sử dụng kỹ thuật phân đoạn động các ứng viên để duy trì tốt cân bằng tải trong xử lý

Một trong những kỹ thuật được sử dụng nhằm đáp ứng khả năng mở rộng

trong khai phá dữ liệu đó là sử dụng một cấu trúc dữ liệu gọi là bản đồ hỗ trợ

ph n đoạn (SSM - Segment Support Map) [7 Kỹ thuật này giúp làm giảm số

lượng các tập ứng viên phải đếm Cấu trúc SSM chứa độ hỗ trợ (support count) của các tập mục có độ dài 1 Các độ hỗ trợ riêng lẻ sẽ được cộng vào với nhau để

có được giá trị giới hạn trên (ngưỡng) cho các tập mục có độ dài k Sử dụng cấu trúc dữ liệu SSM trong giải thuật Apriori, chi phí để khởi tạo các tập mục có độ dài

1 có thể được giảm giảm xuống bằng cách kiểm tra các độ hỗ trợ trong SSM có lớn hơn ngưỡng độ hỗ trợ hay không Hơn thế nữa, các tập mục độ dài 1 có độ hỗ trợ nhỏ hơn ngưỡng sớm bị loại bỏ sẽ giúp giảm số lượng các tập mục ở cấp cao hơn cần phải đếm

Bên cạnh đó, các giải thuật tiến hóa (evolutionary algorithms) cũng đang

được sử dụng rộng rãi để giải quyết các bài toán thuộc về nhiều lĩnh vực khoa học

kỹ thuật khác nhau Giải thuật tiến hóa mô phỏng cơ chế tiến hóa trong sinh học và

áp dụng chúng trong việc giải quyết các bài toán, đặc biệt là các bài toán tìm kiếm

và tối ưu Giải thuật tiến hóa đã được áp dụng để giải quyết bài toán khai phá luật hợp như giới thiệu trong [8]

Một phiên bản khác của giải thuật Apriori là giải thuật AprioriAll được phát

triển nhằm phục vụ cho khai phá các m u tu n t (sequential patterns) [14 Thuộc

tính định danh người dùng được đưa vào tại mỗi bước sinh tập ứng viên và tại mỗi bước duyệt cơ sở dữ liệu giao dịch Giải thuật có mục đích làm giảm kích thước của tập ứng viên nhằm giảm số lần duyệt cơ sở dữ liệu

Trang 16

Dựa trên khái niệm về luật kết hợp thời gian th c (temporal association rule),

các tác giả [6, 7] đã đưa ra những chiến lược thực sự hiệu quả hơn Trường thời gian có mặt trong tất cả các giao dịch và cần phải được xem xét tới trong quá trình tìm kiếm các tập phổ biến đặc biệt là khi không phải tất cả các tập mục đều tồn tại trong suốt giai đoạn thu thập dữ liệu (data gathering period) Khái niệm thời gian

thực (temporal) được mở rộng cho độ hỗ trợ và độ tin cậy Độ hỗ trợ thời gian th c được xem là khoảng cách thời gian t i thiểu (minimum interval width) Do đó, một

luật kết hợp sẽ chỉ được xem xét nếu nó thỏa mãn cả ngưỡng độ hỗ trợ thông thường và ngưỡng độ hỗ trợ thời gian thực,

Có nhiều nghiên cứu khác nhằm cải tiến giải thuật Apriori để tăng hiệu quả trong việc sinh các luật kết hợp Một phiên bản nâng cấp của giải thuật Apriori được trình bày trong [22 sử dụng cơ chế duyệt cơ sở dữ liệu giao dịch theo cả hai chiều tiến và lui để làm tăng hiệu quả của thuật toán iang-wei Liu và các cộng sự cũng đề xuất một giải thuật khai phá luật kết hợp cải tiến với thời gian duyệt các tập ứng viên ngắn hơn nhờ sử dụng cấu trúc cây băm (xem [19 ) Một phiên bản khác của giải thuật Apriori được trình bày trong [20 với tên gọi là IApriori Giải thuật này tối ưu việc kết nối các tập mục để tạo ra tập phổ biến nhằm làm giảm kích thước của tập ứng viên Một giải thuật khác được trình bày trong [21 sử dụng cơ chế quét cơ sở dữ liệu chỉ một lần để tạo ra các tập phổ biến nhở đó làm giảm thời gian và tăng hiệu năng xử lý

Suneetha và Krishnamoorti đã đề xuất một phiên bản cải tiến khác của giải thuật Apriori [15] Giải thuật Apriori và một số biến thể trước đó của nó có nhược điểm là phải duyệt cơ sở dữ liệu giao dịch nhiều lần Giải thuật do Suneetha và Krishnamoorti đề xuất dựa trên phương pháp tiếp cận Top-Down thay vì Bottom-

Up như giải thuật Apriori truyền thống, nhờ đó làm giảm đáng kể số lần phải duyệt

cơ sở dữ liệu giao dịch

Một hướng tiếp cận khác nhằm tăng hiệu năng của các giải thuật khai phá luật kết hợp đó là sử dụng một cấu trúc dữ liệu thực sự phù hợp như cây mẫu phổ biến (frequent pattern tree) chẳng hạn Han và các cộng sự [8] đã giới thiệu giải thuật nổi tiếng với tên gọi P-Growth Đây là một trong những giải thuật quan trọng đánh dấu bước phát triển trong những nghiên cứu về khai phá luật kết hợp Giải thuật này tránh việc phải tạo ra các tập ứng viên và cần ít lần duyệt cơ sở dữ liệu hơn Giải thuật này đã giúp giải quyết vẫn đề ngẽn cổ chai thường hay gặp phải đối với giải thuật Apriori nhưng bản thân giải thuật này không phải là không có

Trang 17

những hạn chế Giải thuật P-Growth không phù hợp áp dụng trong trường hợp ngưỡng độ hỗ trợ (minsup) thường xuyên thay đổi Mỗi khi ngưỡng độ hỗ trợ thay đổi lại yêu cầu phải xây dựng lại cây P mà công việc này đòi hỏi khá nhiều chi phí

về thời gian và bộ nhớ Giải thuật này không phù hợp cho việc khai phá dữ liệu tăng dần (cơ sở dữ liệu liên tục thay đổi, tập dữ liệu mới liên tục được thêm vào và những tập dữ liệu cũ có thể bị xóa bỏ dẫn tới việc phải xây dựng lại cây P) [9] Mặc dù có nhiều cải tiến được đề xuất, nhưng hầu hết các giải thuật đều vấp phải vấn đề trở ngại đó là phải duyệt cơ sở dữ liệu giao dịch nhiều lần Điều này thực sự không tối ưu khi tiến hành khai phá luật kết hợp từ dữ liệu sử dụng web vì

dữ liệu sử dụng web có những nét đặc thù riêng với số lượng giao dịch là rất lớn Các nghiên cứu hiện nay nhằm tăng hiệu năng của các giải thuật khai phá luật kết hợp thường tập trung vào việc giảm số lần duyệt cơ sở dữ liệu giao dịch và giảm chi phí về bộ nhớ Số lần duyệt cơ sở dữ liệu giao dịch lớn sẽ dẫn tới việc phải truy xuất bộ nhớ ngoài nhiều lần và đặt gánh nặng lên hệ thống vào/ra

2.4 Khai phá sử dụng Web với giải thuật Apriori

Thuật toán Apriori là một thuật toán kinh điển áp dụng trong khai phá luật kết hợp Thuật toán dựa trên nguyên lý Apriori tập con bất kỳ của một tập phổ biến cũng là một tập phổ biến Mục đích của thuật toán Apriori là tìm ra được tất cả các tập phổ biến có thể có trong cơ sở dữ liệu giao dịch D Thuật toán hoạt động theo nguyên tắc quy hoạch động, nghĩa là từ các tập i = { ci | ci là tập phổ biến, |ci| = 1} gồm mọi tập mục phổ biến có độ dài i (1 ≤ i ≤ k), đi tìm tập k+1 gồm mọi tập mục phổ biến có độ dài k+1 Các mục i1, i2,…, in trong thuật toán được sắp xếp theo một thứ tự cố định

Thuật toán Apriori:

Input: Cơ sở dữ liệu giao dịch D = {t1, t2,…, tm}

Ngưỡng tối thiểu minsup > 0

Trang 18

Repeat

Fk+1 = ⍉;

Tạo tập ứng viên Ck+1 bằng các kết hợp các phần tử có độ dài k có k-1 mục trùng nhau và loại bỏ các ứng viên có chứa tập con độ dài k không thuộc k;

Quét CSDL một lần và tính toán độ hỗ trợ cho mỗi phần tử của Ck+1 Nếu độ hỗ trợ lớn hơn minsup thì kết nạp phần tử đó vào k+1;

If Fk+1 = ⍉ then termination=true

Else k=k+1;

Until termination;

End;

Thủ tục tạo tập ứng viên Ck+1 có nhiệm vụ sinh ra (generation) các tập mục có

độ dài k+1 từ các tập mục có độ dài k trong tập k Thủ tục này được thi hành thông qua việc nối (join) các tập mục có chung các tiền tố (prefix) và sau đó áp dụng nguyên lý Apriori để loại bỏ bớt những tập không thỏa mãn:

 Bước nối: Sinh các tập mục Lk+1 là ứng viên của tập phổ biến có độ dài k+1 bằng cách kết hợp hai tập phổ biến Pk và Qk có độ dài k và trùng nhau ở k-1 mục đầu tiên:

Lk+1 = Pk + Qk = {i1, i2,…, ik-1, ik, ik’}

Với Pk = {i1, i2,…, ik-1, ik} và Qk = {i1, i2,…, ik-1, ik’}, trong đó

i1≤i2≤…≤ik-1≤ik≤ik’

 Bước tỉa: Giữ lại tất cả các ứng viên Lk+1 thỏa thỏa mãn nguyên lý Apriori tức là mọi tập con có độ dài k của nó đều là tập phổ biến (∀X ⊆ Lk+1 và |X| =

k thì X ∈ Fk)

Trong mỗi bước k, thuật toán Apriori đều phải duyệt cơ sở dữ liệu giao dịch

D Khởi động thuật toán sẽ tiến hành duyệt D để có được 1 (loại bỏ những mục có

conf(s (I-s)) = supp(I)/supp(I-s) ≥ minconf với minconf là ngưỡng tin cậy cho trước

Trang 19

B ng 2.1: Các phi n truy cập của một người dùng

Session 1 /shopping/comestic.htm , /shopping/fashion.htm , /cars.htm

Session 2 /shopping/fashion.htm , /news.htm

Session 3 /shopping/fashion.htm , /sport.htm

Session 4 /shopping/comestic.htm , /shopping/fashion.htm , /news.htm

Session 5 /shopping/comestic.htm , /sport.htm

Session 6 /shopping/fashion.htm , /sport.htm

Session 7 /shopping/comestic.htm , /sport.htm

Session 8 /shopping/comestic.htm , /shopping/fashion.htm , /sport.htm , /cars.htm Session 9 /shopping/comestic.htm , /shopping/fashion.htm , /sport.htm

Giả sử sau khi tiền xử lý dữ liệu thu được từ web log, ta xác định được các phiên truy cập của người dùng như bảng 2.1 Ở đây mỗi phiên truy cập có thể coi là một giao dịch và mỗi trang được truy cập là một mục Việc áp dụng giải thuật Apriori có thể giúp xác định được những trang nào thường được truy cập cùng với nhau Những mẫu thu được sẽ cung cấp những tri thức rất hữu ích phục vụ cho những lĩnh vực như tiếp thị điện tử hay tổ chức lại website sao cho thuận tiện nhất đối với người dùng Để ngắn gọn, ta ký hiệu các trang đã truy cập như sau:

Ta có cơ sở dữ liệu giao dịch D gồm 9 giao dịch với các tập mục như bảng 2.2

p dụng giải thuật Apriori cho cơ sở dữ liệu giao dịch này với các ngưỡng được lựa chọn là minsup = 2/9 ≈ 22% và minconf = 70%

Trang 20

B ng 2.2 Cơ sở dữ liệu giao dịch D

Giao dịch Tập mục

T01 I1, I2, I5

T02 I2, I4

T03 I2, I3T04 I1, I2, I4T05 I1, I3T06 I2, I3T07 I1, I3T08 I1, I2, I3, I5 T09 I1, I2, I3

Bước 1: Duyệt CSDL giao dịch D để xác định độ hỗ trợ cho các tập phổ biến có độ

dài 1 Các tập mục có độ hỗ trợ nhỏ hơn 2/9 sẽ bị loại bỏ Trong trường hợp này chưa có tập mục nào bị loại, tất cả các tập đều là tập phổ biến (hình 2.1)

Hình 2.1: oại bỏ các tập mục độ dài 1 có độ hỗ trợ nhỏ hơn minsup=2/9

Bước 2: Tạo ra các tập mục có độ dài 2 bằng cách kết nối các tập mục có độ dài 1,

duyệt CSDL giao dịch D để xác định độ hỗ trợ cho từng tập mục và loại bỏ các tập mục có độ hỗ trợ nhỏ hơn 2/9 để thu được các tập phổ biến (hình 2.2)

Trong bước 2 này ta chưa cần sử dụng nguyên lý Apriori để tỉa bớt các tập mục không thỏa mãn vì tập con của các tập mục độ dài 2 là những tập mục có độ dài 1 và như đã xét ở bước 1, những tập mục có độ dài 1 đều là tập phổ biến

Tập

mục

Số lần xuất hiện

Độ hỗ trợ

Số lần xuất hiện

Độ hỗ trợ

Trang 21

Tập

mục

Số lần xuất hiện

Độ hỗ trợ

Hình 2.2: oại bỏ các tập mục độ dài 2 có độ hỗ trợ nhỏ hơn minsup=2/9

Bước : Kết nối các tập mục có độ dài 2 để thu được các tập mục có độ dài 3

Trong bước này ta phải sử dụng đến nguyên lý Apriori để loại bỏ bớt những tập mục mà tập con của nó không phải là tập phổ biến

Sau khi kết nối ta thu được các tập sau đây:

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

Các tập {I1, I3, I5}, {I2, I3, I4}, {I2, I3, I5} và {I2, I4, I5} bị loại bỏ vì tồn tại những tập con của chúng không phải là tập phổ biến Cuối cùng ta còn các tập mục như hình 2.3

Hình 2.3: Các tập phổ biến độ dài 3

Bước 4: Kết nối hai tập mục {I1, I2, I3}, {I1, I2, I5} thu được tập mục có độ dài 4 là {I1, I2, I3, I5} tuy nhiên tập mục này bị loại bỏ do tập con của nó là {I2, I3, I5} không phải là tập phổ biến Thuật toán kết thúc

Tập phổ biến

Số lần xuất hiện

Độ hỗ trợ

{I1, I2} 4 4/9 {I1, I3} 4 4/9 {I1, I5} 2 2/9 {I2, I3} 4 4/9 {I2, I4} 2 2/9 {I2, I5} 2 2/9

Tập phổ biến

Số lần xuất hiện

Độ hỗ trợ

{I1, I2, I3} 2 2/9 {I1, I2, I5} 2 2/9

Tập mục Số lần

xuất hiện

Độ hỗ trợ

{I1, I2, I3} 2 2/9

{I1, I2, I5} 2 2/9

Trang 22

Các tập phổ biến thu được là:

F = {{I1}, {I2}, {I3}, {I4}, {I5}, {I1, I2}, {I1, I3}, {I1, I5}, {I2, I3}, {I2, I4}, {I2, I5}, {I1, I2, I3}, {I1, I2, I5}}

Để sinh ra các luật kết hợp, cần tách các tập phố biến thành hai tập không giao nhau và tính độ tin cậy cho các luật tương ứng Luật nào có độ tin cậy vượt ngưỡng minconf = 70% sẽ được giữ lại Ví dụ: xét tập phổ biến: {I1, I2, I5} Ta có các luật sau đây:

conf(R2) = supp({I1, I2, I5})/supp({I5}) = 2/2 = 100%

Từ luật R2 ta có thể kết luận rằng, nếu người dùng quan tâm đến các trang comestic.htm và car.htm thì nhiều khả năng người dùng này cũng quan tâm đến trang fashion.htm Đây có thể là gợi ý cho một kế hoạch quảng cáo Tương tự, từ luật R6 ta có thể kết luận, nếu người dùng quan tâm đến xe hơi thì họ cũng quan tâm đến thời trang và mỹ phẩm Vậy nên đặt các banner quảng cáo và các liên kết đến các trang fashion.htm và comestic.htm ngay trên trang car.htm để thuận tiện cho người dùng

2.5 Các kỹ thuật khai phá song song luật kết hợp

Lý thuyết về xử lý song song (parallel processing) bắt đầu cuối những năm

1940 khi J.Von Neumann giới thiệu một số mô hình hạn chế của tính toán song song có tên otomat tế bào mà chủ yếu là một mảng hai chiều các bộ xử lý trạng thái hữu hạn được tương kết theo dạng hình lưới Từ đó đến nay, lý thuyết về xử lý song song trở thành lĩnh vực nghiên cứu quan trọng và ngày càng đem lại những dấu hiệu khả quan trong việc xây dựng một mô hình lập trình mới có những tính năng vượt trội so với mô hình lập trình tuần tự truyền thống Việc ứng dụng lập

Trang 23

trình song song trong giải quyết các bài toán khai phá dữ liệu từ lâu đã được nhiều nhà nghiên cứu quan tâm Đối với lĩnh vực khai phá luật kết hợp cũng không phải

là một ngoại lệ Có nhiều thuật toán khai phá song song luật kết hợp đã được nghiên cứu, trong đó đáng chú ý phải kể đến các thuật toán dựa trên nền tảng của thuật toán Apriori do Agrawal và C.Shafer đề xuất [2-3] Các thuật toán này được thiết

kế trên các hệ thống tính toán song song sử dụng kiến trúc không chia sẻ nothing architecture) với đặc điểm như sau:

(shared-o Hệ có N bộ xử lý (pr(shared-ocess(shared-or), mỗi bộ xử lý Pi có bộ nhớ trong (RAM) và bộ nhớ ngoài (thường là ổ đĩa) độc lập với các bộ xử lý còn lại trong hệ thống

o N bộ xử lý này có thể giao tiếp với nhau thông qua một mạng truyền thông và

sử dụng cơ chế truyền thông điệp (message passing)

Hình 2.4: Minh họa giải thuật ph n ph i độ hỗ trợ tr n 03 bộ xử lý song song [2]

Thuật toán đầu tiên phải kể tới đó chính là thuật toán ph n phối độ hỗ trợ

(count distribution) Thuật toán này dựa trên nền tảng của thuật toán Apriori Hệ thống tính toán gồm N bộ xử lý P1, P2,…, PN Cơ sở dữ liệu giao dịch D ban đầu được chia ra làm N phần D1, D2,…,DN, mỗi phần được giao cho một bộ xử lý Thuật toán này hoạt động tương tự như thuật toán Apriori, tức là tại bước thứ k của thuật toán, mỗi bộ xử lý sẽ kết nối các tập phổ biến có độ dài k-1 để tạo ra các tập ứng viên có độ dài k Sau đó, mỗi bộ xử lý Pi sẽ duyệt cơ sở dữ liệu giao dịch Dicủa riêng nó để xác định độ hỗ trợ cục bộ cho mỗi ứng viên Các bộ xử lý sẽ trao đổi thông tin cho nhau để cập nhật độ hỗ trợ toàn cục cho các ứng viên (quá trình

Trang 24

đồng bộ hóa) Cuối cùng các bộ xử lý sẽ căn cứ vào minsup để chọn ra tập những tập phổ biến k từ tập ứng viên Ck Quá trình này được lặp lại nhiều lần Chú ý là tại bước đầu tiên k = 1 của thuật toán, mỗi bộ xử lý đều nhận được 1 là tập các tập phổ biến có độ dài 1 và đều xuất phát từ các tập phổ biến có độ dài 1 này để tạo các tập ứng viên có độ dài 2,… Do có cùng xuất phát điểm và tại mỗi bước của thuật toán đều có thao tác đồng bộ hóa nên các bộ xử lý đều thu được tập các tập phổ biến k giống hệt nhau sau mỗi bước của thuật toán

Ưu điểm của giải thuật phân phối độ hỗ trợ là không yêu cầu phải có sự trao đổi các bộ dữ liệu giữa các bộ xử lý mà chỉ trao đổi thông tin về độ hỗ trợ Do đó, các bộ xử lý có thể hoạt động một cách độc lập và bất đồng bộ trong quá trình đọc

dữ liệu Tuy nhiên, nhược điểm của giải thuật này là không khai thác được sức mạnh tổng hợp bộ nhớ của toàn hệ thống một cách hiệu quả Giả sử rằng mỗi bộ xử

lý có bộ nhớ với dung lượng là |M| Số lượng các ứng viên tốt đa có thể đếm qua mỗi lần lặp được giới hạn bởi |M| Khi chúng ta tăng số lượng các bộ xử lý từ 1 đến

N, hệ thống sẽ có bộ nhớ tổng thể với dung lượng là N x |M|, nhưng chúng ta vẫn chỉ đếm được |M| tập ứng viên qua mỗi lần lặp bởi vì do tính chất của thuật toán phân phối độ hỗ trợ là mỗi bộ xử lý đều tính toán trên tập ứng viên Ck giống hệt

nhau Chính vì thế, thuật toán ph n phối liệu (data distribution) đã được đề xuất

như một bước cải tiến nhằm khai thác tốt hơn sức mạnh tổng hợp của bộ nhớ hệ thống khi số lượng bộ xử lý tăng lên

Hình 2.5: Minh họa giải thuật ph n ph i dữ liệu tr n 03 bộ xử lý song song [2]

Trang 25

Hình 2.6: Mô hình khai phá song song luật kết hợp từ dữ liệu truy cập web

Gắn nhãn thời gian Lọc dữ liệu

Tách các trường dữ liệu

Phân định các phiên truy cập

Gắn nhãn thời gian Lọc dữ liệu

Tách các trường dữ liệu

Phân chia tập các tập phổ biến cho N bộ xử lý

CSDL giao dịch D N

Phần dữ liệu N

Trang 26

Trong thuật toán này, mỗi bộ xử lý sẽ tiến hành cập nhật độ hỗ trợ cho một số các tập thuộc tính ứng cử viên của riêng nó Do đó, khi số bộ xử lý trong hệ thống tăng lên, thuật toán này có thể cập nhật độ hỗ trợ cho rất nhiều các tập thuộc tính ứng cử viên trong mỗi lần lặp Nhược điểm của thuật toán này là mỗi bộ xử lý phải truyền và nhận dữ liệu trong mỗi lần lặp nên nó chỉ khả thi khi hệ thống có một môi trường truyền thông nhanh và ổn định giữa các nút trong hệ thống Thuật toán song song phân phối dữ liệu (data distribution) cũng dựa trên nền thuật toán Apriori Hệ thống tính toán gồm N bộ xử lý P1, P2,…, PN Cơ sở dữ liệu giao dịch D ban đầu cũng được chia ra làm N phần D1, D2,…,DN, mỗi phần được giao cho một bộ xử lý Đầu tiên, mỗi bộ xử lý sẽ đều xuất phát từ tập các tập phổ biến có độ dài 1 giống nhau Tại mỗi bước của thuật toán, mỗi bộ xử lý Pi sẽ tạo tập ứng viên Ck bằng cách kết nối các tập phổ biến có độ dài k trong k Tập Ck sau đó được chia đều cho

Chính về thế thuật toán ph n phối tập ứng viên (candidate distribution) được đề

xuất nhằm hạn chế những nhược điểm trên Thuật toán này cố gắng chia tập ứng viên sao cho các bộ xử lý có thể độc lập làm việc và hạn chế tối đa công việc đồng

bộ hóa Bắt đầu một pha l nào đó (l được xác định dựa theo kinh nghiệm), thuật

Trang 27

toán sẽ chia tập phổ biến Fl-1 cho các bộ xử lý sao cho mỗi bộ xử lý Pi có thể tạo ra tập ứng cử viên i

m

C độc lập với các bộ xử lý khác Đồng thời, dữ liệu cũng được phân chia lại sao cho mỗi bộ xử lý Pi có thể cập nhật độ hỗ trợ cho các tập ứng viên trong i

m

C một cách độc lập với các bộ xử lý còn lại trong hệ thống Nhớ rằng, sự phân chia dữ liệu phụ thuộc rất nhiều vào bước phân chia tập ứng cử viên trước đó Nếu phân chia tập ứng cử viên không khéo léo thì chúng ta không thể có một phân hoạch dữ liệu cho các bộ xử lý mà chỉ có một phân chia tương đối – nghĩa là có thể có những phần dữ liệu trùng lặp trên các bộ xử lý Sau khi phân hoạch Fk-1, các bộ xử lý làm việc độc lập với nhau Việc cập nhật độ hỗ trợ cho tập các ứng cử viên cục bộ không đòi hỏi các bộ xử lý phải truyền thông với nhau Chỉ có một sự phụ thuộc duy nhất giữa các bộ xử lý là chúng phải gửi cho nhau những thông tin cần cho việc cắt tỉa các ứng cử viên không cần thiết Tuy nhiên, những thông tin này có thể được truyền cho nhau theo chế độ dị bộ và các bộ

xử lý không cần phải đợi để nhận đầy đủ thông tin này từ các bộ xử lý khác Các bộ

xử lý cố gắng cắt tỉa được càng nhiều càng tốt nhờ vào những thông tin đến từ các

bộ xử lý khác Những thông tin đến muộn sẽ được sử dụng cho lần cắt tỉa tiếp theo Chúng ta xem xét cách phân chia dữ liệu của thuật toán này thông qua một ví dụ đơn giản sau đây Cho F3 = {ABC, ABD, ABE, ACD, ACE, BCD, BCE, BDE, CDE} Tiếp đó F4 = {ABCD, ABCE, ABDE, ACDE, BCDE}, F5 = {ABCDE} và

F6 = ⍉ Chúng ta xét tập ε = {ABC, ABD, ABE} với các thành viên của nó có chung phân đầu là AB Nhớ rằng, các tập thuộc tính ABCD, ABCE, ABDE và ABCDE cũng có chung tiền tố AB Do đó, giả sử rằng các thuộc tính trong tập thuộc tính được sắp theo thứ tự từ vựng, chúng ta có thể phân chia các tập phổ biến trong Fk dựa vào tiền tố có độ dài k-1 đầu tiên của các tập, nhờ vậy các bộ xử lý có

thể làm việc độc lập với nhau

Bằng cách áp dụng một trong 03 giải thuật khai phá song song luật kết hợp đã được trình bày ở trên, mô hình khai phá song song luật kết hợp có thể được xây dựng như trong hình 2.6 Theo mô hình này, sau khi tiền xử lý dữ liệu ta sẽ thu được N cơ sở dữ liệu giao dịch con D1, D2,…, DN Cơ sở dữ liệu giao dịch Di sẽ được xử lý bởi bộ xử lý Pi Ta phối hợp hoạt động của N bộ xử lý bằng cách áp dụng một trong 03 thuật toán (phân phối độ hỗ trợ, phân phối dữ liệu, phân phối tập

Trang 28

ứng viên) đã được trình bày ở trên Chú ý là trong mô hình này, tùy theo thuật toán khai phá song song được áp dụng mà có những giai đoạn của thuật toán các bộ xử

lý sẽ hoạt động song song và độc lập (hoàn toàn bất đồng bộ), có những giai đoạn các bộ xử lý sẽ phải trao đổi dữ liệu để đồng bộ quá trình xử lý với nhau Mô hình này đòi hỏi các bộ xử lý phải được kết nối với nhau thông qua một mạng truyền thông tốc độ cao và hệ thống phải được phát triển dựa trên các công cụ hỗ trợ lập trình song song (ví dụ thư viện MPI) Sau khi tìm được tập các tập phổ biến (toàn cục), ta có thể tiếp tục áp dụng thuật toán sinh luật kết hợp song song để tìm các luật kết hợp mạnh bằng cách phân chia tập các tập phổ biến toàn cục cho các bộ xử

lý Thuật toán sinh luật kết hợp song song hoàn toàn dựa trên thuật toán sinh luật kết hợp tuần tự và sẽ được trình bày trong mục 3.6 chương 3 Nhờ áp dụng các thuật toán xử lý song song đã nêu mà mô hình hệ thống như trên hình 2.6 có thể tận dụng tối đa tài nguyên phần cứng và phối hợp được sức mạnh của các bộ xử lý, giúp nâng cao hiệu năng quá trình khai phá so với xử lý tuần tự Tuy nhiên, việc xây dựng một hệ thống như vậy là tương đối phức tạp (về mặt lập trình) và đòi hỏi chi phí lớn

2.6 Những vấn đề đặt ra khi khai phá luật kết hợp từ dữ liệu web log

Dữ liệu truy cập web (web log) thường được máy chủ ghi nhận lại dưới dạng các tập tin văn bản với các trường thông tin xác định (hình 2.7) Số lượng các trường thông tin được ghi lại tùy thuộc vào cấu hình được thiết lập của phần mềm máy chủ web Thông thường, dữ liệu sử dụng web được ghi lại thường gồm các trường thông tin sau đây:

1 Địa chỉ IP/Tên máy khách (IP Address/Remote host field)

2 Thời điểm truy cập (Date/Time field): chỉ ra thời điểm yêu cầu truy cập

từ máy khách được máy chủ ghi nhận và đáp ứng

3 HTTP Request: chỉ ra phương thức trao đổi dữ liệu cũng địa chỉ tài nguyên được truy cập trên máy chủ

4 Mã trạng thái (Status code): chỉ ra kết quả của việc thực hiện yêu cầu truy cập (thành công hay không thành công)

5 Dung lượng dữ liệu trao đổi (Transfer volume field): chỉ ra dung lượng

dữ liệu (tính bằng KB) được máy chủ trả về cho máy khách

Ngoài ra còn có một số các trường thông tin khác

Trang 29

Có rất nhiều vấn đề đặt ra khi khai phá dữ liệu sử dụng web từ các tập tin web server log Đối với luận văn này, tác giả tập trung vào các vấn đề sau đây:

 Các yêu cầu truy cập không phản ánh hành vi của người dùng

Dữ liệu sử dụng web có thể chứa thông tin về các yêu cầu truy cập không phải xuất phát từ người dùng Một trang web thường bao gồm nhiều thành phần đính kèm như: các tập tin hình ảnh, đồ họa, video, âm thanh,… Người dùng không quan tâm đến điều này, người dùng chỉ đơn thuần yêu cầu tải trang web (thường là các tập tin có phần mở rộng là htm, html, jsp, aspx hay php) thông qua việc click vào liên kết trên một trang đang mở hoặc trực tiếp gõ địa chỉ vào trình duyệt Sau khi trang web được xử lý, máy chủ sẽ trả về cho trình duyệt dưới dạng các thẻ HTML Khi phân tích cấu trúc trang, trình duyệt sẽ tự động gửi thêm các yêu cầu (request) truy cập đến các tập tin thành phần đính kèm và các yêu cầu này cũng sẽ được máy chủ web ghi lại trong tập tin log Vấn đề ở chỗ, những yêu cầu truy cập tự động sinh bởi trình duyệt không phản ánh hành vi của người dùng và chúng ta phải lọc

bỏ chúng khỏi tập dữ liệu web log trước khi tiến hành khai phá dữ liệu

Hình 2.7: Một tập tin web log v i các trường thông tin xác định

 Không có sự tách biệt giữa các phiên truy cập của người dùng

Để có thể áp dụng được mô hình luật kết hợp vào dữ liệu sử dụng web, chúng

ta phải xác định rõ các mục (item) và các giao dịch (transaction) Trong ngữ cảnh của khai phá sử dụng web, các mục là các trang hay tập tin được truy cập còn các

Trang 30

giao dịch chính là các phiên truy cập của người dùng (user session) Phiên truy cập của người dùng có thể được định nghĩa một cách thô thiển là tập hợp các trang web được duyệt bởi một người dùng cụ thể, cho một mục đích cụ thể Tuy nhiên, việc phân định ra từng phiên truy cập của người dùng không phải là việc đơn giản Các yêu cầu truy cập thường được máy chủ web ghi lại theo trình tự thời gian và các yêu cầu truy cập thuộc về các phiên truy cập của những người dùng khác nhau thì có thể nằm đan xen nhau Chúng ta phải có những cơ chế để xác định xem một yêu cầu truy cập sẽ thuộc về phiên truy cập nào

 Dữ liệu cần xử lý quá lớn và thường xuyên thay đổi

Tất cả các giải thuật khai phá luật kết hợp, dù hiệu quả đến đâu cũng sẽ bị giới hạn bởi dung lượng bộ nhớ của hệ thống tính toán Khi số lượng bản ghi cần xử lý quá lớn, nếu không áp dụng các kỹ thuật xử lý bổ sung có thể làm hệ thống tính toán bị treo Dung lượng dữ liệu truy cập web của các máy chủ được ghi lại dưới dạng các tập tin log trong cùng một khoảng thời gian có thể là rất khác nhau tùy theo số lượng truy cập được gửi đến máy chủ Dung lượng này có thể rơi vào khoảng vài chục đến hàng trăm megabyte mỗi ngày (tương ứng với khoảng vài ngàn đến hàng trăm ngàn bản ghi) Lượng dữ liệu tích lũy được ghi lại sau vài tuần hay vài tháng có thể lên tới hàng gigabyte

0 500 1000 1500 2000 2500 3000

dữ liệu vào

Trang 31

Giả sử ta sử dụng một máy tính có cấu hình trung bình với dung lượng bộ nhớ trong khoảng 1GB Ta áp dụng một giải thuật khai phá luật kết hợp nào đó và giả

sử tại một bước nào đó của giải thuật, cần phải sinh các tập ứng viên là các tập mục

có độ dài 2 được ghép từ 2 mục bất kỳ trong n mục cho trước Mỗi mục ta đánh số bằng một số nguyên có dung lượng 4 byte Như vậy số ứng viên cần phải xét là:

2 2

2 Dung lượng này bị giới hạn bởi kích thước bộ nhớ trong 1GB (= 230 Byte) của máy tính tức là: 4n2 ≤ 230 hay n≤ 214 = 16384 Như vậy, kích thước bộ nhớ trong của hệ thống tính toán đã giới hạn kích thước dữ liệu vào mà hệ thống có thể xử lý (không được phép vượt quá 16384 mục) Thực tế, đối với các hệ thống PC, chương trình của của chúng ta không được phép sử dụng hết toàn bộ dung lượng bộ nhớ trong mà còn phải chia sẻ với hệ điều hành và các chương trình ứng dụng khác, do

đó dung lượng bộ nhớ thực sự dùng để tính toán sẽ còn bị hạn chế hơn rất nhiều Hình 2.8 cho ta thấy sự gia tăng yêu cầu về dung lượng bộ nhớ khi kích thước dữ liệu (số mục) vào tăng Đường thẳng nét đứt nằm ngang biểu diễn giới hạn của kích thước bộ nhớ trong và đường thẳng nét liền đậm biểu diễn cho giới hạn của kích thước dữ liệu vào

Thông thường, dữ liệu truy cập web thường chỉ được truy cập bởi người quản trị máy chủ và ít khi được cung cấp rộng rãi vì lý do bảo mật Tuy nhiên, trang web

máy chủ web của các công ty hay tổ chức có tên tuổi trên thế giới nhằm phục vụ cho việc nghiên cứu Ta có thể khảo sát một số mẫu web log được cung cấp để đánh giá về mặt dung lượng (xem bảng 2.4)

Câu hỏi đặt ra là ta sẽ phải làm gì khi dung lượng dữ liệu cần xử lý vượt quá giới hạn về bộ nhớ của hệ thống tính toán Một trong những cách tư duy hết sức tự nhiên đó là chia nhỏ tập dữ liệu thành các phần có dung lượng vừa với kích thước

bộ nhớ trong và xử lý từng phần độc lập Giải pháp cho vấn đề này sẽ được trình bày trong chương tiếp theo

Trang 32

B ng 2.3: Các m u web log của một s máy chủ web được thu thập và cung cấp tại

trang web http://ita.ee.lbl.gov

STT Máy chủ web Tổ chức

Thời điểm khảo sát

Khoảng thời gian

Dung lượng (MB)

Số lượng bản ghi

1 EPA-WWW Research Triangle Park, NC

Từ 23h53 ngày 29/08/1995 đến 23h53 ngày 30/08/1995

01 ngày 4.4 47.748

2 SDSC-WWW Trung tâm Siêu máy tính

San Diego, California

Từ 00h00 đến 23h59 ngày 22/08/1995

01 ngày 3.6 28.338

3 Calgary-HTTP

Khoa Khoa học máy tính thuộc Đại học Calgary, Canada

Từ 00h00 ngày 24/10/1994 đến 23:59 ngày 21/10/1995

353 ngày 52.3 726.739

4

ClarkNet-WWW

Công ty ClarkNet – Nhà cung cấp đường truyền Internet tại Washington DC

Từ 00h00 ngày 28/08/1995 đến 23h59 ngày 10/09/1995

214 ngày 233.4 2.408.625

Một trong những thách thức khác khi tiến hành khai phá dữ liệu sử dụng web

từ các tập tin server log đó là dữ liệu được cập nhật liên tục Một số phần mềm máy chủ web cho phép các nhà quản trị lựa chọn cách thức ghi lại dữ liệu truy cập trên nhiều tập tin log, mỗi tập tin log mới sẽ được tạo ra sau một chu kỳ nhất định (ngày/tuần/tháng) hoặc khi dung lượng tập tin vượt quá một giới hạn cho trước Ngoài ra nhà quản trị cũng có thể lựa chọn ghi lại toàn bộ dữ liệu truy cập web lên một một tin log duy nhất và kích thước tập tin này sẽ gia tăng mãi

Hình 2.9 là giao diện cấu hình việc ghi dữ liệu truy cập (logging) của phần mềm máy chủ web IIS 7.5 Nếu ta lựa chọn mục Shedule là Daily thì sau mỗi ngày

sẽ có một tập tin log mới được tạo ra (xem hình 2.10) Giả sử ngày 24/07 ta đã tiến

Trang 33

hành khai phá luật kết hợp với dữ liệu thu được của 05 ngày từ ngày 20/07 đến 24/07 và thu được các tập phổ biến cũng như các luật kết hợp tương ứng

Hình 2.9: Cấu hình tập tin log tr n Microsoft IIS 7.5

Đến ngày 25/07 dữ liệu phát sinh thêm tập tin u_ex120725 Câu hỏi đặt ra là

dữ liệu vào đã có thay đổi, làm thế nào có thể cập nhật những thay đổi này vào kết quả khai phá? Liệu ta có phải tiến hành khai phá lại từ đầu với cả 06 tập tin hay chỉ cần khai phá dữ liệu trên tập tin mới phát sinh và cố gắng tận dụng kết quả của lần khai phá trước đó

Vấn đề này có thể được phát biểu một cách tổng quát như sau: Giả sử tại thời điểm t1 ta có cơ sở dữ liệu giao dịch D và ta đã tiến hành khai phá trên cơ sở dữ liệu giao dịch này, thu được các tập phổ biến cũng như các luật kết hợp tương ứng Đến thời điểm t2, phát sinh thêm một tập các giao dịch là ∆D Cơ sở dữ liệu giao dịch lúc này là D’ = D ∪ ∆D Câu hỏi đặt ra là để khai phá cơ sở dữ liệu giao dịch D’ ta

có cần thực hiện khai phá lại từ đầu với toàn bộ dữ liệu của D’ hay chỉ cần khai phá trên tập dữ liệu phát sinh ∆D và tận dụng kết quả khai phá ở thời điểm t1? Điều này

Trang 34

có ý nghĩa rất lớn trong trường hợp kích thư c của tập D l n hơn nhiều so v i ∆D

Khi đó việc khai phá lại toàn bộ D’ là một sự lãng phí vì phần lớn các giao dịch trong D’ đã được khai phá trước đó và ta cần phải tận dụng các kết quả khai phá này Vấn đề đặt ra ở đây cũng sẽ được giải quyết một cách triệt để trong chương 3 dựa trên kết quả của việc áp dụng chiến lược Chia để trị

Hình 2.10: Các tập tin log được ghi theo từng ngày (từ 20/07 đến 25/07/2012)

2.7 Kết luận chư ng 2

Luật kết hợp là loại mẫu điển hình nhất trong phân tích mẫu truy cập Web Nội dung chương 2 tập trung trình bày sơ bộ về luật kết hợp cũng như những nghiên cứu trước đó về luật kết hợp Vấn đề khai phá song song luật kết hợp cũng được tập trung đề cập với một số giải thuật xử lý song song được đề xuất bởi Agrawal và C.Shafer Chương 2 cũng chỉ ra một số những trở ngại cơ bản khi tiến hành khai phá luật kết hợp từ dữ liệu sử dụng web Trong chương 3, tư tưởng Chia

để trị sẽ được áp dụng với dữ liệu vào nhằm khắc phục những trở ngại khi phải đối mặt với lượng dữ liệu lớn và thường xuyên thay đổi

Trang 35

CHƯƠNG : TƯ TƯ NG CHIA Đ T Ị

T ONG KHAI PHÁ LUẬT KẾT HỢP

1 Áp dụng chiến lược Chia để trị trong bài toán khai phá luật kết hợp

Chia để trị (Divide and Conquer) là một trong những chiến lược đầu tiên được nghĩ tới khi phải đối mặt với các bài toán lớn Tư tưởng của chiến lược này như sau: Người ta phân chia bài toán cần giải thành các bài toán con Các bài toán con lại tiếp tục được phân thành các bài toán con nhỏ hơn, cứ thế tiếp tục cho tới khi ta nhận được các bài toán con hoặc là đã có thuật giải, hoặc là có thể dễ dàng đưa ra được thuật giải Sau đó ta tìm cách kết hợp nghiệm của các bài toán con để nhận được nghiệm của các bài toán con lớn hơn và cuối cùng nhận được nghiệm của bài toán cần giải Thông thường, các bài toán con nhận được trong quá trình phân chia là cùng dạng với bài toán ban đầu

Như đã trình bày trong chương 2, dữ liệu web log có hai đặc điểm hết sức quan trọng, đó là:

 Kích thước dữ liệu có thể lớn đến mức các giải thuật khai phá dữ liệu thông thường không thể áp dụng được do sự hạn chế về mặt bộ nhớ của

hệ thống tính toán

 Dữ liệu web log thường xuyên thay đổi (phát sinh thêm dữ liệu) Nếu áp dụng các giải thuật khai phá dữ liệu thông thường, ta sẽ phải khai phá lại từ đầu mà không kế thừa được các kết quả khai phá trước đó

Chính vì thế việc áp dụng chiến lược Chia để trị trong khai phá luật kết hợp từ dữ liệu web log là một tư duy hết sức tự nhiên Thông thường, việc giải quyết bài toán khai phá luật kết hợp được chia thành hai pha:

 Pha 1: Sinh các tập phổ biến

 Pha 2: Sinh luật kết hợp từ các tập phổ biến tìm được ở pha 1

Trong luận văn này, tác giả đề xuất áp dụng chiến lược Chia để trị trong pha 1-

Sinh tập phổ biến Tư tưởng của chiến lược này là: ph n chia nhỏ tập dữ liệu c n

xử lý để xử lý từng ph n

Giả sử phải tìm các tập phổ biến từ cơ sở dữ liệu giao dịch D với ngưỡng độ

hỗ trợ (minsup) là p Ta có thể áp dụng chiến lược Chia để trị theo cách như sau:

Trang 36

Bước 1: Ta chia nhỏ D thành m cơ sở dữ liệu con D1, D2, …, Dm Các c sở dữ liệu con này là các tập con đôi một không giao nhau của D, tức là: D = D1 ∪ D2

…∪ Dm và Di ∩ Dj = ϕ với ∀i, j ∈ [1, m và i ≠ j

Bước 2: Lần lượt áp dụng giải thuật khai phá luật kết hợp trên các cơ sở dữ liệu

con D1, D2,…, Dm với cùng ngưỡng độ hỗ trợ là p ta thu được các tập 1, F2,…,

Fm là tập các tập phổ biến tương ứng của D1, D2,…, Dm Ta gọi các tập phổ biến trên một cơ sở dữ liệu con Dj là các tập phổ biến cục bộ (local frequent itemsets)

Bước 3: Kết hợp các tập 1, F2,…, m để thu được tập là tập các tập phổ biến tương ứng với cơ sở dữ liệu giao dịch gốc D Các tập phổ biến trên toàn bộ cơ sở

dữ liệu giao dịch gốc D gọi là các tập phổ biến toàn cục (global frequent itemsets)

Một trong những điều kiện để có thể áp dụng thành công chiến lược Chia để trị đó là ta phải khẳng định được việc kết hợp nghiệm của các bài toán con chắc chắn sẽ thu được nghiệm của bài toán ban đầu Cụ thể là ta sẽ phải trả lời hai câu hỏi sau đây:

1 Việc kết hợp các tập 1, F2, …, m có thể khôi phục lại được tập hay không?

2 Nếu có, thuật toán nào sẽ được sử dụng để xây dựng lại tập từ 1, F2,…, m?

2 C sở toán học cho việc áp dụng chiến lược Chia để trị

Ký hiệu * = F1 ∪ F2 … ∪ Fn Ta thấy rằng việc khôi phục lại được tập từ các tập 1, F2,…, n chỉ có thể thực hiện được nếu F ⊆ F* Bởi vì nếu F ⊆ F* có nghĩa là F* bảo tồn được các tập phổ biến vốn có trong

Hình 3.1: Tương quan l c lượng giữa các tập phổ biến cục bộ và toàn cục

Trong trường hợp ngược lại, nếu F ⊈ F* thì có nghĩa là việc tìm các tập phổ biến cục bộ trên từng cơ sở dữ liệu con Dj sau đó kết hợp lại đã làm mất đi một số tập phổ biến ban đầu đáng ra có trong D (hình 3.1) Chúng ta không có cách nào để tìm lại các tập phổ biến đã mất này và lúc này chiến lược Chia để trị không thể áp

F

F * chứa toàn bộ

F* chỉ chứa một phần của , phần còn lại

của không thể xác định được từ *

Trang 37

dụng thành công do việc kết hợp nghiệm của các bài toán con không giúp ta xây dựng lại được chính xác nghiệm của bài toán ban đầu

Để chứng minh ⊆ F* ta sẽ chứng minh rằng mọi phần tử của cũng thuộc

F* Muốn chứng minh mọi phần tử của cũng thuộc * ta phải chứng minh rằng mỗi tập phổ biến Ii ∈ cũng phải thuộc về ít nhất một trong số các tập 1,…, m Nói cách khác, ta phải chứng minh rằng nếu một tập mục là tập phổ biến toàn cục ứng với CSDL giao dịch D thì nó cũng là tập phổ biến cục bộ ứng với ít nhất một đoạn CSDL con Dj nào đó của D Tức là: Nếu sup ( )D I i ≥ p thì phải j ∈ [1, m] sao cho sup ( )

j

D I i ≥ p Trong đó: Ii là tập mục, p là ngưỡng độ hỗ trợ (minsup),

sup ( )D I i là độ hỗ trợ của Ii ứng với cơ sở dữ liệu giao dịch D và sup ( )

j

D I i là độ

hỗ trợ của Ii ứng với cơ sở dữ liệu giao dịch con Dj

Ta sẽ chứng minh mệnh đề này bằng phương pháp phản chứng:

Giả sử nếu với sup ( )D I i ≥ p, ∄j ∈ [1, m] sao cho sup ( )D j I ≥ p, tức là ∀j ∈ [1, m] i

p dụng bất đẳng thức trên lần lượt cho các cơ sở dữ liệu con D1, D2,…, Dm,

ta thu được m bất đẳng thức sau đây:

Ngày đăng: 25/03/2015, 10:24

HÌNH ẢNH LIÊN QUAN

Hình 2.1:  oại bỏ các tập mục độ dài 1 có độ hỗ trợ nhỏ hơn minsup=2/9 - Ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 2.1 oại bỏ các tập mục độ dài 1 có độ hỗ trợ nhỏ hơn minsup=2/9 (Trang 20)
Hình 2.2:  oại bỏ các tập mục độ dài 2 có độ hỗ trợ nhỏ hơn minsup=2/9 - Ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 2.2 oại bỏ các tập mục độ dài 2 có độ hỗ trợ nhỏ hơn minsup=2/9 (Trang 21)
Hình 2.4: Minh họa giải thuật ph n ph i độ hỗ trợ tr n 03 bộ xử lý song song [2] - Ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 2.4 Minh họa giải thuật ph n ph i độ hỗ trợ tr n 03 bộ xử lý song song [2] (Trang 23)
Hình 2.5: Minh họa giải thuật ph n ph i dữ liệu tr n 03 bộ xử lý song song [2] - Ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 2.5 Minh họa giải thuật ph n ph i dữ liệu tr n 03 bộ xử lý song song [2] (Trang 24)
Hình 2.6: Mô hình khai phá song song luật kết hợp từ dữ liệu truy cập web - Ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 2.6 Mô hình khai phá song song luật kết hợp từ dữ liệu truy cập web (Trang 25)
Hình 2.7: Một tập tin web log v i các trường thông tin xác định - Ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 2.7 Một tập tin web log v i các trường thông tin xác định (Trang 29)
Hình 2.8: S  ti u t n bộ nh  khi s  mục vào tăng - Ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 2.8 S ti u t n bộ nh khi s mục vào tăng (Trang 30)
Hình 2.9: Cấu hình tập tin log tr n Microsoft IIS 7.5 - Ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 2.9 Cấu hình tập tin log tr n Microsoft IIS 7.5 (Trang 33)
Hình 3.2:  Mô hình khai phá luật kết hợp d a tr n chiến lược “Chia để trị” - Ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 3.2 Mô hình khai phá luật kết hợp d a tr n chiến lược “Chia để trị” (Trang 39)
Hình 3.3: Mô hình “Chia để trị” trong khai phá song song luật kết hợp - Ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 3.3 Mô hình “Chia để trị” trong khai phá song song luật kết hợp (Trang 46)
Hình 4.3: R i ∈  S j  và R i+1 ∈  S j+1  nếu ST(R i+1 ) - ST(R i ) ≥ δ - Ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 4.3 R i ∈ S j và R i+1 ∈ S j+1 nếu ST(R i+1 ) - ST(R i ) ≥ δ (Trang 59)
Hình 4.5: Áp dụng phương pháp heuristic hư ng thời gian - Ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 4.5 Áp dụng phương pháp heuristic hư ng thời gian (Trang 60)
Hình 4.7: Hệ th ng khai phá luật kết hợp d a tr n giải thuật Apriori - Ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 4.7 Hệ th ng khai phá luật kết hợp d a tr n giải thuật Apriori (Trang 63)
Hình 4.8a: Biểu đồ so sánh thời gian xử lý của 3 hệ th ng v i minsup = 0.25% - Ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 4.8a Biểu đồ so sánh thời gian xử lý của 3 hệ th ng v i minsup = 0.25% (Trang 67)
Hình 4.8c: Biểu đồ so sánh thời gian xử lý của 3 hệ th ng v i minsup = 0.75% - Ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 4.8c Biểu đồ so sánh thời gian xử lý của 3 hệ th ng v i minsup = 0.75% (Trang 68)

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