Tải bản đầy đủ (.docx) (26 trang)

Khai thác đồ thị dựa trên tài liệu data mining concepts and techniques, jiawei han

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (465.27 KB, 26 trang )

TRƯỜNG ĐẠI HỌC KHOA HỌC NGOẠI NGỮ - TIN HỌC TPHCM
KHOA CÔNG NGHỆ THÔNG TIN

HUỲNH TRỌNG NHÂN–09DH11181
TRẦN BÌNH AN –
VƯU VĨNH PHÚC-

ĐỒ ÁN MÔN HỌC
KHAI THÁC DỮ LIỆU VÀ ỨNG DỤNG

ĐỀ TÀI : KHAI THÁC ĐỒ THỊ
DỰA TRÊN TÀI LIỆU :
Data Mining: Concepts and Techniques, Jiawei Han

TP.HCM – 12/2012

1


Tóm tắt nội dung đồ án
Đồ thị biểu thị cho một lớp cấu trúc chung hơn là các bộ, chuỗi, mắt lưới và
cây. Khai thác đồ thị thường được sử dụng để khai thác những mẫu đồ thị phổ biến, và
thực thi sự phân tích những đặc điểm, phân biệt, phân lớp và gom nhóm trên các bộ
dữ liệu đồ thị lớn. Khai thác đồ thị có một phổ trải rộng của các ứng dụng trong tin
hoc hóa học, sinh tin học, thị giác máy tính, lập danh mục video, tìm kiếm văn bản, và
phân tích web.
Những phương thức hiệu quả được phát triển cho khai thác các cấu trúc con phổ biến.
Chúng có thể phân loại vào hai phương pháp là dựa trên Apriori và dựa trên PatternGrowth. Phương pháp dựa trên Apriori dùng chiến lược tìm kiếm theo chiều rộng bởi
nó tạo ra các ứng viên theo các mức duyệt của nó. Một phương thức Pattern-Growth
điển hình là gSpan, được mở rộng để thêm vào các kỹ thuật tối ưu trong PatternGrowth và đạt được khả năng thực thi cao. Sự mở rộng xa hơn của gSpan cho việc
khai thác các mẫu đồ thị phổ biến đóng dẫn tới giải thuật CloseGraph, là giải thuật


khai thác “nén” hơn nhưng không phải khai thác toàn bộ các mẫu phổ biến, với một
độ hỗ trợ cho trước. Có nhiều mẫu đồ thị biến đổi “thú vị” bao gồm: các đồ thị phổ
biến sấp xỉ, đồ thị liên kết chặt, đồ thị dầy đặc. Một khung làm việc chung mà được
xem như là một ràng buộc là cần thiết cho những cấu trúc như vậy. Hơn nữa, có nhiều
ràng khác nhau được chỉ rõ bởi người dùng có thể được “dìm sâu” vào việc xử lý các
mẫu đồ thị để cải thiện hiệu quả việc khai thác. Phái triển ứng dụng của khai thác đồ
thị có thể dẫn tới việc tạo ra những cấu trúc danh mục đồ thị hiệu quả và chặt chẻ sử
dụng những mẫu đồ thị phân biệt và phổ biến. Tìm kiếm sự tương tự cấu trúc có thể
gặp sự bùng nổ theo cấp số nhân các thuộc tính của đồ thị. Phân tích gom nhóm và
phân lớp của các bộ dữ liệu đồ thị có thể được khám phá bởi sự giữa chúng với
phương pháp khai thác mẫu đồ thị.

2


Chương 9:Graph Mining
9.1 Khai thác đồ thị.
Đồ thị ngày càng trở nên quan trọng trong việc mô hình hóa các cấu trúc phức tạp
(hợp chất hóa học, cấu trúc protein, mạng sinh học, mạng xã hội …) và các tương
tác giữa chúng, với các ứng dụng rộng rãi bao gồm tin hóa học, tin sinh học, thị
giác máy tính, lập chỉ mục video, thu hồi văn bản, và phân tích Web nhu cầu phân
tích các dữ liệu có cấu trúc ngày càng tăng và vì vậy graph mining trở thành một
nhiệm vụ quan trọng.
Ví Dụ:
Mạng cộng tác của các tác giả

Hình 1: Ví dụ các ứng dụng của đồ thị
Khai thác đồ thị là công việc đánh giá, phân tích dựa trên những cấu trúc con phổ
biến. Các ứng dụng của khai thác đồ thị như lấy ra các đặc trưng của các tập hợp đồ
thị, phân biệt các nhóm khác nhau của đồ thị, phân lớp và gom nhóm đồ thị, xây dựng

chỉ mục đồ thị, V.v….

9.1.1 Các phương thức khai thác đồ thị con phổ biến
⊆⊆

Đầu tiên ta sẽ giới thiệu khái niệm đồ thị con: Cho hai đồ thị G(V,E) và
3


G1(V1,E1) ta nó đồ thị G1 là con của đồ thị G nếu V1 V và E1
e=(i,j) thuộc V của G, nếu e thuộc V1 thì i, j thuộc E1.

E, với mọi cạnh

Ví dụ: Đồ thị G1 là con của đồ thị G

Hình 2: Ví dụ đồ thị con

