精华内容
下载资源
问答
  • 可以将 看成将 轴上的数据映射到了 轴上,这一个从一维数轴的数据转换到另一个一维数轴上的对应关系。所以我认为这一个一维函数。注意:这里将一维数轴看作和直角坐标轴有同等地位的一种坐标轴。当然, 可以...

    878638935bda429a5624caa45275e166.png

    认为函数是有维度的。

    可以将

    equation?tex=y%3Df%28x%29 看成是将
    equation?tex=x 轴上的数据映射到了
    equation?tex=y 轴上,这是一个从一维数轴的数据转换到另一个一维数轴上的对应关系。所以我认为这是一个一维函数。注意:这里将一维数轴看作和直角坐标轴有同等地位的一种坐标轴。

    当然,

    equation?tex=z%3Df%28x%2Cy%29 可以看成是将一个二维数据降成了一维,这里
    equation?tex=%28x%2Cy%29 表示一个二维数据,
    equation?tex=z 表示一个一维数据。换句话说,这样的映射关系将一条二维信息转换为了一条一维信息,从几何角度说是,将一个平面“拍打“成了一条数轴。这个“拍打”(映射关系)我可以把它称之为“降维打击”。

    我们再看一个比较有意思的,从二维到二维,这个时候你会发现,必须要用到两个函数即一个方程组才能描述出来

    b90b225ba6a96f1a06aa7041987a3fe5.png

    对于这个方程组,我们每给一个

    equation?tex=%28x%2Cy%29 ,都会收获一个
    equation?tex=%28m%2Cn%29 ,这是一个从二维数据到二维数据的过程,分析一下,会发现,其实
    equation?tex=m_%7B1%7D 是通过第一个方程的映射关系将二维数据
    equation?tex=%28x%2Cy%29 下降成一维数据获得的,同样的,
    equation?tex=m_%7B2%7D 是通过第二个方程的映射关系将同一个二维数据下降成一维获得的,然后将获得的两个一维数据组合成一个二维数据
    equation?tex=%28m_%7B1%7D%2Cm_%7B2%7D%29 .注意到,如果将
    equation?tex=%28x%2Cy%29 看成是直角坐标的一个点,那么
    equation?tex=%28m_%7B1%7D%2Cm_%7B2%7D%29 就是一个以
    equation?tex=%28a_%7B1%7Dx%2Bb_%7B1%7Dy%29 为横坐标, 以
    equation?tex=%28a_%7B2%7Dx%2Bb_%7B2%7Dy%29 为纵坐标的坐标系中的一个坐标。也就是讲:这个方程组的功能是将一个坐标系中的点转换到了另一个坐标系中的一个点。我们将这个方程组用矩阵的形式表达出来,也就是

    62b4ce51e6140d0f890c6938eca07a42.png

    我们看着这个矩阵的形式,再重复一遍意思:将

    equation?tex=x ,
    equation?tex=y 这个直角坐标系中的点
    equation?tex=%28x%2Cy%29 映射到了另一个以
    equation?tex=a_%7B1%7Dx%2Bb_%7B1%7Dy 为横坐标,
    equation?tex=a_%7B2%7Dx%2Bb_%7B2%7Dy 为纵坐标的坐标系中去了。

    我们将直角坐标系中的点具象化

    0db76a5f39002e8a711c8bae5e41f96e.png

    这个矩阵形式表示什么意思呢?

    显然,通过上面的讨论,这表示将直角坐标系中的点

    equation?tex=%281%2C2%29
    equation?tex=%283%2C4%29 映射到了以
    equation?tex=a_%7B1%7Dx%2Bb_%7B1%7Dy 为横坐标,以
    equation?tex=a_%7B2%7Dx%2Bb_%7B2%7Dy 为纵坐标的坐标系中去了,得到对应的两个点
    equation?tex=%28m_%7B11%7D%2Cm_%7B21%7D%29
    equation?tex=%28m_%7B12%7D%2Cm_%7B22%7D%29 .

    进一步对矩阵形式具象化

    1cfa5ec49911ade3a185fe986f0bf351.png

    这个矩阵形式表示什么意思呢?

    显然,这表示将直角坐标系中的点

    equation?tex=%281%2C2%29
    equation?tex=%283%2C4%29 映射到了以
    equation?tex=x%2B2y 为横坐标,以
    equation?tex=3x%2B4y 为纵坐标的坐标系中去啦,得到对应的两个点
    equation?tex=%285%2C11%29
    equation?tex=%2811%2C25%29 .

    再看一个例子

    e126c37b1d9ecec883e354933f6da78b.png

    这表示什么意思呢,显然是将

    equation?tex=%286%2C7%2C8%29
    equation?tex=%289%2C10%2C11%29 从三维坐标系
    equation?tex=x_%7B1%7D%2Cx_%7B2%7D%2Cx_%7B3%7D 映射到二维坐标系
    equation?tex=x_%7B1%7D%2B2x_%7B2%7D%2B3x_%7B3%7D
    equation?tex=4x_%7B1%7D%2B5x_%7B2%7D%2B6x_%7B3%7D 中去,得到
    equation?tex=%28a%2Cc%29%2C%28b%2Cd%29 两点。注意,这已经将两个三维数据降维到两个二维数据了!!!

    综上你会发现矩阵相乘的几何意义:将一个坐标系中所有的点映射到另一个坐标系中去。

    当然,更为抽象的说法是,坐标系变换(即将一个坐标系变换成另一个坐标系,从一个空间转换到另一个空间)。

    展开全文
  • 本文吴恩达《机器学习》视频笔记第15篇,对应第1周第15个视频。“Linear Algebra review(optional)——Matrix-vector multiplication”上一小节讲了矩阵的加法、矩阵和标量相乘;除此之外,矩阵还可以和矩阵相乘,...

    本文是吴恩达《机器学习》视频笔记第15篇,对应第1周第15个视频。

    “Linear Algebra review(optional)——Matrix-vector multiplication”

    上一小节讲了矩阵的加法、矩阵和标量相乘;除此之外,矩阵还可以和矩阵相乘,本节讲稍微特殊一点的情况,即矩阵和向量相乘。

    一个示例

    如下图,让一个3×2的矩阵和一个2维的列向量相乘,会得到什么样的结果呢?

    d74bdc9ba01f655d091aeeae39548dd4.png

    其运算的规则如下图,

    73a9da524b53b1c2b20471f527a23515.png

    从上图可知,矩阵和向量的乘法规则比较有意思,一个矩阵和一个向量乘得到一个新的列向量。而列向量的维数就是矩阵的行数,等式左边的矩阵和向量的形状也比较意思,矩阵的列数必须等于向量的维数,只有这样才能进行矩阵和向量的乘法。上面这个例子,一个3×2的矩阵和一个2×1的向量相乘,得到一个3×1的向量。

    矩阵、向量相乘的过程

    把上面的特例抽象成更一般的形式如下图:

    70790426fcc354e8562ec57ce77d82d1.png

    一个m×n的矩阵乘一个n×1的向量,这里要注意矩阵的列数必须等于向量的行数才能相乘,得到的结果是一个m×1的向量。

    而且我们还可以看出,在做矩阵和向量的乘法时,它们的次序也很重要。一个列向量和矩阵乘,矩阵必须在前面、列向量必须在后面。比如:

    800a88c5ebc7cfe44e768631107509c7.png

    那么,我们费事巴拉地规定这种矩阵和向量的乘法有啥用呢?

    我们还是以卖房子的事为例,假设我有四套房,每个房的面积不同,而房屋面积和房屋售价之间的线性模型我已经确定了。

    如下图:

    dad15b6d981a91f32dda2ab7133e7fd6.png

    上图中,如果把左边四套房的面积代入右边的式子中,就可以得分别得到四套房的售价。如果我们用刚刚讲到的矩阵和向量的乘法表示上面这个事,写出来的式子会非常漂亮。如下图:

    04cb0f3835550674b389f5de661efc5b.png

    我们把模型中的两个参数揪出来组成一个列向量。然后呢,因为-40参数对应的是1,而0.25对应的是x,所以得到一个4×2的一个矩阵,而矩阵的第1列都是1. 就会得到上面图中下半部分的这样的一个矩阵与向量乘法的式子,再利用前面讲的矩阵与向量乘法的运算规则,可以用一个式子就表示出4套房子的售价的运算,厉害吧?

    有些同学可能觉得这种写法多此一举,更加麻烦。要注意,现在我们基础的运算都是用计算机来实现的,如果用代码来写这样的过程就更加容易了,这样一件事用一行代码就搞定了,而且房子的套数增加不会影响程序的结构,非常方便。如果没有这样的规定,我们可能需要for循环在代码中实现这个事情,这就有点麻烦了。

    下一讲将介绍更一般的矩阵和矩阵的乘法。

    展开全文
  • 满意答案GGLDDU__7474推荐于 2017.09.01矩阵A任何一个特征值对应的线性无关的特征向量的个数不超过特征值的重数,也就是矩阵的几何重数不超过代数重数。所谓代数重数,就是指矩阵的某个特征值的重数,而几何重数,...

    满意答案

    00e27ab806e4881f8254fe7ae8741834.png

    GGLDDU__7474

    推荐于 2017.09.01

    矩阵A任何一个特征值对应的线性无关的特征向量的个数不超过特征值的重数,也就是矩阵的几何重数不超过代数重数。

    所谓代数重数,就是指矩阵的某个特征值的重数,而几何重数,就是指这个特征值对应的特征子空间的维数。

    考虑某个特征值λ0的特征子空间V',V'的维数就是λ0的几何重数m,再取V'的一组基(由m个线性无关的向量组成),扩充这组基为原n维空间V的一组基,线性变换在这组新基下的表示矩阵可以写成块上三角阵的形式,对应的特征多项式显然是包含因子(λ-λ0)^m的,所以λ0就是特征多项式的至少m重根,也就是“代数重数大于等于几何重数”。

    这个结论也可以用Jordan理论来看:设λ0是矩阵A的一个特征值,那么λ0对应的Jordan块的阶数总和=λ0在A的特征多项式中的重数(代数重数);λ0对应的Jordan块的个数=A的属于λ0的特征子空间的维数(几何重数)。显然有几何重数不超过代数重数.

    并且由此也可推出当且仅当所有特征值的几何重数与代数重数相等时,A的Jordan标准型的所有Jordan块均是一阶的(为对角矩阵),即A可对角化。(这里引用“夏De夭”的说法)。

    10分享举报

    展开全文
  • 对于相同形状的矩阵我们可以定义这样的运算,在机器学习中这样的运算运用的比较多): * (上面既然提到了形状,我们就说说形状这个概念的含义,它指在每个方向上有多少个数,比如上面这几个矩阵的形状都(3,...

    学过线性代数的童鞋都知道,矩阵可以进行各种运算,比如:

    矩阵的加法:

    +

    矩阵的转置:

    矩阵的点乘:

    .

    矩阵的对应元素相乘(这个线性代数里面好像没有?不过很明显,对于相同形状的矩阵我们可以定义这样的运算,在机器学习中这样的运算运用的比较多):

    *

    (上面既然提到了形状,我们就说说形状这个概念的含义,它是指在每个方向上有多少个数,比如上面这几个矩阵的形状都是(3,3))

    为了方便存储矩阵及进行矩阵之间的运算,大神们抽象出了PyTorch库,PyTorch库中有一个类叫torch.Tensor,这个类存储了一个矩阵变量,并且有一系列方法用于对这个矩阵进行各种运算。上面的这些矩阵运算都可以通过torch.Tensor类的相应方法实现。

    比如上面的矩阵加法:

    import torch  # 引入torch类
    x = torch.rand(5, 3)  # 生成一个5*3的矩阵x,矩阵的每个元素都是0到1之间的随机数,x的类型就是torch.Tensor,x里面存了一个5*3的矩阵
    y = torch.zeros(5, 3, dtype=torch.long)  # 生成一个5*3的矩阵y,矩阵的每个元素都是0,每个元素的类型是long型,y的类型就是torch.Tensor,y里面存了一个5*3的矩阵
    y.add_(x)  # 使用y的add_方法对y和x进行运算,运算结果保存到y

    上面的x、y的类型都是torch.Tensor,Tensor这个单词一般可译作“张量”。但是上面我们进行的都是矩阵运算,为什么要给这个类型起名字叫张量呢,直接叫矩阵不就行了吗?张量又是什么意思呢?

    这是因为:通常我们不但要对矩阵进行运算,我们还会对数组进行运算(当然数组也是特殊的矩阵),比如两个数组的加法:

    在机器学习中,我们更多的会对下面形状这样的数进行运算:

    9f81f9678ec9ac2072e2850461952293.png

    大家可以把这种数看作几个矩阵叠在一起,这种我们暂且给它取一个名字叫“空间矩阵”或者“三维矩阵”。

    因此用“矩阵”不能表达所有我们想要进行运算的变量,所以,我们使用张量把矩阵的概念进行扩展。这样普通的矩阵就是二维张量,数组就是一维张量,上面这种空间矩阵就是三维张量,类似的,还有四维、五维、六维张量

    那么上面这种三维张量怎么表达呢?

    比如对于一维张量[1,2,3],

    在PyTorch中可以表达为torch.tensor([1,2,3])

    对于二维张量

    在PyTorch中可以表达为torch.tensor([[1,2,3],[4,5,6]])

    聪明的读者可能发现了,多一个维度,我们就多加一个[]

    所以对于上图中的“空间矩阵”,我们可以这样表达:

    torch.tensor([[[9,1,8],[6,7,5],[3,4,2]],[[2,9,1],[8,6,7],[5,3,4]],[[1,5,9],[7,2,6],[4,8,3]]])

    上面可能不容易看清楚,我们把它写的再好看一些:

    torch.tensor([
    [[9,1,8],[6,7,5],[3,4,2]],
    [[2,9,1],[8,6,7],[5,3,4]],
    [[1,5,9],[7,2,6],[4,8,3]]
    ])

    可以看到上面中间三行的每一行都是一个矩阵,所以我们就知道了,每多一个方向的数据,我们就多加一个[]

    再重复一下形状的概念,这个概念也很重要,

    对于矩阵

    ,它有两行三列,我们说它的形状是(2,3)

    对于上面的那个空间矩阵,在x轴、y轴、z轴上它都是三个数,所以我们说它的形状是(3,3,3)

    同理我们可以生成任意形状的张量:

    x = torch.rand(2,3,4,5)  #生成一个(2,3,4,5)形状的张量,注意与torch.rand([2,3,4,5])的区别

    所以为什么叫张量而不是矩阵呢?就是因为我们通常需要处理的数据有零维的(单纯的一个数字)、一维的(数组)、二维的(矩阵)、三维的(空间矩阵)、还有很多维的。Pytorch为了把这些各种维统一起来,所以起名叫张量。

    即:

    张量可以看作是一个多维数组。标量可以看作是0维张量,向量可以看作1维张量,矩阵可以看作是二维张量。如果你之前用过NumPy,你会发现Tensor和NumPy的多维数组非常类似。

    也就是说,tensor和NumPy都是为了表达张量(多维数组),在这些张量(多维数组)上可以进行各种各样的运算,因此把张量及其运算封装成了类,张量的运算就是类里面的方法。

    创建tensor:

    x = torch.empty(5, 3)
    x = torch.rand(5, 3)
    x = torch.zeros(5, 3, dtype=torch.long)
    x = torch.tensor([5.5, 3])
    x = x.new_ones(5, 3, dtype=torch.float64)
    y = torch.randn_like(x, dtype=torch.float)

    获取Tensor的形状:

    print(x.size())
    print(x.shape)

    Tensor的各种操作:

      y = torch.rand(5, 3)
      print(x + y)  # 加法形式一
      print(torch.add(x, y))  # 加法形式二
      # adds x to y
      y.add_(x)  # 加法形式三
      print(y)
    

    PyTorch中的Tensor支持超过一百种操作,包括转置、索引、切片、数学运算、线性代数、随机数等等,总之,凡是你能想到的操作,在pytorch里都有对应的方法去完成。

    展开全文
  • MATLAB中错误使用 .* 是什么意思

    千次阅读 2018-08-02 13:19:21
    MATLAB中,在“ * ”之前加“ . ”表示矩阵运算中,两矩阵对应元素相乘。同样的,也有“ ./ ”。 若运行出现此类错误,可能是矩阵维度不一致。  
  • matlab中常数下的点是什么意思

    千次阅读 2015-03-29 08:36:37
    加上点“.”后表示两个矩阵或向量对应位置进行运算, 这时候要求进行操作的两个变量必须维数相同(与矩阵乘法对矩阵维数要求不同)
  • 矩阵键盘+数码管动态显示

    千次阅读 2018-05-16 21:45:42
    这个代码的意思是在一开始8个数码管什么也不显示,因为p0的初始值0x00,当我们按下矩阵按键里的按键时,8个数码管动态显示该按键的键值,直到按下了下一个按键,8个数码管显示的内容才可能改变。#include<...
  • (这里的意思是,在现实中找不到对应的东西,这一个纯数学方法) 而且把原本普通算数可以做的事情转变成矩阵乘法多此一举 比如说把点(x,y)左右平移10个单位,非常简单地可以想到变换后的坐标(x+10,y)或者(x-...
  • 这道题个规律题;...什么意思呢?就是这个意思: 这样每个44异或都为0,那么对应的行或者对应的列合起来异或和为0;这样就够找出来了;那么我只需要从左往右填数字就行了; AC代码: #include...
  • 高斯消元专题

    2019-09-26 20:29:04
    那么,为了方便得出算法的写法与最终求解的写法,我们一般会将一个方程组一一对应转为矩阵(转为矩阵是什么意思?就是把每一个方程的每一项的系数取下来(包括最后的常数项),然后一一对应的放置在一个矩阵里面)后...
  • matlab学习

    2018-07-30 10:08:18
    [i,j,b]=find(a),(a为二维矩阵)是什么意思 你可以查一下帮助文档,find函数用来得到非零元素的下标,这个语句最终得到a数组中不为零的元素和其对应的双下标,i向量存储非零元素的行下标,j向量存储非零元素的行下标...
  • 2.0.7 酉矩阵的逆是什么样的? 39 2.0.8 如何能构建一个酉矩阵? 40 2.0.9 如何选择矩阵U和V以使表达g的比特数比f少? 40 2.0.10 什么是矩阵对角化? 40 2.0.11 可以对角化任何矩阵吗? 40 2.1 奇异值分解 40 ...
  • 图解卡尔曼滤波

    2020-10-07 17:10:37
    卡尔曼滤波的基本过程如上图所示,下面我们来理解一下这个公式中的各个字母分别表示的是什么意思? x^k\bf{\hat{x}_k}x^k​:表示k时刻,带估计的状态变量的最优估计,比如机器人的位置和速度最优估计构成的矢量。 Pk...
  • 4大参数化学习和线性分类的组件我已经多次使用“参数化”,但它到底是什么意思?简而言之:参数化是确定模型必要参数的过程。在机器学习的任务中,参数化根据以下几个方面来确定面对的问题:数据:这是我们将要学习的...
  • 奇异值分解

    2018-11-04 00:40:26
    先不说怎么求逆,先看逆是什么意思。像上图所示,一个xxx对应一个ppp,N(AT)N(A^T)N(AT)中的p对应000。这个就是逆A+A^+A+(伪逆)。 Ax=b,x=A+bAx=b, x=A^+bAx=b,x=A+b 这个伪逆怎么求呢? 要找到R(A)R(A)R(A)的....
  • leetcode Spiral Matrix II

    2019-10-09 01:08:07
    这题的意思是给定一个n,那么在n*n的矩阵里按照循环记录将1,2,3,..., n*n。如下如果给定3,那么: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ]一开始我想是不是有数学公式直接下标对应的,那直接遍历输出就...
  • 1.11 extern在函数声明中是什么意思? 1.12 关键字auto到底有什么用途? 类型定义(typedef) 1.13 对于用户定义类型,typedef和#define有什么区别? 1.14 我似乎不能成功定义一个链表。我试过typedefstruct{char*...
  • 《你必须知道的495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    3.20 “semantics of‘’change in ANSI C”的警告是什么意思? 42 3.21 “无符号保护”和“值保护”规则的区别在哪里? 42 第4章 指针 45 基本的指针应用 45 4.1 指针到底有什么好处? 45 4.2 我想声明...
  • 3.20 “semantics of‘’change in ANSI C”的警告是什么意思? 42 3.21 “无符号保护”和“值保护”规则的区别在哪里? 42 第4章 指针 45 基本的指针应用 45 4.1 指针到底有什么好处? 45 4.2 我想声明...
  • 它表示在空间坐标系下,有一条直线可以经过点1,经过点2,经过点3,这是什么意思?说明这三个点在一条直线上吧。反过来再来看这个极坐标系下的曲线,那么我们只需要找到交点最多的点,把它返回到空间域就是这个需要...
  • o 2.4 extern 在函数声明中是什么意思? o 2.5 关键字 auto 到底有什么用途? o 2.6 我似乎不能成功定义一个链表。我试过 typedef struct { char *item; NODEPTR next; } *NODEPTR; 但是编译器报了错误信息。难道...
  • excel的使用

    2012-11-25 17:06:01
    再比如,公式: =if(SUM(A1:A5>0,SUM(A1:A5),0) 此式就利用了嵌套函数,意思是,当A1至A5的和大于0时,返回这个值,如果小于0,那么就返回0。 还有一点要提醒你注意:以上的符号均为半角,而且IF与括号之间...
  • 3. 得出的旋转向量和平移向量是什么意思?为什么我得不到旋转向量和平移向量,这两个参数带NULL是没有问题的 cvCalibrateCamera2(object_points2, image_points2, point_counts2, cvGetSize(image), intrinsic_...
  • 你必须知道的495个C语言问题(PDF)

    热门讨论 2009-09-15 10:25:47
    1.4 extern 在函数声明中是什么意思? . . . . . . . . . . . . . . . . . 2 1.5 关键字auto 到底有什么用途? . . . . . . . . . . . . . . . . . . . 2 1.6 我似乎不能成功定义一个链表。我试过typedef struct f ...
  • 2.0.7 酉矩阵的逆是什么样的?...............................................................................39 2.0.8 如何能构建一个酉矩阵?.................................................................
  • costas_loop代码

    2012-10-08 14:40:33
    了解LDPC码的基本概念(主要校验矩阵与Tanner图的关系)之后,学习LDPC码的和积译码算法。这里建议首先用概率测度推出无环图下,变量节点和校验节点消息的更新公式,透彻理解“消息”、“更新”和“传递”的含义...
  • 什么是Linux?.................................................................................................................2 二.安装Linux的好处?.....................................................

空空如也

空空如也

1 2
收藏数 38
精华内容 15
关键字:

对应矩阵是什么意思