12. 내적과 놈

김재희·2021년 9월 4일
0

Linear Algebra

목록 보기
12/18

내적은 정말 자주 쓰는 개념이다. 유사도를 비교하든, 두 벡터에 일정한 연산의 일종으로 사용하든, 딥러닝 공부하면서 자주 접했다. 놈 역시 내적과 밀접한 관련을 맺고 있는데, 이 개념들을 다시 정리해보도록 하자.

1. 내적(Inner Product)

내적의 정의는 우선 다음과 같다.

정의 1. FF-벡터공간 VV를 생각해보자. VV에 정의된 내적 <x,y>는 VV의 임의의 벡터 x,yx, y의 순서쌍을 스칼라에 대응시키는 함수로, 다음 조건을 만족한다.
임의의 x,y,zVx, y, z\in V와 임의의 cFc \in F에 대하여
1. <x+z,y>=<x,y>+<z+y><x + z, y> = <x, y> +<z + y>
2. <cx,y>=c<x,y><cx, y> = c<x, y>
3. <x,y>=<y,x>\overline{<x, y>} = <y, x>(단, 이때의 z\overline{z}zz의 켤레복소수를 의미)
4. x0x \neq 0일 때, <x,x><x, x>는 양수이다.

조건 3은 복소수 공간에서는 <x,y><y,x><x, y> \neq <y, x>이지만, 실수 공간에서는 <x,y>=<y,x><x, y> = <y, x>가 되어 permutation invariant한 연산이 된다. 이는 내적이 딥러닝에서 가지는 중요한 성질 중 하나이다. 조건 1,2 는 행렬과 비슷하게 내적이 첫번째 성분에 대한 선형임을 보이게 된다.

증명
FnF^n의 두 벡터 x=(a1,a2,,an),y=(b1,b2,,bn)x = (a_1, a_2, \dots , a_n), y = (b_1, b_2, \dots, b_n)에 대하여 <x,y>=i=1naibi<x, y> = \sum^n_{i =1} a_i \overline{b_i}로 정의하자. 이때 <,><\cdot, \cdot>이 조건 1, 2를 만족함을 쉽게 보일 수 있다.

조건 1. z=(c1,c2,,cn)z = (c_1, c_2, \dots, c_n) 일 때,

<x+z,y>=i=1n(ai+cI)bi=i=1naibi+i=1ncibi=<x,y>+<z,y>\begin{aligned} <x + z, y> &= \sum^n_{i=1}(a_i + c_I)\overline{b_i} \\ &= \sum^n_{i =1}a_i\overline{b_i} + \sum^n_{i=1}c_i\overline{b_i} \\ &= <x,y> + <z,y> \end{aligned}

조건 2. C2C^2의 두 벡터 x=(1+i,4),y=(23i,4+5i)x = (1+ i, 4), y = (2 -3i,4+5i)에 대해 <x,y><x, y>는 다음과 같다.

<x,y>=(1+i)(2+3i)+4(45i)=1515i\begin{aligned} <x, y> = (1+i)(2+3i) + 4(4-5i) = 15-15i \end{aligned}

이때 위에서 정의한 내적을 FnF^n의 표준내적이라 한다고 한다. 하지만 만약 F=RF =R이라면 켤레복소수가 자신과 동일하기 때문에, 굳이 계산할 필요가 없다. 이때 우리가 흔히 배운 내적(dot product)가 된다.

이제 행렬의 단위에서 내적을 생각해보자.

정의 2. AMm×n(F)A \in M_{m \times n}(F)를 생각해보자. 모든 i,ji, j에 대하여 (A)ij=Aij(A^*)_{ij} = \overline{A}_{ij}인 행렬 AA^*AA의 켤레 전치행렬(conjugate transpose) 또는 수반행렬(adjoint)이라 한다.

만약 행렬 AA의 모든 성분이 실수라면 켤레 복소수는 자기 자신이 되므로 AA^*는 단순하게 전치행렬이 되게 된다.

행렬에 대한 내적연산의 대표적 예시가 프로베니우스 내적이다.

