본문 바로가기

공부한 것

선형대수 - 2

inner product : 내적

  • 벡터와 벡터의 내적 결과 = 스칼라
  • <u, v> = u·v = u1v1 + u2v2 + ... + unvn = u^Tv
  • 내적을 구할 때 한 행렬의 전치행렬과 나머지 행렬을 벡터곱 시켜 구할 수 있다.
  • numpy.inner(arr1, arr2) 로 구할 수 있다.
  • 백터의 길이 및 백터 간 관계 파악이 가능하며 두 벡터 사이 각도 역시 추정 가능하다.
    -> 내적 연산으로 두 벡터 수직 여부 판단 가능
  • if numpy.inner(arr1, arr2) > 0: degree_between_arr1_arr2 < 90 elif numpy.inner(arr1, arr2) == 0: degree_between_arr1_arr2 == 90 else: degree_between_arr1_arr2 > 90
  • 백터의 길이 | norm 은 내적값의 제곱근을 구하면 된다.
    -> ||u|| = sqrt(u1^2 + u2^2 + ... + un^2)
  • numpy.linalg.norm(arr) 로 구할 수 있다.
  • 2차원 상의 백터 u = (a, b)라 할 경우 좌표평면에 나타낼 때, 벡터의 길이와 x축 간의 각도를 안다면
    -> u = (||u||cosʘ, ||u||sinʘ) 로 나타낼 수 있다. 중, 고등학생 때 배운 sin, cos 구하기 및 피타고라스의 정리를 생각해보면 간단.

projection : 정사영

  • 한 벡터가 다른 벡터에 수직으로 project 되는 것

  • 내적과 정사영한 벡터 길이와 연관이 있다.

  • 위의 u를 x축 벡터 x에 정사영한 벡터의 길이는 u의 x좌표, 즉 ||u||cosʘ가 되며 y축 벡터 y에 정사영한 길이는 y좌표, ||u||sinʘ가 된다.

  • projection 개념에 따라 inner product를 재정의할 경우, u·v = 벡터 u를 벡터 v에 정사영시킨 벡터의 길이, 즉 ||u||cosʘ*||v||와 같다.

  • 내적값이 음수라면 u의 v에 정사영 한 벡터의 방향이 v의 방향과 반대라는 것.

지도 학습의 support vector machine 개념을 이해할 때 내적은 필수다!

linear transformation : 선형 변환

  • 벡터의 확대, 축소, 회전, 반사 등... 변환을 주는 것.
  • 2차원 벡터를 3차원으로 이동시키는 등의 변형 역시 linear transformation으로 이해할 수 있다.

'공부한 것' 카테고리의 다른 글

선형대수 - 4  (0) 2021.09.27
선형대수 - 3  (0) 2021.09.22
선형대수 - 1  (0) 2021.09.20
Data Preprocessing  (0) 2021.09.15
분류와 검증  (0) 2021.09.10