새소식

AI/ML

벡터, L1 L2 norm에 대해 알아보기

  • -

벡터

  • 숫자의 배열(리스트)
  • n차원 공간에서의 한 점
  • 원점으로부터 상대적 위치
  • 종류
    1) 열벡터 - 세로로 긴 형태
    2) 행벡터 - 자로로 긴 형태
  • 스칼라곱 -  주어진 벡터 길이 변환  
  • 성분곱(Hadamard product) - 같은 크기의 벡터끼리 곱 연산

벡터의 덧셈, 뺄셈

뺄셈은 덧셈의 반대방향 이동

다른 벡터로부터 상대적 위치이동

벡터의 노름(norm)

원점으로부터의 거리

기계학습 목적에 따라 다르게 사용

중요!! - 임의의 차원 d에 대해 성립 (1차원, 2차원.. 아님)

1) L1 norm

변화량의 절대값 합

기하학적 성질 - 마름모꼴

예) Robust 학습, Lasso 회귀

abs_result = np.abs(x)
np.sum(abs_result)

2) L2 norm

피타고리스 정리를 이용해 유클리드 거리 계산

각도 계산 가능 - 제2코사인 법칙을 이용 ( L2에서만 가능 )

cos_th = np.inner(x,y) / (l2_norm(x) * l2_norm(y))
theta = np.arccos(cos_th)

np.inner⇒내적연산

기하학적 성질 - 원

예) Laplace 근사, Ridge 회귀

xx = x*x
x_sum = np.sum(xx)
np.sqrt(x_sum)

위의 과정을 np.linalg.norm 함수로 가능

내적

  • 정사영된 벡터의 길이를 만큼 조정한 값
  • 유사도 측정 시 사용
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.