정사영 9

17-4. 정규직교기저 활용 예시(정사영 계산)

(1) 정규직교기저 활용해서 정사영 계산하기 저번 글에서 정규직교기저가 있을 때, 부분공간 V에 대해 Rn의 벡터 x의 정사영을 찾고 싶다면 projVx = AATx로 표현할 수 있다고 했다. A = [v1, v2, ..., vk] 이므로, 기저벡터를 열로 가지고 있는 행렬이다. V가 span([1/3, 2/3, 2/3], [2/3, 1/3, -2/3])의 공간이라고 하자. 두 벡터의 길이를 계산해보면 1이고, 서로 직교한다는 것을 알 수 있다. 따라서, v1, v2는 V의 정규직교기저이다. 부분공간은 R3의 평면이고, v1 v2가 정사영한다고 해보자. A가 v1, v2를 열벡터로 가지는 행렬로 만들어보자. A = [1/3, 2/3, 2/3; 2/3, 1/3, -2/3] projVx = AATx = 1/..

17-3. 정규직교기저 활용(정사영 계산)

(1) 정규직교기저로 정사영 계산하기 저번 글에서 정규직교기저가 좋은 좌표계, 즉 좌표를 쉽게 알 수 있는 좌표계를 만드는 것을 보았다. 정규직교기저를 활용하면 유용한 다른 이유들에 대해서 알아보자. 어떤 부분공간 V가 Rn의 부분공간이고, B = {v1, v2, ..., vk}라는 V의 정규직교집합 B가 있다. x ∈ Rn 이면, x = v + w = projvx + w 와 같이 표현할 수 있었다. 이 때, v ∈ V 이고 w ∈ V⊥ 이다. (x는 V 상에 존재하는지 알 수 없다.) 기저 벡터들을 열로 가지고 있는 행렬 A가 있다고 하자. A = [v1, v2, ..., vk] 행렬이라면, x를 부분공간 V에 정사영한 벡터를 찾기 위해서 projVx = A(ATA)-1ATx 라는 식을 계산해야 했다...

15-5. 정사영을 활용하여 최소 제곱이 되는 근사값 구하기

(1) 정사영을 활용하여 최소 제곱 근사값 구하기 임의의 n x k 행렬 A가 있고, Ax = b라는 식이 있고 해가 없다고 하자. x는 Rk의 원소이고, b는 Rn의 원소일 것 이다. Ax = b의 해가 없다는 것은 무슨 의미일까? Ax = b라는 식은 [a1, a2, ..., ak] [x1; x2; ... ; xk] = b 처럼 열벡터와 x의 곱의 표현 할 수 있고, 해가 없다는 것은 어떠한 x를 곱해도 b를 만들 수 없다는 것이고, b가 C(A) 상에 존재하지 않는 다는 의미와 같다. (열벡터의 어떤 선형결합으로도 b를 만들 수 없기 때문) 이를 그림으로 표현하면, C(A)라는 평면이 있고 b라는 벡터는 열공간에 존재하지 않으면서 원점에서 뻗어나가는 벡터로 표현할 수 있다. b라는 해는 구할 수 없..

15-4. 정사영은 부분공간에 가장 가까운 벡터

(1) x를 정사영한 벡터는 x와 부분공간이 가장 가까운 벡터 R3에 있는 평면 부분공간 V를 그려보면 위와 같다. 이 때, 파란색 벡터 x가 있고, x를 V에 정사영한 벡터가 부분공간의 벡터 중에서 x에 제일 가까운 벡터가 된다. x를 V에 정사영하면 연두색 벡터가 나오고, V에 있는 임의의 벡터 v를 핑크색으로 그려봤다. x와 projVx의 거리는 주황색벡터 a로 표현할 수 있고, x와 v의 거리는 자홍색벡터 x-v로 표현할 수 있다. V 상에 존재하는 projVx와 v의 거리는 노란색 벡터 b로 표현할 수 있다. 그림 상에서는 x - projVx가 x-v보다 짧아보이는데, 진짜 그런지 수식으로 계산해보자. x - projVx = a 이고, ||x-v||² = ||b+a||² = (b+a)⋅(b+a)..

15-3. 부분공간에 대한 정사영은 선형변환

(1) 부분공간에 대한 정사영이 선형변환인 것을 증명하기 V를 Rn의 부분공간이라고 하자. V의 기저에는 {b1, b2, ..., bk}가 있게 될 것이고, k는 n개의 항을 갖는 열벡터이다. V의 원소 a가 있다면, 기저벡터를 활용하여 a = y1b1 +y2b2 + ... + ykbk의 형태로 나타낼 수 있다. 이를 식으로 표현해보면, nxk인 A = [b1, b2, ..., bk]이고, y = [y1, y2, ..., yk]일 때, Ay = a의 형태로 V의 원소 a를 표현할 수 있다. Rn의 원소 x가 있다면, x를 V에 정사영한 projVx는 정의에 따라서 V 상에 존재하게 된다. (앞 글 참조) 따라서, ProjVx = Ay의 형태로 표현할 수 있다. 그리고, 앞에서 정리한 바와 같이 x는 pr..

