반응형
머신러닝에서 모델의 성능을 측정할 때, recall, precision, MAE, RMSE와 같은 평가 지표를 흔히 사용합니다. 추천 시스템에서도 이러한 지표들을 사용하기는 하지만 추천 작업에 조금 더 특화된 방법을 사용합니다. 본 포스팅에서는 유저의 구매 여부, 클릭 여부와 같은 implicit feedback을 활용한 추천 모델을 기반으로 이러한 평가 지표에 대해 알아보겠습니다. "Collaborative Filtering for Implicit Feedback Datasets" 논문을 바탕으로 movielens 데이터로 구현한 뒤, NDCG와 MAP 평가 지표를 통해 모델의 성능을 측정하겠습니다. 먼저 앞서 설명한 implicit data에 사용되는 두 지표에 대해 알아보겠습니다. NDCG (Nor..
Contents 1. 전통적인 링크 예측 1.1 휴리스틱 방법론 1.2 Matrix factorization 2. GNN 기반 링크 예측 2.1 GAE (Graph Autoencoder) 2.2 VGAE (Variational Graph Autoencoder) 링크 예측(Link Prediction)은 그래프 이론의 중요한 분야 중 하나입니다. 링크 예측은 그래프 내에서 새로운 연결이 형성될 가능성을 예측하는 작업으로, 소셜 네트워크와 추천 시스템에 핵심적으로 사용되고 있습니다. 특히 추천 시스템에서 유저 노드와 아이템 노드 간의 상호작용을 예측하기 위해 활용됩니다. 이번 포스팅에서는 그래프 구조에서 링크 예측을 위한 기초적인 방법론부터 GAE 신경망까지 알아보도록 하겠습니다. 기초적인 방법론은 딥러닝 ..
Laplacian Matrix 라플라시안 행렬(Laplacian matrix)은 그래프의 구조와 특성을 파악하는 데에 중요한 개념입니다. 이번 포스팅에서는 그래프 관점에서 라플라시안 행렬의 의미와 활용에 대해 자세히 알아보겠습니다. 엑셀 스프레드 시트나, spss와 같은 테이블 데이터와 달리, 그래프는 각 데이터를 나타내는 노드와, 노드 간의 관계인 엣지로 이루어진 형태를 띄고 있습니다. 이러한 그래프 구조를 표현하는 방법 중 하나가 인접 행렬(adjacency matrix)입니다. 아래와 같은 6개의 데이터(노드)와 각 노드의 관계로 이루어진 그래프가 있을 때, 노드들의 연결 상태를 표현하는 것이 입접 행렬입니다. 그래프를 구성하는 총 노드의 개수를 N이라고 하면, 입접 행렬 A는 (N x N) 매트릭..
메시지 패싱 (message passing)이란? 본 포스팅에서는 메시지 패싱을 그래프 신경망 관점에서 알아보겠습니다. 메시지 패싱은 그래프에서 노드 간에 정보를 전달하고 상호작용하는 방법을 의미합니다. 각 노드는 고유한 노드 임베딩을 학습하기 위해 주변 노드로부터 메시지를 받아들이고, 이를 기반으로 자신의 상태를 업데이트합니다. 예를 들어, GCN이나 GAT와 같은 GNN 기반 모델들은, 노드 임베딩을 계산하기 위한 세부적인 방법은 다르더라도 그 전체적인 흐름은 메시지 패싱의 형태를 따릅니다. 즉 우리는 다양한 형태의 GNN 레이어를 Message Passing Neural Network (MPNN or MP-GNN)으로 일반화 할 수 있습니다. Gilmer et al. (2017)에 따르면 노드에 메..
Contents 1. GIN (Graph Isomorphism Network) 2. GIN을 활용한 그래프 분류 2.1 코드 구현 GIN은 Graph Isomorphism Network의 약자로, 그래프 동형성을 바탕으로한 모델입니다. 2018년에 Xu et al.에 의해 소개된 GIN은 그래프 동형성을 평가하는 WL 테스트의 표현을 갖추도록 설계되었습니다. 본 포스팅에서는 WL 테스트에 대한 설명은 다루지 않습니다. 전통적인 방식보다는, neural network 관점에 포커싱하여 GIN을 소개합니다. GIN은 그래프 구조를 구별하기 위해 사용되는 기법입니다. 이번 포스팅에서는 GIN과 그래프의 표현력을 의미하는 graph expressiveness에 대해 설명하겠습니다. 1. GIN (Graph Is..