일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 누락편의
- rct
- 네이버 뉴스
- 잔차의 성질
- 인과추론
- 통계
- 회귀불연속설계
- 선형대수
- 크롤링
- confounder
- 최소제곱법
- OVB
- Omitted Variable Bias
- least square estimation
- causal inference
- HTML
- 머신러닝
- 인과 추론
- simple linear regression
- 예제
- 교란변수
- backdoor adjustment
- 교란 변수
- residuals
- Sharp RD
- LU분해
- Python
- Instrumental Variable
- 사영
- 단순선형회귀
- Today
- Total
Always awake,
Orthogonal 벡터 만들기 #2 본문
저번 포스팅에서 2차원 공간에서 두 벡터를 orthogonal하게 만드는 방법에 대해 알아보았습니다. (orthogonal : 두 벡터가 수직(직교))
요약하면 아래와 같습니다
- 기존에 벡터 v1이 있을 때 linearly independent한 벡터 v2를 추가하여 v1과 orthogonal한 벡터를 어떻게 만들까?
- v2을 v1에 사영한 벡터 v′2에서 v2로 향하는 벡터가 바로 v1과 orthogonal한 벡터이다!
- v2−v′2=v2−v1⋅v2v1⋅v1v1
이번에는 3차원 공간, 더 나아가서 4차원 이상인 n차원 공간에서 각 벡터를 orthogonal하게 만드는 방법에 대해 알아보겠습니다
3차원 공간에서 orthogonal 벡터 만들기
어떻게 할 수 있을까?

자, 그림처럼 3차원 공간에 두 벡터 o1, o2가 있습니다 (두 벡터는 서로 orthogonal 합니다)
여기에 새로운 벡터 v1가 주어질 때, 기존의 두 벡터와 orthogonal한 벡터를 만들고 싶습니다. 어떻게 하면 될까요?

우선, v1에서 기존의 두 벡터 o1, o2의 span에 수선의 발 v′1을 내려봅시다 (o1, o2의 span은 두 벡터의 선형 결합으로 만들 수 있는 하나의 평면입니다)
v′1을 알 수 있다면 v′1에서 v1로 향하는 벡터가 결국 기존의 두 벡터인 o1, o2와 orthogonal한 벡터가 됩니다.
우리의 1차 목표은 수선의 발 벡터 v′1를 구하는 것이 됩니다

그리고 내린 수선의 발 v′1에서 o1, o2에도 각각 수선의 발을 내려봅시다

자세히 보니 v′1에서 o1, o2에 각각 내린 수선의 발 o′1, o′2는 벡터 v1에서 o1, o2에 각각 내린 수선의 발과 같습니다
즉, 우리가 찾고 싶어하는 수선의 발 벡터 v′1은 v1에서 o1, o2에 각각 내린 수선의 발인 o′1, o′2를 합한 벡터 o′1+o′2가 됩니다.
이제, o′1, o′2만 구하면 수선의 발 v′1을 알 수 있습니다!
본격 계산!
지난 포스팅에서 두 벡터가 있을 때 하나의 벡터를 다른 하나의 벡터에 수선의 발을 내리는 공식을 확인하였습니다
v2에서 v1에 내린 수선의 발 벡터는 아래와 같다
v1⋅v2v1⋅v1v1
이 공식을 위의 예시에 적용하여 o′1, o′2을 구하면 다음과 같습니다
o′1=v1⋅o1o1⋅o1o1
o′2=v1⋅o2o2⋅o2o2
이제 마지막으로! 우리가 찾고자 하는 orthogonal 벡터는 수선의 발 벡터 o′1+o′2에서 v1으로 향하는 벡터이므로 아래와 같이 계산됩니다
v1−(o′1+o′1)=v1−(v1⋅o1o1⋅o1o1+v1⋅o2o2⋅o2o2)
4차원 이상 공간에서는?
마찬가지로 위의 규칙을 4차원 이상의 공간에 적용하면 다음과 같습니다.
기존에 존재하는 벡터 o1, o2, ... ,oj−1에 j번째 벡터 vj를 추가할 때 orthogonal한 벡터를 만들고 싶은 경우
vj에서 o1, o2, ..., oj−1에 수선의 발을 내린 벡터 o′1, o′2...o′j−1 를 구한다. (여기서 기존에 존재하는 벡터 o1, o2, ... ,oj−1 는 서로 orthogonal 한 상태이어야 합니다)
수선의 발 벡터를 모두 더한 것이 vj에서 o1, o2 ... oj−1의 span에 내린 수선의 발과 같으므로 최종적으로 orthogonal 벡터는 아래와 같이 계산한다
vj−(o′1+o′2+...+o′j−1)
마치며
새로운 벡터가 추가될 때마다 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 |