코사인 유사도, 두 화살표 사이의 각도로 이해하는 방법 | DAKER 커뮤니티

코사인 유사도 공식을 외워도, 문장의 의미가 얼마나 비슷한지 왜 그 값으로 설명되는지는 막연하게 느껴질 수 있습니다. 이럴 때 문장을 숫자로 표현한 벡터를 화살표로 떠올리면 길이와 방향을 나누어 볼 수 있고, 공식이 말하는 바도 훨씬 분명해집니다.

이 글은 DAKER 학습 자료 AI를 위한 선형대수 초급 ③ — 내적·노름·코사인 유사도를 바탕으로, 코사인 유사도를 두 화살표 사이의 각도로 이해하는 방법을 정리합니다.

코사인 유사도, 공식만 외우다가 질문 지도로 각도가 보입니다

공식보다 먼저, 방향을 떠올리면 이해가 쉬워집니다

코사인 유사도는 두 벡터의 방향이 얼마나 비슷한지 나타내는 값입니다. 분자와 분모를 계산해 결과를 얻을 수는 있지만, 왜 어떤 경우에 값이 1에 가까워지는지까지 설명하려면 방향의 의미를 함께 봐야 합니다.

코사인 유사도는 길이보다 방향의 유사성을 보는 값입니다.

이 관점은 문장을 숫자로 바꿔 의미를 비교하는 임베딩 검색과, 단어가 실제로 일치하는지를 보는 키워드 검색의 차이를 이해하는 데도 도움이 됩니다.

벡터의 길이와 방향을 구분해 봅니다

코사인 유사도를 어렵게 느끼는 이유는 계산 자체보다도, 벡터의 길이와 방향을 한꺼번에 받아들이기 때문인 경우가 많습니다. 화살표로 그려 보면 두 요소를 분리해서 볼 수 있습니다.

길이가 달라도 방향이 같다면 두 벡터는 같은 쪽을 가리키고 있는 것입니다. 반대로 길이가 비슷해도 방향이 다르면 의미상 가깝다고 보기 어렵습니다.

길이를 바꿔도 방향이 같으면 코사인 유사도는 유지됩니다.

질문을 하나씩 적고 화살표로 확인합니다

Understand-Anything식 학습에서는 질문과 관련 개념을 연결해 정리합니다. 여기서도 먼저 질문을 세우고, 그 질문을 화살표 그림과 연결해 보면 이해가 쉬워집니다.

예를 들어 벡터의 길이가 달라도 방향이 같으면 결과가 어떻게 되는지 묻고, 두 문장을 나타내는 벡터를 화살표로 그려 봅니다. 그런 다음 두 화살표 사이의 각도가 작을 때와 클 때를 비교하면 됩니다.

짧은 문장 두 쌍을 고르는 것도 도움이 됩니다. 의미가 비슷한 쌍과 다른 쌍을 각각 정한 뒤, 각 문장을 벡터로 그려 두 화살표 사이의 각도를 적어 보면 계산식이 가리키는 의미가 더 또렷해집니다.

먼저 각도가 뜻하는 바를 이해한 뒤 계산과 연결하면 공식이 훨씬 자연스럽게 읽힙니다.

네 칸 만화로 각도의 의미를 확인합니다

코사인 유사도, 공식만 외우다가 질문 지도로 각도가 보입니다 4칸 만화

네 칸은 공식을 외워도 방향의 의미를 설명하지 못하는 상황을 보여 줍니다. 이어서 벡터를 화살표로 그리고, 두 화살표 사이의 각도로 유사도를 설명하는 흐름으로 이어집니다.

자주 묻는 질문으로 개념을 정리합니다

코사인 유사도가 1이면 무엇을 뜻할까요

두 벡터의 방향이 같다는 뜻입니다. 두 문장이 글자까지 완전히 같다는 뜻은 아닙니다.

왜 노름으로 나눌까요

노름은 벡터의 길이를 나타내는 값입니다. 두 벡터의 대응하는 성분을 곱해 더한 값인 내적을, 각 벡터의 노름의 곱으로 나누면 길이의 영향을 덜고 방향을 비교할 수 있습니다.

내적을 노름의 곱으로 나누면 길이보다 방향에 집중해 비교할 수 있습니다.

마무리

코사인 유사도는 계산 공식으로만 보면 추상적이지만, 두 화살표 사이의 각도로 보면 훨씬 직관적으로 이해할 수 있습니다. 문장을 벡터로 보고, 그 벡터가 어느 방향을 가리키는지 떠올리는 것만으로도 의미 비교의 원리가 선명해집니다.

참고 자료: https://daker.ai/public/learning/materials/ai-linalg-beginner-3-inner-product-cosine

의미가 비슷한 문장 한 쌍과 다른 문장 한 쌍을 직접 떠올려 봤을 때, 두 화살표 사이의 각도를 어떻게 설명하게 되셨나요?