유사도에 대하여

Havi·2023년 10월 3일
0

추천 방법에 대해

추천 방법중에 한가지로는 협업필터링 방법이 있다.
즉, 유사도를 기반으로 하여 분석한 방법인데
여기에는 아이템 기반 과 사용자 기반 방법으로 나뉘어 진다.

아이템 기반 방법으론
해당 하는 아이템 A를 분석하여 아이템 A에 대한 정보를 선호하는 사용자들에 대해 추천하는 것이고

사용자 기반 방법으론
여러 사용자들중에서 비슷한 사람들이 소비한 아이템 B를 갖다가, 새로운 사용자가 특정 비슷한 사람들이 속한 군집 b와 유사하다면, 새로운 사용자에겐 아이템 B를 추천하는 방법론이다.

언뜻 보면 아이템기반 방법과 사용자 기반 방법이 비슷해보일 수 있다.
다만 그 차이점은 분석하는 대상이 아이템이냐, 사용자이냐 인 것으로 나뉘는 것 같다.

유사도를 구하는 방법에 대해

유사도를 구하는 방법에는 내적과 코사인 유사도를 통한 방법이 있다.
이 두 방법들은 비교하는 두 벡터 A,B 가 얼마나 비슷한지를 구하는 방법들이다

코사인 유사도를 통한 유사도 방법은
두 벡터 A,B가 얼마나 벌어져있는지를 표현하며,
코사인 좌표계를 통해 벡터 A,B의 벌어진 각도를 통하여 코사인 값을 도출해 낸다.
(내적에선, 두 벡터간 내적값이 클수록 유사하다고 표현)

코사인 유사도와 내적은 한끝차이라고 한다.
내적 값을 각 벡터의 길이로 나누면 바로 코사인 유사도 값을 얻을 수 있다.
이러한 나눗셈덕에 내적은 벡터의 절대적길이에 영향을 받지만 코사인 유사도는 그렇지 않다고 한다.

그렇다면, 내적보다 코사인 유사도를 통해 계산하는 방법이 더 우월하냐? 하는 궁금증이 생긴다.

내적

  • 벡터의 절대적 길이에 영향을 받음
  • 벡터의 크기가 비슷한 경우 내적은 벡터 간의 중첩정도 또는 상관 관계를 측정하는데 효과적일 수 있음.
  • 이미지 처리 또는 신호 처리와 같은 다른 응용 프로그램에서는 내적이 유사성을 측정하는데 더 적합한 선택일 수 있다.
    -> 이는 벡터의 크기가 유사성을 결정하는 데 더 중요한 역할을 할 수 있기 때문임

코사인 유사도

  • 벡터의 길이를 고려하지 않음
  • 자연어 처리 및 정보 검색에서 벡터간의 유사도를 측정하는 데 일반적으로 사용
  • 내적보단 벡터 간의 유사도를 측정하는데 더 다양하고 효과적인 방법으로 간주

내적과 코사인 유사도 방법중 궁극적으로 특정 문제와 비교되는 벡터의 특성에 따라 달라진다.
정리하자면
내적은 cv
(이미지는 벡터의 크기가 정해져 있으므로, 벡터의 크기에 영향을 받는 내적을 사용하는 것 같다.)

코사인 유사도는 벡터의 크기에 영향을 받지 않은 nlp 에서 주로 사용하는 것 같다.
(언어는 길이가 한정되어있지 않기 때문에, 벡터의 크기에 영향을 받지 않는 코사인 유사도를 사용하는 것 같다.)

Reference

내적과 코사인 유사도 방법론에 대해

https://ai-with-sudal-ee.tistory.com/6

profile
집중집중

0개의 댓글