벡터 공간 : 어떻게 간단한 음악 추천 시스템을 구현하는 방법?
뿐만 아니라 듣고 노래를 선택,하지만 당신이 좋아할만한 노래의 맛을 취향에 따라 노래를 추천 할 수 있습니다
구문 분석 알고리즘
- 당신은 그들이 당신에게 추천하는 노래를 듣고 싶어, 유사한 사용자 입맛에 발견
- 노래와 유사한 특성을 가진 당신의 마음에 드는 노래를 찾아,이 노래는 당신에게 추천합니다
비슷한 사용자를 기반으로 1. 메이크업 권장
더-공동 좋아하는 노래와 사용자의 맛과 비슷한으로 볼 사람들의 노래를 듣고 유사, 누가 맛이 비슷합니다 말한다. 사용자는 사용자와 사용자가 좋아하는 노래의 번호 함께이 임계 값이 사용자의 즐겨 찾기를 초과하지만 경우에 당신이 들었하지 않은, 임계 값을 함께 좋아하는 노래와 각 사용자의 수에 비해 모두를 통과해야하고, 설정 노래 추천
어떻게 노래에 대한 사용자 열정의 수준을 정의?
사랑의 사용자가 좋아하는 행동으로 정의하는 범위 내에서 각 작업이 점수를 정의하는, 점수가 높을수록, 더 높은 정도
단일 사이클 | 몫 | 수집 | 검색 | 청문회 후 | 허드 | 건너 뛰기 |
---|---|---|---|---|---|---|
5 | 4 | 삼 | 이 | 1 | 0 | -1 |
사용자와 두 개의 사용자 경우 좋아하는 노래 대응표 후 어느 정도를 확인하는 유사 맛이 있는지?
다른 거리를 사용할 수있는 두 사용자 간의 유사도를 들어, 유클리드 거리는, 유클리드 거리를 두 개의 벡터 사이의 거리를 계산하기 위해 사용된다.
벡터와 거리 :
일차원 라인은 단일 일차원 번호 1,2,3의 위치를 나타내고, 2 차원 평면이 (1,3)과, 인 또는 2 차원 공간 위치를 나타내는 같이, 3 차원 공간을 3 차원 공간 위치 K 차원 공간 등에 의해 (1,3,5)에 의해 사용될 수있다 (X1은 X2가, ..., XK)이 어떻게 두 벡터 그 사이의 거리를 계산하기 위해, 벡터 표현했다?
모든 노래의 사용자 열정의 모든 수준은 벡터로 표시하려면, 정도의 두 개의 사용자의 취향에 유사한 조치로, 두 벡터 사이의 유클리드 거리를 계산 만약 당신이 밥과 유클리드 거리 최소, 가장 유사한 당신의 취향에 설명
당신 : (5,3 ...)
소명 : (4,5 ...)
왕 : (1,0 ...)
레드 : (3,0 ...)
화이트 : (0,0 ...)
당신과 샤오 밍, 왕, 레드, 화이트 유클리드 거리가 있습니다 :
, , , 가장 유사한 맛 샤오 명나라에 따라서
이 비슷한 노래를 기반으로 추천을합니다
이 새로운 사용자 인 경우, 노래가 좋아하는 노래와 유사한 경우 충분한 데이터의 동작은, 유사한 기반으로 음악을 추천 할 수 있습니다 수집하지, 당신에게 추천 넣어
어떻게 두 곡 사이의 유사성의 정도를 정량화하기 위해?
당신은 사람들이 듣고 좋아하면 두 곡은, 비슷 매우 유사, 사용자 기반 기준이 사랑의 정도를 정의하는 것입니다 노래의 두 가지 측면을 반영, 각 사용자가 사랑의 정도를 정의, 사랑 노래의 다른 학위를, 권장되는 방법에 따라 각 사용자에 대해, 각각의 노래, 노래를 추천 유사한 아이디어를 기반으로, 벡터로 각 노래의 정도를 사랑합니다, 사용자와 유사하다, 각 노래와 벡터 각 사용자의 점수, 벡터 계산 사이의 유클리드 거리에 의해 표현 벡터, 두 곡 더 유사한 작은 거리가, 사용자가 음악을 듣고,하고 알아내는 한 자신의 좋아하는 노래의 높은 수준을 찾아 이 노래는 아주 다른 노래와 유사한 추천입니다
확장 요약
그것은 가장 일반적인 문제 권장 시스템입니다