고유값, 고유벡터는 정말 많이 등장하는 개념이다. rnn에서 왜 vanishing gradient가 발생하는지 이야기할 때도 나오고, 추천 시스템에서 SVD가 어떻게 활용될 수 있는지 이야기할 때도 나오게 된다. 하나씩 보면서 정확한 개념과 그 원리를 이해해보도록하자.
고유값과 고유벡터에 대해 다루기 전에, 행렬의 대각화가능(diagonalizable)에 대해 먼저 이야기해보자.
정의 1. 유한차원 벡터공간 에서 정의된 선형연산자 에 대하여,
- 가 대각행렬이 되도록 하는 (의) 순서기저 가 존재할 때, 선형연산자 는 대각화가능하다고 한다.
- 가 대각화가능할 때, 정사각행렬 는 대각화가능하다고 한다.
결국 행렬로 보느냐 선형변환으로 보느냐에 문제기 때문에 위 두 문장은 동일하다고 볼 수 있을 것이다.
그렇다면 가 대각화가능하도록 만드는 를 어떻게 찾을 수 있을까?
우선 가 대각행렬이라고 해보자. 이때 가 대각행렬이기 때문에 가 된다.
반대로 이 어떤 스칼라 에 대하여 가 되도록 하는 순서기저라면, 는 다음과 같이 생기게 된다.
이러한 대각화가능에서 고유값과 고유벡터가 정의되게 된다.
정의 1. 벡터공간 의 선형연산자 에 대하여
- 영벡터가 아닌 벡터 와 어떤 스칼라 가 존재하여 를 만족할 때, 를 의 고유벡터라 한다.
- 스칼라 를 고유벡터 에 대응하는 고유값이라 한다.
에 속하는 행렬 에 대하여
- 의 고유벡터, 즉 인 스칼라 가 존재하게 만드는 영벡터가 아닌 벡터 을 의 고유벡터라 한다.
- 스칼라 를 고유벡터 에 대응하는 행렬 의 고유값이라 한다.
즉, 대각화가능과 고유벡터를 연결하여 다음과 같은 정리가 가능해진다.
정리 1. 유한차원 벡터공간 의 선형연산자 가 대각화가능하기 위한 필요충분조건은 의 고유벡터로 이루어진 순서기저 가 존재하는 것이다. 또한 가 대각화가능하고 은 의 고유벡터로 이루어진 순서기저이면, 는 대각행렬이다. 이때, 는 에 대응하는 고유값이 된다.
즉, 대각화가능한 선형연산자는 고유벡터를 순서기저로 가지게 되고, 이때의 대각행렬은 대각성분으로 고유값을 가지게 된다.
이에 대한 따름 정리는 다음과 같다.
따름 정리. 행렬 가 대각화가능하기 위한 필요충분조건은 의 고유벡터로 이루어진 순서기저가 존재하는 것이다. 또한 은 의 고유벡터로 이루어진 순서기저이고, 열이 벡터 인 행렬 에 대하여 는 가 에 대응하는 고유값인 대각행렬이 된다. 즉, 행렬 가 대각화가능하기 위한 필요충분조건은 대각행렬과 닮음인 것이다.
결국 행렬이나 선형연산자를 대각화하기 위해서는 고유벡터와 고유값을 찾아야 한다. 이에 대해 다뤄보면 다음과 같다.
정리 2. 행렬에 대하여 스칼라 가 의 공값이기
위한 필요충분조건은 이다.
증명
스칼라 가 의 고유값이라는 것은 를 만족하는 영이 아닌 벡터 가 존재할 때 가능하다. 이에 대해 모든 항을 좌변으로 넘겨 정리하면 이 된다. 이때 가 0이 아닌 벡터이므로, 이어야 한다. 즉, 는 가역이 아니어야 하고, 이 되어야 한다.
여기서 사용된 는 무척 자주 사용되는데 이를 다음과 같이 정의한다.
정의 2. 행렬 에 대하여 다항식 을 의 특성다항식이라 한다.
즉, 행렬의 고유값은 특성다항식의 근이 되고, 고유벡터는 고유값에 대응하는 벡터임을 이용해 찾게 된다.
행렬의 고유값을 구하는 과정에서 특성다항식이 등장했지만, 선형연산자를 다룰때도 사용되게 된다. 그래서 선형연산자에 대한 특성다항식을 정의하면 다음과 같다.
정의 3. 유한차원 벡터공간 에서 정의된 선형연산자 를 생각하자. 의 임의의 순서기저 에 대하여 의 행렬식을 의 행렬식이라 하고 라 한다. 또한 행렬 의 특성다항식 을 의 특성다항식이라 한다.
위의 정의를 살펴보면 순서기저로 무엇을 택하는지와 관계없이 특성다항식을 정의하고 있다. 즉, 유한차원의 벡터공간 에서 정의된 선형연산자 와 순서기저 에 대하여 가 의 고유값이기 위한 필요충분조건은 가 의 고유값인 것이다.
행렬 의 특성다항식은 차 다항식인데, 이는 다음 정리를 통해 보일 수 있다.
이제 고유값은 특성다항식을 통해 찾을 수 있게 되었다. 그렇다면 고유값에 대응하는 고유벡터는 어떻게 찾을 수 있을까?
정리 4. 행렬 와 고유값 에 대하여 벡터 이 에 대응하는 고유벡터이기 위한 필요충분조건은 이고, 이다.
만약 벡터 공간 에서 로의 선형변환이 있다면, 이는 어떠한 성질을 가지고 있을까? 이러한 선형변환을 선형연산자라고 하는데, 특이한 성질을 가지고, 행렬에 대해 조금 더 이해할 수 있게 도와준다. 유한차원 벡터공간 의 선형연산자 와, 의 순서기저 에 대해 는 두 행렬 와 로 표현된다. 이 행렬의 관계는 다음과 같다.
정리 5. 유한차원 벡터공간 의 선형연산자 와 의 순서기저 를 생각하자. 가 좌표를 좌표로 변환하는 행렬이라 간주하면, 다음이 성립하게 된다.
증명
의 항등변환을 라 하면 이다. 이때 다음과 같은 관계식이 성립한다.
즉, 이고, 이다.
여기서 한가지 따름정리가 나오게 된다.
따름 정리. 와 의 순서기저 에 대하여 다음이 성립하게 된다.
이때 두 행렬 가 다른 기저를 가지고 있지만, 동일한 벡터공간에서 나왔기 때문에 특별한 관계를 가지게 되는데, 이를 다음과 같이 정의한다.
정의 4. 가 의 행렬이라고 하자. 인 가역행렬 가 존재하면, 는 와 닮음이며, B~A로 표현한다.
닮음 관계는 서로 동치이다. 닮음 관계를 풀어서 이야기하면, 두 선형연산자가 동일한 벡터공간에서 나온 순서기저를 가지고 있는 것을 의미하게 된다. 순서기저의 선택이 달라지더라고, 동일한 공간 상에서의 선형변환이기 때문에 가 될 것이고, 가 가역행렬이라면 자연스레 로 표현이 가능하다.
닮음을 조금 더 생각해보면, 결국 임의의 기저를 성분으로 하는 행렬 에 대해 는 대각행렬임이 보장되게 된다. 이를 고유벡터와 연관지어 보자.
의 고유벡터로 이루어진 의 기저를 라 할때, 의 벡터를 열로 가지는 행렬 는 가 대각행렬임을 보장하게 된다. 이때, 해당 대각행렬의 대각성분은 의 고유값이 되고, 의 각 열은 고유벡터가 되게 된다. 이는 조금만 생각해보면 자연스러운 결과이다.
위의 식이 스칼라인 의 고유값 를 구할 때 이용하게 되는 식이다. 이때, 고유값을 동시에 n개 모두 구하기 위해 행렬 연산으로 변환하면, 를 통해 표현된다. 이때 는 고유벡터를 열로 가지는 행렬이고, 는 고유값을 대각성분으로 가지는 대각행렬이 된다.
이제, 선형변환과 고유값, 고유벡터의 관계를 기하학적으로 살펴보도록 하자. R벡터공간 의 선형연산자 에서 의 고유벡터를 , 해당하는 고유값을 라 하자. 에 의해 생성된 의 일차원 부분공간 를 0과 를 지나는 직선으로 볼 수 있을 것이다. 임의의 에 대하여 를 만족하는 c는 항상 존재할 수 밖에 없으므로 다음과 같이 나타낼 수 있다.
즉, 는 의 벡터를 만큼 스칼라 배하여 에 작용하게 된다. 의 크기에 따라서 선형변환 가 의 벡터에 가해지는 영향이 달라지게 된다.
우와 ~~ 글이 엄청 잘 읽혀요~~~