Cho một bộ độ thị đã đánh nhãn D ={ G1, G2, …., Gn}, chúng ta định nghĩa độ hỗ
trợ của g là phần trăm những đồ thị trong D, mà g là đồ thị con. Một đồ thị phổ biến là
một đồ thị mà độ hỗ trợ của nó không thấp hơn ngưỡng hộ trợ thấp nhất.
Ví dụ: Dưới đây là ví dụ về đồ thị con cùng với độ hỗ trợ của nó, với độ hỗ trợ là số
lần xuất hiện của đồ thị con trong các đồ thị (1), (2), (3).

Hình 3: Ví dụ về đồ thị con và độ hỗ trợ

Có hai phương pháp điển hình về khai thác cấu trúc con phổ biến, mỗi phương pháp
có chiến lược tạo ra các ứng viên riêng khác nhau. Hai phương pháp đó là:
• Phương pháp dựa trên Apriori , với các giải thuật tạo ứng viên điển hình như
là:



AGM

4






FSG



Nối liền đường đi(path-join)

Phương pháp pattern-growth, với giải thuật tạo ứng viên điển hình như là:


gSpan

Đầu tiên ta sẽ giới thiệu phương pháp dựa trên Apriori và các giải thuật ứng dụng của
nó.

9.1.1.1 Phương pháp dựa trên Apriori
Một giải thuật khai thác những câu trúc con phổ biến dựa trên Apriori chia sẽ
những đặc trưng với giải thuật khai thác bộ hạng mục phổ biến dựa trên Apriori. Tìm
kiếm đồ thị phổ biến bắt đầu từ đồ thị có kích thước “nhỏ”, và tiến lên từ đấy đi lên
một cách thủ công bởi các ứng viên được tạo ra có những đỉnh, cạnh, đường dẫn mở

rộng. Định nghĩa kích thước của đồ thị phụ thuộc vào từng loại giải thuật được sử
dụng. Để mà xác định một đồ thị kích thước k+1 có là phổ biến hay không, nó cần
phải kiểm tra tất cả những đồ thị con có kích thước k phổ biến mà tương xứng với nó
để đạt được một cận trên của độ hỗ trợ của nó.
Ví dụ: Ở ví dụ này thì trước khi các đồ thị K+1 cạnh được tạo ra thì phải đảm
bảo rằng các đồ thị K cạnh là những đồ thị phổ biến.

5


Kết hợp

Hình 4: Mô tả phương pháp dựa trên Apriori

Khung công việc của phương thức khai thác cấu trúc con phổ biến dựa trên Apriori:

6


Hình 5: Mã giả của giải thuật AprioriGraph

Đây cũng được coi như là giải thuật AprioriGraph. Sk là một bộ cấu trúc con
phổ biến với kích thước là k. Apriori thích hợp với một phương thức khai thác duyệt
theo mức. Ở mỗi vòng lập, nó dò tìm một cấu trúc con phổ biến mới và kích thước
được tăng lên một. Cấu trúc mới được tạo ra đầu tiên bởi kết hợp hai cái tương tự
nhau những có một sự khác biệt nhỏ ở đồ thị con phổ biến mà đã được tìm thấy ở
những lần gọi trước đó tới AprioriGraph. Thủ tục tạo ra ứng viên này được mô tả ở
bước 4 và sự phổ biến của dạng đồ thì mới được đánh dấu. Những sự tìm thấy mà là
phổ biến thường sử dụng để tạo ra những ứng viên lớn hơn trong những vòng kế tiếp.
Sau đây ta sẽ đi chi tiết vào cái giải thuật ứng dụng PrioriGraph.


7


9.1.1.1.1 Giải thuật AGM
Giải thuật AGM dùng cách tạo ra ứng viên dựa trên đỉnh làm cho kích thước
của cấu trúc con tăng lên một ở mỗi vòng lập của AprioriGraph. Hai đồ thị phổ biến
có cùng kich thước k sẽ được kết hợp với nhau nếu như chúng có giống nhau ở đồ thị
con kích thước k-1, ở đây kích thước đồ thị la số lượng đỉnh của đồ thị đó. Ứng viên
mới sẽ bao gồm đồ thị con kích thức k-1 giống nhau và cộng thêm hai đỉnh của hai đồ
thi kich thước k, bởi vì không thể xác định được có một cạnh nối giữa hai đỉnh mới
thêm vào hay không, nên ta có thể thêm một cạnh nối hai đỉnh này. Số đỉnh của ứng
viên mới luôn nhiều hơn một đỉnh
Ví Dụ:

Hình 6: Ví dụ của giả thuật AGM

9.1.1.1.2 Giải thuật FSG
Giải thuật FSG thích hợp với chiến lược tạo ra ứng viên dựa trên cạnh, nó sẽ
làm tăng số cạnh lên một ở mỗi lần gọi hàm AprioriGraph. Hai mẫu có kích thước k
được kết hợp với nhau nếu và chỉ nếu nó có đồ thị con k-1 cạnh giống nhau, đồ thị
con này được gọi là nhân. Ở đây thì kích thước của đồ thị là số cạnh. Ứng viên dược
tao ra sẽ có k-1 cạnh giống với nhân và thêm hai cạnh của hai mẫu kích thước k, do đó
ứng viên mới luôn có nhiều hơn một cạnh.
Ví Dụ:

