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

TÌM HIỂU VỀ KHAI PHÁ ĐỒ THỊ GRAPH MINING

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 (2.82 MB, 31 trang )

Bài thu hoạch môn KHAI PHÁ DỮ LIỆU
– Tìm hiểu về GRAPH MINING
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
BÀI THU HOẠCHMÔN HỌC :
KHAI PHÁ DỮ LIỆU
ĐỀ TÀI
TÌM HIỂU VỀ
KHAI PHÁ ĐỒ THỊ
GRAPH MINING
MỤC LỤC
Trang
Mục lục 2
Lời mở đầu 3
Chương I: Giới thiệu về khai phá dữ liệu từ đồ thị - Graph mining 4
1) Các khái niệm & định nghĩa
2) Khai thác dữ liệu đồ thị - đồ thị phổ biến mẫu
3) Một số thuật toán trong khai thác đồ thị
4
6
8
Chương II: Các thuật toán về khai thác đồ thị 9
1) Thuật toán Apriori
2) Thuật toán tăng trưởng mẫu – Pattern growth
9
10
1
Lê Ngọc Hiếu – CH1101012 – K6UIT –
Học viên thực hiện:
Lê Ngọc Hiếu
MSHV: CH1101012


Lớp : CH K6 - UIT
GVHD:PGS.TS. Đỗ Phúc
Bài thu hoạch môn KHAI PHÁ DỮ LIỆU
– Tìm hiểu về GRAPH MINING
3) Đặc điểm của các thuật toán khai thác đồ thị 14
Chương III: Phân lớp đồ thị 20
1) Phân lớp dựa trên cấu trúc .
2) Phân lớp dựa trên mẫu (pattern)
3) Phân lớp dựa vào cây quyết định
4) Phân lớp dựa trên nhân (Kernel) của đồ thị
20
20
21
23
Chương IV: Nén đồ thị 24
Chương V: Ứng dụng khai thác đồ thị quản lý độ tin cây trên mạng internet 25
1) Một số ký hiệu .
2) Số liệu liên quan.
3) Cấu trúc cluster (cụm) toàn cầu
4) Cấu trúc cluster (cụm) cục bộ
5) Topology
25
25
30
35
Chương VI: Kết luận 37
Tài liệu tham khảo 38
LỜI MỞ ĐẦU
Khai thác dữ liệu đồ thị là mảng đề tài không cũ, nhưng khá mới mẻ ở Việt Nam.
Thông qua là bài thu hoạch cuối kỳ của môn học Khai phá dữ liệu & kho Dữ liệu, giúp

em hiểu hơn về các ứng dụng của khai phá dữ liệu đồ thị, mục tiêu, mục đích & kết quả
của ứng dụng khai phá dữ liệu đồ thị trong cuộc sống, là cơ sở vững chắc cho việc
nghiên cứu & phát triển về sau trong quá trình học tập tại trường.
Để hòan thành bài thu hoạch này, em xin chân thành cảm ơn thầy PGS.TS. Đỗ Phúc, người
đã truyền cảm hứng cho em, thầy là người chỉ dẫn tận tình, cung cấp thông tin, tư liệu cũng
như những bài giảng có giá trị để sản phẩm này hoàn thành ở mức bước đầu nghiên cứu.
Đây là đề tài không mới nhưng không cũ, nhưng với thời lượng cũng như việc đầu tư nghiên
cứu chưa tương ứng, nên đây chỉ mang tính chất một bài tiểu luận môn học, chỉ tìm hiểu ở
mức độ khái quát vấn đề, phân tích và chưa đi sâu mổ xẻ các vấn đề một cách triệt để tương
xứng với một bài nghiên cứu khoa học.
Em rất mong sự thông cảm & chia sẻ của thầy.
Thành phố Hồ Chí Minh, Tháng 11 Năm 2012.CHƯƠNG I: GIỚI THIỆU VỀ KHAI PHÁ
DỮ LIỆU ĐỒ THỊ - GRAPH MINING
I.1) CÁC KHÁI NIỆM & ĐỊNH NGHĨA
2
Lê Ngọc Hiếu – CH1101012 – K6UIT –
Bài thu hoạch môn KHAI PHÁ DỮ LIỆU
– Tìm hiểu về GRAPH MINING
1. Tại sao phải khai phá dữ liệu đồ thị?
- Đồ thị dể dàng tìm thấy ở khắp mọi nơi trong cuộc sống hàng ngày của chúng ta như:
a. Hệ thống mạng internet (Co-expression Network)
b. Mạng xã hội (Social network)
c. Quy trình của một chương trình (Program flow)
d. Các hợp chất hóa học ( Chemical compound)
e. Cấu trúc của Protein (Protein structure)
- Một dữ liệu lớn ngày nay trên các hệ thống mạng đều có thể biểu diễn dưới dạng các đồ thị & mối
quan hệ của chúng theo:
a. Liên kết, kết nối vật lý
b. Kết nối giữa các mạng trong lớp mạng
c. Mối quan hệ trong mạng xã hội

