본문 바로가기
AI 공부/Math 데이터사이언스 수학

[데이터사이언스 수학] NORM 함수: 벡터의 크기를 측정하는 방법! 📏

by 데이터 벌집 2025. 1. 4.
반응형

[데이터사이언스 수학] NORM 함수: 벡터의 크기를 측정하는 방법! 📏

NORM 함수: 벡터의 크기를 측정하는 방법! 📏

벡터의 크기를 측정하는 것이 때때로 필요할 때가 있죠? 벡터의 크기를 정확히 측정할 수 있도록 도와주는 함수가 바로 Norm 함수입니다. 😄 벡터의 크기를 측정하는 것만큼 중요한 일이 또 있을까요? 벡터를 다양한 방식으로 분석하고 다룰 때, Norm 함수는 없어서는 안 될 중요한 도구입니다.

 

Norm 함수란 무엇일까요? 🤔

Norm 함수는 벡터 공간에서 벡터의 크기나 길이를 측정할 수 있게 해주는 함수입니다. 쉽게 말해, 벡터가 얼마나 큰지, 길이가 얼마나 되는지를 알려주는 역할을 하죠. 중요한 점은 0 벡터를 제외한 모든 벡터는 일정한 양의 크기를 갖는다는 것입니다.

이 함수는 여러 종류가 있으며, 그 중 가장 많이 사용되는 것은 L^p Norm입니다. L^p Norm은 벡터의 각 요소에 대해 특정 지수(p)를 적용하여 벡터의 크기를 계산하는 방식입니다. 대표적으로 우리가 흔히 알고 있는 유클리드 거리도 L^2 Norm의 한 예시입니다. 📐

 

Norm 함수의 주요 공식들 🔢

L^p Norm은 다음과 같은 방식으로 정의됩니다:

Norm function 계산법

 

이와 같은 Norm 함수는 벡터의 크기를 비교할 때 유용하게 사용됩니다. 예를 들어, L^2 Norm은 벡터 간의 유클리드 거리를 측정할 때 주로 사용되고, L^1 Norm은 데이터의 절댓값 차이를 비교할 때 많이 쓰입니다.


왜 Norm 함수를 사용할까요? 📊

Norm 함수는 여러 데이터 분석과 기계학습에서 유용하게 사용됩니다. 그럼 왜 이렇게 중요한 함수일까요?

  1. 벡터의 크기 측정
    • 벡터의 크기나 길이를 측정하는 데 사용됩니다. 예를 들어, 벡터를 크기 기준으로 정렬하거나, 특정 벡터가 얼마나 중요한지 판단할 때 Norm을 사용하여 벡터의 크기를 측정합니다. 🔍
  2. 유클리드 거리 (Euclidean Distance)
    • Norm 함수는 벡터 간의 유클리드 거리를 계산하는 데 사용됩니다. 이는 데이터 포인트 간의 차이를 측정하는 데 아주 유용하죠. 예를 들어, 클러스터링 알고리즘인 K-평균(K-means)에서 데이터 포인트 간 거리를 계산할 때 사용됩니다. 📍
  3. 최대 특이값 (Largest Singular Value)
    • 행렬의 특이값 분해(SVD)에서 나온 최대 특이값은 행렬의 크기를 나타내며, 이는 Norm을 사용하여 구할 수 있습니다. 이 값을 통해 행렬의 선형 변환이 얼마나 크게 일어나는지를 측정할 수 있습니다.
  4. 정규화 (Normalization)
    • 데이터를 정규화할 때, 즉 데이터를 특정 범위 내로 맞출 때도 Norm을 사용합니다. 예를 들어, 단위 벡터를 만들 때는 벡터의 Norm이 1이 되도록 변환합니다. 이렇게 하면, 여러 벡터 간의 크기 차이를 무시하고 방향만을 비교할 수 있습니다.
  5. 차원 축소와 PCA
    • PCA(주성분 분석)에서는 고유값을 구할 때 Norm을 사용하여 데이터의 주요 성분을 추출합니다. 이를 통해 고차원 데이터의 차원을 줄이고, 중요한 정보를 보존할 수 있습니다. 📉

예제 코드: Norm 함수 사용하기

다음은 Python에서 numpy를 사용하여 Norm 함수를 계산하는 예제 코드입니다. 이 코드를 통해 L1, L2, L∞ Norm을 쉽게 구할 수 있습니다:

 

import numpy as np

# 벡터 정의
vector = np.array([3, -4, 12])

# L1 Norm 계산: 각 원소의 절댓값의 합
L1_norm = np.linalg.norm(vector, ord=1)
print(f"L1 Norm: {L1_norm}")

# L2 Norm 계산: 유클리드 거리 (제곱근을 취한 값)
L2_norm = np.linalg.norm(vector)
print(f"L2 Norm: {L2_norm}")

# L∞ Norm 계산: 벡터의 최대 절댓값
L_inf_norm = np.linalg.norm(vector, ord=np.inf)
print(f"L∞ Norm: {L_inf_norm}")

출력 예시:

L1 Norm: 19.0
L2 Norm: 13.0
L∞ Norm: 12.0

 

이 코드에서는 np.linalg.norm 함수로 벡터의 각 Norm을 계산할 수 있습니다. ord 매개변수를 사용하여 L1 Norm, L2 Norm, L∞ Norm을 선택할 수 있습니다. 🔢


결론 🎯

Norm 함수는 데이터 분석, 기계학습, 그리고 수학적 모델링에서 벡터의 크기나 길이를 정확히 측정하는 데 아주 중요한 도구입니다. 벡터를 분석하고 이해하는 데 필요한 핵심적인 개념 중 하나로, 데이터를 비교하거나, 최적화 문제를 해결할 때 유용하게 활용됩니다. 데이터사이언스의 핵심적인 기술을 다룰 때, Norm 함수는 필수적으로 알아야 할 개념입니다! 🚀

반응형