1. Pattern: 찾고자 하는 node-induced subgraph로 motif이라고도 부르다.
2. Recurring: pattern이 전체 그래프에서 나타나는 빈도를 의미한다.
3. Significant: 랜덤하게 생성된 그래프에서 기대보다 빈번하게 있는가를 의미한다.
Graph-level에서는 거대 그래프 에 포함되는 작은 그래프 의 개수로 빈도를 정의할 수 있다.
Node-level에서는 의 anchor 노드를 라 할 때 와 isomorphicg한 의 subgraph들 중 로 맵핑되는 노드 의 개수를 빈도로 정의한다.
이러한 방식은 outlier에 더 robust하다.
데이터셋이 여러개의 그래프를 가진다면 연결되지 않은 부분을 가진 하나의 거대 그래프 로 보고 빈도를 계산한다.
Erdos-Renyi random graph: 는 개의 노드에서 확률 에 의해 엣지를 랜덤하게 만들어주는 undirected graph이다.
Configuration model: Degree sequence를 이용하는 방법으로 같은 degree sequence를 가진과 비교할 수 있다. 각 노드는 degree만큼 랜덤하게 엣지를 연결하여 그래프를 생성한다.
Switching: 엣지 쌍을 무작위로 선택하여 endpoint를 바꿔 새로운 그래프를 생성한다. 비교될 그래프와 node degree가 같다는 특징이 있다.
Transitivity: 이 의 subgraph이고 가 의 subgraph라면 은 의 subgraph이다.
Anti-symmetry:이 의 subgraph이고 가 의 subgraph라면 두 그래프는 isomorphic하다.
Closure under intersection: 노드가 하나인 그래프는 모든 그래프의 sugraph이다. 음수를 가지는 임베딩은 없으며 , 라면 는 유효한 값을 가진다.
학습 데이터셋 는 의 subgraph인 가 반, 그렇지 않은 것이 반이 되도록 구성해야 한다.
Positive sample에 대해서는 를 최소화하도록 negative smaple에 대해서는 )를 최소화하도록 학습하는데 이는 모델이 임베딩을 너무 멀리 이동시키는 것을 방지하기 위함이다.
데이터셋 로부터 학습을 위한 와 를 샘플링하는 과정이 필요하다.
는 무작위로 anchor 노드 를 뽑은 뒤 거리가 인 모든 노드를 포함시켜 만든다.
Positive example 는 BFS 샘플링을 거친다.
- 로 초기화한다.
- 매 스텝마다 의 모든 이웃 노드 집합 의 10%를 샘플링하여 로 업데이트하며 나머지 노드들은 로 업데이트 한다.
- 스텝을 거치면 를 얻게 된다.
Negative example은 로부터 노드/엣지들은 제거하거나 추가하여 만든다.
입력 그래프 를 분해하여 order embedding space로 보낸뒤 subgraph들의 빈도를 확인한다.
Order embedding space에서는 subgraph의 여부를 쉽게 알 수 있으며 위 그림에서 붉은색 영역 내의 모든 노란 점들은 를 포함하는 모든 의 neighborhoods가 된다.
무작위로 선택한 노드 로부터 시작하며 로 설정한다.
Motif의 사이즈는 의 이웃 노드들을 골라 점진적으로 늘리며 스텝 후에 붉은 영역에 속하는 neighborhoods의 수를 최대화하는 것이 목적이다.
원했던 motif size에 도달하면 멈추고 로부터 subgraph를 도출한다.