일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Entropy Minimization
- Pix2Pix
- semi supervised learnin 가정
- ConMatch
- CoMatch
- CGAN
- Pseudo Label
- shrinkmatch
- GAN
- simclrv2
- conjugate pseudo label paper
- tent paper
- dcgan
- CycleGAN
- 딥러닝손실함수
- dann paper
- mme paper
- WGAN
- 백준 알고리즘
- shrinkmatch paper
- cifar100-c
- BYOL
- adamatch paper
- 최린컴퓨터구조
- UnderstandingDeepLearning
- mocov3
- 컴퓨터구조
- Meta Pseudo Labels
- remixmatch paper
- SSL
- Today
- Total
Hello Computer Vision
LU분해란 무엇인가 본문
우선 LU분해에 들어가기 전에 행렬의 재미난 성질(?)을 한번 살펴보겠습니다.
(여기서 L은 하삼각행렬 U는 상삼각행렬을 나타내는 기호입니다. LU분해에 이용되는 행렬 A는 정사각행렬)
\begin{bmatrix}1 & 2 \\3 & 4 \end{bmatrix} 이러한 행렬에 대해 1행과 2행의 순서를 바꾸고 싶다면 어떻게 할까요?
$\begin{bmatrix}0 & 1 \\1 & 0 \end{bmatrix}$ $\begin{bmatrix}1 & 2 \\3 & 4 \end{bmatrix}$
이러한 행렬을 앞에다 곱해주면 됩니다.
곱해주는 행렬을 P라고 한다면 P * A 로 표시할 수 있습니다.
조금 응용해가지고 1행에다 2행을 더한 값으로 표시하고 싶다면
\begin{bmatrix}1 & 1 \\0 & 1 \end{bmatrix} 이러한 행렬을 앞에다 곱해주면 됩니다. 나름 재밌죠?
다른 재밌는 성질을 한개 더 소개해보려고 합니다
바로 하삼각행렬을 L, 일반 행렬을 A라 하였을 때 L * A = REF 라고 말할 수 있습니다.
(물론 일반 행렬 A에서의 행간 순서를 바꿔줄 필요가 있을 때 곱해지는 행렬은 L이라 하지 않습니다)
예시를 한번 들어보겠습니다
\begin{bmatrix}2 & 3 & 1 \\1 & 0 & 2\end{bmatrix}
이러한 행렬 A가 있고 이를 REF꼴로 만들려고 합니다. 먼저 2행과 1행의 위치를 바꿉시다.
\begin{bmatrix}0 & 1 \\1 & 0 \end{bmatrix}
이러한 행렬 P를 앞에다 곱해줍니다.
그렇다면 결과는 \begin{bmatrix}1 & 0 & 2 \\2 & 3 & 1\end{bmatrix} 이 됩니다.
2행에 있는 2를 0으로 만들 필요가 있기 때문에 또 다른 행렬을 A에 곱해줍니다.
1행은 그대로 있고 2행 1열에 있는 성분을 1행 1열 원소에 -2배만큼 더해야하니
\begin{bmatrix}1 & 0 \\-2 & 1 \end{bmatrix} 이러한 행렬을 A에다 곱해줍니다.그렇다면 결과는
\begin{bmatrix}1 & 0 & 2 \\0 & 3 & -3\end{bmatrix}
이렇게 되고 마지막으로 2행 2열에 있는 원소를 1로 만들기 위해 1/3을 곱해줍니다.
\begin{bmatrix}1 & 0 \\0 & 1/3 \end{bmatrix}
이러한 결과 마지막 행렬 A는 \begin{bmatrix}1 & 0 & 2 \\0 & 1 & -1\end{bmatrix}
이렇게 REF 형태를 가지게 됩니다. 잘 보시면 지금까지 곱해진 행렬들은 다 하삼각행렬임을 알 수 있습니다.
(물론 맨 처음 순서를 바꾸기 위한 행렬인 P제외)
이것을 기호로 나타낸다면 LA = REF
또 한가지! REF는 가우스 소거법을 수행한 결과라고 할 수 있습니다. 가우스 조던 소거법을 사용한다면 RREF가 나오겠죠?
REF상태에서 조던 소거법을 추가로 수행한다면 어떤 모양이 될까요? 한번 살펴보겠습니다.
\begin{bmatrix}1 & 2 & 3 \\ 0 & 1 & 5 \\ 0 & 0 & 1 \end{bmatrix} 이러한 행렬A에서(REF행렬)
$\begin{bmatrix}1 & 0 & -3 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}$ $\begin{bmatrix}1 & 0 & 0 \\ 0 & 1 & -5 \\ 0 & 0 & 1 \end{bmatrix}$ $\begin{bmatrix}1 & -2 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}$
이러한 3개의 행렬을 위에서부터 차례차례 행렬 A에 곱하게 되면 결과는 단위행렬이 나오게됩니다.
조금 전에 곱해진 상삼각행렬을 U라고 하므로 ULA = I
그리고 이러한 U와 L의 역행렬들을 앞에서부터 곱해준다면 $A = L^{-1}U^{-1}$이러한 모습을 띄게되고
이것을 LU분해라고 합니다.(바로 위에 쓴 것은 모든 LU 행렬들은 역행렬이 존재하기 때문에 입니다.)
--> 어떠한 정사각행렬 A는 하삼각행렬의 역행렬과 상삼각형의 역행렬의 곱으로 표현될 수 있다.
그리고 추가로 REF, RREF를 만드는 과정에 대하여 한번 생각해보았는데
REF를 만들기 위해 1행을 작업할 때는 2행~n행까지의 1열 원소 연산이 필요하고
2행을 작업할 때는 3행~n행까지의 2열 원소 연산이 필요합니다.(여기서 1행 연산을 안하는 이유는 하면 행렬의 형태가 가우스 소거법 형태를 벗어납니다) 그렇기 때문에 REF를 만들 때는 하삼각행렬들의 연산이 필요하고 RREF를 만들 때는(단위행렬) 상삼각행렬이 필요한 것입니다.
'선형대수' 카테고리의 다른 글
외적(Outer Product)이란 무엇인가? (0) | 2022.12.28 |
---|---|
공분산과 공분산 행렬 (0) | 2022.12.28 |
REF, RREF란 무엇인가 (0) | 2022.12.26 |
대각합, 대각합의 성질 (0) | 2022.12.26 |
전치행렬, 대칭행렬, 반대칭행렬 은 무엇인가 (0) | 2022.12.26 |