728x90
1. 선형 변환
선형성 linearity
- 수학에서 선형성은 두 가지로 정의된다.
- Additivity : f(a+bf(a+b = faa + fbb)
- Homogeneity : f(caf(ca = faa) (c(c는 상수)
- 기억하기 위해서 f(c1a+c2bf(c1a+c2b = c_1faa + c_2fbb)를 만족하면 선형의 두 조건을 만족하는 셈이다. 앞으로 이 식으로 선형성을 확인하겠다.
선형 함수 linear function
단일 변수 일차 함수
- "선형"이라는 말 때문에 선형 함수를 1차 함수로 오해할 수 있다.
- 일반적인 단일 변수 일차 함수는
로 표현할 수 있다.f(x)=mx+nf(x)=mx+n
- 11과 22가 다르기 때문에 일반적인 일차 함수는 선형함수가 아니다.
- 일차 함수 중 y절편이 0인 경우에만 선형 함수다.
다변수 일차 함수
- 다변수 일차 함수는
로 표현할 수 있는데 마찬가지로 이 중f(→x)=f(x1,x2,…,xn)=m1x1+m2x2+⋯+mnxn+nf(→x)=f(x1,x2,…,xn)=m1x1+m2x2+⋯+mnxn+n 이 0인 경우에만 선형 함수라고 할 수 있다.nn - 아래의
는 선형이 아니지만,ff 는 선형이다.gg
선형 변환 linear transformation
- /→y=f(→x→y=f(→x/) 처럼 독립 변수 뿐만 아니라 종속변수도 vector인 경우도 가능하다. 이 경우에 독립 변수에 대해 1차 함수라면 벡터와 행렬의 곱셈으로 표현할 수 있다.
- 앞서 설명한 선형성 판정과 비슷한 방식으로 →y=A→x→y=A→x는 선형변환이지만 →y=A→x+→b/→y=A→x+→b/는 선형변환이 아니다.
2. Affine 변환
- Affine 변환은 점은 점으로, 선은 선으로, 면은 면으로 유지하는 변환인데, →y=A→x+→b→y=A→x+→b 처럼 선형 변환 + 평행 이동이라고 생각하면 된다.
- 위의 식에서 →b→b를 더하는 과정을 행렬과 벡터의 곱 계산 안으로 넣을 수 있다.
- A 행렬의 마지막 열에 →b→b를 포함시키고, →x→x의 마지막 요소에 1을 추가해 다음과 같이 만들면 →y=A→x+→b=A′→x′ 로 만들 수 있다.

- 이러한 방식으로 Affine 변환도 행렬과 벡터의 곱으로 표현할 수 있다.
Neural Network
- Neural network의 layer는 입력 feature들의 linear transformation에 bias를 더하는 affine transformation 후 activation function에 통과시켜 비선형 변환을 하는 역할을 한다.
- 이 과정은 다음과 같은 수식으로 표현되고, 이를 도식화하면 그 아래의 그림과 같이 표현할 수 있다. W는 weight matrix이고, →b는 bias이다.

- 위의 식을 앞에서 했던 방식처럼 하나의 matrix와 vector의 곱으로 바꿔
표현하면 bias가 weight matrix 안으로 들어가는 셈이 되고, 그래프는 다음과 같이 다시 그릴 수 있다.→y=W′→x′

Affine transformation의 다른 의미는 2를 참고
마무리
- 처음 공부할 때 Linear transformation과 Affine transformation 모두 행렬의 곱으로 표현해 혼란스러웠던 기억이 있어 지금까지 공부하며 이해한 내용을 정리를 해봤다.
Reference
[1] wiki - linearity
[2] youtube - 홍정모님 Affine transformation
[3] coursera - Andrew Ng 교수님의 Machine Learning 강의
'Data science' 카테고리의 다른 글
신뢰성 공학 기초 0 | 2023.10.04 |
---|---|
모델과 지도학습 0 | 2023.08.30 |
인공지능과 수학 4 | 2023.08.06 |
최적화와 머신러닝 0 | 2022.07.24 |
클래스 불균형 다루기 0 | 2022.07.20 |