Các thuật toán khai phá luậtkếthợp mờ

Một phần của tài liệu Khai phá dữ liệu luật kết hợp mờ và ứng dụng cho bài toán khai phá dữ liệu cước internet (Trang 64)

Thuật toán khai thác luật kết hợp mờ dựa trên thuật toán Apriori nhị phân và một số thay đổi ứong cài đặt thực tế nhằm cải thiện thời gian tìm luật. Thuật toán khai thác luật kết hợp mờ chia là ba pha chính như sau:

Pha 1: Chuyển đổi từ cơ sờ dữ liệu dạng quan hệ sang cơ sở dữ liệu mờ. Cơ sở dữ liệu mờ được tính toán từ cơ sở dữ liệu ban đầu thông qua hàm thuộc của các tập mờ tương ứng với từng thuộc tính.

Pha 2: Tìm tất cả các tập thuộc tính mờ phổ biến dạng <X,A> có độ hỗ trợ lớn hơn độ hỗ trợ cực tiểu của người dùng nhập vào fs(<X,A>) > fminsupp.

Pha 3: Sinh các luật kết hợp mờ tin cậy từ các tập phổ biến đã tìm thấy ở pha thứ nhất. Nếu <X,A> là một tập thuộc tính mờ phổ biến thì luật kết hợp mờ được sinh từ X có dạng: X is A —► x \ x is A \A . Trong đó:

X là tập con khác rỗng của X. x \ x là hiệu của hai tập hợp X và X .

fc là độ tin cậy của luật thỏa mãn fc > fminconf (do người dùng xác định)

A là tập con khác rỗng của A và là tập các tập mờ tương ứng với các thuộc tính trong X . A\A là hiệu của hai tập hợp A và A .

Đầu vào của thuật toán (inputs): cơ sở dữ liệu D với tập các thuộc tính I và các bản ghi T, ngưỡng hàm thuộc Wf, độ hỗ trợ tối thiểu fminsupp, độ tin cậy tối thiểu fminconf, và Toán tử T-norm (®).

Đầu ra của thuật toán (outputs): Tập tất cả các luật kết hợp mờ tin cậy. Bảng 4. Các ký hiệu sử dụng trong thuật toán khai phá luật kết hợp mờ

hiệu

D Cơ sở dữ liệu (dạng quan hệ giao tác)

I Tập các mục (thuộc tính) trong D

T Tập các giao tác (hoặc bản ghi) trong D

Dp Cơ sở dữ liệu mờ được tính toán từ cơ sở dữ liệu ban đầu thông qua hàm thuộc của các tập mờ tương ứng với từng thuộc tính.

Ip Tập các thuộc tính trong Dp, các thuộc tính trong mỗi bản ghi đã được chuyển sang một giá trị thuộc khoảng [0,1] nhờ hàm thuộc của các tập mờ tương ứng với từng thuộc tính.

Tf Tập các bản ghi trong Dp, các thuộc tính trong mỗi bản ghi đã được chuyển sang một giá trị thuộc khoảng [0,1] nhờ hàm thuộc của các tập mờ tương ứng với từng thuộc tính.

Fminsupp Độ hỗ trợ tối thiểu Fminconf Độ tin cậy tối thiểu

c k Tập các thuộc tính có kích thước k

Fk Tập các thuộc tính phổ biến có kích thước k F Tập tất cả các thuộc tính phổ biến

Fc Tập tất cả các luật mờ sinh ra từ Fk Thuật toán khai thác luật kết hợp mờ

1. Begin