Hình 7: Ví dụ của giải thuật FSG

9.1.1.1.3 Giải thuật đường có cạnh nối rời
Các bước của giải thuật:

Xây dựng những đường đi phổ biển, là những đường đi mà có độ hỗ trợ lớn
hơn ngưỡng cho trước.
– Từ những đương đi phổ biến này xây dựng đồ thị với hai đường có cạnh nối
rời, nghĩa là hai đường này không chia sẽ bất kỳ cạnh chung nào


8


Tiếp tục xây dựng đồ thị với k+1 đường có cạnh nối rời từ đồ thị có k đường có
cạnh nối rời
– Lập lại cho tới khi nào hết đường đi phổ biến.


Ví Dụ:

Hình 8: Ví dụ về đồ thị với 3 đường có cạnh nối rời

9.1.1.2 Phương pháp Pattern-growth
Là phương pháp tìm kiếm cấu trúc con phổ biến sử dụng phương pháp tìm
kiếm theo chiều sau. Khung quy trình của khai thác cấu trúc con phổ biến dựa trên PatternGrowth:

Hình 9: Mã giả của phương pháp PatternGrowthGraph.
Đây cũng được gọi là PatternGrowthGraph. Mỗi một lần khám phá đồ thị G, nó
tiến hành mở rộng đệ quy cho tới khi nào tất cả các đồ thị phổ biến với G được nhúng
vào được tìm thấy. Đệ quy sẽ dừng lại nếu như không có đồ thị phổ biến nào được tạo
ra nữa.
9



PatternGrowthGraph đơn giản, nhưng không hiệu quả. Hiệu ứng thắt cổ chai sẽ
làm cho nó không hiệu quả trong lúc mở rộng. Các đồ thị giống nhau có thể được tìm
thấy nhiều lần. Những đồ thị này được gọi là đồ thị trùng lấp. Điều này gây lãng phí
không gian tìm kiếm rất lớn.
Ví dụ:

Đồ thị trùng lấp

Hình 10: Ví dụ về đồ thị trùng lấp trong phương pháp PatternGrowth
Để giảm điều này cần phải mở rộng một cách “bảo toàn” để tránh việc tạo ra các
đồ thị trùng lấp. Dẫn tới việc ra đời các giải thuật mới. Điển hình là gSpan:
– Thiết kế để giảm việc tạo ra các đồ thị trùng lấp
– Không cần phải tìm kiếm những đồ thị đã khám phá ra là có trùng lấp hay
không
– Bảo đảm cho việc tìm thấy toàn bộ đồ thị phổ biến.
Cách thức hoạt động:
– Với cách duyệt đồ thị, nó thích ứng với tìm kiếm theo chiều sau.
– Bất đầu từ một đỉnh bất kỳ, những đỉnh đã đi qua thì được đánh dấu.
Tập đỉnh đi qua sẽ được mở rộng cho tới khi một cây tìm kiếm theo chiều sau đầy đủ
được xây dựng.
Sâu đây là các khái niệm liên quan tới phương pháp gSpan.
Một đồ thị sẽ có nhiều cây DFS(là cách thức duyệt đồ thị theo DFS) khác nhau
tùy theo cách thực thi của nó, điển hình là tùy theo đỉnh xuất phát của cách duyệt. Một
đồ thị G được chỉ số dưới(subscipt) bởi cây DFS T thì T gọi là chỉ số
dưới(subscripting ) DFS của G. Tùy theo số lượng cây DFS của đồ thị mà có nhiều chỉ
số dưới khác nhau.
Ví dụ: Trong ví dụ dưới đây, đồ thị a có ba cây DFS, đó là b, c và d. Tùy theo đỉnh
xuất phát và các duyệt mà có những cây này.

10



Hình 11: Ví dụ về các cây DFS của một đồ thị
PatternGrowthGraph mở rộng một đồ thị phổ biến trong mọi trường hợp có thể,
điều này có thể tạo ra một số lượng lớn các đồ thị trùng lấp. Giải thuật gSpan đưa ra
một phương pháp mở rộng phước tạp hơn. Phương pháp mới này hạn chế sự mở rộng
như sau : Cho đồ thị G và một cây DFS T trong G, một đỉnh mới có thể được thêm
vào giữa một đỉnh phải nhất và một đỉnh khác nằm trên đường đi phải nhất gọi là mở
rộng về sau, hoặc nó có thể giới thiệu một đỉnh mới và kết nối tới một đỉnh nằm trên
đường đi phải nhất gọi là mở rộng về trước.
Ví dụ về đường đi phải nhất và đỉnh bên phải nhất.
Đường đi phải nhất(right-most path)

Hình 12: Đường đi phải nhất và đỉnh phải nhất

Ví dụ về mở rộng về sau và mở rộng tới trước:

11


Mở rộng tới trước

Hình 13: Mở rộng về bên phải.

Chúng ta chuyển đổi mỗi một chỉ số dưới của đồ thị đến một chuỗi cạnh, gọi là mã
DFS( DFS code), và chúng ta có thể xây dựng một sự sấp xếp giữa những chuỗi này.
Mục tiêu đó là chọn ra một chỉ số dưới mà tạo ra chuỗi nhỏ nhất như là chỉ số dưới cơ
sở của chính nó. Và chỉ số dưới nhỏ nhất(cơ sở) hay còn gọi là mã DFS nhỏ nhất này
sẽ đại diện cho đồ thị đó, ứng dụng điều này chúng ta có thể loại các đồ thị giống
nhau, bằng cách chỉ lấy những đồ thị có chỉ số dưới nhỏ nhất. Có hai sự sấp xếp của

