벡터와 행렬의 미분
'벡터'로 미분
x=[x1x2...xn]T∈Rn가 n차원 벡터이고 스칼라 함수 f(x)=f(x1,x2,...,xn)가 주어졌을 때,
f(x)에 대한 x의 미분을 다음과 같이 정의한다.
✍ 참고: latex로 벡터 x 표기하는 방법 : $\mathbf{x}$
dxdf(x)=▽xf(x)=⎣⎢⎢⎢⎢⎢⎡∂x1∂f∂x2∂f⋮∂xn∂f⎦⎥⎥⎥⎥⎥⎤∈Rn
여기서 ▽xf(x)를 함수 f(x)의 기울기 벡터 또는 그래디언트(gradient)라고 한다.
- w=[w1w2⋯wn]T∈Rn가 n차원 벡터이고 스칼라 함수가
f(x)=wTx일 때, ▽xf(x)=w
A=⎣⎢⎢⎡a11⋮an1⋯⋱⋯a1n⋮ann⎦⎥⎥⎤∈Rn×n A 가 행렬이고 스칼라 함수가 f(x)=xTAx로 주어졌을 때,
▽xf(x)= (A+AT)x
'행렬'로 미분
Y=⎣⎢⎢⎡y11⋮ym1⋯⋱⋯y1n⋮ymn⎦⎥⎥⎤∈Rm×n 가 행렬이고 스칼라 함수 f(Y)가 주어졌을 때 f(Y)에 대한 Y의 미분을 다음과 같이 정의한다.
dYdf(Y)=▽Yf(Y)=⎣⎢⎢⎢⎢⎢⎡dy11dfdy21df⋮dym1dfdy12dfdy22df⋮dym2df⋯⋯⋱⋯dy1ndfdy2ndf⋮dymndf⎦⎥⎥⎥⎥⎥⎤∈Rm×n
가중합 행렬의 대각합의 행렬 미분
X∈Rn×n와 W∈Rn×n가 행렬이고 스칼라 함수 f(X)가 f(X)=tr(WX)로 주어졌을 때, f(X)를 X로 미분하면 다음과 같다. 여기서 tr(⋅)은 대각합을 나타낸다.
▽Xf(X)=▽Xtr(WX)=▽X(w11x11+w12x21+⋯+w1nxn1+w21x12+w22x22+⋯+w2nxn2+⋯+wn1x1n+wn2x2n+⋯+wnnxnn=⎣⎢⎢⎢⎢⎡w11w12⋮w1nw21w22⋮w2n⋯⋯⋱⋯wn1wn2⋮wnn⎦⎥⎥⎥⎥⎤=WT
determinant(X)의 미분
X∈Rn×n가 행렬이고 스칼라 함수 f(X)가 f(X)=det(X)로 주어졌을 때, f(X)를 X로 미분하면 다음과 같다.
▽Xf(X)=▽Xdet(X)=adjT(X)
여기서 수반행렬(adjoint matrix) adj(X)는 X−1=det(X)adj(X)로 주어진다.
log(determinant(X))의 미분
X∈Rn×n가 행렬이고 스칼라 함수 f(X)가 f(X)=log(det(X))로 주어졌을 때, f(X)를 X로 미분하면 다음과 같다.
▽Xf(X)=▽Xlog(det(X))=det(X)▽Xdet(X)=det(X)adjT(X)=X−T
References
[1] 박성수. (2020). 수학으로 풀어보는 강화학습 원리와 알고리즘. 위키북스