[선형 대수학]벡터와 행렬

기초수학 2013. 2. 6. 17:36

1. 벡터 이론

1)주요 개념와 용어

 

벡터(vector)

-크기와 방향을 갖는 어떠한 물리량

-패턴인식에서 인식 대상이 되는 객체가 특징으로 표현되고, 특징은 차원을 가진 벡터(열 벡터)로 표현 :특징벡터(feature vector) [[1 x N : 행 벡터, M x1 : 열 벡터, 1 x 1 : 스칼라]]

                     

-행렬 A의 각 성분(entry)은 로 표현

 

백터의 전치(transpose)

-행과 열을 바꾼 행렬 (Nx1행렬을 1xN으로, 혹은 1xN행렬을 Nx1행렬로)

 

 

벡터의 크기(norm)

-원점에서 벡터 공간상의 한 점까지의 거리

 

 

 

단위 벡터(unit vector)

-벡터의 크기가 1인 벡터

-만약 벡터 v가 영(0)이 아닌 벡터라면 v방향의 단위 벡터 u는 다음과 같이 구함 :벡터의 정규화(normalization)

 

 

스칼라 곱

-임의의 벡터에 임의의 실수(스칼라) 를 곱하는 것

 

 

내적(dot product or inner product)

-차원이 동일한 두 개의 벡터 A, B에 대하여 성분별로 곱하여 합하는 것

-내적의 결과는 실수 스칼라가 됨

 

-두 벡터 사이의 각 가 주어질 경우의 내적 계산

 

 

외적(cross product)

-소행렬식을 이용한 determinent 구하는 방법

 

수직사영(vertical projection)

 

 

선형 결합(linear combination, 1차 결합)

-벡터 집합 를 스칼라 계수 집합 과의 곱의 합으로 표현할수 있을 때, 벡터 y를 벡터 x의 선형 결합이라고 함

 

 

선형 종속(linearly dependent), 선형 독립(linearly independent)

-벡터의 집합 중 적어도 하나를 다른 벡터들의 선형 결합으로 표현할 수 있다면, 이 벡터 집합은 "선형 종속" 이라고 함

-위 식을 만족하는 유일한 해가 라면 벡터 집합은 "선형 독립" 이라고 함

 

기저 집합(baseis set)

-행렬 Nx1로 표현되는 모든 벡터를 표현할 수 있는 벡터의 집합

 

유클리디안 거리

 

2.행렬 대수

-M(i)개의 행과 N(j)개의 열을 가진 실수 혹은 복소수로 이루어진 사각형 블록

 

-

: i번째 행과 j번째 열의 성분/원소

 

1)행렬의 종류

 

전치(transpose) 행렬

-원래 행렬(A)의 행과 열을 바꾸어 놓은 행렬

 

-

전방(square)행렬

-행의 수와 열의 수가 동일한 행렬

-역행렬, 행렬식, 고유식 계산은 모두 정방행렬인 경우만을 대상으로 함

 

대각(diagonal) 행렬

-행렬의 대각 성분을 제외하고는 원소가 모두 영인 행렬

 

-스칼라 행렬 : 대각 성분이 모두 같고 비대각 성분이 모두 0인 정방행렬

-상삼각 행렬 : 대각 성분 아래 성분이 모두 0인 정방행렬

-하삼각 행렬 : 대각 성분 위 성분이 모두 0인 정방행렬

 

항등(identity)행렬(단위행렬)

-대각 성분이 모두 1이고 그 밖의 성분이 모두 0인 정방행렬

 -항등행렬은 행렬 대수에서 1과 같은 역할을 하기 때문에 행렬의 곱셈 결과에 영향을 주지 않으면서 임의로 삽입 또는 삭제할 수 있음

 

대칭(symmetric)행렬

-대각선을 축으로 모든 성분이 대칭되는 행렬

-

행렬 행렬이 같기 때문에 이는 대칭행렬

 

영 행렬

-행렬 구성 원소가 모두 0인 행렬

-행렬 대수에서 0과 같은 역할

 

직교(orthogonal) 행렬

-주어진 행렬 A가 정방행렬일 때 를 만족하는 행렬

-요인 분석, 주성분 분석, 판별 분석 등에서 널리 사용

 

 

2)행렬의 곱셈

-행렬 A의 열의 수와 행렬 B의 행의 수가 같을 경우에만 곱셈이 가능

곱셈의 결과 (행렬 A의 행의 수) x (행렬 B의 열의 수)의 크기의 행렬

 

-

 

3)행렬의 트레이스 tr(A)

-정방행렬에서 대각 성분의 합

-행렬의 고유값 문제에서 고유근을 구할 때 매우 중요한 역할을 함

 

4)역행렬

 

-

-

-행렬 A가 정방행렬이어야 함

-행렬식의 값이 0이 아니어야 함

 

5)행렬식 (혹은 det(A)

-행렬을 어떠한 하나의 실수 값으로 표현한 것

-행렬식의 설질

-행렬식은 오직 정방행렬에서만 정의함

-구성 성분이 하나인 행렬의 행렬식은 그 성분 자체

-행렬식의 값은 하나의 상수, 즉 이므이의 실수

-n차의 행렬식 은 n개의 행과 열의 위치가 서로 다른 성분들의 곱의 합으로 표현

 -2x2 행렬에 대한 행렬식

 

-3x3 행렬에 대한 행렬식

 

 

6)고유값과 고유벡터

