일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- NLU
- 알고리즘
- 유데미부트캠프
- AARRR
- MatchSum
- 스타터스부트캠프
- 사이드프로젝트
- 그래프
- pytorch
- 서비스기획
- 딥러닝
- SQL
- 토스
- 추천시스템
- 유데미큐레이션
- NLP
- 임베딩
- AWS builders
- 유데미코리아
- 취업부트캠프 5기
- 취업부트캠프
- 스타터스
- 서비스기획부트캠프
- 특성중요도
- BERT
- SLASH22
- sql정리
- 부트캠프후기
- 그로스해킹
- 데이터도서
- Today
- Total
다시 이음
선형 대수 정리(벡터, 행렬, 고유벡터,고유값) 본문
이 포스트는 밑바닥부터 시작하는 데이터 과학 이라는 오렐리 도서와 추가적인 정보를 정리한 내용입니다.
1. 벡터
대부분의 데이터는 벡터로 표현할 수 있습니다.
벡터를 표현하는 가장 간단한 방법은 숫자로 구성된 list로 표현하는 것입니다.
- 벡터의 덧셈, 뺄셈
배열의 각 성분끼리 덧셈과 뺄셈을 하게 됩니다.
- 벡터의 내적
벡터의 내적은 벡터 v가 벡터 w 방향으로 얼마나 멀리 뻗어가는지를 나타냅니다.
다른 관점에서는 벡터 v가 벡터 w로 투영된 벡터의 길이를 나타냅니다.
벡터의 각 성분별 곱한 값을 더해 준 값입니다.
- 벡터의 길이
L1 Norm 은 벡터 p, q 의 각 원소들의 차이의 절대값의 합
L2 Norm 은 벡터 p, q 의 유클리디안 거리(직선 거리) = 각 원소들의 차이의 제곱의 합에 루트를 취해주는 값
- 벡터 간의 거리
벡터의 뺄셈을 이용하여 벡터 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입니다. (단, v≠0).
그런데, (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 |