6. 유클리디안(Euclidean) 거리 점수 기반 유사도(1)
• 두 점 사이의 거리를 계산할 때 주로 사용하는 알고리즘
• 사람들이 공통으로 점수를 매긴 항목의 거리를 통해
유사도를 판단
• 거리가 짧을 수록 유사하다고 판단
※ 일반적으로 유사도가 높을 수록 1에 가깝고, 낮을 수록 0에 가깝도록
표현한다. 따라서 1/(1+d) 의 연산을 한다. (d=유클리디안 거리점수)
8. 코사인(Cosine) 기반 유사도(1)
• 이것은 두 단위 벡터의 내적을 이용, 단위 벡
터간의 내각의 크기로 유사도 측정을 한다.
• 값은 0~1 사이로 가지게 된다.
• 결과 값이 1인 경우, 모든 단어의 가중치가 동
일한 항목, 완전 같은 문서
• 0은 두 항목에 일치 하는 것이 없다는 것을 뜻
한다.
11. 자카드 계수(Jaccard) 기반 유사도
(1)
• Boolean 속성으로 이루어진 두 개의 오브젝
트 A와B에 대하여
• A와 B가 교집합으로 1의 값을 가진 속성의 개
수를
• A와 B의 1의 합집합 개수로 나눈 값.
12. 자카드 계수(Jaccard) 기반 유사도
(1)
User based 데이터 셋 (1 : 구매 )
사용자 1과 사용자 2의 Jaccard 유사도를 계산하는 경우
(분모) |A∪B| 즉 두 사람이 산 상품의 합집합의 개수는 3
(분자) |A∩B| 두 사람이 산 상품의 교집합의 개수는 2
jaccard 유사도 값은 ⅔= 0.67
모든 사용자간 계산된 유사도
Item1 Item2 Item3 Item4
User1 0 1 0 1
User2 0 1 1 1
User3 1 0 1 0
User1 User2 User3
User1 1.0 0.67 0
User2 0.67 1.0 0.25
User3 0 0.25 1.0
13. 자카드 계수(Jaccard) 기반 유사도
(3)
User based 데이터 셋 과 유사도
사용자 선호도가 높은 항목에 가중치를 주기 위해
행렬곱
점수가 높은 항목 중 이미 구매 하지 않은 항목 추천
Item1 Item2 Item3 Item4
User1 0 1 0 1
User2 0 1 1 1
User3 1 0 1 0
User1 User2 User3
User1 1.0 0.67 0
User2 0.67 1.0 0.25
User3 0 0.25 1.0
Item1 Item2 Item3 Item4
User1 0 1.67 0.67 1.67
User2 0.25 1.67 1.25 1.67
User3 1.0 0.25 1.25 0.25
14. 마치며…
• 항목 기반 필터링은 미리 항목의 유사함을 구해 놓고, 가
중치를 주어 추천
• 항목의 유사도가 상대적으로 변하지 않는다.
• 빠르다.
• 유사도 저장 공간이 추가로 필요.
• 사용자 기반 필터링은 가중치에 대한 추가 단계가 없어 구
현이 용이.
• 자주 변경되는 보다 작은 데이터 세트에 적당하다.