矩阵求导(本质、原理与推导)详解

本文深入浅出地介绍了矩阵求导的基本概念,包括不同类型的函数及其变元,导数的定义和计算方法。并通过实例展示了矩阵求导的具体步骤,最后给出了矩阵求导的通用方法。

矩阵求导是机器学习与深度学习的基础,它是高等数学、线性代数知识的综合,并推动了概率论与数理统计向多元统计的发展。在一般的线性代数的课程中,很少会提到矩阵导数的概念;而且在网上寻找矩阵求导的知识点,也是五花八门,各有各的说法,各有各自的定义,好多东西也是很容易弄得混淆。那么兔兔今天就从头到尾详细讲解矩阵求导的本质,原理与一般解法的推导。

 一:认识函数,认识自变量(变元)

认识函数,认识自变量是非常重要的,这是我们的立足点。回顾高数中的知识,我们大部分情况下遇到的都是自变量是一个数,值是一个数,函数的作用是把一个数映射成另一个数。但是也有自变量是多个数,值是一个数(即多元函数)。

那么在从传统的高等数学向矩阵延伸时,自变量就不一定是一个数了。自变量可以是一个数,可以是多个数(多个数是一个向量或是一个矩阵);经函数映射处理后得到的值以是一个数,一个向量或矩阵。至于值是数还是向量、矩阵,与函数function有关。

这样我们就把自变量分成数,向量,矩阵三种,我们也可以把自变量叫做函数function的变元。把函数function分成三种:function是标量、向量、矩阵,我们就把function分别叫做——实值标量函数(映射成数)、实向量函数(映射成向量)、实矩阵函数(映射成矩阵)。

(1)function是实标量函数(用f表示),其变元是标量(用x表示)

这个其实就是我们最最常见的一元函数。比如f(x)=x^{^{2}}+x+1,f(x)=2x+3等。它就是把一个数映射成另一个数。

(2)function是实标量函数(用f表示),其变元是向量(用x\underset{x}{\rightarrow}表示)

如果我们纸上书写,最好用\underset{x}{\rightarrow}表示,便于区分,而在电脑上一般用加粗表示向量。

对于这种情况,就是高数中的多元函数。只不过自变量的多元我们用向量表示,并且我们通常都认为是列向量(这个是约定俗成的东西,而且大家用同样的标准,交流起来也很方便)。例如f(\boldsymbol{\mathbf{}x})=x^{^{2}}+y^{^{2}},变元x就是(x,y)^{^{T}}f(\mathbf{x})=2x_{1}+x_{2}-3x_{3}^{2},变元x就是(x_{1},x_{2},x_{3})^{T}

(3)function是实标量函数(用f表示),其变元是矩阵(用X表示)

比如函数f(X)=u^{2}+2v^{3}+w+4x,变元X=\begin{pmatrix} u& v & \\w&x \end{pmatrix}。函数f(X)=x_{11}+4x_{12}+2x_{21}+x_{22},变元X=\begin{pmatrix} x_{11}&x_{12}\\ x_{21}&x_{22} \end{pmatrix}

(4)function是实向量函数(用f\underset{f}{\rightarrow}表示),其变元是标量(用x表示)。

这时function就是把一个数x映射成向量。例如\mathbf{f}(x)=\begin{pmatrix} f_{1}(x)\\f_{2}(x)\\f_{3}(x)\end{pmatrix}= \begin{pmatrix} x^{2}\\ 3x\\ 2x^{3}\end{pmatrix},里面的f1,f2,f3其实就是前面讲的实标量函数。组合成向量形成的就是一个实向量函数。

(5)function是实向量函数(用f\underset{f}{\rightarrow}表示),其变元是向量(用x\underset{x}{\rightarrow}表示)。

这时function把向量映射成向量。例如\mathbf{f}(\mathbf{x})=\begin{pmatrix}f_{1}(\mathbf{x})\\f_{2}(\mathbf{x}) \\f_{3}(\mathbf{x})\end{pmatrix}=\begin{pmatrix} x_{1}+x_{2}+x{3}\\ 2x_{1}^{2}+3x_{2}\\x_{1}^{3}+2x_{2}+x_{3}+1\end{pmatrix},x=\begin{pmatrix} x_1&x_{2}&x_{3}\end{pmatrix}^{T}。和刚才一样,里面f1,f2,f3是实标量函数,每个都把向量映射成数,又把数排列一起成向量。

注意:我们在高数等其它教材或是网上看到的向量函数(vector function)对应的就是该(5)条的情形。那里的向量函数定义是:从R^{n}\rightarrow R^{m}的映射。对应这里就是function是m维的,把n维向量x在function作用下映射成m维向量。

(6)function是实向量函数(用f\underset{f}{\rightarrow}表示),其变元是矩阵(用X表示)

例子就是f(X)=\begin{pmatrix}f_{1}(X)\\f_{2}(X)\\f_{3}(X) \end{}=\begin{pmatrix} x_{11}+x_{12}+x_{21}+x_{22}\\3x_{11}+4x_{21}+x_{22}^{2}\\ x_{11}^{2}+3x_{12}+x_{21}+4x_{22}+1\end{pmatrix}。变元就是X=\begin{pmatrix} x_{11}&x_{12}\\x_{21}&x_{22}\end{}。它其实就是把矩阵映射成了向量。里面f1,f2,f3分别把矩阵X映射成数,也就是(3)那一部分。

(7)function是实矩阵函数(用F表示),其变元是标量(用x表示)。

比如F(x)=\begin{pmatrix} f_{11}&f_{12}\\f_{21}&f_{22}\end{pmatrix}= \begin{pmatrix}x+1&x^{2}+2x\\ 3x-4&x^{3}+3 \end{},就是在实矩阵函数的映射下,变成了相应的矩阵。

(8)function是实矩阵函数(用F表示),其变元是向量(用x

评论 12
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

生信小兔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值