최소 제곱법(2)

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

Projection (사영)

해가 떴을때 나타나는 그림자의 모양이나 위치

Orthogonal projection

  • 수직일 때에 해당함

b -> b^hat = Ax^hat을 나타낼때
평면 space위에 점 b에 수직으로 내린 수선의 발의 위치

사영으로 나타 낼 수 있음

Orthogonal, Orthonormal Sets

어떤 차원에서 Orthogonal set으로 나타낼 수 있는
벡터들은 전부 서로 수직 = 내적이 0
ex) 3차원에서 x, y, z축
Orthogonal한 경우 당연하게 선형독립이다

Orthonormal = 정규화해준거 = 길이 1

두 개의 벡터가 주어지고 선형 독립이지만
서로 직교하지 않는 경우에
사영을 통해서 수직인 벡터들의 성분으로 나타낼 수 있다.

마치 수직선에서 직선을 cos, sin성분으로 변환하는 것과 같다.

이런 방법을 Gram-Schmidt process(그램-슈미츠 프로세스)
혹은 QR factorization이라고 한다.

두 벡터 v, u가 만드는 사영을 구하기 위해서는
{v dot u} over {||u||}를 사용해주면 된다.

더 차원이 큰 경우에서 projection을 구하는 경우
ex) 평면 = 두 orthogonal한 벡터 u1, u2의 span으로 봄
두 벡터 u1, u2에 각각 projection을 구해서 합할 수 있다

두 벡터는 완전히 선형 독립이기 때문,

'삼수선의 정리' : 3가지 수직 요소가 있을때, 2개 각도가 수직이면 나머지 하나도 수직이다

이와같은 방법을 통해, 차원이 오르더라도
차원의 Orthogonal sets가 주어져 있다면
각각의 벡터와의 사영을 통해서 전체의 사영을 구할 수 있다.

Transformation : Orthogonal Projection

Sum of Rank1 외적의 합 형태를 통해서
Orthogonal 벡터들의 열로 이루어진 행렬, 행으로 이루어진 행렬의 곱으로 나타낼 수 있다.

수직이 아닌 Projection인 경우도 있다.
각 column이 만드는 벡터를 생각하면
feature간 영향력이 전혀 없는 경우 서로 독립적이기 때문에
Orthogonal한 벡터 space를 만들겠지만
상관이 있다면 (ex 키/ 몸무게) 두 벡터의 방향이 유사하기 때문에 (선형 종속)
사영(계수) 크기를 굉장히 크거나 작게 만들 수도 있다.
-> 데이터의 결과를 상당히 바꿀 수 있음 : 정규화로 보정을 해줘야함
이 때 feature들이 독립적이지 않다면,
각 feature는 중복되는 정보를 가질 수 있다.

Ridge, Lasso

Ridge Regression r(x_1^2+x_2^2)
행렬의 정규화 항에 단위벡터를 더해줌

두 벡터가 만드는 각이 너무 작을때, 수직에 가깝도록 늘리는 과정

Gram-Schmidt Orthogonalization

두 벡터 v1, v2가 내적해서 0이 아닌 경우 = 수직이 아니다.
그렇다면 어떻게 수직으로 만들기?
-> v1을 v2에 사영해서, v1의 성분벡터 u1을 전부 뺀 u2을 구함

벡터가 더 많은 경우 이과정을 반복함으로써 Orthogonal sets들을 만들 수 있다.

이 과정을 통해 특정 열벡터로 이루어진 행렬은
Orthonormal 벡터와 QR Factorization한 행렬의 곱으로 분해할 수 있다.ㄴ

0개의 댓글