- Design features for nodes/links/graphs
- Obtain features for all training data
1. Train an ML model
Data point, node, link, graph ๋ฑ์ feature Vector๋ก ๋ณํํด ML model์ ํ์ต์ํจ๋ค
2. Apply the model
์๋ก์ด ์ ๋ ฅ์ด ๋ค์ด์ค๋ฉด feature Vector๋ฅผ ์ป๊ณ ๋ชจ๋ธ์ ํตํด ์์ธกํ๋ค.
Using effective features over graph !!
โ๏ธ Goal : ์ ๋ ฅ Set์ด ์ฃผ์ด์ก์ ๋ ์์ธก ๊ฐ์ ๋ง๋ค์ด๋ด๋ ๊ฒ
โ๏ธ Design choices
[] Features : d ์ฐจ์์ ๋ฒกํฐ
[] Objects : Nodes, Links, Sets of Nodes, Entire Graph
[] Objective : ์ฐ๋ฆฌ๊ฐ ํ๋ ค๊ณ ํ๋ task
Goal : Characterize the structure and position of a node in the network
โ๏ธ 1. Node degree (kv)
- kv = Node v์ degree
- kv = v๊ฐ ๊ฐ์ง๊ณ ์๋ Edge(Link)์ ์
โ๏ธ 2. Node centrality (cv)
- Node Degree๋ ์ด์ํ Node์ ๊ฐ์๋ง ์ ๋ฟ, ์ค์๋(importance)๋ฅผ caputureํ ์ ์๋ค.
- Node Centrality๋ Graph์์ ํด๋น Node v์ importance๋ฅผ ํฌํจํ๋ค
2-1. Engienvector centrality
- Node v๊ฐ Important ์ด์๋ ธ๋ u์ ๋๋ฌ์ธ์ฌ์์ ๋ v๋ Important ํ๋ค.
2-2. Betweenness centrality
- v๊ฐ ๋ค๋ฅธ ๋ ธ๋๋ค์ ์ฐ๊ฒฐํ๋ ์ต๋จ ๊ฒฝ๋ก์ ์์ ๋ Importantํ๋ค๊ณ ํ๋ค.
2-3. Closeness centrality
- v๊ฐ ๋ค๋ฅธ ๋ชจ๋ ๋ ธ๋์ ๋ํ ์ต๋จ ๊ฒฝ๋ก์ ๊ธธ์ด๊ฐ ์งง์ ๋ Important
โ๏ธ Clustering coefficient
- Node v์ ์ด์๋ค์ด ์ผ๋ง๋ ์ฐ๊ฒฐ๋์ด ์๋์ง๋ฅผ ์ธก์ ํ๋ ๊ฐ๋
โ๏ธ Graphlets
Connected(์๋ก ์ฐ๊ฒฐ๋์ด ์๋) induced non-isomorphic subgraphs
Goal : Node u์ ์ด์๊ตฌ์กฐ๋ฅผ ๊ธฐ์
- induced subgraph : ์ด๋ค ๋ ธ๋๋ค์ ์ ํํ์ ๋, ํด๋น ๋ ธ๋๋ค ์ฌ์ด์ ์ฐ๊ฒฐ๋ ๋ชจ๋ edge๋ค์ ํฌํจํ๋ subgraph
- graph isomorphism : ๋ ๊ทธ๋ํ๊ฐ ๊ฐ์ ๊ฐ์์ ๋ ธ๋๋ฅผ ๊ฐ์ง๊ณ ์๊ณ , ๋ ธ๋๋ค์ด ๋๊ฐ์ด ์ฐ๊ฒฐ๋์ด ์๋ ๊ฒ
์ธ๋ป ๋ณด๊ธฐ์ ๋ฌ๋ผ๋ณด์ด์ง๋ง ๋ ธ๋๋ฅผ ์ ๋งคํํ๋ฉด edge๊ด๊ณ๊ฐ ๊ฐ๊ธฐ ๋๋ฌธ์ isomorphism grph์ด๋ค.
โ๏ธ Graphlet Degree Vector(GDV)
= Node์ Graphelt-Based Feature
- Degree of Graphlet : ํน์ Node๊ฐ ํฌํจ๋ Graphlet์ ๊ฐ์ ๋ฒกํฐ
- Graph G์์ Node u๋ฅผ ํ๊น์ผ๋ก ์ ํ ์ํฉ
2. Graph G์์ ์ต๋ ๋ ธ๋๊ฐ 3๊ฐ์ธ Graphlet 3๊ฐ๋ฅผ ๋์ถํ ์ ์๋ค.
3. ๊ฐ Graphlet์ด G์์ u๋ฅผ ํฌํจํ ์ฑ๋ก ๋ช๋ฒ ๋ํ๋๋์ง count
4. Node u์ GDV๋ [2,1,0,2] ๊ฐ ๋๋ค.
a. Node Degree : ์ด์์ ๊ฐ์ count
b. Node Centrality : Graph์์์ ์ด์ ๋
ธ๋ ์ค์๋๋ฅผ ๋ชจ๋ธ๋ง
a. Node Degree : ์ด์์ ๊ฐ์ count
b. Clustering Coefficient : ์ด์์ด ์ด๋ป๊ฒ ์ฐ๊ฒฐ๋์ด ์๋์ง ์ธก์
c. Graphlet Count Vector : ์ฌ๋ฌ Graphlet๋ค์ด ์ถํํ๋ ๋น๋๋ฅผ count
โ๏ธ Link-Level Prediction Tast
์กด์ฌํ๋ Link๋ฅผ ๋ฐํ์ผ๋ก ์๋ก์ด Link๋ฅผ ์์ธกํ๋ ๊ฒ
- ๋๋คํ๊ฒ ์ฌ๋ผ์ง Link ์ฐพ๊ธฐ -> Staticํ Graph์ ์ ์
- ์๊ฐ์ด ํ๋ฆ์ ๋ฐ๋ผ ์๊ฒจ๋๋ Link ์ฐพ๊ธฐ -> Dynamicํ Graph์ ์ ์ ex) SNS
โ๏ธ Features
Distance-Based : ๋ Node๊ฐ ์ต๋จ ๊ฒฝ๋ก์ ๊ฑฐ๋ฆฌ
๋จ์ : neighborhood overlap์ ์ ๋ณด๋ ์ฌ์ฉ๋์ง ์๋๋ค.Local Neighborhood Overlap : ๋ Node๊ฐ ๊ณต์ ํ๋ ์ด์์ ์
Global Neighborhood Overlap : ๋ Node๋ฅผ ์๋ ๋ชจ๋ ๊ธธ์ ๊ฒฝ๋ก ๊ฐ์คํฉ
-> ์ ์ฒด ๊ทธ๋ํ๋ฅผ ๊ณ ๋ คํ์ฌ local neighborhood overlap์ ๋จ์ ์ ๊ทน๋ณตํ๋ค
โ๏ธ Features
Graphlet Kernel
Bag-of-Graphlets๋ก feature vector์ ๋ง๋ ํ kernel์ ๊ณ์ฐํ๋ค
๋จ์ : graphlet์ countํ๋ ๊ฒ์ด ๋น์ธ๊ณ , ๋นํจ์จ์ ์ด๋ค.
Weisfeiler-Lehman(WL) Kernel
์ฅ์ : efficient, ์ ์ฒด ์๊ฐ ๋ณต์ก๋ O(# of edges) / GNN๊ณผ ๊ด๋ จ์ด ํฌ๋ค- [ Color Refienment ] : After K steps of color refinement, the structure of K-hop neighborhood is summarized
๋น์ทํ Graph ๋๊ฐ (G1,G2)๊ฐ ์ฃผ์ด์ ธ์๋ค.
- ๋์ผํ Initial Color๋ฅผ ๋ชจ๋ Node์ ํ ๋น
- ์ด์๋ ธ๋์ ์์ Aggregate ํด์ค๋ค
- Aggregate๋ color๋ฅผ Hash ํ๋ค
- ์ด์๋ ธ๋ ์์ Aggregate ํ๋ค
- Aggregate๋ color๋ฅผ Hash ํ๋ค
- Color Fefinement๊ฐ ๋๋๋ฉด WL Kernel์ด ๊ฐ Color๊ฐ ๋ฑ์ฅํ ํ์๋ฅผ countํ๋ค
- Color Count Vector๋ฅผ ๋ด์ ํ์ฌ WL Kernel์ ๊ฒฐ๊ณผ๊ฐ์ ๊ตฌํ๋ค
https://www.youtube.com/watch?v=3IS7UhNMQ3U&list=PLoROMvodv4rPLKxIpqhjhPgdQy7imNkDn&index=4