두 벡터 간의 코사인 각도를 이용하여 구할 수 있는 두 벡터의 유사도를 의미한다.
두 벡터의 방향이 완전히 동일한 경우에는 1의 값을 가지며, 90°의 각을 이루면 0, 180°로 반대의 방향을 가지면 -1의 값을 갖는다.
즉, 결국 코사인 유사도는 -1 이상 1 이하의 값을 가지며 값이 1에 가까울수록 유사도가 높다고 판단할 수 있다.
벡터 간의 크기는 무시되고 방향의 차이만 계산된다.
문서의 유사도
ex.
문서1 : 저는 사과 좋아요
문서2 : 저는 바나나 좋아요
문서3 : 저는 바나나 좋아요 저는 바나나 좋아요
문서3은 문서2에서 단지 모든 단어의 빈도수가 1씩 증가했을 뿐이므로 기존의 문서와 코사인 유사도의 값이 1이다.
하지만 유클리드 거리로 유사도를 연산하면 문서의 길이에 영향을 받기 때문에 문서 A가 문서 B보다 문서 C와 유사도가 더 높게 나오는 상황이 발생할 수 있다.
이런 경우 코사인 유사도가 해결책이 될 수 있다.
코사인 유사도는 유사도를 구할 때 벡터의 방향(패턴)에 초점을 두므로 코사인 유사도는 문서의 길이가 다른 상황에서 비교적 공정한 비교를 할 수 있도록 도와준다.
05-01 코사인 유사도(Cosine Similarity)
BoW에 기반한 단어 표현 방법인 DTM, TF-IDF, 또는 뒤에서 배우게 될 Word2Vec 등과 같이 단어를 수치화할 수 있는 방법을 이해했다면 이러한 표현 방법에 대해서 …
wikidocs.net
https://jiho-ml.com/weekly-nlp-5/
Week 5 - 얘랑 나랑 얼마나 비슷해?
여러분은 어떤 사람과 얼마나 비슷한지 숫자로 표현할 수 있으신가요? "친구 A보다 B가 나와 좀 더 비슷한거 같아.." 라는 어찌어찌 할 수 있을거 같은데, 아무래도 절대적인 숫자를 생각해내기는
jiho-ml.com
'DL_general' 카테고리의 다른 글
localization (0) | 2023.03.15 |
---|---|
YOLO (0) | 2023.03.13 |
auto encoder (0) | 2023.03.07 |
Federated learning (0) | 2023.03.06 |
[simplified] GAN 종류 (0) | 2023.03.04 |