별첨 – 추천 알고리즘 용어 설명
Jaccard , Cosine, Euclidean 란?
우선 정식 명칭은 : Euclidean Distance / Cosine Similarity / Jaccard coefficient
이 3개의 알고리즘은 모두 두 Vector간의 거리를 구하는 알고리즘입니다.
그래서 추천알고리즘에서 상품(Vector)간의 거리 즉 유사도를 측정할 때 사용합니다.
상품1 상품2
Jaccard :
상품간의 교집의 크기
0
1000
2000
3000
4000
5000
6000
7000
0 1000 2000 3000 4000 5000 6000
Euclidean Distance
상품간의 거리
상품1
상품2
θ Cosine Similarity
상품간의 각도
별첨 – 추천 알고리즘 용어 설명
Jaccard Coefficient
각각의 두 방송의 본 시청자 중 두 방송을 모두 본 시청자 수의 비율을 수치로 나타
내는 방식입니다.
(예시) 아래와 같이 염보성방송, 김택용방송, 양띵방송을 시청 했습니다.
방송 시청자1 시청자2 시청자3 시청자4 시청자5 시청자6 시청자7
염보성 방송(스타1) ● ● ● ● ●
김택용 방송(스타1) ● ● ● ● ●
양띵 방송(마인크래프트) ● ● ●
[김택용 - 염보성 방송] Jaccard 값 : 공통시청자수(5명) / 두방송의 전체 시청자수(6명) = 0.83
[김택용 – 양띵 방송] Jaccard 값 : 공통시청자수(2명) / 두방송의 전체 시청자수(6명) = 0.33
김택용 방송은 양띵 방송(0.33)보다 염보성 방송(0.83)과 유사하다
별첨 – 추천 알고리즘 용어 설명
Cosine Similarity, Euclidean Distance
각각의 두 방송의 정보(시청자, 시청자수, 채팅수 등)를 Vector로 나타낼 때
두 Vector간의 각도(내적)를 측정하는 방식이 Cosine-Similarity
두 Vector간의 거리를 측정하는 방식이 Euclidean Distance
방식이다.
Cosine Similarity의 장점은 각도로 유사도를 측정하기 때문에 유명BJ의 일반 BJ간의 유사도를 측정할 수 있
습니다.
0
1000
2000
3000
4000
5000
6000
7000
0 1000 2000 3000 4000 5000 6000
Euclidean Distance
상품간의 거리
상품1
상품2
θ Cosine Similarity
상품간의 각도
별첨 – 추천 알고리즘 용어 설명
K-Means 란?
주어진 데이터를 K개의 군집으로 나누는 알고리즘이다.
① 나눌 군집 개수 K 를 결정
② 임의의 군집 중심으로 가까운 점들끼리 묶음
③ 각각의 군집에 대하여 평균을 새로 구함
④ 새로운 평균의 중심값으로 가장 근접한 점들끼리 묶음
⑤ 3번, 4번 단계를 반복적으로 수행하여 변경이 없을때까지 수행
① ② ③ ④
⑤
유사도 측정 – 왜 이렇게 알고리즘에
따라 결과가 다른가?
Cosine Similarity
엄마-아기 = 0.96966224
아빠-아기 = 0.98190527 ( WIN )
Euclidean Similarity
엄마-아기 = 85 ( Win )
아빠-아기 = 163
유사도 측정 – 왜 이렇게 알고리즘에
따라 결과가 다른가?
Cosine Similarity
아빠와 더 닮은 이유?
Cosine 방식은 Item의 각도 즉 비율을 측정
그래서 전체적인 비율이 비슷한 아빠가 유사도가 높음
Euclidean Similarity
엄마와 더 닮은 이유?
Euclidean은 Item간에 떨어진 거리르 측정
그래서 엄마가 얼굴이 더 작아서 엄마가 유사도가 높음
이런 사진으로 유사도를 측정한다면?
Euclidean 방식은 아기와 가까운 곳에 있는 사람이
유사하다고 측정됨