본문 바로가기
728x90

추천9

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.
프로그래머스 짝지어 제거하기 (python, 파이썬) 문제 설명 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지 반환하는 함수를 완성해 주세요. 성공적으로 수행할 수 있으면 1을, 아닐 경우 0을 리턴해주면 됩니다. 예를 들어, 문자열 S = baabaa 라면 b aa baa → bb aa → aa → 의 순서로 문자열을 모두 제거할 수 있으므로 1을 반환합니다. 제한사항 문자열의 길이 : 1,000,000이하의 자연수 문자열은 모두 소문자로 이루어져 있습니다 입.. 2021. 2. 21.
728x90