一个求导的例子
问题
∂(y−Xw)T(y−Xw)∂w∂(y−Xw)T(y−Xw)∂w
说明: y、wy、w为列向量,XX为矩阵
式子演化
看到这个例子不要急着去查表求导,先看看它的形式,是u(w)∗v(w)u(w)∗v(w)的形式,这种形式一般求导较为复杂,因此为了简化运算,我们先把式子展开成下面的样子(注意:(Xw)T=wTXT(Xw)T=wTXT):
∂(yTy−yTXw−wTXTy+wTXTXw)∂w∂(yTy−yTXw−wTXTy+wTXTXw)∂w
然后就可以写成四个部分求导的形式如下(累加后求导=求导后累加):
∂yTy∂w−∂yTXw∂w−∂wTXTy∂w+∂wTXTXw∂w∂yTy∂w−∂yTXw∂w−∂wTXTy∂w+∂wTXTXw∂w
求导
- ∂yTy∂w∂yTy∂w求导 : ∂yTy∂w=0∂yTy∂w=0
说明:分子部分为标量,分母部分为向量,找到维基百科中的Scalar-by-vector identities表格,在表格中匹配形式到第1行的位置,因为分母为列向量,因此为分母布局,对应的求导结果就是 00。
- ∂yTXw∂w∂yTXw∂w求导 : ∂yTXw∂w=XTy∂yTXw∂w=XTy
说明:同样的,在维基百科中的Scalar-by-vector identities表格,在表格中匹配形式到第11行的位置,对应的求导结果就是 XTyXTy 。
- ∂wTXTy∂w∂wTXTy∂w求导 : ∂wTXTy∂w=∂(wTXTy)T∂w=∂yTXw∂w=XTy∂wTXTy∂w=∂(wTXTy)T∂w=∂yTXw∂w=XTy
说明:因为分子为标量,标量的转置等于本身,所以对分子进行转置操作,其等价于第二部分。
- ∂wTXTXw∂w∂wTXTXw∂w求导 : ∂wTXTXw∂w=2XTXw∂wTXTXw∂w=2XTXw
说明:同样的,在维基百科中的Scalar-by-vector identities表格,在表格中匹配形式到第13行的位置,矩阵的转置乘上本身(XTXXTX)为对称矩阵当做表格中的AA ,所以得到求导结果 2XTXw2XTXw。
整合
把四个部分求导结果进行相应的加减就可以得到最终的结果:
因为之前博主的答案有错,所以我直接改为正确的答案了。