Matrix Calculus - jaeaehkim/trading_system_beta GitHub Wiki

Motivation

  • 스칼라 입력을 받고 스칼라 출력을 하는 함수 >> 벡터/행렬 입력으로 받아서 벡터/행렬 출력하는 함수로 확장
  • 더 다양한 문제를 함수로 모델링 할 수 있음
  • 행렬을 입출력을 미분하는 것을 matrix differentiation이라 하고 편미분의 확장하는 개념
  • 표현 방식이 1)분자중심 표현법(Numerator-layout notation), 2)분모중심 표현법(Denominator-layout notation)이 있고, 많은 페이퍼에서 한 가지 방식으로 서술하나 일부 페이퍼는 혼용하는 경우가 있기 때문에 정확히 읽는 습관을 갖는 것이 중요

Input/Output Case

vector -> scalar

image

matrix -> scalar

image

scalar -> vector

image

scalar -> matrix

image

vector -> vector

image

vector -> matrix

image

scalar를 vector로 미분하는 경우 (입력 : vector -> 출력 : scalar)

image

  • delta f 를 gradient vector라고 부른다.
  • 데이터 분석에선 입력을 벡터로 받고 출력을 스칼라로 하는 경우가 많음.

행렬미분 공식1 : 선형모형

image

  • w, x 는 모두 vector

행렬미분 공식2 : 이차형식

image

  • x는 vector, A는 matrix

vector를 scalr로 미분하는 경우 (입력 : scalar -> 출력 : vector)

image image

vector를 vector로 미분하는 경우 (입력 : vector -> 출력 : vector)

image

행렬미분 공식3 : 행렬과 벡터의 곱의 미분

image

  • 행렬A와 벡터x

자코비안 행렬 (Jacobian Matrix)

image

  • 함수의 입출력 모두 다차원인 경우 도함수를 구하면 행렬 형태를 갖게 된다.
  • 자코비안 행렬은 벡터 함수를 벡터 변수로 미분해서 생기는 행렬의 전치행렬 (도함수 행렬)

헤시안 행렬 (Hessian Matrix)

image image image

  • gradient vector를 입력 변수 vector로 미분한 것이고 다변수 함수의 2차 도함수

scalar를 matrix로 미분하는 경우 (입력 : matrix -> 출력 : scalar)

image

행렬미분 공식4 : 행렬 곱의 대각성분

image

행렬미분 공식5 : 행렬식의 로그

image

Summary

image

  • a,b : 상수 벡터
  • A : 상수 행렬
  • y,z : x와 함수관계 갖는 벡터

Ref