Lecture 5.2 - Relational and Iterative Classification
CS224W Lecture 5.
- 5.2 - Relational and Iterative Classification
- Relational Classification
- Probabilistic Relational Classifier
- Example: Initialization
- Example: $1^{st}$ Iteration, Update Node 3
- Example: $1^{st}$ Iteration, Update Node 4
- Example: $1^{st}$ Iteration, Update Node 5
- Example: After $1^{st}$ Iteration
- Example: After $2^{nd}$ Iteration
- Example: After $3^{rd}$ Iteration
- Example: After $4^{th}$ Iteration
- Example: Convergence
- Iterative Classification
- Iterative Classification
- Computing the Summary $z_v$
- Architecture of Iterative Classifiers
- Example: Web Page Classification
- Iterative Classifier - Step 1
- Iterative Classifier - Step 2
- Iterative Classifier - Step 3.1
- Iterative Classifier - Step 3.2
- Iterative Classifier - Iterate
- Iterative Classifier - Final Prediction
- Summary
- Relational Classification
Lecture 5
5.2 - Relational and Iterative Classification
Relational Classification
Probabilistic Relational Classifier
- Idea: Propagate node labels across the network
- Class probability $Y_v$ of node $v$ is a weighted average of class probabilities of its neighbors.
- For labeled nodes $v$, initialize label $Y_v$ with ground-truth label $Y^*_v$.
- For unlabeled nodes, initialize $Y_v$ = 0.5.
- Update all nodes in a random order until convergence or until maximum number of iterations is reached.
-
Update for each node $v$ and label $c$ (e.g. 0 or 1 )
- If edges have strength/weight information, $A_{v, u}$ can be the edge weight between $v$ and $u$
- $P\left(Y_{v}=c\right)$ is the probability of node $v$ having label $c$
- Challenges:
- Convergence is not guaranteed
- Model cannot use node feature information
- 아이디어: 노드 레이블을 네트워크에 전파
- 노드 $v$의 클래스 확률 $Y_v$는 이웃의 클래스 확률에 대한 가중 평균이다.
- 레이블링된 노드 $v$의 경우 지상 실측 레이블 $Y^*_v$로 레이블 $Y_v$를 초기화한다.
- 레이블이 없는 노드의 경우 $Y_v$ = 0.5를 초기화합니다.
- 수렴할 때까지 또는 최대 반복 횟수에 도달할 때까지 모든 노드를 임의의 순서로 업데이트합니다.
-
각 노드 $v$ 및 레이블 $c$에 대한 업데이트(예: 0 또는 1)
- 가장자리의 강도/무게 정보가 있는 경우 $A_{v,u}$는 $v$와 $u$ 사이의 에지 가중치일 수 있습니다.
- $P\left(Y_{v}=c\right)$는 노드 $v$가 $c$ 레이블을 가질 확률이다.
- 과제:
- 수렴이 보장되지 않음
- 모델은 노드 피쳐 정보를 사용할 수 없습니다.
Example: Initialization
Initialization:
- All labeled nodes with their labels
- All unlabeled nodes 0.5 (belonging to class 1 with probability 0.5)
초기화:
- 라벨이 표시된 모든 노드
- 표시되지 않은 모든 노드 0.5 (확률 0.5의 클래스 1에 속함)
Example: $1^{st}$ Iteration, Update Node 3
- Update for the $1^{st}$ Iteration:
- For node 3, $N_3=[1,2,4]$
- $1^{st}$ 반복에 대한 업데이트:
- 노드 3의 경우 $N_3=[1,2,4]$
Example: $1^{st}$ Iteration, Update Node 4
- Update for the $1^{st}$ Iteration:
- For node 4, $N_4=[1,3,5,6]$
- $1^{st}$ 반복에 대한 업데이트:
- 노드 4의 경우 $N_4=[1,3,5,6]$
Example: $1^{st}$ Iteration, Update Node 5
- Update for the $1^{st}$ Iteration:
- For node 5, $N_5=[4,6,7,8]$
- $1^{st}$ 반복에 대한 업데이트:
- 노드 5의 경우 $N_5=[4,6,7,8]$
Example: After $1^{st}$ Iteration
After Iteration 1 (a round of updates for all unlabeled nodes) 반복 후 1 (라벨이 지정되지 않은 모든 노드에 대한 업데이트 라운딩)
Example: After $2^{nd}$ Iteration
After Iteration 2 (반복 후 2)
Example: After $3^{rd}$ Iteration
After Iteration 3 (반복 후 3)
Example: After $4^{th}$ Iteration
After Iteration 4 (반복 후 4)
Example: Convergence
-
All scores stabilize after 4 iterations.
We therefore predict:
- Nodes 4,5,8,9 belong to class 1 ($𝑃_{Y_v}$ > 0.5)
- Nodes 3 belong to class 0 ($𝑃_{Y_v}$ < 0.5)
-
4회 반복 후 모든 점수가 안정됩니다.
따라서 다음과 같이 예측한다.
- 노드 4,5,8,9가 클래스 1($𝑃_{Y_v}$ > 0.5)에 속함
- 노드 3은 클래스 0($𝑃_{Y_v}$ < 0.5)에 속합니다.
Iterative Classification
Iterative Classification
- Relational classifier does not use node attributes.
- How can one leverage them?
-
Main idea of iterative classification:
Classify node $v$ based on its attributes $f_v$ as well as labels $z_v$ of neighbor set $N_v$.
- Input: Graph
- $f_{v}$ : feature vector for node $v$
- Some nodes $v$ are labeled with $Y_{v}$
- Task: Predict label of unlabeled nodes
- Approach: Train two classifiers: $\phi_{1}\left(f_{v}\right)=$ Predict node label based on node feature vector $f_{v}$. This is called base classifier.
-
$\phi_{2}\left(f_{v}, z_{v}\right)=$ Predict label based on node feature vector $f_{v}$ and summary $z_{v}$ of labels of $v’{\text {s }}$ neighbors.
This is called relational classifier.
- 관계 분류자가 노드 특성을 사용하지 않습니다.
- 어떻게 그들을 활용할 수 있을까?
-
반복 분류의 주요 개념:
노드 $v$는 속성 $f_v$와 인접 세트 $N_v$의 레이블 $z_v$를 기준으로 분류한다.
- 입력: 그래프
- $f_{v}$ : 노드 $v$의 피쳐 벡터
- 일부 노드 $v$는 $Y_{v}$로 레이블 지정됨
- 작업: 레이블이 없는 노드의 레이블 예측
- 접근법: 두 가지 분류기 훈련: $\phi_{1}\left(f_{v}\right)=$ 노드 특징 벡터 $f_{v}$를 기반으로 노드 레이블을 예측한다. 이를 기본 분류기라고 합니다.
-
$\phi_{2}\left(f_{v}, z_{v}\right)=$ 노드 특징 벡터 $f_{v}$와 $v’{\text {s}}$ 이웃 레이블의 요약 $z_{v}$를 기반으로 레이블을 예측한다.
이를 관계 분류기라고 합니다.
Computing the Summary $z_v$
How do we compute the summary $z_v$ of labels of $v’s$ neighbors $N_v$?
- $z_v$ = vector that captures labels around node $v$
- Histogram of the number (or fraction) of each label in $N_v$
- Most common label in $N_v$
- Number of different labels in $N_v$
$v$의 인접 $N_v$ 레이블의 요약 $z_v$는 어떻게 계산합니까?
- $z_v$ = 노드 $v$ 주변의 레이블을 캡처하는 벡터
- $N_v$ 단위의 각 레이블의 숫자(또는 부분) 히스토그램
- $N_v$의 가장 일반적인 레이블
- $N_v$의 서로 다른 레이블 수
Architecture of Iterative Classifiers
- Phase 1: Classify based on node attributes alone
- On the labeled training set, train two classifiers:
- Base classifier: $\phi_{1}\left(f_{v}\right)$ to predict $Y_{v}$ based on $f_{v}$
- Relational classifier: $\phi_{2}\left(f_{v}, z_{v}\right)$ to predict $Y_{v}$ based on $f_{v}$ and summary $z_{v}$ of labels of $v^{\prime}$s neighbors
- On the labeled training set, train two classifiers:
- Phase 2: Iterate till convergence
- On test set, set labels $Y_{v}$ based on the classifier $\phi_{1}$, compute $z_{v}$ and predict the labels with $\phi_{2}$
- Repeat for each node $v$ :
- Update $z_{v}$ based on $Y_{u}$ for all $u \in N_{v}$
- Update $Y_{v}$ based on the new $z_{v}\left(\phi_{2}\right)$
- Iterate until class labels stabilize or max number of iterations is reached
- Note: Convergence is not guaranteed
- 1단계: 노드 속성만을 기준으로 분류
- 라벨이 부착된 교육 세트에서 두 가지 분류기를 교육합니다.
- 기본 분류자: $f_{v}$를 기반으로 $Y_{v}$를 예측하기 위한 $\phi_{1}\left(f_{v}\right)$
- 관계 분류자: $f_{v}$와 $v^{\prime}$s 인접 레이블의 요약 $z_{v}$를 기반으로 $Y_{v}$를 예측하기 위한 $\phi_{2}\left(f_{v}, z_{v}\right)$
- 라벨이 부착된 교육 세트에서 두 가지 분류기를 교육합니다.
- 2단계: 수렴될 때까지 반복
- 테스트 세트에서 $\phi_{1}$ 분류기를 기반으로 레이블 $Y_{v}$을 설정하고 $z_{v}$를 계산하고 $\phi_{2}$로 레이블을 예측한다.
- 각 노드 $v$에 대해 반복:
- 모든 $u \in N_{v}$에 대해 $Y_{u}$를 기준으로 $z_{v}$ 업데이트
- 새 $z_{v}\left(\phi_{2}\right)$를 기준으로 $Y_{v}$ 업데이트
- 클래스 레이블이 안정되거나 최대 반복 횟수에 도달할 때까지 반복
- 참고: 수렴이 보장되지 않음
Example: Web Page Classification
- Input: Graph of web pages
- Node: Web page
- Edge: Hyper-link between web pages
- Directed edge: a page points to another page
- Node features: Webpage description
- For simplicity, we only consider two binary features
- Task: Predict the topic of the webpage
- Baseline: Train a classifier (e.g., linear classifier) to classify pages based on node attributes.
- 입력: 웹페이지 그래프
- 노드: 웹 페이지
- 가장자리: 웹 페이지 간의 하이퍼링크 (Directed Edge)
- 방향 가장자리: 한 페이지가 다른 페이지를 가리키다
- 노드 기능: 웹 페이지 설명
(TF-IDF 등의 토큰 정보, 여기선 2차원 벡터로 표현)
- 단순성을 위해 두 개의 이진 기능만 고려한다.
- 작업: 웹 페이지의 주제 예측
- 기준: 노드 속성을 기준으로 페이지를 분류하도록 분류기(예: 선형 분류기)를 훈련합니다.
- Each node maintains vectors $z_v$ of neighborhood labels:
- $I$ = Incoming neighbor label information vector.
- $O$ = Outgoing neighbor label information vector.
-
$I_0$ = 1 if at least one of the incoming pages is labelled 0.
Similar definitions for $I_0$, $O_0$, and $O_1$
-
- 각 노드는 이웃 레이블의 벡터 $z_v$를 유지한다.
- $I$ = 들어오는 인접 레이블 정보 벡터.
- $O$ = 나가는 인접 레이블 정보 벡터.
-
$I_0$ = 1 (수신 페이지 중 하나 이상이 0으로 표시된 경우)
$I_0$, $O_0$ 및 $O_1$에 대한 유사한 정의
-
Iterative Classifier - Step 1
- On training labels, train two classifiers:
- Node attribute vector only: $\phi_1(f_v)$
- Node attribute and link vectors $z_v$: $\phi_2(f_v,z_v)$
- Train classifiers
- Apply classifier to unlab. set
- Iterate
- Update relational features $z_v$
- Update label $Y_v$
- 교육 라벨에서 두 가지 분류기를 교육합니다.
- 노드 속성 벡터만: $\phi_1(f_v)$
- 노드 속성 및 링크 벡터 $z_v$: $\phi_2(f_v,z_v)$
- 분류기 학습
- 레이블 해제 세트에 분류자 적용
- 반복
- 관계 기능 업데이트 $z_v$
- 레이블 업데이트 $Y_v$
Iterative Classifier - Step 2
-
On the unlabeled set:
- Use trained node feature **vector classifier $\phi_1$ to set $Y_v**$
- Train classifiers
- Apply classifier to unlab. set
- Iterate
- Update relational features $z_v$
- Update label $Y_v$
- 라벨이 없는 세트에서:
- 훈련된 노드 특징 벡터 분류기 $\phi_1$를 사용하여 $Y_v$ 설정
- 분류기 학습
- 레이블 해제 세트에 분류자 적용
- 반복
- 관계 기능 업데이트 $z_v$
- 레이블 업데이트 $Y_v$
Iterative Classifier - Step 3.1
- Update $z_v$ for all nodes:
- Train classifiers
- Apply classifier to unlab. set
- Iterate
- Update relational features $z_v$
- Update label $Y_v$
- 모든 노드에 대해 $z_v$ 업데이트:
- 분류기 학습
- 레이블 해제 세트에 분류자 적용
- 반복
- 관계 기능 업데이트 $z_v$
- 레이블 업데이트 $Y_v$
Iterative Classifier - Step 3.2
- **Re-classify all nodes with $\phi_2$:
- Train classifiers
- Apply classifier to unlab. set
- Iterate
- Update relational features $z_v$
- Update label $Y_v$
- $\phi_2$로 모든 노드를 다시 분류합니다.
- 분류기 학습
- 레이블 해제 세트에 분류자 적용
- 반복
- 관계 기능 업데이트 $z_v$
- 레이블 업데이트 $Y_v$
Iterative Classifier - Iterate
- Continue until convergence
- Update $z_v$ based on $Y_v$
- Update $Y_v$ = $\phi_2(f_v,z_v)$
- Train classifiers
- Apply classifier to unlab. set
- Iterate
- Update relational features $z_v$
- Update label $Y_v$
-
정합될 때까지 계속합니다
- $Y_v$를 기준으로 $z_v$ 업데이트
- 업데이트 $Y_v$= $\phi_2(f_v,z_v)$
- 분류기 학습
- 레이블 해제 세트에 분류자 적용
- 반복
- 관계 기능 업데이트 $z_v$
- 레이블 업데이트 $Y_v$
Iterative Classifier - Final Prediction
- Stop iteration
- After convergence or when maximum iterations are reached
- 반복 중지
- 수렴 후 또는 최대 반복 횟수에 도달한 경우
Summary
- We talked about 2 approaches to collective classification
- Relational classification
- Iteratively update probabilities of node belonging to a label class based on its neighbors
- Iterative classification
- Improve over collective classification to handle attribute/feature information
- Classify node 𝑣 based on its features as well as labels of neighbors
- 집단 분류에 대한 2가지 접근법에 대해 이야기했습니다
- 관계구분
- 인접 관계에 따라 레이블 클래스에 속하는 노드의 확률을 반복적으로 업데이트합니다.
- 반복구분
- 특성/특징 정보를 처리하기 위해 집합 분류보다 개선
- 특징과 이웃의 label을 기준으로 노드 based 분류
CS224W: Machine Learning with Graphs 2021 Lecture 5.2 - Relational and Iterative Classification