KHAI PHÁ LUẬT KẾT HỢP TRấN CƠ SỞ DỮ LIỆU PHÂN TÁN

Một phần của tài liệu đồ án công nghệ thông tin Khai phá cơ sở dữ liệu gia tăng Trình bày phương pháp khai phá cở sở dữ liệu thay đổi theo thời gian (cơ sở dữ liệu gia tăng). (Trang 38)

PHÂN TÁN

Sự bựng nổ của mạng và cỏc ứng dụng quản lớ dữ liệu phõn tỏn đó khiến vấn đề khai phỏ dữ liệu phõn tỏn trở thành vấn đề quan trọng. Cỏc thuật toỏn giải quyết bài toỏn này được gọi là cỏc thuật toỏn khai phỏ luật kết hợp song song. Mụi trường của bài toỏn tớnh toỏn song song là cơ sở dữ liệu được đặt ở nhiều mỏy tớnh khỏc nhau. Một thuật toỏn chung được cài đặt tại mỗi mỏy tớnh như

vậy và được thực hiện bởi mỏy tớnh đú. Mỗi mỏy tớnh sẽ đảm nhận xử lớ một tiến trỡnh hoặc một phần dữ liệu của tiến trỡnh, thụng tin trong quỏ trỡnh xử lớ được truyền và cập nhật qua đường mạng sau mỗi pha xử lớ.

Dưới đõy xin được giới thiệu về ba thuật toỏn song song cơ bản ỏp dụng trong lý thuyết khai phỏ luật kết hợp. Những yếu tố tỏc động đến hiệu năng của từng thuật toỏn như sự tớnh toỏn, sự truyền thụng, mức độ sử dụng bộ nhớ sẽ được khảo sỏt qua.

Ba thuật toỏn đú là:

Thuật toỏn Phõn phối số đếm (Count Distribution): Chỳ trọng giảm thiểu lượng thụng tin phải truyền qua cỏc mỏy. Nhược điểm là cú nhiều phộp tớnh lặp (nhiều mỏy cựng thực hiện một hay nhiều phộp tớnh).

Thuật toỏn Phõn phối dữ liệu (Data Distribution): Quan tõm đến sự hiệu năng sử dụng bộ nhớ của hệ thống.

Thuật toỏn Phõn phối Candidate (Candidate Distribution): Khai thỏc ngữ nghĩa (semantic) của bài toỏn cần giải quyết để phõn ró dữ liệu dựa theo cỏc mẫu của cỏc giao dịch khỏc nhau và giảm sự đồng bộ giữa cỏc mỏy.

Ba thuật toỏn này đều dựa trờn thuật toỏn Apriori tuần tự (đó nờu trờn). Chỳng chỉ khỏc nhau trong phần sinh cỏc Large Itemset, và dựng chung thuật toỏn trong phần sinh luật từ cỏc Large Itemset đú.

Một vài chỳ ý: Dưới đõy, cỏc kớ hiệu chỉ số trờn là chỉ số của mỏy tớnh, cũn chỉ số dưới là chỉ số của vũng thực hiện.

ỨNG DễNG Lí THUYẾT LUẬT KẾT HỢP KHAI PHÁ DỮ LIỆU TÁC NGHIỆP

1.6.1 Thuật toỏn Phõn phối số đếm

Hỡnh 2-16 Thuật toỏn Phừn phối số đếm

Như vậy, trong mỗi giai đoạn cỏc mỏy tớnh quột cơ sở dữ liệu cục bộ Di và xử lớ dị bộ. Tuy nhiờn tại điểm cuối mỗi giai đoạn, chỳng phải được đồng bộ để phỏt triển số đếm support.

Cỏc bước 1-2, 4-5 giống thuật toỏn tuần tự. Tớnh song song của thuật toỏn chỉ được thể hiện ở bước 3.

1.6.2 Thuật toỏn Phõn phối dữ liệu

Hạn chế của thuật toỏn Count Distribution là khụng khai thỏc được khả năng bộ nhớ hệ thống. Bởi vỡ khụng phụ thuộc vào số lượng mỏy tớnh sử dụng trong hệ thống, cỏc mỏy đều phải xử lớ trờn cỏc itemset Candidate giống nhau. Thuật toỏn Data Distribution là thuật toỏn tận dụng bộ nhớ hệ thống. Bằng cỏch mỗi mỏy tớnh chỉ đếm cỏc Candidate chung mà nú chiếm giữ nờn khi số lượng mỏy tớnh tham gia tớnh toỏn càng nhiều thỡ cỏc Candidate được đếm càng lớn. Tuy nhiờn đõy cũng là nhược điểm của thuật toỏn khi mà cỏc mỏy

