본문 바로가기
728x90

추천시스템8

code로 이해하는 SR-GNN 논문 As 행렬 만들기 v1 -> v2 -> v3 -> v2 -> v4의 session이 존재할때 그래프는 위의 노드와 간선 연결이 보인다. 해당 session의 그래프를 바탕으로 connectionm matrix A_s 생성 A_s는 두개의 인접행렬 A_s(out)과 A_s(in)의 연결로 정의된다. 이는 즉, 세션 그래프에서 각각 진입, 진출의 간선 연결로 생각하면 된다. # batch가 10이라고 가정 i = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # input data, masking된 데이터, target 데이터 불러오기 inputs, mask, targets = train_data.inputs[i], train_data.mask[i], train_data.targets[i] item.. 2021. 5. 21.
LightGCN 논문 리뷰 Abstract 협업필터링에 대해서 GCN은 최신 알고리즘이다. 그러나 추천에 대해서 GCN의 경우 이유를 납득할만하지 못했고 해당 논문에서 GCN의 2가지 특징, feature transformation과 nonlinear activation들이 협업필터링 성능에 크게 기여하지 않는다는것을 확인했다. 더 최악인것은 이들을 추가했을 경우 학습이 더 어려워지고 추천 성능은 더 떨어졌다. 해당 논문에서는 GCN을 간소화해서 간결하고 정확한 LightGCN모델을 제안했다. 특히 LightGCN은 user-item interaction graph에서 선형적으로 전파하면서 user, item Embedding을 학습시켰고 모든 레이어에서 학습 된 임베딩의 가중치 합을 최종 임베딩으로 사용했다. Introducti.. 2021. 3. 29.
code와 함께 보는 TransH 논문 리뷰 논문: Wang, Zhen, et al. "Knowledge graph embedding by translating on hyperplanes." code: github.com/bladejun/Knowledge_graph_tensorflow bladejun/Knowledge_graph_tensorflow Knowledge Graph Embedding Model collections implemented by TensorFlow - bladejun/Knowledge_graph_tensorflow github.com TransH는 TransE의 단점을 해결하기위해서 hyperplane을 이용해서 새롭게 제안한 알고리즘이다. bladejun.tistory.com/91?category=426400 code와 함.. 2021. 3. 26.
tensorflow reuse 의미 예를 들어서 한 물건에 대해서 10%의 관세를 붙이고 싶다고 가정해보자 add tax tensorflow code def add_tax(price): with tf.variable_scope("charges") as scope: tax = tf.get_variable("tax", (), dtype=tf.float64, initializer=tf.constant_initializer(0.1)) total_price = price * (1.0 + tax) return total_price 10$하는 책에다가 tax를 부과한 결과 book_price = add_tax(10.0) init_op = tf.global_variables_initializer() with tf.Session() as sess: ses.. 2021. 3. 18.
ALS 알고리즘 해당 Alternative Least Squares 알고리즘은 Collaborative Filtering for Implicit Feedback Datasets 논문을 기반으로 설명을 드리도록 하겠습니다. ALS알고리즘은 MF(matrix factorization)을 통해 나온 user-latent matrix와 item-latent matrix를 번갈아가면서 학습시키는 것입니다. 두 행렬을 한꺼번에 최적화하는것은 어렵고 시간이 오래걸리기때문에 user-latent matrix를 update할때에는 item-latent matrix를 상수로 놓고 학습을 하고 반대로 item-latent matrix를 update할때에는 user-latent matrix를 상수로놓고 학습을 진행하는 것입니다. SVD(Si.. 2021. 3. 7.
Neural Graph Collaborative Filtering 2020년 3월에 발표된 Neural Graph Collborative Filtering 논문을 핵심적인 부분에 대해서만 정리해보려고한다. 궁금한점이나 틀린점이 있다면 언제나 태클 환영합니다!! 해당 그림은 user-item 상호작용 그래프와 해당 논문에서 강조하고 있는 high-order connectivity를 보여주는 figure이다. 오른쪽 그림은 user1을 target으로해서 user1에게 상품을 추천하기위한 figure를 나타낸다. 왼쪽 그림을 바탕으로 오른쪽 그래프를 만들 수 있다. 예를 들어서 u2 -> i2 -> u1와 같이 edge로 연결되어있는것을 방향성으로 파악해내는것이다. 즉 u1과 u2사이에는 행동 유사성이 있다고 볼 수 있다는 것이다. 또한 i4 -> u2 -> i2 -> u.. 2021. 2. 5.
728x90