3. F[ - Tạo_Fl(Dp, If Tf, fminsupp); 4. F = 0 ; CF = 0; 5. k = 2; 6. While (Fk_! * 0 ) 7. {Ck = Tạo_F_k(F k.,); 8. Fk = Tính_SP_K(Ck, Df, fminsupp); 9. CFk = Tìm_luật(F, Fk, fminconf); 10. F = F u F k; 11. CF = CF u CFk; 12. k = k+1;} 13. End

Thuật toán trên sử dụng một số chương trinh con sau đây:

Chương trình con MỜ_hóa_dữ_liệu(D,I,T): hàm này thực hiện nhiệm vụ chuyển đổi từ cơ sở dữ liệu gốc D ban đầu sang cơ sở dữ liệu mờ Dp, các thuộc tính của D được gắn thêm các tập mờ và giá trị của các thuộc tính ở các bản ghi T trong D được ánh xạ thành một giá trị thuộc khoảng [0,1] thông qua các hàm thuộc của các tập mờ tương ứng vói các thuộc tính.

Chương trình con Fj = Tao_Fi(D|ĩ, IF, fminsupp, Wf): hàm này sinh ra Fj là tập tất cả các tập phổ biến có một phần tò (lực lượng bằng 1). Các tập thuộc tính phổ biến này phải có độ hỗ trợ lớn hơn hoặc bằng fminsupp.

T h u ậ t g i ả i t ạ o F j : F ! = T ạ o _ F 1 ( D F, I F, f m in s u p p , W f )

1. Fi = 0

2. For each i e Ip

4. F, = F , u { i }

5. Endif

6. Endfor 7. Return F!

Chương trình con c k = Tạo_F_k(Fk_i): Hàm này thực hiện kết nối các cặp các thuộc tính mờ từ tập các thuộc tính mờ phổ biến Fk„i có k-1 phần tử (lực lượng k-1)

để sinh ra các tập thuộc tính mờ ứng cử viên c k có k phần tử (lực lượng k).

Thuật giải tạo Fk từ Fk.t: Insert into Ck

Select p.item_l, Q.item_l, p.item_2,..., p.item_k-l, Q.item_k-1 From Lk.i p, Lk_i Q

Where ( P. i t eml = Q.item 1) and ...(P.item_k-2 = Q.item_k-2) and (P.item_k-1 < Q.item_k-1)

P.item J và Q.item_j là thuộc tính mờ thứ j trong L|c-1

P.item O J và Q.item O J là thuộc tính gốc của thuộc tính mờ thứ j ứong Lk_! Điều kiện (P.item_k-1 < Q.item_k-1) nhằm không phát sinh các bộ trùng nhau. Tuy nhiên thuật giải trên sẽ phát sinh các tập k thuộc tính mờ khác nhau nhưng có cùng thuộc tính gốc và các luật sinh ra từ các tập thuộc tính mờ có cùng thuộc tính gốc là vô nghĩa. Nên cần phải thay đổi điều kiện Where của thuật giải ở trên như sau:

Where (P.item l = Q.item l) and ...(P.item_k-2 = Q.item_k-2) and (P.item_k-1 < Q.item_k-1)

Điều kiện P.item_0_k-1 * Q.item_0jk-1 sẽ bảo đảm không phát sinh các bộ thuộc tính mờ có cùng thuộc tính gốc.

Chương trình con F k = Tính_SP_K(Ck, Df, fminsupp,Wf): chương trình này duyệt qua cơ sở dữ liệu Dp, chọn ngưỡng W f và toán tử T-norm để cập nhật độ hỗ trợ cho các thuộc tính trong c k. Sau khi duyệt xong, Tính_SP_K chỉ chọn những tập phổ biến có độ hỗ trợ lớn hơn hoặc bằng ôninsupp để đưa vào trong Fk.

Có thể tìm F_Fk theo thuật giải sau: 1. Fk = 0

2. For (each X e Fk.j) do

3. For (each Y G Fk.! and X * Y) do

4. Begin

5. S = X u Y

6. If (|SỊ = k and fs({S}) > fminsupp) then

7. Fk = Fku { S }

8. Endlf

9. End

10. Endfor 11. Endfor

Chương trình con CFk = Tim_luật(Fh fminconj): chương trình con này sinh luật kết hợp mờ tin cậy từ các tập phổ biến Fk.

1.CFk = 0

2. For all X 6 Fk do

3. For all Y c: X and X * Y and Y * 0 do 4. r = X\Y —->• Y

5. If (CF(r) > fminconf) then 6. CFk = Fku { r } 7. Endlf 8. EndFor 9. EndFor 3.4 L u ậ t kết hợp m ờ ở dạng phủ định Cho cơ sở dữ liệu mờ DF = (IF, Tp)

Cơ sở dữ liệu ~Dp = (If, ~Tp) là phủ định của cơ sở dữ liệu mờ DF = (Ip, Tp) Dùng thuật toán khai thác luật kết họp mờ vào cơ sờ dữ liệu ~Dp.

Như vậy theo cách định nghĩa trên ta phải duyệt qua toàn bộ dữ liệu Dp =

(If,Tf,R) để chuyển dữ liệu sang dữ liệu phủ định ~DF = (IF, ~TF, R) rất tốn thời

gian. Để khắc phục điều này ta có thể không cần chuyển từ Dp sang ~Dp mà chỉ cần sửa lại cách tính độ hỗ trợ của các thuộc tính. Thay vì tính độ hỗ trợ của thuộc tính Ik theo công thức SP(Ik) = SP(Ik) + Giá_trị(Ik) ta tính theo công thức là lấy phần bù cho dạng phủ định ~SP(~Ik) = ~SP(~I|<) + (l-Giá_trị(Ik)) thì vẫn cho ra cùng một kết quả giống nhau với thòi gian nhanh hơn.

3.5 Luật kết họp mờ với thuộc tính được đánh trọng số [5] [6] [11]

Mục đích của khai phá luật kết hợp mờ với thuộc tính được đánh trọng số là tìm cách gắn trọng số cho các thuộc tính để biệu thị mức độ quan trọng của chúng đối

với luật.

Chúng ta không thể phân tích một cách trực quan luật nào là thật sự có ích trong rất nhiều luật tìm được. Để giảm tối đa các luật thừa không thật sự có ích hoặc giữ nguyên số luật để tránh mất thông tin nhưng phải sắp xếp lại các luật theo thứ tự giảm dần của độ quan trọng (mức độ quan tâm) của luật dựa trên trọng số của các thuộc tính của các luật là rất cần thiết.

I m p ( A = > B ) = X a i e A u B I ( a i ) / ( l e n ( A ) + l e n ( B ) )

Trong đó, len(A), len(B) là số thuộc tính trong tập thuộc tính A và B. I(aj) là độ quan trọng hay t r ọ n g số của thuộc tính ãj do người dùng quyết định. Giá trị của I(aj) càng lớn thì thuộc tính càng đóng vai ừò quan trọng trong hệ thống thông tin. Độ đo này cũng thể hiện tri thức về mối quan hệ giữa các thuộc tính trong cơ sở dữ liệu. Imp(A => B) được dùng như độ quan trọng của các thuộc tính trong A và trong B. Thông thường, khi một luật có chứa nhiều thuộc tính có độ quan trọng cao và chứa ít thuộc tính có độ quan trọng thấp thì ta coi như luật đó là luật quan trọng và đáng được quan tâm.

3.6 T ìm các lu ật th ậ t sự có ích [3]

3.6.1 Phương pháp dùng quy luật loại bỏ luật thừa

Tập luật mờ: áp dụng thuật giải tìm luật kết hợp mờ ta thu được các luật FR = {X—* Y I, supp(X—> Y) > fminconf và fconf(X—» Y) > fminconf} Tập luật MMR: gồm các luật mờ vế trái nhỏ nhất và vế phải lớn nhất:

MMR = {r(X— Y )eFR I - 3 r’: (X’-> Y’)eFR , r’ * r và X ’ c X và Y’2 Y} Thuật toán tìm luật MMR: MMR=Tìm_luật_MMR(FR)

Đầu vào của thuật toán (inputs): tập luật mờ nguyên thuỷ FR Đầu ra của thuật toán (outputs): tập luật mờ MMR

T ì m l u ậ t M M R 1. MMR=FR

2. While (3 r’: (X’-» Y ’)eFR, r’ * r, r: Y, và X ’ c X và Y’3 Y) do

3. MMR = MMR\r;

3.6.2 Phương pháp tìm luật đơn giản

Mục đích chính của phương pháp này là thay vì tìm tất cả các luật kết hợp mờ FR

ta chỉ cần quan tâm tìm tập luật đơn giản s (Simple rule set) là đủ. Tập luật đơn

giản s là tập hợp gồm tất cả những luật kết hợp có 1 thuộc tính ở vế phải thỏa hai

giá trị ngưỡng fminsup và fminconf cho trước. Thuật toán tìm tập luật đơn giản s

Tìm tất cả các tập phổ biến (itemset thỏa fminsupp)

Đối với từng tập thường xuyên X: L ilL i2...Lik, kiểm tra các luật vế phải chỉ có 1 thuộc tính r: X - L jj, j = 1,... ,k. Nếu thỏa fminconf thì cho ra luật r.

3.6.3 Phương pháp tìm luật mới lạ dựa trên tri thức đã biết

Định nghĩa tính mới lạ của luật:

Một luật A —> B là mới lạ đối với tri thức X —»• Y trên CSDL D nếu các điều kiện

sau đây thỏa mãn:

B and Y = False, nghĩa là B và Y có ý nghĩa logic phủ định nhau

(A and X) thỏa mãn trong tập con đủ lớn của tập các giao tác D. Tức là A and X là tập phổ biến theo ngưỡng hỗ trợ tối thiểu ôninsupp.

Luật A, X -* - Y là hợp lệ

Phương pháp tìm luật mới lạ so với tri thức đã biết:

Nhập vào hệ thống tập các tri thức đã biết được diễn tả dưới dạng luật kết hợp. Tìm các luật trái với tri thức đã biết và những luật này xem như là các luật mới lạ.

Thuật toán: Sử dụng thuật toán ZoominUR hoặc cải tiến thuật toán tìm luật kết

họp mờ để tìm tất cả các luật có dạng X,A —► B sao cho B trái ngược với vế phải của tri thức đã biết X —> Y.

Ký hiệu LuậtMớiLạ(Y) để chi tập hợp vế phải của các luật mới lạ so với tri thức

Thuật toán khai thác luật kết hợp mờ dựa trên tri thức đã biết: 1. For all tri thức T € Tri thức: Ve_trái(T) —> Ve_phải(T) 2. { 3. Ci = Tạo_Fl(DF,IF,~TF, fminsupp); 4. Fj = {Cl u {Vế_trái(T),m}| m e LuậtMớiLạ(Vế_phải(T))} 5. F = 0 ; CF = 0 6. k = 2; 7. While (Fk.i * 0 ) 8. { c k = Tạo_F_k(Fk.,); 9. Fk = Tính_SP_k(Ck, Df, fminsupp); 10. CFk = Tìm_luật(F,Fk, fminconf); 11. F = F u F k; 12. CF = C F u C F k; 13. k = k+l;} 14.}

Thuật giải tạo Fk tò F|c_i và tìm luật mới lạ tương tự như thuật giải tìm luật kết

hợp mờ ở phần trên nhưng phải có thay đổi điều kiện tính độ hỗ trợ phải chứa vế

trái của tri thức T và chỉ tìm các luật có vế phải m trái với vế phải của tri thức đã biết,

Thuật giải tạo Fk từ F|c-1: 1. Insert into c k

2. Select p.item l, Q.item_l, p.item_2,..., p.item_k-l, Q.item_k-1 From Lk_i p, Lk.i Q

Where (P.item_l = Q.item_l) and ...and (P.item_k-2 = Q.item_k-2)

and (P.item_k-1 < Q.item_k-1) and (P.item_0_k-1 < Q.item_0_k-1) and p . i t e ml = Vế_trái(T)

3. If k<3

4. Insert into c k

5. Select p.item_l, Q.item_l, p.item_2,..., p.item_k-l, Q.item_k-1 From Lk_i p, Lk_i Q

Where (P. iteml = Q.item_l) and ...and (P.item_k-2 = Q.item_k-2)

and (P.item_k-1 > Q.item_k-1) and (P.item_O k-1 * Q.item O k-1) and p . i t e ml = Vetrai(T)

6. Endlf

Thuật giải tìm luật mới lạ từ tri thức đã biết

1. CFk = 0

2. For all (X e Fk I X 2 m,meLuậtMới(Vế_phải(T))) do 3. r = x \m —» m

4. If ( CF(r) > fminconf) then

5. CFk = Fk u { r }

6. Endlf

7. EndFor

3.6.4 Chuyển luật kết hợp mờ về luật kết họp thuộc tính số

Khử mờ:

Gọi X là giá trị của X sau khi khử mờ. Một số phương pháp khử mờ như:

m(x ) > m(x) với mọi x e X

+ Phương pháp trung bình trọng số (Weighted average method):

Y m ự ) * x '

