강의복습
1. 그래프의 정점을 어떻게 벡터로 표현할까?
더보기





1) 정점 표현 학습
- 그래프의 정점들을 벡터로 표현하는 것
- 정점 임베딩(Node Embedding)이라고도 함
- 임베딩 공간: 정점이 표현되는 벡터 공간
- 정점 표현 학습의 목표: 그래프에서의 정점간 유사도를 임베딩 공간에서도 보존하는 것
- 임베딩 공간에서의 유사도: 내적 사용

- 그래프에서 정점 사이의 유사성을 계산하는 방법에 따라 여러 접근법이 구분됨
2) 인접성(Adjacency) 기반 접근법
- 두 정점이 인접할 때(둘을 직접 연결하는 간선이 있을 때) 유사하다고 간주
- 인접 행렬: 두 정점 u, v가 인접한 경우 해당 원소 1, 아니면 0
- 손실 함수

3) 거리/경로/중첩 기반 접근법
- 거리 기반 접근법: 두 정점 사이의 거리가 충분히 가까운 경우 유사하다고 간주
- 경로 기반 접근법: 두 정점 사이의 경로가 많을수록 유사하다고 간주

- 중첩 기반 접근법: 두 정점이 많은 이웃을 공유할수록 유사하다고 간주
- 공통 이웃 수 대신 자카드 유사도 혹은 Adamic Adar 점수 사용할 수도 있음
자카드 유사도(Jaccard Similarity) | Adamic Adar 점수 |
공통 이웃의 수 대신 비율을 계산하는 방식 | 공통 이웃 각각에 가중치를 부여하여 가중합을 계산하는 방식 |
![]() |
![]() |

4) 임의보행 기반 접근법
- 한 정점에서 시작하여 임의보행을 할 때 다른 정점에 도달할 확률을 유사도로 간주
- 손실함수

- 임의보행 방법에 따라 DeepWalk와 Node2Vec가 구분됨
- Deepwalk: 기본적인 임의보행
- Node2Vec: 2차 치우친 임의보행(Second-order Biased Random Walk)을 사용 (직전 정점의 거리를 기준으로 차등적인확률 부여)
- 손실함수 계산할 때 정점의 수의 제곱에 비례하는 시간이 소요됨
→근사식 사용 (네거티브 샘플 뽑아서 비교)
5) 변환식 정점 표현 학습의 한계
- 변환식(Transductive) 방법: 학습의 결과로 정점의 임베딩 자체를 얻음
귀납식(Inductive) 방법: 학습의 결과로 인코더(정점을 임베딩으로 변화시키는 함수) 얻음 - 변환식 임베딩 방법의 한계
- 학습 진행 이후 추가된 정점에 대해서는 임베딩 얻을 수 없음
- 모든 정점에 대한 임베딩을 미리 계산하여 저장해두어야 함
- 정점이 속성(Attribute) 정보를 가진 경우에 이를 활용할 수 없음
6) 실습: Node2Vec을 사용한 군집 분석 및 정점 분류
2. 그래프를 추천시스템에 어떻게 활용할까? (심화)
더보기
1) 추천시스템 기본 복습
- 내용기반추천, 협업필터링등
2) 넷플릭스 챌린지 소개
3) 기본 잠재 인수 모형
- 사용자 임베딩, 상품 임베딩을 학습
- 임베딩의 내적으로 평점을 근사
4) 고급 잠재 인수 모형
- 사용자 편향, 상품 편향, 시간적 편향을 고려
5) 넷플릭스 챌린지의 결과
6) 실습: Surprise 라이브러리와 잠재 인수 모형의 활용
코멘트
어제까지는 내용이 별로 어렵지 않아서 할만했는데 오늘 내용은 좀 어려운 것 같다. 그리고 피어세션때 팀원분이 저번주 과제였던 캐글 대회 코드를 1시간동안이나 설명해주셔서 정말 대단하다고 생각했다.
'부스트캠프 AI Tech 1기 [T1209 최보미] > U stage' 카테고리의 다른 글
Day27 학습정리 - 서비스 향 AI 모델 개발 & AI 시대의 커리어 빌딩 (0) | 2021.03.02 |
---|---|
Day25 학습정리 - GNN 기초 & GNN 심화 (0) | 2021.02.26 |
Day23 학습정리 - 군집 탐색 & 추천시스템 (기초) (0) | 2021.02.24 |
Day22 학습정리 - 페이지랭크 & 전파 모델 (0) | 2021.02.23 |
Day21 학습정리 - 그래프 이론 기초 & 그래프 패턴 (0) | 2021.02.22 |