d. Siêu lien kết giữa các trang web
e. Các tương tác phức tạp giữa các thực thể…
- Những đồ thị trên chứa đựng những thong tin giá trị cho việc ứng dụng vào hệ thống mạng như
a. Những phát hiện từ cộng đồng, những điểm chung
b. Phân lớp
c. Những hệ thống được đưa ra theo ưu tiên nào đó
d. Tìm kiếm trên mạng
e. P2P (điểm tới điểm) tìm kiếm & lấy dữ liệu
f. Tin cậy & uy tín…
- Để đưa những dữ liệu trên vào dưới dạng đồ thị, ta cần phải:
a. Định nghĩa các ma trận mà mô tả cấu trúc tổng thể của đồ thị
b. Tìm các cấu trúc có tính đặc trưng cộng đồng của mạng lưới
c. Định nghĩa các ma trận mà nó mô tả các mẫu đặc trưng của các giao tiếp bên trong đồ thị
đó
d. Phát triển & ứng dụng những thuật toán hiệu quả nhất để khai thác dữ liệu trong hệ thống
mạng đó
e. Hiểu rõ mô hình của việc lấy ra (thừa hưởng) từ các đồ thị đó.
- Nhìn chung, đồ thị có tính bao quát hơn từng đối tượng, tuần tự, cây, mạng nói chung. Đồ thị giải
quyết được nhiều vấn đề có độ tính toán phức tạp cao.
2. Một số ký hiệu & thuật ngữ:
- Một đồ thị có thể được xem là 1 tập của 5 phần từ (V,E,F,Lv,Le).
- D ={G1,G2,…Gn} là tập dữ liệu của những giao dịch
- Những giao dịch trong tập D là đồ thị gián tiếp được đánh dấu.
- Độ hỗ trợ (support) của một đồ thị G được định nghĩa như là số phần tram đồ thị trong tập D có đồ
thị con là G.
- Một đồ thị được gọi là phổ biến (frequent) nếu nó có độ hỗ trợ lớn hơn một ngưỡng cho trước
(ngưỡng này thường được cho trước).
Ví dụ: Đồ thị con phổ biến:
3. Tổng quan về khai thác dữ liệu đồ thị - Graph Mining:
3

Lê Ngọc Hiếu – CH1101012 – K6UIT –
Bài thu hoạch môn KHAI PHÁ DỮ LIỆU
– Tìm hiểu về GRAPH MINING
I.2) Khai thác dữ liệu đồ thị: đồ thị phổ biến
1.
Khai thác đồ thị phổ biến – Graph Pattern Mining:
- Giới thiệu: Trên là các tập đồ thị.
2.
Đồ thị mẫu – Graph Pattern:
- Các thong số hữu ích & lý thú, từ đó có được các hành động theo mục đích đưa ra:
o Tần số xuất hiện: Đồ thị mẫu phổ biến
o Ứng xử khác, xử lý khác: Để lấy các thong tin cần thiết
4
Lê Ngọc Hiếu – CH1101012 – K6UIT –
Bài thu hoạch môn KHAI PHÁ DỮ LIỆU
– Tìm hiểu về GRAPH MINING
o Mức ý nghĩa.
3.
Đồ thị mẫu phổ biến – Frequent Graph Pattern
• Cho một tập dữ liệu đồ thị D, tìm đồ thị con g sao cho :

– Trong đó freq(g) là phần tram của các đồ thị trong D chứa g
• Ví dụ 1 về đồ thị con phổ biến
- Hợp chất hóa học:
(a)Cafeine (ca phê in) (b)diurobromine (c) Viagra
- Đồ thị con phổ biến trong các hợp chất trên là:
- ss
• Ví dụ 2 về đồ thị con phổ biến
- Các đồ thị biểu hiện mối quan hệ gọi hàm của một chương trình
- Ta có đồ thị con phổ biến sau: với độ hỗ trợ là 2

I.3) MỘ SỐ THUẬT TOÁN TRONG KHAI THÁC ĐỒ THỊ
5
Lê Ngọc Hiếu – CH1101012 – K6UIT –
Bài thu hoạch môn KHAI PHÁ DỮ LIỆU
– Tìm hiểu về GRAPH MINING
- Lập trình logic qui nạp (Inductive Logic Programming) : là phần giao giữa kỹ thuật lập trình logic và học
tập quy nạp, sử dụng kỹ thuật máy học & lập trình logic, áp dụng vào khai thác dữ liệu đồ thị.
- Các thuật toán dựa trên tính chất của đồ thị:
+ Cách tiếp cận dựa vào thuật toán Apriori: tìm ra tập phổ biến nhất
_ AGM/AcGM: tác giả Inokuchi, (năm 2000)
_ FSG: tác giả Kuramochi & Karypis (ICDM năm 2001)
_ PATH :tác giảVanetik và Gudes ( ICDM 2002, 2004)
_ FFSM: tác giảHuan (ICDM 2003) và SPIN: tác giảHuan (KDD 2004)
_ FTOSM:tác giả Horvath (KDD 2006)
+ Cách tiếp cận dựa vào độ lớn của mẫu (đồ thị mẫu)
_ Subdue: tác giảHolder (KDD 1994)
_ MoFa:tác giả Borgelt và Berthold (ICDM 2002)
_ gSpan:tác giả Yan and Han (ICDM 2002)
_ Gaston:tác giả Nijssen và Kok (KDD 2004)
_ CMTreeMiner:tác giả Chi (TKDE 205), LEAP:tác giả Yan (SIGNMOD 2008)
CHƯƠNG II: CÁC THUẬT TOÁN VỀ KHAI THÁC ĐỒ THỊ
II.1) THUẬT TOÁN APRIORI
1. Nguyên lý:
- Nếu một đồ thị là phổ biến, thì tất cả các đồ thị con của nó cũng là phổ biến.
2. Các đặc trưng của thuật toán Apriori
- Thuật toán này có 2 bước chính:
o Bước gia nhập (Join): tạo ra tập các ứng viên đồ thị con
o Bước loại bỏ (Prune): kiểm tra tính phổ biến của từng ứng viên đồ thị con
6
Lê Ngọc Hiếu – CH1101012 – K6UIT –

