추천 방법중에 한가지로는 협업필터링 방법이 있다.
즉, 유사도를 기반으로 하여 분석한 방법인데
여기에는 아이템 기반 과 사용자 기반 방법으로 나뉘어 진다.
아이템 기반 방법으론
해당 하는 아이템 A를 분석하여 아이템 A에 대한 정보를 선호하는 사용자들에 대해 추천하는 것이고
사용자 기반 방법으론
여러 사용자들중에서 비슷한 사람들이 소비한 아이템 B를 갖다가, 새로운 사용자가 특정 비슷한 사람들이 속한 군집 b와 유사하다면, 새로운 사용자에겐 아이템 B를 추천하는 방법론이다.
언뜻 보면 아이템기반 방법과 사용자 기반 방법이 비슷해보일 수 있다.
다만 그 차이점은 분석하는 대상이 아이템이냐, 사용자이냐 인 것으로 나뉘는 것 같다.
유사도를 구하는 방법에는 내적과 코사인 유사도를 통한 방법이 있다.
이 두 방법들은 비교하는 두 벡터 A,B 가 얼마나 비슷한지를 구하는 방법들이다
코사인 유사도를 통한 유사도 방법은
두 벡터 A,B가 얼마나 벌어져있는지를 표현하며,
코사인 좌표계를 통해 벡터 A,B의 벌어진 각도를 통하여 코사인 값을 도출해 낸다.
(내적에선, 두 벡터간 내적값이 클수록 유사하다고 표현)
코사인 유사도와 내적은 한끝차이라고 한다.
내적 값을 각 벡터의 길이로 나누면 바로 코사인 유사도 값을 얻을 수 있다.
이러한 나눗셈덕에 내적은 벡터의 절대적길이에 영향을 받지만 코사인 유사도는 그렇지 않다고 한다.
그렇다면, 내적보다 코사인 유사도를 통해 계산하는 방법이 더 우월하냐? 하는 궁금증이 생긴다.
내적과 코사인 유사도 방법중 궁극적으로 특정 문제와 비교되는 벡터의 특성에 따라 달라진다.
정리하자면
내적은 cv
(이미지는 벡터의 크기가 정해져 있으므로, 벡터의 크기에 영향을 받는 내적을 사용하는 것 같다.)
코사인 유사도는 벡터의 크기에 영향을 받지 않은 nlp 에서 주로 사용하는 것 같다.
(언어는 길이가 한정되어있지 않기 때문에, 벡터의 크기에 영향을 받지 않는 코사인 유사도를 사용하는 것 같다.)
내적과 코사인 유사도 방법론에 대해