矩阵的 Frobenius 范数及其求偏导法则
cr:http://blog.csdn.net/txwh0820/article/details/46392293
一、矩阵的迹求导法则
1. 复杂矩阵问题求导方法:可以从小到大,从scalar到vector再到matrix
2. x is a column vector, A is a matrix
d(A∗x)/dx=A
d(xT∗A)/dxT=A
d(xT∗A)/dx=AT
d(xT∗A∗x)/dx=xT(AT+A)
3. Practice:
4. 矩阵求导计算法则
求导公式(撇号为转置):
Y = A * X –> DY/DX = A’
Y = X * A –> DY/DX = A
Y = A’ * X * B –> DY/DX = A * B’
Y = A’ * X’ * B –> DY/DX = B * A’
乘积的导数:
d(f*g)/dx=(df’/dx)g+(dg/dx)f’
一些结论:
- 矩阵Y对标量x求导:
相当于每个元素求导数后转置一下,注意M×N矩阵求导后变成N×M了
Y = [y(ij)]–> dY/dx = [dy(ji)/dx] - 标量y对列向量X求导:
注意与上面不同,这次括号内是求偏导,不转置,对N×1向量求导后还是N×1向量
y = f(x1,x2,..,xn) –> dy/dX= (Dy/Dx1,Dy/Dx2,..,Dy/Dxn)’ - 行向量Y’对列向量X求导:
注意1×M向量对N×1向量求导后是N×M矩阵。
将Y的每一列对X求偏导,将各列构成一个矩阵。
重要结论:
dX’/dX =I
d(AX)’/dX =A’ - 列向量Y对行向量X’求导:
转化为行向量Y’对列向量X的导数,然后转置。
注意M×1向量对1×N向量求导结果为M×N矩阵。
dY/dX’ =(dY’/dX)’ - 向量积对列向量X求导运算法则:
注意与标量求导有点不同。
d(UV’)/dX =(dU/dX)V’ + U(dV’/dX)
d(U’V)/dX =(dU’/dX)V + (dV’/dX)U’
重要结论:
d(X’A)/dX =(dX’/dX)A + (dA/dX)X’ = IA + 0X’ = A
d(AX)/dX’ =(d(X’A’)/dX)’ = (A’)’ = A
d(X’AX)/dX =(dX’/dX)AX + (d(AX)’/dX)X = AX + A’X - 矩阵Y对列向量X求导:
将Y对X的每一个分量求偏导,构成一个超向量。
注意该向量的每一个元素都是一个矩阵。 - 矩阵积对列向量求导法则:
d(uV)/dX =(du/dX)V + u(dV/dX)
d(UV)/dX =(dU/dX)V + U(dV/dX)
重要结论:
d(X’A)/dX =(dX’/dX)A + X’(dA/dX) = IA + X’0 = A - 标量y对矩阵X的导数:
类似标量y对列向量X的导数,
把y对每个X的元素求偏导,不用转置。
dy/dX = [Dy/Dx(ij) ]
重要结论:
y = U’XV= ΣΣu(i)x(ij)v(j) 于是 dy/dX = [u(i)v(j)] =UV’
y = U’X’XU 则dy/dX = 2XUU’
y =(XU-V)’(XU-V) 则 dy/dX = d(U’X’XU - 2V’XU + V’V)/dX = 2XUU’ - 2VU’ +0 = 2(XU-V)U’ - 矩阵Y对矩阵X的导数:
将Y的每个元素对X求导,然后排在一起形成超级矩阵。
10.乘积的导数
d(f*g)/dx=(df’/dx)g+(dg/dx)f’
结论
d(x’Ax)=(d(x”)/dx)Ax+(d(Ax)/dx)(x”)=Ax+A’x (注意:”是表示两次转置)
矩阵求导 属于 矩阵计算,应该查找 Matrix Calculus 的文献:
http://www.psi.toronto.edu/matrix/intro.html#Intro
http://www.psi.toronto.edu/matrix/calculus.html
http://www.stanford.edu/~dattorro/matrixcalc.pdf
http://www.colorado.edu/engineering/CAS/courses.d/IFEM.d/IFEM.AppD.d/IFEM.AppD.pdf
http://www4.ncsu.edu/~pfackler/MatCalc.pdf
http://center.uvt.nl/staff/magnus/wip12.pdf
矩阵的 Frobenius 范数及其求偏导法则的更多相关文章
- 矩阵的frobenius范数及其求偏导法则
例子: http://www.mathchina.net/dvbbs/dispbbs.asp?boardid=4&Id=3673
- 矩阵的f范数及其求偏导法则
转载自: http://blog.csdn.net/txwh0820/article/details/46392293 矩阵的迹求导法则 1. 复杂矩阵问题求导方法:可以从小到大,从scalar到 ...
- Maths | 二次型求偏导
- 用tensorflow求偏导
# coding:utf-8 from __future__ import absolute_import from __future__ import unicode_literals from _ ...
- MathType二次偏导怎么表示
求导以及求偏导运算在数学中是很重要的一个部分,尤其是在高等数学中,基本都由函数的导数与偏导组成,很多公式定理也是关于这方面的,如果少了这一部分,数学将会黯然失色.因此在文档中涉及到这些内容时,必然会少 ...
- Frobenius norm(Frobenius 范数)
Frobenius 范数,简称F-范数,是一种矩阵范数,记为||·||F. 矩阵A的Frobenius范数定义为矩阵A各项元素的绝对值平方的总和,即 可用于 利用低秩矩阵来近似单一数据矩阵. 用数学表 ...
- C++实现矩阵的相加/相称/转置/求鞍点
1.矩阵相加 两个同型矩阵做加法,就是对应的元素相加. #include<iostream> using namespace std; int main(){ int a[3][3]={{ ...
- 螺旋矩阵O(1)根据坐标求值
传送门 洛谷2239 •题意 从矩阵的左上角(第11行第11列)出发,初始时向右移动: 如果前方是未曾经过的格子,则继续前进,否则右转: 重复上述操作直至经过矩阵中所有格子. 根据经过顺序,在格子中依 ...
- 关于matlab矩阵卷积conv2和傅里叶变换求卷积ifft2的关系
先定义两个矩阵 a = [1 2 3 5 ; 4 7 9 5;1 4 6 7;5 4 3 7;8 7 5 1] %a矩阵取5*4 b = [1 5 4; 3 6 8; 1 5 7] %b矩阵如多数 ...
随机推荐
- 【记录】git 拉取远程分支代码,同步到另一个git上
最近有需求从某git 上拉取所有分支代码同步到另一git上,现记录操作步骤,以便日后使用: 1:先克隆其中一个分支代码到本地环境 git clone -b test http://账号:密码@XXX. ...
- java 三元运算符
/* 一元运算符:只需要一个数据就可以进行操作的运算符 如:取反! 自增++ 自减 -- 二元运算符:需要两个数据才可以进行操作的运算符 如:加法+ 赋值= 三元运算符: 需要三个数据才可以进行操作的 ...
- 2019年React学习路线图
作者|javinpaul 译者|无明 之前我们已经介绍了 2019 年 Vue 学习路线图,而 React 作为当前应用最广泛的前端框架,在 Facebook 的支持下,近年来实现了飞越式的发展,我们 ...
- python读写excel(xlrd、xlwt)
一.读excel表 读excel用到xlrd模块,写excel用到xlwt模块: # 1.导入模块 import xlrd # 2.打开Excel文件读取数据 workbook = xlrd.open ...
- ios添加-webkit-overflow-scrolling依然卡顿
项目由vue-cli2创建 在overflow: auto区域内滑动ios手机出现卡顿,搜索资料后添加-webkit-overflow-scrolling: touch ios bug: 1.滑动区域 ...
- Python 序列类型拆包 %s 和'{}'.format 的功能差异之一
>>> 1, 2, 3 #这样写成一行相当于一个元组(1, 2, 3)>>> x = 1, 2, 3>>> x(1, 2, 3)>>& ...
- Java:新建数组
Array Initialization int[] a; = int a[]; int[] a = new int[100]; a[]的值会被初始化为0 `int[] smallPrimes = { ...
- js调用浏览器
定义和用法 open() 方法用于打开一个新的浏览器窗口或查找一个已命名的窗口. 语法 window.open(URL,name,specs,replace) 参数 说明 URL 可选.打开指定的页面 ...
- OC学习篇之---单例模式
在之前的一片文章中介绍了对象的拷贝相关知识:http://blog.csdn.net/jiangwei0910410003/article/details/41926531,今天我们来看一下OC中的单 ...
- svn服务端安装、迁移教程、Eclipse切换svn连接库
svn服务端安装.迁移教程.Eclipse切换svn连接库 安装教程 1.下载svn服务端安装程序 2.运行程序,安装 这里端口号根据自己定义,避免与其他程序冲突 到这里就安装完成 迁移教程 这里举例 ...