Big Ben
Big Ben's Log
Big Ben
전체 방문자
오늘
어제
  • 전체 글 (80)
    • 파이썬 (23)
      • 파이썬 기초 (5)
      • 클래스 (6)
      • 자료구조 (4)
      • Tensorflow (3)
      • PyTorch (2)
      • konlpy (1)
      • anaconda (1)
    • 머신러닝 (3)
      • 선형회귀 (1)
      • Tree 기반 (1)
    • 딥러닝 (6)
      • NLP (2)
      • VISION (2)
      • TABULAR (0)
      • 딥러닝 서버 구축 (2)
    • 그래프 이론 (1)
      • 그래프마이닝 (1)
      • GNN (0)
    • 강화학습 (3)
      • 강화학습 기본 (3)
    • 인공지능 (5)
    • 추천시스템 (2)
      • 추천시스템 기초 (2)
    • Competitions (1)
    • 빅데이터 (8)
      • 하둡 (3)
      • 스파크 (4)
      • 클라우드 (1)
    • SQL (7)
      • MariaDB (2)
    • 논문 리뷰 (2)
    • 대학원 (0)
      • 데이터 사이언스 (0)
      • 경제학 (0)
    • 선형대수학 (7)
      • 선형대수 ICE BREAKING (1)
      • 벡터 (5)
      • 고윳값 (1)
    • 개인프로젝트 (0)
      • 포트폴리오 대시보드 + AI기반 주식 자동매매 (0)
    • 재테크 (1)
    • 자동차 (0)
    • 알고리즘 (11)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • 알고리즘
  • pytorch
  • class
  • 선형대수학
  • 객체
  • 백준
  • 빅데이터
  • 자료구조
  • 데이터사이언스
  • AI
  • 프로그래밍
  • TensorFlow
  • PYTHON
  • 선형대수
  • 파이썬기초
  • 딥러닝
  • 인공지능
  • sql
  • 데이터베이스
  • MariaDB
  • 코딩테스트
  • mysql
  • 파이썬
  • 객체지향
  • 하둡
  • Baekjoon
  • 프로그래머스
  • 데이터
  • 머신러닝
  • 코테

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Big Ben

Big Ben's Log

Norm, 노름, 거리, euclidean distance, 데이터 유사도
선형대수학/벡터

Norm, 노름, 거리, euclidean distance, 데이터 유사도

2022. 12. 21. 17:00
반응형

필자는 처음 선형대수학을 공부할 때 내적이라는 개념이 나오면 도대체 왜?? 해야하는지 궁금했던 것 같다.

 

직교나 정사영에 대해 배우기 전에는 당최 이해가 되질 않았다.

 

벡터로써 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
    '선형대수학/벡터' 카테고리의 다른 글
    • [선형대수] 정사영 (Projection)
    • 내적과 코사인유사도 (dot product & cosine similarity)
    • 정형데이터 관점에서의 벡터
    • 일차결합(linear combination)
    Big Ben
    Big Ben
    Data Scientist

    티스토리툴바