quy trình chuyển đổi này là:
– Sấp xếp theo cạnh, liên kết cạnh trong một chỉ số dưới của đồ thị vào một
chuỗi
– Sấp xếp chuỗi , xây dựng một sư sấp xếp giữa dãy các cạnh.
Ví dụ: Trong ví dụ dưới đây gamma0, gamma1, gamma2 là các mã DFS được tạo ra
từ các chỉ số dưới DFS của một đồ thị, ở phần sau chúng ta sẽ đi tới ví dụ sấp xếp các
chuỗi này để chọn ra mã DFS nhỏ nhất để biểu thị cho đồ thị

Hình 14: Ví dụ các mã DFS của một đồ thị

12


Để xây dựng mã DFS của từng chỉ số dưới DFS ta sử dụng phương pháp duyệt cây
theo chiều sâu, khi duyệt thì chúng ta mở rộng về sau trước khi mở rộn tới trước. Ví
dụ dưới đây sẽ chỉ rõ cách xây dựng mã DFS từng bước, theo cách duyệt theo chiều
sau
Ví dụ: Trong ví dụ này chúng ta chú ý đánh số thứ tự các đỉnh, và mở rộng về
sau(cạnh e2) được thực hiện trước mở rộng tới trước(cạnh e3, cạnh e5).

e5: (2,4)

Hình 15: Ví dụ thứ tự tạo mã DFS theo cách duyệt cây.
Trong vấn đề một đồ thị có nhiều mã DFS khác nhau, thì ta sắp xếp các mã DFS theo
thứ tự tự điển DFS, dựa trên các yếu tố với các độ ưu tiên giảm dần như sau:
– Thứ tự duyệt
– Nhãn của đỉnh đầu
– Nhãn cạnh
– Nhãn đỉnh cuối
Ví dụ:


<
Hình 16: Ví dụ sắp xếp các mã DFS
Dựa trên sự sấp xếp thứ tự từ điển DFS, mã DFS nhỏ nhất đươc cho bởi đồ thị G,
được viết là dfs(G), là nhỏ nhất giữa tất cả những mã. Mã DFS nhỏ nhất là chỉ số dưới
cơ sở của đồ thị. Hai đồ thị đẳng cấu nếu có chung mã DFS nhỏ nhất. Nếu trong quá
13


trình mở rộng mà mã DFS không phải nhỏ nhất thì chúng ta tỉa đi tỉa đi.
Ví dụ: Ở ví dụ này, ta thấy có hai chỉ số dưới giống nhau nhưng chỉ có một mã DFS
nhỏ nhất, ta thấy mã DFS của chỉ số dưới đầu tiên nhỏ hơn mã DFS của chỉ số sau vì
theo thứ tự duyệt đỉnh theo chiều sau thì mã DFS đầu tiên được duyệt trước do đó nó
nhỏ hơn, ta tiến hành tỉa đi mã DFS sau vì nó không phải nhỏ nhất.

Hình 17: Ví dụ về tỉa cây có mã DFS không phải nhỏ nhất.
Sau đây là thuật giải tổng quát của phương pháp gSpan:

14


Hình 18: Mã giả của phương pháp gSpan.
gSpan mở rộng mẫu tới những con cháu phổ biến tới khi độ hỗ trợ của nó nhỏ hơn độ
hỗ trợ nhỏ nhất hoặc mã của nó không phải là nhỏ nhất. Sự khác biệt giữa gSpan và
Pattern-Growth đó là ở sự mở rộng bên phải nhất và sự chấm dứt mở rộng của những
mã DFS không phải là nhỏ nhất. Giải thuật ở trên là một phiên bản tiềm kiếm theo
chiều sau của gSpan.Thực tế, tiềm kiếm theo chiều rộng cũng làm việc như vậy: với
mỗi đồ thị phổ biến con mới được tìm thấy ở dòng thứ 8, thây vì gọi trược tiếp gSpan,
chúng ta thêm vào một hàng đợi Q toàn cục, thứ mà có thể lưu trữ tất cả những đồ thị
con mà nó không thể mở rộng được nữa. Rồi chúng ta “gSpan” mỗi đồ thị con trong

Q. Sự thực thi của một phiên bản của tìm kiếm theo chiều rộng của gSpam rất gần với
tìm kiếm theo chiều sâu, mặc dù DFS tốn ít bộ nhớ hơn.
Ví dụ gSpan:
– Cho bộ dữ liệu đồ thị (a) và độ hỗ trợ bằng 2
– Bước1: Làm sạch đồ thị bằng cách xóa đi các cạnh không thỏa mãn độ hỗ trợ
(b)

15


Hình 19: Ví dụ làm sạch đồ thị trong gSpan


Step 2: Tìm tất cả các cạnh đơn phổ biến, là những cạnh có độ hỗ trợ lớn hơn hoặc
bằng 2

