필자는 처음 선형대수학을 공부할 때 내적이라는 개념이 나오면 도대체 왜?? 해야하는지 궁금했던 것 같다.
직교나 정사영에 대해 배우기 전에는 당최 이해가 되질 않았다.
벡터로써 norm은 자기 자신의 크기(magnitude)가 얼마나 큰 지 알 수 있을 뿐만 아니라, 다른 벡터와 같이 사용될 때 그 의미가 체감되는 것을 알 수 있었다.
예를 들면 데이터의 유사도(similarity)를 구한다고 생각해보자.
어떤 기준으로 임의의 두 데이터 A와 B가 유사하다고 판단할 것인가?
사람의 고향, 나이, 학력, MBTI 등과 같은 것을 알수 있다면, 조금 더 쉽게 유사한 사람인지 아닌지를 알 수 있지 않을까 생각한다.
이걸 선형대수학에서는 크게 두가지 관점에서 확인할 수 있는데, 바로 거리를 활용한 데이터 유사도와 데이터의 패턴(방향)을 활용한 유사도이다.
거리는 norm으로 확인할 수 있고, 방향과 패턴은 내적 (엄밀히 말하면 cosine)을 통해 확인할 수 있다.
노름(norm)은 다음과 같이 정의할 수 있다.
벡터 \(a=(a_1, a_2) \)에 대하여 \( a\)의 크기를 다음과 같이 나타내고 \( a\)의 노름(norm)이라고 한다.
$$ || a || = \sqrt{a_1^2 + a_2^2} $$
2차원인만큼 평면에 시각화해보자면.. 아래와 같이 나타낼 수 있다.
위 그림을 보면 우리가 이 벡터의 크기를 norm을 통해 알 수 있다는 것을 확인했다.
그렇다면 어떻게 데이터 유사도에 활용할 수 있을까?
이때 또 다른 벡터(\(b\))를 생각하면 이해하기 수월하다.
두 벡터 \(a=(a_1, a_2) \)와 \(b=(b_1, b_2) \)간의 거리를 측정해본다고 생각해보자.
$$ \text{dist(A, B)} = || a - b || = \sqrt{(a_1-b_1)^2 + (a_2 - b_2)^2} $$
이렇게 거리를 구하면 데이터(벡터) a가 또 다른 데이터 b로부터 얼마나 멀리 떨어져있는지 알 수 있다.
멀리 떨어져있으면 멀리 떨어져 있을수록 두 데이터는 유사하지 않을 것이고, 근접하다면 유사한 데이터가 될 수 있다. (물론 모든 경우에서 그런건 아니지만)
아래의 그림을 보면 이해가 쉬울 것이다.
사람 A와 사람 B가 몸무게와 키가 사람 C와 비교했을때 보다 서로 비슷하다는 것을 알 수 있다.
물론 아무리 거리가 가깝더라도 비슷하지 않고, 방향이 같아야 비슷하다고 말할 수 있는 경우도 많이 있다. 이 경우에는 cosine 유사도를 활용할 수 있다.
'선형대수학 > 벡터' 카테고리의 다른 글
[선형대수] 정사영 (Projection) (1) | 2022.12.23 |
---|---|
내적과 코사인유사도 (dot product & cosine similarity) (0) | 2022.12.22 |
정형데이터 관점에서의 벡터 (0) | 2022.12.21 |
일차결합(linear combination) (0) | 2022.12.21 |