3.矩阵计算及导数基础

这篇具有很好参考价值的文章主要介绍了3.矩阵计算及导数基础。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 梯度

将导数拓展到向量。

1. 标量对向量求导

x是列向量,y是标量,求导之后变成了行向量

x的转置,深度学习,矩阵,算法,线性代数,深度学习

ps: x1^2 + 2x2^2 这个函数可以画成等高线,对于(x1,x2)这个点,可以做等高线的切线,再做出正交方向(2,4),这个正交方向和梯度是一样的,也就是梯度和等高线是正交的,意味着梯度指向的是值变化最大的方向

样例

x的转置,深度学习,矩阵,算法,线性代数,深度学习
ps:1T,0T都是行向量(默认为列向量,使用转置后变成了行向量)

x的转置,深度学习,矩阵,算法,线性代数,深度学习
对于最后一个<u,v>,对x求导后,得到的是,行向量 * 矩阵 + 另一个行向量*矩阵

2. 向量对标量求导

x的转置,深度学习,矩阵,算法,线性代数,深度学习
当向量是列向量时,对标量求导之后,得到的结果也是列向量。

3. 向量对向量求导

x的转置,深度学习,矩阵,算法,线性代数,深度学习
因为y本身是列向量,因此对x求导,先把y拆解成列向量的形式,之后每一个yi关于向量x的导数都是行向量,最后就变成了矩阵。

样例

x的转置,深度学习,矩阵,算法,线性代数,深度学习
x的转置,深度学习,矩阵,算法,线性代数,深度学习

4. 拓展到矩阵

x的转置,深度学习,矩阵,算法,线性代数,深度学习

5. 链式法则

x的转置,深度学习,矩阵,算法,线性代数,深度学习

例子1如下:

x的转置,深度学习,矩阵,算法,线性代数,深度学习
解释怎么得到的x的转置:因为<xw>是内积,得到的是一个标量,标量对向量w求导,得到的是行向量,因此是转置。

例子2如下:

x的转置,深度学习,矩阵,算法,线性代数,深度学习

X是mn的矩阵,w是n1的列向量,y是m1的列向量,因此Xw就会得到m1的列向量,也就是说a就是m1的列向量,那么b也是m1的列向量。

  1. 第一项得到的是b的转置,是因为标量对向量求导得到的是行向量,所以对b这一列向量转置得到行向量
  2. 第二项,a对自身求导得到单位向量,也可以说是单位矩阵
  3. 第三项,是m1的向量对n1的向量求导,向量对向量求导,得到的是矩阵,因此最后得到m*n的矩阵,也就是X矩阵

6. 自动求导的两种模式

x的转置,深度学习,矩阵,算法,线性代数,深度学习

关于反向累积:

x的转置,深度学习,矩阵,算法,线性代数,深度学习

x的转置,深度学习,矩阵,算法,线性代数,深度学习
分为前向和反向,正向就是求复合函数的值,反向就是求偏导和梯度文章来源地址https://www.toymoban.com/news/detail-722792.html