{(a_5,c_3),(a_6,c_1)} => (0,1,a,c)
{(b_2,c_3),(b_4,c_1)} => (0,1,b,c)
– Sấp xếp đồ thị và duyệt theo chiều sau, tùy đỉnh bắt đầu mà tạo ra các mã DFS
khác nhau, bắt đầu từ đỉnh a hoặc b
– Mở rộng dần bằng các them các đỉnh vào, nếu là đồ thị con phổ biến còn nếu
không phải phổ biến thì quay lui
Tỉa nếu không là nhỏ nhất

Hình 20: Loại bỏ đồ thị có mã DFS không phải là nhỏ nhất trong gSpan


Kết quả trả về mẫu (a,b,c) và thực thể.

9.1.1.3 So sánh các tính chất:

Phương pháp dựa trên
Priori

Phương pháp Patterngrowth

Thứ tự tìm kiếm

Theo chiều rộng

Theo chiều sâu

Cách thức tạo ứng viên

Priori

Phát triển mẫu

16


Loại trừ việc trùng lấp đồ thị con

Bị động

Chủ động

Thứ tự phá triển mẫu

Đường đi -> Cây
-> Đồ thị


Đường đi -> Cây
-> Đồ thị

9.1.2 Khai thác những mẫu cấu trúc con biến đổi và ràng buộc
Những loại đồ thị con phổ biến mà chúng ta đã thảo luận thì chúng chỉ giữ duy nhất
một loại đặc biệt của những đồ thị: đã đánh nhãn, vô hướng, những đồ thị liên thông
đơn giản mà không có bất kỳ ràng buộc cụ thể nào. Chúng ta cho rằng dữ liệu được
khai thác chứa đựng một bộ các đồ thị, mỗi bộ bao gồm một bộ các nhãn đỉnh và cạnh
vô hướng, với không có những ràng buộc khác. Tuy nhiên, trong nhiều ứng dụng hoặc
người sử dụng có thể cần áp đặt những loại ràng buộc khác nhau trên những mẫu được
khai thác hay tìm kiếm những mẫu cấu trúc con biến đổi. Ví dụ, chúng ta có thể khai
mõ các mẫu, mỗi một cái đó chứa đựng một cạnh hoặc đỉnh cụ thể nào đó, hoặc tổng
số lượng của đỉnh hoặc cạnh nằm trong một miền cụ thể. Hoặc cái gì nếu chúng ta tìm
kiếm những mẫu mà bề dày trung bình của những mẫu đồ thị phải trên một cái
ngưỡng nào đó? Mặc dù có thể để phát triển một giải thuật tùy biến cho mỗi trường
hợp như vậy, có rất nhiều trường hợp biến đổi cần xem xét. Thây vào đó một khung
công việc là một sự cần thiết mà có thể phân lớp những ràng buộc dựa trên những mẫu
đồ thị. Những phương thức dựa trên ràng buộc hiệu quả có thể phát triển cho khai thác
các mẫu cấu trúc con và những biến đổi của chúng. Trong phần này, chúng ta nghiên
cứu một vài mẫu cấu trúc con biến đổi và ràng buộc và xem xét cách mà chúng được
khai thác.

9.1.2.1 Khai thác trên đồ thị phổ biến đóng
Một điều quan trọng trong những cấu trúc con phổ biến đó là cấu trúc con phổ biến
đóng. Bởi vì khai thác trên các mẫu đồ thị có thể làm bùng nổ số lượng lớn các mẫu.
Nhất là những bộ dữ liệu dầy đặc, bởi vì tất cả những đồ thị con của đồ thị phổ biến là
phổ biến, các đồ thị con có thể được sinh ra theo quy luật hàm mũ. Ví dụ:Giữa 423
hợp chất hóa học được xác định trong một bộ dữa liệu chọn lọc kháng virut AIDS thì
có gần một triệu các mẫu đồ thị phổ biến mà có độ hộ trở tối thiểu là 5%. Điều này

cho thấy rằng việc phân tích xa hơn trên những đồ thị phổ biến là không thể. Do đó
chỉ khai thác trên đồ thị phổ biến đóng. Đồ thị G là đóng khi và chỉ khi không có một
đồ thị cha G’ nào có chung độ hỗ trợ với nó. Ngoài ra chúng ta cũng có thể khai thác
trên đồ thị lớn nhất. Đồ thị G là lớn nhất khi và chỉ khi nó không có bất kỳ một đồ thị
cha phổ biến nào.
Ví dụ:

17


Lớn nhất

Hình 21: Ví dụ về đồ thị lớn nhất và đồ thị đóng
Vấn đề của khai thác đồ thị:

Điều kiện nào mà chúng ta
có thể dừng tìm kiếm các đồ
thị con của những đồ thị này
Như là giới hạn sớm nào?
Hình 22: Vấn đề của khai thác đồ thị
Ý tưởng phương pháp CloseGraph:
Nếu G và G’ phổ biến, G là một đồ thị con của G’. Nếu trong bất kỳ phần nào
của đồ thị trong bộ dữ liệu có G xuất hiện thì G’ cũng xuất hiện, thì chúng ta không
cần phát triển G, bởi vì không có con nào của G là bao đóng ngoại trừ con của G’.
Dựa trên những ý tưởng này, giải thuật CloseGraph được đề xuất, là một giải thuật
gSpan được mở rộng để khai thác trên những đồ thị phổ biến đóng. Những thí nghiệm
cho thấy CloseGraph tạo ra ít mẫu đồ thị hơn và hiệu quả hơn gSpan.Ví dụ: Trong bộ
dữ liệu kháng thể vi rút HIV đã nói ở trên thì trong 1 triệu đồ thị phổ biến thì chỉ có
2000 đồ thị là phổ biến đóng. Cho nên phân lớp và gom nhóm trên đồ thị phổ biến
đóng sẽ đạt được sự chính xác và hiệu quả cao hơn.


