본문 바로가기
728x90
반응형

CS224W26

[CS224W] GNN for RecSys (4) - LightGCN LightGCN: Simplifying and Powering Graph Convolution Network for RecommendationMotivationshallow embeddings은 그 자체로 꽤 좋은 표현력(expressive)를 가진다.노드 개수를 $N$, 임베딩 차원을 $D$라 하면- shallow embedding: $O(ND)$- GNN: O(D^2)GNN의 파라미터는 충분하지 않을 수 있다그러면 GNN으로 NGCF의 파라미터를 줄일 수 있을까? YES!게다가 단순화(simplification)은 추천 성능을 향상시킬 수 있다. LightGCN의 idea는 크게 3가지이다.- 이분그래프에서의 인접행렬(adjacency matrix)- GCN의 행렬 곱셈(matrix formulati.. 2024. 11. 9.
[CS224W] GNN for RecSys (3) - NGCF (Neural Graph Collaborative Filtering) Neural Graph Collaborative Filtering (NGCF)Overview기존의 collaborative filtering (CF)은 shallow embedding을 이용하기 때문에- 그래프 구조를 반영하지 못함- 모델 학습이 high-order graph structure를 포착하지 않음위 그림을 보자.왼쪽 그림은 3명의 user와 5개의 item의 상호작용이 있는 이분그래프이다.$u_1$이 target user라 하자. 기존 CF은 $u_1$와 직접 연결된 $i_1, i_2, i_3$의 item만 포착한다.그런데 $i_2$는 $u_2$와도 연결되어 있고, $i_3$은 $u_3$와도 연결되어있다.그러나 shallow embedding은 이러한 관계는 포착하지 못한다.실제 user-i.. 2024. 11. 8.
[CS224W] GNN for RecSys (2) - Embedding-Based Models Embedding-Based Models, Surrogate Loss Functions, BPR LossNotation and Score Function$U$를 모든 user의 집합, $V$를 모든 item의 집합, 그리고 $E$를 관찰한(observed) user-item 상호작용 집합이라 하자.top-K item을 추천한다고 하자.유저 $u$에게 추천할 item은 $\text{score}(u, v)$가 가장 큰 순서대로 $K$개의 item을 추천해주면 된다.이때, 추천해줄 item은 이미 상호작용한 item은 제외해야한다. (excluding already interacted items)위 그림의 경우, 실선은 already interacted edge이고, 점선은 interaction되지 않은 ed.. 2024. 11. 7.
[CS224W] GNN for RecSys (1) - Task and Evaluation GNN for Recommender Systems: Task and EvaluationPreliminary추천시스템은 기본적으로 이분그래프(bipartite graph)의 구조를 갖는다.이분 그래프는 2개의 노드 종류를 갖는다: users, items이분 그래프의 edge는 user와 item을 연결한다.user-item의 상호작용(interaction)일 수도 있고, timestamp와 연관지을 수도 있다.추천시스템의 목적은 다음과 같다.과거의 user-item 상호작용이 주어질 때, 새로운 user-item 상호작용을 예측한다.(보통 기존 user가 new item과 상호작용을 할지 말지)이를 link prediction으로 환원하여 생각할 수 있다.user와 item의 집합을 $U,\ V$라 하자... 2024. 11. 6.
[Community Detection] Spectral Clustering Spectral Clustering: Graph Cut with EigenvectorsGraph Partitioning다음과 같은 그래프 $G = (V, E)$에 대하여 우리는 2개의 disjoint group $\{ 1,2,3 \}$와 $\{ 4,5,6 \}$로 partitioning할 수 있다. 그렇다면 어떤게 좋은(good) partition으로 정의할 수 있을까? 어떻게 효율적(efficiently)으로 partition을 구할 수 있을까?좋은 partition은 1) 같은 그룹끼리의 연결은 최대이며 2) 다른 그룹끼리의 연결은 최소화하는 것이다.위 그림을 예시로 들면, 그룹 A, B 내부 노드끼리의 connection은 3개이고, A와 B의 connection은 2개이다.Graph Cutspar.. 2023. 12. 6.
[CS224w] Subgraphs and Motifs Subgraphs and MofitsIntroduction and Motivationsubgraph는 network의 block과도 같다. subgraph는 network의 특징이나 구별하는데 매우 도움이 된다.특히 많은 도메인에서 반복되는 구조는 그래프에서 어떤 기능이나 행동(function or behavior)을 결정짓는다.Definition: Subgraph주어진 그래프 $G=(V, E)$에 대하여 2가지 방법으로 subgraph $G'=(V', E')$ 를 정의할 수 있다.Def 1. Node-induced subgraph $V' \subset V$$E' = \{ (u,v) \in E \ | \ u, v \in V' \}$$G'$ is the subgraph of $G$ induced by $V.. 2023. 11. 28.
728x90
반응형