최소제곱법(1)

Temmie Chang (포인세티아)·2022년 3월 16일
0

3. Least Squares

선형방정식에서
방정식의 개수(데이터의 수) >>변수(feature)의 개수인 경우
= overdetermined system = solution이 없는 경우

상수벡터(b)의 span이 데이터의 개수의 차원(D)에 포함될 확률이 희박함

Inner Product(내적)

같은 차원에 존재하는 벡터 u, v에 대해서
벡터들의 elementwise로 곱셈을 해서 더한 것

uㆍv=u^t v
단순 element끼리의 곱이기 때문에
교환법칙, 결합법칙, 분배법칙이 성립한다.

선형 결합 후 내적 = 내적 후 선형 결합

자기자신과의 내적 = element 제곱의 합 = 원 방정식 꼴

Vector Norm(놈; 노름)

벡터의 길이, Normal의 명사형 Norm임 (표준)
자기자신의 내적의 square root
상수배한 벡터의 Norm은 원 벡터 Norm의 상수배와 같다.

Unit Vector (단위벡터)

Normalization (일반화)의 해당
벡터v에 대하여 벡터의 Norm으로 나눈값으로
벡터의 길이는 항상 1이된다.

Distance between Vectors in R^n

두 벡터간의 거리 = 벡터 차의 Norm을 구하면 됨

Inner Product and Angle Between Vectors

두 벡터가 만드는 각도
같은 차원의 두 벡터 u,v에 대해서 u,v의 내적은
u의 norm, v의 norm의 곱과 cosθ의 등식을 성립한다.
이로부터 θ를 구할 수 있다.
uㆍv= ||u|| ||v|| cosθ

Orthogonal Vectors

두 벡터가 이루는 각도가 수직이다
||u|| ||v|| cosθ에서 cos90 =0이므로
두 벡터의 내적은 항상 0이됨을 알 수 있다.

Least Squares (최소 제곱법)

인공지능에서 대부분의 경우 데이터의 수가 많으므로
선형대수를 통해 단순 해를 구하기는 어렵다.
해가 없을때 해에 근사한 값을 구해보자
어떤 것이 가장 괜찮은 근사해가 될 것인가.

만약 3개의 Feature가 있다면, 3개의 데이터를 통해 근사 해를 구하고
다른 데이터들을 계산해 실제값과 예측값의 차이를 통해 에러를 계산 가능

이런 방식을 통해 에러들의 합들을 구해서 (오차제곱합)
합이 가장 적어지는 해를 계산할 수 있다.
이런 방식을 통해
최적의 벡터 x_hat = argmin||b-Ax||를 구하게 된다.
(각 column들의 선형결합인 Ax, target인 b벡터)

2개의 column이 만드는 span인 평면 A에 대해서
b벡터가 해가 존재하지 않는 경우(평면 외부에 있다면)
평면 A와 점b간의 최단거리를 구하는 것이 오차의 최소값을 구하는 것이 되며
최단 거리는 평면에 수직인 경우라는 것을 알 수 있다.

평면에 수직인 경우 평면내 모든 벡터와 수직이라는 점을 알 수 있고
이 경우 점 b와 b에 평면에 수직인 점 b_hat을 이은 벡터
(b-b_hat)과 수직이라는 것과 같다.

때문에 평면상의 벡터 A와 b-b^hat(= b-Ax^hat)의 내적은 0이 된다.

Normal Equation (정규 방정식)

A^TAx^hat =A^Tb으로 나타남
x^hat 은 각 column들의 선형결합할때의 계수의 벡터 (기하학적인 수선의 발)

위의 minmum을 구하는 식을 위와같은 방정식으로 나타낼 수 있다.

위의 방정식의 해를 구하려면 역행렬을 구해야하고
만약 역행렬이 있다면(대각행렬의 차가 0이 아닐경우)

(위 식을 정리하는 과정에서 미분을 사용
각 column과 계수벡터 x를 각 계수벡터의 편미분으로 계산)
행렬 미분 자코비안 어쩌구 저쩌구 = 단순히 이해가 잘 안됨..

결론적으로 위와 같은 정규 방정식으로 나타낼 수 있다.

역행렬이 없는 경우

해가 없거나 무수히 많을 때에 역행렬이 없었음.
그러나 해가 없는 경우는 없다.
평면에 수선의 발을 내리지 못하는 경우 혹은
점 b와 평면 A의 거리가 최소가되는 경우가 없을 수는 없기 때문.

평면 A의 column이 lineare dependent한 경우
수선의 발을 표현하는 여러가지 계수들이 존재하면 해가 여러개일 수 있다.

일반적으로 역행렬이 존재하지 않는 경우는 잘 없음..
(어차피 EDA에서 dependent한 column들은 지워줌)
또한 열 파트에서 데이터가 많아지면 많아질수록 independent해지기 어려워짐

0개의 댓글