机器学习数学知识补充之矩阵求导

一、向量函数和矩阵求导初印象

1.1 标量函数

  • 输出为标量的函数
  • 例如:
    • f(x)=x^2:输入:x,输出:x^2
    • f(x)=x_1^2+x_2^2:输入向量:\begin{bmatrix} x_1\\ x_2 \end{bmatrix},输出:x_1^2+x_2^2​​​​​​​

1.2 向量函数

  • 输出为向量(矩阵)的函数
  • 例如:
    • f(x)=\begin{bmatrix} f(x)=x \\ f(x)=x^2 \end{bmatrix}:输入:x,输出:\begin{bmatrix} x_1^2\\ x_2^2 \end{bmatrix}
    • f(x)=\begin{bmatrix} f_{11}(x)=x &f_{12}(x)=x^2\\ f_{21}(x)=x^3&f_{22}(x)=x^4 \end{bmatrix}:输入:x,输出:\begin{bmatrix} x &x^2 \\ x^3& x^4 \end{bmatrix}
    • f(x)=\begin{bmatrix} f_{11}(x)=x_1+x_2 &f_{12}(x)=x_1^2+x_2^2 \\ f_{21}(x)=x_1^3+x_2^3 & f_{22}(x)=x_1^4+x_2^4 \end{bmatrix}:输入:\begin{bmatrix} x_1\\ x_2 \end{bmatrix},输出:\begin{bmatrix} x_1+x_2 &x_1^2+x_2^2 \\ x_1^3+x_2^3 & x_1^4+x_2^4 \end{bmatrix}​​​​​​​

1.3 总结

  • 输入x可以为:标量、向量、矩阵等
  • 输出f(x)可以为:标量、向量、矩阵等
  • 输入和输出前两个两两组和有四种情况

1.4 本质

  • \frac{\mathrm{d} A}{\mathrm{d} B}:矩阵A中的每个元素对矩阵B中的每个元素进行求导
  • 从个数进行理解:
A B \frac{\mathrm{d} A}{\mathrm{d} B}
1\times 1 1\times 1 1\times 1
1\times p 1\times n p\times n
q\times p m\times n p\times q\times m \times n

二、求导技巧:YX拉伸

  • 两句口诀
    • 标量不变,向量拉伸
    • 前面横向拉,后面纵向拉(Y横向拉,X纵向拉)

2.1 例一

  • \frac{\mathrm{d} f(x)}{\mathrm{d} x}​​​​​​​
    • f(x):标量函数f(x)=f(x_1,x_2,...,x_n)
    • x:向量[x_1,x_2,...,x_n]^T​​​​​​​
  • 计算
    • 纵向拉伸其实就是将多元函数的偏导写在一个列向量中。

机器学习数学知识补充之矩阵求导_第1张图片

2.2 例二

  • \frac{\mathrm{d} f(x)}{\mathrm{d} x}
    • f(x):向量函数f(x)=\begin{bmatrix} f_1(x)\\ f_2(x)\\ \vdots \\ f_n(x) \end{bmatrix}
    • x:标量
  • 计算

机器学习数学知识补充之矩阵求导_第2张图片

2.3 例三

  • \frac{\mathrm{d} f(x)}{\mathrm{d} x}​​​​​​​
    • f(x):向量函数f(x)=\begin{bmatrix} f_1(x)\\ f_2(x)\\ \vdots \\ f_n(x) \end{bmatrix}
    • x:向量[x_1,x_2,...,x_n]^T​​​​​​​
  • 计算

机器学习数学知识补充之矩阵求导_第3张图片

2.4 例四

  • f(x)=A^Tx​​​​​​​
    • ​​​​​​​A=\begin{bmatrix} a_1\\ a_2\\ \vdots \\ a_n \end{bmatrix}
    • x=\begin{bmatrix} x_1\\ x_2\\ \vdots \\ x_n \end{bmatrix}​​​​​​​
  • 求:\frac{\mathrm{d} f(x)}{\mathrm{d} x}​​​​​​​

机器学习数学知识补充之矩阵求导_第4张图片

 

emm...暂时就这么多了,后面用到再来补充。。。。

 

 

你可能感兴趣的:(机器学习&深度学习)