분류 전체보기 130

6. 열공간과 영공간(Column Space and Nullspace)

3차원 벡터라면 어떻게든 3차원 공간 안에 존재합니다. $R^3$의 부분공간은 다음과 같이 원점을 가지는 평면과 원점을 지나는 직선입니다. 평면을 P, 직선을 L이라고 하겠습니다. 그러면 $P \cup L$도 부분공간에 해당할까요? (아니요) - 선형결합의 규칙이 성립되지 않습니다. 임의의 상수를 곱하거나 공간 내의 다른 원소끼리 더해도 같은 공간에 존재해야 하는데, 각자 다른 공간에 있는 것들도 합친 것이기 때문에 불가능합니다. - 만약 직선이 평면 위에 존재하다면 가능할 것입니다. 이 경우 선형결합과 벡터 덧셈, 스칼라 곱을 해도 같은 벡터 공간에 존재하기 때문입니다. 사진속 평면과 직선은 원점만 공유하게 됩니다. 서로 다른 공간에 존재하지만 원점은 똑같이 지나갑니다. 여기 한 행렬이 있습니다. 이 ..

5. 전치행렬, 치환행렬, 벡터 공간(Transposes, Permutations, Spaces R^n)

치환행렬 (Permuation matrix)은 P라고 표기하며 행 교환을 해줍니다. $PA = LU$ 행 교환이 이루지는 행렬에 대한 소거를 배워보겠습니다. P는 재정렬된 행이 있는 단위행렬입니다. 행을 교환할 수 있는 가짓수는 몇 개가 있을까요? 팩토리얼로 나타낼 수 있습니다. $n! = n(n-1) + ... + 2 + 1$ 이렇게 $n \times n$ 치환의 재정렬 가짓수를 계산할 수 있습니다. 치환행렬의 특징은 $P^{-1} = P^T$ 전치하면 역행렬을 구할 수 있어서 우리가 바꿨던 행들을 다시 원래대로 복구할 수 있습니다. 대칭행렬 (Symmetric matrices) 이 행렬은 전치를 통해서 행렬이 바뀌지 않습니다. 어떻게 하면 대칭행렬을 얻을 수 있을까요? 다음과 같은 rectangula..

4. LU decomposition

저번 강의에서 우리는 소거를 통해 A행렬이 소거가 완료된 행렬 U로 이동한다는 것을 배웠습니다. 이번 시간에는 두 개의 연산을 진행하는 행렬을 소거해보겠습니다. $AB$의 역행렬을 구해봅시다. 개별적인 두 행렬의 역행렬을 구해야 합니다. 그리고 그 두 역행렬을 곱해야 하는데 곱하는 순서가 있습니다. 바로 역순으로 곱해줘야 합니다. $ABB^{-1}A^{-1} = AB(AB)^{-1}$ $A(BB^{-1})A^{-1} = AIA^{-1} = AA^{-1} = I$ 이렇게 역순으로 곱하게 되면 A와 A의 역행렬을 곱할 수 있게 됩니다. LU decomposition LU 분해는 행렬의 가장 기본적인 분해입니다. $A = LU$ 여기서 U는 A에 소거를 진행한 결과물입니다. 설명을 위해 행렬 A이 존재한다고 ..

3. 행렬곱셈과 역행렬(Matrix Multiplication and Inverse Matrices)

