인공지능을 위한 선형대수학 기초

벡터 공간과 기저

최 수빈 2024. 12. 24. 17:56

 

벡터 공간의 성질

 

벡터 공간은 다음 10가지 공리로 정의:

 

(1) 벡터의 덧셈과 성질

덧셈의 닫힘성: 벡터 공간의 두 벡터를 더하면 결과도 벡터 공간에 속해야 한다.

덧셈의 교환법칙: 벡터를 더하는 순서는 결과에 영향을 주지 않는다. 

덧셈의 결합법칙: 벡터를 세 개 더할 때, 괄호의 위치를 바꿔도 결과는 같다.

영벡터의 존재: 벡터 공간에는 덧셈에 대해 항등원이 되는 특별한 벡터(영벡터)가 존재해야 한다.

덧셈 역원의 존재: 각 벡터 u에 대해 -u라는 역벡터가 존재해야 하며, 이 두 벡터를 더하면 영벡터가 된다. 

                             → u + (-u) = 0

 

(2) 스칼라 곱과 성질

스칼라 곱의 닫힘성: 벡터 공간의 벡터에 실수(스칼라)를 곱한 결과도 같은 벡터 공간에 속해야 한다.

분배법칙: 스칼라를 벡터의 합에 곱할 때, 스칼라를 각각의 벡터에 곱한 후 더해도 결과는 같다. (벡터에 대해)

 분배법칙: 두 스칼라의 합을 벡터에 곱할 때, 각각의 스칼라를 벡터에 곱한 후 더해도 결과는 같다. (스칼라에 대해)

결합법칙: 두 스칼라를 곱한 후 벡터에 곱하는 것은, 스칼라 중 하나를 벡터에 곱한 결과에 나머지 스칼라를 곱하는 것과 같다.

스칼라 곱의 항등원: 스칼라 곱에 대해 항등원인 스칼라 1이 존재하며, 이를 벡터에 곱하면 벡터 자체가 된다. 

 

이 10가지 공리는 벡터 공간이 선형 구조를 가지기 위한 필수 조건

 

=> 이 공리들이 만족되면, 벡터 공간에서의 연산이 안정적이고 예측 가능하며, 이를 기반으로 선형 변환,  행렬 계산, 기저 변환 등 복잡한 연산을 수행할 수 있다.

 

 

 

기저와 차원의 의미

 

기저 벡터는 벡터 공간의 “기초”를 이루는 벡터들

 

 

이 기저는 반드시 다음 두 조건을 만족해야 한다:

선형 독립: 기저 벡터들은 서로 선형 결합으로 표현할 수 없다.

공간 생성: 기저 벡터의 선형 결합으로 벡터 공간의 모든 벡터를 표현할 수 있어야 한다.

 

 

차원의 정의

 

기저 벡터의 개수가 벡터 공간의 차원을 결정:

 

1차원 공간: 한 방향으로만 확장 (예: 실수 집합 R )

2차원 공간: 평면 상의 모든 벡터 (예:)

3차원 공간: 공간 내 모든 벡터 (예: R³ )

n-차원 공간: n-개의 기저 벡터를 가짐 (예: R )

 

 

표준 기저

 

각 축 방향의 단위 벡터로 구성

→ 예 : 2차원에서 (1,0) (0,1)

 

 

 

기저의 변환

 

 

기저 변환

 

기저를 바꾸는 과정은 한 좌표계에서 다른 좌표계로의 변환을 의미한다.

 

 

 

머신러닝과 데이터 과학에서 기저의 역할

 

PCA (주성분 분석)

 

데이터의 분산이 가장 큰 방향을 기준으로 새로운 기저를 찾는 기법

이 기저는 데이터의 주요 패턴을 설명하는 데 유용하며, 차원을 축소하는 데 사용된다.

 

고유벡터 PCA(주성분 분석) 활용


PCA에서 고유값과 고유벡터는 복잡한 데이터에서 중요한 정보를 추출하거나 데이터를 
더 다루기 쉬운 형태로 변환하는 작업에 사용


차원 축소: 가장 큰 고유값에 해당하는 몇 개의 고유벡터만을 선택, 데이터의 차원을 줄임 
         3차원 공간의 데이터를 2차원 평면에 투영하는 것을 생각하면 이해하기 쉽다. 
         =>데이터의 주요 특성은 유지하면서도 차원을 줄일 수 있음
         
노이즈 제거: 작은 고유값에 해당하는 고유벡터들은 주로 노이즈나 덜 중요한 정보 
          이들을 제거함으로써 데이터의 주요 신호만을 남길 수 있음
          
데이터 시각화: 고차원 데이터를 2차원이나 3차원으로 축소하여 시각화에 이용

특성 추출: PCA를 통해 얻은 주성분(공분산 행렬의 고유벡터)들은 원래 특성들의 선형 조합 
         이 주성분들은 데이터의 새로운 특성으로 볼 수 있으며, 때로는 원래 특성들보다 
         더 의미 있는 정보를 제공

 

 

 

오토인코더

 

입력 데이터를 저차원 공간으로 압축한 후, 복원하는 과정을 학습

학습된 저차원 공간은 새로운 기저 역할을 한다.

import numpy as np

#기저 벡터
e1 = np.array([1, 0])
e2 = np.array([0, 1])

#새로운 벡터
v = np.array([3, 2])

#기저에 대한 좌표 찾기
coord1 = np.dot(v, e1)
coord2 = np.dot(v, e2)

print("새로운 기저에서의 좌표:", (coord1, coord2))

2차원 공간에서 표준 기저를 사용하여 새로운 벡터의 좌표를 찾는 방법

 

 

워드 임베딩

 

NLP에서 단어를 벡터로 표현하는 공간

이 공간의 기저는 단어 간의 의미적 관계를 학습

 

 

컴퓨터 그래픽스

화면 좌표계, 월드 좌표계, 카메라 좌표계 등 다양한 기저를 활용하여 물체를 표현하고 변환

 

 

 

기저 변환 예시 코드(역행렬 : 새로운 기저와 기존 기저의 변환 관계 제공, 벡터v를 역행렬에 곱해서 새로운 좌표 계산)

import numpy as np

# 기존 기저 (표준 기저)
e1 = np.array([1, 0])
e2 = np.array([0, 1])

# 새로운 기저
b1 = np.array([1, 1])  # 새로운 기저 벡터 1
b2 = np.array([-1, 2])  # 새로운 기저 벡터 2
B = np.column_stack((b1, b2))  # 새로운 기저 행렬

# 변환하려는 벡터
v = np.array([3, 2])

# 새로운 기저에서의 좌표 계산
new_coords = np.linalg.inv(B).dot(v)

print("새로운 기저에서의 좌표:", new_coords)

 

 


 

기저를 바꾼다는 것은 기준 축을 재설정하는 것

PCA와 오토인코더는 데이터의 분산이나 정보량을 최대화하는 새로운 기저를 찾는 데 중점을 둔다

워드 임베딩과 같은 벡터 공간 모델은 복잡한 의미를 단순히 좌표로 표현할 수 있는 도구

 


벡터 공간과 기저는 선형대수학의 핵심 개념으로, 머신러닝, 데이터 과학, 컴퓨터 그래픽스 등 다양한 분야에서 중요한 역할을 한다.

'인공지능을 위한 선형대수학 기초' 카테고리의 다른 글

선형 변환  (0) 2025.01.06
행렬식과 역행렬  (2) 2025.01.03
행렬과 행렬 연산  (1) 2025.01.03
벡터(vector)  (8) 2024.12.11
스칼라(scalar)  (0) 2024.12.10