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

13. Orthogonal Projection 2

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

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

 

 

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

 

만약 u1,u2가 orthonormal 하다면 y=yu˙1u1u1u1+yu˙2u2u2u2에서 밑항이 사라지게 됩니다. (길이가 1)

 

 

 

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

 

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

 

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

 

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

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

 

 

Ridge

 

x^=(ATA+γI)1ATb 로 이전과 다르게 matrix에 다른 요소를 추가했습니다. 감마값은 다음과 같이 대각 원소에 더해줍니다.

 

 

UUTb에서 UUT에 감마를 더해주는 형태입니다. 감마는 스칼라이니 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을 이용한 것입니다.