9.1.2.2 Khai thác các mẫu cấu trúc con tuỳ chọn
18


Các giải thuật khai thác đồ thị Pattern-growth điển hình như Closegraph hay gSpan,
có thể rất dễ dàng mở rộng cho khai thác các mẫu cấu trúc con tùy chọn. Sau đây là
một vài mẫu tùy chọn như vậy.
1) Khai thác những đồ thị không gắn nhãn hoặc được gắn nhãn một phần
– Xây dựng một bộ nhãn chứa đựng những nhãn gốc và những nhãn rỗng φ
– φ có thể nối với bất kỳ nhãn nào hoặc là chỉ với φ
2) Mở rộng để khai thác những đồ thị không đơn, là đồ thị có:
Cạnh khuyên : một cạnh kết nối với một đỉnh bằng chính nó
– Đa cạnh : nhiều cạnh cùng kết nối tới hai đỉnh giống nhau
– Sự phát triển của đồ thị theo quy luật cạnh sau, cạnh khuyên, cạnh trước
3) Khai thác các đồ thị có hướng

Với loại đồ thị này thì ta thêm một giá trị hướng cho mã DFS là +1 nếu hướng từ
đỉnh i sang j và -1 nếu hướng ngược lại.
4) Khai thác đồ thị không liên thông

Trong thực tế thì đồ thị trong bộ dữ liệu có thể không liên thông. Do đó ta có thể
thêm một đỉnh ảo để kết nối những đồ thị không liên thông trong mỗi đồ thị, và
sau đó dùng các phương pháp ở trên để khai thác.

9.1.2.3 Khai thác các cấu trúc con ràng buộc
Có rất nhiều loại ràng buộc khác nhau tùy vào những truy vấn của người dùng, các
loại ràng buộc thường gặp là:
1) Thành phần, bộ, hoặc đồ thị chứa đựng các ràng buộc
Chúng ta có thể lấy một tập hợp những đồ thị con đã cho như là một truy vấn, sau

đó thực thi việc chọn lựa đầu tiên bằng cách sử dụng các ràng buộc, và rồi khai
thác trên bộ dữ liệu đã chọn bằng cách làm tăng lên các mẫu từ bộ dữ liệu đồ thị
con đã cho đó
2) Ràng buộc hình học
Góc giữa mỗi cập cạnh phải nằm trong một khoảng quy định
– Vi dụ: Góc nhỏ nhất<= Các góc của đồ thị <= Góc lớn nhất
3) Ràng buộc tổng giá trị
– Ví dụ: Tổng đồ dài của cạnh phải nhỏ hơn một giá trị định trước nào đó
Một đồ thị truy vấn có thể có đa ràng buộc

9.1.2.4 Khai thác các cấu trúc con phổ biến Xấp xỉ
Một cách khác để giảm số lượng của các mẫu được tạo ra là để khai thác gần đúng cấu
trúc con phổ biến, cho phép thay đổi nhỏ về cấu trúc. với kỹ thuật này, chúng ta biểu
thị một vài cấu trúc con phổ biến sai khác một ít bằng một cấu trúc con sấp xỉ duy
19


nhất.
Nguyên tắc chiều dài mô tả tối thiểu ( Chương 6 ) được nhận làm 1 phần trong hệ
thống khám phá cấu trúc con gọi SUBDUE. Nó tìm kiếm kiểu mẫu nền móng có thể
nhất nén và xác lập biểu đồ dựa trên sự mô tả chiều dài nhỏ nhất(MDL).Phương pháp
SUBDUE tìm kiếm không tự nhiên. Nó phát triển một đỉnh gia tăng bằng cách mở
rộng nút: mô tả chiều dài kiểu mẫu và mô tả chiều dài biểu đồ xác lập với tất cả
trường hợp kiểu mẫu đặc vào nút đơn.SUBDUE thực hiện xấp xỉ thích hợp để cho
phép sự thay đổi nhỏ về cấu trúc ,do đó hỗ trợ khám phá của cấu trúc con xấp xỉ.
9.1.2.5

Khai thác các cấu trúc con liên kết chặt

Một cấu trúc con phổ biến là một đồ thị liên kết chặt nếu những thông tin qua lại giữa

G và mỗi một đồ thị con mà nó sở hữu là trên một vài ngưỡng nào đó. Số lượng của
những cấu trúc con liên kết chặt nhỏ hơn số lượng những cấu trúc con phổ biến. Do
đó, khai thác những cấu trúc con liên kết chặt có hiêu quả cắt tỉa những mẫu dư
thừa( những mẫu tương tự nhau và có chung một độ hỗ trợ).
9.1.2.6

