Thuật toán FSG

Một phần của tài liệu (LUẬN văn THẠC sĩ) khai phá đồ thị con thường xuyên trên mô hình mapreduce (Trang 46 - 49)

Phương pháp tiếp cận hướng đối tượng để khai phá FSMs. Xây dựng cấu trúc đồ thị con và xác định FSM.

Cách tiếp cận dựa trên Apriori

Nền tảng tổng quát của phương thức dựa trên Apriori được phác thảo trong thuật toán 2.1. Trong đó Sk là tập cấu trúc con thường xuyên kích thước k. Thuật toán 2.1 chấp nhận một mức khai phá phương pháp luận. Tại mỗi bước lặp, kích thước của cấu trúc con thường xuyên phát hiện mới được tăng lên bằng 1. Cấu trúc con mới được phát sinh lần đầu bằng phép hòa nhập hai đồ thị đồng dạng nhưng khác nhau về đồ thị con thường xuyên được phát hiện trong lời gọi cuối cùng của thuật toán 2.1. Thủ tục phát sinh ứng viên được biểu diễn trên dòng 4 các đồ thị mới được hình thành và sau đó được kiểm tra tần suất xuất hiện của chúng. Các đồ thị con thường xuyên được phát hiện và sử dụng để phát sinh các ứng viên lớn hơn trong các vòng lặp kế tiếp.

Thuật toán 2.1 Apriori(D, min_support, Sk) [12]

Input: A graph dataset D and min_support. Output: A frequent substructure set Sk. 1: Sk+1 ← ∅

2: for each frequent gi ∈ Skdo

3: for each frequent gj ∈ Skdo

4: for each size (k+1) graph g formed by the merge of gi and gjdo

5: if g is frequent in D and g Sk+1 then

6: insert g to Sk+1; 7: if Sk+1 ≠ then

8: call Apriori (D, min_support, Sk+1); 9: return;

Ý tưởng chính của thuật toán khai phá cấu trúc con thường xuyên dựa trên Apriori là bước phát sinh các ứng viên. Phát sinh các ứng viên cho tập thường xuyên là không phức tạp. Ví dụ độ hỗ trợ ta có hai tập thường xuyên kích thước là 3: (abc) và (bcd) tập thường xuyên ứng viên kích thước là 4 phát sinh từ hai tập trên là (abcd). Nghĩa là sau khi tìm được hai tập thường xuyên là (abc) và (bcd) ta nên kiểm tra tần suất của (abcd). Tuy nhiên vấn đề phát sinh ứng viên trong khai phá cấu trúc con thường xuyên trở nên khó hơn so với trường hợp khai phá tập thường xuyên vì có rất nhiều cách để hòa nhập hai cấu trúc con.

FSG thông qua một cạnh dựa trên phương thức tăng kích thước của cấu trúc con lên một cạnh trong mỗi lời gọi thuật toán 2.2. Trong FSG, hai mẫu kích thước k được hòa nhập nếu và chỉ nếu chúng chia sẻ cùng đồ thị con có k-1 cạnh được gọi là core. Ở đây kích thước của một đồ thị nghĩa là số các cạnh trong một đồ thị. Các ứng viên mới được thành lập bao gồm core và hai cạnh bổ sung từ các mẫu kích thước k.

Độ hỗ trợ SubGraph

Hình 2.2 gồm ba đồ thị được biểu diễn, các số 0,1,2 và 3 là những số gán cho mục tiêu của chương trình, các nhãn A, B, C, D, E, F rất quan trọng trong thuật toán. nGraph là tổng số đồ thị trong tập dữ liệu và nSubGraph là số lần một subGrap cụ thể suất hiện trong tập dữ liệu. Độ hỗ trợ “Sup” của một đồ thị con cụ thể được định nghĩa: Sup =nSubGraph÷nGraph

Hình 2.2. Biểu diễn các đồ thị trong tập dữ liệu

Vấn đề đồ thị đẳng cấu cần được giải quyết trong khi đếm độ hỗ trợ của đồ thị con trong tập dữ liệu. Hai đồ thị là đẳng cấu nếu đỉnh và nhãn cạnh là như nhau và cùng hướng. Trong ví dụ đồ thị có hướng được giả định từ số đỉnh thấp đến số đỉnh cao hơn.

Ví dụ 2.1.2. Nếu đếm số đồ thị con xuất hiện A-E-B trong ba đồ thị ở Hình 2.2, thì kết quả là 3 nhưng thực sự chỉ có hai đồ thị một bao gồm hai đồ thị con A-E-B phải được tính một lần vấn đề này được loại bỏ bằng cách tìm sự khác biệt giữa đồ thị con trên đồ thị.

Thuật toán 2.2 FSG: [1]

Input: Dữ liệu các đồ thị và min-sup Output: Tập đồ thị con thường xuyên Method:

1. Tạo lớp SingleEdge chứa các đồ thị đơn bằng lớp các đỉnh và cạnh. 2. Chọn các cạnh đơn khác và lưu các đồ thị con thỏa mãn giá trị min-

sup trong lớp Subgraph−1.

3. Loại bỏ các cạnh có độ hỗ trợ nhỏ hơn min-sup từ lớp SingleEdge. 4. Lặp lại các bước từ a đến e cho đến khi một ứng viên đồ thị con với

(a) Kết hợp các đồ thị với kích thước (N-1) với SingleEdge để tạo ra đồ thị kích thước (N) cạnh.

(b) Loại bỏ những đồ thị thừa từ lớp N cạnh và lưu các đồ thị con với kích thước N vào trong Subgraph−Distinct−N.

(c) Đếm độ hỗ trợ của các đỉnh và cạnh duy nhất trong Subgraph−Distinct−N.

(d) Loại bỏ các đồ thị có độ hỗ trợ nhỏ hơn min-sup từ Subgraph−Distinct−N và lưu các đồ thị còn lại trong Subgraph−N. (e) Loại bỏ các đồ thị có độ hỗ trợ nhỏ hơn min-sup từ lớp (N) cạnh. 5. Kết thúc vòng lặp.

Một phần của tài liệu (LUẬN văn THẠC sĩ) khai phá đồ thị con thường xuyên trên mô hình mapreduce (Trang 46 - 49)

Tải bản đầy đủ (PDF)

(79 trang)