到了这里,关于3.矩阵计算及导数基础的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++数据结构 矩阵的转置、镜像及旋转

    C++ 中的矩阵是一种二维数组,用于存储数值数据。矩阵可以用于存储图像数据,以及科学和工程计算中的数据。 常用于以下场景: 数学运算:矩阵乘法、行列式计算、特征值分解等。 图像处理:图像缩放、旋转、颜色变换等。 矩阵分析:因子分析、主成分分析、协方差分

    2024年02月11日
    浏览(54)
  • C语言:写一个函数,实现3*3矩阵的转置(指针)

    分析:     在主函数 main 中,定义一个 3x3 的整型数组 a,并定义一个指向整型数组的指针 p。然后通过循环结构和 scanf 函数,从标准输入中读取用户输入的 3x3 矩阵的值,并存储到数组 a 中。     接下来,调用 move 函数,传递给它整型数组 a 的地址,即 a 数组的首地址。

    2024年02月05日
    浏览(47)
  • 3.矩阵计算及导数基础

    将导数拓展到向量。 x是列向量,y是标量,求导之后变成了行向量 ps: x1^2 + 2x2^2 这个函数可以画成等高线,对于(x1,x2)这个点,可以做等高线的切线,再做出正交方向(2,4),这个正交方向和梯度是一样的,也就是梯度和等高线是正交的,意味着 梯度指向的是值变化最大

    2024年02月07日
    浏览(36)
  • 数据结构·练习·三元组表法实现稀疏矩阵的转置

    一、问题描述 一个mxn的矩阵A,它的转置矩阵B是一个nxm矩阵,且A[i][j]=B[j][i],0=i=m-1,0=j=n-1,即A的行是B的列,A的列是B的行。 用三元组表对稀疏矩阵进行压缩存储,再进行时间复杂度O(n)的快速转置,最后输出稀疏矩阵。 其中m=4,n=5 二、算法概述 1、问题分析 1)压缩 2)转置

    2024年02月04日
    浏览(45)
  • C语言之实现矩阵(3行3列)的转置(即行列互换)

    例如:输入下面的矩阵: 100 200 300 400 500 600 700 800 900 程序输出: 100 400 700 200 500 800 300 600 900 代码如下所示: 输出结果如下所示:

    2024年02月11日
    浏览(78)
  • MATLAB:矩阵 矩阵的秩,矩阵的逆矩阵,矩阵的转置,矩阵每个元素减一,矩阵元素变换

    1.矩阵 A=[1,2,3;4,5,6;7,8,9]/A=[1 2 3;4 5 6;7 8 9](分号与空格用于区分每行之间的元素,分号区分行)   2.矩阵每个元素减一 B=A-1 3.矩阵元素变换 需要某一行或者某一列为0,可以用“:”代表一行 如A(:,3)代表第三列赋值为零    A( 3,:)代表第三行赋值为零     4.矩阵的秩

    2024年02月11日
    浏览(55)
  • 5.利用matlab完成 符号矩阵的转置和 符号方阵的幂运算(matlab程序)

    1. 简述        Matlab符号运算中的矩阵转置 转置向量或矩阵 B = A.\\\' B = transpose(A) 说明 B = A.\\\' 返回 A 的非共轭转置,即每个元素的行和列索引都会互换。如果 A 包含复数元素,则 A.\\\' 不会影响虚部符号。例如,如果 A(3,2) 是 1+2i 且 B = A.\\\',则元素 B(2,3) 也是 1+2i。 B = transpose(A) 是执

    2024年02月13日
    浏览(48)
  • 将一个二维数组的行元素和列元素互换,然后储存到另一个二维数组中(即进行矩阵的转置)。

    案例探究: 将一个二维数组的行元素和列元素互换, 然后储存到另一个二维数组中(即进行矩阵的转置)。 思路: 5        2        0        9                                                            5        3        10 3        7        12      6       

    2024年02月03日
    浏览(51)
  • 【深度学习】S2 数学基础 P4 微积分(下)偏导数与链式法则

    总结来说 ,深度学习的核心在于优化;优化的重点在于降低损失值;降低损失值需要通过反向梯度下降;而微积分,判断的就是梯度下降的方向和大小。 铺开来说 ,深度学习的核心目标是通过优化过程来训练模型,以便在给定输入数据时能够产生准确的预测。而为了评估模

    2024年02月21日
    浏览(54)
  • 【Python】机器学习:基础前置 | 矩阵的表示与定义 | Numpy 库 | Identity 身份矩阵 | 逆矩阵和转置

        💭 写在前面: 我们先介绍线性方程体系的基本概念和矩阵表示方法,矩阵的定义、加法、乘法、逆矩阵、转置和标量乘法等。然后讲解如何解决线性方程组问题,包括解集形式、行阶梯形矩阵、计算逆置和解决线性方程组的算法等。本节将补充线性代数的基础知识,为

    2024年02月02日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包