6 minute read

Overview


이름이 그렇게 붙여진 데에는 이유가 있다. 그러나 그 이유를 알고자 단어에 너무 집착하다보면 혼란스러울 때가 있다. 이번이 그랬다. 머신러닝의 ‘Linear Regression’을 배우는 도중 ‘Linear’란 뜻에 대해서 곰곰히 생각해보게 되었다. 다음 명제가 의심의 여지 없이 이해가 된다면 그냥 이 글을 skip 해도 된다.

Y=Ax+b는 선형 방정식이다. 하지만 선형 시스템은 아니다.

Linear System

어떠한 시스템이 선형 시스템 이려면 다음 두 가지 조건을 만족해야 한다고 정의 한다.

  1. 가산성 (Additivity)
  2. 동차성 (Homogeneity)

이 두가지를 만족하는 경우를 중첩의 원리 (Superposition)가 적용된다고 부른다. 어떤 시스템이 선형 시스템이려면, 중첩의 원리가 성립해야 한다는 것이다. 이제 Additivity와 Homogeneity에 대해 알아보자.

먼저 Additivity를 만족한다는 것은 시스템에 대해서 다음이 성립한다는 뜻이다.

\[\begin{aligned} f(x_1+x_2) = f(x_1) + f(x_2) \end{aligned}\]

그럼 이제 $f(x) = Ax + b$ 에 대해서 additivity가 성립하는지 보자. $f(x_1) = Ax_1 + b$ , $f(x_2) = Ax_2 + b$ 이므로

\[\begin{aligned} f(x_1)+f(x_2) = A(x_1+x_2) + 2b \end{aligned}\]

한편, $f(x_1+x_2) = A(x_1+x_2) + b$ 이므로 y = Ax + b는 additivity를 만족하지 않는다.

이미 선형 방정식이 아닌 건 판별 됬지만 허전하니까 homogeneity에 대해서도 체크해보자. $f(\alpha x_1) = \alpha Ax_1 + b$ 이고 $\alpha f(x_1) = \alpha (Ax_1 + b)$ 이므로 homogenity도 만족하지 않는다. 어찌됐던 간에 $y=Ax + b$ 가 linear system 이 아닌 것은 확실하다!

아쉬워서 $y=Ax + b$ 의 양변을 시간에 대해 미분해보도록 하자. 그러면 $\dot{y} = A\dot{x}$ 가 된다. $x_1$, $x_2$에 대해서 각각 $\dot{y_1} = A\dot{x_1}$, $\dot{y_2} = A\dot{x_2}$ 를 만족한다고 한다면, 변변 더하여

\[\begin{aligned} \dot{y_1} + \dot{y_2} = A(\dot{x_1} + \dot{x_2}) \end{aligned}\tag{1}\]

가 성립한다. $x = (x_1 + x_2)$ 에 대해서도 동일한 결과가 나오는지 확인해보자.

\[\begin{aligned} A(\dot{x_1}+\dot{x_2}) &= A\dot{x_1} + A\dot{x_2}\\ &=\dot{y_1} + \dot{y_2} \end{aligned}\tag{2}\]

식 (1)과 식 (2)의 결과가 같으므로, additivity 를 만족한다.

이번에는 homogeneity를 만족하는지 보자. 먼저 $x = \dot{x_1}$ 에 대하여 $\dot{y_1} = A\dot{x_1}$ 를 만족한다고 할 때, 양변에 $\alpha$ 를 곱하면

\[\begin{aligned} \alpha \dot{y_1} = \alpha A\dot{x_1} \end{aligned}\tag{3}\]

를 만족한다. 이번엔 $x = \alpha \dot{x_1}$ 인 경우

\[\begin{aligned} A\alpha \dot{x_1} &= \alpha A\dot{x_1}\\ &=\alpha \dot{y_1} \end{aligned}\tag{4}\]

(3)과 (4)의 결과가 같기 때문에 homogeneity도 성립한다. 따라서 $\dot{y} = A\dot{x}$ 는 linear system이다. 따라서 additivity와 homogeneity가 성립하는 linear system에 대해서는 다음이 성립한다.

\[\begin{aligned} f(\alpha x_1 + \beta x_2) = \alpha f(x_1) + \beta f(x_2) \end{aligned}\]

식만 보면 ‘어쩌라공?’ 할 수 있겠지만 어떤 시스템이 linear system 이라는 건 ‘예측할 수 있는 쉬운’ 시스템이라는 것이다. 왜냐하면 위 식이 성립하기 때문에 어떤 선형 시스템에 대해서 $f(x_1)$일 때의 값과 $f(x_2)$일 때의 값을 알고 있다면 $f(\alpha x_1 + \beta x_2)$ 의 값을 직접 계산할 필요 없이 $f(x_1)$ 과 $f(x_2)$ 의 조합으로만 알 수 있다고 ‘단언’ 할 수 있기 때문이다.

물론 현실의 대부분 시스템은 거의 다 이런 예측이 맞다고 ‘단언’할 수 없는 비선형 시스템이다. 따라서 문제를 풀 때 state $x$ 값의 ‘근처’ 에 대해서만 선형화를 해서 푼다. 예측이 잘 맞지 않는 복잡한 시스템일지라도 좁은 구간에 대해서는 예측이 얼추 맞다 라고 가정하는 것이다. 비선형성이 심하지 않은 시스템의 경우 이러한 가정하에 만족할 만한 답을 얻을 수 있지만, 비선형성이 매우 심한 시스템의 경우 선형화에 의한 오차를 무시할 수 없게 된다. Estimation 관련 논문이 계속해서 나오는 이유는 새롭게 정의된 문제가 나타나서기도 하지만, 그 문제들의 비선형성을 어떻게 잘 해결해야 할지 여러가지 접근법이 존재하기 때문이다.

Linear Equation

Linear Equation은 말 그대로 진짜 ‘직선의 형태를 띄는’ 방정식이다. x에 대한 방정식에 만약에 x변수에 1차가 아닌 (2차, 3차 etc) 차수가 존재한다면, linear equation이 아니다. 예를 들어 x에 대한 방정식 $f(x)$ 에 대해서 아래는 모두 linear equation이다.

\[\begin{aligned} f(x) = Ax + b \end{aligned}\] \[\begin{aligned} f(x) = \frac{1}{A}x + b^2 \end{aligned}\] \[\begin{aligned} f(x) = 1 + \alpha x + \alpha^2x +\alpha^3 \end{aligned}\]

마찬가지로, 다차원에 대해서도 차수가 1만 안넘으면 된다. 다음은 모두 linear equation이다.

\[\begin{aligned} f(x,y) = a^2x + b^2y \end{aligned}\] \[\begin{aligned} f(x,y,z,v,w) = e^ax + \sqrt{b}y + z + \frac{v+w}{\ln k} \end{aligned}\]

Conclusion


Linear Regression에서 등장하는 ‘Linear’는 linear equation에서 나온 ‘linear’이다. ‘linear system’이 아니라! 다른 사이트 에서도 나처럼 linear라는 단어 때문에 혼동이 온 사람이 있어서 참고하면 좋을 것 같다.

Leave a comment