우리가 자주 사용하는 공학 도구들이 직교성에서 출발하는데도 아쉽게도 학교에서 공부할 때에는 그 중요성을 잘 인지하지 못했다. 결론부터 말하자면 직교는 독립의 충분조건(sufficient condition)이다. 직교하면 독립이지만 독립이라고 해서 반드시 직교는 아니다. 하지만 직교한다는 것만 확인한다면 어떤 물리량을 서로 독립된 특성들로 분리해서 늘어놓을 수 있게 된다. 심지어는 요즘에는 소프트웨어 개발 분야에서도 orthogonal이라는 용어를 사용하는 듯하다. 소프트웨어 개발에 직교라니 뭔 소리야 하겠지만 끝까지 읽어보면 이것도 별 다를 게 없는 의미구나 하는 생각이 들 것이다. 그럼 이게 뭔 소린지 같이 알아보자.
1. 선형 종속(linear dependence)
두 벡터가 그림 1처럼 같은 선상에 있다면 벡터를 늘리고 줄여서 $\vec{a} = k\vec{b}$를 만족하는 상수 $k$를 찾을 수가 있다. 이런 두 벡터는 종속(dependent)이다. 이제 붉은색 벡터 $\vec{a}$와 자주색 벡터 $\vec{b}$가 어떤 특성(또는 성분)을 나타낸다고 생각해보자. 두 벡터가 그림 1처럼 종속인 경우에는 특성 $\vec{b}$는 '특성 $\vec{a}$의 몇 배'로 표현할 수 있으므로 특성 $\vec{b}$는 더 이상 있으나 없으나 의미가 없다. 차라리 앞으로 $\vec{b}$는 $\vec{a}$로 치환해서 표현하면 변수가 줄어 문제의 복잡도를 줄일 수 있을 것이다.
2. 선형 독립(linear independence)
독립의 정의를 찾아보면 대체로 확률통계에서 사용하는 독립 사건의 정의가 나온다. 너무나 유명한 내용이고 고등학교 확률 시간부터 사용했기 때문에 널리 이해되고 있는 개념이다. 그러나 우리가 알고 싶은 개념은 선형 대수(linear algebra)에서 다루는 선형 독립이었다. 행렬 말고는 특별히 선형대수를 공부하지 않은 우리로서는 찾기 어려웠던 것이다. 그럼 선형 독립의 정의를 알아보자.
어떤 벡터 집합 $\{\textbf{u}_1, \textbf{u}_2, \cdots, \textbf{u}_n\}$이 선형 결합 $c_1\textbf{u}_1 + c_2\textbf{u}_2 + \cdots + c_n\textbf{u}_n = 0$을 만족하는 유일한 해 $\{c_1, c_2, \cdots, c_n\} = 0$를 가질 때 이 벡터 집합은 선형 독립이다.
이게 무슨 말이냐 하면 집합의 각 원소는 다른 어떤 원소로도 설명할 수 없다는 뜻이다. 간단하게 원소 2개만 가지고 다시 써보면 다음과 같다.
어떤 두 벡터 $\textbf{u}_1, \bf{u}_2$의 선형 결합 $c_1\bf{u}_1 + c_2\bf{u}_2 = 0$을 만족하는 유일한 해가 $c_1 = c_2 = 0$일 때 $\bf{u_1}, \bf{u_2}$는 선형 독립이다.
아래 그림에서 두 벡터는 서로 독립일까?
그림 2에서 두 벡터는 독립이다. 붉은색 벡터 $\vec{a}$는 자주색 벡터 $\vec{b}$만 가지고 표현할 방법이 없다. 즉 $\vec{a} = k\vec{b}$를 만족하는 상수 k를 찾을 수 없다. 어떤 n 차원 공간이 가질 수 있는 서로 독립인 벡터는 최대 n개다. 예를 들어 2차원 공간에서는 최대 두 개 벡터만 서로 독립일 수 있다. 벡터 세 개가 있으면 벡터 두 개를 늘이고 줄여서 결합해 나머지 한 개 벡터를 표현할 수 있다. 만약 n 차원 공간에서 n 개의 서로 독립인 벡터를 갖는 집합이 있다면 이것을 기저 벡터의 complete set이라고 하고 우리 말로는 완비되었다고 한다.
3. 직교(Orthogonality)
푸리에 변환이나 르장드르 다항식 같은 것들을 공부하다 보면 각 항이 직교 특성을 가진다는 말이 자꾸 나온다. 대체 직교가 뭐길래 이렇게 나오나 하고 찾아보지만 그 의미를 바로 이해하기 어렵다. 결국 어렵사리 직교와 독립의 의미를 찾다 보면 이런 설명을 찾게 된다.
If two vectors $\bf{u}$ and $\bf{v}$ are orthogonal, then they are linearly independent.
결론을 이야기하자면 직교는 독립의 부분집합이다. 즉 직교는 독립의 특수한 케이스가 되는 것이다.
벡터의 직교는 내적으로 확인한다. 그림 3에서 두 벡터는 독립이면서 직교한다.
어떤 두 벡터의 내적이 0 이면 직교한다
$$(\textbf{u}, \textbf{v}) = 0$$
함수의 직교는 함수의 내적으로 확인한다. 아래 수식을 보면 알겠지만 연속 함수이기 때문에 적분 꼴을 하는 것뿐이지 벡터의 내적이나 크게 다르지 않다. 함수값을 샘플링해서 벡터로 만들고 계산해보면 마찬가지라는 것을 알 수 있다.
어떤 두 함수가 닫힌 구간 $[a, b]$에서 다음을 만족할 때 두 함수는 서로 직교한다고 한다.
$$\int_{a}^{b}f(x)g(x)dx = 0$$
4. 단위 직교(Orthonormal)
두 벡터가 직교하면서 그 크기가 1일 때 단위 직교(Orthonormal)한다고 한다. 크기가 1이 되면 각 특성들을 표현하고 서로 비교하기 쉬워진다. 대표적으로 직각 좌표계의 x축과 y축을 표현하는 기저(basis) 벡터 $\bf{e_x}, \bf{e_y}$는 서로 orthonormal이다. 어떤 벡터 집합을 직교하는 단위 벡터로 변환해 orthonormal 한 특성 공간을 만드는 과정을 Gram-Schmidt process라고 한다. 이렇게 만들어진 단위 직교 벡터들을 기저(basis)로 사용하면 어떤 물리량을 단위 직교하는 특성 변수들의 합으로 표현할 수 있게 된다.
5. 특성의 유사도
두 벡터가 독립이지만 직교하지 않는 경우를 보자. 그림 4에 자주색 벡터를 붉은색 벡터에 투영했다. 투영한 길이가 0이 아니라는 것은 자주색 벡터 방향으로 움직일 때에도 붉은색 벡터의 특성을 상당히 갖는다는 뜻이다. 다시 생각해 보면 두 특성이 완전히 분리된 것이 아님을 알 수 있다. 그러다가 각도가 점점 커져서 그림 3처럼 90도에 이르게 되면 $cos(\frac{\pi}{2}) = 0$이 되어 자주색 벡터 방향 물리량을 아무리 늘리고 줄여도 붉은색 벡터 방향의 성분이 전혀 나타나지 않게 된다. 잘 생각해보면 내적이 0이 되는 것이다. 데이터 분석에서는 두 특성의 비슷한 정도를 상관계수 외에도 코사인 유사도 $cos\theta$로 표현하고 내적을 이용해서 구하기도 한다. 두 특성이 직교하면 유사도가 0이 되고 종속이면 1이 된다. 코사인 유사도가 1에 가까운 경우에는 특성이 별 차이가 없다고 보고 스크리닝 하기도 한다.
6. 그래서 어쩌라고..
$$\textbf{y} = c_1\textbf{u}_1 + c_2\textbf{u}_2 + \cdots + c_n\textbf{u}_n$$
물리량을 나타내는 특성들이 서로 직교하면 이 특성들은 서로 독립이다. 이렇게 독립 특성의 선형 결합으로 표현한다는 것은 다른 방향에서 바라보면 어떤 물리량 $\textbf{y}$를 독립 특성들로 분리(decomposition)할 수 있다는 말이 된다. 이제 위 식에서 마음에 들지 않는 항을 빼더라도 다른 특성들은 온전히 보전할 수 있다. 혹은 원하는 특성만 뽑아낼 수도 있을 것이다.
예를 들면 푸리에 변환은 삼각함수가 주파수에 상관없이 서로 직교하는 성질을 이용한다. 이것은 어떤 신호를 분리된 서로 다른 주파수를 갖는 삼각함수의 합으로 표현할 수 있게 된다는 것이다.
마찬가지로 제르니케 다항식이나 르장드르 다항식으로 어떤 광학면의 형상을 표현한다면 이 광학면이 가진 광학 수차를 분리해서 표현할 수 있게 된다. 따라서 내가 원하지 않는 형태의 움직임(예를 들면 강체 이동)은 빼버리고 온전히 내가 집중하고자 하는 수차 특성만 뽑아낼 수 있다.
마지막으로 우리가 가진 데이터를 최소제곱법으로 fitting 하여 계수들을 찾아냈을 때 이 데이터가 적절히 직교하는지 확인할 필요가 있다. 연속 함수일 때 직교하는 함수일지라도 우리가 보통 얻게 되는 이산 데이터는 직교하지 않을 수 있기 때문이다. 얼마나 잘 직교해야 적당한지는 다루는 문제마다 다르다. 직교하는 정도를 파악하는 방법은 분리된 특성 벡터를 서로 내적 해보거나 일부 항을 제거하고 다시 fitting 했을 때 계수가 변하는지 확인하는 것이다. 어떤 항을 제거 했을 때 다른 항의 계수가 변한다는 것은 하나의 항을 없애면서 다른 특성들이 연성되어(coupled) 일부 날아가거나 영향을 받았다는 의미가 된다. 만약 다루고 있는 데이터의 직교성이 부족하다면(내적이 0보다 많이 크다면) 샘플링을 더 많이 하거나 샘플의 대칭성을 높여야 한다.
최근댓글