본문 바로가기
728x90

추천9

프로그래머스 예산 (python, 파이썬) 문제 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 없습니다. 그래서 최대한 많은 부서의 물품을 구매해 줄 수 있도록 하려고 합니다. 물품을 구매해 줄 때는 각 부서가 신청한 금액만큼을 모두 지원해 줘야 합니다. 예를 들어 1,000원을 신청한 부서에는 정확히 1,000원을 지원해야 하며, 1,000원보다 적은 금액을 지원해 줄 수는 없습니다. 부서별로 신청한 금액이 들어있는 배열 d와 예산 budget이 매개변수로 주어질 때, 최대 몇 개의 부서에 물품을 지원할 수 있는지 return 하도록 solution 함수를 완성해주세요. 제한사항 d는 부서별로 신청한 금액이.. 2021. 2. 18.
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.
SGD를 사용한 Matrix Factorization 알고리즘 MF(Matrix Factorization) 행렬분해로 추천시스템에서 사용자, 아이템의 관계를 가장 잘 설명하는 P, Q행렬로 분해하는 것을 의미한다. MF 알고리즘 1. 잠재요인의 개수 K를 설정 2. 주어진 K에 따라서 P(MxK)와 Q(NxK)행렬을 만들고 초기화한다. 3. 주어진 P(User Latent Matrix), Q(Item Latent Matrix)을 사용해서 예측 평점을 구한다. $$\hat{R}=PQ^{^{T}}$$ 4. R(User-Item Matrix)에 있는 실제 평점과 예측 평점의 오차를 구하고 이 오차를 줄이기 위해서 P, Q 값을 업데이트한다. 5. 오차가 일정 Threshold 이하가 되거나 미리 정해진 Iteration에 도달할 때 까지 3번으로 돌아가서 반복한다. SG.. 2021. 1. 13.
728x90