정의 3. 벡터 공간 V=Mn×n(F)V = M_{n \times n}(F)와 두행렬 A,BVA, B \in V에 대하여 프로베니우스 내적은 다음과 같이 정의된다.

<A,B>=tr<B,A><A, B> = tr<B^*, A>

이처럼 행렬에 대한 내적 연산이 가능해지면 공간에 대한 이야기가 가능해진다.

내적이 주어진 FF-벡터공간 VV를 내적공간이라 한다. 또한, F=CF = C이면 VV를 복소내적공간이라 하고, F=RF = R이면 VV를 실내적공간이라 한다.

예를 들어 VV를 내적 <x,y><x, y>가 주어진 내적공간이라 하자. WWVV의 부분공간일때, WW는 정의역을 x,yWx, y \in W로 제한한, 같은 함수 <x,y><x, y>가 주어진 내적공간이라고 한다. 내적공간이 특별한 이야기가 아니라, 어떠한 공간에서 내적이 정의될 수 있다면, 해당 공간은 특정 내적이 주어진 내적공간이라고 할 수 있다. 이는 행렬 뿐만 아니라 벡터에 대해서도 동일하게 성립된다.

앞으로 선형대수학 정리를 하면서 다룰 FnF^n은 표준 내적이 주어진 내적공간을 지칭하고, Mn×n(F)M_{n \times n}(F)은 프로베니우스 내적이 주어진 내적공간을 지칭하게 될 것이다.

재밌는 점은 동일한 벡터공간이라 하더라도, 다른 내적이 주어지면 전혀 다른 내적공간이 되게 된다. 예를 들어 두 내적을 다음과 같이 정의해보자.

이때, f(x)=x,g(x)=x2f(x) = x, g(x) = x^2은 두번째 내적공간에서는 0이 되기 때문에 직교하지만, 첫번째 내적공간에서는 그렇지 않다. 즉, 내적공간은 단순히 특정 벡터 공간을 의미하는 것이 아니라, "내적이 주어진" 벡터 공간을 의미하게 된다.

2. 내적의 성질

내적의 구체적인 성질로는 다음이 있다.

정의 4. 내적공간 VV를 생각하자. 이때, 벡터 x,y,zVx, y, z\in V와 스칼라 cFc \in F에 대하여 다음이 성립한다.
1. <x,y+z>=<x,y>+<x,z><x, y+z> = <x, y> +<x, z>
2. <x,cy>=c<x,y><x, cy> = \overline{c}<x, y>
3. <x,0>=<0,x>=0<x, 0> = <0, x> = 0
4. <x,x>=0x=0<x, x> = 0 \leftrightarrow x = 0
5. 모든 xVx \in V에 대하여 <x,y>=<x,z><x, y> = <x, z>이면 y=zy = z이다.

증명

1.<x,y+z>=<y+z,x>=<y,x>+<z,x>=<y,x>+<z,x>=<x,y>+<x,z>2.<x,cy>=<cy,x>=c<y,x>=c<x,y>3.<x,0>=<0,x>=<0,x>=<x,0y>=0<x,y>=0\begin{aligned} 1. <x, y +z> &= \overline{<y+z, x>} \\ &=\overline{<y, x> + <z, x>}\\ &=\overline{<y,x>} + \overline{<z, x>}\\ &=<x, y> + <x, z>\\ 2. <x, cy> &= \overline{<cy, x>} \\ &=\overline{c<y, x>}\\ &=\overline{c}<x, y>\\ 3. <x, 0> &= \overline{<0, x>} = <0, x>\\ &= <x, 0\cdot y> = 0 \cdot <x, y> = 0\\ \end{aligned}

3. 놈(norm)

이때, 길이의 개념을 일반화해보고자 한다. 벡터 x=(a,b,c)R3x = (a, b, c) \in R^3의 원점으로부터의 길이는 a2+b2+c2\sqrt{a^2 + b^2 +c^2} 이라는 것은 익히 알고 있는 사실이다. 이를 내적 연산을 통해 표현할 수 있는데 <x,x>\sqrt{<x, x>}가 될 것이다.

