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

Phân chia không gian

Một phần của tài liệu ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGHIÊN CỨU CÁC THUẬT TOÁN KHAI PHÁ LUẬT KẾT HỢP CÓ TRỌNG SỐ VÀ ỨNG DỤNG (Trang 47 -57 )

b. Thuật toán sinh luật nhanh

2.3.3 Phân chia không gian

Thông thường người ta chia mỗi chiều thành một số phần cố định. Tuy nhiên với phương pháp này, khi số chiều tăng thì số grid tăng theo hàm mũ, trong khi mật độ trung bình của mỗi grid giảm nhanh. Phương pháp của chúng ta cố định số grid bất kể số chiều.

Cho một tập hạng mục I có n hạng mục, miền của chiều thứ k được phân chia thành mk khoảng (được xem là các khoảng cơ sở). Để đơn giản hoá, ta giả sử mỗi chiều được chia thành số các khoảng cơ sở giống nhau, nghĩa là mk = m ; k=1,2,…n, trong đó m là số nguyên dương. Khi đó, n

k n

k N mN =∏1 = N =∏1 =

là tổng số ô lưới trong không gian với mỗi ô lưới là một hình lập phương n chiều mà bề rộng mỗi chiều chính xác là một khoảng cơ sở. N là hằng số. Khi đó m là hàm của N và n. Giá trị m có thể khác nhau với các tập hạng mục khác nhau. Thêm nữa, số các counter trung bình cần cho mỗi tập hạng mục tương ứng tuyến tính với N. Một ưu điểm của phương pháp phân chia này là chúng ta có thể điều khiển một cách dễ dàng số các counter bằng cách thay đổi giá trị của N. Điều này cho chúng ta khả năng tận dụng hết ưu điểm của không gian lưu trữ sẵn có một cách linh động. Với một tập n hạng mục, chúng ta có m=

n N . Vì m nguyên, thay vì ép giá trị N duy nhất cho tất cả các tập hạng mục, chúng ta đặt biên trên Nˆ của N tương ứng với không gian sẵn có và với một tập n hạng mục đã cho, N phải là giá trị lớn nhất có thể (Nˆ ) mà làm cho n N

nguyên, N=n Nˆn khác nhau không đáng kể với các tập hạng mục khác

nhau. Hình 1(a) minh hoạ các phần không gian của một tập 2 hạng mục {fashion, sport} và tập 3 hạng mục {fashion, book, sport} với N=225. Do đó, mỗi chiều được chia thành

225

=15 khoảng cho tập 2 hạng mục {fashion, sport} và được chia thành

3 225

=6 khoảng cho tập 3 hạng mục {fashion, book, sport}. Chú ý rằng số chiều tăng, mặc dù khoảng trên mỗi chiều trở nên lớn hơn, số các giao dịch trung bình trong mỗi grid vẫn được duy trì xấp xỉ như cũ.

Mỗi grid tương ứng là một tập cụ thể hoá của I. Bất kỳ hộp nào trong không gian là sự kết hợp của các grid liền kề nhau, có dạng hình khối, cũng tương ứng duy nhất với tập cụ thể hoá của I. Với 2 tập hạng mục có trọng số bất kỳ I1, I2, nếu I1 là cụ thể hoá của I2 thì hộp tương ứng với I1 được bao hoàn toàn trong hộp tương ứng với I2. Chúng ta có thể hoán đổi thuật ngữ “box” (hộp) và “weighted itemset” (tập hạng mục có trọng số). Độ hỗ trợ của một box được định nghĩa là độ hỗ trợ của tập hạng mục có trọng số tương ứng.

Cho α là số các giao dịch trung bình mà hỗ trợ một grid.

N

ℜ= =

α . Mật độ của một grid được định nghĩa là tỉ số của độ hỗ trợ của grid này và α . Về

trực giác, mật độ có thể xem như biểu thị mức độ tập trung tương ứng của các giao dịch trong không gian. Một grid là đặc nếu mật độ của nó ở trên ngưỡng d, ở đây d là số thực nhỏ (d>1). Để giới hạn không gian tìm kiếm, chúng ta chỉ xem xét kỹ các grid đặc và vùng được tạo bởi các grid đặc. Một vùng đặc (dense region) là sự hợp nhất của một tập các ô lưới đặc liền kề. Mỗi hộp trong một vùng đặc tương ứng với một hộp đặc (dense box), là một ứng viên của tập hạng mục có trọng số phổ biến.

