다른 제품의 비율을 1-5로 평가하는 사용자 데이터베이스가 있습니다. 권장 엔진은 유사도가 높은 다른 사용자의 환경 설정을 기반으로 사용자에게 제품을 권장합니다. 비슷한 사용자를 찾는 첫 번째 방법은 Cosine Similarity를 사용하고 사용자 등급을 벡터 구성 요소로 취급하는 것입니다. 이 접근법의 주된 문제점은 단지 벡터 각도를 측정하고 등급 또는 크기를 고려하지 않는다는 것입니다.권장 엔진 : 코사인 유사도 비교 각 벡터 구성 요소 간의 차이 %
내 질문은 이것이다 : 코사인 유사성은 어떤 방법으로 간단하게 두 벡터 (사용자)의 벡터 구성 요소 간의 %의 차이를 측정 보다 사용자의 유사성 판단에 더 적합한 이유 누군가가 나에게 설명 할 수 있습니까?
예를 들어, 왜 그냥하지 대신 코사인 유사성의
n = 5 stars
a = (1,4,4)
b = (2,3,4)
similarity(a,b) = 1 - ((|1-2|/5) + (|4-3|/5) + (|4-4|/5))/3 = .86667
을 :
a = (1,4,4)
b = (2,3,4)
CosSimilarity(a,b) =
(1*2)+(4*3)+(4*4)/sqrt((1^2)+(4^2)+(4^2)) * sqrt((2^2)+(3^2)+(4^2)) = .9697
이것은 datascience.stackexchange.com에 대한 좋은 후보자입니다. –