Thuật toỏn Phõn phối số đếm

Bước k=1: Dựa trờn tập cơ sở dữ liệu giao dịch cục bộ Di ,Mỗi processor Pi sinh tập cỏc itemset Candidate Ci

1 của nú. Cỏc itemset Candidate này mang tớnh cục bộ và được tổng hợp lại thành itemset Candidate tổng thể C1 sau khi thực hiện trao đổi giữa cỏc mỏy tớnh.

Bước k>1: Cỏc giai đoạn sau (k>1), thuật toỏn thực hiện như sau:

Mỗi mỏy tớnh Pi sinh ra tập Ck đầy đủ bằng cỏch sử dụng tập itemset Lk-1 lớn đầy đủ được tạo tại điểm cuối của giai đoạn k-1. Lk là đầy đủ vỡ Lk-1 cũng đầy đủ.

Mỏy tớnh Pi lập giai đoạn duyệt cơ sở dữ liệu cục bộ Di và phỏt triển số đếm (support) cho cỏc ứng viờn trong Ck.

Mỏy tớnh Pi trao đổi cỏc số đếm Ck cục bộ với tất cả cỏc mỏy tớnh khỏc để tổng hợp thành Ck tổng thể. Giai đoạn này là giai đoạn cỏc mỏy tớnh hoạt động đồng bộ.

Mỗi mỏy tớnh tớnh toỏn Lk từ Ck đóbiết.

Mỗi mỏy tớnh sẽ quyết định xem thuật toỏn kết thỳc hay chưa. Vỡ cỳ chung Lk nờn cỏc quyết định này là giống nhau.

tớnh bắt buộc phải truyền toàn bộ dữ liệu cục bộ của nú cho cỏc mỏy khỏc sau mỗi bước vũng lặp.

Thuật toỏn Phõn phối dữ liệu

Bước k=1: Giống như thuật toỏn Count Distribution Bước k>1:

Mỏy Pi sinh Ck từ Lk-1. Nú chỉ giữ lại 1/N cỏc itemset là một tập con của tập Candidate Ck mà nú sẽ đếm. Mỗi mỏy sẽ quyết định giữ lại cỏc itemset nào và sẽ xử lớ chỳng độc lập với cỏc mỏy khỏc. Mỏy tớnh sẽ chọn cỏc itemset theo phương thức round-robin. Cỏc Ci

k tỏch rời và hợp của chỳng tạo thành Ck gốc. (adsbygoogle = window.adsbygoogle || []).push({});

Mỏy Pi phỏt triển số đếm support cho cỏc itemset trong tập Candidate Ci

k cục bộ bằng cỏch sử dụng tất cả cỏc trang dữ liệu cục bộ lẫn cỏc trang dữ liệu nhận được từ mỏy tớnh khỏc.

Tại điểm liờn kết của một giai đoạn duyệt dữ liệu, mỗi mỏy tớnh Pi tớnh toỏn Li

k dựa trờn Ck cục bộ. Cỏc Li

k khụng giao nhau và hợp của chỳng là Lk gốc.

Cỏc mỏy tớnh trao đổi Lki với cỏc mỏy tớnh khỏc để cú Lk đầy đủ cho việc sinh ra Ck+1 trong bước lặp tiếp theo. Quỏ trỡnh này yờu cầu cỏc mỏy tớnh phải thực hiện đồng bộ. Khi đú cỳ Lk đầy đủ, mỗi mỏy tớnh sẽ tự quyết định một cỏch độc lập thuật toỏn đó kết thỳc hay chưa. Cỏc quyết định này là giống nhau vỡ cựng được kiểm tra trờn tập Lk giống nhau.

Hỡnh 2-17 Thuật toỏn Phừn phối dữ liệu

Trong giai đoạn thứ hai, cỏc mỏy tớnh phỏt triển Ci

k cục bộ một cỏch dị bộ. Cũng trong giai đoạn này, mỏy tớnh truyền thụng tin tới cỏc mỏy khỏc ,đồng thời cũng nhận thụng tin gửi đến từ cỏc mỏy khỏc.

1.6.3 Thuật toỏn Phõn phối Candidate