Bài thu hoạch môn KHAI PHÁ DỮ LIỆU
– Tìm hiểu về GRAPH MINING
- Hầu hết tập trung ở bước đầu, cố gắng tối ưu hóa ở bước đầu tiên, từ đó bước 2 sẽ tìm được đồ thị
con đẳng cấu.
- Các biến sư dụng biểu diễn kích thức của đồ thị con: Đỉnh (Vertices), Cạnh (Edges), Trọng số cạnh
(path-number)…
- Trình tự chạy của thuật toán:
- thuật toán AGM (tác giả Inokuchi): Độ lớn của đồ thị là số đỉnh (#vertices)
- thuật toán FSG (tác giả Karypis): Độ lớn của đồ thị là số cạnh (#edges)
o Dựa vào số cạnh mà sinh ra các ứng viên: tăng kích thước đồ thị con lên 1 sau 1 lần lặp.
o Bước tham gia (Join) hai đồ thị con cùng kích thước k được nhập vào khi và chỉ khi chúng có
chung lõi kích thước k-1.
- thuật toán PATH (tác giả Venetik): Độ lớn của đồ thị là số [path number] (là số cạnh tối thiểu phân
chia đường dẫn vào đồ thị có thể được phân tách)
- Tuy nhiên, ở bước gia nhập (Join) sinh ra các ứng viên khá phức tạp & chi phí cao, tiêu hao nhiều
bộ nhớ ( nếu sử dụng BFS); Đồng thời ở bước loại bỏ cũng nhiều khuyết điểm, không hiệu quả khi
thực hiện kiểm tra tính đẳng cấu của đồ thị con. Từ đó người ta đưa ra thuật toán dựa trên tiếp cận
tăng trưởng mẫu (Pattern-Growth)
3. Phân tích thuật toán:
- Chi phí của thuật toán:
7
Lê Ngọc Hiếu – CH1101012 – K6UIT –
Lõi
Bài thu hoạch môn KHAI PHÁ DỮ LIỆU
– Tìm hiểu về GRAPH MINING
II.2) THUẬT TOÁN TĂNG TRƯỞNG MẪU (PATTERN GROWTH)
1) Ý tưởng cơ bản:
- Để tránh sự phức tạp trong bước gia nhập (Join) ở thuật toán Apriori
- Kéo dài & mở rộng trực tiếp các mẫu bằng cách thêm vào cạnh mới e và ứng viên mới được sinh ra
g+

x
e:
o Nếu e là một cạnh hướng ra, nối với đỉnh x mới thì có giá trị f
o ngược lại sẽ có giá trị là b, có nghĩa là cạnh lui lại.
- Đệ quy kéo dài & mở rộng mẫu phổ biến g cho đến khi đồ thị phổ biến chứa g không còn được tìm
thấy ( tức là duy nhất).
2) Framework:
- Đầu vào: g là đồ thị con phổ biến, D là tập dữ liệu đồ thị, σ là độ hỗ trợ và S là tập các đồ thị con
phổ biến.
- Thuật toán:
o Lặp lại bước kiểm tra:
if (g đã có trong S)
return;
else
Thêm g vào S;
o Bước mở rộng:
Tìm tất cả các cạnh e trong tập dữ liệu sao cho
Tập g có thể mở rộng thành g+
x
e
o Bước loại bỏ:
For each (tập phổ biến g+
x
e)
Gọi đệ quy Pattern-Growth(g+
x
e,D, σ,S);
o Return:
3) Nhược điểm: ở bước mở rộng là bước kém hiệu quả vì:
- Với những đồ thị giống nhau sẽ được chạy nhiều lần:

