수학/인공지능을 위한 선형대수

13. Orthogonal Projection 2

공부중인학생 2021. 11. 17. 01:32

이전에 이어서 Orthogonal Projection에 대한 설명이 이어집니다.

 

 

마지막을 보면 otrhonormal한 U를 $UU^Tb$로 표기를 바꿔줬습니다. 즉 $b$를 $u_1, u_2$라는 orthonormal vector로 만들어지는 span 평면에 orthogonal projection 시킨 값을 구할 수 있는 또 다른 형태의 선형변환인 것입니다.

 

만약 $u_1, u_2$가 orthonormal 하다면 $y = \frac {y \dot u_1}{u_1 \cdot u_1} u_1 + \frac {y \dot u_2}{u_2 \cdot u_2} u_2$에서 밑항이 사라지게 됩니다. (길이가 1)

 

 

 

여기서 y가 아닌 b를 넣어주게 되면 $(u^T_1 b)u_1$에서 $u_1$을 행 벡터로 바꾸고 b와 곱해서 스칼라 값을 만들고 그것을 $u_1$에 곱해주는 형태가 됩니다. 결합 법칙을 사용하여 내적 순서를 바꾸게 되면 행렬이 만들어지게 됩니다.

 

- 증명과정에서 이러한 변형이 많이 나옵니다.

 

orthonormal할 때는 projection 할 때 다른 벡터에 영향을 받지 않지만 그렇지 않다면 다른 벡터에 영향을 받아서 수선의 발을 내렸을 때 수직이 아닐 수 있습니다. 그러면 projection이 다른 벡터를 가리키는 방향으로 삼각형을 만들어서 진행해야 합니다. 방향이 비슷하면 작은 노이즈나 오차에도 큰 오차가 발생하게 됩니다.

 

- 벡터(특성)이 비슷하면 작은 오차에도 값이 확확 바뀐다.

- 그럼 test data에서 좋은 성능이 나오지 않습니다.

 

 

Ridge

 

$\hat{x} =( A^TA + \gamma I)^{-1} A^Tb$ 로 이전과 다르게 matrix에 다른 요소를 추가했습니다. 감마값은 다음과 같이 대각 원소에 더해줍니다.

 

 

$UU^Tb$에서 $UU^T$에 감마를 더해주는 형태입니다. 감마는 스칼라이니 identity matrix에 곱하면 대각 성분만 감마값인 행렬이 나오게 됩니다. 이렇게 되면 아까 비슷한 feature vector가 있더라도 그 feature vector를 수직에 가깝게 만들어 줄 수 있습니다.

 
$[10, 1], [8, 3]$ 다음과 같이 방향이 비슷한 벡터에 감마를 더해줍니다. 이때 x축, y축에 따로 더해집니다. 감마가 5라고 하면 $[15, 1], [8, 8]$ 같이 첫 번째 벡터는 x축에 더 붙고 두 번째 벡터는 y축에 더 붙게됩니다.
 
 
- 대각 성분에만 더해져서 이런 효과가 나타나는 것 같습니다.
 
- 두 featrue vector가 비슷하면 (Linear dependent) 솔루션이 불안정해 질 수 있는데 그것을 독립적으로 어느 정도 벌려주는 것이 Ridge의 기능입니다.
 
 

Linear classifier

 

키와 몸무게를 사용하여 과체중을 분류하는 함수가 $weight \times 2 - height$라고 해봅시다.

 

 
 
 
붉은색 대각 직선이 과체중 분류 함수이고 빨간색 점이 새로운 데이터 입니다. 우리의 함수가 저 데이터를 포함하지 않는다고 하더라도 저 데이터로 부터 수선의 발을 내려 어느정도 예측하는 것이 orthogonal projection을 이용한 것입니다.