[Network Science]6. Structural Properties of Networks

YongUk·2025년 2월 5일

Graph Theory

목록 보기
8/17
post-thumbnail

Structural Equivalence


  • 노드의 in-neighbors와 out-neighbors가 완전히 동일하다면 구조적으로 동일하다고 표현할 수 있다.

  • 위 규칙에 따르면 v1과 v2와 같이 서로 연결된 노드 사이에는 다른 이웃이 동일하다고 하여도 동일성을 만족하지 못한다. 따라서 모든 노드에 self-loop를 추가하여 일관성을 부여할 수 있다.
  • 하지만 엄격한 구조적 동등성의 경우 실제 상황에서는 굉장히 드물기 때문에 일반적으로 다른 지표를 사용한다.

Structural Similarity


  • 구조적으로 동일한지 안한지의 이분법적 방식이 아닌 얼마나 유사한지를 측정하는 측정법이다.
  • 진짜 구조만 보고 판단하기에 일반적으로 인접행렬을 이용하여 측정할 수 있고 기준에 따라 측정하는 지표는 아래와 같이 다양하다. 하지만 이 모두 Neighbor 정보를 이용하여 유사성을 측정한다라는 점에서 일맥상통한다.

Jaccard Similarity

J(vi,vj)=N(vi)N(vj)N(vi)N(vj)J(v_i,v_j) = \frac{|N(v_i)\cap N(v_j) |}{|N(v_i)\cup N(v_j) |}

Cosine Silmilarity

σ(vi,vj)=cos(θij)=kAikAjkAik2Ajk2\sigma(v_i,v_j) = cos(\theta_{ij}) = \frac{\sum_k {A_{ik}A_{jk}}}{\sqrt{\sum A^2_{ik}}\sqrt{\sum A^2_{jk}}}

Pearson Correlation Coefficient

rij=k(AikAi)(AjkAj)(AikAi)2(AjkAj)2r_{ij} = \frac{\sum_k (A_{ik}-\langle A_i\rangle)(A_{jk}-\langle A_j\rangle)}{\sqrt{(A_{ik}-\langle A_i\rangle)^2} \sqrt{(A_{jk}-\langle A_j\rangle)^2}}
  • 이를 통해 노드 간에 서로 얼마나 유사한지에 대한 Matrix도 얻을 수 있다.

SimRank


s(a,b)=CI(a)I(b)i=1I(a)j=1I(b)s(Ii(a),Ij(b)),   abs(a,b) = \frac{C}{|I(a)||I(b)|} \sum^{I(a)}_{i=1}\sum^{I(b)}_{j=1}s(I_i(a),I_j(b)), \ \ \ a \ne b
s(a,a)=1s(a,a) = 1
  • PageRank 알고리즘처럼 두 노드의 유사성을 측정하기위해서 두 노드의 이웃의 유사성을 재귀적으로 사용한다. 이 때 초기에 같은노드는 유사성을 1로 두고 나머지는 모두 0으로 두게된다.
  • 그 후 반복적인 업데이트를 통해 0이었던 유사도는 점점 늘어나게될 것이고 일정 시간 이후 수렴하는 것을 목표로 한다.
Sij=Ckikjk,mAkiAmjSkmS_{ij} = \frac{C}{k_ik_j}\sum_{k,m}A_{ki}A_{mj}S_{km}
  • 위와같이 행렬의 형태로도 나타낼 수 있다.

Degree Correlation


r=covvar=ijAij(kik)(kjk)ijAij(kik)2r = \frac{cov}{var} = \frac{\sum_{ij}A_{ij}(k_i-\langle k \rangle)(k_j - \langle k \rangle)}{\sum_{ij}A_{ij}(k_i- \langle k \rangle)^2}
  • 서로 인접한 노드 간의 상관계수를 구하여 그래프 전체의 상관계수를 구한다.
  • degree가 높은 노드가 높은 노드와 연결될 수록 r은 1로 커지고 높은 노드와 낮은 노드가 연결될 수록 r은 -1로 작아진다. 이를 통해 전체 그래프가 degree에 대해 동질성을 가지는지 이질성을 가지는지에 대한 평가지표로 사용가능하다.

  • 왼쪽처럼 서로 다른 degree와 연결된 경우 r은 작아지고 오른쪽처럼 서로 비슷한 degree의 노드와 연결된 경우 r은 커지게 된다.
