4장. 선형대수_벡터와 행렬
Updated:
선형대수
- 벡터와 행렬의 특성과 관계, 연산에 대하여 다루는 학문
- 컴퓨터 비전과 인공지능 분야에서 두각을 나타낸다
벡터
- 숫자의 나열로 이루어진 자료형
-
순서 중요
- 행벡터
x= [x1, x2, x3 .. ,xn]
- 열벡터
x = [x1]
[x2]
[x3]
[. ]
[. ]
[. ]
[xn]
벡터의 연산
더하기
[1] [4] [1+4] [5]
[2] + [5] = [2+5] = [7]
[3] [6] [3+6] [9]
스칼라 곱
- 스칼라: 벡터, 행렬과 달리 그냥 하나의 값을 가지는 수
[4] [2*4] [8]
2 [5] = [2*5] = [10]
[6] [2*6] [12]
내적
- 벡터를 원소별로 곱한 후 그 합을 구하는 연산
[4]
[1 2 3] * [5] = 1*4+2*5+3*6 = 32
[6]
전치
- 행벡터 -> 열벡터 or 열벡터 -> 행벡터고 변화
[1] [1 2 3]^T = [2] [3] or [1]^T [2] = [1 2 3] [3]
행렬
- m * n의 형태로 행과 열로 이루어진 자료형
- 벡터의 확장 개념
행렬의 연산
더하기
- 행렬의 크기가 일치해야 함
[1 2] [7 8 ] [1+7 2+8 ] [8 10]
[3 4] + [9 10] = [3+9 4+10] = [12 14]
[5 6] [11 12] [5+11 6+12] [16 18]
스칼라 곱
[1 2] [2*1 2*2] [2 4 ]
2[3 4] = [2*3 2*4] = [6 8 ]
[5 6] [2*5 2*6] [10 12]
곱하기
- AB != BA (순서 중요)
[1 2 3] * [1 2]
[4 5 6] [3 4]
[5 6]
= [(1*1)+(2*3)+(3*5) (1*2)+(2*4)+(3*6)]
[(4*1)+(5*3)+(6*5) (4*2)+(5*4)+(6*6)]
= [22 28]
[49 64]
성분곱
- 행렬의 크기가 일치해야 함
[1 2] * [1 -1] = [1*1 2*-1] = [1 -2]
[3 4] [1 -1] [3*1 4*-1] [3 -4]
여러가지 행렬
정사각행렬
- 행과 열의 수가 같은 행렬
[1 2 3]
[4 5 6]
[7 8 9]
삼각행렬
- 주대각선을 기준으로 어느 한 쪽이 모두 0인 행렬
[1 2 3] [1 0 0]
[0 5 6] or [4 5 0]
[0 0 9] [7 8 9]
대각행렬
- 주대각선을 제외한 모든 원소가 0인 행렬
[1 0 0]
[0 5 0]
[0 0 9]
단위행렬
- 주대각선의 모든 원소가 1인 대각 행렬
[1 2] * [1 0] = [1 2]
[3 4] [0 1] [3 4]
- 단위행렬을 곱하면 그대로 나온다
전치행렬
- 주대각선을 기준으로 뒤집은 행렬
[1 2 3]^T [1 4 7]
[4 5 6] = [2 5 8]
[7 8 9] [3 6 9]
대칭행렬
- 원래 행렬과 전치 행렬이 동일한 행렬
[1 2 3]^T [1 2 3]
[2 4 5] = [2 4 5]
[3 5 6] [3 5 6]
역행렬
- 행렬곱의 역원
-
xA = y -> x = yA^-1
- ex) 2*2행렬의 역행렬 계산
A = [a b]
[c d]
A^-1 = 1/(ad-dc) * [d -b]
[-c a]
-
행렬식 => ad-bc
- ad-bc => 0이면 분모가 0이 되기 때문에 역행렬을 구할 수 없다
- 역행렬이 존재하는 행렬을 가역행렬
- 존재하지 않는 행렬을 비가역행렬
행렬과 연립방정식
역행렬을 이용하여 해 구하기
[1 2 ] * [x] = [1]
[3 -1] [y] [0]
[x] = [1 2 ]^-1 * [1]
[y] [3 -1] [0]
= -1/7[-1 -2] * [1]
[-3 1 ] [0]
= -1/7[-1 -3] = [1/7]
[3/7]
컴볼루션 연산
- 합성곱 연산이라고도 한다
- 필터 개념
-
컴퓨터 비젼의 기본연산
-
합성곱 후 합 연산 ``` [0 1 1 1] convolution [1 -1] = [-1 -1 0] [0 0 1 1] [1 -1] [ 0 -1 0] [0 0 0 1] [ 1 0 -2] [1 0 0 1]
가우시안 필터
- 이미지를 흐리게 만드는 효과
소벨 필터
- 이미지의 외곽선을 따는 효과
Leave a comment