벡터 공간의 성질
벡터 공간은 다음 10가지 공리로 정의:
(1) 벡터의 덧셈과 성질
• 덧셈의 닫힘성: 벡터 공간의 두 벡터를 더하면 결과도 벡터 공간에 속해야 한다.
• 덧셈의 교환법칙: 벡터를 더하는 순서는 결과에 영향을 주지 않는다.
• 덧셈의 결합법칙: 벡터를 세 개 더할 때, 괄호의 위치를 바꿔도 결과는 같다.
• 영벡터의 존재: 벡터 공간에는 덧셈에 대해 항등원이 되는 특별한 벡터(영벡터)가 존재해야 한다.
• 덧셈 역원의 존재: 각 벡터 u에 대해 -u라는 역벡터가 존재해야 하며, 이 두 벡터를 더하면 영벡터가 된다.
→ u + (-u) = 0
(2) 스칼라 곱과 성질
• 스칼라 곱의 닫힘성: 벡터 공간의 벡터에 실수(스칼라)를 곱한 결과도 같은 벡터 공간에 속해야 한다.
• 분배법칙: 스칼라를 벡터의 합에 곱할 때, 스칼라를 각각의 벡터에 곱한 후 더해도 결과는 같다. (벡터에 대해)
• 분배법칙: 두 스칼라의 합을 벡터에 곱할 때, 각각의 스칼라를 벡터에 곱한 후 더해도 결과는 같다. (스칼라에 대해)
• 결합법칙: 두 스칼라를 곱한 후 벡터에 곱하는 것은, 스칼라 중 하나를 벡터에 곱한 결과에 나머지 스칼라를 곱하는 것과 같다.
• 스칼라 곱의 항등원: 스칼라 곱에 대해 항등원인 스칼라 1이 존재하며, 이를 벡터에 곱하면 벡터 자체가 된다.
이 10가지 공리는 벡터 공간이 선형 구조를 가지기 위한 필수 조건
=> 이 공리들이 만족되면, 벡터 공간에서의 연산이 안정적이고 예측 가능하며, 이를 기반으로 선형 변환, 행렬 계산, 기저 변환 등 복잡한 연산을 수행할 수 있다.
기저와 차원의 의미
기저 벡터는 벡터 공간의 “기초”를 이루는 벡터들
이 기저는 반드시 다음 두 조건을 만족해야 한다:
• 선형 독립: 기저 벡터들은 서로 선형 결합으로 표현할 수 없다.
• 공간 생성: 기저 벡터의 선형 결합으로 벡터 공간의 모든 벡터를 표현할 수 있어야 한다.
차원의 정의
기저 벡터의 개수가 벡터 공간의 차원을 결정:
• 1차원 공간: 한 방향으로만 확장 (예: 실수 집합 R )
• 2차원 공간: 평면 상의 모든 벡터 (예: R²)
• 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 |