o Ví dụ: đồ thị có cùng số cạnh là n sẽ được tìm thấy từ n đồ thị có n-1 cạnh.
- Việc lặp đi lặp lại sinh ra & trùng lắp các bước kiểm tra sẽ làm tốn bộ nhớ, tài nguyên & thời gian
của thuật toán.
4) Thuật toán gSpan:
8
Lê Ngọc Hiếu – CH1101012 – K6UIT –
Bài thu hoạch môn KHAI PHÁ DỮ LIỆU
– Tìm hiểu về GRAPH MINING
- Sử dụng DFS để duyệt đồ thị
- DFS: duyệt theo trình tự các đỉnh đi qua trong cây DFS.
- Ý tưởng chủ đạo:
o Rút gọn việc mở rộng bằng cách cho phép mở rộng chỉ một số hướng nhất định (Đường đi
chủ yếu)
o Một cạnh mới từ hướng đi chính ( chủ yếu) từ đỉnh V
n
tới bất kỳ đỉnh trong đường đi chủ
yếu đó.
o (Hoặc là) Mỏ ra một đỉnh và nối tới bất kỳ đỉnh nào để tạo ra đường đi chủ yếu.
o Vấn đề: Có nhiều cây DFS tồn tại cho đồ thị và sẽ dẫn đến việc trùng lắp
o Giải pháp: chọn một trong số đồ thị trùng lắp đó làm chính, và mở rộng theo hướng chủ đạo
( theo đường đi chủ yếu).
- Cây từ điển tìm kiếm DFS: (DFS Lexicographic search tree)
5) Vấn đề mở rộng đồ thị mẫu – Khai thác đồ thị phổ biến gần nhất
- Thuật toán Apriori nói rằng: nếu một đồ thị là phổ biến thì tất cả đồ thị con cũng là phổ biến.
- Một đồ thị n- Cạnh là phổ biến sẽ có 2
n
đồ thị con phổ biến.
- Ví dụ: Trong số 423 hợp chất hóa học được xác nhận là hoạt tính đối với AIDS trong tập dữ liệu, thì
có 1 triệu đồ thị mẫu phổ biến mà độ hỗ trợ của nó ít nhất là 5%.
- Từ đó ta đưa ra việc khai thác đồ thị con phổ biến gần nhất.

- Đồ thị phổ biến gần nhất:
9
Lê Ngọc Hiếu – CH1101012 – K6UIT –
Đườngđichủyếu
Nhánhbêntráiluônnhỏhơnnhánhbênphải
Bài thu hoạch môn KHAI PHÁ DỮ LIỆU
– Tìm hiểu về GRAPH MINING
o MỘt đồ thị phổ biến G là gần nhất nếu không tồn tại siêu đồ thị của G mà có độ hỗ trợ
giống G.
o MỘt tập các đồ thị con phổ biến gần nhất có sức mạnh giống nhau giống như tổng số của
tất cả các tập con phổ biến
o Torng dữ liệu chống lại virus AIDS có 1 triệu tập con phổ biến, nhưng chỉ có 2000 tập là gần
nhất.
- Ưu điểm của đồ thị phổ biến gần nhất:
o Một số tập đồ thị phổ biến gần nhất ở xa sẽ ít hơn tổng số đồ thị phổ biến.
o Ta có thể thay thế các đồ thị phổ biến bằng tính năng tương ứng trong các ứng dụng.
- Đồ thị gần (Close graph)
o Hiệu quả cho thuật toán tăng trưởng mẫu để khai thác tập CFG.
o Mở rộng tập mẫu đơn giản hơn với thuật toán gSpan.
- Giải quyết các vụ án khó:
6) Thuật toán SUBDUE:
- Bắt đầu với một đỉnh đơn
- Mở rộng cấu trúc con tốt nhất với một cạnh mới
- Giới hạn số cấu trúc con tốt nhất.
o Cấu trúc con được đánh giá dựa trên khả năng của nó có thể nén tải đầu vào của đồ thị
( graph inputs)
o Sử dụng chiều dài ngắn nhất để mô tả (DL)
o Cấu trúc con tốt nhất S trong đồ thị G tối thiểu hóa: DL(S) + DL(G\S);
- Ngừng khi nào không có cấu trúc con nào được tìm thấy.
10

Lê Ngọc Hiếu – CH1101012 – K6UIT –
Bài thu hoạch môn KHAI PHÁ DỮ LIỆU
– Tìm hiểu về GRAPH MINING
- Ưu điểm:
o Thực hiện mang tính chất tương đối, không chính xác, cho phép có nhiều cấu trúc khác
nhau.
o Giảm số mẫu đồ thị con phổ biến .
- Ứng dụng:
o Cấu trúc phân nhóm của các cụm chưa rõ rang
o Nén đồ thị
o Học ngữ pháp đồ thị ( Graph grammar learning)
7) Khai thác mẫu đồ thị tối đại (Maximal Graph Pattern Mining)
- Lớp tương đương dựa trên cây
o Cây được sắp xếp theo một thứ tự nhất định
o Đồ thị sẽ nằm trong cùng lớp tương đương nếu chúng có chung thứ tự cây.
- Địa phương tối đại ( vùng tối đại – locally maximal)
o Một đồ thị con g là tối đại địa phương nếu nó là tối đại trong lớp tương tương của nó. Ví dụ
như g không có đồ thị lớn hơn phổ biến, cùng sử dụng chung thứ tự cây giống như g.
o Mọi đồ thị mẫu tối đại phải là tối đại địa phương
o Loại bỏ các đồ thị con không phải là tối đại địa phương.
II.3) ĐẶC ĐIỂM CỦA THUẬT TOÁN KHAI THÁC ĐỒ THỊ
1) Trình tự tìm kiếm:
- Cũng giống như trong các thuật toán của đồ thị, ta có trình tự duyệt đồ thị theo chiều sâu & theo
chiều rộng. BFS & DFS
- Duyệt toàn bộ & không toàn bộ.
11
Lê Ngọc Hiếu – CH1101012 – K6UIT –
Cấutrúcphânnhómcủamột
Phântử DNA
Bài thu hoạch môn KHAI PHÁ DỮ LIỆU

