본 글은 논문 [Bayesian Semi-supervised Learning with Graph Gaussian Process(GGP)]를 바탕으로 작성하였으며 Gaussian Process(GP)를 기반으로 Graph(G) 상에서 어떻게 적용하는지를 중점으로 다룬 내용입니다.
0. Background
[Graph]
Graph(G)에 대한 정의 및 구성은 다음 글을 참고하시면 좋을거 같습니다.
Graph Structure
1. Graph Structure Graph란 방향성이 있거나(directed) 없는(undirected) 엣지(edge)로 연결된 노드(node=vertices)들의 집합이다. [그림1]에서 볼 수 있듯이 Grpah는 Edge와 Vertices로 이루어져 있다. Edge는 Link, Vertices
iy322.tistory.com
Graph G 혹은 network는 데이터 점들(node)간의 관계(relationship)을 묘사합니다.
- G=(V,E),V:node,vertices ,E:edge
- X: node feature matrix, 각 node들의 feature를 나타낸 행렬
- A={1if (vi,vj)∈E0if (vi,vj)∉E: Adjacency matrix(인접행렬)
- 두 node가 연결되어 있으면 1, 아니면 0
<< "Graph Laplacian" >>
Self-loop가 존재하지 않은 undirected binary graph G=(V,E)의 adjacecny matrix A가 주어진 경우, graph laplacian(그래프 라플라시안) L은 다음과 같습니다.
L=D−A
- D∈RN×N: diagonal node degree matrix
라플라시안 행렬 L은 symmetric하고 diagonalizable하기 때문에 eigen-decomposition이 가능합니다.
L=UΛUT
- the columns of U∈RN×N: the eigenfunctions of L
- diagonal of Λ∈RN×N: eigenvalues
그래프 라플라시안 행렬 L은 graph filter 혹은 kernel로 유용하게 사용됩니다. 논문 [Matern Gassuian Process on Graphs]에서 자세하게 다룹니다.
[Gaussian Process(GP)]
Gaussian Process에 대한 정의는 다음 2개의 글을 참고하시면 좋을거 같습니다.
Gaussian Process(1): Mathematical Basics
본 글에서는 Gaussian Process Regression(GPR)에 대해 알기 전에 필요한 사전적인 개념에 대해 설명하고자 합니다. 목차는 다음과 같습니다. 일변량 정규분포 / 다변량 정규분포 결합 분포 / 조건부 분포
iy322.tistory.com
[Gaussian Process (2)]: Gaussian Process Regression(GPR)
Gaussian Process Regression(GPR)에 대해 알기 전에 필요한 기본적인 개념은 [Gaussian Process (1): Mathematical Basics]에서 다루었습니다. 본 글에서는 본격적으로 Gaussian Process Regression(GPR)에 대해 다루어 보고자
iy322.tistory.com
<< "Prior distirbution of GP" >>
f∼GP(m(x),k(x,x′))
GP는 함수에 대한 분포로 랜덤 프로세스 X에서 임의의 샘플 k개를 뽑았을 때(X1,X2,⋯,Xk) 결합 정규 분포(Joint Gaussian Distribution)을 따른다면 랜덤 프로세스 X는 GP라고 정의합니다.
- 평균 함수(mean function): m(x)=E[f(x)] (보통 0으로 설정합니다.)
- 공분산 함수(covariance function) k(x,x′)=cov(x,x′)(공분산 함수는 GP의 핵심이자 함수의 형태(shape)을 결정하는 부분입니다.)
<< "Posterior distirbution of GP" >>
f∗|x∗,X,f∼N(μ∗,σ2∗)
- μ∗=K(x∗,X)K(X,X)−1f
- σ∗=k(x∗,x∗)K(X,X)−1K(X,x∗)
- X∈RD: training dataset
- x∗∈R: new data point
<< "Scalable Variational Inference for GP" >>
GP의 경우 계산 비용이 O(N3)(N: the number of training data points)으로 대규모의 데이터에 대해서는 계산 비용이 크다는 단점이 존재합니다. 이에 대한 해결방안으로 variational inference 방법을 이용합니다. M개의 inducing points Z=[z1,z2,⋯,zM]T,zj∈RD가 존재하는 경우, GP 함수 f(x)에서 랜덤하게 M개의 샘플을 뽑은 random variable(variational parameter) u=[f(z1),f(z2),⋯,f(zM)]T를 통해 conditional GP를 제안합니다.
f(x)|u∼GP(K(Z,X)TK(Z,Z)−1u,Kθ(X,X)−K(Z,X)TK(Z,Z)−1K(Z,X))
- K(Z,X)=[kθ(z1,X),kθ(z2,X),⋯,kθ(zm,X)]
- [K(Z,Z)]ij=kθ(zi,zj)
- p(u)=N(0,K(Z,Z)): Variational prior distribution
u의 variational posterior q(u)는 평균이 m이고 공분산이 S인 다변량 정규 분포를 따릅니다.
Evidence Lower Bound(ELBO) 목적함수인 식 (1)을 최대화(maximize)하는 variational parameter m,S,{zm}Mm=1와 kernel hyper-parameter θ를 찾습니다.
L(θ,Z,m,S)=N∑n=1Eq(f(xn))[log(p(yn|f(xn)))]−KL[q(u)||p(u)]
[Graph based Semi-supervised Learning(준지도 학습)]
준지도 학습은 label y가 극소수 존재하는 경우로 labeled data를 활용하여 unlabeled data의 label y를 예측하는 함수를 학습하는 것을 목표로 합니다. 준지도 학습은 크게 두 종류로 'Transductive Learning'과 'Inductive Learning'으로 나눌 수 있습니다.
- Transductive Learning
- Inductive Learning
만약, 데이터셋 D={{xi,yi}li=1,{xj}uj=1}(l: the number of labeled samples, u: the number of unlabeled samples, yi: the label of the labeled samples)가 존재하는 경우, transductive learning은 labeled data만 가지고 학습하여 unlabaled data를 예측하는 함수 f:X→Y를 학습합니다. 반면, Inductive learning의 경우, labeled data와 unlabeled data를 모두 활용하여 새로운 데이터에 대한 예측 함수 f:X→Y를 학습합니다.
논문에서는 transductive learning을 기반으로 설명을 하며 graph based semi-supervised learning에 대한 Gaussian Process(GP) model을 제안합니다.
1. Graph Gaussian Process(GGP)
▶ Notation
- N: the size of data(노드의 개수)
- X=[x1,x2,⋯,xN]T∈RN×D: node feature matrix
- xi∈RD: D-dimensional features(각 node는 D차원의 특성 벡터)
- A∈{0,1}N×N: symmetric binary adjacency matrix(데이터 점들(node)간의 관계를 나타내는 행렬)
- A={1if (vi,vj)∈E0if (vi,vj)∉E
- Y=YO∪YU: label(각 node의 label)
- YO={y1,y2,⋯,yo},yi∈{1,2,⋯,k}: observed label
- YU={yo,yo+1,⋯,yN}: unobserved label
▶ Algorithm
Graph Gaussian Process(GGP)는 조건부 분포(conditional distribution) pθ(Y|X,A)를 명시하며 예측 분포(predictive distribution) pθ(YU|YO,X,A)를 통해 YU를 예측합니다.
※ ※ GP와는 다르게 GGP의 경우 조건부 분포를 사용합니다.

먼저, 결합 분포 식 (2)를 정의하겠습니다.
pθ(Y,h|X,A)=pθ(h|X,A)ΠNn=1p(yn|hn)
식 (2)는 conditionally independent likelihood p(yn|hn)의 곱과 GGP prior pθ(h|X,A)(θ:hyper-parameter)로 표현된 GGP posterior pθ(Y,h|X,A)으로 우리의 주 관심인 multi-class classification 관련 식입니다.
※참고: p(yn|hn)은 robust max likelihood에 의해 주어집니다.
Question: 그럼 GGP prior pθ(h|X,A)를 어떻게 구축하는가?
GGP prior은 GP f(x)를 통해 건축합니다.
각 node는 D 차원의 feature X를 나타내며 node마다 Gaussian Process Latent Function f(x):RD→R을 줍니다.
f(x)∼GP(0,kθ(x,x′))
[Figure 1]을 참조하면 7개의 node는 모두 GP를 따르는 것을 알 수 있습니다. 그래프 G의 경우, node간의 관계(relationship)를 묘사한 데이터인데 각 node의 label을 예측하는 과정에서 이웃 노드 xj,j∈Ne(n)의 정보를 이용할 수 있습니다. 이웃 노드 xj,j∈Ne(n)의 정보와 타겟 노드 xn의 정보는 단순히 Adjacency matrix A에 의해 주어진 1-hop neighbourhood에 대한 f의 평균값으로 aggregate하고자 합니다.
h=f(xn)+∑l∈Ne(n)f(xl)1+Dn
- Ne(n)={l:l∈{1,2,⋯,N},Anl=1}
- Dn=|Ne(n)|
식 (3)를 latent likelihood parameter vector h∈RN×1으로 정의하겠습니다. 우리가 정의한 h를 통해 GGP prior은 다변량 정규분포를 따르는 것을 확인할 수 있습니다.
pθ(h|X,A)=N(0,PK(X,X)PT)
- P=(I+D)−1(I+A)
- [K(X,X)]ij=kθ(xi,xj)
[Proof]
식 (3)를 값이 아닌 vector로 표현하면 h=(I+D)−1(I⋅f(X)+A⋅f(X))=(I+D)−1(I+A)f(X)(D=(|Ne(1)|,⋯,|Ne(N)|))입니다.
- E[h|X,A]=(I+D)−1(I+A)E[f(x)]=0
- Var[h|X,A]=(I+D)−1(I+A)Var[h|X,A](I+A)T((I+D)−1)T=PK(X,X)PT
공분산 구조(covariance structure)는 다음과 같습니다.
Cov(hm,hn)=1(1+Dm)(1+Dn)∑i∈{m∪Ne(m)}∑j∈{n∪Ne(n)}kθ(xi,xj)=<11+Dm∑i∈{m∪Ne(m)}ϕ(xi),11+Dn∑j∈{n∪Ne(n)}ϕ(xj)>H
- ϕ(⋅)은 the base kernel kθ(⋅,⋅)에 상응하는 feature map입니다.
[Proof]

식 (4)sms node m과 node n의 1-hop neighborhood의 관측된 f(⋅)에 상응된 empirical kernel mean embedding 사이의 내적입니다.
GGP는 node feature {({xi|i∈{n∪Ne(n)}},yn)}On=1에 대한 classification model에 대한 분포입니다. 관측되지 않은 데이터의 경우는 empirical kernel mean embedding ˆμn으로 표현 가능합니다.
ˆμn=11+Dn∑j∈{n∪Ne(n)}ϕ(xj)
즉, prior h는 equivalent하게 h∼GP(0,<ˆμm,ˆμn>H)로도 표현 가능합니다.
2. Variational Inference with Inducing Points
만약, 데이터가 대규모인 경우 계산 비용이 크기 때문에 GGP에서도 M개의 inducing points {zm}Mm=1을 이용해 inducing random variables u=[f(z1),⋯,f(zm)]T를 GP f(x)∼GP(0,kθ(x,x′))로부터 샘플링합니다. 결과적으로 hn과 f(zm) 사이의 공분산 함수는 다음과 같습니다.
Cov(hn,f(zm))=1Dn+1[kθ(xn,zm)+∑l∈Ne(n)kθ(xl,zm)]
Variational Posterior distribution q(u)=N(m,SST),m∈RM×1,S∈RM×M:lower triangular입니다. 조건부 가우시안 분포를 통해 q(u)는 우리의 주관심 variational gaussian distribution q(h)를 도출할 수 있습니다. 또한, Evidence Lower Bound(ELBO) 목적함수인 식 (1)을 최대화(maximize)하는 variational parameter m,S,{zm}Mm=1와 kernel hyper-parameter θ를 찾을 수 있습니다.
본 글은 Graph 상에 GP를 적용한 모델 Graph Gaussian Process(GGP)를 소개하였습니다. 결국에는 각 노드에 GP 분포를 걸어 latent parameter h로 단순히 1-hop neighborhood의 평균값으로 이웃 정보를 aggregate했다는 점과 GGP로는 조건부 분포를 사용하였다는 점이 핵심입니다.
'Gaussian Process' 카테고리의 다른 글
Adaptive Gaussian Process Change Point Detection(ADAGA): 일변량 시계열 데이터 이상치 탐지 방법론 (1) | 2024.01.06 |
---|