다시 이음

선형 대수 정리(벡터, 행렬, 고유벡터,고유값) 본문

채우기/밑바닥부터 시작하는 데이터 과학

선형 대수 정리(벡터, 행렬, 고유벡터,고유값)

Taeho(Damon) 2022. 9. 8. 19:29

 

이 포스트는 밑바닥부터 시작하는 데이터 과학 이라는 오렐리 도서와 추가적인 정보를 정리한 내용입니다.

 

 

1. 벡터

 

대부분의 데이터는 벡터로 표현할 수 있습니다.

 

벡터를 표현하는 가장 간단한 방법은 숫자로 구성된 list로 표현하는 것입니다.

 

 

- 벡터의 덧셈, 뺄셈

 

 배열의 각 성분끼리 덧셈과 뺄셈을 하게 됩니다.

 

- 벡터의 내적

 

벡터의 내적벡터 v가 벡터 w 방향으로 얼마나 멀리 뻗어가는지를 나타냅니다.

다른 관점에서는 벡터 v가 벡터 w로 투영된 벡터의 길이를 나타냅니다.

 

벡터의 각 성분별 곱한 값을 더해 준 값입니다.

벡터의 내적

- 벡터의 길이

 

L1 Norm 은 벡터 p, q 의 각 원소들의 차이의 절대값의 합

L2 Norm 은 벡터 p, q 의 유클리디안 거리(직선 거리) = 각 원소들의 차이의 제곱의 합에 루트를 취해주는 값

 

초록색(L2 norm) 그외(L1 norm)

 

 

- 벡터 간의 거리

 

벡터의 뺄셈을 이용하여 벡터 v와 벡터 w의 사이를 구하여 그 길이를 구합니다.

 

즉, 위의 √x제곱 + y제곱 식에서 (x-x1)제곱 + (y-y1)제곱 과 같이 변형하면 벡터 간의 거리를 구할 수 있습니다.

 

- 랭크(Rank)

 

벡터에서 선형 독립인 열들의 최대의 개수를 랭크라고 합니다.

 

선형 독립이란 벡터집합 S의 어떠한 열의 원소도 나머지 원소들의 선형결합으로 나타낼 수 없다는 뜻입니다.

 

선형 결합으로 열의 원소를 표현할 수 있는 경우는 선형 종속입니다.

 

 

여기서 행렬식(determinant)이 0 이면 선형독립이 아닙니다.

 

선형독립은 최대3개까지 입니다.

 

 

 

2. 행렬

 

행렬은 2차원으로 구성된 숫자의 집합입니다.

 

- 궤적(trace)

 

행렬의 대각 행렬들을 모두 더하는 것이 trace 입니다.

 

- 단위 행렬(unit matrix)

 

주대각선의 원소가 모두 1이며 나머지 원소는 모두 0인 정사각 행렬 입니다.

 

- 삼각행렬(triangular matrix)

 

주대각선을 기준으로 대각항의 위쪽이나 아래쪽 항들의 값이 모두 0인 경우를 의미한다.

 

- 대칭행렬(symmetric matrix)

 

행렬을 전치(transpose) 시켰음에도 같은 값이라면 그 행렬을 대칭행렬이라고 한다.

 

- 역행렬(Inverse matrix)

 

어떤 행렬 A와 곱했을 때 곱셈에 대한 항등원인 단위행렬이 나오게 하는 행렬입니다.

 

 

- 행렬식(Determinant)

 

정사각행렬에 스칼라를 대응시키는 함수의 하나로 쉽게 말하면 행렬을 하나의 수로 표현하는 것입니다.

 

행렬식 계산

 

그 외에도 행렬식은

 

(1) 역행렬이 있는지 확인하는 역할

(2) 새롭게 선형 변환된 벡터 공간의 크기 변화량을 나타냅니다.

 

(1) 과 같이 행렬식이 0인 경우는 역행렬을 가지지 않고 0이 아닌 경우에는 역행렬을 가집니다.

 

(2) X를 [x, y]T, [x, y, z]T 등과 같이 좌표를 나타내는 벡터라고 했을 때, 행렬 A를 X' = AX와 같이 사용하면 행렬 A는 입력좌표 X를 X'으로 변환시켜주는 일종의 선형변환(linear transformation)으로 해석할 수 있습니다.

 

이러한 관점에서 det(A)는 선형변환의 스케일(scale) 성분을 나타내는 값이다. 즉, 도형 P가 선형변환 A에 의해 P'으로 변환되었을 경우, 다음 수식이 성립합니다.

 

 

또한 determinant의 부호도 중요한 의미를 갖는데, det(A)>0이면 도형의 방향(orientation)이 보존되고 det(A)<0이면 도형의 방향이 보존되지 않습니다.

 

 

3. 고유벡터, 고유값

 

- 정의

 

고유값(eigenvalue)과 고유벡터(eigenvector)

 

행렬 A를 선형변환으로 봤을 때, 선형변환 A에 의한 변환 결과가 자기 자신의 상수배가 되는 0이 아닌 벡터를 고유벡터(eigenvector)라 하고, 이 상수배 값을 고유값(eigenvalue)라 합니다.

 

행렬 A의 고유벡터는 선형변환 A에 의해 방향은 보존되고 스케일(scale)만 변화되는 방향 벡터를 나타내고 고유값은 그 고유벡터의 변화되는 스케일 정도를 나타내는 값입니다.

 

 

- 고유벡터 찾기(분해) 조건

 

 모든 정방행렬이 고유값분해가 가능한 것은 아닙니다.

 

n x n 정방행렬 A가 고유값분해가 가능하려면 행렬 A가 n개의 일차독립인 고유벡터를 가져야 합니다.

 

 

- 일차독립(linearly independent) = 선형독립

 

위에서 알아본 것과 같이 벡터집합의 어떠한 열의 원소도 나머지 원소들의 선형결합으로 나타낼 수 없다는 뜻입니다.

 

 

- 고유벡터 분해 계산

 

고유값 방정식을 통해 위의 식을 도출할 수 있습니다.

 

우리가 구하고자 하는 고유값, 고유벡터(A-λE)v = 0 식을 풀어서 나오는 λ와 v입니다. (단, v0).

 

그런데, (A-λE)의 역행렬이 존재한다면 v는 항상 v = (A-λE)의 역행렬*0 = 0 만을 해로 갖게 됩니다.

 

고유벡터는 정의에 의해 영벡터가 아닌 백터여야 하므로 A-λE의 역행렬이 존재하지 않는 경우에만 존재할 수 있습니다.

 

따라서, 특성 방정식에 따라 고유벡터가 존재하기 위해서 det(A-λE) = 0 이어야 합니다.

 

 

- 예시

 

λ의 방정식이 몇차 방정식으로 나타는가에 따라서 고유벡터의 개수가 정해집니다.

 

λ는 고유값으로 해당 방정식을 풀어 고유값을 먼저 계산하고

 

(A-λE)v = 0

 

이 식에 대입하여 고유벡터를 계산할 수 있습니다.

 

이렇게 고유벡터를 계산하다보면 고유값에 의해 구해지는 식을 사용하여 고유벡터를 유추하기 때문에 애매하게 고유벡터를 찾는데 이것은 떤 행렬에 대해 고유값은 유일하게 결정되지만 고유벡터는 유일하지 않기 때문입니다.

 

 

'채우기 > 밑바닥부터 시작하는 데이터 과학' 카테고리의 다른 글

통계  (0) 2022.09.12
확률  (0) 2022.09.11