– Tìm hiểu về GRAPH MINING
2) Các thế hệ thuật toán khai thác đồ thị
3) Thứ tự khám phá mẫu ( Order)
- Mở rộng tự do:
- Mở rộng theo hướng chính ( hướng chủ yếu):
12
Lê Ngọc Hiếu – CH1101012 – K6UIT –
Bài thu hoạch môn KHAI PHÁ DỮ LIỆU
– Tìm hiểu về GRAPH MINING
4) Khai thác đồ thị con chặt chẽ (Coherent Subgraph)
- Động cơ:
o Để giải quyết thiệt hại gây ra do tính đa chiều, mà vẫn giữ nguyên tính năng tìm kiếm mẫu
phổ biến.
o Ý tưởng cơ bản: loại bỏ các tính năng dư thừa mà không cung cấp thêm bất kỳ thong tin
nào.
- Một đồ thị G được xem là chặt chẽ nếu những thông tin giữa G và giữa từng đồ thị con của nó phải
nằm trong ngưỡng ( nói cách khác G có mối tương quan chặt chẽ với tất cả đồ thị con của nó)
- Thông tin giữa một đồ thị G và đồ thị con G’ của nó được cho bởi cthức:
- P(X
G
,X
G’
) là phân phối chung.
- P(X
G
=1) = support(G)
- Giống như thuật toán gSpan nhưng loại bỏ các tập ứng viên sẽ hoàn tất dựa trên thông tin chung
lẫn nhau.
5) Khai thác đồ thị con dày đặc (Dense Subgraph)
- Đồ thị quan hệ: Tất cả các node có duy nhất 1 nhãn vd như mô hình mạng xã hội, mạng sinh học.

- Vấn đề là khai thác sự dày đặc hay phổ biến cao nhất với các đồ thị con từ các đồ thị quan hệ.
o Khai thác dữ liệu từ mạng lưới xã hội
o Tập các gene có cùng chức năng thường được sắp xếp theo một trật tự sinh học nhất định.
- Giống như đang khai thác giá trị trung bình của một đỉnh nào đó
- Tập các cạnh khi loại bỏ đi làm cho đồ thị không lien thong, gọi là cạnh cắt.
- Cắt ít nhất là số cạnh loại bỏ đi ít nhất
- MỘt tập được gọi là dày đặc khi kích thức của tập cắt không nhỏ hơn một ngưỡng cho trước.
- Bước phân rã: (Decompose)
o Phân rã các đồ thị quan hệ để tìm đồ thị con tối đại thỏa các kết nối khắt khe nhất.
- Bước giao lại: (intersection)
o Giao các đồ thị đã phân rã để lấy ra đồ thị lien thong đầy đủ ( tăng dần)
o Sau khi giao lại thành đồ thị mới mà không thỏa các kết nối khắt khe nhất thỉ tiếp tục phân
rã nó để lấy ra ứng viên có kích thước nhỏ nhất.
6) Tìm kiếm đồ thị - Graph index
- Vấn đề: Cho cơ sở dữ liệu đồ thị và đồ thị truy vấn (query graph), chúng ta cần phải tìm ra tất cả
đồ thị nằm trong đồ thị truy vấn.
- Giải pháp từ Naïve
o Tuần tự quét (đĩa I/O)
13
Lê Ngọc Hiếu – CH1101012 – K6UIT –
Cơsởdữliệu
Đồthị
Bài thu hoạch môn KHAI PHÁ DỮ LIỆU
– Tìm hiểu về GRAPH MINING
o Kiểm tra đồ thị con đẳng cấu (NP-Complete)
- Vấn đề là: khả năng mở rộng là rất khó
- Số đồ thị là cấp số nhân của số cấu trúc con, xay dựng index ( thứ tự) cho các đồ thị con sẽ dẩn
đến một lượng khổng lồ số thứ tự các thực thể.
- Trực giác: nếu đồ thị G chứ đồ thị truy vấn Q, thì G nên chắc sẽ chứa bất kỳ cấu trúc nào của Q
o Bước 1: xây dựng thứ tự (index)

 Liệt kê các cấu trúc khác nhau của đồ thị
 Xây dựng số thứ tự ngược giữa đồ thị và cấu trúc
