-
정사영 (orthogonal Projection) 이란? 그리고 Rasso의 이해머신러닝(MACHINE LEARNING)/선형대수(Linear Algebra) 2021. 5. 5. 00:37반응형
1. 정의
- 저번 포스팅을 보게 되면, 우리가 원하는 \(x\hat{} = (A^{T}A)^{-1}A^{T}b\) 로 표현이 가능했고, col A 공간에 있는 Ax 는 B 벡터를 colA 공간에 정사영으로 표현이 되므로 $$ b\hat{} = f(b) = Ax\hat{} = A(A^{T}A)^{-1}A^{T}b $$ 로 표현이 가능했다.
- 이제는 좀 더 일반적인 식을 살펴보자
2. 계산식
만약 2차원 평면에서의 벡터가 있다고 했을 때, \( y\hat{} = proj_{L}y = \frac{yu}{uu}u\) 로 표현이 되는데, 다음 그림을 보자.
- 그림을 보게 되면 y 라는 벡터를 Span(u)라는 공간에 정사영을 시키게 되면, \(y\hat{}\) 은 u와 y를 정사영한 벡터에 u의 크기벡터로 나눠준뒤, 다시 u 의 방향벡터를 구해준 값이 되게 된다. 여기서 만약 u 가 단위 벡터(unit vector) 이게 되면, \( y\hat{} = proj_{L}y = (yu)u\)가 되게 된다.
- 이제 좀 더 확장 시켜, y 가 3차원 벡터 공간에 있다 하게 된다면, \(y\hat{} = proj_{L}y = \frac{yu_{1}}{u_{1}u_{1}}u_{1} + \frac{yu_{2}}{u_{2}u_{2}}u_{2}\) 가 되게 되고, 만약 \(u_{1}, u_{2}\) 벡터들이 모두 단위 벡터라면, \(y\hat{} = proj_{L}y = (yu_{1})u_{1} +(yu_{2})u_{2}\) 를 만족시키게 된다.
여기서 만약 좀 더 정리를 해주자면 ,
$$ y\hat{} =(yu_{1})u_{1} +(yu_{2})u_{2} $$
가 되게 되는데, 벡터의 내적은 벡터의 곱으로 표현할 수 있으므로,
$$(yu_{1})u_{1} +(yu_{2})u_{2} = (u_{1}^{T}y)u_{1} + (u_{2}^{T}y)u_{2}$$ 로 표현이 되게 된다. 따라서 선형변환에 의해,
$$(u_{1}u_{1}^{T} + u_{2}u_{2}^{T})b$$ 이 최종식으로 되게 되며,
여기서 \(u_{1} 과 u_{2}\) 를 가지고 있는 벡터 U로 최종정리해주면,
$$ b\hat{} = UU^{T}b $$ 이 성립되게 된다.
3. normal eq 와 정사영(orthogonal proj.) 과의 관계
맨 처음 위에서 봤듯이, normal eq로 표현된 정사영의 \(b\hat{}\) = \(A(A^{T}A)^{-1}A^{T}b\)로 표현이 되어서, 만약 A = U = \([u_{1} , u_{2}]\) 로 이루어지게 된다면,
의 식을 만족시키게 된다. 따라서 \(A^{T}A = I \) 을 만족시키게 되면서
에서 \(b\hat{} = UU^{T}b\) 를 만족시키게 된다.
4. 머신러닝 관점에서의 정사영 및 다중공선성(multicollinearity)
- 단순히 우리의 모델이 선형 관계를 띄는 linear_Regression model을 다룬다 했을 때, 우리는 열벡터(Col Vector) 의 선형결합으로 표현이 가능한 벡터공간 즉, 열공간(Col space) 라고도 표현이 가능하다 했었다. 그렇다면, 이 열벡터(Col vector) 들이 강한 상관계수를 가지고 있을때, 어떠한 일이 벌어질까?
- 다음과 같은 Ac 의 행렬이 주어졌다고 하자.
그렇다면 , 아까 말했듯이, 열벡터의 선형결합으로 표현이 가능한 벡터공간을 찾는다 한것 처럼 , 여기서 열벡터(col vector) 가 강한 상관계수를 가졌다 했을 때, 그 상관계수로 인해서 머신러닝이 제대로 된, 피쳐 분석을 못해주기 때문에 제대로된 결과값이 안나오게 된다.
즉 , 예를 들어 col vector(a1) 과 col vector(a2) 가 강한 상관관계를 갖게 된다면, 결과값이 1 변할때, a1 때문인지, a2 때문인지 알 수가 없게 된다. 이를 다중공선성 문제라 칭하고, 보통 선형 회귀에서는 다중공선성을 제거해서 문제를 풀게 된다.
머신러닝에서는, 이 방법을 해결하기 위해 Ridge와 Lasso 을 도입하게 되는데,
바로 이식이다. 이식에서 위에서 본 \(A(A^{T}A)^{-1}A^{T}b\) 요식 부분 앞쪽에 \(\lambda I_{d}\) 이 더해지게 되는데, 이식이 바로 Ridge 식을 적용한 식이다. 이를 좀 더 살펴보자면, 앞쪽에 Diagonal Matrix를 더하는데 이는 Col vector 관점으로 봤을때, 각 축으로의 중요도를 더 산개해 주는 식이다. (직관적으로 봤을 때..) 따라서, \(I_{d}\) 는 \(\lambda \) 만큼으로 각 축에 벡터방향으로 더해주어, 비슷한 피쳐 상관계수가 안 나타나도록 해주는 것으로 이해할 수 있다.
- 여기서 \(\lambda \) 가 커질수록 직선에 모이게 되는데, 이 또한 상관 계수가 높은 특성들을 Ridge 계수로 잡아주는데 이는 곧 계수들이 더욱 Linear Independent 하게 만들어주어서 회귀가 잘 되게 해준다.
설명이 좀 서투른 것 같지만, 머신러닝에서의 정사영이 어떠한 의미를 가지는 지 도움이 됐으면하는 바램이다.
반응형'머신러닝(MACHINE LEARNING) > 선형대수(Linear Algebra)' 카테고리의 다른 글
선형변환(Linear_Transformation) 이란? (1) 2021.05.03