Cắt tỉa các counter

Xét các luật kết hợp có dạng X1X2…Xn-1 Xn. Nhận thấy với tập n

hạng mục, có thể có n luật (mỗi hạng mục có thể thoả mãn vế phải của luật). Để đánh giá độ tin cậy ta không chỉ cần các counter chính (primary counter) để ghi lại độ hỗ trợ của grid này, mà còn cần các counter, gọi là counter hình chiếu (projected counter), ghi lại độ hỗ trợ của các hình chiếu grid trên mỗi không gian (n-1) chiều, nghĩa là độ hỗ trợ của mỗi tập hạng mục bên trái có thể của WAR. Các counter này có thể tạo một lần cho các tập hạng mục khác

nhau. Ví dụ {fashion, sport, book} và {fashion, sport, houseware} có {fashion, sport} chung. Số các counter cần tạo ra để khai phá tất cả các WAR cho tất cả các tập phổ biến là rất lớn, chúng ta xem xét phương pháp cắt giảm số các counter dựa trên 2 thuộc tính hình học:

- Một grid n chiều b được phân chia cho counter chính không thể là dày đặc nếu một trong các hình chiếu b’ của nó lên một không gian n-1 chiều có độ hỗ trợ nhỏ hơn d x α. ví dụ trong hình 1(b), nếu grid bị che tối trên không gian {fashion, sport} có độ hỗ trợ nhỏ hơn d x α, grid 3 chiều bị che tối không thể là dày đặc.

- Với một grid n chiều b’ được chia (partition for) cho counter hình chiếu, cho φ(b’) là tập các grid n chiều mà được chia cho các counter chính và

chồng lấp lên b’. Trong hình 1(c), đường tối đặc viền quanh b’ và các grid bị che tạo thành φ(b’). b’ không thể dày đặc nếu độ hỗ trợ của φ(b’) nhỏ hơn d x

α.

Dựa trên 2 thuộc tính hình học này chúng ta sẽ thu thập các counter hình chiếu (từ tập n hạng mục) lên các tập n-1 hạng mục trước các counter chính của các tập n hạng mục và thu thập các counter chính của các tập n hạng mục trước các counter hình chiếu (từ các tập n+1 hạng mục) lên các tập n hạng mục. Từ đó, các counter của tất cả các tập phổ biến n hạng mục được xếp thành 2 mức: mức 2(n-1) và 2(n-1) +1. Hình 2.4 minh hoạ quá trình tạo các counter của tập tới khi thành {fashion, sport, book}.

Hình 2.4 Cắt tỉa các counter (Counter pruning).

2.3.4 Tạo ra các luật kết hợp có trọng số

Để tìm kiếm dải được kết hợp với mỗi hạng mục, chúng ta bắt đầu từ hộp bao nhỏ nhất của mỗi vùng dày đặc và rút ngắn lại theo hướng các luật lớn nhất. Ta có thể lấy một grid và phát triển theo các luật lớn nhất. Vì các luật lớn nhất thường có volume lớn, sự co lại theo hướng các luật lớn nhất, nói chung hiệu quả hơn gia tăng theo nó. Đây là giải thuật đầu tiên sử dụng co (shrink) thay vì grow trong khai phá các luật kết hợp hay phân cụm. Một shrinkage được định nghĩa là hành động giảm span của một hộp theo một chiều bằng chính xác một khoảng cơ sở. Với mỗi hạng mục, dải trọng số của nó có thể được co lại theo 2 hướng: tăng biên dưới hoặc giảm biên trên, do đó có 2n shrinkage khác nhau có thể áp dụng cho 1 tập n hạng mục có trọng số. Kết quả là có thể có 2n tập n hạng mục có trọng số mới được tạo ra. Ta gọi các tập này

là tập cụ thể hoá tức thời của tập ban đầu. Hay tập ban đầu là tập khái quát hoá tức thời của các tập mới được tạo ra này. Do đó mỗi tập hạng mục có trọng số (ngoại trừ các tập đó biểu diễn một grid đơn trên một số chiều của nó) có 2n tập cụ thể hoá tức thời. Nói cách khác, mỗi tập hạng mục có trọng số trừ tập mà biểu diễn toàn bộ miền có 2n tập khái quát hoá tức thời.

