본문 바로가기
728x90

분류 전체보기158

Deep Neural Networks for YouTube Recommendation Abstract 딥러닝이 나온 이후에 딥러닝을 활용한 유튜브 추천 성능 향상에대한 논문이다. 2단계로 구성되어있고 첫번째 단계는 후보 생성 모델이고 두번째는 ranking model이다. 많은 데이터에 따른 유튜브의 추천시스템이 직면한 문제점 3가지 1. Scale: 기존에 존재하던 추천 알고리즘(ex. 협업필터링)은 소량의 데이터에서 성능이 좋았지만 유튜브에서는 적합하지 않았다. (생각해보면 현재 유튜브를 안보는 사람이 없을 정도니 협업필터링으로 연산하기엔 한계가 많다) 2. Freshness: 유튜브는 매 1초마다 많은 양의 비디오가 업로드된다. 추천시스템은 이러한 최신 업로드된 컨텐츠 뿐만 아니라 유저의 최근행동에 대해서 유연하게 반응해야한다. 새로운 컨텐츠와 기존 컨텐츠 사이의 균형을 맞춰주는것이.. 2021. 1. 17.
프로그래머스 숫자의 표현 (python, 파이썬) 문제 Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 수 있습니다. 1 + 2 + 3 + 4 + 5 = 15 4 + 5 + 6 = 15 7 + 8 = 15 15 = 15 자연수 n이 매개변수로 주어질 때, 연속된 자연수들로 n을 표현하는 방법의 수를 return하는 solution를 완성해주세요. 제한사항 n은 10,000 이하의 자연수 입니다 입/출력 n result 15 4 코드 def solution(n): answer = 1 for i in range(1, n//2+1): temp = 0 for j in range(i, n): temp += j .. 2021. 1. 17.
프로그래머스 멀리 뛰기 (python, 파이썬) 문제 효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는 (1칸, 1칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 1칸, 1칸) (2칸, 2칸) 의 5가지 방법으로 맨 끝 칸에 도달할 수 있습니다. 멀리뛰기에 사용될 칸의 수 n이 주어질 때, 효진이가 끝에 도달하는 방법이 몇 가지인지 알아내, 여기에 1234567를 나눈 나머지를 리턴하는 함수, solution을 완성하세요. 예를 들어 4가 입력된다면, 5를 return하면 됩니다. 제한사항 n은 1 이상, 2000 이하인 정수입니다. 입/출력 n result 4 5 3 3 코드 import operator as op from functools im.. 2021. 1. 14.
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.
프로그래머스 다음 큰 숫자 (python, 파이썬) 문제 자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니다. 조건 3. n의 다음 큰 숫자는 조건 1, 2를 만족하는 수 중 가장 작은 수 입니다. 예를 들어서 78(1001110)의 다음 큰 숫자는 83(1010011)입니다. 자연수 n이 매개변수로 주어질 때, n의 다음 큰 숫자를 return 하는 solution 함수를 완성해주세요. 제한사항 n은 1,000,000 이하의 자연수 입니다. 입/출력 n result 78 83 15 23 코드 def solution(n): answer = 0 num = bin(n)[2:].count('1') w.. 2021. 1. 13.
프로그래머스 두 개 뽑아서 더하기 (python, 파이썬) 문제 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers의 길이는 2 이상 100 이하입니다. numbers의 모든 수는 0 이상 100 이하입니다. 입/출력 numbers result [2,1,3,4,1] [2,3,4,5,6,7] [5,0,2,7] [2,5,7,9,12] 코드 def dfs(idx, value, numbers, visited): global answer if idx == 2: answer.append(value) return for num in range(len(numbers)): if visited[.. 2021. 1. 8.
728x90