output이 1차원 실수인 함수를 n차원 벡터로 미분하면 자코비안(1*n)행렬이 된다.

output이 1차원 실수인 함수를 n차원 벡터로 2번 미분하면 헤시안(n*n)행렬이 나온다. 
(이는 자코비안을 한 다시 n짜리 벡터로 미분한 것과 같다.)

(행렬을 벡터가 아닌 스칼라로 미분할 때는 그냥 하나의 변수에 대해 미분하면 된다.)


\mathbf J = \frac{d\mathbf f}{d\mathbf x} = \begin{bmatrix}
    \dfrac{\partial \mathbf{f}}{\partial x_1} & \cdots & \dfrac{\partial \mathbf{f}}{\partial x_n} \end{bmatrix}
= \begin{bmatrix}
    \dfrac{\partial f_1}{\partial x_1} & \cdots & \dfrac{\partial f_1}{\partial x_n}\\
    \vdots & \ddots & \vdots\\
    \dfrac{\partial f_m}{\partial x_1} & \cdots & \dfrac{\partial f_m}{\partial x_n} \end{bmatrix} 

여기서 맨 오른쪽의 matrix는 함수 f의 output이 1차원 실수일 때는 무시해도 된다.(맨 윗줄만 존재하는 것임.)


\bold H = \begin{bmatrix}
  \dfrac{\partial^2 f}{\partial x_1^2} & \dfrac{\partial^2 f}{\partial x_1\,\partial x_2} & \cdots & \dfrac{\partial^2 f}{\partial x_1\,\partial x_n} \\[2.2ex]
  \dfrac{\partial^2 f}{\partial x_2\,\partial x_1} & \dfrac{\partial^2 f}{\partial x_2^2} & \cdots & \dfrac{\partial^2 f}{\partial x_2\,\partial x_n} \\[2.2ex]
  \vdots & \vdots & \ddots & \vdots \\[2.2ex]
  \dfrac{\partial^2 f}{\partial x_n\,\partial x_1} & \dfrac{\partial^2 f}{\partial x_n\,\partial x_2} & \cdots & \dfrac{\partial^2 f}{\partial x_n^2}
\end{bmatrix}.




Jacobian Matrix : 어떤 행렬을 벡터 각각의 변수들로 차례차례 바꿔가면서 한 번 씩 미분한 행렬이다.

어떤 행렬의 성분에 대해
첫 번째 줄은 첫 번 째 성분에 대해 모든 변수들로 차례차례 한 번 씩 번갈아가면서 미분.
두 번째 줄은 두 번 째 성분에 대해 모든 변수들로 차례차례 한 번 씩 번갈아가면서 미분.
...
(그냥 행렬의 성분을 각 변수들로 순서대로 한 번 씩 미분한다고 생각.)


J=\begin{bmatrix} \dfrac{\partial F_1}{\partial x_1} & \cdots & \dfrac{\partial F_1}{\partial x_n} \\ \vdots & \ddots & \vdots \\ \dfrac{\partial F_m}{\partial x_1} & \cdots & \dfrac{\partial F_m}{\partial x_n}  \end{bmatrix}.


Ex) F(x,y)=(x^2+y)의 자코비안 메트릭스



Ex) F(x,y)=(x^2+y, 3x+5y)의 야코비안 메트릭스


참고 : 즉, Gradient Descent에서 Error를 계산할 때 아웃풋 변수가 1개인 함수를 각 파라미터에 대해 편미분을 하므로, 야코비안 행렬을 사용한다고 볼 수 있다.



Hessian Matrix : 어떤 함수를 각각의 변수들로 순서대로 바꿔가면서 2 번씩 미분한 값들.
첫째 줄은 첫 번 째 변수로 한 번 미분하고, 두번째 미분은 순서대로 2 번째, 2 번째, 3 번째... 으로 미분
둘째 줄은 두 번 째 변수로 한 번 미분하고, 두번째 미분은 순서대로 1 번째, 2 번째, 3 번째... 으로 미분
셋째 줄은 세 번 째 변수로 한 번 미분하고, 
두번째 미분은 순서대로 1 번째, 2 번째, 3 번째... 으로 미분

H(f) = \begin{bmatrix}
\dfrac{\partial^2 f}{\partial x_1^2} & \dfrac{\partial^2 f}{\partial x_1\,\partial x_2} & \cdots & \dfrac{\partial^2 f}{\partial x_1\,\partial x_n} \\[2.2ex]
\dfrac{\partial^2 f}{\partial x_2\,\partial x_1} & \dfrac{\partial^2 f}{\partial x_2^2} & \cdots & \dfrac{\partial^2 f}{\partial x_2\,\partial x_n} \\[2.2ex]
\vdots & \vdots & \ddots & \vdots \\[2.2ex]
\dfrac{\partial^2 f}{\partial x_n\,\partial x_1} & \dfrac{\partial^2 f}{\partial x_n\,\partial x_2} & \cdots & \dfrac{\partial^2 f}{\partial x_n^2}
\end{bmatrix}.


Ex) F(x,y)의 헤시안 메트릭스



Ex) F(x,y,z)의 헤시안 메트릭스


http://en.wikipedia.org/wiki/Jacobian_matrix_and_determinant

http://en.wikipedia.org/wiki/Hessian_matrix

'작성중인 포스트' 카테고리의 다른 글

Google Glass Develop kit  (0) 2014.10.02
Feature Space, Search Space  (0) 2014.09.29
Automata  (0) 2014.09.18
Bootstrapping  (0) 2014.08.11
음함수의 미분  (0) 2014.08.10
Jacobian Matrix, Hessain Matrix  (0) 2014.08.06
by 곽동현 이스텔리앙 2014.08.06 16:24