-통계학의 다변량 분석에서 많이 사용되는 주요 개념

-행렬 A가 nxn의 정방행렬이고, 인 벡터 가 존재할 때, 다음 관계를 만족하는 스칼라 를 행렬 A의 고유치(eigenvalue)라고 하고, 벡터 x 는에 대응하는 A의 고유 벡터(eigenvector)라고 함

 

 

7)선형 변환

-벡터 으로부터 벡터 상으로 매핑하는 것

-패턴인식에서 특징 벡터의 차원을 축소하는데 이용

 

 

 

 

 

참조:

1. 패턴인식 개론, 한빛미디어

2. Basic Mathematics for Pattern Recognition, 부경대학교, 2011

 

 

 

반응형

'기초수학' 카테고리의 다른 글

확률변수와 확률분포  (0) 2013.02.19
기초 통계와 확률 이론  (0) 2013.02.06

[MATLAB]자주 쓰는 명령어(계속 업뎃)

MATLAB 2013. 2. 5. 15:39

역행렬

B = inv(A) %B = A의 역행렬

 

제곱근

sqrt(A) %A.^(1/2)

sqrtm(A) %A^(1/2)

 

최대 값 찾기

max(A) %A의 각 열의 최대 원소 찾기

[y,i] = max(A) %벡터 y에A의 각 열의 최대값 표시

 

행렬식(determinabt)

det(A)

 

대각합(trace)

trace(A) %정방행렬에서 대각 성분의 합

 

대각행렬

diag(3)

 

0 으로 구성된 행렬

zeros(3)

zeros(2,1) %2행1열 0행렬


1 으로 구성된 행렬

ones(3)

응용

z=ones(3);

z=z*k; %k 값으로 구성된 행렬


A=[s:n:e] %s에서 e까지 n을 더한값으로 구성


단위 행렬(identity matrix)

eye(3)

 

평균

mean(A) %

 

분산()

var(A) %

 

표준편차()

std(A) %

 

공분산

cov(A) %

 

벡터의 전치(transpose)

A'

 

벡터의 크기

norm(A)

 

내적(dot product or inner product)

dot(A,B) %차원이 동일한 두 개의 벡터 A,B에 대하여 대응되는 성분별로 곱하여 합하는 것, 결과는 실수 스칼라

 

외적(cross product)

cross(A,B)

 

sin(A)

cos(A)

tan(A)

 

asin(A)  %Inver sine result in radians

acos(A) %Inver cosine result in radians

atan(A)  %Inver tangent result in radians

pi = 3.1416

rad2deg(A) = A*180/pi %Converts angles from radians to deg:min:sec vector format

deg2rad(A) = A*pi/180 %Converts angles from radians to degrees 

 

랜덤 수(random number)

rand(n,k) %랜덤 수 ~ 구간[0, 1]에서 균등 분포

A= a+(b-a).*rand(n,k) %a~b 사이의 값 발생, n:행, k열

예를 들어, -4~5사이의 3행 3열의 랜덤 수을 발생 시키려면

A= -4 + (5 + 4).*rand(3,3)

 

가우시안 랜덤 수(Gaussian random number)

randn(n,k) %Gaussian random number 를 발생기키는 함수, randn() 함수는 평균()이 0이고, 분산()이1인 가우시안 랜덤 수를 발생 시킨다.

예를 들어 평균이 3이고 분산이 9인 3행 4열 가우시안 랜덤 수를 발생시키려면

A= randn(3,4) * sqrt(9) + 3

 

randperm(k) %1:k 까지의 값들을 random 하게 나열한다.

 

axis equal %가로 세로 비율을 도일하도록 설정

 

dist(A,B') %유클리디안 거리 구하기

두 점 a=(a1,a2,a3,...,an), b=(b1,b2,b3,...,bn)의 유클리안 거리 공식은 아해와 같다.



반올림 함수

ceil()    % +방향으로 반올림

floor()   %-방향으로 반올림

round() % 가까운 정수로 반올림

fix()      % 0 방향으로 반올림


size(A)

size(A,dim) %dim = 1 -행, dim = 2 -열  


확장함수

repmat(A,2,3) %A는 배열을 확장 시키고자 하는 배열, 2행3열의 크기로 확장 시키는 함수


Diglog box

uigetdir %Standard dialog box for selecting a directory 

directory_name = uigetdir %opens a dialog box in the current directory displaying the default title.

directory_name = uigetdir('start_path') %opens a dialog box in the directory specified by start_path.

directory_name = uigetdir('start_path','dialog_title') %opens a dialog box with the specified title.

%uigetdir 은 다이로그박스에서 선택한 폴더의 경로를 반환해준다.


inputdlg %Create input dialog box

prompt = {'Enter matrix size:','Enter colorpam neme:'};

dlg_title = 'Input for peaks function';

num_lines= 1;

def = {'20','hsv'};


answer  = inputdlg(prompt,dlg_title,num_lines,def);





재배열

reshape(A,m,n) %A:변환할 배열, m:행,n:열로 변환


roipoly(); %Select polygonal region of interest.


scatter()


명암도 공간변환 rgb2gray 함수

filename = 'sistar.jpg';

color_image = imread(filename);


gray_image = rgb2gray(color_image);


figure(1);

subplot(1,2,1);

imshow(color_image );

title('컬러 영상');

subplot(1,2,2);

imshow(gray_image );

title('명암도 영상');

반응형