Search

[CS224W] Lecture 5

일부 노드의 라벨이 주어졌을 때 다른 노드들의 값을 어떻게 예측할 것인가?
Message Passing
Correlation을 이용한다.
비슷한 노드들은 연결되어 있다.
모든 노드들을 라벨링하는 collective classification을 활용한다.
네트워크엔 homophily가 있다.
이 correlation을 노드를 예측하는데 어떻게 반영할 것인가?

Semi-supervised binary node classification

Probabilistic Relational Classifier

주변 노드들의 probability의 가중합으로 probability를 구함
초기엔 0.5로 initialize
random order로 unlabeled node의 값을 update

Iterative Classification

relational classifier는 node attribute을 사용하지 않음
이를 leverage하기 위함
두 가지 종류의 classifier 학습
1.
예측하고자 하는 node v의 node feature를 이용하여 predicting하는 base classifier
2.
v의 node feature vector와 v의 이웃 노드들의 label summary를 이용하여 predicting하는 relational classifier
Iteration 수행
1.
base classifier로 YvY_v update
2.
YvY_vzvz_v update
3.
class label이 stabilize 될 때까지 or max.iteration에 도달할 때까지 수행

Collective Classification: Correct & Smooth

1.
base prediction 학습
2.
base predictor로 모든 노드의 soft label(class probability) predict
3.
graph structure를 이용해 prediction을 post-process하여 final prediction을 얻음
Labeled node를 이용해 base predictor 학습
base predictor로 예측
하지만 이 값은 정확하지 않음
graph structure를 이용해 post-process하기로 함

1. Correct Step

Assumption: node u의 prediction의 error의 u의 이웃노드들의 error와 비슷하게 발생함
training error의 전파를 이용함
diffusion matrix A~\tilde{A}를 이용하여 degree 값을 normalize하여 update
자기 자신의 training error + 이웃 노드의 training error normalize값 → error update

2. Smooth Step

Assumption: 노드 값을 share 함
hard label 사용하여 다시 diffusion matrix로 전파