벡터개념 for AI

이 글은 부스트캠프 AI Tech 3기 강의를 듣고 정리한 글입니다.

벡터

벡터의 정의

숫자를 원소로 가지는 리스트 or 배열

  • x = [x_1, x_2, ...]

공간에서의 한 "점" 혹은 원점으로 부터 상대적 위치

  • n차원 공간(원소의 개수n) 에서의 한 점
    • 1차원 : 스칼라
    • 2차원 : 평명
    • 3차원 : 입체
  • 원점으로 부터 상대적 위치

=> 숫자(스칼라)를 곱해주면 길이만 변함 (벡터의 스칼라곱)

  • a > 1 : 길이가 들어나고
  • a < 1 : 길이가 줄어들고
  • a < 0 : 반대방향으로

벡터의 연산

같은모양(같은 차원) 일 경우 덧셈 / 뺼셈 / 성분곱(Hadamard product) 가능

벡터의 덧셈, 뺼셈

  • 같은 위치의 성분끼리 +,-
    x = [1,2,3]
    y = [4,5,6]
    x + y = [5,7,9]
    x - y = [-3,-3,-3]

벡터의 성분곱

  • 표기법 : ⊙
  • 같은 위치의 성분끼리 곱해줌
x = [1,2,3]  
y = [4,5,6]  
x ⊙ y = [1*4, 2*5, 3*6]
      = [4, 10, 18]

※ 행렬곱과는 다른 것

벡터의 노름

  • 벡터의 노름(Norm)이란 원점에서부터의 거리
  • 크게 2가지 방법으로 나뉨

L1-Norm

  • 각 성분의 변화량의 절대값 // 멘하튼 거리
    표기 :
    의미 :
  • Robust 학습 , Lasso 회귀

L2-Norm

  • 피타고라스 정리를 이용한 유클리드 거리
    • 유클리드 거리 : 흔히 아는 직선 거리
    • 표기 :
    • 의미 :
  • Laplace 근사 , Ridge 회귀

Norm의 기하학적 성질

  • 노름의 종류에 따라 기하학적 성질이 달라짐

    원의 정의는 원점으로부터 x 거리 만큼 떨어진 점들의 집합
    여기서 거리(Norm)에 따라 기하학적 성질이 그림처럼 달라지게 된다

두 벡터 사이의 거리

  • 두 벡터끼리 뺄셈 후 Norm 구함
  • ||x-y|| = ||y-x||
    • 크기는 양수값이기 때문에

두 벡터 사이의 각도

  • L2 노름만 가능
  • 제2코사인 법칙을 이용해 두 벡터사이의 각도 계산
    • 이 식에서 분자는 내적(inner product)로 계산하면 편하다.
      • 분자 = <x,y> = sum(x_i,y_i)

내적

  • 내적은 정사영 된 벡터의 길이와 관련됨
  • 두 벡터의 유사도 측정하는데 사용가능

정사영

  • 표기 : Proj(x) = ||x||cos(o)
  • 벡터 x를 한 벡터에 직선을 내린 것의 길이

내적의 해석

내적은 정사영의 길이를 벡터 y의 길이 ||y|| 만큼 조정한 값이다.

좋은 웹페이지 즐겨찾기