ek,k=m(k,k)me_{k,k^\prime} = \frac{m(k,k^\prime)}{m}
  • degree가 kk인 노드와 kk^\prime인 노드가 연결된 개수를 전체 edge의 수로 나누게되면 degree간의 연결 matrix를 얻을 수 있다.
knn(k)=kkP(kk)    P(kk)=ek,kkek,kk_{nn}(k) = \sum_{k\prime} k^\prime P(k^\prime|k) \ \ \ \ P(k^\prime|k) = \frac{e_{k,k^\prime}}{\sum_{k^\prime}e_{k,k^\prime}}
  • 노드의 degree가 k일 때 neighbor의 degree의 평균을 구하는 공식이다.
  • 조건부확률로 degree가 k인 노드 이웃 중 kk^\prime인 것의 비율을 이용한 조건부확률을 사용하면 구할 수 있고 이때 kk^\prime을 곱하여 그 평균값을 구할 수 있다.

Assortative


  • 위에서 보았듯이 비슷한 유형(차수)의 노드가 서로 연결되는 형태를 Assortative라고 하고 서로 다른 유형의 노드가 연결되는 형태를 Disassortative라고 한다. 이러한 개념을 차수가 아닌 즉 구조적인 관점에서 내용적인 관점으로 전환할 수 있다.
  • 그 노드가 가지고있는 attribute(성별, 연령대 등)에 따라 노드가 서로 비슷하거나 반대되는 것에 연결되는 경향성을 확인할 수 있다.

Assortative mixing

  • 이러한 특성을 측정하기위해 mixing을 사용한다. 얼마나 비슷한 것끼리 연결되어있는지 측정할 수 있다.
Q=mcmcmQ = \frac{m_c - \langle m_c \rangle}{m}
  • 전체 그래프에서 같은 클래스끼리 연결된것의 비율을 구한다. 이 때 랜덤그래프에서의 해당 노드들이 연결되는 비율을 빼줌으로써 랜덤할 때의 기대값보다 얼마나 큰지에 대한 측정을 가능하게 한다.
  • 이 식은 Modularity라고 말하며 다시말해 그래프가 같은 집단끼리 얼마나 잘 분류되었는지에 대한 지표이기도 하다.
Q=12mij(Aijkikj2m)δ(ci,cj)Q = \frac{1}{2m}\sum_{ij}\left( A_{ij}-\frac{k_ik_j}{2m}\right)\delta(c_i,c_j)
  • 계산식으로 나타내면 다음과 같고 δ(ci,cj)\delta(c_i,c_j)는 실제 같은 클래스이면 1 다르면 0으로 계산된다.
  • 즉 같은 클래스일 때만 계산을 하게 되는데 이 때 AijA_{ij}가 실제로 인접하여 1일 경우 일반적으로 이값은 커지게되고 0일 경우 음수가 될 것이다. 이것의 합을 통해 Q를 계산하게된다.
QQmax=ij(Aijkikj2m)δ(ci,cj)2mijkikj2mδ(ci,cj)\frac{Q}{Q_{max}} = \frac{\sum_{ij}\left( A_{ij}-\frac{k_ik_j}{2m}\right)\delta(c_i,c_j)}{2m - \sum_{ij}\frac{k_ik_j}{2m}\delta(c_i,c_j)}
  • 최대로 가능할 때의 QmaxQ_{max}로 이를 나누어 정규화하여 상관계수를 구해 서로 다른 그래프간의 비교를 가능하게 한다.
  • 이는 같은 클래스 인지 아닌지에 대한 범주형 속성일 때 적용가능한 수식이다
r=covvar=ijAij(xix)(xjx)ijAij(xix)2=ij(Aijkikj2m)xixjij(kiδijkikj2m)xixjr = \frac{cov}{var} = \frac{\sum_{ij}A_{ij}(x_i-\langle x \rangle)(x_j-\langle x \rangle)}{\sum_{ij}A_{ij}(x_i-\langle x \rangle)^2} = \frac{\sum_{ij}\left( A_{ij}-\frac{k_ik_j}{2m}\right)x_ix_j}{\sum_{ij}\left( k_i \delta_{ij}-\frac{k_ik_j}{2m}\right) x_ix_j}
  • 범주가 아닌 스칼라 값을 다루는 경우 위와 같이 degree coefficient를 다루는 것 처럼 다룰 수 있다.