o Bước 2: Quá trình truy vấn
 Liệt kê cấu trúc trong đồ thị truy vấn
 Tính toán số đồ thị ứng viên chứa các cấu trúc trên
 Loại bỏ trường hợp sai- dương tính bằng cách kiểm tra đồ thị đẳng cấu.
- Tiếp cận dựa trên thứ tự có hướng chính (Path-based)
o Daylight ( Hệ thống thương mại)
o GraphGrep: tác giả Shaha
o Grace: tác giả Srinath Srinivasan
- Ý tưởng cơ bản của thứ tự đồ thị & tìm kiếm:
o Liệt kê tất cả các đường dẫn trong cơ sở dữ liệu, dẫn tới con đường dài nhất ( hoặc một
ngưỡng cho trước)
o Xây dựng số thứ tự đảo nghịch giữa đường & đồ thị
o Sử dụng số thứ tự để định danh( nhận dạng) các đồ thị ứng viên mà chứa tất cả các đường
dẫn, dẫn tới con đường dài nhất trong đồ thị truy vấn.
- Ưu điểm:
o Đường dẫn dễ dàng hơn so với cây & đồ thị
o Làm việc với vùng có đường dẫn rõ ràng rất hiệu quả
- Hạn chế:
o Có thể dẫn tới trường hợp không có kết quả
o Không phù hợp khi truy vấn đồ thị phức tạp
- Sử dụng thuật toán gIndex:
o Ý tưởng:
 Tìm cấu trúc phổ biến của cơ sở dữ liệu
 Nhận diện một tập nhỏ các cấu trúc khác biệt
 Xây dựng số thứ tự đảo ngươc giữa cấu trúc khác biệt & các đồ thị
o Trực giác:
14
Lê Ngọc Hiếu – CH1101012 – K6UIT –

Bài thu hoạch môn KHAI PHÁ DỮ LIỆU
– Tìm hiểu về GRAPH MINING
 Chúng ta có lẽ sẽ không lấy ra các cấu trúc dư thừa bởi số thứ tự
 Chỉ đánh số thứ tự cho những cấu trúc có thong tin nhiều hơn so với cấu trúc tồn tại.
o Cấu trúc khác biệt:

( )
.,,,
21
xffffxP
in


Cho một tập các cấu trúc
f
1
, f
2
, …,f
n
và một cấu trúc mới x, ta
đo lường khả năng dư thừ số thứ tự được cho bởi x:
 Khi P nhỏ vửa đủ, x sẽ là cấu trúc khác biệt và có thể chứa số thứ tư.
 Thứ tự của các tập cấu trúc khác biệt sẽ là thứ tự của độ lớn ít hơn số thứ tự của tập
cấu trúc phổ biến.
7) Tìm kiếm cấu trúc con tương tự:
- Động cơ:
o Tìm kiếm chính xác là quá khó đối với đồ thị, như cấu trúc phân tử, sinh học…
o Tìm kiếm tương tự ( tương đối) là rất cần thiết & quan trọng.
- Tìm kiếm tương đối:

o Khó mà xây dựng thứ tự bao gồm các đồ thị con tương tự.
o Ý tưởng cơ bản:
 Xây dựng số thứ tự trước hết
 Chọn lựa ra những tính năng trong không gian truy vấn thay vì đó là không gian cơ
sở dữ liệu.
- Đo lường độ tương tự :
o Mỗi đồ thị được biểu thị bời một vector chức năng
o Sự tương tự sẽ được định nghĩa như khoảng cách giữa các vector
o Dễ dàng thứ tự hóa, nhanh
- Đơn giản hóa truy vấn
o Số cạnh có thể được bỏ qua, không phân biệt vị trí của chúng.
CHƯƠNG III: PHÂN LỚP ĐỒ THỊ - GRAPH CLASSIFICATION
III.1) TIẾP CẬN DỰA TRÊN CẤU TRÚC (Structure)
- Ý tưởng cơ bản:
o Chuyển các đồ thi trong cơ sở dữ liệu sang một véctơ.
o Khi x
i
là phổ biến của cấu trúc thứ I (hay mẫu thứ i) trong
G
. Mỗi vector được đánh dấu bởi
một lớp. Phân lớp các vecto này trong không gian vector.
- Tính năng cấu trúc:
o Cấu trúc địa phương trong một đồ thị, ví dụ như những cạnh xung quanh một điểm, đường
với độ dài cố định.
III.2) TIẾP CẬN DỰA TRÊN MẪU (PATTERN).
1) Phân lớp dựa vào đồ thị mẫu trong khai thác dữ liệu:
- Dựa vào thuật toán chuỗi mẫu (Sequence patterns – tác giả De Raedt và Kramer)
- Dựa vào thuật toán đồ thị con phổ biến
15
Lê Ngọc Hiếu – CH1101012 – K6UIT –

