一个F范数对矩阵求导例子
==PART1 ==
1. 问题
如何求下列表达式中的未知参数W?求偏导?
minf(W)=minw∥(XW∘D˘)B∥F2(0)\min f(W)=\min_w \|(XW \circ \breve{D})B\|_F^2 \tag{0} minf(W)=wmin∥(XW∘D˘)B∥F2(0)
其中 只有W是未知参数\textcolor{red}{只有W是未知参数}只有W是未知参数,且X∈Rn×m,W∈Rm×c,D˘∈Rn×c,B∈Rc×cX \in R^{n \times m}, W \in R^{m \times c}, \breve{D} \in R^{n \times c}, B \in R^{c \times c}X∈Rn×m,W∈Rm×c,D˘∈Rn×c,B∈Rc×c
同时∘\circ∘ 表示 Hadamard积,即矩阵按位乘(matlab的点乘)。
2. 推导过程
令S=XW∘D˘S=XW \circ \breve{D}S=XW∘D˘,则
f(W)=∥(XW∘D˘)B∥F2=∥SB∥F2=tr(SBBTST)(1)f(W)=\|(XW \circ \breve{D})B\|_F^2 \\ = \|SB\|_F^2 \\ =tr(SBB^TS^T) \tag{1} f(W)=∥(XW∘D˘)B∥F2=∥SB∥F2=tr(SBBTST)(1)
由于有∂tr(XBXT)∂X=XBT+XB,(2)\frac{\partial{tr(XBX^T)}}{\partial{X}}=XB^T + XB \tag{2}, ∂X∂tr(XBXT)=XBT+XB,(2)
所以
∂f∂S=SBBT+SBBT=2SBBT(3)\frac{\partial{f}}{\partial{S}}=SBB^T + SBB^T=2SBB^T \tag{3} ∂S∂f=SBBT+SBBT=2SBBT(3)
继续求解:
df=tr[(∂f∂S)TdS]=tr[(∂f∂S)Td(XW∘D˘)]=tr[(∂f∂S)T(d(XW)∘D˘)]=tr[(∂f∂S)T(XdW∘D˘)]=tr[(∂f∂S)T(D˘∘XdW)]=tr[(∂f∂S∘D˘)TXdW)]=tr[(XT(∂f∂S∘D˘))TdW]df=tr[(\frac{\partial{f}}{\partial{S}})^TdS]=tr[(\frac{\partial{f}}{\partial{S}})^Td(XW \circ \breve{D})] \\ =tr[(\frac{\partial{f}}{\partial{S}})^T(d(XW)\circ\breve{D}) ] \\ =tr[(\frac{\partial{f}}{\partial{S}})^T(XdW\circ\breve{D})] \\ =tr[(\frac{\partial{f}}{\partial{S}})^T(\breve{D} \circ XdW)] \\ =tr[(\frac{\partial{f}}{\partial{S}} \circ \breve{D})^TXdW)] \\ =tr[(X^T(\frac{\partial{f}}{\partial{S}} \circ \breve{D}))^TdW] \\ df=tr[(∂S∂f)TdS]=tr[(∂S∂f)Td(XW∘D˘)]=tr[(∂S∂f)T(d(XW)∘D˘)]=tr[(∂S∂f)T(XdW∘D˘)]=tr[(∂S∂f)T(D˘∘XdW)]=tr[(∂S∂f∘D˘)TXdW)]=tr[(XT(∂S∂f∘D˘))TdW]
所以:
∂f∂W=XT(∂f∂S∘D˘)=XT[(2SBBT)∘D˘]=XT(2(XW∘D˘)BBT∘D˘)\frac{\partial{f}}{\partial{W}}=X^T(\frac{\partial{f}}{\partial{S}} \circ \breve{D})=X^T[(2SBB^T) \circ \breve{D}] \\ =X^T(2(XW \circ \breve{D})BB^T\circ \breve{D} ) ∂W∂f=XT(∂S∂f∘D˘)=XT[(2SBBT)∘D˘]=XT(2(XW∘D˘)BBT∘D˘)
3. 说明
- 本篇内容属于标量对矩阵的求导,还有更难的矩阵对矩阵求导
- 本文内容经 矩阵求导术 相关内容推导而来,更详细说明请参阅矩阵求导术相关内容 https://blog.csdn.net/lgl123ok/article/details/120780368
- 重点公式:
==PART2 ==
问题2: ∥XW−Z∥F2\|XW-Z\|_F^2∥XW−Z∥F2对W求偏导是多少?
答:令 f(W)=∥XW−Z∥F2f(W)=\|XW-Z\|_F^2f(W)=∥XW−Z∥F2, S=XW-Z
则 ∂f∂S=2S=2(XW−Z)\frac{\partial{f}}{\partial{S}}=2S=2(XW-Z) ∂S∂f=2S=2(XW−Z)
df=tr[(∂f∂S)TdS]=tr[(∂f∂S)Td(XW−Z)]=tr[(∂f∂S)T(XdW)]=tr[(XT∂f∂S)TdW]df=tr[(\frac{\partial{f}}{\partial{S}})^TdS]=tr[(\frac{\partial{f}}{\partial{S}})^Td(XW -Z)] \\ =tr[(\frac{\partial{f}}{\partial{S}})^T(XdW) ] \\ =tr[(X^T\frac{\partial{f}}{\partial{S}})^TdW ] \\ df=tr[(∂S∂f)TdS]=tr[(∂S∂f)Td(XW−Z)]=tr[(∂S∂f)T(XdW)]=tr[(XT∂S∂f)TdW]
所以:
∂f∂W=XT∂f∂S=XT[2(XW−Z)]=2XT(XW−Z)\frac{\partial{f}}{\partial{W}}=X^T\frac{\partial{f}}{\partial{S}} =X^T[2(XW-Z)] \\ =2X^T(XW-Z) ∂W∂f=XT∂S∂f=XT[2(XW−Z)]=2XT(XW−Z)
结论是正确的,参 Multi-label feature selection via manifold regularization and
dependence maximization 的第11式。
==PART3 ==
问题3: ∥Q−W∘A+1ρΓ1∥F2\|Q- W \circ A + \frac{1}{\rho}\Gamma_1\|_F^2∥Q−W∘A+ρ1Γ1∥F2对W求偏导是多少? 圈是点乘。
答:令 f(W)=∥Q−W∘S+1ρΓ1∥F2f(W)=\|Q- W \circ S + \frac{1}{\rho}\Gamma_1\|_F^2f(W)=∥Q−W∘S+ρ1Γ1∥F2, S=Q−W∘S+1ρΓ1S=Q- W \circ S + \frac{1}{\rho}\Gamma_1S=Q−W∘S+ρ1Γ1
则 ∂f∂S=2S=2(Q−W∘A+1ρΓ1)\frac{\partial{f}}{\partial{S}}=2S=2(Q- W \circ A + \frac{1}{\rho}\Gamma_1) ∂S∂f=2S=2(Q−W∘A+ρ1Γ1)
df=tr[(∂f∂S)TdS]=tr[(∂f∂S)Td(Q−W∘A+1ρΓ1)]=tr[(∂f∂S)T(−A∘dW)]=tr[(∂f∂S∘(−A))TdW]df=tr[(\frac{\partial{f}}{\partial{S}})^TdS]=tr[(\frac{\partial{f}}{\partial{S}})^Td(Q- W \circ A + \frac{1}{\rho}\Gamma_1)] \\ =tr[(\frac{\partial{f}}{\partial{S}})^T(-A \circ dW) ] \\ =tr[(\frac{\partial{f}}{\partial{S}} \circ (-A))^TdW ] \\ df=tr[(∂S∂f)TdS]=tr[(∂S∂f)Td(Q−W∘A+ρ1Γ1)]=tr[(∂S∂f)T(−A∘dW)]=tr[(∂S∂f∘(−A))TdW]
所以:
∂f∂W=∂f∂S∘(−A)=2(Q−W∘A+1ρΓ1)∘(−A)=−2(Q−W∘A+1ρΓ1)∘A\frac{\partial{f}}{\partial{W}}=\frac{\partial{f}}{\partial{S}} \circ (-A) =2(Q- W \circ A + \frac{1}{\rho}\Gamma_1) \circ (-A) \\ =-2(Q- W \circ A + \frac{1}{\rho}\Gamma_1) \circ A ∂W∂f=∂S∂f∘(−A)=2(Q−W∘A+ρ1Γ1)∘(−A)=−2(Q−W∘A+ρ1Γ1)∘A
这个只能适当参考。
一个F范数对矩阵求导例子相关推荐
- 机器学习中的线性代数之矩阵求导
前面针对机器学习中基础的线性代数知识,我们做了一个常用知识的梳理.接下来针对机器学习公式推导过程中经常用到的矩阵求导,我们做一个详细介绍. 矩阵求导(Matrix Derivative)也称作矩阵微分 ...
- 通过一个例子快速上手矩阵求导
前提及说明 第一次遇见矩阵求导,大多数人都是一头雾水,而搜了维基百科看也还是云里雾里,一堆的名词和一堆的表格到底都是什么呢?这里总结了我个人的学习经验,并且通过一个例子可以让你感受如何进行矩阵求导,下 ...
- 【杂文随笔1】学习笔记(含欧氏空间、范数、李群与李代数、单满双射、矩阵求导等)
文章目录 前言 一.欧几里得空间(欧氏空间) 二.范数 1. 定义1 2. 定义2 三.李群与李代数 四.单.满.双射 五.矩阵的求导 六.齐次坐标 七.尺寸不变性.旋转不变性 八.句柄(Handle ...
- 矩阵论(八):矩阵微分与矩阵求导
矩阵论专栏:专栏(文章按照顺序排序) 做机器学习的几乎避免不了矩阵求导,尤其是神经网络方面的,反向传播算法说白了就是在做矩阵求导,拿到代价函数对模型中每个参数矩阵的导数,才能找到一个下降方向,进而更新 ...
- 矩阵求导公式,及MathJax公式编辑
最近学到线性回归中要用到向量,矩阵求导,所以就搜集了下资料,总结如下: 矩阵求导有两种布局: 分子布局(numerator layout) 分母布局(denominator layout) 下面用向量 ...
- 矩阵求导与BP的证明的建议
前言 在有些博客推导神经网络的BP时,涉及到多次矩阵求导运算,尤其是反向传播时候,求的梯度结果被转置了,比如假设最后一层的输出为 y=σ(w⋅x+b) y=\sigma\left(w\cdot x+b ...
- [机器学习-数学] 矩阵求导(分母布局与分子布局),以及常用的矩阵求导公式
一, 矩阵求导 1,矩阵求导的本质 矩阵A对矩阵B求导: 矩阵A中的每一个元素分别对矩阵B中的每个元素进行求导. A1×1A_{1\times1}A1×1, B1×1B_{1\times1}B1×1 ...
- 神经网络中矩阵求导术的应用
神经网络中矩阵求导术的应用 序 记法约定 常用公式和定理 举例 多层神经网络(MLP)的梯度推导 Batch Normalization Layer的推导 序 本文假设读者熟悉一元微积分,线性代数,并 ...
- 矩阵求导(一)-- 求导的定义和布局约定
本系列主要参考张贤达的<矩阵分析与应用>第三章 矩阵微分和下面的博客内容进行学习,并整理成学习笔记.学习路线参考SinclairWang的文章--矩阵求导入门学习路线,按下面推荐顺序学习, ...
最新文章
- mybatis自动生成代码工具
- Neural Networks神经网络编程入门
- centos6.5下如何把python2.6.6升级到2.7
- Android:Fragment官方文档
- 通达信版弘历软件指标_弘历指标源码:弘历软件主要功能是什么?选股精不精准?...
- 【微服务架构】让我们谈谈“拥有”他们的数据的微服务
- 毕业设计——阶段性成果展示
- java pgm_(转) PGM图像处理方法详解(很好一篇)
- Windows Sockets概述
- iphone11各机型对比_9款旗舰系统对比 iPhone 11居然不是最好用的
- 根号分治 + 入门题目
- Open For Bussiness (HelloWorld)
- 安卓开发新手入门教程!Android学习路线指南,复习指南
- RTX 3060 快速配置GPU版本tensorflow
- Android 地图标识标签
- 【转载】Java重试机制
- cmos管宽长比,OC, OD门和线与逻辑,传输门,竞争冒险,三态门
- E4手环获取数据步骤
- AI环境配置(Anaconda、Pycharm)
- 2022年最实用的DevOps工具