r=covvar=ij(Aijkikj2m)kikjij(kiδijkikj2m)kikjr = \frac{cov}{var} = \frac{\sum_{ij}\left( A_{ij}-\frac{k_ik_j}{2m}\right)k_ik_j}{\sum_{ij}\left( k_i \delta_{ij}-\frac{k_ik_j}{2m}\right) k_ik_j}
  • 추가적으로 위 수식에서 x를 degree로 바꾸어 수식을 다시 전개하면 다음과 같이 바꿀 수 있고
r=SeS1S22S3S1S22r = \frac{S_eS_1 - S_2^2}{S_3S_1-S^2_2}
S1=iki=2m, S2=iki2, S3=iki3, Se=ijAijkikjS_1 = \sum_i k_i = 2m , \ S_2 = \sum_ik^2_i , \ S_3 = \sum_i k_i^3 , \ S_e = \sum_{ij}A_{ij}k_ik_j
  • 위와같은 형태로 수정하여 degree coefficient를 간단하게 구할 수 있다.

Properties of Degree Assortative Graph

  • 이를 이용하여 그래프의 특성을 파악할 수 있는데 Assortative한 그래프인 경우 Phase Transition이 발생하는 시기가 빠르다. 이는 degree가 큰 노드끼리 빠르게 뭉치는 경향이 있기 때문이다.
  • 하지만 임계치 이후의 증가속도는 Disassortative한 그래프가 더 큰데 이유는 Phase Transition이 발생하기전까지 모아놓았다가 시간이 지나면 연쇄적으로 연결되기에 훨씬 빠르게 연결되는 경향이 있다.

  • 또 다른 특성은 Path Length의 분포이다. Assortative한 그래프는 상대적으로 짧은 path의 길이가 많지만 차수가 낮은 노드는 낮은 노드끼리 연결이 되기에 그 연결이 굉장히 길어지는 구간이 발생할 수 있다. 따라서 결과적으로 diameter는 커지게 된다.

Friendship paradox


  • “Your friends are more popular than you are”
knn(k)=kkP(kk)k_{nn}(k) = \sum_{k\prime} k^\prime P(k^\prime|k)
  • 이전에 우리는 다음과 같은 degree분포를 볼 수 있었고 이것이 correlation이 없는 random graph라고 가정하고 이 paradox를 다루어보면 조건부확률 대신 randomly하게 연결되는 것을 가정할 수 있다.
P(kk)    kP(k)kP(k^\prime|k) \ \ \rarr \ \ \frac{k^\prime P(k^\prime)}{\langle k \rangle}
  • 확률은 단순히 kk^\prime의 degree를 가지는 노드의 개수에 비례할 것이고 이 때 간선의 개수에 비례할 것이다. 또한 확률 분포이므로 이를 정규화해줄 수 있다
knn=kkkp(k)k=k2kk_{nn} = \sum_{k^\prime}k^\prime\frac{k^\prime p(k^\prime)}{\langle k \rangle} = \frac{\langle k^2 \rangle}{\langle k \rangle}
  • 따라서 정리하면 최종적으로 위와 같이 정리할 수 있을 것이다.
  • Random Network에서 k2=k(1+k)\langle k^2 \rangle = \langle k \rangle(1+\langle k \rangle) 이기 때문에 knn=1+kk_{nn} = 1 + \langle k \rangle 이고 즉 degree가 k이 노드의 이웃의 degree는 평균적으로 k+1이 된다.
  • 만약 scale-free network의 경우에는 k2\lang k^2 \rang가 훨씬 더 크기 때문에 위의 random network보다 더 많은 차이가 나게 된다.
  • 쉽게 말해 일반적으로 우리가 차수가 굉장히 높은 사람을 한두 명만 만나더라도 그 사람에 의해 내 친구의 평균 수가 엄청나게 올라가게 될 것이다. 이를 통해 역설이 설명가능하다.

0개의 댓글