선형대수
스칼라(scalar), 벡터(vector), 행렬(matrix), 텐서(tensor)
iris data
붓꽃 한 송이 꽃잎 길이 = 스칼라
붓꽃 한 송이 꽃받침 길이•폭, 꽃잎 길이•폭 = 벡터
하나의 데이터 레코드 > 하나의 열
복수의 데이터 레코드로 표시할 때, 하나의 데이터 레코드 > 하나의 행
데이터 벡터가 예측 문제에서 입력 데이터로 사용되면 특징 벡터(feature vector)
모든 벡터는 기본적으로 열벡터이므로 행벡터를 열벡터를 전치연산하여 행벡터를 표현함
전치연산 T
주성분을 기준으로 행렬의 행과 열을 바꾸는 연산
행과 열 표기법
ci(열 벡터)는 행 길이가 N으로 고정이고, 열 길이가 1
rjT(행 벡터)는 열 길이가 M으로 고정이고, 행 길이가 1
영벡터
모든 원소가 0인 N차원 벡터는 영벡터라고 처음 표기
일벡터
모든 원소가 1인 N차원 벡터
정방행렬(square matrix)
행의 개수와 열의 개수가 같은 행렬
대각행렬
비다각 성분이 모두 0인 행렬 (대각성분은 0이든 아니든 상관없음)
항등행렬(identity, I)
모든 대각 성분의 값이 1인 대각 행렬
대칭행렬
전치연산을 통해 얻은 전치행렬과 원래의 행렬이 같은 행렬
(정방행렬만 대칭행렬이 될 수 있음)
브로드캐스팅: 1-벡터를 사용하여 스칼라를 벡터로 변환한 연산
데이터분석에서는 원래의 벡터 x가 아니라 그 데이터 벡터의 각 원소의 평균값을 뺀 평균제거(mean removed) 벡터
혹은 0-평균 벡터를 사용하는 경우가 많다
선형조합
벡터 / 행렬에 스칼라값을 곱한 후 더하거나 뺀 것을 벡터 / 행렬의 선형조합 > 크기는 변하지 않음
내적(inner product) (점으로 표기하는 경우도 있어 dot product라고 부르기도 함)
조건 1: 두 벡터 차원(길이)가 같아야 한다
조건 2: 앞의 벡터가 행 벡터고 뒤의 벡터가 열 벡터여야 한다
> 이때 내적의 결과는 스칼라값
가중합
벡터의 내적은 가중합을 계산할 때 사용됨
복수의 데이터를 단순히 합하는 것이 아니라 각각의 수에 어떤 가중치를 곱한 후 이 곱셈 결과들을 다시 합한 것
가중평균
가중합의 가중치 값을 전체 가중치 값의 합으로 나누면 가중평균
유사도
두 벡터가 닮은 정도를 정량적으로 나타낸 값
내적을 이용하면 코사인 유사도 계산 가능
0과 1 이미지를 각각 내적해보면 0x0, 1x1의 값이 0x1의 값보다 크다
선형회귀 모형
독립변수 x에서 종속변수 y를 예측
독립변수 벡터 x와 가중치 벡터 w와의 가중합으로 y에 대한 예측합 yhat을 계산하는 수식
제곱합
데이터의 분산이나 표준편차 등을 구하는 경우에는 각각의 데이터를 제곱한 뒤 이 값을 모두 더한 제곱합을 계산
행렬과 행렬의 곱셈
행렬 A 열 수와 행렬 B 행 수가 일치해야 가능
잔차
가중치 벡터 w 예측치는 이 가중치 벡터를 사용한 독립변수 데이터 레코드 즉 벡터xi의 가중합wTxi
이러한 잔찻값을 모든 독립변수 벡터에 대해 구하면 잔차 벡터 e
e=y-xw
잔차 제곱합(eTe)
잔차의 크기는 잔차 벡터의 각 원소를 제곱한 후 더한 잔차 제곱합(RSS)을 이용하여 구한다
이차형식
어떤 벡터와 정방행렬이 행벡터 x 정방행렬 x 열벡터의 형식이 되어있는 것
행렬 놈(norm) 벡터나 행렬의 크기 측정 방식
놈은 항상 0보다 크거나 같다
벡터의 놈의 제곱이 벡터의 제곱합과 같다
놈을 최소화하는 것은 벡터의 제곱합을 최소화하는 것과 같다
대각합(trace)
정방행렬에 대해서만 정의, 대각원소의 합
tr(a)
N차원 항등행렬의 대각합은 N
대각합의 값은 놈과 달리 음수가 될 수도 있다
A, B, C 세개의 행렬의 대각합을 구할 때, 최종적으로 대각합을 구하는 행렬만 정방행렬이기만 하면 된다
행렬식 (determinant)
정방행렬 A의 행렬식(determinant)은 det(A) det A 또는 |A|라는 기호로 표시
여인수 (cofactor)
이처럼 점점 크기가 작은 행렬의 행렬식을 구하다보면 스칼라인 행렬이 나오게 되는데 행렬식의 값이 자기 자신이 됨
행렬 크기에 따른 행렬식
선형연립방정식 (system of linear equation)
복수의 미지수를 포함하는 복수의 선형방정식
Ax=b
A: 계수행렬 (coefficient matrix) x: 미지수 벡터(unknown vector) b: 상수벡터(constant vector)
역행렬
정방 행렬 A에 대한 역행렬 (inverse matrix) A-1은 원래의 행렬 A와 다음 관계를 만족하는 정방행렬
역행렬은 항상 존재하는 것이 아님
역행렬이 존재하는 행렬을 가역행렬, 정칙행렬, 비특이 행렬
역행렬이 존재하지 않는 행렬을 비가역행렬, 특이행렬, 퇴화행렬
고유값 분해
고유벡터: 선형변환을 적용해도 방향이 변하지 않는 벡터
선형변환이 되어도 벡터의 방향이 반대든 동일하든 간다면 고유벡터 존재
예를 들어, 선형변환 A의 고윳값은 1과 3
선형변환했을 때 그 크기는 변하고, 방향이 변하지 않는 벡터가 있다고 할 때, 그 벡터의 크기는 각각 1배와 3배가 된다는 의미
x 벡터가 [1,1], [1,-1] 선형변환 A를 취해주면 그 방향은 변하지 않고 크기가 3배, 1배가 된다
고유값 분해는 정방행렬에만 사용가능하고, 정방 행렬 중에서도 일부 행렬에만 적용가능한 반면 특이값분해는 직사각형 행렬일 때도 사용 가능
최소자승문제
데이터의 수가 입력차원보다 크면 해가 존재하지 않는다. 이런 경우 사용하는 것이 최소자승문제
선형예측모형에서 좌변을 예측값, 우변을 목푯값이라고 생각한다면 100% 정확히 예측하지는 못했지만 상당시 비슷하게 예측한 값이라고 할 수 있다. 따라서 좌변과 우변의 차이를 최소화하는 문제로 바꿀 수 있다. 예측값과 목표값 차이를 잔차라고 한다.
A+는 행렬 A의 의사역행렬, 유사역행렬이라고 하는데 정방행렬이 아닌 다른 모양의 행렬에서는 역행렬 대신에 사용한다.
(Ax ≈ b라고 하면 완전히 같다고 할 수 없기때문에 유사역행렬 사용)