Cả hai thuật toỏn nờu trờn đều cú hạn chế là phải cú động tỏc đồng bộ dữ liệu sau mỗi bước lặp. Thuật toỏn CD phải trao đổi cỏc Candidate để tạo ra cỏc tập Candidate chung cho mỗi mỏy cũn thuật toỏn DD phải trao đổi cỏc giao dịch. Nếu khụng được phõn phối đỳng mức cụng việc thỡ rất dễ xảy ra tỡnh trạng kết thỳc cụng việc khụng đồng bộ của cỏc mỏy và nhiều mỏy mặc dự đó hoàn thành cụng việc nhưng vẫn phải đợi mỏy khỏc.

Thuật toỏn Candidate Distribution khắc phục hạn chế này bằng cỏch phõn chia cả dữ liệu lẫn cỏc Candidate sao cho cỏc mỏy tớnh cú thể hoạt động độc lập.

ỨNG DễNG Lí THUYẾT LUẬT KẾT HỢP KHAI PHÁ DỮ LIỆU TÁC NGHIỆP

Bước k=1:

1. Phõn chia (partitioning) Lk-1 giữa cỏc mỏy tớnh. Ghi nhận với mỗi itemset lớn trong Lk-1 mà mỏy tớnh đó được ấn định. Thuật toỏn phõn chia sẽ được đề cập phần dưới.

2. Mỏy tớnh Pi sinh ra Ci

k dựa trờn Lk-1 cục bộ được ấn định trong nú. Lỳc này Pi vẫn cú thể truy cập tới Lk-1 chung và do đú, cú thể sử dụng hàm cắt tỉa chuẩn (standard prunning) để sinh ra Cki.

3. Pi phỏt triển số đếm support tổng thể cho cỏc Candidate trong Ci

k cơ sở dữ liệu được phõn chia lại thành cỏc DRitại cựng thời điểm.

4. Việc phõn chia lại cơ sở dữ liệu giao dịch theo cỏch: bất kỡ một bú giao dịch nào mà support mụt itemset chứa trong Lk mà itemset đú qua sự phõn chia đó được ấn định cho một mỏy tớnh thỡ bỳ giao dịch đú sẽ được sao chộp sang ổ đĩa cục bộ của mỏy tớnh đú. Vỡ vậy, cỏc mỏy tớnh cú thể xử lớ dị bộ.

5. Sau khi Pi đó xử lớ tất cả cỏc dữ liệu cục bộ của nú và mọi dữ liệu nhận được từ cỏc mỏy tớnh khỏc, nỳ dựng N-1 bộ đệm nhận dị bộ để nhận cỏc Li

k từ tất cả cỏc mỏy tớnh khỏc. Cỏc Lkj này là cần thiết cho việc cắt tỉa Cj

k+1 trong bước cắt tỉa của giai đoạn sinh Candidate. 6. Mỏy tớnh Pi tớnh toỏn Li

k từ Ci

k và truyền dị bộ đến N-1 mỏy tớnh khỏc bằng cỏch sử dụng N-1 phộp đẩy dị bộ.

Bước k>1:

1. Mỏy tớnh Pi tập hợp tất cả cỏc itemset lớn mà cỏc mỏy tớnh khỏc đẩy đến nỳ. Chỳng được sử dụng trong bước cắt tỉa của việc sinh ra Candidate nhưng khụng được sử dụng trong bước tổng hợp (join). Cỏc itemset đó nhận được từ mỏy Pj sẽ cú độ dài k-1 hoặc nhỏ hơn k-1 (mỏy tớnh chậm) hoặc lớn hơn k-1 (mỏy tớnh nhanh).

2. Pisinh ra Ci k theo Li

k-1 cục bộ. Ta biết rằng Picú thể khụng nhận được Lj

k-1 từ tất cả cỏc mỏy tớnh khỏc. Nỳ cần phải xỏc nhận được một itemset (một k-1 subset của một itemset Candidate) khụng cú mặt trong bất kỡ Lj (adsbygoogle = window.adsbygoogle || []).push({});

k-1 nào từ một itemset cú mặt trong một số Lj k-1

nhưng tập này chưa nhận được bởi mỏy tớnh Pi. Nú cũng phải phỏt hiện Ll-1 (đề cập trong sự phõn đoạn trong giai đoạn 1) bằng cỏch sử dụng phần tiền tố với độ dài l-1 cỏc itemset trong cõu hỏi, tỡm kiếm mỏy tớnh trả lời nú và kiểm tra nếu Li

k-1 đó nhận được từ mỏy tớnh

này.

3. Pi thiết lập một giai đoạn trờn DRi và đếm Ci

k . Nú tớnh toỏn Li k từ Cj

k và truyền dị bộ Li k

đến mỗi mỏy tớnh khỏc bằng N-1 phộp đẩy dị bộ.

