선형방정식(Linear Equation)은 변수 이 있을 때 다음과 같이 작성할 수 있는 방정식을 의미한다. 이 때, 는 계수를 의미하고 값들은 실수 또는 복소수의 미지수를 의미한다. 위 식은 다음과 같이 간결하게 작성할 수 있다. 이 때, 이고 이다.
Linear system
선형방정식(linear equation)의 집합을 선형시스템(linear system)이라고 한다. n개의 선형방정식 이 있는 경우 이를 다음과 같이 간결하게 선형시스템으로 표현할 수 있다.
즉, 형태의 행렬과 벡터의 방정식을 선형시스템이라고 한다. 선형시스템은 다른 말로 비동차방정식이라고도 불린다. 동차방정식, 비동차방정식의 정의는 다음과 같다.
Homogeneous equation
동차방정식(homogeneous equation)은 일 때, 형태의 시스템을 말한다. 0이 아닌 해가 존재한다. 이와 반대로 형태의 방정식을 비동차방정식(non-homogeneous equation)이라고 한다. 비동차방정식은 해가 존재하지 않거나 여러 개 존재한다.
Over-determined system
Over-determined 시스템은 방정식의 개수가 미지수의 개수보다 많은 경우를 의미한다. 의 형태에서 이라고 했을 때 인 경우를 의미한다. Over-determined 시스템의 경우 해가 존재하지 않으며 full column rank를 가진다.
시스템의 해가 존재하지 않으므로 을 최소화하는 근사해를 구하는 방법을 주로 사용한다.
Under-determined system
Under-determined 시스템의 경우 방정식의 개수보다 미지수의 개수가 많은 경우를 의미한다.즉, over-determined 시스템과 반대로 인 경우를 의미한다. Under-determined 시스템의 경우 무수히 많은 해가 존재하며 full row rank를 가진다.
시스템이 무수히 많은 해를 가지므로 가 최소가 되는 해를 구하는 방법을 주로 사용한다.
Solving Linear System
행렬 의 역행렬이 존재하는 경우 선형시스템은 역행렬을 사용하여 다음과 같이 풀 수 있다. 그러나, 행렬 의 판별식 인 경우 역행렬이 존재하지 않게되고 위와 같이 문제를 풀 수 없다. 이런 경우 선형시스템은 해가 존재하지 않거나 무수히 많은 해가 존재한다.
Linear Combination
여러 벡터 이 있을 때 스칼라 값 에 대하여 을 벡터 의 가중치 계수 에 대한 선형결합 (Linear Combination) 이라고 한다. 이 때 가중치 계수 는 0을 포함한 실수 값을 가진다.
Span
주어진 여러 벡터 에 대해 스팬(Span) 은 모든 에 대한 선형결합의 집합을 의미한다. 즉, Span은 다음과 같이 쓸 수 있는 모든 벡터들의 집합이다. 이는 또한 에 의해 span된 공간 상의 subset이라고도 불린다.
From Matrix Equation to Vector Equation
와 같은 선형 시스템을 다음과 같이 열벡터 를 기준으로 펼쳐보면 로 나타낼 수 있고 이를 다시 표현하면 와 같이 열벡터들의 선형결합으로 표현할 수 있게 된다. 만약 가 Span 에 포함되어 있다면 이들의 선형결합으로 표현할 수 있으므로 해가 존재한다. 따라서 일 때 해가 존재한다.
Several Perspectives about Matrix Multiplication
선형시스템 가 있을 때 이는 곧 의 열벡터들의 선형결합으로 표현할 수 있다. 만약 선형시스템에 전치행렬을 적용하여 가 되면 는 곧 의 행벡터(Row Vector)들의 선형결합으로 표현된다. 또한 두 벡터의 곱 의 경우 rank1 outer product 로 볼 수 있다. 즉, 의 경우 와 같이 벡터곱을 스칼라 곱과 같이 생각할 수 있다.
Linear Independence
벡터 집합 가 주어졌을 때, 이들 중 부분 벡터들의 집합 이 선형결합을 통해 특정 벡터 를 표현할 수 있는지 검사한다.
만약 가 선형결합으로 표현이 된다면 는 선형의존 (Linearly Dependent) 이다. 만약, 가 표현되지 않는다면 는 선형독립 (Linearly Independent) 이다.
만약 같은 동차(homogeneous) 선형방정식이 있다고 하면 과 같은 자명해가 존재한다. 이 때, 가 선형독립이면 자명해 이외에 해는 존재하지 않는다. 하지만, 가 선형의존이면 선형시스템은 자명해 이외에 다른 해가 존재한다. 자명해 이외에 다른 해가 존재하는 선형의존(Linearly Dependent) 경우 대해서 생각해보면 예를 들어 행렬이 다음과 같이 5개의 열을 가진 행렬이라고 했을 때 위 열벡터(Column Vector)들 중 최소한 두 개 이상의 벡터가 선형결합 되어야 동차방정식 의 해를 만족할 수 있다. 예를 들어 성분이 0이 아닌 경우 이를 다시 영벡터로 만들기 위해서는 다른 1,3,4,5 열벡터들의 선형결합이 의 값을 만들어야 한다. 이는 곧 값을 다른 열벡터들의 선형결합으로 표현할 수 있다는 말과 동치이므로 선형의존인 경우 어떤 하나의 벡터가 다른 벡터들의 선형결합으로 표현될 수 있음을 의미한다. 이를 수식으로 표현하면 다음과 같다.
Linear Dependence
행렬 의 열벡터 이 선형의존(Linearly Dependent)인 경우 해당 열벡터들은 Span의 차원을 늘리지 않는다.만약 이고 인 경우 만약 와 같이 선형결합으로 표현이 가능한 경우, 는 다음과 같이 작성할 수 있다.
Span and Subspace
공간의 부분공간(Subspace) H는 의 부분집합들의 선형결합에 대해 닫혀 있는 공간을 의미한다. 즉, 두 벡터 일 때, 어떠한 스칼라 값 에 대하여 일 때 H를 부분공간이라고 한다. Span 으로 형성된 공간은 항상 부분공간이다. 만약 이고 일 때 과 같이 선형결합으로 나타낼 수 있고 이는 임의의 값 에 대해서 닫혀 있음을 의미한다. 따라서 부분공간은 항상 Span 으로 표현된다.
Basis of a Subspace
부분공간 H의 기저(basis) 는 다음을 만족하는 벡터들의 집합을 의미한다.
부분공간 H를 모두 Span할 수 있어야 한다.
벡터들 간 선형독립이어야 한다.
3차원 공간 의 경우 기저벡터는 3개가 존재하고 일 때, 이를 표준기저벡터(Standard Basis Vector)라고 한다.
Dimension of Subspace
하나의 부분공간 H를 표현할 수 있는 기저는 유일하지 않다. 하지만 여러개의 기저를 통해서 표현할 수 있는 부분공간의 차원(Dimension)은 유일하다. 부분공간의 차원은 기저벡터의 개수와 동일하다.
Column Space of Matrix
행렬 의 열공간(Column Space)이란 의 열벡터로 인해 Span된 부분공간을 의미한다. 일반적으로 Col 라고 표기한다.
Rank of Matrix
행렬 의 rank란 의 열벡터들의 차원을 의미한다.
Transformation
변환(Transformation), 함수(Function), 매핑(Mapping) 은 입력 를 출력 로 매핑해주는 것을 의미한다. 이 때 입력 에 의해 매핑되는 출력 는 유일하게 결정된다. 정의역(Domain) 이란 입력 의 모든 가능한 집합을 의미한다. 공역(Co-Domain) 이란 출력 의 모든 가능한 집합을 의미한다. Image 란 주어진 입력 에 대해 매핑된 출력 를 의미한다. 치역(Range) 란 Domain내에 있는 입력 들에 의해 매핑된 모든 출력 의 집합을 의미한다.
Linear Transformation
변환 T는 다음과 같은 경우에 선형변환(Linear Transformation)이라고 한다.
Transformations between Vectors
은 n차원의 벡터를 m차원의 벡터로 매핑하는 연산을 의미한다. 예를 들면
Matrix of Linear Transformation
변환 을 선형변환이라고 가정하면 는 항상 행렬과 벡터의 곱으로 표현할 수 있다. 즉, 행렬 인 경우 의 j번째 열 는 벡터 와 같다. 이 때 는 항등행렬 의 j번째 열벡터이다. 이러한 행렬 를 선형변환 T의 표준행렬(Standard Matrix)이라고 부른다.
Onto and One-To-One
Onto는 전사함수(Surjective)라고도 불리며 공역이 치역과 같은 경우를 의미한다. 이는 Co-Domain의 모든 원소들이 사영된 것을 의미한다. One-To-One은 일대일함수(Injective)라고도 불리며 정의역의 원소와 공역의 원소가 하나씩 대응되는 함수를 의미한다.
Chapter 2 - Least Squares
Least Squares
최소제곱법(Least Squares)는 방정식의 개수가 미지수의 개수보다 많은 Overdetermined 선형시스템에서 사용하는 방법 중 하나이다. Overdetermined 선형시스템 의 경우 일반적으로 해가 존재하지 않는다. 이런 경우 일반적으로 가 최소가 되는 근사해를 구할 수 있다.
Inner Product
벡터 에 대해 이를 각각 의 행렬로 생각할 수 있다. 그렇다면 는 의 행렬로 볼 수 있고 행렬곱 는 의 행렬이 된다. 그리고 행렬은 스칼라값으로 표시할 수 있다. 이 때, 에 의해 계산된 값을 의 내적(Inner Product, Dot Product)라고 한다. 이는 로 표기할 수 있다.
Properties of Inner Product
벡터 이고 를 스칼라 값이라고 할 때 내적은 다음과 같은 성질을 만족한다.
and iff
위에서 2,3번 성질을 조합하면 다음과 같은 법칙을 만들 수 있다. 위를 통해 내적이라는 연산은 선형변환이라는 것을 알 수 있다.
Vector Norm
벡터 에 대해 벡터의 놈(Norm)은 0이 아닌 로 표기하며 벡터의 길이를 의미한다. 2차원 벡터 가 있을 때 라고 하면 는 원점으로부터 좌표까지의 거리가 된다. 모든 스칼라 값 에 대해 의 길이는 의 길이를 배 한 것을 의미한다.
Unit Vector
길이가 1인 벡터를 단위벡터(Unit Vector)라고 한다. 벡터의 길이를 1로 맞추는 작업을 정규화(Normalization)라고 하는데 주어진 벡터 가 있을 때 단위벡터 가 된다. 벡터는 벡터와 방향은 같지만 크기가 1인 벡터이다.
Distance between Vectors in
두 벡터 이 있을 때 두 벡터의 거리는 dist( )로 나타내며 이는 벡터의 길이를 의미한다.
Inner Product and Angle between Vectors
두 벡터 의 내적은 다음과 같이 놈과 각도를 통해 표현할 수 있다.
Orthogonal Vectors
두 벡터 가 있을 때 둘이 수직이려면 두 벡터의 내적이 0이어야 한다. 0이 아닌 두 벡터 의 내적이 0이려면 값이 0이어야 하고 degree 일 때 값은 0이 된다.
Least Square Problem
과 같이 주어진 Overdetermined 시스템 가 있을 때 에러의 제곱합 을 최소화하는 최적의 모델 파라미터를 찾는 것이 목적이 된다. 이 때 최소제곱법의 근사해 는 다음과 같다.
최소제곱법의 중요한 포인트 중 하나는 어떤 파라미터를 선정하던지 벡터 는 반드시 Col 안에 위치한다는 것이다. 따라서 최소제곱법은 Col 와 의 거리가 최소가 되는 를 찾는 문제가 된다. 를 만족하는 근사해 는 Col 에서 벡터와 가장 가까운 모든 포인트들의 집합을 의미한다. 따라서 는 다른 어떤 보다도 와 가장 가깝게 된다. 기하학적으로 이를 만족하기 위해서는 벡터 가 Col 와 수직이어야 한다. 이는 곧 다음과 동일하다.
Normal Equation
를 만족하는 최소제곱법의 근사해는 다음과 같다. 위 식을 정규방정식(Normal Equation) 이라고 부른다. 이는 일 때 와 같은 선형시스템으로 생각할 수 있다. 이 선형시스템의 해를 구하면 다음과 같다.
Another Derivation of Normal Equation
근사해 와 같이 제곱을 최소화하는 문제로 표현해도 동일한 문제가 된다. 위 식을 에 대해서 미분하고 정리하면 다음과 같다. 이 때 가 역행렬이 존재한다면 다음과 같이 해를 구할 수 있다.
What If is NOT Invertible?
행렬 의 역행렬이 존재하지 않는 경우 시스템은 해가 없거나 무수히 많은 해를 가지고 있다. 하지만 정규방정식은 항상 해를 가지고 있으므로 해가 없는 상황은 존재하지 않고 실제로는 무수히 많은 해를 가지고 있다. 가 역행렬을 구할 수 없는 경우는 오직 Col 가 선형의존일 경우에 발생한다. 하지만, 일반적으로 는 대부분의 경우 역행렬이 존재한다.
Orthogonal Projection Perspective
행렬 가 있을 때 점에서 Col 공간으로 프로젝션하면 다음과 같다.
Projection Matrix
위 식에서 을 일반적으로 투영 행렬(projection matrix) 라고 한다.
투영 행렬은 곱해지는 벡터 를 열공간(column space) 내에 존재하는 벡터 중 가장 가까운 점 으로 변환해주는 행렬로 생각할 수 있다.
투영 행렬 의 특징은 다음과 같다.
투영 행렬은 대칭 행렬이다.
투영 행렬은 멱등 행렬(idempotent matrix)
투영 행렬은 랭크 결핍(rank deficient)이므로 역행렬이 존재하지 않는다.
Orthogonal and Orthonormal Sets
벡터들의 집합 가 있을 때 모든 벡터 쌍들이 를 만족하면 해당 집합은 직교(Orhogonal) 하다고 말한다. 벡터들의 집합 가 있을 때 모든 직교 집합들이 단위벡터인 경우 정규직교(Orthonormal) 하다고 말한다. 직교벡터와 정규직교벡터의 집합은 항상 선형독립이다.
Orthogonal and Orthonormal Basis
기저벡터 이 p차원의 부분공간 에 있다고 할때 Gram-Schmidt 프로세스와 QR decomposition을 사용하면 직교기저벡터를 만들 수 있다. 부분공간 에 대해 직교기저 벡터 이 주어져 있다고 했을 때 을 부분공간 위로 프로젝션시킨다.
Orthogonal Projection of onto Line
1차원 부분공간 위로 를 프로젝션하여 를 구하면 다음과 같다. 가 된다. 만약 가 단위벡터이면 다음과 같다.
Orthogonal Projection of onto Plane
2차원 부분공간 위로 를 프로젝션하여 를 구하면 다음과 같다. 만약 가 단위벡터이면 다음과 같다. 프로젝션은 각각 직교기저벡터에 독립적으로 적용된다.
Orthogonal Projection when
만약 2차원 부분공간 에 가 포함되어 있다고 하면 프로젝션된 벡터 는 다음과 같이 구할 수 있다. 만약 가 단위벡터이면 다음과 같다. 해는 가 부분공간 에 포함되어 있지 않은 경우와 동일하다.
Transformation: Orthogonal Projection
부분공간 의 정규직교기저벡터 가 있고 를 부분공간 에 프로젝션시킨 점 의 변환을 생각해보면
Orthogonal Projection Perspective
정규직교인 열벡터를 가지는 행렬 가 있을 때 벡터를 Col 공간으로 정사영시키는 경우 행렬 는 와 같은 성질을 지니게 되고 따라서 다음과 같은 공식이 성립한다.
Gram-Schmidt Orthogonalization
벡터 로 인해 Span되는 부분공간 가 있을 때 두 벡터의 내적 이므로 두 벡터는 수직이 아니다. 이 때 벡터 이라고 하고 를 에 수직인 의 성분이라고 했을 때 가 된다. 이 때 벡터 는 부분공간 의 직교기저벡터가 된다.
Chapter 3 - Eigenvectors and Eigenvalues
Eigenvectors and Eigenvalues
정방행렬 에 대한 고유벡터(eigenvector)는 를 만족하는 0이 아닌 벡터 을 말한다. 이 때 는 행렬 의 고유값(eigenvalue)이라고 한다. 는 다음과 같이 다시 나타낼 수 있다. 이 때, 위 시스템이 가 0이 아닌 비자명해를 가지고 있는 경우에만 값이 행렬 에 대한 고유값이 된다. 위와 같은 동차 선형시스템이 비자명해를 가지기 위해서는 가 선형의존(Linearly Dependent)해야 무수히 많은 해를 가진다.
Null Space
행렬 의 동차 선형시스템(Homogeneous Linear System) 의 해 집합을 영공간(Null Space)라고 한다. Nul 로 표기한다. 일 때 벡터 는 다음을 만족해야 한다. 즉, 는 모든 의 행벡터(Row Vector)과 직교해야 한다.
Orthogonal Complement
벡터 가 부분공간 의 모든 벡터와 직교하면 는 부분공간 와 직교한다고 말할 수 있다. 부분공간 와 직교하는 모든 벡터 의 집합을 직교여공간(Orthogonal Complement)라고 부르며 로 표시한다. 부분공간 의 직교여공간 에 위치한 벡터 는 부분공간 를 Span하는 모든 벡터들과 직교한다.
Characteristic Equation
방정식 이 비자명해를 갖기 위해서는 행렬이 선형의존이어야 하고 이는 곧 역행렬이 존재하지 않아야 하는 것과 동치(Equivalent)이다. 만약 이 역행렬이 존재한다면 는 자명해 이외에는 갖지 못한다. 따라서 행렬 에 대하여 고유값과 고유벡터가 존재하기 위해서는 다음의 방정식이 항상 성립해야 한다. 위 방정식을 행렬 의 특성방정식(Characteristic Equation)이라고 부른다.
Eigenspace
에서 의 영공간(Null Space)를 고유값 에 대한 고유공간(Eigenspace)라고 한다. 에 대한 고유공간의 차원이 1 이상인 경우, 고유공간 내에 있는 모든 벡터들에 대하여 다음이 성립한다.
Diagonalization
정방행렬 이 주어졌고 이고 일 때 위와 같은 공식이 성립한다면 이를 정방행렬 의 대각화(Diagonalization)라고 한다. 대각화는 모든 경우에 대해서 항상 가능한 것은 아니다. 행렬 가 대각화되기 위해서는 역행렬이 존재하는 행렬 가 존재해야 한다. 행렬 가 역행렬이 존재하기 위해서는 는 행렬 와 같은 크기의 정방행렬이어야 하고 n개의 선형독립인 열벡터를 가지고 있어야 한다. 이 때, 의 각 열은 행렬 의 고유벡터가 된다. 만약 행렬 가 존재하는 경우 행렬 는 대각화 가능(Diangonalizable)하다 고 한다.
Finding and
대각화 공식은 다음과 같이 다시 작성할 수 있다. 이 때, 이고 이라고 하면 위 공식과 같이 각각의 열이 모두 동일해야 한다. 즉, 벡터 는 행렬 에 대한 고유벡터가 되어야 하고 스칼라 는 행렬 에 대한 고유값이 되어야 한다. 이에 따라 대각행렬 는 고유값들을 대각성분으로 포함하고 있는 행렬이 된다. 결론적으로 정방행렬 가 대각화 가능한가 안한가에 대한 질문은 n개의 고유벡터가 존재하는가 안하는가에 대한 질문과 동치이다.
Eigendecomposition
정방행렬 가 대각화 가능한 경우 공식이 성립한다. 이 공식을 다시 작성하면 다음과 같다. 이를 행렬 에 대한 고유값 분해(Eigendecomposition) 라고 한다. 행렬 가 대각화 가능하다는 의미는 행렬 가 고유값 분해 가능하다는 말과 동치이다.
Linear Transformation via Eigendecomposition
정방행렬 가 대각화 가능한 경우 과 같이 고유값 분해가 가능하다. 이 때 선형 변환 을 생각해보면 다음과 같이 표현할 수 있다.
Change of Basis
예를 들어 가 성립한다고 가정하고 에서 라고 가정하면 의 관계가 성립한다. 이 때, 벡터 는 벡터 의 고유벡터 에 대한 새로운 좌표를 의미한다.
Element-wise Scaling
위 과정을 통해 값을 구하고 나면 는 로 표현할 수 있다. 이 때 라고 하면 벡터 는 단순히 벡터 를 행렬의 대각 원소의 크기만큼 스케일링한 벡터가 된다.
Back to Original Basis
위 과정까지 진행했으면 와 같이 나타낼 수 있고 이 때 벡터 는 여전히 새로운 기저벡터 를 기반으로 하면 좌표가 된다. 연산은 벡터 를 다시 원래 기저벡터의 좌표로 변환하는 역할을 한다. 벡터 는 기존의 기저벡터 의 선형결합이 된다. 지금까지의 과정을 고유값 분해를 통한 선형 변환 이라고 한다.
Linear Transformation via
여러번의 변환이 중첩된 를 생각해보자. 이 때, 행렬 가 대각화 가능하다면 를 고유값 분해할 수 있고 이 때, 는 다음과 같이 분해할 수 있다. 이 때 는 다음과 같이 표현된다.
Geometric Multiplicity and Algebraic Multiplicity
정방행렬 이 있을 때 가 대각화 가능한지 안한지 판단을 해야하는 경우 일반적으로 판별식을 사용하여 판단한다. 예를 들어 인 정방행렬 가 있을 때, 는 5차 다항식이 나오게 된다. 5차 다항식은 일반적으로 5개의 해를 가지고 있지만 실수만 고려하는 경우 5개의 해가 계산되지 않을 수 있다. 즉, 실근이 5개가 나오지 않는 경우 개의 선형독립인 고유벡터가 나오지 않으므로 대각화가 불가능하다. 만약 실근 중 중근이 포함되는 경우, 예를 들어 과 같이 가 중근인 경우, 로 인해 생성되는 고유공간(Eigenspace)의 차원이 최대 가 가지는 중근의 개수까지 가질 수 있다. 중근이 아닌 일반 실근의 경우 최대 1차원의 고유공간을 가질 수 있다. 즉, 중근이 포함된 경우 고유공간의 차원이 최대 까지 생성될 수 있는데 를 만족하지 못하는 경우에는 대각화가 불가능하다. 이와 같이 대수적으로 판별식을 인수분해했을 때, 중근이 생기는 경우 중근의 대수 중복도(Algebraic Multiplicity) 와 이로 인해 Span되는 고유공간의 기하 중복도(Geometric Multiplicity) 가 일치해야 개의 독립적인 고유벡터가 생성될 수 있고 행렬 의 대각화가 가능하다.
Chapter 4 - Singular Value Decomposition
Singular Value Decomposition
행렬 이 주어졌을 때 특이값 분해(Singular Value Decomposition, SVD)는 다음과 같이 나타낼 수 있다. 이 때, 인 행렬이며 이들은 각 열이 Col 와 Row 에 의 정규직교기저벡터(Orthonormal Basis)로 구성되어 있다. 은 대각행렬이며 대각 성분들이 특이값이며 큰 값부터 내림차순으로 정렬된 행렬이다.
SVD as Sum of Outer Products
행렬 는 다음과 같이 외적(Outer Products)의 합으로 표현할 수 있다. 이 때 위 식을 다시 행렬로 합성하면 그리고 과 같이 행렬 의 차원에 맞게 다시 합성할 수 있는데 이를 Reduced Form of SVD 이라고 한다.
Another Perspective of SVD
행렬 에 대해 Gram-Schmidt Orthogonalization을 사용하면 Col 에 대한 정규직교기저벡터 와 Row 에 대한 정규직교기저벡터 을 구할 수 있다. 하지만 이렇게 계산한 정규직교기저벡터 는 유일하지 않다. Reduced Form of SVD를 사용하면 행렬 과 그리고 일 때 위 식을 간결하게 나타내면 다음과 같다.
Computing SVD
행렬 에 대하여 와 는 다음과 같이 고유값분해할 수 있다. 이 때 계산되는 행렬 은 직교하는 고유벡터를 각 열의 성분으로 하는 행렬이며 대각행렬 의 각 성분은 항상 0보다 큰 양수의 값을 가진다. 그리고 와 를 통해 계산되는 의 값은 동일하다.
Diagonalization of Symmetric Matrices
일반적으로 정방행렬 이 개의 선형독립인 고유벡터를 가지고 있을 경우 대각화 가능하다. 그리고 대칭행렬 는 항상 대각화 가능하다. 추가적으로 대칭행렬 의 고유벡터는 항상 서로에게 직교하므로 직교대각화(Orthogonally Diagonalizable)가 가능하다.
Spectral Theorem of Symmetric Matrices
를 만족하는 대칭행렬 가 주어졌을 때 는 개의 중근을 포함한 실수의 고유값이 존재한다. 또한, 고유공간의 차원은 기하 중복도(Algebraic Multiplicity)와 기하 중복도(Geometric Multiplicity)와 같아야 한다. 서로 다른 값 들에 대한 고유공간들은 서로 직교한다. 결론적으로 대칭행렬 은 직교대각화가 가능하다.
Spectral Decomposition
대칭행렬 의 고유값 분해는 Spectral Decomposition 이라고 불린다. 이는 다음과 같이 나타낼 수 있다. 위 식에서 각 항 은 에 의해 Span된 부분공간에 프로젝션된 다음 고유값 만큼 스케일된 벡터로 볼 수 있다.
Symmetric Positive Definite Matrices
행렬 이 대칭이면서 Positive Definite인 경우 Spectral Decomposition의 모든 고유값은 항상 양수가 된다.
Back to Computing SVD
행렬 에 대하여 인 대칭행렬이 존재할 때 가 Positive (Semi-)Definite한 경우 즉, 와 에서 의 값은 항상 양수가 된다. 임의의 직각 행렬 에 대하여 특이값 분해는 언제나 존재한다. 행렬의 경우 고유값 분해가 존재하지 않을 수 있지만 특이값 분해는 항상 존재한다. 대칭이면서 동시에 Positive Definite인 정방 행렬 은 항상 고유값 분해값이 존재하며 이는 특이값 분해와 동일하다.
Eigendecomposition in Machine Learning
일반적으로 기계학습에서는 대칭이고 Positive Definite인 행렬을 다룬다. 예를 들면, 인 행렬이 있고 각 열은 사람을 의미하고 각 행은 Feature를 의미한다고 가정했을 때, 는 각 사람들 간 유사도 를 의미하고 는 각 Feature들의 상관관계를 의미한다. 이 때, 는 주성분분석(Principal Component Analysis)에서 Covariance Matrix를 구할 때 사용된다.
Low Rank Approximation of a Matrix
행렬 이 주어졌을 때 예를 들어, 의 원래 rank가 r일 때, 행렬 에서 rank를 r 이하를 가진 근사행렬 을 찾는 Low Rank Approximation을 수행할 수 있다.
Dimension Reducing Transformation
Feature-by-data item 행렬 이 주어졌을 때 인 변환 을 생각해보면 가 성립하고 의 각 열들은 정규직교벡터이며 데이터의 유사도 행렬 의 유사도를 보존하는 변환 를 차원 축소 변환(Dimension-Reducing Transformation) 이라고 한다. 이 때 차원축소변환 은 다음과 같이 추정할 수 있다. 주어진 행렬 에 대하여 최적의 해는 다음과 같다.
Chapter 5 - Derivative of multi-variable function
Gradient
임의의 벡터 에 대하여 를 만족하는 다변수 스칼라 함수 가 주어졌다고 하자.
에 대한 1차 편미분은 벡터가 되고 이는 그레디언트(gradient)라고 불린다.
Jacobian matrix
임의의 벡터 에 대하여 를 만족하는 다변수 벡터 함수 가 주어졌다고 하자.
이 때, 의 1차 편미분은 행렬이 되고 이를 특별히 자코비안(jacobian) 행렬이라고 한다.
이를 통해 자코비안 행렬의 각 행벡터(row vector)는 함수 에 대한 그레디언트라는 것을 알 수 있다. . 위 식을 미소변화량 를 사용하여 나타내면 다음과 같다.
SLAM에서 자코비안은 에러 를 최적화할 때 사용된다. SLAM에서 최적화하고자 하는 에러는 일반적으로 비선형 함수로 구성되어 있으며 크기가 작기 때문에 에러의 변화량 를 그대로 사용하지 않고 테일러 전개하여 근사식 으로 표현하게 되는데 이 때 에러에 대한 자코비안 가 유도된다. 그리고 근사식을 바탕으로 유도한 에러의 최적 증분량 이 자코비안을 통해 구해지기 때문에 SLAM에서는 자코비안이 필수적으로 사용된다. 자세한 내용은 https://alida.tistory.com/65#sec2 포스트를 참조하면 된다.
Toy example 1
만약 일 때 를 각각의 변수 a,b,c에 대해 편미분하면 다음과 같다.
만약 로 계산값(=operating point)이 정해진 경우 자코비안은 다음과 같다.
위 첫번째 식은 를 에 대해 편미분한 후 를 넣어 값을 계산하라는 의미이고 두번째와 세번째 식은 로 값을 고정한 상태에서 각각 에 대한 편미분을 수행하라는 의미이다.
Toy example 2 예를 들어 다음과 같은 3개의 연립 방정식이 주어졌다고 하자.
를 의미한다. 위 함수는 다음과 같이 쓸 수 있다.
자코비안의 정의에 따라 이를 아래와 같이 쓸 수 있다.
Hessian matrix
임의의 벡터 에 대하여 를 만족하는 다변수 스칼라 함수 가 주어졌다고 하자.
이 때, 의 2차 편미분은 행렬이 되고 이를 특별히 헤시안(hessian) 행렬이라고 한다. 헤시안 행렬은 일반적으로 대칭행렬의 형태를 띄고 있으며 다변수 벡터 함수가 아닌 다변수 스칼라 함수에 대한 2차 미분임에 유의한다.
헤시안 행렬 는 자코비안 의 미분 행렬이 아님에 유의한다. 자코비안 는 다변수 벡터 함수에 대한 1차 미분 행렬을 의미하는데 반해 헤시안 행렬 는 다변수 스칼라 함수의 2차 미분 행렬을 의미한다. 다변수 스칼라 함수의 1차 미분은 그라디언트 벡터이다. 일반적으로 다변수 벡터 함수의 2차 미분은 정의되지 않는다.
Laplacian
임의의 벡터 에 대하여 를 만족하는 다변수 스칼라 함수 가 주어졌다고 하자.
에 대한 라플라시안(laplacian)은 각 입력 벡터에 따른 2차 편미분의 합으로 정의된다.
Taylor expansion
테일러 전개(expansion)은 미지의 함수 를 지점에서 근사 다항함수로 표현하는 방법을 말한다. 이는 테일러 급수(series) 또는 테일러 근사(approximation)이라고도 불린다. 을 부근에서 테일러 전개를 수행하면 다음과 같이 나타낼 수 있다.
함수 가 다변수 스칼라 함수일 경우 지점에서 테일러 전개는 다음과 같이 쓸 수 있다.
이 때, 는 함수 의 그레디언트(gradient) 의미하며 는 헤시안(hessian) 행렬을 의마한다.