You are on page 1of 3

Matrix Differentiation [Detailed Derivation]

Variables
A - Input Matrix

a11 a12 … a1j


⎡ ⎤

⎢ a21 a22 … a2j ⎥


⎢ ⎥
A = ⎢ ⎥
⎢ ⎥
⎢ ⋮ ⋮ ⋱ ⋮ ⎥

⎣ ⎦
ai1 ai2 … aij

W - Weight Matrix

w11
⎡ ⎤

⎢ w21 ⎥
⎢ ⎥
W = ⎢ ⎥
⎢ ⎥
⎢ ⋮ ⎥
⎣ ⎦
wj1

^
Y - Y predict

^
Y = A. W

^
y 11
⎡ ⎤

⎢y^ ⎥
21
^ ⎢ ⎥
Y = ⎢ ⎥
⎢ ⎥
⎢ ⋮ ⎥

⎣ y
^ ⎦
i1

a11 a12 … a1j w11


⎡ ⎤ ⎡ ⎤
⎢ a21 a22 … a2j ⎥
⎢ w21 ⎥
^ ⎢ ⎥ ⎢ ⎥
Y = ⎢ ⎥ ⋅ ⎢ ⎥
⎢ ⎥ ⎢ ⋮

⎢ ⋮ ⋮ ⋱ ⋮ ⎥ ⎢ ⎥

⎣ a ⎣ ⎦
i1
ai2 … aij ⎦ wj1

Y - Y true

y11
⎡ ⎤

⎢ y21 ⎥
⎢ ⎥
Y = ⎢ ⎥
⎢ ⎥
⎢ ⋮ ⎥
⎣ ⎦
yi1

Expanding Y^
a11 a12 … a1j w11
⎡ ⎤ ⎡ ⎤
⎢ a21 a22 … a2j ⎥
⎢ w21 ⎥
^ ⎢ ⎥ ⎢ ⎥
Y = ⎢ ⎥ ⋅ ⎢ ⎥
⎢ ⎥ ⎢ ⎥
⎢ ⋮ ⋮ ⋱ ⋮ ⎥ ⎢ ⋮ ⎥

⎣ ⎦ ⎣ ⎦
ai1 ai2 … aij wj1

a11 w11 + a12 w21 + ⋯ + a1j wj1


⎡ ⎤

⎢ a21 w11 + a22 w21 + ⋯ + a2j wj1 ⎥


⎢ ⎥
= ⎢ ⎥
⎢ ⎥
⎢ ⋮ ⎥

⎣ ⎦
ai1 w11 + ai2 w21 + ⋯ + aij wj1

loss
1
^ 2
loss = ∑(Y − Y )
N

2
(y11 − a11 w11 − a12 w21 − ⋯ − a1j wj1 )
⎛ ⎞
2
1 ⎜ +(y21 − a21 w11 − a22 w21 − ⋯ − a2j wj1 ) ⎟
⎜ ⎟
= ⎜ ⎟
N ⎜ ⎟
⎜ ⋮ ⎟

⎝ 2 ⎠
+(yi1 − ai1 w11 − ai2 w21 − ⋯ − aij wj1 )

Here N is number of rows in input matrix A

Finding δW
2
(y11 − a11 w11 − a12 w21 − ⋯ − a1j wj1 )
⎛ ⎞
2
d(loss) 1 ⎜ +(y21 − a21 w11 − a22 w21 − ⋯ − a2j wj1 ) ⎟
d ⎜ ⎟
= ⎜ ⎟
d(wj1 ) N d(wj1 ) ⎜ ⋮

⎜ ⎟

⎝ 2 ⎠
+(yi1 − ai1 w11 − ai2 w21 − ⋯ − aij wj1 )

d 2
⎛ (y11 − a11 w11 − a12 w21 − ⋯ − a1j wj1 ) ⎞
d(wj1 )

⎜ d

2
⎜+ (y21 − a21 w11 − a22 w21 − ⋯ − a2j wj1 ) ⎟
d(loss) 1 ⎜ d(wj1 ) ⎟
= ⎜ ⎟
⎜ ⎟
d(wj1 ) N ⎜ ⎟
⎜ ⋮ ⎟
⎜ ⎟
d 2
⎝ + (yi1 − ai1 w11 − ai2 w21 − ⋯ − aij wj1 ) ⎠
d(wj1 )

2(y11 − a11 w11 − a12 w21 − ⋯ − a1j wj1 )(−a1j )


⎛ ⎞

+2(y21 − a21 w11 − a22 w21 − ⋯ − a2j wj1 )(−a2j )


d(loss) 1 ⎜ ⎟
⎜ ⎟
= ⎜ ⎟
d(wj1 ) N ⎜ ⎟
⎜ ⋮ ⎟

⎝ ⎠
+2(yi1 − ai1 w11 − ai2 w21 − ⋯ − aij wj1 )(−aij )
(y11 − a11 w11 − a12 w21 − ⋯ − a1j wj1 )(a1j )
⎛ ⎞