Phõn chia Lk: Giả sử cỏc item trong itemset đó được sắp thứ tự, ta phõn chia cỏc itemset trong Lk dựa vào phần tiền tố chung cú độ dài k-1 item. Như vậy đảm bảo mỗi mỏy tớnh cú thể sinh ra cỏc Candidate độc lập (chưa tớnh bước cắt tỉa). Sự phõn chia này là giống nhau và được thực hiện song song bởi mỗi mỏy tớnh.

Vớ dụ :

L3= {ABC, ABD, ABE, ACD, ACE, BCD, BCE, BDE, CDE } Thỡ L4= {ABCD, ABCE, ABDE, ACDE, BCDE }

L5 = {ABCDE} L6 = {}

1.7 CÁC VẤN ĐỀ KHAI PHÁ LUẬT TRONG THỰC TẾ Thực tế, bài toỏn khai phỏ luật kết hợp khụng chỉ tớnh toỏn trờn cỏc Item đơn thuần mang cỏc giỏ trị “cỳ” hoặc “khụng”. Những mụ hỡnh bài toỏn khai phỏ luật phức tạp và đa dạng trong kinh tế cũng như trong xó hội đũi hỏi phải mở rộng thuật toỏn khai phỏ luật kinh điển đó nờu trong cỏc phần trước. Phần này sẽ giới thiệu khỏi quỏt về cỏc mụ hỡnh mở rộng đú kốm theo thuật toỏn tương ứng.

1.7.1 Khai phỏ luật kết hợp trọng số

Thuật toỏn Apriori giải quyết bài toỏn Khai phỏ luật kết hợp Boolean, ở đú cỏc item chỉ mang giỏ trị cú hoặc khụng (trong Transaction). Cỏc item xuất hiện trong cỏc Large Itemset đều mang ý nghĩa (tầm quan trọng) như nhau. Trong thực tế, cỏc item cú mức độ quan trọng khỏc nhau và cần cú một trọng số để mụ tả mức độ quan trọng này. Cai, Chun, Hing đó đưa ra thuật toỏn MinVal(0), liờn quan đến phương phỏp tớnh Support cho cỏc Itemset dựa trờn cỏc trọng số của chỳng. Cỏc tỏc giả cũng phỏt triển thuật toỏn “Khai phỏ luật kết hợp trọng số chuẩn hỳa” hay MinVal(W) (Mining Normalized Weighted Association Rules) cho trường hợp số item trong cơ sở dữ liệu quỏ lớn.

ỨNG DễNG Lí THUYẾT LUẬT KẾT HỢP KHAI PHÁ DỮ LIỆU TÁC NGHIỆP

1.7.2 Khai phỏ luật kết hợp tổng quỏt

Bài toỏn Khai phỏ luật kết hợp tổng quỏt ỏp dụng cho trường hợp cỏc thuộc tớnh (item) cú quan hệ phõn cấp với nhau về mặt ý nghĩa. Cỏc thuộc tớnh này cú thể biểu diễn dưới dạng một cõy phõn cấp cú hướng, trong đú một cành p → q mụ tả quan hệ giữa 2 thuộc tớnh: q là một thuộc tớnh con của p. Cú thể hỡnh dung mối quan hệ phõn cấp này thụng qua thớ dụ sau:

Hỡnh 2-19 Minh họa luật tổng quỏt

Sự phõn cấp này núi rằng: Quần vải, Quần bũ là Quần. Và một luật “Những người mua Quần vải cũng mua Tide” cú thể là hệ quả của luật “Những người mua Quần cũng mua Bột giặt”.

Bài toỏn khai phỏ luật tổng quỏt cũng giống như bài toỏn khai phỏ luật thụng thường, đều cú chung mục đớch là khai phỏ cỏc luật cú Support và Confidence lớn hơn hoặc bằng Support và Confidence tối thiểu. Điều tỏc động đến tư tưởng của thuật toỏn khai phỏ là sự quan tõm đến khỏi niệm Luật đỏng lưu tõm. Luật đỏng lưu tõm là luật cú Support lớn hơn R lần giỏ trị kỡ vọng hoặc Confidence lớn hơn R lần giỏ trị kỡ vọng trong số cỏc luật cỳ cựng quan hệ (cỏc item ở cỏc luật cú quan hệ phõn cấp), ở đú R và kỡ vọng được chỉ ra bởi người sử dụng.

Những thuật toỏn đỏng lưu tõm là thuật toỏn Cumulate (thuật toỏn Tớch lũy), thuật toỏn EstMerge.

Quần ỏo

Quần Áo