Hình 2.5 minh hoạ một ví dụ. Vùng dày đặc mà hộp bao nhỏ nhất của nó được chỉ ra trong hình 2.5(b) với các grid tối (tô đậm) và các grid sáng (không tô) là các grid dày đặc và các grid không dày đặc tương ứng. Hình 2.5(c) chỉ 6 hướng khác nhau để co một tập có trọng số 3 hạng mục bao gồm {fashion, sport, book} và các kết quả tương ứng của chúng.

Hình 2.5: Region shrinkage

Rõ ràng, mỗi hộp dày đặc có thể được tìm thấy bởi một shrinkage từ các tập khái quát tức thời của nó và do đó có thể được tìm thấy bởi một tập shrinkage từ hộp bao nhỏ nhất của vùng dày đặc. Giả sử rằng mỗi lần chúng ta có thể chỉ thực hiện một shrinkage trên một hộp ứng viên tại một thời điểm, toàn bộ quá trình có thể được xem là các thao tác tuần tự (Bj, Hj) (j=1,2,…)

với Bj là một hộp ứng viên và Hj là một shrinkage theo một số hướng. Cho ψj

là tập chứa hộp bao nhỏ nhất của vùng dày đặc (B1) và tất cả các hộp được tạo ra qua các thao tác (B1, H1),…(Bj-1, Hj-1). Vì vậy ψ j biểu diễn tập các hộp ứng

viên (để co hơn nữa) sẵn có trước thao tác thứ j. Rõ ràng, chúng ta có Bj∈ψ j

tại mỗi bước. Chuỗi dừng lại khi tất cả các WAR đã được tạo ra. Chú ý rằng tại mỗi bước, có nhiều hộp ứng viên trong ψj và các hướng co khác nhau để

chọn. Kết quả là các giải thuật khác nhau cho hộp ứng viên được chọn và hướng co có thể tạo ra chuỗi thao tác khác nhau và do đó có thể yêu cầu số các thao tác khác nhau trước khi tất cả các luật cần thiết được tạo ra. Do vậy, hiệu quả của giải thuật phụ thuộc vào lượng thời gian tiêu thụ tại mỗi bước và số các thao tác cần thiết.

Bởi mỗi tập hạng mục có trọng số I có 2n tập khái quát hoá tức thời, có 2n tập có trọng số khác nhau có thể tạo ra I bởi một shrinkage. Có thể dùng giải thuật vét cạn (brute force). Song giải thuật này không hiệu quả bởi thực tế một hộp có thể được kiểm tra nhiều lần qua các đường dẫn shrinkage khác nhau. Hình 2.6 là một ví dụ minh hoạ

Đường dẫn shrinkage “(a) (b)  (d)” là “giảm biên trên của chiều 2” sau đó “giảm biên trên của chiều 1” trong khi đường dẫn “(a)  (c)  (d)” là “giảm biên trên của chiều 1” sau đó “giảm biên trên của chiều 2”. 2 đường dẫn này là hoán vị của nhau. Khái quát, nếu nó có b shrinkage để tìm hộp B’ từ B (với B’ được bao bởi B) thì tồn tại b! đường dẫn shrinkage khác nhau. Để tránh tạo thừa các tập hạng mục có trọng số, chúng ta đưa ra một kỹ thuật shrinkage có thứ tự. Điều này bảo đảm rằng mỗi tập hạng mục có trọng số được tạo ra chính xác một lần.

Shrinkage có thứ tự

Đầu tiên chúng ta chọn một hoán vị, gọi là , của 2n hướng co khác nhau và giữ lại thứ tự này trong suốt toàn bộ quá trình. Ví dụ, 6 hướng co trong hình 5(c) có thể được sắp xếp theo tăng biên dưới của chiều 1, giảm biên trên của chiều 1, tăng biên dưới của chiều 2, giảm biên trên của chiều 2, tăng biên dưới của chiều 3, giảm biên trên của chiều 3. Sau đó suốt quá trình co, một shrinkage của hướng thứ k trong chuỗi thứ tự có thể thực hiện trên hộp B chỉ khi không có shrinkage của hướng sau hướng thứ k trong chuỗi đã được thực hiện để tạo ra B. Chúng ta gọi shrinkage như vậy là một shrinkage hợp lệ. Ví dụ nếu chúng ta lấy hộp trong hình 2.5(c)(4) làm ứng viên để tạo các tập hạng mục có trọng số mới (cũng được thể hiện trên hình 2.7(a)), theo thứ tự chúng ta lấy (pick), 3 hướng co có thể được áp dụng như minh hoạ trong hình 2.7(b). Hình 2.7(c) chỉ ra một trường hợp shrinkage không hợp lệ bởi việc giảm biên trên của chiều 1 không được phép sau khi giảm biên trên của chiều 2. Chú ý rằng hộp được thể hiện trong hình 2.7(c) có thể nhận được bằng một shrinkage hợp lệ từ tập khái quát hoá tức thời khác (trong hình 2.5(c)(2)) của nó như được chỉ ra trong hình 2.7(d). Rõ ràng là phương pháp shrinkage có