x ~ £ « ( * )

Trong đó x ’ là giá trị X trung bình của tập mờ

Nhận thấy mỗi hàm thuộc của một tập mờ f đều có một ngưỡng Wf. Những giá trị nào bé hơn ngưỡng W f thì xem như bằng 0 . Nhờ ngưỡng W f chúng ta có thể khử mờ dựa trên nguyên lý thành viên lớn nhất để đưa luật kết hợp mờ về dạng gần giống với luật kết hợp với thuộc tính số.

C h ư ơ n g 4. ỨNG DỤNG LUẬT KÉ T HỢP M Ờ CHO BÀI

TOÁN KHAI PHÁ DỮ LIỆU c ư ớ c INTERNET

4.1 Nguồn dữ liệu cước Internet

Hệ thống tính cước và chăm sóc khách hàng của Viettel là một hệ thống khép kín, thực hiện các chức năng của quy trinh nghiệp vụ cung cấp dịch vụ cho khách hàng. Hệ thống cho phép thao tác toàn bộ các khâu và công đoạn thông qua hệ thống thông tin trong suốt và thống nhất. Mọi hoạt động của hệ thống đều được quy trình hóa và thể hiện thành các thao tác trên máy tính.

Hình 2. Mô hình vận hành hệ thống (theo quy trình đấu nối và khai thác dịch vụ)

