2. Linear Algebra
2.1 Scalars, Vectors, Matrices and Tensors
- Scalars : 스칼라는 선형수학에서 보는 형태와 달리 하나의 단어로 표현되며 주로 이탈릭체를 사용한다. 실수인지 자연수인지 등의 어떤 형태의 수인지 주로 함께 서술하여 준다. 예) a
- Vectors : 수의 열로 되어있는 형태를 가진다. 각 수(element)는 인덱스로 그 순서를 표현하며 벡터는 주로 소문자에 굵은체를 사용한다.
Matrices : 매트릭스는 벡터를 옆으로 붙인 형태로 2차원의 배열을 가진다. 각 수(element)는 두개의 인덱스로 구분될수 있다. A = 3 > 매트릭스 A의 첫 번째 행과 두 번째 열의 수는 3이라는 것을 의미한다.
Tensors : 어떤 경우에는 우리는 2차원 이상으로 이루어진 수의 형태가 필요하다. 텐서를 쉽게 생각하기 위해서는 각 매트릭스가 element로 이루어진 vector를 생각하면 상상하기 쉽다. 선형대수학에서 스칼라는 rank 0의 텐서, 벡터는 rank 1의 텐서, 매트릭스는 rank 2의 텐서이다. Arial 폰트의 굵은 굵기로 텐서를 표현한다.
- main diagonal : 매트릭스에서 가장 왼쪽, 가장 위쪽부터 하나씩 내려오며 하나씩 오른쪽으로 이동하며 만나는 element들의 집합을 main diagonal이라고 한다.
transpose : 매트릭스에서 가장 중요한 operation중 하나이며 main diagonal를 기준으로 반사된 형태를 만드는 작업이다.
벡터는 하나의 열로만 이루어진 매트릭스로 볼 수 있으며 벡터에 Transpose를 가하면 하나의 행을 가지는 매트릭스가 된다.
- 행으로 이루어진 매트릭스를 가끔씩 식에서 볼 수 있으며 그럴땐 다시 transpose를 적용해 column vector로 변형할 수 있다
2.2 Multiplying Matrices and Vectors
- matrix product : 매트릭스 곱의 결과물 A가 $m \times n$, B가 $n \times p$ 매트릭스의 경우 처럼 A의 열 차수와 B의 행 차수가 같아야 $AB = C$의 경우처럼 $C (m \times p)$ 매트릭스를 가질 수 있다.
AB = C가 성립된다고 BA 의 곱이 성립되는 것이 아니다.
매트릭스의 각 element끼리 곱하여 매트릭스를 생성하는 것은 element-wise product 혹은 Hadamard product라고 한다.
- 벡터 계산에서 쓰이는 dot product는 같은 차수의 벡터 x와 y를 x를 transpose하여 매트릭스 곱을 하는 것과 같다.
매트릭스의 곱은 다음과 같은 특징을 가진다. Distributive
$A(B+C) = AB + AC$Associative
$A(BC) = (AB)C$단 commutative하지 않다.
$AB != BA$하지만 vector의 dot product는 commutative하다.
Transpose of a matrix product has a simple form
on vector
a system of linear equation
$\text{where A is m x n matrix, b is m x 1 vector, and x is n x 1 vector}$
2.3 Identity and Inverse Matrices
- matrix inversion 으로 matrix equation 을 풀 수 있다.
- matrix inversino을 이해하기 위해서는 Identity matrix에 대한 이해가 필요하다.
- Identity matrix : square marix이며 main diagonal의 모든 element에는 1이 값으로 존재하며 나머지 element는 0인 매트릭스다.
Matrix Inverse
solving matrix equation with inverse
- 강력한 tool이지만 software engineering에서는 사용하는 것이 제한적인 것이 현실이다.
2.4 Linear Dependence and Span
- Inverse가 존재하기위해선 Ax=b의 식에서 반드시 단 하나의 solution이 존재해야 한다.
- Linear combination : set에 존재하는 vector의 조합 혹은 scalar를 곱하여 조합하여 만들어낸 vector
- Span : Linear combination의 모든 point들의 집합이다.
- Column space / Range of A : matrix equation에서 column들의 span을 의미한다.
- Linear dependence : vector들이 각각 서로서로 Linear combination이 아닌 상태를 의미한다.
종합적으로 매트릭스가 inverse가 되려면…
- solution이 하나만 존재
- A 매트릭스가 최대 m column이 존재
- 종합하면 매트릭스가 square의 형태여야 한다 ⇒ m = n
- Singular matrix : square matrix with linear independence
- singular가 아니더라도 solution을 구할 수 는 있지만 matrix inversion을 쓸 수 없다.
2.5 Norms
- Norm : one of measuring size of vector.
$\text{for p in }\mathbb{R},\ p \geq 1$
- a norm is any function f that staisfies the following properties
- f(x) = 0 ⇒ x = 0
- f(x+y) ≤ f(x) + f(y) (the Triangle Inequality)
- for all alpha, f(alpha x) = |x|f(x)
L2 norm (Euclidean norm)
자주 쓰이기 때문에 ||x||로 많이 표기됨
- squared L2 norm이 수학적으로 컴퓨터로 처리하기 수월하다.
- the derivatives of the squared L2 norm with respect to each element of x each depend only on the corresponding element of x, while all of the derivatives of the L2 norm depend on the entire vector.
L1 norm
- L1 norm 은 zero와 nonzero의 차이가 중요할때 ML에서 자주 쓰인다.
Max norm
||x||∞ = maxi|xi|
Frobenius norm - size of matrix
- 벡터의 L2 norm과 비슷한 형태를 가진다.
두 벡터의 dot product를 norm의 형태로 다시 쓴 형태
- θ 는 x와 y 사이의 각도이다.
2.6 Sepcial Kinds of Matrices and Vectors
- unit vector : unit norm을 가지는 벡터
- orthogonal : 벡터 x와 벡터y가 x^Ty = 0의 값을 가지면 orthogonal 하다고 한다. 직관적으로 벡터 차원에서 직각을 이루는 것을 의미한다. orthogonal을 이루고 unit norm을 가지면 orthonormal이라고 한다.
- orthogonal matrix: 매트릭스의 행들이 orthonormal하고 열들이 orthonormal한 square 매트릭스를 의미한다.
this implies that
2.7 Eigendecomposition(고유값 분해)
- 수를 인수분해하는 것 처럼 매트릭스를 분해하여 매트릭스의 특징을 한번에 나타내는 형태로 분해한다.
- eigendecomposition : 매트릭스를 eigenvector와 eigenvalue로 분해 하는 것
eigenvector: non-zero벡터인 v가 다음을 만족하는 것을 의미한다.
여기서 lambda는 eigenvalue이며 eigenvector v와 매칭한다.
Eigendecomposition
V는 Linearly independent한 eigenvector을 옆으로 붙여 구성한 매트릭스이며 diag(lambda)는 각 eigenvector에 매칭하는 eigenvalue를 main diagonal로 가지는 매트릭스이다.
- 모든 매트리스가 eigendecomposition이 가능 한 것은 아니다.
하지만 이 책에서는 간단한 분해가 가능한 매트릭스만 다룬다. 실수 + symmetric 한 매트릭스는 실수로만 구성된 eigenvector와 eigenvalue로 분해할 수 있다.
여기서 Q는 eigenvector로 이루어진 orthogonal matrix이며 Lambda는 eigenvalue의 diagonal matrix이다.
- 여기서 symmetric한 매트릭스 A는 eigendecomposition이 보장되어있지만 분해가 고유하지는 않을 수 있다.
2.8 Singular Value Decomposition (SVD)
- Eigendecomposition과 같은 성격을 가지며 Singular Value Decomposition은 매트릭스를 singular vector와 singular value로 분해한다.
- eigendecomposition보다 좀 더 일반적으로 적용이 가능하다.
- 모든 실수의 매트릭스는 SVD가 가능하다.
- U와 V는 orthogonal matrix이다.
- D는 diagonal 매트릭스이며 반드시 square 매트릭스는 아니다.
- U의 벡터들은 left-singular vector V의 colmn 벡터들은 right-sigular vector라고 불린다.
- SVD의 가장 유용한 기능은 부분적으로 non-square matrix로의 매트릭스 inversion을 generalize 하는 것이다.
2.9 The Moore-Penrose Pseudoinverse
- Ax = y를 풀기 위해 A의 inverse인 B를 구한다고 가정하자.
- x = By의 형태를 가져야하는데 이것이 불가능한 경우 적용하는 것이 Moore-Penrose Pseudoinverse이다.
- 여기서 U,D,B는 A의 SVD를 이용하여 구한다.
- D+는 D의 non-zero element를 reciprocal을 취한후 transpose하여 구한다.
2.10 The Trace Operator
- trace opearator는 diagonal entry들의 합을 쉽게 표현해 준다.
- Frobenius norm
- 특징
2.11 The Determinant
- square matrix가 가지며 det(A)라고 표현된다. 혹은 |A|라고 표현한다.
- det(A)는 product of all eigenvalues와 같다.
2.12 Example: Principal Component Analysis
Continue…