[AI 수학] 인공지능 수학 - 3. 선형변환
인공지능을 위한 기초수학 교재를 통해 공부한 내용을 서술하였습니다.
선형 변환, Linear Transformations
Preliminaries
변환
- 입력과 출력이 모두 벡터인 함수
선형 관계란?
- 두 개 이상의 변수 사이에서 일정한 패턴이나 규칙에 따라 형성되는 관계
- 변수들 간에 직선의 형태로 표현될 수 있는 관계
선형 관계의 특징
- 비례 관계 : 하나의 변수가 증가하면, 다른 변수도 일정한 비율로 증가하거나 감소
- 직선 관계 : 그래프 상에서 직선의 형태로 표현
- 상수 비율 : 두 변수 사이의 관계를 나타내는 상수 비율이 존재 $\to$ 기울기, gradient라고 함
선형 변환이란?
$T(x) = Ax$
$\mathbb{R}^n$에서 $\mathbb{R}^m$으로의 변환 $T: \mathbb{R}^n \to \mathbb{R}^m$가 임의의 벡터 $u, v \in \mathbb{R}^n $와 임의의 스칼라 k에 대하여 다음 두 조건을 만족하면 $T$를 $\mathbb{R}^n$에서 $\mathbb{R}^m$으로의 선형변환이라고 함
- $T(u + v) = T(u) + T(v) $
- $T(ku) = kT(u), (k \in \mathbb{R})$
쉽게 말하자면, 벡터 공간 내에서 벡터를 다른 벡터로 mapping하는 것
벡터공간 자세히 보러가기
집합(set) 내에 임의의 두 원소를 합(addition)하거나, 하나의 원소에 스칼라배(scalar multiplication)를 했을 때의 결과들이 그 집합을 벗어나지 않는 집합
선형 변환의 예시
선형 변환 행렬 : A = $ \begin{bmatrix}
2 & 0\\
0& 3\\
\end{bmatrix}$
import numpy as np
# 선형 변환 행렬
transformation_matrix = np.array([[2, 0],
[0, 3]])
# 입력 벡터
original_vector = np.array([1, 2])
# 선형 변환 적용
transformed_vector = np.dot(transformation_matrix, original_vector)
print("입력 벡터:", original_vector) #[1 2]
print("변환된 벡터:", transformed_vector) #[2 6]
이처럼 선형 변환은 행렬을 사용해 효과적으로 표현 가능
선형 변환의 결과는 변환 행렬과 입력 벡터의 곱으로 나타낼 수 있음
선형 변환 행렬
선형 변환을 행렬로 나타내기 위해 변환 행렬을 사용
변환 행렬은 입력 벡터를 변환하여 출력 벡터를 생성하는 데 사용
행렬의 각 열은 변환 후의 각 차원을 나타냄
2차원 선형 변환 예시
$T(\mathbf{v}) = \mathbf{Av}$
A는 변환 행렬,$\mathbf{A} = \begin{bmatrix}
2 & -1 \\
3 & 0
\end{bmatrix}$
입력 벡터 v = [1 2]
$\mathbf{Av} = \begin{bmatrix}
2 & -1 \\
3 & 0
\end{bmatrix}
\begin{bmatrix}
1 \\
2
\end{bmatrix} = \begin{bmatrix}
0 \\
6
\end{bmatrix}$
따라서, 입력 벡터 v는 행렬 A에 의해 변환되어 [0 6]로 매핑됨
References
3. 선형 변환
선형 변환은 수학적인 개념으로, 간단히 말하면 하나의 그림이나 모양을 다른 모양으로 바꾸는 것입니다. 중학생들도 이해할 수 있도록 간단한 예시를 들어보겠습니다. 우선, 우리는 …
wikidocs.net
선형 사상(Linear Map) 또는 선형 변환(Linear Transformation)의 원리 이해
난 수학도가 아니다. 그래서, 사실 이런 거창한 제목을 다는 것이 매우 부담스럽지만... 그냥 글자 그대로 선형 사상의 원리를 내 방식대로 이해한 내용을 담아 보려 한다. 이 포스트는 아래의 공
swjman.tistory.com