15-2. 평면에 대한 정사영 일반화 및 시각화

(1) 평면에 대한 정사영 일반화 이전에 정의했던 정사영를 확장하기 위해 새롭게 정사영을 정리해보고자 한다. 이전에는 projLx는 x - projLx가 L에 직교하는 L위에 있는 벡터라고 했다. (노란색 글씨) 그래서 아래의 그림과 같이 직선 L이 있고 벡터 x가 있다면, 정사영은 자홍색 벡터가 되고 x-projLx를 한 벡터는 L에 직교한다고 했다. 이를 좀 더 일반화해보자. 직선 L이 있고, 벡터 x가 있고, x-projLx를 w라고 하고, projLx를 v라고 해보자. 그러면 정사영 ProjLx는 x-v=w 이고, w는 L의 모든 벡터와 직교하는 벡터라고 할 수 있다. w는 L⊥의 원소라고 할 수 있다. (2) 정사영의 시각화 위에서 일반화했으니, 이를 확장해서 직선이 아닌 평면에서 적용해보자. ..

15-1. 부분공간에 대한 정사영(개요)

(1) 부분공간에 대한 정사영(개요) 예전에 8-5에서 정사영에 대해서 간략하게 보고 넘어갔다. 그 때는 직선에 대한 정사영이었지만, 이번에는 부분공간에 대하여 정사영을 해볼 생각이다. 이전의 정사영에 대한 내용을 간단하게 다시 써보면, 직선 L은 벡터 v의 생성으로 만들 수 있는 직선이면서 부분공간으로 표현할 수 있다. 그리고 벡터 x가 있을 때, L에 정사영을 하게 되면 projL(x) = ((x·v)/(v·v))*v 로 구할 수 있었다. (v는 L의 생성벡터가 일반적.) 추가적으로 V가 Rn의 부분공간이라고 한다면, V의 직교여공간도 Rn의 부분공간이었다. 그리고 V와 V⊥의 합으로 Rn의 모든 원소를 표현할 수 있었다. 마지막으로 x를 V에 정사영하면 V 상에 존재했고, x를 V⊥에 정사영하면 V..

8-6. 행렬벡터 곱으로 정사영 표현하기

(1) 단위벡터를 활용한 정사영 연산 간략화 이전 글에서 직선과 직선 위의 벡터 v, 임의의 벡터 x가 있을 때, 벡터 x를 정사영한 위치벡터를 구하는 방법을 알아봤다. 정사영 proj는 Rⁿ에서 Rⁿ으로 변환한다. proj(x) = {(x·v) / (v·v)} v v·v = ||v||² (자기 자신과의 내적은 길이의 제곱)으로 표현할 수 있기 때문에, proj(x) = {(x·v) / ||v||²} v 로 표현할 수도 있다. 길이가 1이라면 계산이 간단해지기 때문에, 길이가 1인 벡터(단위벡터)를 활용해서 정사영 계산을 좀 더 간단하게 해보자. 단위벡터를 구하는 방법은 벡터를 벡터의 길이로 나누면 된다. 예를 들면, v = [2 1] 이라면 길이인 √5로 나눈 [2/√5 1/√5]가 단위벡터 u가 된다..

8-5. 정사영(Projection)

(1) 정사영(Projection) 원점을 지나는 직선 L을 평면 R²에 초록색으로 그려보자. 직선 위에 존재하고 원점을 지나는 벡터 v를 분홍색으로 그려보자. 그러면, 직선 L은 v에 실수 c를 스칼라배한 값들의 집합이라고 표현할 수 있다. L = {cv | c∈R} 그리고 원점을 지나는 벡터 x를 주황색으로 그려봤다. 직선 L에 수직으로 비추는 빛이 있다면, 벡터 x에 의해 정사영된 x는 proj(x)라 할 수 있다. proj(x)는 벡터 x가 L에 만드는 그림자와 같은 느낌이라고 생각하면 된다. 그리고 x에서 L로 수선을 그릴 수 있고, 분홍색 수선은 벡터 x에 proj(x)를 뺀 것이 된다. 즉, L에 대한 x의 정사영을 뺀 것이다. 분홍 벡터가 직선 L과 수직이라는 것은 직선 상에 있는 모든 벡..