정의 5. 내적공간 VV와 벡터 xVx \in V에 대하여 xx의 놈(norm) 혹은 길이 (length)를 x=<x,x>\lvert \lvert x \rvert \rvert = \sqrt{<x, x>}로 정의한다.

놈은 다음과 같은 성질을 가지게 되는데 이는 RnR^n의 유클리드 길이에서 사용하는 성질과 동일하다.

정리 1. FF-내적공간 VV와 임의의 벡터 x,yVx, y \in V, 스칼라 cFc \in F에 대하여 다음이 성립한다.

1.cs=cx2.x=0    x=0또한모든x대하여x03.코시슈바르츠부등식<x,y>xy4.삼각부등식x+yx+y\begin{aligned} &1. ||cs|| = |c| \cdot ||x|| \\ &2. ||x|| = 0 \iff x =0 \quad 또한\quad 모든 \quad x에\quad 대하여\quad ||x|| \geq 0\\ &3. 코시-슈바르츠부등식 |<x, y>| \leq ||x|| \cdot ||y|| \\ &4. 삼각부등식 ||x+y|| \leq ||x|| + ||y|| \end{aligned}

여기서 한 가지 더 보고 넘어갈 점은 두 벡터가 이루는 cosθcos\theta에 관한 것이다.
위 그림과 같이 A, B가 각을 이루고 있을때, 코사인은 다음과 같이 표현할 수 있다.

cosθ=cos(αβ)=cosαcosβ+sinαsinβ=b1Ba1A+b2Ba2A=a1b1+a2b2AB=<A,B>AB\begin{aligned} cos\theta &= cos(\alpha -\beta) = cos\alpha \cdot cos\beta + sin\alpha \cdot sin\beta\\ & = {b_1 \over ||B||} \cdot {a_1 \over ||A||} + {b_2 \over ||B||} \cdot {a_2 \over||A||}\\ &= {a_1 b_1 + a_2 b_2 \over ||A||\cdot ||B||}\\ & = {<A, B> \over ||A||\cdot ||B||} \end{aligned}

즉, 코사인은 두 벡터의 내적을 정규화한 값이라고 생각할 수 있는데, 식을 다시 써보면 다음과 같다.

<x,y>=xycosθ<x, y> = ||x|| \cdot ||y|| cos\theta

이때 두 벡터가 수직이라면 cosθ=0cos\theta = 0이므로 자연스레 <x,y>=0<x, y> = 0이 된다.

수직에 대해 조금 더 이야기 해보도록 하자.

4. 수직, 직교

직교의 정의는 다음과 같다.

정의 6. 내적공간 VV에 대하여 벡터 <x,y>=0<x, y> = 0이면 두 벡터는 직교하거나 수직이라고 정의한다. 또한
1. VV의 부분집합 SS에 대하여 SS에 속하는 서로 다른 임의의 두 벡터가 직교할 때, 집합 SS를 직교 집합이라 한다.
2. x=1||x|| = 1인 벡터를 단위벡터라 한다.
3. VV의 부분집합 SS가 직교 집합이고 단위벡터로만 이루어져 있을 때, 집합 SS를 정규직교집합이라 한다.

정규직교집합은 기저를 이루는 아주 중요한 집합이기 때문에 향후 중요하게 다뤄질 수밖에 없다.
또한 집합 S={v1,v2,}S = \{v_1, v_2, \dots\}가 정규직교집합이기 위한 필요충분조건은 <vi,vj>=δij<v_i, v_j> = \delta_{ij}이다. 이때 δ\delta는 크로네커 델타로 아래와 같은 식을 가지고 있다.

δij={1,if i=j,0,if ij.\delta_{ij} = \begin{cases} 1, & \text{if } i=j,\\ 0, & \text{if } i\neq j. \end{cases}

즉, 자기 자신과 내적하면 1이고, 이외의 벡터와 내적하면 모두 0이어야 한다.

직교성은 말 그대로 두 벡터 간의 각을 보존하므로 0이 아닌 스칼라를 곱해도 영향을 받지 않는다.

0개의 댓글