6. Cỏc thuật toỏn khai phỏ dữ liệu nhờ luật kết hợp:
6.1.2. Nõng cao hiệu quả của thuật toỏn Aprior
Trong phần này ta trỡnh bày một số phƣơng phỏp cải tiến, biến đổi của thuật toỏn Apriori nhằm nõng cao hiệu quả của thuật toỏn.
Dựa vào kỹ thuật băm:
Bƣớc tỉa của thuật toỏn Apriori đũi hỏi kiểm tra tất cả cỏc tập con (k-1) mục của tập k-mục cú mặt trong tập phổ biến đó tỡm đƣợc ở bƣớc trƣớc là Lk-1 khụng. Để cú thể kiểm tra nhanh chúng, ngƣời ta lƣu cỏc tập phổ biến trong cỏc bảng băm (hash table) tức lƣu Lk-1 trong bảng băm.
Ta minh họa kỹ thuật này nhƣ sau: Cho tập cỏc ứng cử Ck và một tỏc vụ T, chỳng ta cần tỡm tất cả cỏc ứng cử đƣợc chứa trong T. Sau đõy ta miờu tả một cấu trỳc dữ liệu cho phộp thực hiện điều đú một cỏch hiệu quả. Cỏc tập mục ứng cử Ck đƣợc nờu trong một cõy băm. Một nỳt của cõy băm hoặc là chứa một danh sỏch cỏc tập mục (nỳt lỏ) hoặc là một bảng băm (nỳt trong). Trong nỳt trong, mỗi cụm (bucket) của bảng băm chỉ tới một nỳt khỏc. Gốc của cõy băm đƣợc xỏc định cú độ sõu 1. Một nỳt trong ở độ sõu d chỉ tới cỏc nỳt ở độ sõu d+1. Cỏc tập mục đƣợc nờu trong cỏc nỳt lỏ. Khi ta thờm một tập mục c, ta bắt đầu từ gốc và đi xuống trờn cõy đến khi gặp một nỳt lỏ. Tại một nỳt trong ở độ sõu d, ta quyết định theo nhỏnh tiếp theo bằng cỏch dựng một hàm băm tới mục thứ d của tập mục. Tất cả cỏc nỳt đƣợc tạo ra ban đầu là cỏc nỳt lỏ. Khi số cỏc tập mục trong nỳt lỏ vƣợt quỏ ngƣỡng nào đú, nỳt lỏ chuyển thành nỳt trong.
Bắt đầu từ nỳt gốc, hàm tập con tỡm tất cả cỏc ứng cử đƣợc chia trong cỏc vụ T nhƣ sau: Nếu ta ở nỳt lỏ, ta xem cỏc tập mục trong nỳt lỏ cú đƣợc chứa trong T khụng để trả lời. Nếu ta ở nỳt trong và ta đi đến nỳt đú bởi băm mục thứ i, ta băm trờn mỗi mục ở sau i trong T và ỏp dụng đệ quy thủ tục nàycho nỳt ở trong cụm tƣơng ứng. Với nỳt gốc, ta băm trờn mỗi mục trong T.
Để xem tại sao hàm tập con trả về tập mong muốn, ta xột xem điều gỡ xảy ra tại nỳt gốc. Với mọi tập mục c chứa trong tỏc vụ T, ta bảo đảm rằng chỉ bỏ qua cỏc tập mục mà bắt đầu với một mục khụng ở trong T. Thực hiện tƣơng tự cho độ sõu thấp hơn. Thờm vào đú, vỡ cỏc mục trong một tậpmục bất kỳ là cú trật tự (trật tự từ điển), nếu ta đi đến nỳt hiện thời bởi băm mục i, ta chỉ cần xột cỏc mục trong T mà cú xuất hiện sau i.
Nếu k là kớch thƣớc của tập mục ứng cử trong cõy băm, ta cú thể tỡm thấy trong thời gian O (k) một tập mục cú chứa trong tỏc vụ khụng bằng cỏch dũng dóy bớt để miờu tả tỏc vụ. Mỗi bớt của dóy bớt tƣơng ứng với một mục và trạng thỏi của bớt cho biết tỏc vụ cú chứa mục này hay khụng. Do đú ta kiểm tra một cỏch rừ ràng bớt tƣơng ứng với mỗi mục trong ứng cử viờn để kiểm tra ứng cử đú cú chứa trong tỏc vụ khụng. Dóy bớt đú đƣợc tạo cựng với cõy băm, khởi tạo và lập lại trạng thỏi cho mỗi tỏc vụ.
Rỳt gọn tỏc vụ(Rỳt gọn số cỏc tỏc vụ cần quột trong cỏc lần lặp sau)
Một tỏc vụ khụng chứa bất kỳ tập k mục phổ biến nào thỡ cũng khụng thể chứa bất kỳ tập (k+1) mục phổ biến. Do đú ta cú thể đỏnh dấu hoặc loại bỏ tỏc vụ đú trong cỏc lần quột cơ sở dữ liệu ở cỏc bƣớc tiếp theo.
Phõn hoạch:(Tức là phõn chia dữ liệu để tỡm tập mục ứng cử)
Kỹ thuật phõn hoạch cú thể sử dụng bởi nú chỉ đũi hỏi quột cơ sở dữ liệu 2 lần để khai phỏ tập mục phổ biến. Việc khai phỏ bằng phõn hoạch dữ liệu gồm 2 giai đoạn:
Giai đoạn 1: Thuật toỏn chia cỏc tỏc vụ D thành n vựng. Nếu ngƣỡng hỗ trợ cực
tiểu của D là minsupp thỡ ngƣỡng hỗ trợ cực tiểu cần tớnh cho một vựng là tớch của minsupp với số cỏc tỏc vụ trong vựng đú. Với mỗi vựng, tập mục phổ biến cho vựng đú đƣợc tỡm, cú thể gọi đú là tập mục phổ biến địa phƣơng (hay tập mục phổ biến cục bộ). Một thủ tục dựng một cấu trỳc dữ liệu đặc biệt, với mỗi tập mục, ghi cỏc định danh ID của cỏc tỏc vụ chứa cỏc mục trong tập mục. Điều đú cho phộp nú cú thể tỡm tất cả cỏc tập k mục phổ biến (với k=1,2,… chỉ trong một lần duyệt cơ sở dữ liệu).
Cỏc tập mục phổ biến cục bộ cú thể khụng là tập mục phổ biến của toàn bộ cơ sở dữ liệu D. Nhƣng bất kỳ tập mục nào là phổ biến của D cũng phải là tập mục phổ biến của ớt nhất một vựng. Do đú, tập tất cả cỏc tập mục phổ biến địa phƣơng là cỏc tập mục ứng cử cho D.
Giai đoạn 2: Cơ sở dữ liệu đƣợc duyệt lần thứ hai để tớnh độ hỗ cho mỗi ứng cử
nhằm xỏc định tập mục phổ biến đớch cần tỡm. Kớch thƣớc của một vựng cú thể vừa khớt với bộ nhớ chớnh và ngƣỡng để chỉ đọc một lần trong mỗi giai đoạn.
Cỏc tỏc vụ trong D Cỏc tập mục phổ biến trong D Chia D thành n vựng Tỡm cỏc tập mục phổ biến địa phƣơng cho mỗi vựng (1 lần quột) Tổ hợp cỏc tập mục phổ biến địa phƣơng để đƣợc tập mục ứng cử Tỡm cỏc tập mục phổ biến đớch trong số cỏc ứng cử (1 lần quột)
Giai đoạn 1 Giai đoạn 2
Hỡnh 2: Sơ đồ qỳa trỡnh khai phỏ bằng phõn hoạch dữ liệu
Lấy mẫu: (Khai phỏ trờn tập con của dữ liệu)
í tƣởng cơ bản của cỏch tiếp cận này là lấy mẫu ngẫu nhiờn S trờn dữ liệu đó cho D và sau đú tỡm tập mục phổ biến S thay cho D. Trong cỏch này, độ phức tạp đƣợc cải thiện. Kớch thƣớc của mẫu là đảm bảo tỡm cỏc tập mục phổ biến trong S cú thể thực hiện đƣợc trong bộ nhớ chớnh và chỉ cần một lần duyệt cỏc tỏc vụ trong S. Vỡ tỡm tập phổ biến trong S dễ hơn trong D và S nhỏ hơn D nờn cú thể bị mất một số tập phổ biến đớch (mà tỡm trong D sẽ thấy). Để loại trừ khả năng này, ngƣời ta sử dụng ngƣỡng độ hỗ trợ thấp hơn độ hỗ trợ cực tiểu minsupp để tỡm tập mục phổ biến địa phƣơng cho S (ký hiệu LS). Cơ sở dữ liệu sau đú đƣợc dựng để tớnh độ hỗ trợ cho mỗi tập mục phổ biến trong LS. Nếu LS chứa tất cả cỏc tập mục phổ biến trong D thỡ chỉ cần một lần duyệt D, ngƣợc lại cú thể duyệt D lần thứ 2 để tỡm cỏc tập mục phổ biến mà chỳng khụng đƣợc tỡm thấy trong lần duyện lần thứ nhất. Cỏch tiếp cận lấy mẫu này là đặc biệt cú ớch khi lấy tớnh hiệu quả là quan trọng nhất.
6.1.3. Thuật toỏn sinh cỏc luật kết hợp từ tập mục phổ biến6: :
Sau khi cỏc tập mục phổ biến từ cỏc tỏc vụ trong cơ sở dữ liệu đó đƣợc tỡm thấy, nú cú thể sinh thẳng ra cỏc luật kết hợp mạnh (tức luật thỏa món cả độ hỗ trợ cực tiểu và độ tin cậy cực tiểu). Việc này cú thể thực hiện bằng việc sử dụng cỏch tớnh độ cậy của luật. Ta cú độ tin cậy của luật X Y là:
conf (XY) = P(Y/X) = supp(XY)/ supp(X)
Trong đú supp(XY) là độ hỗ trợ của XY và supp(X) là độ hỗ trợ của X.
Cú thể coi tỉ số trờn là tỉ số giữa: số cỏc tỏc vụ chứa XY và số cỏc tỏc vụ chứa X. Dựa trờn biểu thức tớnh toỏn đú, cỏc luật kết hợp cú thể sinh ra theo nguyờn tắc là với mỗi tập mục phổ biến X và tập con khỏc rỗng S của X, ta cú sẽ cú luật:
S (X-S) Nếu: supp(x) >= minconf supp(s)
Trong đú: minconf là ngưỡng độ tin cậy cực tiểu.
Vỡ cỏc luật đƣợc sinh ra từ cỏc tập mục phổ biến nờn độ hỗ trợ đƣợc thỏa món một cỏch tự động, tức là độ hỗ trợ của luật chớnh là supp (X).
Ta xột cơ sở dữ liệu đó cho trong bảng 2.5 giả sử dữ liệu chứa tập mục phổ biến X = {B,D}. Khi đú những luật kết hợp nào là cú thể sinh ra từ X?
Ta cú cỏc tập con thực sự và khỏc rỗng của X là: {B}, {D}
Khi đú cỏc luật kết hợp tỡm đƣợc cựng độ tin cậy nhƣ sau: B D, với độ tin cậy conf = 100%
D B, với độ tin cậy conf = 67%
Nếu ngƣỡng tin cậy cực tiểu minconf = 50% thỡ cỏc luật trờn là cỏc luật kết hợp mạnh. Sau đõy ta sẽ trỡnh bày thuật toỏn tỡm cỏc luật kết hợp từ cỏc tập mục phổ biến.
Cú hai hƣớng tiếp cận trong việc sinh cỏc luật kết hợp từ cỏc tập mục phổ biến. Hƣớng tiếp cận thứ nhất là sử dụng cỏc tập mục lớn sinh cỏc tập mục con theo nguyờn tắc ƣu tiờn độ sõu. Nếu tập mục lớn X khụng sinh ra đƣợc luật thỡ ta khụng cần xột đến cỏc tập con S của nú nữa. Chẳng hạn, nếu luật ABCE D khụng đủ độ tin cậy thỡ ta khụng cần xột đến luật ABC DE. Điều này cú thể chứng minh nhƣ sau: