(선형대 기초)Norm과 내적

꼼댕이·2022년 9월 19일
0

선형대수학

목록 보기
2/7

Norm (노름) 이라고 읽는단다..

L1 norm = x1L2 norm = x2L1\ norm\ = \ \rVert x\rVert _{1}\\ L2\ norm\ = \ \rVert x\rVert _{2}
  • L1 norm은 각 성분의 변화량을 절대값을 모두 더하면 된다..
  • L2 norm은 유클리드 거리로써 좌표평면 위에서 원점에서의 거리라고 생각하면 된다..
x1 =x1 + x2=i=1dxix2 =x1 2+ x22=i=1dxi2\rVert x\rVert _{1}\ = \vert x_{1}\vert\ +\ \vert x_{2}\vert = \sum_{i=1}^d \vert x_{i} \vert\\ \rVert x\rVert _{2}\ = \sqrt {\vert x_{1}\vert\ ^2 +\ \vert x_{2}\vert ^2} = \sqrt{\sum_{i=1}^d \vert x_{i} \vert ^2}




수식은 알겠는데 왜 다른 norm을 쓰고 언제 쓰는거지?

기본적으로 norm은 두 벡터 사이의 거리 혹은 각도를 구하는데 사용한다 (각도는 L2 norm만 가능!)

각도를 구하려면 L2 norm에 제2Cos법칙을 쓰면 된다!

근데 분자를 계산하기 너무 귀찮고 복잡하니 이걸 해결해주기 위해 내적(Inner Product)를 사용하자!

내적(inner product)<x,y> = i=1dxiyi내적(inner\ product) <x,y>\ = \ \sum_{i=1}^d {x_{i}y_{i}}
cosϕ = 2<x,y>2x2y2cos\phi\ = \ {2<x,y>\over2\rVert x\rVert _{2} \rVert y\rVert _{2}}
cosϕ = <x,y>x2y2cos\phi\ = \ {<x,y>\over\rVert x\rVert _{2} \rVert y\rVert _{2}}
cosϕ = i=1dxiyix2y2cos\phi\ = \ {\sum_{i=1}^d {x_{i}y_{i}}\over\rVert x\rVert _{2} \rVert y\rVert _{2}}

L1 norm은 계산값에 절댓값을 취하고, L2 norm은 계산값에 제곱을 취한다.
L1 norm은 이상치에 robust하지만, L2 norm은 이상치에 민감하게 된다.

L2 norm에 대한 간단한 예시를 들면

수식: || f(xi) - f(xj) ||^2

예를 들어, 
xi = [1, 2, 3]이고 xj = [4, 5, 6]이라고 가정하자. 두 벡터 간의 거리의 제곱을 계산하면 
  f(xi) = [1, 4, 9]
  f(xj) = [16, 25, 36]

  먼저 f(xi) - f(xj)를 계산:
  [1 - 16, 4 - 25, 9 - 36] = [-15, -21, -27]

  이제 이 벡터의 각 원소를 제곱:
  [-15^2, -21^2, -27^2] = [225, 441, 729]

  마지막으로 각 원소를 더한 결과:
  225 + 441 + 729 = 1395

  따라서 주어진 예시에서 || f(xi) - f(xj) ||^2 = 1395가 된다.

Numpy에서의 내적!

내적은 원래 두 행렬의 곱을 의미한다

일반적으로 수학에서 말하는 두 행렬의 곱은 i행렬의 n번째 행벡터 * j행렬의 m번째 열 벡터를 의미하지만
numpy에서 사용하는 내적 함수인 inner()는 일반적인 수학과는 조금 다르다..

numpy에서 사용하는 내적 함수인 inner()는 XYT를 의미한다!!

즉! numpy에서의 inner()는 X와 Y의 행의 갯수가 같아야 한다!!

profile
사람을 연구하는 공돌이

0개의 댓글