Quần vải Quần bũ

Bột giặt

Thuật toỏn EstMerge

Đầu vào : Tập cơ sở dữ liệu D

Đầu ra : Tập cỏc Large Itemset

k k k k k k k k k k k- k k k- k k s k k- k- k k- k-1 s ; L Answer minsup} c.count | C {c L L minsup} c.count | C {c L C' C C ,C" D,C' C ,C" D,C' C D C C" L C ; k C" ; L C 2 k D D s} 1-itemset {frequent L = ≥ ∈ + = ≥ ∈ = = = = = + + ≠ ≠ = = = = − − − end " ' ; - " ; ) ( s descendent - prune ; ) ( support - find ); , ( sons - and - frequent - expected ' ); , ( candidates - nerate ge begin do ) or " , ( For ; ) ( sample - generate 1 1 1 1 1 1 1 1 1 1 φ φ φ (adsbygoogle = window.adsbygoogle || []).push({});

Hỡnh 2-20 Thuật toỏn ErstMerge

1.7.3 Khai phỏ luật kết hợp định lượng

Cỏc thuộc tớnh xuất hiện trong cơ sở dữ liệu tỏc vụ cú thể ở dạng số (tuổi, mức thu nhập…). Bài toỏn khai phỏ luật kết hợp trờn cỏc thuộc tớnh dạng số như vậy gọi là Khai phỏ luật kết hợp định lượng. Cú thể ỏnh xạ bài toỏn khai phỏ luật kết hợp định lượng về bài toỏn khai phỏ luật kết hợp Boolean thụng qua kĩ thuật ỏnh xạ thuộc tớnh định lượng về thuộc tớnh Boolean. Một ỏnh xạ đơn giản là phõn đoạn miền giỏ trị định lượng thành p miền (lực lượng của cỏc miền cú thể là 1 hoặc cũng cú thể nhiều hơn 1) và quy về p thuộc tớnh Boolean. Mỗi thuộc tớnh Boolean này tương ứng với cặp (attribute, value). Nú cú giỏ trị True nếu value cú mặt trong dữ liệu gốc và giỏ trị False nếu value khụng cú mặt trong dữ liệu gốc.

1.7.4 Khai phỏ luật kết hợp với nhiều mức Support tối thiểu Trong thực tiễn, việc khai phỏ chỉ dựng một ngưỡng Support gặp phải nhiều hạn chế. Chẳng hạn, khi khai phỏ với ngưỡng Support nhỏ thỡ bựng nổ số

ỨNG DễNG Lí THUYẾT LUẬT KẾT HỢP KHAI PHÁ DỮ LIỆU TÁC NGHIỆP

lượng Itemset và trong đú cú rất nhiều Itemset khụng cú giỏ trị thực tiễn cao. Ngược lại, khi khai phỏ với ngưỡng Support lớn thỡ kết quả trả về lại bỏ sút nhiều Itemset “hiếm”, là cỏc Itemset cú giỏ trị thực tiễn cao nhưng tần xuất xuất hiện lại thấp.

Để giải quyết vấn đề này, cỏc tỏc giả Bing Liu, Wynne Hsu và Yiming Ma đó đề xuất ý tưởng khai phỏ luật kết hợp với nhiều mức Support tối thiểu (năm 1999). Cỏc tỏc giả gỏn một support tối thiểu riờng MIS(ai) (Minimum item support) cho mỗi item ai và minsupport của luật R sẽ được tớnh bằng min({MIS(ai) | ai ∈ R})

Thuật toỏn được đề suất kốm với ý tưởng này là thuật toỏn MSsapriori. Nú tương tự thuật toỏn Apriori, cũng phải thực hiện qua nhiều giai đoạn. Việc sinh Candidate cho giai đoạn hiện thời dựa trờn cỏc Large Itemset tỡm được của giai đoạn trước đú. Cỏc Item trong Itemset được sắp xếp theo thứ tự tăng dần của MIS và khi đú, để hỡnh thành tập Lk, ta lấy cỏc Candidate c thuộc Ck

thoả món c.count > MIS(c[1]).

Thuật toỏn MSApriori

Đầu vào : Tập thuộc tớnh I, tập giao dịch D, mảng Support MIS của cỏc thuộc tớnh

Đầu ra : Cỏc Large Itemset trờn D

Một phần của tài liệu đồ án công nghệ thông tin Khai phá cơ sở dữ liệu gia tăng Trình bày phương pháp khai phá cở sở dữ liệu thay đổi theo thời gian (cơ sở dữ liệu gia tăng). (Trang 38)