행렬 곱셈에 대한 규칙을 논의해보겠습니다. 1. Matrix multiplication 2. Inverse of $A$ $AB$ $A^T$ 3. Gauss - Jordan 행렬 곱셈에 대해 조금 더 알아보고 gauss - jordan을 사용하여 역행렬을 구하는 방법에 대해 알아보겠습니다. 행렬 곱셈에는 몇 가지 방법이 있는데 우선 $row \times column$에 대해 알아보겠습니다. 1. 행렬을 곱하는 방법 $row \times column$ 다음과 같은 행렬 연산이 있다고 해봅시다. ($AB = C$) $\left[\begin{matrix} & & & \\ & & & \\ a_{31} & a_{32} & a_{33} & a_{34} \end{matrix} \right] \left[\begin{ma..

2. Elimination with Matrices

방정식을 푸는 방법들은 다양합니다. 1. Elimination (소거법) - Success - Failure 2. Back-substitution (후방 대입법) 3. Elimination matrices (소거 행렬) 4. Matrix multiplication (행렬 곱) 여기서 소거법은 모든 소프트웨어 패키지가 방정식을 풀 때 사용하는 방법입니다. - 소거법이 성공하면 solution을 얻습니다. - 좋은 matrix에 대해서만 소거법을 진행했을 때 solution을 얻을 수 있습니다. (square matrix가 아닌 것도 solution을 얻을 수 있습니다.) $ x + 2y + z = 2 $ $ 3x + 8y + z = 12 $ $ 4y + z = 2 $ 다음과 같이 3개의 방정식과 3개의 미..

2. 자료구조 - 큐(Quene)

- 본 게시글은 패스트 캠퍼스의 알고리즘 / 기술면접 완전 정복 올인원 패키지를 공부한 내용을 바탕으로 작성되었습니다. 큐는 배열과 함께 쉬운 자료구조 중 하나입니다. 운영체제나 네트워크에서 많이 사용이 됩니다. 큐 구조 가장 먼저 넣은 데이터를 가장 먼저 꺼내는 구조입니다. 간단하게 생각하면 음식점에서 가장 먼저 줄을 선 사람이 제일 먼저 음식점에 입장하는 것과 비슷한 구조입니다. 이러한 정책을 FIFO(First-In, First-Out)이라고 합니다. (이와 반대인 LIFO도 있습니다.) 큐에서 출력된 데이터는 사라지고 나머지 데이터는 줄을 당겨서 앉습니다. - Enqueue: 큐에 데이터를 넣는 기능 - Dequeue: 큐에서 데이터를 뽑는 기능 이제 FIFO를 사용하는 큐를 만들고 데이터를 넣어..

알고리즘 2022.01.09

1. 자료구조 - 배열(Array)

- 본 게시글은 패스트 캠퍼스의 알고리즘 / 기술면접 완전 정복 올인원 패키지를 공부한 내용을 바탕으로 작성되었습니다. 배열은 데이터를 나열하고 각 데이터를 인덱스에 대응하도록 구성된 데이터 구조입니다. 배열을 사용할 경우 장점으로는 같은 종류의 데이터를 효율적으로 관리할 수 있고 (파이썬에서는 한 가지 자료형만 가능합니다.) 같은 종류의 데이터를 순차적으로 저장할 수 있습니다. 실제 데이터를 저장하고 그 데이터에는 인덱스를 사용해 접근할 수 있습니다. (빠른 접근이 가능) 단점으로는 데이터를 추가 / 삭제하기가 어렵습니다. (미리 최대 길이로 지정해야합니다.) 파이썬에서는 리스트를 사용해 간단하게 배열을 구현할 수 있습니다. # 1차원 배열: 리스트로 구현시 data_list = [1, 2, 3, 4,..

알고리즘 2022.01.09

1. Linear Algebra

다음과 같이 두 개의 미지수를 가진 두 개의 방정식이 존재한다고 해봅시다. $2x - y = 0$ $-x + 2y = 3$ 이 두 방정식을 행렬로 표현한다면 각각의 계수와 미지수를 따로 묶어서 표현합니다. $$ \left[\begin{matrix} 2 & -1 \\ -1 & 2 \\ \end{matrix} \right] \left[\begin{matrix} x \\ y \\ \end{matrix} \right] = \left[\begin{matrix} 0 \\ 3 \\ \end{matrix} \right]$$ 방정식의 계수를 모아둔 행렬을 계수 행렬(coefficient matrix)이라고 부르고 $A$로 표기합니다. 그다음 미지수 벡터(the vector of unknown) 를 $x$ 마지막으로 이 ..

[논문 리뷰] Fast and Accurate Single-Image Depth Estimation on Mobile Devices, Mobile AI 2021 Challenge: Report

Depth estimation은 모바일 환경에서 필요한 컴퓨터 비전 기술 중 하나이지만 현재 제안된 솔루션들은 계산 비용이 많이 들어 장치에서의 추론 작업이 힘들었습니다. 본 논문은 이러한 문제점을 해결하기 위해서 여러 가지 방법들을 적용해보고 그 결과를 정리한 내용입니다. 1. Environments Raspberri pi 4 (Broadcom BMC2711, Cortex-A72, 1.5 GHz) Raspberry Pi OS (linux) TensorFlow Lite 2.5.0 Linux build 2. Dataset RGB-16bit-depth image pairs was collected using ZED stereo camera average depth estimation error of less..

19. 고유값 분해(Eigendecomposition)

Orthogonalization이 가능한 상태를 생각해봅시다. n개의 선형독립적인 Eigenvector를 사용할 수 있는 상황에서, 다음과 같이 $D = V^{-1}AV$에서 $D$에도 $V$, $V^{-1}$ 그리고 $A$에도 $V$, $V^{-1}$을 곱합니다. Diagonal 하다는 것은 V의 역행렬이 존재한다는 것입니다. $VDV^{-1} = AV^{-1}VV{-1}V$ $VDV^{-1} = A$ - 다음과 같이 나오게 됩니다. 이것을 고유값 분해(Eigendecomposition)이라고 합니다. 주어진 matrix를 여러 matrix의 곱으로 나타내는 것을 matrix에 대한 decomposition이라고 말합니다. 이 분해를 하기 위한 조건으로 V는 invertible 한 matrix이어야 합..

반응형