Data science

Affine 변환

이현찬 2022. 7. 24. 22:41
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로 표현할 수 있다.

f(c1a+c2b)=m(c1a+c2b)+n=mc1a+mc2b+n(1) c1f(a)+c2f(b)=mc1a+mc2b+2n(2)f(c1a+c2b)=m(c1a+c2b)+n=mc1a+mc2b+n(1) c1f(a)+c2f(b)=mc1a+mc2b+2n(2)

  • 1122가 다르기 때문에 일반적인 일차 함수는 선형함수가 아니다.
  • 일차 함수 중 y절편이 0인 경우에만 선형 함수다.

다변수 일차 함수

  • 다변수 일차 함수는 f(x)=f(x1,x2,,xn)=m1x1+m2x2++mnxn+nf(x)=f(x1,x2,,xn)=m1x1+m2x2++mnxn+n로 표현할 수 있는데 마찬가지로 이 중 nn이 0인 경우에만 선형 함수라고 할 수 있다.
  • 아래의 ff는 선형이 아니지만, gg는 선형이다.

f(x1,x2)=2x1+3x2+1,,,,,g(x1,x2)=2x1+3x2f(x1,x2)=2x1+3x2+1,,,,,g(x1,x2)=2x1+3x2

선형 변환 linear transformation

  • /y=f(xy=f(x/) 처럼 독립 변수 뿐만 아니라 종속변수도 vector인 경우도 가능하다. 이 경우에 독립 변수에 대해 1차 함수라면 벡터와 행렬의 곱셈으로 표현할 수 있다.
  • 앞서 설명한 선형성 판정과 비슷한 방식으로 y=Axy=Ax는 선형변환이지만 y=Ax+b/y=Ax+b/는 선형변환이 아니다.

2. Affine 변환

  • Affine 변환은 점은 점으로, 선은 선으로, 면은 면으로 유지하는 변환인데, y=Ax+by=Ax+b 처럼 선형 변환 + 평행 이동이라고 생각하면 된다.
  • 위의 식에서 bb를 더하는 과정을 행렬과 벡터의 곱 계산 안으로 넣을 수 있다.
  • A 행렬의 마지막 열에 bb를 포함시키고, xx의 마지막 요소에 1을 추가해 다음과 같이 만들면 y=Ax+b=Ax 로 만들 수 있다.

  • 이러한 방식으로 Affine 변환도 행렬과 벡터의 곱으로 표현할 수 있다.

Neural Network

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

Extra close brace or missing open brace

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

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