d(loss) 2 ⎜ +(y21 − a21 w11 − a22 w21 − ⋯ − a2j wj1 )(a2j ) ⎟


⎜ ⎟
= − ⎜ ⎟
d(wj1 ) N ⎜ ⎟
⎜ ⋮ ⎟

⎝ ⎠
+(yi1 − ai1 w11 − ai2 w21 − ⋯ − aij wj1 )(aij )

(y11 − a11 w11 − a12 w21 − ⋯ − a1j wj1 )


⎡ ⎤

d(loss) 2 ⎢ (y21 − a21 w11 − a22 w21 − ⋯ − a2j wj1 ) ⎥


⎢ ⎥
= − [ a1j a2j … aij ] ⋅ ⎢ ⎥
d(wj1 ) N ⎢ ⎥
⎢ ⋮ ⎥

⎣ ⎦
(yi1 − ai1 w11 − ai2 w21 − ⋯ − aij wj1 )

T
a1j (y11 − a11 w11 − a12 w21 − ⋯ − a1j wj1 )
⎡ ⎤ ⎡ ⎤

a ⎢ (y21 − a21 w11 − a22 w21 − ⋯ − a2j wj1 )


d(loss) 2 ⎢ 2j ⎥ ⎥
⎢ ⎥ ⎢ ⎥
= − ⎢ ⎥ ⋅ ⎢ ⎥
d(wj1 ) N ⎢ ⎥ ⎢ ⎥
⎢ ⋮ ⎥ ⎢ ⋮ ⎥

⎣ a ⎦ ⎣ (y − ai1 w11 − ai2 w21 − ⋯ − aij wj1 ) ⎦


ij i1

T
a1j y11 a11 w11 + a12 w21 + ⋯ + a1j wj1
⎡ ⎤ ⎡⎡ ⎤ ⎡ ⎤⎤

d(loss) 2 ⎢ a2j ⎥ ⎢⎢ y21 ⎥ ⎢ a21 w11 + a22 w21 + ⋯ + a2j wj1 ⎥⎥


⎢ ⎥ ⎢⎢ ⎥ ⎢ ⎥⎥
= − ⎢ ⎥ ⋅ ⎢⎢ ⎥ − ⎢ ⎥⎥
d(wj1 ) N ⎢ ⎥ ⎢⎢ ⎥ ⎢ ⎥⎥
⎢ ⋮ ⎥ ⎢⎢ ⋮ ⎥ ⎢ ⋮ ⎥⎥

⎣ ⎦ ⎣⎣ ⎦ ⎣ ⎦⎦
aij yi1 ai1 w11 + ai2 w21 + ⋯ + aij wj1

T
a1j a11 a12 … a1j
⎡ ⎤ ⎡⎡ y11 ⎤ ⎡ ⎤ ⎡
w11
⎤⎤
a ⎢⎢ y21 ⎢ a21 a22 … a2j ⎥
⎢ w21 ⎥⎥
d(loss) 2 ⎢ 2j ⎥
⎢⎢

⎢ ⎥ ⎢
⎢ ⎥ ⎥ ⎥⎥
= − ⎢ ⎥ ⋅ ⎢⎢ ⎥ − ⎢ ⎥ ⋅ ⎢ ⎥⎥
d(wj1 ) N ⎢ ⎥ ⎢⎢ ⎥ ⎢ ⎥ ⎢

⎥⎥
⎢ ⋮ ⎥ ⎢⎢ ⋮ ⎥ ⎢ ⋮ ⋮ ⋱ ⋮ ⎥ ⎢ ⎥⎥

⎣ a ⎦ ⎣⎣ yi1
⎦ ⎣ ⎦ ⎣
wj1
⎦⎦
ij ai1 ai2 … aij

T
a11 a12 … a1j a11 a12 … a1j
⎡ ⎤ ⎡⎡ y11 ⎤ ⎡ ⎤ ⎡
w11
⎤⎤
⎢a a22 … a2j ⎥ ⎢⎢ y21 ⎢ a21 a22 … a2j ⎥
⎢ w21 ⎥⎥
2 ⎢ 21 ⎥ ⎢⎢

⎢ ⎥ ⎢
⎥ ⎥⎥
δW = − ⎢ ⎥ ⋅ ⎢⎢ ⎥ − ⎢ ⎥ ⋅ ⎢ ⎥⎥
N ⎢ ⎥ ⎢⎢ ⎥ ⎢ ⎥ ⎢ ⋮
⎥⎥
⎢ ⋮ ⋮ ⋱ ⋮ ⎥ ⎢⎢ ⋮ ⎥ ⎢ ⋮ ⋮ ⋱ ⋮ ⎥ ⎢ ⎥⎥

⎣ ⎦ ⎣⎣ yi1
⎦ ⎣ ⎦ ⎣
wj1
⎦⎦
ai1 ai2 … aij ai1 ai2 … aij

2
T
grad: δW = − A . (Y − A. W )
N

You might also like