Bài thu hoạch môn KHAI PHÁ DỮ LIỆU
– Tìm hiểu về GRAPH MINING
- Dựa vào thuật toán đồ thị con phổ biến chặt chẽ.
- Dựa vào thuật toán đồ thị con phổ biến gần nhất
- Đồ thị con có vòng hở - Acyclic Subgraphs ( tác giả Wale and Karpis 2006)
2) Phân lớp dựa trên cây quyết định
- Ý tưởng cơ bản:
o Phân chia dữ liệu theo cấu trúc trên xuống, và xây dựng cây sử dụng tính năng tốt nhất ở
từng bước.
o Phân chia tập dữ liệu thành hai tập con, một chứa tính năng hỗ trợ, còn lại ko chứa.
3) Phân lớp theo thuật toán Boosting
III.3)TIẾP CẬN DỰA TRÊN NHÂN (KERNEL).
- Động cơ:
o Phương pháp học dựa trên nhân không cần truy cập tới các điểm dữ liệu chính xác. Mà chỉ
dựa vào các hàm trong nhân giữa các điểm dữ liệu.
o Có thể ứng dụng vào các cấu trúc phức tạp mà bạn có thể tự định nghĩa các hàm trên nhân
đó.
16
Lê Ngọc Hiếu – CH1101012 – K6UIT –
14
16
24
25
26
34
35
36
Bài thu hoạch môn KHAI PHÁ DỮ LIỆU
– Tìm hiểu về GRAPH MINING
- Ý tưởng cơ bản:

o Ánh xạ các đồ thị tương ứng tới tập ý nghĩa của các mẫu
o Định nghĩa nhân trong các tập tương ứng của mẫu
- Đường tiếp cận (walk) ngẫu nhiên với nhân (Gartner et al., Borgwardt et al., Inokuchi et al.)
o Ý tưởng cơ bản: đếm số đường tiếp cận (walk) giữa 2 đồ thị
- Một vài điều cơ bản
o Ma trận kề: A [i,j] = 1 nếu có một cạnh giữa cạnh i và j. ngược lại là 0;
o Chuyển vị: A’ = D
-1
A
- Từ một điểm bất kỳ i ngẫu nhiên nhảy tới điểm liền kề j.
- Xác xuất nhảy tới j là tỷ lệ thuận với A’ [i,j]
- Đường tiếp cận ngẫu nhiên:
o Chiêu dài đường tiếp cận (walk) là n
 Đi vào An = độ dài của n đường tiếp cận
 Đi vào A’n = xác suất của n đường tiếp cận
o So sánh đồ thị
 Có vẻ đếm số đường tiếp cận phù hợp với 2 đồ thị
 Hai đồ thị tương đương bếu có nhiềi đường tiếp cận tương đương
 Giảm những con đường tiếp cận dài hơn, cẩn thận với vòng kín.
• Phân lớp đồ thị ứng dụng vào debug trong lập trình
17
Lê Ngọc Hiếu – CH1101012 – K6UIT –
Bài thu hoạch môn KHAI PHÁ DỮ LIỆU
– Tìm hiểu về GRAPH MINING
• Phân lớp đồ thị ứng dụng vào mạng Malware
CHƯƠNG IV: NÉN ĐỒ
THỊ - GRAPH COMPRESSION
18
Lê Ngọc Hiếu – CH1101012 – K6UIT –
Bài thu hoạch môn KHAI PHÁ DỮ LIỆU

– Tìm hiểu về GRAPH MINING
CHƯƠNG
V: ỨNG DỤNG KHAI THÁC ĐỒ THỊ VÀO QUẢN LÝ ĐỘ TIN CẬY
TRÊN MẠNG
V.1 – MỘT SỐ KÝ HIỆU
• G = (V, E) : đồ thị
• V: tập của N đỉnh
• E _ VxV : tập các cạnh có định hướng hoặc không định hướng
• N(u) = {v|(u, v) 2 E}: xung quanh u
• d(u) = |N(u)|: Bậc của u
V.2 – CÁC SỐ LIỆU LIÊN QUAN
1)
Phân bố bậc:
- Ck = |{u : d(u) = k}|: số đỉnh có cùng bậc (+/-) k.
Ta có:
với hay
- Nối với cho ta đường thẳng với độ dốc
2)
Biểu đồ Internet [Faloutsos 1999]
19
Lê Ngọc Hiếu – CH1101012 – K6UIT –
Bài thu hoạch môn KHAI PHÁ DỮ LIỆU
– Tìm hiểu về GRAPH MINING
3)
Bậc vào của đồ thị web:
[
4) Bậc ra của đồ thị web 
20
Lê Ngọc Hiếu – CH1101012 – K6UIT –
Bài thu hoạch môn KHAI PHÁ DỮ LIỆU

– Tìm hiểu về GRAPH MINING
5)
Một số bậc khác có liên quan:
- Cạnh 2 chiều: Tỷ lệ phần trăm các cạnh có liên kết 2 chiều
- Bậc / Bậc trung bình của các Đỉnh lân cận (đỉnh kề).
- Bậc ra trung bình của các đỉnh lân cận (đỉnh kề)
- Bậc vào trung bình của các đỉnh lân cận(đỉnh kề).
6)
Tính toán số bậc cho đỉnh kề có kích thước d:


  ! "# $%&%&'(
)
*+, -
.+,/0-
1+
23&45!%'+(
6
7
38&"# $%

