벡터의 표현
고등 교과과정에서의 정의
n벡터는 크기와 방향을 가진 물리량으로 다음과 같이 표현될 수 있다.
좌표계 없이 표현
- v : 화살표로 표현
- v의 크기 : 화살표의 길이 측정
- v의 방향 : 화살표의 방향 측정
좌표계 도입하여 표현
- v = ( v₁, v₂, ..., vn )
- v의 크기
- v의 방향
벡터의 내적
좌표계 없이 표현
u * v = ||u|| ||v|| cosΘ
좌표계를 도입해 표현
u * v = u₁v₁ + u₂v₂ + ... + unvn
두 벡터 u, v간 내적이 0이면 두 벡터는 직교(orthogonal)이다.
u * v = 0 ⇔ u⊥v
u방향으로의 전진은 v 방향에서 전혀 측정되지 않는다. 그 반대도 마찬가지이다.
투영(projection)
두 벡터 u, a가 있을 때, 벡터 u를 a위에 투영한 벡터를
라 하고 다음과 같이 구한다.
길이 방향 기저 a에 대한 좌표값
벡터 u를 a 위에 투영하고 남은 보완 벡터 (complement vector)는
이다.
이 때, 투영 벡터와 보완 벡터는 직교한다.
또, 투영 벡터와 보완 벡터를 더하면 원래의 벡터로 돌아온다.
직교행렬(Orthogonal Matrix)
직교행렬이란? 주어진 행렬의 모든 열벡터가 서로 직교하는 행렬을 말한다.
ex)
| 2 2 -4 |
| 2 1 7 |
| 6 -1 -1 |
정규직교행렬(orthonormal matrix)이란? 주어진 행렬이 직교행렬이고 모든 열벡터의 크기가 1인 행렬이다.
선형시스템에서의 직교행렬 이용
선형시스템 Ax = b에서 행렬 A가 직교행렬이면, 해 x는 역행렬 A^-1의 계산 없이 다음과 같이 구할 수 있다.
x의 i번째 요소는 투영으로 계산할 수 있다. 즉, 벡터 b를 행렬 A의 각 열벡터 ai에 투영한 연산
으로부터
임을 계산할 수 있다.
그리고 x의 i번째 요소와 j번째 요소의 계산은 독립적이므로 x의 계산은 병렬처리가 가능하다.
ex)
| 1 4 | | x₁ | = | 6 |
| -2 2 | | x₂ | | -2 |
x₁ = 1*6 + (-2)*(-2) / 1^2 + (-2)^2 = 10 / 5 = 2
x₂ = 4*6 + 2*(-2) / 4^2 + 2^2 = 20 / 20 = 1
선형시스템에서 정규직교행렬(=회전행렬)의 이용
x의 i번째 요소는 내적(inner product)로 계산할 수 있다. 즉, 벡터 b를 행렬 A의 각 열벡터 ai에 투영한 연산
로부터
xi = b*ai
임을 계산할 수 있다.
이 또한 마찬가지로 병렬처리가 가능하다.
QR 분해 : A = QR 주어진 행렬에서 정규직교행렬 추출
QR 분해란? 아래의 형태를 갖는 두 행렬의 곱으로 나누는 행렬분해이다.
A Q R
| * * * | | * * * | | * * * |
| * * * | = | * * * | | 0 * * |
| * * * | | * * * | | 0 0 * |
Ax = b => (QR)x = b => Q(Rx) = b => Qy = b (단, Rx = y )
선형시스템을 다음과 같이 두 단계로 간단히 해결할 수 있다.
1) 내적(inner product) : y 구하기
Q y = b
| * * * | | y₁ | | * |
| * * * | | ... | = | * |
| * * * | | yn | | * |
2) 후방대치법(Back-substitution) : x 구하기
R x = y
| * * * | | x₁ | | y₁ |
| 0 * * | = | ... | = | ... |
| 0 0 * | | xn | | yn |
QR 분해는 그람-슈미트 과정(Gram-Schmidt process)을 행렬로 코드화한 것이다.
- Q : 행렬 A에서 정규직교성을 추출한 행렬
- R : 행렬 A에서 정규직교성 추출 후 남은(residual), upper triangular matrix(상삼각행렬)
QR 분해는 어디에 활용되는가?
- 빠른 계산 : 선형시스템 Ax = b의 해를 구할 때 정규직교행렬 Q를 이용한 계산 부분은 병렬처리로 빨리 계산할 수 있다. R은 병렬처리할 수 ㅇ벗다.
- b가 자주 업데이트되는 경우 : 선형시스템 Ax = b에서 행렬 A는 고정되어 있고, b는 자주 변하는 문제가 있을 때 미리 QR로 분해해두면 b가 업데이트될 때마다 해 x를 실시간으로 구할 수 있다.
QR 분해 vs LU 분해
- LU 분해는 병렬처리할 수 없다.
- QR 분해는 Q 행렬이 꽉찬 구조를 가진 행렬이라 메모리 사용량이 많다.
특이값 분해(SVD, Singular Value Decomposition)
Amxn = Umxm Dmxn (V^T)nxn
| * * * | | * * * * | | * 0 0 | | * * * |
| * * * | = | * * * * | | 0 * 0 | | * * * |
| * * * | | * * * * | | 0 0 0 | | * * * |
| * * * | | * * * * | | 0 0 0 | | * * * |
행렬 U, D, V는 다음과 같은 의미가 있다.
- U : m차원 회전행렬 (정규직교행렬)
- D : n차원 확대축소 (확대축소 크기에 따른 정렬 형태)
- V : n차원 회전행렬 (정규직교행렬)
ex)
그림출처 : 프로그래머스 스쿨
U, D, V의 열벡터를 순서대로 p개 취한다면, 강한 응집성을 가지는 p개의 방향으로 수선의 발을 내린 A의 근사치 A'를 재구성할 수 있다. (근사치를 취한 값도 원래의 행렬과 똑같은 형태를 띄게 되지만, 의미 있는 정보만이 남아있게 된다.)
그림출처 : 프로그래머스 스쿨
주성분분석(Principal Com ponent Analysis, PCA)
주성분분석이란? 데이터의 공분산행렬(covariance matrix)에 대한 고유값 분해에 기반을 둔 직교분해이다.
K개의 n차원 데이터
가 있을 때, 데이터의 중심 m과 공분산행렬 C는 다음과 같이 구한다.
공분산행렬에 대한 주성분분석은 아래와 같다.
Cnxn = Wnxn Dnxn (W^T)nxn
| * * * | | * * * | | λ₁ 0 0 | | * * * |
| * * * | = | * * * | | 0 ... 0 | | * * * |
| * * * | | * * * | | 0 0 λn | | * * * |
- W : n차원 회전행렬
- D : n차원 확대축소
집합(Set)
연산에 닫혀 있는 집합
집합이 연산이 닫혀 있다는 것은? 집합에서 임의의 원소를 뽑아 연산을 수행한 결과가 여전히 집합의 원소로 있다면, 해당 집합은 연산에 닫혀 있다고 한다.
ex)
{ x|x ∈ R } 실수 집합
위 집합은 덧셈 연산과 곱셉 연산 모두 닫혀 있다.
{ -1, 0, 1 }
위 집합은 덧셈 연산에는 닫혀 있지 않지만 곱셈 연산에는 닫혀 있다.
공간(space)
공간이란? 두 연산에 닫혀 있는 집합
- 덧셈 연산에 닫혀 있다.
- 스칼라 곱 연산에 닫혀 있다.
모든 n벡터 집합 R^n은 n차원 벡터 공간(vector space)이라 부를 수 있다.
열공간(Column Space)
행렬 A의 열벡터들에 대한 가능한 모든 선형조합의 결과를 모아 집합으로 구성할 수 있다. 이 집합을 열공간이라 하고 다음과 같이 표기한다.
col(A)
- Consistenent Linear System
- b ∈ col(A) 만족
- Inconsistent Lienar System
- b ∈ col(A) 불만족
최소제곱법(least squares method)
최소제곱법이란? 해가 없음에도 불구하고 할 수 있는 최선을 구하는 것이다.
행렬 A가 정의하는 열공간에서 목표 b를 만들 수 없을 때, 가장 b와 유사한 벡터는 열공간에 투영한 지점일 것이다.
즉, 달성가능한 최선의 목표 proj_wb를 생각할 수 있다. (이제 ^는 윗 첨자 _는 아랫첨자를 표시하는데 사용하겠다...)
최소제곱법은 원래의 선행시스템 Ax = b가 아닌 다음의 선형시스템을 해결한다.
Ax' = b' (단, b' = proj_wb)
이 방법은 목표 b와 달성가능한 목표 b'의 차이를 나타내는 벡터 ( b - b' )의 제곱길이를 최소화시키는 의미를 가지기 때문에 최소제곱법이라 불리운다.
최소제곱법 해를 구하는 법
주어진 선형 시스템의 양변에 전치행렬 A^T를 곱하면 최소제곱법의 해룰 구할 수 있다.
Ax = b
⇒ A^T Ax' = A^Tb
⇒ x' = ( A^T A )^-1 A^Tb
최소제곱법으로 구한 해는 원래의 선형시스템을 만족하는 해는 아니나, 다음을 만족하는 근사해가 된다.
Ax' = proj_wb
최소제곱법 응용
2차원 공간에 m개의 정점 (({(x_i, y_i)}^m)_i=1)이 그림과 같이 있을 때, 이를 잘 설명할 수 있는 직선 y = mx + b를 구하는 문제를 생각해 보자. 이를 선형회귀(linear regression) 문제라 한다.
선형회귀 문제는 다음과 같이 최소제곱법으로 풀 수 있다.
1) 선형시스템 구성 : 직선이 각 정점을 모두 지나간다고 가정하고 선형시스템 Ax = b 구성 (단, 해는 존재 X)
2) 최소제곱법 적용 : A^TAx' = A^Tb를 생각하고, x' = | m' | 를 구한다.
| b' |
통계학(statistics)
통계학이란? 데이터 수집(collection), 구성(organization), 분석(analysis), 해석(interpretation), 표현(presentation)에 관한 학문
통계학의 구분
- 기술통계학 (descriptive statistics) - 수집, 구성, 표현
- 추측통계학 (inferential statistics) - 분석, 해석
개념 정의
- 모집단 (population)
- 어떤 질문이나 실험을 위해 관심의 대상이 된느 개체나 사건의 집합
- ex) 전교 남학생의 키
- 모수 (parameter)
- 모집단의 수치적 특성
- ex) 키의 평균
- 표본 (sample)
- 모집단에서 선택된 개체나 사건의 집합
도수(Frequency)
도수란? 어떤 사건이 실험이나 관찰로부터 발생한 횟수
표현 방법
- 도수분포표 (Frequency Distribution Table)
- 막대그래프 (Bar graph)
- 질적 자료
- 히스토그램 (Histogram) (막대그리프와 비슷한 형태지만 순서가 중요하고, 막대끼리 띄워진 부분이 없음)
- 양적 자료
상대도수
도수를 전체 원소의 수로 나눈 것
줄기-잎 그림
양적 자료를 줄기와 잎으로 구분하는 것이다.
그림출처 : www.safetygo.com/xe/index.php?mid=column&listStyle=viewer&category=392&document_srl=12470
그림에 나타난 데이터는 18, 19, 19, 20, 20, 20, 21 ... , 61, 64이다.
분포도와 데이터값을 바로 알 수 있다.
평균 (mean)
전체 데이터를 더한 후 데이터의 갯수만큼 나눈 것
x₁ + x₂ + ... + x_n / n = 1/n (n(sigma)i=1)x_i
모평균 μ (population mean)
모집단 전체 자료일 경우
표본 평균 xbar
모집단에서 추출한 표본일 경우
중앙값(Median)
평균의 경우 극단 값의 영향을 많이 받는다. 이를 보완하기 위한 것이 중앙값이다.
중앙값이란? 주어진 자료를 높은 쪽 절반과 낮은 쪽 절반으로 나누는 값, 자료를 순서대로 나열했을 때 가운데 있는 값을 의미
자료의 수가 n일 때,
n이 홀수면 (n+1)/2번째 자료값
n이 짝수면 n/2번째와 n/2+1번째 자료값의 평균
분산 (Variance)
편차의 제곱의 합을 자료의 수로 나눈 값이다. (편차란? 값과 평균의 차이)
자료가 모집단일 경우는 모분산(population variance)
σ^2 = 1/N(N(sigma)i=1)(x_i - μ)^2
자료가 표본일 경우는 표본분산(sample variance) scipy 모듈의 분산은 표본분산을 이용하는 것이다.
s^2 = 1/n-1(n(sigma)i=1)(x_i - xbar)^2
표준편차 (Standard Deviation)
분산의 양의 제곱근이다.
모표준편차(population standard deviation)
σ = root(1/N(N(sigma)i=1)(x_i - μ)^2)
표본표준편차(sample standard deviation)
s^2 = root(1/n-1(n(sigma)i=1)(x_i - xbar)^2)
범위(Range)
자료를 정렬하였을 때 가장 큰 값과 가장 작은 값의 차이
사분위수 (Quartile)
전체 자료를 정렬했을 때 1/4, 1/2, 3/4 위치에 있는 숫자
사분위범위 (IOR, interquartile range)
Q₃ - Q₁
z-score
어떤 값이 평균으로부터 몇 표준편차 떨어져있는지를 의미하는 값
모집단의 경우
z = x - μ / σ
표본의 경우
z = x - xbar / s
'AI > KDT 인공지능' 카테고리의 다른 글
[05/03] 인공지능 수학 - 추정, 검정, 엔트로피 (0) | 2021.05.03 |
---|---|
[04/29] 인공지능 수학 - 확률과 확률분포 (0) | 2021.04.29 |
[04/27] 인공지능 수학 - 미적분 (0) | 2021.04.27 |
[04/26] 인공지능 수학 - 가우스 소거법 (0) | 2021.04.27 |
[04/26] 인공지능 수학 - 선형 시스템 (0) | 2021.04.26 |