노름(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 ])




댓글 없음:

댓글 쓰기

공무 스케줄 AI Agem에 대한 생각

     지금 상황이 아비 규환이다.  어느 부서든 회사가 인수 합병되고 나서  투자를 기획하는 경영기획이 특히 않이 정신이 없고, 우리부서도 전부 미국 필리 조선소로 인원이 나가 있어,  사실상 10년 이상 고기량자는 거의 없다.   우리부서에 남아...