노름(norm) 의 이란 야나두 딥러닝

 Norm, 노름 
 절대값을 이용하여 벡터의 길이를 구 혹은  크기를 측정 하는 방법이다.     머신러닝  딥러닝 규제 (regularization) 알고리즘에 사용된다. 

 실제로 노름을 써서,  규제를 실행 한 적은 없다.  하지만,  머신러닝에서  무언가 잘되지 않았을때,  노름을 사용할 수 있다. 



L1 Norm, 노름
  L1 Norm은 맨하튼 노름(Manhattan norm) 이라고 함, L1 norm은 벡터 요소의 절대 값을 합한 것이다. 

      L1 = $\sum_{i}^n |x_i|  $
          = $ |x_1| + |x_2| + |x_3| + .... |x_n|   $

벡터 X 의 L1  Norm은 아래와 같이 계산된다. 
       x = [1, 2, 3, 4, 5]
      $||x||_1 = (|1| +|2| + |3| + |4| + |5| )= 15  $

아래의 영역에서 주로 사용된다.   
  • L1 regularization
  • computer Vision   


모바일 사용자를 위하여 그림 파일로 함





L2 Norm, 노름 
 L2 Norm은 n 차원 좌표평면(유클리드 공간)에서 계산 하기 때문에 유클리드 노름(Euclidean norm) 이라고 한다. 

  
  L2 = $ \sqrt{  \sum_{i}^n |x_i|^2  }  $
      = $ \sqrt{ x \cdot  x  } $
      = $ \sqrt{ x^T \cdot x  } $
      = $ \sqrt{ x_1 * x_1 + x_2 * x_2 + x_3 * x_3 +  .....+ x_n * x_n }$

벡터 x 의 L Norm은 다음과 같이 계산 된다. 
     x = [1, 2, 3, 4, 5]
   $ ||x||_2  = \sqrt{|1|^2 + |2|^2 + |3|^2 + |4|^2 + |5|^2 } $


L2 Norm 은 아래의 영역에서 사용된다. 
  • L2 regularization
  • kNN 알고리즘
  • kmean 알고리즘

모바일 사용자를 위하여 그림 파일로 함



numpy 계산은 아래와 같이 한다. 

 # random 하게 데이터 셋 만들기
 import numpy as np
 x = np.random.randint(low = 1, high=10, size=(5,3))
 x

array([[9, 6, 3], [4, 2, 6], [6, 8, 3], [5, 2, 9], [1, 4, 5]])

# L1 norm 계산
L1_norm = np.linalg.norm(x, axis=1, ord=1)
L1_norm

array([18., 12., 17., 16., 10.])


# norm 계산
L2_norm = np.linalg.norm(x, axis=1, ord=2)
L2_norm

array([11.22497216, 7.48331477, 10.44030651, 10.48808848, 6.4807407 ])




댓글 없음:

댓글 쓰기

css cheat sheet 클래스 선택자, margin(마진), display , center 조정 간단한 구성 요소

 앞에서는 html의 간단한 sheet를 소개 하였습니다.   html은  주로 골격을 나타나는 것이라, 디자인을 하는데는 css로 하여야 합니다.  아래 코드와 같이 css 관련 하여 매우 간단하게 코딩 하겠습니다.  body 부분의 css 코딩  ...