딥러닝에서 내적의 의미

한고개넘어가면살쾡이·2025년 9월 25일
0

딥러닝 기본개념

목록 보기
2/2
post-thumbnail

"두 벡터의 내적은 벡터간의 크기방향이 얼마나 유사한가를 알려준다."

vector, scalar = 백터, 스칼라
cosine, sine = 코사인, 사인

1. 벡터는..

크기와 방향을 가지고 있다

2. 스칼라는..

단순히 크기만 가지고 있다.

3. 내적은..

  • 두 벡터의 서로 대응되는 성분들을 곱한 뒤 모두 더하는 연산을함. 이 연산의 결과값은 스칼라값임. 이 스칼라 값은 두 백터의 크기와 방향이 얼마나 유사한가? 를 나타냄.
  • 내적의 연산은 두 벡터 크기와 두 벡터가 이루는 각도 θ의 코사인 값을 곱함.
    내적의 수식 : AB=ABcosθA⋅B =|A|*|B|*cosθ 
    내적의 최소/최대값 : ABABAB-|A|*|B|≤A⋅B≤|A|*|B|

3-1. 수식에서 두 벡터의 크기를 곱하는건 이해가 가는데 왜 코사인θ을 곱할까?

  • 먼저 θ는 두 벡터가 이루는 각도의 차(difference)임.
  • 두 벡터의 내적은 두 벡터가 이루는 각 θ에 대해 벡터 하나를 다른 벡터에 투영(projection)하는 길이를 의미함.
  • 다른 벡터에 투영할 때 고려해야하는것은 바로 방향과 크기임. 다시 말하지만 방향과 크기임.
  • 따라서 이 '투영 길이'라는 것은 벡터 간의 방향 차이를 반드시 포함해야함. 그러기 위해선 사인이나 탄젠트가 아닌 코사인을 사용할수밖에 없는데 코사인만이 백터의 방향을 나타낼 수 있기 때문임. (사인은 삼각형의 높이이므로 방향과 상관이 없고 탄젠트는 각도에 대한 비율이므로 아예 기하학적 의미와 상관이 없음)
  • 투영길이는 두 백터가 이루는 각도차이인 θ의 코사인 값과 벡터 크기의 곱으로 계산됨. 예를들어 벡터 A를 벡터 B에 투영할 때, 투영된 벡터 길이는Acosθ|A|*cosθ 임. 그래서 내적의 공식을 다시 쉽게 풀어쓰자면 Acosθ|A| * cosθ 하여 A백터를 B백터로 투영하고 B* |B| 하여 두 백터의 방향과 크기를 모두 고려한 유사도 값이 스칼라 형식의 결과로 나오는 것.

4. 번외..

단순히 두 벡터가 얼마나 같은 방향으로 향하고 있는지만 궁금하다면 내적이 아닌 코사인 유사도 공식을 이용해 벡터간의 방향유사도를 구할 수 있다.
CosineSimilarity=cosθ=A×BABCosine Similarity = cosθ=\frac{∣A∣×∣B∣}{A⋅B}

0개의 댓글