要用到的几个符号与结论
∇θJ=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢∂J∂θ0..∂J∂θn⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥....(1)
若存在一个映射
f(A)=a
让m*n的矩阵A映射到1个数a,我们定义:
∇Af(A)=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢∂f∂A11..∂f∂Am1....∂f∂A1n..∂f∂Amn⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥....(2)
其中A为m*n的矩阵。
trAB=trBA....(3)
trABC=trCAB=trBCA....(4)
trA=trAT....(5)
tr(a)=a....(6)
∇AtrAB=BT....(7)
∇AtrABATC=CAB+CTABT....(8)
梯度下降法
θ=θ−α∇θJ
例子
我们考虑对以下函数求偏导:
J(u)=uTSu+λ1(1−uTu)
∂J∂u=∇uJ=∇utr(J)(公式6)=∇utr(uTSu+λ1(1−uTu))=∇utr(uTSu)−λ1∇utr(uTu)
其中:
∇utr(uTSu)=∇utr(uuTS)(公式4)=∇utr(uEuTS)=Su+STu(公式8)=2Su
由于在这例子里 S=ST 所以合并为一项,其中E是单位矩阵。
∇utr(uTu)=∇utr(uuT)(公式3)=∇utr(uEuTE)=u+u(公式8)=2u
所以
∂J∂u=2Su−2λ1u
作为分享主义者(sharism),本人所有互联网发布的图文均遵从CC版权,转载请保留作者信息并注明作者a358463121专栏:http://blog.csdn.net/a358463121,如果涉及源代码请注明GitHub地址:https://github.com/358463121/。商业使用请联系作者。