일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 누락편의
- causal inference
- 교란변수
- Python
- 사영
- 잔차의 성질
- simple linear regression
- 네이버 뉴스
- 최소제곱법
- 회귀불연속설계
- LU분해
- 머신러닝
- 단순선형회귀
- 인과 추론
- least square estimation
- HTML
- confounder
- 통계
- 예제
- 크롤링
- Instrumental Variable
- Sharp RD
- rct
- 인과추론
- 선형대수
- 교란 변수
- backdoor adjustment
- residuals
- OVB
- Omitted Variable Bias
- Today
- Total
Always awake,
Orthogonal 벡터 만들기 #2 본문
저번 포스팅에서 2차원 공간에서 두 벡터를 orthogonal하게 만드는 방법에 대해 알아보았습니다. (orthogonal : 두 벡터가 수직(직교))
요약하면 아래와 같습니다
- 기존에 벡터 $v_1$이 있을 때 linearly independent한 벡터 $v_2$를 추가하여 $v_1$과 orthogonal한 벡터를 어떻게 만들까?
- $v_2$을 $v_1$에 사영한 벡터 $v_2^\prime$에서 $v_2$로 향하는 벡터가 바로 $v_1$과 orthogonal한 벡터이다!
- $v_2- v_2^\prime = v_2 - \frac{v_1 \cdot v_2}{v_1 \cdot v_1} v_1$
이번에는 3차원 공간, 더 나아가서 4차원 이상인 n차원 공간에서 각 벡터를 orthogonal하게 만드는 방법에 대해 알아보겠습니다
3차원 공간에서 orthogonal 벡터 만들기
어떻게 할 수 있을까?
자, 그림처럼 3차원 공간에 두 벡터 $o_1$, $o_2$가 있습니다 (두 벡터는 서로 orthogonal 합니다)
여기에 새로운 벡터 $v_1$가 주어질 때, 기존의 두 벡터와 orthogonal한 벡터를 만들고 싶습니다. 어떻게 하면 될까요?
우선, $v_1$에서 기존의 두 벡터 $o_1$, $o_2$의 span에 수선의 발 $v_1^\prime$을 내려봅시다 ($o_1$, $o_2$의 span은 두 벡터의 선형 결합으로 만들 수 있는 하나의 평면입니다)
$v_1^\prime$을 알 수 있다면 $v_1^\prime$에서 $v_1$로 향하는 벡터가 결국 기존의 두 벡터인 $o_1$, $o_2$와 orthogonal한 벡터가 됩니다.
우리의 1차 목표은 수선의 발 벡터 $v_1^\prime$를 구하는 것이 됩니다
그리고 내린 수선의 발 $v_1^\prime$에서 $o_1$, $o_2$에도 각각 수선의 발을 내려봅시다
자세히 보니 $v_1^\prime$에서 $o_1$, $o_2$에 각각 내린 수선의 발 $o_1^\prime$, $o_2^\prime$는 벡터 $v_1$에서 $o_1$, $o_2$에 각각 내린 수선의 발과 같습니다
즉, 우리가 찾고 싶어하는 수선의 발 벡터 $v_1^\prime$은 $v_1$에서 $o_1$, $o_2$에 각각 내린 수선의 발인 $o_1^\prime$, $o_2^\prime$를 합한 벡터 $o_1^\prime + o_2^\prime$가 됩니다.
이제, $o_1^\prime$, $o_2^\prime$만 구하면 수선의 발 $v_1^\prime$을 알 수 있습니다!
본격 계산!
지난 포스팅에서 두 벡터가 있을 때 하나의 벡터를 다른 하나의 벡터에 수선의 발을 내리는 공식을 확인하였습니다
$v_2$에서 $v_1$에 내린 수선의 발 벡터는 아래와 같다
$$\frac{v_1 \cdot v_2}{v_1 \cdot v_1} v_1$$
이 공식을 위의 예시에 적용하여 $o_1^\prime$, $o_2^\prime$을 구하면 다음과 같습니다
$$ o_1^\prime = \frac{v_1 \cdot o_1}{o_1 \cdot o_1} o_1$$
$$ o_2^\prime = \frac{v_1 \cdot o_2}{o_2 \cdot o_2} o_2$$
이제 마지막으로! 우리가 찾고자 하는 orthogonal 벡터는 수선의 발 벡터 $o_1^\prime + o_2^\prime$에서 $v_1$으로 향하는 벡터이므로 아래와 같이 계산됩니다
$$ v_1 - (o_1^\prime + o_1^\prime) = v_1 - (\frac{v_1 \cdot o_1}{o_1 \cdot o_1} o_1 + \frac{v_1 \cdot o_2}{o_2 \cdot o_2}o _2)$$
4차원 이상 공간에서는?
마찬가지로 위의 규칙을 4차원 이상의 공간에 적용하면 다음과 같습니다.
기존에 존재하는 벡터 $o_1$, $o_2$, ... ,$o_{j-1}$에 j번째 벡터 $v_j$를 추가할 때 orthogonal한 벡터를 만들고 싶은 경우
$v_j$에서 $o_1$, $o_2$, ..., $o_{j-1}$에 수선의 발을 내린 벡터 $o_1^\prime$, $o_2^\prime$...$o_{j-1}^\prime$ 를 구한다. (여기서 기존에 존재하는 벡터 $o_1$, $o_2$, ... ,$o_{j-1}$ 는 서로 orthogonal 한 상태이어야 합니다)
수선의 발 벡터를 모두 더한 것이 $v_j$에서 $o_1$, $o_2$ ... $o_{j-1}$의 span에 내린 수선의 발과 같으므로 최종적으로 orthogonal 벡터는 아래와 같이 계산한다
$$v_j - (o_1^\prime + o_2^\prime + ... + o_{j-1}^\prime)$$
마치며
새로운 벡터가 추가될 때마다 orthogonal하게 만드는 방법에 대해 알아보았습니다
▼ 글이 도움이 되셨다면 아래 클릭 한번 부탁드립니다 :) ▼
'선형 대수' 카테고리의 다른 글
가우스소거법으로 역행렬 구하기 (0) | 2023.01.28 |
---|---|
correlation의 기하학적 의미 (0) | 2022.12.10 |
Orthogonal 벡터 만들기 (0) | 2022.03.02 |
Least Square & Normal Equation (0) | 2022.02.19 |
선형독립과 선형종속 (0) | 2022.02.18 |