Vector Differential: 벡터 미분 Yonhee Lee October 7, 08 벡터미분의 표기 스칼라미분 벡터미분(Vector diffrential) 또는 행렬미분(Matrix differential)은 벡터와 행렬의 미분식에 대 한 표기법을 정의하는 방법이다 보통 스칼라(scalar)에 대한 미분은 일분수 함수 f : < < 또는 다변수 함수(function of several variables) f : <p < 에서 쉽게 정의된다 만약 y f (x) 또는 y f (x)라고 하면 다음과 같이 미분이 주어진다 f (x) f 0 (x) f (x) f (x) f (x) f (x),,, p f (x) 함수가 다변수함수일 경우 함수의 값을 각 축의 변수로 미분한 것(partial derivative)을 벡터로 표시하는 것을 radient 라고 한다 여기서 radient 는 행벡터 또는 열벡터 중 하나로 표시할 수 있으며 분야에 따라 표기가 다르다 벡터미분의 표기 방법 이제 다변량함수(multivariate function), f : <p <q 에 대한 미분을 생각해보자 앞 절에서 본것과 같이 스칼라 함수를 여러 변수로 미분하여 partial derivative를 구한 뒤 radient를 만드는 경우 열벡터와 행벡터 중 하나를 선택해야 한다 이러한 선택은 절대적인 것이 아니며 각 분야의 특성과 편의에 따라 다르게 선택 될 수 있다
이제 간단한 예제를 고려해 보자 두 열벡터 x (x, x )t <, y (y, y, y3 )t <3 를 고려하고 다음과 같은 함수로 두 벡터의 관계가 정의된다고 하자 y x + x, y exp(x ) + 3x, y3 sin(x ) + x3 이러한 경우 벡터 y를 벡터 x로 미분하려면, 즉 다음의 미분 표기법을 이용하려면 그 결과 행렬의 형태를 정해야한다 p q or q p matrix? 일단 각각의 partial derivative i /j 를 구해야 하며 이는 scalar 미분으로 쉽게 구해진다 x,, exp(x ), 3, 3 cos(x ) 3 3x 일반적으로 벡터 y를 벡터 x로 미분한 결과 행렬을 표기하는 방법에는 두 가지가 있다 (참조, https://enwikipediaor/wiki/matrix_calculus) 분자 표기법 (Numerator layout) t def 3 분모 표기법 (Denominator layout) " t def 3 3 3 # x exp(x ) 3 cos(x ) 3x x exp(x ) cos(x ) 3 3x 분자표기법의 결과와 분모표기법의 결과는 서로 전치(transpose)관계이다 일반적으로 통계학에서는 분모표기법이 적절하다(마지막 절의 예제 참조) 모든 다변량 벡터는 열벡터로 정의하고 벡터미분에서 분자에 있는 벡터를 행로 보고 (/ t / ), 분모에 위치한 벡터를 열로 정렬한 다음( / /) 각각 대응하는 partial derivative 를 배치하여 벡터미분의 결과행렬을 정의한다 즉, 만약 x <p, y <q 이면 q q t () p q matrix def p p q p
3 행렬미분의 표기법 이제 행렬에 대한 미분에 대한 표기법을 고려하자 일반적으로 행렬에 대한 미분표기법은 분 모와 분자가 하나는 행렬, 다른 하나는 스칼라일 경우만 고려한다 즉, 다음과 같은 경우만 고려한다 Y X 통계학에서는 분모가 행렬이고 분자가 스칼라인 미분식이 주로 사용되며 먼저 Y / 의 표기법에 대해서 논의하겠다 만약 앞 절에서 논의한 분모표기법을 행렬-스칼라 미분 표기에 그대로 적용하면 모든 차 원이 뒤바뀌게 된다 (즉 Y / Y t /) 따라서 행렬-스칼라 미분 표기는 예외적으로 분자표기법을 적용한다 즉 Y 가 p q 행렬이면 Y /는 다음과 같이 표기한다 Y p q q p pq p q matrix () 이제 스칼라를 행렬로 미분하는 경우는 드물지만 대표적인 예가 Hessian 행렬이 이에 해 당한다 Hessian 행렬의 경우 미분을 하는 행렬이 대칭행렬이므로 하나의 표기법으로 쉽게 표시할 수 있다 즉 y f (x)를 <p 에서 정의된 일변량함수라고 하자 함수 f 의 radient 벡터 f 를 다음과 같이 정의 하면 f (x) f p 함수 f 의 Hessian 행렬 Hf 를 다음과 같이 여러 방식으로 표시할 수 있고 또한 계산된다 3
f (x) layout t y layout t layout 3 xt layout 4 X computation [ f ] f t f y y y p y y y p y y y p p p p Hf 여기서 행렬 X xxt 이다 다음 장에서는 () 과 ()에서 정의된 벡터와 행렬 미분표기법을 사용하는 경우 통계학에서 자주 쓰이고 유용한 공식과 결과들을 살펴보자 벡터미분의 기본 공식들 핵심공식 다음은 ()에서 정의된 분모표기법을 응용한 가장 기본적이고 핵심적인 미분 공식들이다 공식을 유도하는 경우 분모표기법에서는 / t / 임을 이용한다 변환이 있거나 여러가지 곱이 있는 경우 미분할 대상 벡터를 가장 왼쪽에 전치형태(즉, 행벡터의 형태로)로 놓는 것이 필요하다 예를 들어 at V f (x) f (x)t V t a f (x)t t f (x) t V a V a 4
또한 행렬은 교환법칙이 성립하지 않기 때문에 연산의 순서를 유지해야 하는 것을 유념 하자 기본행렬 미분 벡터 c를 상수벡터하고 하자 c 0, I 벡터-스칼라 미분 이 경우는 x <, y <q 인 경우이며 결과는 다음과 같이 행벡터로 결과가 주어진다 t q,,, def 3 스칼라-벡터 미분 이 경우는 x <p, y < 인 경우이며 결과는 다음과 같이 열벡터로 결과가 주어진다 p 4 상수벡터와 내적에 대한 미분 열벡터 a를 p 상수벡터이라고 하고 y at x xt a라 하자 t a x a tx a t t a a x a a at x ap p 5 선형변환에 대한 미분 행렬 A를 q p 행렬이라고 하고 y Ax라 하자 여기서 행렬 A를 다음과 같이 나타 내자 at at A or At [a a aq ] atq 5
위의 내적에 대한 미분 결과를 이용하면 다음은 결과를 얻는다 Ax t At t [x a xt a xt aq ] t a t a t aq [ ] [a a aq ] At 위의 결과를 응용하면 다음의 결과를 얻는다 Ax t A At and A 6 곱셈에 대한 미분 p 차원 벡터 x를 인자로 하는 두 개의 함수(하나는 일변량 함수, 다른 하나는 다변량 함수) 를 고려하자 u : <p <, : <p <q (x)(x) t p p p q q q p p t t +u t +u 6 u u u u + u p u p p q q q q u q u q u p
이 결과의 특수한 경우로서 두 함수가 모두 일변량 함수일때는 u : <p <, v : <p < 다음과 같은 결과를 얻는다 (x)v(x) v v v +u [예제 ] 다음과 같은 미분을 구해보자 at xxt b 여기서 다음과 같은 식을 정의하면 u at x xt a v bt x xt b 이제 다음과 같은 결과를 얻는다 at xxt b v v v+ u t b t a v+ u av + bu abt x + bat x (abt + bat )x [예제 ] 다음과 같은 미분을 구해보자 (Ax + b)t C(Dx + e) 위의 예제와 유사하게 두 벡터를 다음과 같이 정의하자 u Ax + b, v Dx + e (Ax + b)t C(Dx + e) t Cv t v t t Cv + Cu t At + bt t D t + et t Cv + Cu At Cv + D t C t u At C(Dx + e) + D t C t (Ax + b) 7
7 다변량함수의 내적에 대한 미분 이제 두 개의 다변량 함수를 고려하자 f : <p <q, : <p <q f (x)t (x) f t t Pq fk k k Pq fk k k P q fk k f t f t f k p p Pq k Pq k Pq k fk k fk k + + fk + p k f + f k f k k f k k f p k (p q)(q ) + (p q)(q ) 예를 들어 위의 결과를 이용하면 두 벡터의 내적에 대한 일변수 미분은 다음과 같다 u : < <q, v : < <q 두 벡터의 내적을 d(u, v) 로 정의하면 (열과 행 표기에 관계없이) t v v v+ u d(/, v) + d( v/, u) 이차형식에 대한 미분공식 일반적인 이차형식 두 개의 다변량 함수를 고려하고 f : <p <q, A 를 p p 상수행렬이다 8 : <p <r
f (x)t A(x) f t A t u At f t t + u f t A t t + Af f t A + Af 이차형식 t t At t Ax Ax + x Ax + At x 만약 행렬 A가 대칭이면 t Ax Ax 3 합성함수에 대한 미분공식 두 개의 다변량 함수를 고려하고 : <p <q, f : <q <r 9
f((x)) f t ((x)) [ f ((x)) f ((x)),,, f ] r((x)) f ((x)) f ((x)) f r((x)) f ((x)) f ((x)) f r((x)) f ((x)) p f ((x)) p q f k q f k k k k k q f k q f k k k k k q k q k q k q k f r((x)) p p f r k k f r k k p f k q f k k p k k f k f k k k f k f k k k f k f k k p k k k k p k f k [ f k f k [ ] q f (p q)(q r) f/ f/ f/ q f r k k p ] f r k q f r k k k q f r k k k q k f r k k p 특별히 f 가일변량인경우 (r ), f((x)) f (p q)(q ) 0
더 나아가 다음도 보일 수 있다 f f ((u(x))) 4 역행렬과 행렬식 미분 행렬 V 의 원소들 스칼라 x의 함수라면 V V V V 사영행렬 P K(K t V K) K t 에 대한 미분은 다음과 같이 얻어진다 P V V K(K t V K) K t K(K t V K) K t P P 행렬식에 대한 미분은 다음과 같다 lo V V tr V 3 3 통계학에 대한 응용 최소제곱법 오차벡터를 정의하고 e (y Xβ) 오차벡터를 모수벡터 β로 미분하면 다음과 같은 결과를 얻는다 e (y Xβ) Xβ t X t X t 행렬 W 를 n n 의 대칭행렬이고 그 원소는 모두 상수라고 가정하자 이제 오차제곱합 e W e 를 모수벡터로 미분하면 이차형식의 미분공식과 합성함수 미분공식을 차례로 적용하면 된다 et W e e et W e X t (W e) X t W (y Xβ) e t
위의 방정식을 0으로 놓으면 최소제곱 추정량 (열)벡터를 구한다 X t W y X t W Xβ 0 β (X t W X) X t W y 만약 위의 최소제곱법 예제에서 분자 표기법을 적용하면 (편의상 W I 로 놓자) e (y Xβ) Xβ X et e et e e et ( X) (y t β t X t )X e 위의 방정식은 결과가 행벡터로 표시되며 0t 으로 놓으면 최소제곱 추정량이 행벡터로 구 해져서 다시 결과를 전치해야 열벡터로 표시된다 y t X β t X t X 0t β t y t X(X t X) 위와 같은 이유 때문에 통계학에서는 분자표기법이 더 편리하며 대부분의 경우 분자표기 법을 사용한다 참고로 분자 표기법의 결과는 분모 표기법의 결과를 전치하면 얻어진다 또한 합성함수의 미분인 경우 전치를 취하면 도함수 배열의 순서가 바뀌는 것에 유의해야 한다 e et e (denominator layout) e et e e at (numerator layout) e a