Khai thác các cấu trúc con dầy đặc

Trong sự phân tích của khai thác mẫu đồ thị, những nhà nghiên cứu đã tìm thấy rằng
có tồn tại một loại cấu trúc đồ thị cụ thể, gọi là đồ thị quan hệ. Đó là loại đồ thị:
– Mỗi một node đại diện cho một thực thể riêng biệt
– Cạnh biểu thị mối quan hệ giữa những thực thể đó
Ví dụ: Trong mạng sinh học:
– Nút biểu thị cho gen, protein, enzyme.
– Cạnh biêu thị cho các mối quan hệ, như là kiểm soát, tương tác, tương đương…
Một mẫu đặc biệt mà chúng ta quan tâm đó là những đồ thị con liên thông mạnh phổ
biến hoặc dày đặc. Trong mạng xã hội, loại mẫu này giúp cho ta xác định những nhóm
mà ở đó con người được kết hợp một cách mạnh mẽ. Trong sinh học máy tính, một đồ
thị con liên thông mạnh có thể biểu thị cho một tập hợp gen trong cùng một mô đun
chức năng, ví dụ: một tập hợp của những gen đặc biệt trong cùng một quá trình. Một
đồ thị là liên thông mạnh nếu và chỉ nếu mỗi một đồ thị con liên thông của nó là liên
thông mạnh.
Cho một đồ thị G, một cạnh cầu là một tập hợp của cạnh Ec mà E(G) – Ec thh ì sẽ
không còn liên thông nữa.
Ví dụ:

20


Hình 23: Ví dụ về cạnh cầu

Ở ví dụ này e1 là một cạnh cầu.
Một Cầu nhỏ nhất là một tập hợp nhỏ nhất trong tất cả cạnh cầu. Cạnh liên thông của
G là kích thước nhỏ nhất của một Cầu nhỏ nhất. Một đồ thị là dầy đặc nếu số cạnh
liên thông của nó không ít hơn một ngưỡng cầu nhỏ nhất cụ thể.
Có hai phương pháp khai thác những đồ thị quan hệ dầy đặc phổ biến đóng mà thõa
mãn một ràng buộc liên thông được chỉ rõ bởi người dùng:
– Dựa trên phương pháp pattern-growth. Ví dụ: CloseCut
– Dựa trên phương pháp pattern-reduction. Ví dụ: Splat.
9.1.2.6.1

Phương pháp pattern-growth

Bước 1:Tìm một đồ thị ứng viên phổ biến nhỏ
– Xóa đỉnh nếu như độ của đỉnh đó nhỏ hơn ràng buộc liên thông, độ ở đây là số
cạnh nối với đỉnh đó, ràng buộc liên thông là độ nhỏ nhất mà độ của một đỉnh
phải lớn hơn
– Phân rã nó ra những đồ thị con mà thỏa mãn ràng buộc liên thông
– Dừng phân rã khi đồ thị con đã được đánh dấu trước đó
Bước 2: Mở rộng ứng viên này bằng cách thêm cạnh mới và đỉnh mới
Bước 3: Lập lại.
9.1.2.6.2
Phương pháp Pattern-Reduction
10
Bước 1: Phân rã những đồ thị quan hệ theo những ràng buộc liên thông
11
Ví dụ:

21



Hình 24: Phân rã đồ thị trong Patter-Reduction
Bước 2: Giao chúng lại với nhau và phân rã ra các đồ thị con kết quả

Kết quả cuối cùng

Hình 25: Giao đồ thị trong phương pháp Growth-Reduction

9.1.3 Các ứng dụng của Khai thác đồ thị: Lập danh mục đồ thị, tìm kiếm
tương tự, phân lớp và gom nhóm
Có rất nhiều ứng dụng thú vị của việc tìm kiếm ra các mẫu có cấu trúc, những thứ này
bao gồm xây dựng chỉ mục đồ thị trong một cơ sở dữ liệu đồ thị lớn, trình diễn những
kiểu tìm kiếm tương tự trong những bộ dữ liệu như vậy, xác định rõ cấu trúc của
những bộ dữ liệu, phân lớp và gom nhóm những cấu trúc phước tạp.

9.1.3.1 Lập danh mục đồ thị
Lập danh mục là một điều quan trọng cho việc xử lý tìm kiếm và truy vấn một cách
hiệu quả trong cơ sở dữ liệu và hệ thống thông tin. Tuy nhiên, việc tiếp cận lập danh
mục theo kiểu truyền thống(một chiều) thì gặp rất nhiều thách thức trong cơ sở dữ
liệu bao gồm các đối tượng phước tạp, điều này giống như đồ thị bởi vì một đồ thị có
22


thể chứa đựng theo một quy luật số mũ của các đồ thị con. Là không hiệu quả để mà
xây dựng danh mục dựa trên các đỉnh và cạnh, bởi vì những đặc trưng như vậy không
có chọn lọc và không có khả năng phân biệt các đồ thị. Mặt khác, cấu trúc các danh
mục được xây dựng dựa trên những đồ thị con có thể dẫn tới sự bùng nổ số lượng của
chỉ số của danh mục. Những nghiên cứu mới đây về danh mục đồ thị đã đưa ra một
phương pháp tiếp cận lập danh mục dựa trên đường đi. Tư tưởng đó dựa vào phân tích
sau:


