본문 바로가기

유도항법제어101

[PCA–4] PCA 예제: Eigenfaces Extended Yale Face Database B 라는 얼굴 사진을 잔뜩 모아 놓은 사이트가 있다. http://vision.ucsd.edu/~iskwak/ExtYaleDatabase/ExtYaleB.html 38명의 사람 얼굴을 9개의 자세 및 64개의 서로 다른 조명 조건에서 촬영한 사진으로 구성 되어있는데 Cropped Images에 있는 사진들은 높이가 192 픽셀 너비가 168픽셀로 된 흑백 사진이다. 이 얼굴 사진들은 연구 목적으로 자유롭게 사용할 수 있다. PCA 알고리즘을 얼굴 사진 라이브러리에 적용하여 이른바 eigenfaces라는 축소 차원 좌표축을 구하고 사진 데이터를 eigenfaces로 표현하고 또 복원해 보도록 하자. 먼저 36명의 정면 얼굴 사진만을 추출하여 스냅샷 행렬을 .. 2021. 2. 24.
[PCA–3] 주성분 분석 (PCA) 특징 n차원 공간 상의 m개 데이터 \(\mathbf{x}^{(1)}, \mathbf{x}^{(2)}, ..., \mathbf{x}^{(m)} \in \mathbb{R}^n\) 에 대한 주성분 분석(PCA) 알고리즘을 정리하면 다음과 같다. (1) 데이터셋의 샘플 평균을 계산한다. \[ \mathbf{\mu} = \frac{1}{m} \sum_{i=1}^m \mathbf{x}^{(i)} \] (2) 모든 데이터셋을 다음과 같이 치환한다. \[ \mathbf{y}^{(i)}= \mathbf{x}^{(i)} - \mathbf{\mu} \] (3) 데이터셋의 스냅샷(snapshot) 행렬을 만든다. \[ Y = \begin{bmatrix} \mathbf{y}^{(1)} & \mathbf{y}^{(2) } & \cd.. 2021. 2. 20.
[PCA–2] 주성분 분석 (PCA) 알고리즘 유도 \(m\)개의 n차원 데이터 \(\mathbf{x}^{(1)}, \mathbf{x}^{(2)}, ..., \mathbf{x}^{(m)} \in \mathbb{R}^n\) 이 주어졌다고 하자. 이 데이터를 d차원 공간에 투사해서 차원(dimension)을 축소하는 것이 목적이다. 그렇다면 n차원의 부분 공간인 d차원 (\(d \lt n\))에서 직교 좌표축의 방향을 어떻게 결정해야 데이터의 정보 손실을 최소화할 수 있을까. 다음 그림은 2차원 데이터의 예를 도시한 것이다. 우선 새로운 좌표축의 원점을 \(m\)개 데이터의 평균점 \(\mathbf{\mu}\)에 위치시키도록 하자. \[ \mathbf{\mu} = \frac{1}{m} \sum_{i=1}^m \mathbf{x}^{(i)} \] 그리고 모든 데.. 2021. 2. 19.
[PCA–1] 주성분 분석 (PCA) 다음과 같이 2차원 공간(평면)상에 표현된 데이터 \(\mathbf{x}^{(i)}, \ i=1,...,m\) 이 있다. 데이터를 연결해 보니 데이터가 모두 직선상에 있다는 것을 알게 됐다고 하자. 이 직선으로 표현된 축(성분)을 \(z_1\)으로 한다면 애초에 \(x_1\)과 \(x_2\)의 두 축(성분)으로 이루어진 2차원 공간상의 데이터를 \(z_1\)축으로 이루어진 1차원 공간상에 표현할 수 있었을 것이다. 이와 같이 고차원 데이터를 저차원 데이터로 표현하는 것을 차원 축소(dimensionality reduction)라고 한다. 만약 데이터가 일직선 상에 있지 않고 약간 어긋나 있다면 어떨까. 그렇다고 하더라도 데이터가 나타내는 정보의 일부분을 잃는 것을 감수할 수 있다면 원래의 데이터 \(\m.. 2021. 2. 18.
주파수 응답 주파수 응답(frequency response)은 안정한 LTI(선형 시불변) 시스템에 싸인 또는 코사인 파형(sinusoids) 입력을 가했을 때 나오는 정정상태 응답(steady-state response)이다. 입력 \(u(t)\) 가 시스템에 가해지는 시간이 \(t=0\) 이라면 초기값이 \(0\) 이라는 가정하에서 인과(causal) LTI 시스템의 출력은 다음과 같다. \[ \begin{align} y(t) &= \int_0^t h(t-\tau) u(\tau) \ d\tau \tag{1} \\ \\ &= \int_0^t h(\tau) u(t-\tau) \ d\tau \end{align} \] 여기서 \(h(t)\) 는 LTI 시스템의 임펄스 반응(impulse response)이다. 이제 입력.. 2021. 2. 5.
정정상태 응답과 과도 응답 영어로 steady-state response를 정정상태 응답, transient response를 과도 응답이라고 번역한다. 정정상태는 시스템의 출력이 안정되어서 시간이 흘러도 같은 값을 유지하거나 같은 패턴의 출력이 나오는 상태를 말한다. 과도 응답이란 출력이 \(0\)부터 시작하여 정정상태 응답으로 가는 동안의 과도기 응답을 말한다. 영어를 한자로 번역하고 표기는 한글로만 하기 때문에 오해하기 쉬운 용어가 됐다. 정정 행렬이라는 용어도 있는데 이 때 '정정' 은 영어로 positive-definite이다. '양의 값으로 규정된' 이라는 뜻이다. 아무튼 둘 다 정정이라고 번역한다. ‘과도’는 일상 용어로는 과일 깍는 칼을 말한다. 응답은 response를 번역한 것인데 '반응' 이라고 하기도 한다. .. 2021. 2. 5.
포텐셜 필드 방법 포텐셜 필드(potential field)의 아이디어는 목표점으로 이끄는(attractive) 인공적인 포텐셜 필드와 장애물로부터 멀어지게 내보내는(repulsive) 인공적인 포텐셜 필드를 형상공간에 구축하여, 로봇이나 비행체가 장애물을 피하면서 목표점에 다가갈 수 있는 운행 방향을 찾아보자는 것이다. 인력(attractive) 포텐셜은 로봇이나 비행체를 목표점으로 끄는 목적을 지니고 있으며 보통 파라볼릭(parabolic) 형태와 원추(conical) 형태, 그리고 이 둘을 결합한 형태를 사용하고 있다. 파라볼릭 형태의 포텐셜 필드는 다음 식으로 주어진다. \[ U_{att1} (\mathbf{q})= \frac{1}{2} k_a \left\vert \mathbf{q}_{goal} - \mathbf{.. 2021. 1. 29.
RRT* (RRT Star) 알고리즘 RRT* 알고리즘은 RRT 알고리즘과 기본 뼈대는 동일하다. 다만 RRT와 두 가지 차이점이 있는데, 첫째는 부모(parent) 노드의 재선정이고 둘째는 트리의 재구성(rewire)이다. RRT에서는 \(\mathbf{q}_{new}\)와 가장 가까운 노드 \(\mathbf{q}_{near}\)가 부모(parent) 노드가 되었지만, RRT*에서는 \(\mathbf{q}_{new}\)를 중심으로 일정 반경에 있는 노드(그림에서 \(\mathbf{q}_1, \mathbf{q}_2, \mathbf{q}_3, \mathbf{q}_4, \mathbf{q}_5, \mathbf{q}_{near}\))를 뽑고, 그 노드들을 \(\mathbf{q}_{near}\)와의 비용(cost) 비교를 통해 가장 적은 비용을 가진.. 2021. 1. 29.
진동 모드 해석 복소수는 실수부와 허수부를 갖는 수체계다. 실수부를 \(x\)축에, 허수부를 \(y\)축에 표시하면 복소수를 복소 평면상에 표시할 수 있다. 복소수는 보통 실수부와 허수부로 표현하지만 다음과 같이 크기와 위상각으로도 표현할 수 있다. \[ \begin{align} z &=x+jy \\ \\ &= r \cos \theta +j r \sin \theta \end{align} \] 여기서 \(r\)은 복소수의 크기, \(\theta\)는 위상각이며 각각 다음과 같이 계산할 수 있다. \[ r= \sqrt{x^2+y^2 }, \ \ \ \theta =\tan^{-1} \left( \frac{y}{x} \right) \] 오일러 공식(Euler formula)에 의하면 다음 식이 성립하므로, \[ e^{j \th.. 2021. 1. 26.
운동 모드 해석 고유값(eigenvalue)과 고유벡터(eigenvector)의 개념은 여러 분야에서 사용되고 있다. 운동 모드를 해석할 때도 사용되는데 이에 대해서 알아보자. 다음과 같이 상태변수의 미분 방정식으로 표현되는 운동 방정식이 있다고 하자. \[ \dot{\mathbf{x}}= A \mathbf{x} \tag{1} \] 여기서 \(\mathbf{x}(t)\)는 상태변수로서 성분이 \(n\)개인 벡터다. \(A\)는 성분이 모두 실수 값인 \(n \times n\) 행렬이다. 위 식은 \(n\)개의 스칼라 미분 방정식이 서로 연결된 연립 미분 방정식으로서 외부 입력이 작용하지 않는 다양한 선형 운동 방정식을 표현할 수 있는 범용 식이다. 식 (1)을 상태공간 방정식(state-space equation)이라고.. 2021. 1. 26.