1. Projection onto 1D subspaces
- 벡터 u의 기저벡터는 b이다.(다른 말로 표현하면 벡터 b로 표현할 수 있는 subspace 내에 u가 존재한다)
따라서 어떤 scalar lamda를 기저벡터 b에 곱해주면 파이 x u(x)가 되는 것이다.
이때 벡터 u 위의 벡터 x와 가장 가까운 지점을 구하면 x에서 u에 대해 수선을 내려야 한다.
수선의 정의는 직교(orthogonal)한다는 것이다.
따라서 벡터 b와 수선을 표현하는 벡터의 내적은 0이 된다. - 위 정의를 이용하여 식을 정리해보면 람다에 대해 내적과 norm으로 정의할 수 있게 된다.
결과적으로 (b x b.T) / norm(b)^2 은 projection matrix가 된다.
2. Example: projection onto 1D subspaces
- 정사영벡터의 정의를 그대로 가져오고, 임의의 x, b에 대해 직접 구해본다.
- 내적을 dot product로 정의함에 따라 분수의 분자와 분모는 둘 다 scalar값이 된다.
여기에 기저벡터 b를 곱해주면 투영벡터를 구할 수 있다. - 정확히 말하자면 여기서 4/5 norm(b)가 그림자의 길이라고 볼 수 있다.
3. Projection onto a 1-dimensional subspace
- 기저벡터로 투영벡터 구하기 (1문제)
- 투영벡터를 통해 계산하기 (1문제)
- reconstruction error 계산하기 (1문제)
- 뭘 하라는건지 모르겠다. 아직 배우지 않은 내용 같아서 일단 답안만 제출했다.
4. Projections onto higher-dimensional subspaces
- 3차원에 속하는 벡터 x에서 부분공간 u에 대해 내린 수선을 정의한다.
논리 자체는 1D-subspace에서와 동일하다.
단, lambda와 b가 scalar가 아닌 벡터가 된다. - 결과적으로 투영벡터에 대한 식도 1D-subspace에 대한 것과 동일하지만 그 구성요소가 벡터로 바뀌었다는 차이점이 있다.
출처: Coursera, Mathematics for Machine Learning: PCA, Imperial College London.
'PCA > 3주차' 카테고리의 다른 글
Projections(2) (0) | 2022.10.08 |
---|