본문 바로가기

AI 수학/선형대수15

좌(왼쪽) 고유벡터 (left eigenvector) 고유벡터에도 좌파와 우파가 있다. 일반적으로 고유벡터라고 하면 우(오른쪽) 고유벡터(right eigenvector)를 의미한다. 그러면 좌(왼쪽) 고유벡터(left eigenvector)란 무엇이고 우(오른쪽) 고유벡터와는 어떤 관계가 있을까. 정방행렬 \(A \in \mathbb{R}^{n \times n}\) 의 우(오른쪽) 고유값(eigenvalue) \(\lambda\) 와 고유벡터 \(\mathbf{v}\) 는 다음과 같이 정의된다 (https://pasus.tistory.com/8). \[ A \mathbf{v} = \lambda \mathbf{v}, \ \ \ \mathbf{v} \ne 0 \tag{1} \] 반면 정방행렬 \(A\) 의 좌(왼쪽) 고유값 \(\kappa\) 와 고유벡터 \.. 2023. 2. 10.
Frobenius Norm 최소화 문제 행렬 \(A \in \mathbb{R}^{n_1 \times n_2} \), \(B \in \mathbb{R}^{n_3 \times n_4}\), \(Y \in \mathbb{R}^{n_1 \times n_4}\) 가 주어졌을 때, 다음과 같은 프로베니우스 놈(Frobenius norm)을 최소화하는 행렬 \(X \in \mathbb{R}^{n_2 \times n_3}\) 를 구하는 문제를 프로베니우스 놈 최소화 문제라고 한다. \[ X_{opt}= \arg \min_{X} \lVert AXB-Y \rVert_F \tag{1} \] 참고로 어떤 행렬 \(M\) 의 프로베니우스 놈 \( \lVert M \rVert _F\) 는 다음과 같이 정의된다. \[ \lVert M \rVert _F= \sqrt{ t.. 2022. 11. 3.
행렬의 조건수 (Condition Number) 어떤 함수 \(y=f(x)\)의 조건수(condition number)는 함수의 입력인 \(x\)의 작은 변화울에 대해 함수의 출력인 \(y\)의 변화율이 얼마인지를 나타내는 수로서, 함수의 민감도를 측정하는 지표이다. 행렬의 조건수도 일반 함수의 조건수 정의를 이용하여 유도할 수 있다. 다음과 같이 행렬 \(A \in \mathbb{R}^{n \times n}\)와 어떤 벡터 \( \mathbf{b} \in \mathbb{R}^n\)에 관한 방정식이 있다고 하자. \[ A \mathbf{x}= \mathbf{b} \] 여기서 벡터 \(\mathbf{b}\)가 어떤 작은 오차로 인하여 \(\mathbf{b}+\Delta \mathbf{b}\)로 변화했다면 이 방정식의 해 \(\mathbf{x}\)도 \(.. 2021. 3. 2.
놈 (norm) norm을 한글로 표기할 때 ‘놈’이라고 하기도 하고 ‘노름’이라고 하기도 하는데, 둘 다 좋은 뜻은 아니지만 ‘놈’이 조금 나은 것 같다. 사람에게도 이놈, 저놈, 그놈이 있듯이 norm에도 여러 놈이 있다. 😊 벡터 \( \mathbf{x} \in R^n \) 의 놈은 다음 4가지 성질을 만족하면서 벡터에서 실수 값을 연결하는 함수로 정의하고, \( \| \mathbf{x} \| \)로 표기한다. 1. \( \| \mathbf{x} \| \)은 음수가 아닌 실수값이다. 즉, \( \| \mathbf{x} \| \ge 0 \) 2. \( \mathbf{x}=0 \) 일 때만 \( \| \mathbf{x} \| =0 \) 이다. 3. 스칼라 \( \alpha \)에 대해서 \( \|\alpha \math.. 2020. 10. 24.
내적 (Inner Product) 두 개의 벡터 사이의 덧셈은 각각의 구성 성분을 더하는 것으로 정의한다. 그렇다면 곱셈 연산은 어떻게 정의할까. 곱셈 연산으로 두 가지 방식이 있다. 바로 dot product와 cross product 연산이다. 두 벡터 \( \mathbf{a}= \begin{bmatrix} a_1 & a_2 & \cdots & a_n \end{bmatrix}^T \)와 \( \mathbf{b}= \begin{bmatrix} b_1 & b_2 & \cdots & b_n \end{bmatrix}^T \)가 있을 때, 두 벡터의 dot product 또는 내적(inner product)은 다음과 같이 정의한다. \[ \mathbf{a} \cdot \mathbf{b} = a_1 b_1 + a_2 b_2 + \cdots + .. 2020. 10. 21.
유사 역행렬 (Pseudo Inverse Matrix) 역행렬은 full rank인 \( n \times n \) 정방 행렬(square matrix)에서만 정의된다. 정방 행렬이 아닌 다른 모양의 행렬에서는 역행렬 대신에 유사 역행렬(pseudo inverse matrix)을 정의할 수 있다. 어떤 \( m \times n \) 실수 행렬 \( A \)에 대해서 다음과 같이 4가지 조건을 만족하는 행렬 \( A^+ \)를 무어-펜로즈(Moore-Penrose) 유사 역행렬이라고 한다. 1. \( A A^+ A = A \) 2. \( A^+ A A^+ = A^+ \) 3. \( (A A^+)^T = A A^+ \) 4. \( (A^+ A)^T = A^+ A \) 특이값 분해(svd)를 이용하면 무어-펜로즈 유사 역행렬을 쉽게 계산할 수 있다. 특이값 분해란 .. 2020. 10. 19.
특이값 분해(SVD)의 응용: 이미지 압축 특이값 분해는 다음과 같이 어떤 \( m \times n \) 실수 행렬(real matrix) \( A \)를 3개의 행렬의 곱으로 분해한 것이다. \[ A = U \Sigma V^T \tag{1} \] 이 식을 풀어 쓰면 다음과 같다. \[ A = \sigma _1 \mathbf{u}_1 \mathbf{v}_1^T + \sigma _2 \mathbf{u}_2 \mathbf{v}_2^T + \cdots + \sigma _r \mathbf{u}_r \mathbf{v}_r^T \tag{2} \] 여기서 \( \sigma _i \)는 특이값으로서 그 숫자는 행렬 \( A \)의 랭크(rank)와 같다. 특이값은 큰 값에서 작은 값의 순서로 정렬시킨 것이다. \[ \sigma _1 \ge \sigma _2 \.. 2020. 7. 25.
특이값 분해(SVD)의 증명 어떤 \( m \times n \) 실수 행렬(real matrix) \( A \)와 그 전치 행렬 \( A^T \)의 행렬곱 \( AA^T \)와 \( A^T A \)는 대칭행렬이며 준정정 행렬(positive semi-definite matrix)이다. 먼저 대칭행렬인지 확인해 보자. 행렬곱을 전치한 다음에 원래 행렬과 같은 지 확인하면 된다. \[ (AA^T )^T=AA^T, \ \ \ (A^T A)^T=A^T A \] 그렇다면 \( AA^T \)이 준정정 행렬인지 확인해 보자. 어떤 벡터 \( \mathbf{x} \)에 대해서 다음 부등식을 만족하는지 확인하면 된다. \[ \begin{align} \mathbf{x} ^T (AA^T ) \mathbf{x} &= (A^T \mathbf{x} )^T .. 2020. 7. 23.
특이값 분해(singular value decomposition) 행렬을 다른 여러 개의 행렬의 곱으로 쪼개는 것을 분해(decomposition)라고 한다. 행렬의 분해로는 고유값 분해(eigen decomposition), 촐레스키 분해(Cholesky decomposition), LU 분해(lower-upper decomposition), 특이값 분해(singular value decomposition) 등 여러가지가 있지만 그 중에서도 가장 중요한 것이 SVD라고 불리는 특이값 분해가 아닐까 싶다. 특이값 분해는 이미지 압축, 모델의 차원 축소, 근사해 계산, 웹서치, 제어분야에서 액추에이터와 센서의 최적 위치를 선정하는 문제, 제어력 할당 문제 등 매우 폭넓게 응용되고 있기 때문이다. 고유값이 행과 열의 갯수가 같은 정방 행렬(square matrix)에서만 .. 2020. 7. 23.
정정(positive-definite) 행렬의 고유값 실수 대칭행렬(real symmetric matrix)의 고유값(eigenvalue)과 고유벡터(eigenvector)는 모두 실수값이다. 또한 서로 다른 고유값에 해당하는 고유벡터는 서로 직각이다. 증명하기는 다소 어렵지만 실수 대칭행렬의 경우에는 서로 다른 고유값 뿐만 아니라 같은 고유값에 대응하는 고유벡터가 여러 개일 경우에도 그 고유벡터들은 서로 직각이다. 정정 행렬도 실수 대칭행렬이므로 고유값과 고유벡터는 실수값을 가지며, 고유벡터들은 서로 직각이다. 이에 덧붙여서 정정 행렬의 고유값은 모두 0보다 크다. 증명해 보자. 정정 행렬 \( A \)의 고유값을 \( \lambda \), 그에 대응하는 고유벡터를 \( \mathbf{v} \)라고 하면, \[ A \mathbf{v} = \lambda \.. 2020. 7. 21.