43!4832%
)9
7)
Tính số bậc trung bình của các đỉnh kề


5&%:'(;
)
*+, -

.+,/0-
21
Lê Ngọc Hiếu – CH1101012 – K6UIT –
Bài thu hoạch môn KHAI PHÁ DỮ LIỆU
– Tìm hiểu về GRAPH MINING
1+
5&%:'+(;5&%:'+(<%:'(
6
7

"=:%:'(;5&%:'(>%:'(

)
*9"=:%:
8)
Số đỉnh đặc trưng với khoảng cách là d:
:?@AB?
2CD/+EAFG9HIAJ9AK9LDM?+CN
:?@OPQ'(RS
!CTUV+W9X@&IAJ9Y+VFX+@++C+E?+@+LZ
!CTUV<SNIAJ9[\+?+@+X+C+E?+@+ +W\+?+@+
AJK+W9
=\AK+T3'(]+FAJ
9)
Xác suất đếm:
Ứng dụng tính toán số đỉnh đặc trưng có khoảng cách d.
Thực hiện đồng thời cho tất cả các đỉnh có lặp đi lặp lại d
Tại mỗi bước một bit vector là lan truyền sang tất cả các đỉnh kề.
Tại mỗi bước tổng hợp lại : OR với tất cả vectors nhận được từ các đỉnh kề.
Thực hiện với bit vector có kích thước logarit.

22
Lê Ngọc Hiếu – CH1101012 – K6UIT –
Bài thu hoạch môn KHAI PHÁ DỮ LIỆU
– Tìm hiểu về GRAPH MINING
10)
Thuật toán chung
Require: N: number of nodes, d: distance, k: bits
1: for node : 1 . . . N, bit: 1 . . . k do
2: INIT(node,bit)
3: end for
4: for distance : 1 . . . d do {Iteration step}
5: Aux 0k
6: for src : 1 . . . N do {Follow links in the graph}
7: for all links from src to dest do
8: Aux[src] Aux[src] OR K[dest,·]
9: end for
10: end for
11: K Aux
12: end for
13: for node: 1 . . .N do {Estimate supporters}
14: Supporters[node] ESTIMATE( K[node,·] )
15: end for
16: return Supporters
- Khởi tạo ban đầu giá trị bit là 1 (one) cho tất cả các đỉnh với xác suất là
-
23
Lê Ngọc Hiếu – CH1101012 – K6UIT –
Bài thu hoạch môn KHAI PHÁ DỮ LIỆU
– Tìm hiểu về GRAPH MINING
- Ước lượng:

- Dự đoán
o khi
o Lập lại với và ones
11)
Hội tụ và sai:
- Thuật toán sẽ lặp lần
V.3 – CẤU TRÚC CỤM TOÀN CẦU – CLUSTERING STRUCTURE
1) Cấu trúc cluster toàn cầu – địa phương:
- Hệ số bắc cầu của đồ thị G:
xác suất mà một cặp ngẫu nhiên của các đỉnh liền kề nối với nhau.
2) Hệ số cluster:
- hệ số cluster của một đỉnh v:
xác suất mà một cặp ngẫu nhiên của các đỉnh liền kề nối với nhau.
- Hệ số cluster C
G
cùa đồ thị G là hệ số trung bình của các đỉnh
3) Đếm số tam giác:
- Tính toán chính xác để giảm thiểu nhân ma trận: điều này không khả thi ngay cả khi mạng đang
khảo sát là mạng trung bình
- Sắp xếp ngẫu nhiên các mẫu trong mô hình dòng hở, và bán dòng
Có 2 mô hình sau:
24
Lê Ngọc Hiếu – CH1101012 – K6UIT –
Bài thu hoạch môn KHAI PHÁ DỮ LIỆU
– Tìm hiểu về GRAPH MINING
_ Các Cạnh được lưu theo một trật tự bất kỳ
_ Cạnh có trật tự: tất cả các cạnh chỉ về 1 đỉnh được lưu tuần tự:
4) Tính toán cưỡng bức
- Thuật toán cưỡng bức sẽ kiểm tra từng cụm 3 cạnh (triples)
- Ta có biểu diễn cho tập các cụm 3 cạnh có 0 , 1, 2 và 3 cạnh.

- Tổng số cụm 3 cạnh
-
5) Mẫu
Naive
- r: là số mẫu độc lập gồm 3 đỉnh riêng biệt (a,b,c) từ đồ thị
- Với mẫu thứ i, nếu (a,b,c) là tam giác thì xuất ra
Ngược lại xuất ra
-
- Ước lượng
Tối ưu hóa mẫu trong bán-dòng (semi-Streaming): thuật toán 3-pass [Buriol 2006]
- Pass 1: đếm số đường có độ dài là 2 trong dòng.
25
Lê Ngọc Hiếu – CH1101012 – K6UIT –

×