thứ tự này tránh hoàn toàn việc tạo thừa hộp trong phương pháp brute force trước đó.

Hình 2.7 Shrinkage có thứ tự

Chứng minh tính đúng đắn:

Bổ đề 6.1 Cho hai tập hạng mục có trọng số bất kỳ WI1 và WI2 với WI1 là tập cụ thể hoá của WI2. WI1 luôn có thể được tạo ra bằng cách thực hiện một chuỗi shrinkage có thứ tự trên WI2.

Cm: cho ( ' 1 l , ' 1 u ), ( ' 2 l , ' 2 u ),…,( ' n l , ' n

u ) và (l1, u1), (l2, u2),…,(ln, un) là các toạ độ của WI1 và WI2 trên mỗi chiều tương ứng. Sau đó ta có thể co WI2 thành WI1

bằng cách sau: đầu tiên co l1 thành l1, rồi u1 thành u1,… un thành un.  đpcm.

Bổ đề 6.2. Với 2 tập hạng mục có trọng số bất kì WI1 và WI2, WI1 là tập cụ thể hoá của WI2. Tồn tại đúng một đường dẫn shrinkage hợp lệ từ WI2 thành WI1.

Cm: chúng ta giả sử điều ngược lại là đúng. Tồn tại 2 đường dẫn (P và Q) để co từ WI2 về WI1. Giả sử điểm khác nhau đầu tiên là tại bước P co biên trên (on) p trong khi Q co biên q và p < q, rồi sau bước này, trong Q, p không thể co được hơn nữa đối với thứ tự . Kết quả là Q và P không thể rút gọn tới cùng một hộp  đpcm.

2.3.5 Cấu trúc dữ liệu và giải thuật

Nếu tất cả các luật kết hợp lớn nhất được người sử dụng yêu cầu, một hàng đợi có thể được sử dụng để duy trì tập hộp ứng viên (ψ ). Chúng ta lấy ra một

hộp ở đầu hàng đợi để kiểm tra và sau khi rút gọn, các hộp mới được gắn thêm một cách dễ dàng vào cuối hàng đợi. Giải thuật kết thúc khi tất cả các luật kết hợp có trọng số lớn nhất thoả mãn ngưỡng độ hỗ trợ và độ tin cậy được tìm thấy.

Một sự tối ưu hoá tức thời là mỗi khi một luật thoả mãn nào đó được lấy ra từ một hộp, chúng ta sẽ loại bỏ nó ra khỏi tập hộp ứng viên và không thực hiện rút gọn trên tập này nữa. Thêm vào đó, khi tất cả các shrinkage cần thiết được thực hiện trên một hộp, hộp này sẽ không được duy trì trong tập hộp ứng viên ψ nữa để ψ ngắn gọn và hiệu quả hơn

Tuy nhiên, nếu người sử dụng chỉ cần một số (chẳng hạn g) WAR maximum với volume lớn nhất, chúng ta có thể chọn cấu trúc dữ liệu khác phụ thuộc vào g có là một số nhỏ tương đối hay không (so sánh với số lượng tất cả các WAR lớn nhất thoả mãn điều kiện). Nếu g là một số nhỏ, có thể tối ưu hoá giải thuật tổng quát bằng cách lấy hộp có khối lượng lớn nhất trong tập các ứng viên ψ để khảo sát tại mỗi bước j. Một cấu trúc đống (heap) sẽ làm cho

quá trình như vậy thuận lợi hơn. Một lượng phí nhất định là cần thiết để duy trì đống.

Một phần của tài liệu ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGHIÊN CỨU CÁC THUẬT TOÁN KHAI PHÁ LUẬT KẾT HỢP CÓ TRỌNG SỐ VÀ ỨNG DỤNG (Trang 47 -57 )

×