Hàng thàng tại máy chủ tính cước của công ty viễn thông Viettel cập nhật một số lượng lớn chi tiết các cuộc kết nối Internet. Các thông tin được lưu trữ trong máy chủ tính cước cho chúng ta biết cách sử dụng dịch vụ Internet của khách hàng và chất lượng của các dịch vụ của công ty viễn thông cung cấp. Cuộc kết nối Internet bắt đầu được tính khi account của khách hàng kết nối vào Internet và kết thúc khi ra khỏi mạng Internet. Sau khi kết thúc cuộc kết nối thì các sổ liệu chi tiết liên quan đến kết nối Internet được lưu lại vào CSDL của nhà cung cấp dịch vụ Internet.

Các thuộc tính chi tiết cuộc kết nối Internet dùng để tính cước cho khách hàng gồm:

Account Tên account kết nối Internet Starttime Thời điểm bắt đầu kết nối Internet Stoptime Thời điểm kết thúc kết nối Internet Bytesin số byte tải về từ Internet

Bytesout số byte truyền đi lên Internet Packetsin sổ gói tin tải về từ Internet

Packetsout số gói tin truyền đi tò Internet

Với số lượng lớn dữ liệu trên, mỗi tháng khoảng hơn gần một tỷ bản ghi lưu các cuộc kết nối Internet của khách hàng, ngoài ra với số lượng tăng thêm đáng kể số lượng thuê bao hàng tháng của khách hàng, thì việc đặt ra nhu cầu khai thác dữ liệu trên để đưa ra những quyết định cho việc cung cấp dịch vụ và hồ trợ khách hàng là cần thiết. Sừ dụng phương pháp khai phá dữ liệu luật kết hợp mờ sẽ đem lại cho nhà cung cấp dịch vụ những tri thức mới, đơn giản nhưng ý nghĩa.

