1๏ธโฃ 5๊ฐ ๋ณต์ต
๐นMain Topic : Node classification
• ๋ช๊ฐ์ ๋ ธ๋์ ๋ ์ด๋ธ์ด ์ฃผ์ด์ง ๋, ๋ค๋ฅธ ๋ชจ๋ ๋ ธ๋์ ๋ ์ด๋ธ์ ์์ธกํ๋ node classification Task
๐ Semi supervised node classification : ๋ผ๋ฒจ๋ง๋ ๋ ธ๋์ ๊ทธ๋ ์ง ์์ ๋ ธ๋๋ฅผ ๋์์ ์ฌ์ฉํ๋ ๋ถ๋ฅ๋ฌธ์
• Message Passing ๋ฐฉ๋ฒ์ ํตํด ๋ ธ๋ ๊ฐ์ correlation (dependencies) ์ ๊ฐ์ ํ์ฌ ๋ ์ด๋ธ์ ์์ธกํ๋ค.
• correlation : ๋น์ทํ ๋ ธ๋๋ ์ง์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด ์๊ฑฐ๋ ๊ทผ์ ํ ์์น์ ์กด์ฌํ๋ค๋ ์๋ฏธ๋ก, ์ฃผ๋ณ ๋ ธ๋๊ฐ ๊ฐ์ ๋ ์ด๋ธ์ ์ํ ๋ ์๊ด๊ด๊ณ๊ฐ ์กด์ฌํ๋ค๊ณ ๋งํ ์ ์๋ค.
• Applications : ๋ฌธ์ ๋ถ๋ฅ, ํ์ฌํ๊น , link prediction, OCR, 3D data segmentation, fraud detection
๐น Overview of collective classification
• ๋ถ๋ฅ๋ฅผ ์ํด ์ฌ์ฉํ๋ ๋คํธ์ํฌ ์ ๋ณด
โช Features of node v
โช Labels of the nodes in v's neighborhood
โช Features of the nodes in v's neighborhood
• Markov Assumtion
โช ๋ ธ๋ ๋ ์ด๋ธ์ ์ฃผ๋ณ ๋ ธ๋์ ๋ ์ด๋ธ์๋ง ์ํฅ์ ๋ฐ๋๋ค.
• 3 step
โช Local Classifier : Initial label assignment. ๋ ธ๋ ํผ์ฒ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ ์ด๋ธ์ ์ด๊ธฐํ ํ๋ค.
โช Relational Classifier : Capture correlations. ์ด์ ๋ ธ๋์ ํผ์ฒ์ ๋ผ๋ฒจ ์ ๋ณด๋ก ๋ ธ๋ ๊ฐ ์๊ด๊ด๊ณ๋ฅผ ํ์ ํ๋ค.
โช Collective Inference : Propagate the correlations. ์๊ด๊ด๊ณ๋ฅผ ๋คํธ์ํฌ์ ์ ํํ๋ค.
๐น Relational classification
• v ์ ์ด์๋ ธ๋๋ค์ ํด๋์ค ํ๋ฅ (class probability Yv) ๋ค์ ๊ฐ์คํ๊ท ์ผ๋ก v ๋ ธ๋์ ํด๋์ค ํ๋ฅ ์ ๊ตฌํ๋ค.
• ๋ ์ด๋ธ์ด ๋์ง ์์ ๋ ธ๋๋ Yv ๋ฅผ 0.5๋ก ์ด๊ธฐํํ๋ค.
• For each node v and label c : ๋ ธ๋ v ๊ฐ class c ๋ก ํ ๋น ๋ ํ๋ฅ
• Update ์์
๐น Iterative classification
• Relational classifier ๋ ๋ ธ๋์ ๋ผ๋ฒจ๊ณผ ์ฃ์ง์ ๊ฐ์ ์ ๋ณด๋ง์ ํ์ฉํ๋ฉฐ, ๋ ธ๋์ ์์ฑ (attributes, features) ๋ ์ฌ์ฉํ์ง ์๋๋ค.
• Iterative classification ์ ๋ ธ๋์ feature ์ ๋ณด f(v) ์ ์ด์ ๋ ธ๋์ ๋ผ๋ฒจ z(v) ์ ๊ธฐ๋ฐ์ผ๋ก ํด์ ๋ ธ๋๋ฅผ ๋ถ๋ฅํ๋ค ๐ Train Two classifiers
• ์์
(1) Train classifier
(2) Apply classifier to test
(3) Iterate
1. update relational features z(v)
2. update label Yv
๐น Belief propagation
• ๋์ ํ๋ก๊ทธ๋๋ฐ (dynamic programming) ์ ๊ทผ๋ฒ์ ์ฌ์ฉํ์ฌ ํน์ ํด๋์ค์ ์ํ ํ๋ฅ ๊ฐ์ ๊ตฌํ๋ ์ ๊ทผ ๋ฐฉ๋ฒ์ผ๋ก, ๋ฐ๋ณต์ ์ผ๋ก ์ด์๋ ธ๋์ talk ํ๋ฉด์ message ๋ฅผ passing ํ๋ค.
• Message Passing Algorithm
(1) ๋ ธ๋์ ์์๋ฅผ ์ ์
(2) ์ฃ์ง์ ๋ฐฉํฅ์ ์ ์
(3) ์ด์ ๋ ธ๋๋ก๋ถํฐ ๋ฉ์์ง๋ฅผ ์ ๋ฌ๋ฐ๊ณ ํ์ฌ ๋ ธ๋์์ ๋ฉ์์ง๋ฅผ ์ ๋ฐ์ดํธ ํ์ฌ ์์ ๋ ธ๋๋ก ์ ๋ฌ
• message passing ์ path graph (์ผ๋ฐฉํฅ ๊ทธ๋ํ ๋ชจ์) ๋ฟ ์๋๋ผ ํธ๋ฆฌ ๊ตฌ์กฐ์๋ ์ ์ฉ์ด ๊ฐ๋ฅํ๋ค.
• Loopy BP algorithm
(1) ๋ ธ๋ i ๊ฐ ์ด์๋ค๋ก๋ถํฐ beliefs ๋ฅผ ์์งํ๊ณ
(2) node i ๊ฐ Y_i ๋ ์ด๋ธ์ ๊ฐ์ง ํ๋ฅ ์ ๊ณฑํ๊ณ
(3) i ์ ๋ ์ด๋ธ์ด ์ผ๋ง๋ ์ด์ ๋ ธ๋ j ์ ๋ ์ด๋ธ์ ์ํฅ์ ๋ฏธ์น ์ง, ๋ ธ๋ j ์๊ฒ ์ ๋ฌํ๊ธฐ ์ํด label potential matrix ๋ฅผ ๊ณฑํ๋ค.
(4) ์ด ๊ณผ์ ์ ๊ฐ ๋ ์ด๋ธ Y_i ๋ง๋ค ๋ฐ๋ณตํ๋ค.
(5) ์๋ ด์ ํตํด ๊ตฌํด์ง๋ ๋ ธ๋ i ์ ํด๋์ค๊ฐ Y_i ์ผ belief bi(Yi) ๋ prior ํ๋ฅ ์ belief ๋ฅผ ๊ณฑํจ์ผ๋ก์จ ๊ตฌํด์ง๋ค.
2๏ธโฃ ์ฝ๋๋ฆฌ๋ทฐ
https://colab.research.google.com/drive/1HjC0bCFJQrEKfl_NmH-NV1qRw7pgYEth?usp=sharing
๐น Iterative classification algorithm Review
• Task : Classify nodes in the e-mail exchange graph to company management levels
• Class : company management levels (1,2,3)
• Data : 2010๋ 1์ 1์ผ๋ถํฐ 2010๋ 9์ 30์ผ๊น์ง ์ค๊ฐ ๊ท๋ชจ ์ ์กฐ ํ์ฌ ์ง์ ๊ฐ์ ์ด๋ฉ์ผ ๊ตํ์ ๋ํ ๋ฉํ๋ฐ์ดํฐ๊ฐ ํฌํจ๋์ด ์์ผ๋ฉฐ , ์กฐ์ง ๊ณ์ธต์ ๋ํ๋ด๋ ๊ทธ๋ํ๊ฐ ํจ๊ป ์ ๊ณต๋๋ค.
๐ก Semi-supervsied classification
โช Known , Unknown
๐ก ๋ ธ๋์ feature ์ ๋ณด f(v) ์ ์ด์ ๋ ธ๋์ ๋ผ๋ฒจ z(v) ์ ๊ธฐ๋ฐ์ผ๋ก ํด์ ๋ ธ๋๋ฅผ ๋ถ๋ฅ
โช f(v) : ์ด๋ฉ์ผ ์์ ์ฌ๋ถ(0,1), ์ก์ ์ฌ๋ถ(0,1), ๋ ธ๋ degree, ๋ ธ๋ ์ค์ฌ๋ betweenness, ๋ ธ๋ ์ค์ฌ๋ closeness
โช z(v) : ์ด์๋ ธ๋1 ๋ ์ด๋ธ, ์ด์๋ ธ๋2 ๋ ์ด๋ธ, ์ด์๋ ธ๋3 ๋ ์ด๋ธ
โป http://www.incodom.kr/Betweenness_Centrality
๐ก Apply
(1) Train classifier
(2) Apply classifier to test , Iterate
(3) Result
'1๏ธโฃ AIโขDS > ๐ GNN' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[cs224w] Theory of Graph Neural Networks (0) | 2023.01.06 |
---|---|
[CS224W] Graph Neural Network (0) | 2022.11.24 |
[CS224W] PageRank (0) | 2022.11.02 |
[CS224W] 1๊ฐ Machine Learning With Graphs (0) | 2022.10.11 |
[CS224W] NetworkX , pytorch geometric Tutorial (2) | 2022.10.07 |
๋๊ธ