200 likes | 755 Views
패턴인식 개론. Ch.3 선형 대수학 - 벡터와 행렬. 벡터 이론. 벡터 : 크기 와 방향 을 가지는 어떠한 물리 량 .
E N D
패턴인식 개론 Ch.3 선형 대수학 - 벡터와 행렬
벡터 이론 벡터: 크기와 방향을 가지는 어떠한 물리량. 특징 벡터(feature vector) : 패턴 인식에서는 인식 대상이 되는 객체가 특징으로 표현되고, 특징은 차원을 가진 벡터로 표현된다. 이러한 벡터를 특징벡터라고 한다. 그리고 특징 벡터에 대한 대수학적인 계산을 위해서 특징 벡터를 행렬로 표현하여 N-차원 공간 상의 한 점의 데이터로 특징을 다루게 된다. 관례적으로 벡터 은 Nx1 행렬로 간주 한다. 벡터의 전치(transpose) : 벡터의 전치란 Nx1행렬을 1xN 행렬로, 혹은 1xN 행렬을 Nx1행렬로 행과 열을 바꾼 행렬을 의미한다.
벡터 이론 벡터의 크기(norm) : 벡터의 크기는 원점에서 벡터 공간 상의 한 점까지의 거리를 말하며, 다음과 같이 정의한다. Ex)벡터 x=[3 4]T 의 크기(norm)는? 단위 벡터 (unit vector): 벡터의 크기가 1인 벡터를 “단위(unit)”벡터라고 한다. 만약, 벡터 v가 영이 아닌 벡터라면 v방향의 단위벡터 u 는 다음과 같이 규정한다. 이렇게 주어진 벡터와 방향이 같은 단위벡터를 구하는 과정을 벡터의 정규화(normalization)라고 한다. Ex)벡터 v=[3 4]T 방향의 단위벡터는 u는? 그리고 그 단위벡터 u의 크기(norm)는?
벡터 이론 벡터의 곱셈 스칼라 곱: 임의의 벡터에 임의의 스칼라(실수)를 곱하는 것을 말하며, 다음과 같이 성분 별로 스칼라를 곱해주면 된다. Ex)벡터 x=[3 4]T일 때 y = 5x는? 내적( inner product; dot product ): 차원이 동일한 두 개의 벡터 x, y 에 대하여 대응되는 성분 별로 곱하여 합하는 것을 두 벡터의 “내적”이라 한다.그러므로 벡터 내적의 결과는 실수 스칼라이다. 두 벡터 사이의 각 가 주어질 경우, 내적 스칼라 c 는 다음과 같이 주어진다. Ex)벡터 x=[3 4]T와 y=[5 6]T의 내적 <x,y>는?벡터 x=[1 0]T와 y=[0 1]T의 내적 <x,y>는?
벡터 이론 수직사영 ( projection ) : 벡터 y를 벡터 x로 사영(혹은 투영)을 취하면, 벡터 x의 방향으로 어떠한 길이를 가지는 벡터가 만들어진다. 이 사영 벡터는 내적의 정의를 사용하여 다음과 같이 정의하는데, 여기서, ux 은 x 와 같은 방향의 단위 벡터이다. • Ex) 벡터 y=[2 4]T와 x=[4 3]T로의사영은? • ux=(1/||x||)x =[4/5 3/5], • ([2 4] [4/5 3/5]T) [4/5 3/5]T • =4*[4/5 3/5]T • 벡터 y=[3 4]T와 x=[1 0]T로의사영은? • 벡터 y=[3 4]T와 x=[0 1]T로의사영은? • 두 벡터 x 와 y 가 • xTy = 0 이면, 두 벡터 x와 y는 수직/직교 ( orthogonal )이라고 한다. • xTy = 0 이고 ||x|| = ||y|| = 1 이면, 두 벡터 x와 y는 정규직교( orthonormal )한다.
벡터 이론 선형결합: 벡터집합 x={x1,x2,…,xN} 와 스칼라 계수집합 {a1,a2,…,aN} 과의 곱의 합으로 표현된 벡터 y를 벡터x의 “선형결합(linear combination)”이라고 한다. 선형종속: 만약, 벡터집합 x={x1,x2,…,xN} 이 아래의 식을 만족하는 모두 0 이 아닌 스칼라 계수집합 {a1,a2,…,aN} 이 존재한다면, 다시 말해서, 벡터 집합 중 적어도 하나를 다른 벡터들의 선형결합으로 표현할 수 있다면, 이 벡터 집합은 “선형종속(linearly dependent)”이라고 한다. 선형독립: 만약, 위의 식을 만족하는 유일한 해가 ak= 0 (for all k) 이라면 {x1,x2,…,xN}는 “선형독립(linearly independent)” 이라고 한다.
벡터 이론 기저집합 행렬 Nx1로 표현되는 모든 벡터를 표현할 수 있는 벡터의 집합을 “기저 벡터 집합”이라고 한다. 이때 임의의 벡터는 기저 벡터 집합을 통하여 Nx1 벡터 공간에 펼쳐(span)진다고 표현한다. 만약, 이 기저 집합이라면, 임의의 Nx1벡터x는 다음과 같이 표현될 수 있다. 만약, 어떤 임의의 벡터 x가 {ui} 의 선형조합으로 표현이 되어질 수 있다면, 벡터집합 { u1, u2, …, uN } 은 벡터 공간에 대하여 기저( basis )를 형성한다고 말한다. 계수 {a1,a2,…,aN} 를 기저 {ui} 에 따른 벡터 x의 성분이라고 하고, 기저를 형성하기 위해서 {ui} 벡터들이 선형 독립인 것은 필요 충분한 조건이다.
벡터 이론 • 벡터 공간( vector space )혹은 유클리드 공간 • 모든 n차원 벡터들이 존재하는n차원 공간을 “벡터 공간”이라고 한다. • 벡터 공간은 실수에 의하여 벡터 덧셈과 벡터곱셈에 대한 규칙에 닫혀있는 벡터 집합이다. 그러므로 임의의 두 벡터에 대한 덧셈과 곱셈을 통하여 해당 공간 내에 있는 새로운 벡터를 생성할 수 있다. • n차원 공간 Rn 은 모두 선형독립인 n개의 n차원 벡터에 의해 생성될 수 있는데, 이때 n차원 공간Rn 을“유클리드 n차원 공간”혹은“유클리드 공간”이라고 한다. • 벡터간의 거리 : 벡터공간에 존재하는 두 점 사이의 거리(유클리디안 거리)는 두 점을 있는 • 벡터의 길이로 다음과 같이 정의 된다.
행렬 대수 • 전치행렬 ( transposed matrix ) 정방행렬 ( square matrix ): 행의 수와 열의 수가 동일한 행렬 대각행렬 ( diagonal matrix ): 행렬의 대각 성분을 제외하고는 모두 0인 행렬 스칼라행렬: 대각 성분이 모두 같고, 비대각 성분이 모두 0인 정방행렬
행렬 대수 • 항등 행렬 혹은 단위 행렬 ( identity matrix ) 대각 성분이 모두 1이고 그밖의 성분이 모두 0인 정방행렬 대칭 행렬 ( symmetry matrix ) 대각선을 축으로 모든 성분이 대칭되는 행렬 영 행렬 모든 구성 성분이 0인 행렬 직교 행렬 주어진 행렬 A가 정방행렬일 떼, 를 만족하는 행렬
행렬 대수 • 행렬의 곱셈 행렬의 트레이스 : 정방행렬에서 대각 성분의 합 행렬의 고유값 문제에서 고유근을 구할 때 매우 중요한 역할을 함
행렬 대수 • 행렬식 ( determinant ) : 수들의 다차원적인 배열을 행렬이라고 한다면, 행렬식은 행렬을 어떠한 하나의 실수 값으로 표현한 것을 말한다. d×d 정방 행렬 A에 대하여, 행렬식은 |A| 혹은 detA 으로 표현하며 다음과 같이 계산된다. • 여기에서 Aik는 A에서 i 번째 행과 k 번째 열을 제거하여 만든 부-행렬( sub-matrix )을 말한다. • 행렬식은 오직 정방 행렬에서만 정의된다. • 행렬식의 값은 하나의 상수 즉, 임의의 실수이다. • n차의 행렬식 |An×n|은 n개의 행과 열의 위치가 서로 다른 성분들의 곱의 합으로표현된다.
행렬 대수 역행렬 (Inverse Matrix): 대수 연산에서 임의의 수를 곱하여 1이 될 때, 이를 "역수"라고 한다. 이를 행렬 대수에 적용하면, 가령 AX =I가 되는 X가 존재할 경우에 이 행렬 X를 A의 역행렬이라고 하며A-1로 표현한다. 역행렬의 성질 정부호 (positive-definite) : 양의 실수(positive real number)와 유사한 성질을 갖는 행렬의 성질을 말하며, 만약, 모든 영이 아닌 x 에 대하여 xTAx > 0의 조건을 만족한다면, 행렬 A는 정부호 행렬 (positive-definite matrix)이라고 한다. A > 0은 A가 정부호임을 나타낸다. 만약 xTAx ≥ 0 라면, A는 반정부호(positive semidefinite)라고 한다. 공분산 행렬은 정부호 행렬의 대표적인 예이다.
행렬 대수 고유치와 고유벡터 행렬 A가 nxn의 정방행렬이고, 인 벡터 x ∈ Rn가 존재할 때, 다음 관계를 만족하는 스칼라 를 행렬 A의 고유치(eigenvalue)라 하고 벡터x 는 에 대응하는 A의 고유벡터(eigenvector)라고 한다. 고유치의 계산은 아래와 같이 하는데 동차일차 연립방정식 Ax=0에서x=0이 아닌 해를 얻는 유일한 경우는 |A|=0 인 경우이기 때문에 위의 식을 만족하려면 |A - I |=0 일 때 인 해가 존재하게 된다. 이 때, |A - I |=0 를 A의 특성방정식이라고 한다. A 를 nxn 행렬이라 하고, 을 A의 고유값이라고 한다. 에 대응하는 모든 고유 벡터의 집합은 영벡터와 함께 Rn의 부분공간을 이룬다. 이 부분 공간을 A의 고유공간( eigenspace )이라고 한다.
행렬 대수 – 고유치와 고유벡터의 성질 • 고유치와 고유벡터의 성질 • 대각행렬의 고유치는 대각 성분 값이다. • 삼각행렬의 고유치는 이 행렬 대각 성분 값이다. • 벡터 x가 행렬 A의 고유 벡터이면 벡터 x의 스칼라 곱인kx도 고유 벡터이다. • 전치하여도 고유치는 변하지 않는다. 즉, 행렬 A의 고유치와 전치행렬AT의 고유치는 동일하다. • 역행렬의 고유치는 원래 행렬의 고유치의 역수가 된다. • 행렬 A의 모든 고유치의 곱은 A의 행렬식과 같다. • 서로 다른 고유치와 관련된 고유 벡터는 선형독립이다. • 실수 대칭 행렬의 고유 벡터는 서로 직교한다. • 실수 대칭 행렬의 고유치 또한 실수이다. • 만약 A가 양의 정부호 행렬이라면 모든 고유치는 양수이다.
행렬 대수 - 선형변환 선형 변환이란 벡터공간XN으로부터 벡터공간 YM상으로 매핑하는 것을 말하며, 행렬로는 다음과 같이 표현된다. 벡터 x ∈ XN 가 주어질 때, YM 상에 대응되는 벡터 y 는 다음과 같이 계산된다. 선형 변환이 이루어지는 두 벡터 공간의 차원을 같을 필요는 없다. 패턴인식에서는 선형변환을 통하여 특징벡터의 차원을 축소하는데 이용한다. 선형변환 행렬이 정방 행렬 A이고AAT=ATA=I 일 때, 정규직교 한다고 말한다. 정규직교이면 AT = A-1이다. 특히 정규직교 변환하게 되면 아래와 같이 벡터의 크기를 보존하는 성질을 가짐을 알 수 있다. 이때, 정규직교 변환의 행 벡터(a1,a2,…,aN)는 정규직교 기저벡터집합을 형성한다.
행렬 대수 - 선형변환 주어진 행렬 A가 선형 변환이라면, 고유벡터(eigenvector)는 벡터공간에서의 불변( invariant ) 방향을 나타낸다. A에 의한 변환 시에, 고유벡터(eigenvector) v 로 정의되는 방향에 놓인 어떤 점들도 그대로 그 방향으로 놓이게 되며, 그 크기는 해당하는 고유치(eigenvalue) 로 곱해지게 된다. 예를 들어, Z 축에 대하여 3차원 벡터를 회전하는 변환은 벡터 [0 0 1]을 유일한 고유 벡터로 같게 되며 해당하는 고유치는 1이 된다.
MATLAB exercise – Vectors • >> A = [ 3; 2; 5; 4 ] • >> A’ • >> norm(A) • >> B = 3*A • >> dot(A,B) • >> G1 = [1 2 3 4], G2=[5 6 7 8] • >> G1*G2’ • >> H = [1;2;3;4], J=[5:6:7:8] • >> H’*J Ex) 주어진 벡터 a=[1 9 3 7 5] 의 크기를 구하시오. Ex) 주어진 벡터 b=[1 3 5]’ 와 c=[2 4 6]’의 내적을 구하시오.
MATLAB Examples – Matrices >> A = [ 1 0 0; 0 1 0; 0 0 1]>> trace(A)>> det(A)>> eye(4,4)>> zeros(5,6)>> ones(3,5)>> v = [ 2 4 6 0 9 3 ]; diag(v)>> A = [ 1 3 5; 2 4 7; 3 9 4 ]>> B = [ A, zeros(3,2); zeros(2,3), eye(2)]>> [U D] = eig(B) Ex) 주어진 행렬 a=[ 1 2 3; 4 5 6; 7 8 9 ] 의 트레이스, 행렬식, 역행렬, 고유치 및 그에 해당하는 고유벡터들을 구하시오. 그리고 b=a’에 대한 값들도 구해보시오. Ex) 주어진 행렬 a=[ 1 0 0 0; 0 2 0 0; 0 0 3 0; 0 0 0 5] 의 트레이스, 행렬식, 역행렬, 고유치 및 그에 해당하는 고유벡터들을 구하시오. Ex) 주어진 행렬 a=[ 1 2 3; 2 1 2; 3 2 1 ] 의 트레이스, 행렬식, 역행렬, 고유치 및 그에 해당하는 고유벡터들을 구하시오.