4.2 Cài đặt hệ thống khai phá dữ liệu cước Internet

4.2.1 Các bước tiến hành xây dựng hệ thống khai phá dữ liệu cước Internet

Bước 1: Xây dựng mô hình kỹ thuật khai phá dữ liệu cước Internet; phân tích, thiết kế dữ liệu

Bước 2: Xây dựng cơ sở dữ liệu đầu vào, bao gồm dữ liệu cước Internet, dữ liệu thuê bao.

Bước 3: Xây dựng tập mờ và hàm thuộc. Phân tích cơ sở dữ liệu đầu vào để đưa ra các tập mờ thích hợp phục vụ khai phá dữ liệu. Sử dụng các loại hàm thuộc của logic mờ. Xây dựng bộ tham số đầu vào của từng hàm thuộc. Quá trình xác định tham sổ phù hợp với yêu cầu nghiệp vụ, như xác định mức độ quan trọng của từng mục dữ liệu

Bước 4: Thực hiện quá trình mờ hóa dữ liệu. Quá trình này tập trung vào việc mờ hóa dữ liệu lớn để đưa ra một cơ sở dữ liệu mờ phục vụ cho việc tìm luật kết hợp.

Bước 5: Thực hiện khai phá dữ liệu. Áp dụng các thuật toán để tìm ra các tập phổ biến và tập luật. Mỗi thuật toán sẽ cho tập kết quả không giống nhau. Chọn các tham số như toán tử, độ hỗ trợ, độ tin cậy và phương pháp khai phá để tìm các luật kết họp .

Có thể xây dựng được các luật mới lạ dựa vào tập tri thức đã biết (tập luật có trước).

Hình 3. Mô bình tổng quan hệ thống khai phá dữ liệu:

4.2.2 Các chửc năng chính trong hệ thống khai phá dữ liệu cước Internet

Hệ thống hàm chuẩn: gồm Loại hàm thuộc

Hàm thuộc và tham số

fT l ^ \

Tập mờ

Mờ hoá dữ liệu và sinh luật mờ: gồm Mờ hoá dữ liệu

Sinh tập phổ biến, áp dụng một trong các toán tử T-norm sau: Tích đại số

Tích bị chặn Tích Drastic Phép giao Sinh tập luật: Luật kết hợp mờ Luật phủ định

Luật kết hợp với thuộc tính được đánh trọng số Tìm luật có ích: gồm

Loại bỏ luật thừa

Sinh luật mới lạ từ các tập tri thức đã biết Luật đơn giản

4.2.3 Mô hình cơ sở d ữ liệu chương trình khai phá d ữ liệu cước In tern et

Một phần của tài liệu Khai phá dữ liệu luật kết hợp mờ và ứng dụng cho bài toán khai phá dữ liệu cước internet (Trang 64)