1. Inner product: angles and orthogonality
- 두 벡터 사이의 각도 내적을 통해 정의할 수 있다.
- cos w(두 벡터 사이각 크기) = 내적 / (norm(x) * norm(y))
- 이는 결국 두 벡터가 가리키는 방향의 유사도(simliarilty)를 알려주는 지표가 된다.
- 두 벡터가 직교하는 경우 두 벡터의 내적은 0이 된다.
- 이를 다른 내적을 통해 표현하는 경우 다른 값이 나오게 된다.
- 두 벡터가 직교(orthogonal to each other)하며 각 벡터의 길이가 1인 경우, 이를 orthonomal basis라고 부른다.
2. Angles between vectors using a non-standard inner product
- 문제에서 정의된 내적을 보고 두 벡터 사이의 각도를 구하기(5문제)
- 라디안(각도법)으로 선택지가 주어진다.
- numpy를 이용하여 풀이하는 문제가 세 개 있었다.
단순히 @를 이용하여 행렬 간의 곱을 수행해주면 쉽게 답을 구할 수 있다. - cos w = -1 인 경우, w = -π(rad) 가 되므로 정반대 방향을 가리킨다는 것을 알 수 있다(antiparellel).
3. Inner products and angles
- 주피터 환경에서 numpy를 이용하여 여러 문제들을 풀이하는 과제
- 벡터의 distance 구하기
- 두 벡터 사이의 각도 구하기: numpy.arccos 함수를 사용하면 arc cosine의 값을 구할 수 있다.
- MNIST를 dataset을 이용하여 벡터 간 simliarlity 분석하기
- most similar image를 불러올 때 index = 61로 설정해야 하는데 왜 그렇게 하는지는 잘 모르겠다 🥲
4. Optional: K-nearest Neighbors Algorithm
- 주피터 환경에서 numpy, sklearn을 이용하여 iris flower datset에 대한 문제를 풀이하는 과제
- numpy.linalg.norm 함수를 사용하면 array의 norm을 계산해준다.
- K-nearest Neighbors에 대한 문제도 있었는데 무엇을 하라고 한건지 이해를 잘 못했다..
사실상 K=3 을 입력하는 것 말고는 추가적으로 입력해야 되는 부분이 없었다..
5. Inner products of functions and random variables (optional)
- 내적은 두 벡터의 integral로 이해할 수 있다.
이때 x의 범위에 따라 이 벡터들이 서로 직교(orthogonal to each other)하는지 아닌지 파악할 수 있다.
- random variable에 대한 기하학적 의미는 위와 같다.
- 두 벡터의 내적이 공분산(cov)로 구해질 때 bilinear한 특성을 이용하여 두 공분산의 합으로 나타낼 수 있다.
결국 벡터 x의 길이는 표준편차(standard deviation)로 구해진다. - 분산(variance)이 제곱의 개념으로 이뤄진다는 점을 근거로 피타고라스 정리로 표현이 가능하다.
벡터의 길이를 표준편차로 치환하여 삼각형의 각 변을 표준편차와 분산으로 표현할 수 있다.
출처: Coursera, Mathematics for Machine Learning: PCA, Imperial College London.
'PCA > 2주차' 카테고리의 다른 글
Inner products(1) (0) | 2022.09.30 |
---|---|
Dot product (0) | 2022.09.30 |