Đồ thị (G)

Hình 26: Tư tưởng lập danh mục đồ thị
Nếu đồ thị G chứa đựng đồ thị truy vấn Q, G sẽ chứa đựng bất kỳ cấu trúc con nào
của Q
Tư tưởng chính của phương pháp lập danh mục đường đi:
– Liệu kê tất cả những đường đi tồn tại nhỏ hơn độ dài maxL của
o Cơ sở dữ liệu đồ thị (danh muc nghịch đảo)
o Đồ thị truy vấn
– Tính toán những đồ thị ứng viên chứa những cấu trúc này
– Xóa những mẫu không đúng bằng việc kiểm tra tính đẳng cấu
Ví dụ:


Cơ sở dữ liệu đồ thị

(c)

Hình 27: Cơ sở dữ liệu đồ thị để lập danh mục
Xây dựng một danh mục nghịch đảo giữa những đường đi và những đồ thị:
– Đường đi :
 Độ dài 0: C, O, N, S
 Độ dài 1: C-C, C-O, C-N, C-S, N-N, S-O
23


 Độ dài 2: C-C-C, C-O-C, C-N-C, ...
 Độ dài 3: ...

Đồ thị truy vấn :

Hình 28: Đồ thị truy vấn trong phương pháp lập danh mục đồ thị


0-cạnh: SC={a, b, c}, SN={a, b, c}
1-cạnh: SC-C={a, b, c}, SC-N={a, b, c}
2-cạnh: SC-N-C = {a, b}, …

– Giao các tập S lại, Chúng ta có những ứng viên- đồ thị (a) và đồ thị (b) – có thể
chứa đựng đồ thị truy vấn.





Có một vấn đề của phương pháp lập danh mục, chúng ta hãy xem ví dụ sau:
– Cơ sở dữ liệu đồ thị

(c)



Đồ thị truy vấn



Chỉ có duy nhất đồ thị (c) chứa đựng đồ thị truy vấn. Tuy nhiên, tuy nhiên nếu
chúng ta chỉ lập dạnh mục đường đi có độ dài nhỏ hơn hoặc bằng 4: C, C-C, CC-C, C-C-C-C, thì chúng ta không thể tỉa đồ thị (a) và (b).

Để giải quyết vấn đề đó chúng ta dùng phương pháp gIndex, các bước như sau:
– Xác định các cấu trúc phổ biến trong CSDL

– Tỉa những phần dư thừa để duy trì một bộ nhỏ các cấu trúc phân biệt
– Một cấu trúc con phổ biến là phân biệt nếu độ hỗ trợ của chúng không thể
được sắp xỉ được bằng các giao nhau của các bộ dữ liệu đồ thị mà có chứa
đựng một trong các đồ thị con của nó.
– Tạo ra danh muc nghịch đảo giữa những cấu trúc phổ biến phân biệt và đồ thị
trong Cơ Sở Dữ Liệu.
24


9.1.3.2 Tìm kiếm cấu trúc tương tự
Những ứng dụng trong sinh học và hóa học bao gồm những truy vấn tìm kiếm trong
dữ liệu có cấu trúc phước tạp và hỗn hợp. Mặc dù với việc lập danh mục đồ thị, những
các tìm kiếm như vậy vẫn gặp các thác thức bởi thường rất khó để chó thể tìm kiếm
một cách so khớp chính xác của một danh mục, tìm kiếm các cấu trúc tương tự trong
những cấu trúc phước tạp trở nên là một nhân tố quan trọng. Ta xét ví dụ dưới đây.
Ví dụ:
Các hợp chất hóa học, là các đồ thị có trong cơ sở dữ liệu.

Đồ thị truy vấn

Hình 29: Ví dụ về vấn đề tìm kiếm các câu trúc tương tự
Hiển nhiên ta thấy rằng trong các đồ thị trong cơ sở dữ liệu thì không có đồ thị con
nào so khớp với đồ thị truy vấn, do đó cách giải quyết “ngây thơ” nhất là:
– Định dạng một bộ đồ thị con truy vấn với một hoặc vài cạnh bị xóa đi
– Sau đó sử dụng các cách tìm kiếm chính xác
Nhưng nếu làm theo cách trên thì khi ta quyết định xóa nhiều cạnh thì sẽ tạo lên một
số lượng lớn các cấu trúc con, do đó chi phí sẽ rất lớn. Nên đối với những đồ thị lớn
thị số cạnh được xóa là rất ít, chỉ một hoặc hai.
Ví dụ: Nếu 3 cạnh được xóa trong đồ thị truy vấn có 20 cạnh thì có thể tạo ra )
=1140 cấu trúc truy vấn con.

Một giải thuật lọc các cấu trúc dựa trên thuộc tính, gọi là Grafil(Graph similarity
Filtering) được pháp triển để lọc hiệu quả những đồ thị trong một cơ sở dữ liệu đồ
thị kích cỡ lớn. Grafil mô hình mỗi đồ thị truy vấn như một bộ những đặc trưng và
chuyển đổi những cạnh đã xóa vào “những đặc trưng không đúng” trong đồ thị
truy vấn. Và nó còn cho thấy sử dụng quá nhiều đặc trưng sẽ không phải là đòn bẩy
25


×