2012 LECTURE NOTE - WEEK 4
5.
Inner product spaces 내적공간
5.4. 수학적 모델링과 최소제곱분석 Mathematical Modeling and Least Square Anal- ysis
실제 현상을 수학적으로 모델링하였을 때 일차연립방정식은 Ax = b 형태로 나타나나, 그 해가 존재하지 않는 경우가 종종 있다. (교재 예제 1은 주어진 평면의 세 점에 가장 근사한 직선식을 찾는 문제이다.) 이런 경우 가장 적절한 후보는?
먼저 엑셀을 이용하여 다음 세 점과 가까운 직선을 엑셀의 프로그램을 이용하여 구하여 보자.
예제 5.4.1 (최소 제곱 회귀 직선 구하기 ). 평면의 세 점 (1, 0), (2, 1), (3, 3)을 지나는 직선은 존재하지 않음은 쉽게 보일 수 있다. 이 세 점과 가장 근접한 직선을 어떻게 구하나?
첫번째 방법으로 엑셀 프로그램을 이용하자.
먼저 엑셀 프로그램을 열어 세 점을 표에 적어 넣는다. 단 첫번 째 열에는 x의 값을, 두 번째 열에는 y의 값을 넣는다.
마우스를 drag 하여 주어진 data를 선택한 후, 메뉴바에서 ’삽입/분산형/점’을 선택한다.
그러면 다음과 같은 차트가 나타난다.
차트의 점을 클릭하여 점을 활성화 한 후 오른쪽 마우스를 눌러 추세선 추가를 선택한다.
선형을 누르고 닫기를 누르면 가장 근접한 직선이 나타난다. 만약 직선의 식까지 필요하면, 아래 ’수식을 차트에 표시’를 활성화 한 후 닫기를 누른다.
1
만약가장 근접한 이차 곡선을 원하면 다항식을 선택한후 그 옆의 차수를 선택하면 된다.
다음 그림은 근접한 직선과 2차 곡선을 선택한 차트의 모양이다.
질문
1. 직선이 세 점을 지나지 않는다. 무엇을 의미하나?
2. 왜 엑셀이 선택한 이차곡선은 세 점을 지나는가? 이 경우, 이차곡선은 어떻게 구하나?
3. 최소제곱회귀직선이라고 불리는 주어진 점에 가장 근접해 보이는 이 직선은 어떻게 구하 나? 이 질문의 답이 이번 절의 주제임.
예 5.4.1 다시 보기 만약 세 점 (1, 0), (2, 1), (3, 3)를 지나는 직선이 존재한다고 가정하고, 그 직선의 식이 y = c0x + c1이라고 놓자. 그러면 c0, c1은 다음 세 식을 만족해야만 한다.
c0+ c1 = 0, c0+ 2c1 = 1, c0+ 3c1 = 3.
위 연립방정식이 해를 가지지 않음은 쉽게 알 수 있다. 왜냐하면
A =
1 1 1 2 1 3
, b =
0 1 3
, x =c0 c1
이라 놓으면
Ax = b
로표현할 수 있는데, A와 A의 첨가행렬의 rank가 다르기 때문이다. Ax = b의 해는 존재하 지 않지만, ||Ax − b||를 최소화할 수 있는 직선이 주어진 세 점과 근접한 직선으로 상상하는 것은 어렵지 않을 것 같다. 이와 같이 ||Ax − b||를 최소화 하는 해
x =c0 c1
가 최소제곱회귀선 (least squares regression line) y = c0x + c1
를 준다.
Least Square Problem
m × n 행렬과 Rm 의 벡터 b가 주어졌을 때 ||Ax − b||2이 최소가 되는 x ∈ Rn를 구하는 문제가 최소제곱문제 (least square problem)이다.Least Square Problem에서는 b가 주어졌을 때 집합 {Ax|x ∈ Rn}
중에서
||Ax − b|| = ||b − Ax||
가 최소가 되는 y = Ax와 x를 찾는 것이다.
||Ax − b||가 최소인 x를 찾는 문제는 ||Ax − b||2가 최소인 x를 찾는 문제와 동치이다. 집합 {Ax|x ∈ Rn}
는 A의 열공간 R(A)이었음을 기억하자. 왜냐하면
A = [aij], x =
x1
x2 ... xn
∈ Rn이면,
Ax =
a11 a12 · · · a1n
a21 a22 · · · a2n ... ... . .. ... am1 am2 · · · amn
x1
x2 ... xn
= x1
a11
a21 ... am1
+ x2
a12
a22 ... am2
+ · · · + xn
a12
a22 ... am2
.
R(A) = span(v)이면, 정리 5.2으로부터 ||b − projvb||가 최저값이 된다.
예. 아래 그림에서처럼 b와 R(A)가 주어졌다면 b와 가장 근접한 R(A)의 벡터를 추측하여 그려보아라.
b
R(A)
b
R(A)
이제공간에 수직인 벡터의 개념과 부분공간위로의 수직사영의 정의가 필요함을 짐작할 수 있다. 이를 위하여 먼저 서로 수직인 부분공간과 직교여공간을 정의한다.
Definition 5.4.1 (서로 수직인 부분공간). S1, S2는 Rn의 부분공간이다. 만약 모든 v1 ∈ S1 과 모든 v2 ∈ S2가 v1· v2= 0을 만족하면 S1과 S2는 수직(orthogonal)이라고 부른다.
예제 5.4.2 (수직 부분공간들). R3의 부분공간인 S1, S2는 수직이다.
S1 = span(
1 0
−1
,
0
−1 1
) and S2 = span
1 1 1
풀이. S1의 임의의 원소는 a
1 0
−1
+ b
0
−1 1
=
a
−b
−a + b
, S2의 임의의 원소는 c
1 1 1
=
c c c
. 따라서
a
−b
−a + b
·
c c c
= ac − bc − ac + bc = 0 정리 5.13. [직교여공간의 정의와 성질] S는 Rn의 부분공간이다.
S⊥= {u ∈ Rn| v · u = 0 for all v ∈ S}
로 정의하면 다음이 성립한다.
(1) S⊥는 Rn의 부분공간이다.
(2) dim(S) + dim(S⊥) = n.
(3) S ∩ S⊥= {0}, Rn= S + S⊥. 이 경우
Rn= S ⊕ S⊥
으로 표현하고, 임의의 벡터를 S의 벡터와 S⊥의 벡터의 합으로 표현하는 방법은 오직 하나이다.
(4) (S⊥)⊥ = S.
Definition 5.4.2 (직교여공간(Orthogonal Complement of S)). S는 Rn의 부분공간이 다. 정리 5.13의 S⊥ 을 S의 직교여공간이라 부른다.
예제 5.4.3 (직교여공간 구하기-교재). 행렬 A의 두 열벡터로 생성된 R4 의 부분공간 S의 orthogonal complement를 구하라.
1 0 2 0 1 0 0 1
정리 5.13의 증명. 위의 4 가지 증명에서의 가장 핵심이 되는 부분은 (2)이다.
• S⊥은 부분공간이다: 왜냐하면, u, v ∈ S⊥이고, a, b ∈ R일 때 au + bv ∈ S⊥임을 보이면 된다. 따라서 임의의 s ∈ S에 대하여,
(au + bv) · s = au · s + bv · s
그런데 u · s = 0, bv · s = 0이므로, (au + bv) · s = 0. 띠라서 au + bv ∈ S⊥이므로 S⊥ 는 부분공간이다.
• Rn= S + S⊥의 증명
• S ∩ S⊥= {0}의 증명
• (S⊥)⊥ = S의 증명
정리 5.13의 성질 (2)는 임의의 Rn의 벡터는 S와 S⊥의 벡터의 합으로 표현할 수 있고, 그 방법은 유일함을 의미한다. 이 때 Rn은 두 부분공간 S와 S⊥의 direct sum(직합, 혹은 직접합)이라 부른다. 일반적으로 V 의 부분공간 U, W 가
(1) V = U + W (2) U ∩ W = {0}
를 만족하면 V 는 U 와 W 의 직접합(direct sum)이라 하고, V = U ⊕ V 로 쓴다.
예제 5.4.4. [직접합] 교재 예 참고 projSv
{u1, u2, · · · , ut}이 Rn의 부분공간 S의 정규직교기저이고 v ∈ Rn이다. 그러면 v1 ∈ S와 v2 ∈ S⊥이 유일하게 존재하여 v = v1+ v2가 된다. v1 ∈ S를 projSv로 정의하고, projSv를 S위로의 v의 사영이라 부른다.
정리 5.14. [projSv] {u1, u2, · · · , ut}이 Rn의 부분공간 S의 정규직교기저이고 v ∈ Rn이다.
그러면
projSv = (v · u1)u1+ (v · u2)u2+ · · · + (v · ut)ut.
Proof. 앞에서 설명했듯이 v1 ∈ S와 v2 ∈ S⊥이 유일하게 존재하여 v = v1 + v2가 된다.
v1∈ S이므로,
v1= c1u1+ c2u2+ · · · + ctut (ci ∈ R).
ci를 결정하기 위하여 v와 ui와의 내적을 계산하면 ci = v · ui
를 얻는다.
S의 정규직교기저가 주어지면 projSv를 상대적으로 간단히 구할 수 있다. 그러나 S의 생성원들만 주어져도 projSv는 구할 수 있다.
예제 5.4.5. [projSv의 계산연습]
(1) S는
w1 =
1 0 0
, w2 =
0 1 0
로 생성된 R3의 부분공간이다. 벡터 v =
1
−2 3
의 부분공간 S위로의 사영 projSv를 구하라.
(2) [교재문제] S는
w1 =
0 3 1
, w2 =
2 0 0
로 생성된 R3의 부분공간이다. 벡터 v =
1 1 3
의 부분공간 S위로의 사영 projSv를 구하라.
풀이. (1) 먼저 {w1, w2}는 정규직교기저이다. 따라서 정리 5.14를 적용할 수 있다. 정리 5.15. [v와 가장 가까운 S의 벡터는 projSv이다.] S가 Rn의 부분공간이면, Rn의 벡터 v와 가장 가까운 S의 벡터는 단 하나 projSv이다. 즉,
||v − projSv|| < ||v − u|| for all u(6= projSv) ∈ S Proof. u ∈ S, u 6= projSv,
v − u = (v − projSv) + (projSv − u).
v − projSv ∈ S⊥, projSv − u ∈ S이므로, 피타고라스 정리에 의하여
||v − u||2 = ||(v − projSv||2+ ||projSv − u||2. projSv − u 6= 0이므로,
||v − projSv|| < ||v − u||.
S = span(u)이면, projSv = projuv. 따라서 정리 5.9는 정리 5.15의 따름정리가 된다.
이제 최소제곱문제로 다시 돌아가자. Least Square Problem는 벡터 b가 주어졌을 때 집합 {Ax|x ∈ Rn}
중에서
||Ax − b|| = ||b − Ax||
가 최소가 되는 x를 찾는 것이다. {Ax|x ∈ Rn} = R(A)이므로, 정리 5.15에 의해 우리가 찾는 x는 Ax = projR(A)b를 만족해야한다. 우리가 찾는 x를 ˆx 로 쓰면, Aˆx = projR(A)b이면 Aˆx − b ⊥ R(A). 즉,
Aˆx − b ∈ R(A)⊥. R(A)⊥은 무엇일까? 다음 정리에서 확인하자.
정리 5.16. [행렬의 기본공간들] A가 m × n 행렬이면 (1) R(A) ⊕ N (AT) = Rm 즉, R(A)⊥= N (AT).
(2) R(AT) ⊕ N (A) = Rn. 다시 최소제곱문제로:
Aˆx − b ∈ R(A)⊥= N (AT)
⇒ AT(Aˆx − b) = 0
⇒ ATAˆx − ATb = 0
⇒ ATAˆx = ATb.
최소제곱문제 Ax = b의 (근사)해는
ATAˆx = ATb
를 푸는 것과 같아진다. 이 식을 최소제곱문제 Ax = b의 normal equation (정규방정식) 이라 부른다.
예제 5.4.6. [행렬의 기본부분공간들 계산하기] - 연습문제 예제 5.4.7. [정규방정식으로 최소제곱문제 풀기]
풀이.수업시간에....(교재 참고.)
우리가 얻은 해를 excel이 준 해와 비교해보자.
예제 5.4.8. [projSv 구하기] b =
1 1 3
, S는 행렬 A =
0 2 3 0 1 0
의 열공간일 때, projSb 를 구하라.
풀이. {Ax|x ∈ R3} = S라 하면, projSb = Ax where ATAx = ATb.
ATAx =0 3 1 2 0 0
0 2 3 0 1 0
=10 0 0 4
,
ATb =0 3 1 2 0 0
1 1 3
=6 2
이므로 projSv의 normal 방정식은10 0 0 4
x1
x2
=6 2
. 따라서,
x1
x2
=3/5 1/2
, projSb = Ax =
0 2 3 0 1 0
3/5 1/2
=
1/2 9/5 3/5
.
예제 5.4.9. [World Problem] excel로 풀어보기
예제 5.4.10. [천문학에의 응용] excel로 풀어보기
5.4절 연습문제
[교과서] 5-8, 11, 12, 15, 19, 21, 23, 27, 29, 33 0. S는
w1 =
−1 3 1
, w2=
1 3 1
로 생성된 R3의 부분공간이다. 벡터 v =
1 1 3
의 부분공간 S위로의 사영 projSv를 구하라.
revised at 2012. 09. 23, 13:10