학습목표
이번 강의에서는 지난 시간에 이어서 Orthogonal Projection을 구체적인 예시와 함께 더 깊이 다뤄보는 시간을 가지겠습니다.
핵심 키워드
- 정사영(Orthogonal Projection)
학습하기
Orthogonal projection을 계산할 때, 주어지던 Basis vector들이 Orthonormal하다는 가정을 한 번 해봅시다. 그렇게 되면, 아래와 같은 수식을 적어나갈 수 있겠죠. 주의할 점은, 벡터간의 내적과, 행렬간의 곱을 잘 구분하시면서 진행하셔야한다는 것이겠죠. 쨋든, 이렇게 정리해나가면, 최종적으로 b^ = U*U^T*b라는 결과가 도출됩니다. 그리고 이는 선형변환이 되는 셈이죠.
즉, A = U = [u1, u2]가 Orthonormal columns일 때, A^T*A = Identity matrix가 되고, 때문에 저희는 b^ = U*U^T*b 로 간단히, 계산할 수 있게되는 겁니다.
첨언하자면, 어떤 두 개의 Feature가 있다고 가정해봅시다. 그리고 이 두 개의 Feature는 선형의존은 아니지만, 데이터의 분포가 굉장히 유사해요. 이럴 경우 두 개의 Col vector를 통해 계산한 Orthogonal projection이 어떻게 계산될까요. 거의 비슷한 기울기를 가진 두 개의 직선에 y가 각각 정사영되고, 각각의 값(u1_proj, u2_proj)들을 합산해서 계산하게 되겠죠. 그렇게 계산된 결과가 저희가 찾는 b^, 즉 b의 근사값일 텐데 이러면 각각의 값(u1_proj, u2_proj)들의 움직임에 굉장히 민감해지게됩니다. 좀 다른 범주를 갖는 값끼리 합산하면 모르겠는데, 너무 비슷한 값끼리 비교를 하니까요. 결론적으로, 선형의존은 아니지만 거의 선형의존인 어떤 Feature들로 b를 예측해야하는 모델을 만들 때, Least square method를 사용하게되면, 특정 Feature의 값이 조금만 변화하더라도 거기에 굉장히 큰 Coefficient를 할당하게 되고, 이는 좋지 못한 모델이라고 말할 수 있겠습니다. 때문에 Ridge, LASSO 라고 불리는 regression이 등장합니다. Ridge는 A^T*A 에 제약을 위해 rI를 더해준 식인데, 이렇게 하면, 2개의 Feature가 비슷한 벡터를 가질 때, 그 2개 벡터를 조금 더 수직에 가깝도록 벌려주는 역활을 하게됩니다.
또 사실 두 개의 Feature를 생각해볼 때, 이 두 개의 컬럼이 서로 직교하지 않으면, 아래의 그림과 같이, 2번 벡터로 y를 사영시킨 결과는 사실 1번 벡터와, 1번 벡터와 수직인 벡터의 선형결합으로 표현되겠죠. 이말은 2번 벡터에 사영시킨 정보는 1번 벡터의 방향을 갖는 정보를 내포하게 된다는 겁니다. 즉 어떤 정보가 중복되어 계산된다는 말입니다. 이상입니다.
'머신러닝 > [인공지능을 위한 선형대수]' 카테고리의 다른 글
고유벡터와 고유값 (0) | 2020.05.22 |
---|---|
그람-슈미트 직교화와 QR 분해 (0) | 2020.05.21 |
Orthogonal Projection 1 (0) | 2020.05.19 |
정규방정식 (0) | 2020.05.18 |
Least Squares와 그 기하학적 의미 (0) | 2020.05.17 |