精华内容
下载资源
问答
  • 这位数据科学忠实的伙伴经常会被大家所忽视,但实际上,它是数据科学主要领域--包括计算机视觉(CV)与自然语言处理(NLP)等热门领域的强力支撑。 数据开发者往往会因为数学太难而尝试避开这个主题。因为有很多...

    介绍

    线性代数与数据科学的关系就像罗宾与蝙蝠侠。这位数据科学忠实的伙伴经常会被大家所忽视,但实际上,它是数据科学主要领域--包括计算机视觉(CV)与自然语言处理(NLP)等热门领域的强力支撑。

    数据开发者往往会因为数学太难而尝试避开这个主题。因为有很多现成的数据处理库可以帮助他们避开线性代数这个烦恼。

    这是极其错误的想法。线性代数是我们所熟知的所用强大机器学习算法的背后核心,同样是数据科学家技能的重要组成部分,接下来就让我们一起详细剖析下线性代数在数据科学中的强大应用。

    640?wx_fmt=png

    在本文中,我会详细解释线性代数在数据科学中的十大应用。这些应用大致分为四个领域:

    另外每一个应用还为大家准备了相关的资源,以便感兴趣的同学更进一步了解。

    目录:

    为什么学习线性代数

    我也曾多次问过自己这个问题。当只需导入Python包就可以构建模型时,为什么还要花时间学习线性代数呢?我是这样认为的,线性代数是数据科学的基础之一,假如没有坚实的基础,就无法建造一栋真正的摩天大楼。比如:

    当你希望使用主成分分析(PCA)来减少数据的维数时,如果你不知道算法的机制(数学原理),那么你就无法确定该怎样调整组件,以及会对数据产生什么影响。

    通过对线性代数的理解,可以对机器学习和深度学习算法有更深一层的感悟,而不是将它们视为黑盒子。从而可以选择适当的超参数,建立更好的模型。

    机器学习中的线性代数

    最大的问题是,机器学习在什么地方需要线性代数?让我们看一下非常熟悉的四个应用。

    1. 损失函数

    你需要非常熟悉模型是如何拟合给定的数据(如线性回归模型):

    如何计算预测输出与实际结果的差异?损失函数。

    损失函数是向量范数在线性代数中的应用。范数可以简单地说是向量的量纲。有许多类型的向量范数。

    640?wx_fmt=png

    在这个2D空间中,您可以通过沿x轴行进3个单位然后沿y轴平行移动4个单位(如图所示)到达矢量(3,4)。或者您可以先沿y轴行进4个单位,然后沿x轴行进3个单位。在任何一种情况下,您将共旅行7个单位。

    这个距离是用毕达哥拉斯定理计算的。它是640?wx_fmt=png的平方根,等于5。

    但是,范数如何用于找出预测值与真实值之间的差异?假设预测值存储在向量P中,并且真实值存储在向量E中。P-E是它们之间的差异。P-E的范数就是预测的总损失。

    2. 正则化

    正则化是数据科学中非常重要的概念。它是用来防止模型过拟合的方法。正则化实际上是规范化的另一种应用。

    如果模型在训练时发生了过拟合,模型就会对新数据的预测结果不好,因为模型甚至学习了训练数据中的噪声。它无法预测之前没有训练过的数据。下面的图片揭示了这个思想:

    640?wx_fmt=png

    正则化通过向损失函数添加权重向量来惩罚过于复杂的模型。由于我们希望最小化成本函数,因此需要最小化此范数。正则化的结果是权重向量中无关紧要的部分变为零,防止预测函数过于复杂。

    我们上面讨论的L1和L2范数用于两种类型的正则化:

    3. 协方差矩阵

    双变量分析是数据探索中的重要一步。我们想研究变量对之间的关系。协方差或相关性是用于研究两个连续变量之间关系的度量。

    协方差表示变量之间线性关系的方向。正协方差表示一个变量的增加或减少在另一个变量中同样增加或减少。负协方差表明一个变量的增加或减少同时另一个变量与它相反。

    640?wx_fmt=png

    ia_100002534 (1)

    另一方面,相关性是协方差的标准化值。 相关性值告诉我们线性关系的强度和方向,范围从-1到1。

    您可能会认为这是统计学而非线性代数的概念。好吧,记得我告诉过你线性代数是无处不在的吗?使用线性代数中的转置和矩阵乘法的概念,协方差矩阵有一个非常简洁的表达式:

    640?wx_fmt=jpeg

    其中X是包含所有数字特征的标准化数据矩阵。

    4. 支持向量机分类器

    支持向量机(SVM)是最常见的分类算法之一,经常产生令人印象深刻的结果。它是向量空间概念在线性代数中的应用。

    支持向量机是一种判别分类器,通过查找决策面来工作。它是一种有监督的机器学习算法。

    在此算法中,我们将每个数据项绘制为n维空间中的点(其中n是特征数),每个特征的值是特定坐标的值。然后,通过找到最好的区分两个类的超平面来进行分类,即最大余量,下面的例子中是C.

    640?wx_fmt=png


    超平面是一个子空间,其维数比其对应的向量空间小1,因此它是2D向量空间的直线,3D向量空间的2D平面等等。使用向量范数来计算边界。

     

    但是,如果数据像下面的情况那样该怎样线性分离呢?640?wx_fmt=png

    我们一般认为决策面必须是圆形或椭圆形,但怎么找到它?这里,使用了内核转换的概念。在线性代数中,从一个空间转换到另一个空间的想法非常普遍。

    让我们介绍一个变量640?wx_fmt=png。如果我们沿z轴和x轴绘制数据,就是下面的样子:

    640?wx_fmt=png

    这显然可以通过 z=a 线性分离,其中a是一些正常数。在转换回原始空间时,我们得到640?wx_fmt=png作为决策曲面,这是一个圆圈!

    640?wx_fmt=png

    最后的部分?我们不需要手动添加其他函数。SVM有一种称为内核技巧的技术。阅读有关支持向量机的这篇文章(https://www.analyticsvidhya.com/blog/2017/09/understaing-support-vector-machine-example-code/?utm_source=blog&utm_medium=10-applications-linear-algebra-data-science),了解SVM,内核技巧以及如何在Python中实现它。

    降维

    您将经常使用具有数百甚至数千个变量的数据集。这是行业运作的方式。查看每个变量并确定哪个变量更重要是否切合实际?

    这并没有多大意义。我们需要降低变量的数量来执行任何类型的连贯性分析。这就是为什么减少维数的原因。现在,我们来看看常用的两种降维方法。

    5. 主成分分析(PCA)

    主成分分析(PCA)是一种无监督降维技术。PCA会找到最大方差的方向并沿着它们的投影以减小维度。

    在不深入数学的情况下,这些方向就是数据的协方差矩阵特征向量

    640?wx_fmt=png

    方阵的特征向量是特殊的非零向量,即使在对矩阵应用线性变换(乘法)之后,其方向也不会改变。它们显示为下图中的红色矢量:

    640?wx_fmt=png

    您可以使用scikit-learn包中的PCA类轻松地在Python中实现PCA:

    from sklearn.decomposition import PCA// say you want to reduce to 2 featurespca = PCA(n_components = 2)// obtain transformed datadata_transformed = pca.fit_transform(data)import PCA
    
    // say you want to reduce to 2 features
    pca = PCA(n_components = 2)
    
    // obtain transformed data
    data_transformed = pca.fit_transform(data)
    

    我在sklearn 的Digits(https://scikit-learn.org/stable/auto_examples/datasets/plot_digits_last_image.html)数据集上应用了PCA - 一组8×8的手写数字图像。我获得的结果相当令人印象深刻。数字看起来很好地聚集在一起:

    640?wx_fmt=png

    参阅我们的12维降维技术综合指南(https://www.analyticsvidhya.com/blog/2018/08/dimensionality-reduction-techniques-python/?utm_source=blog&utm_medium=10-applications-linear-algebra-data-science),并用Python代码深入了解PCA和其他11种降维技术。老实说,这是你可以找到关于这个主题的最好的文章之一。

    6.奇异值分解

    在我看来,奇异值分解(SVD)被低估了,没有进行足够的讨论。这是一种令人惊叹的矩阵分解技术,具有多种应用。我将在以后的文章中尝试介绍其中的一些内容。

    现在,让我们谈谈维度降低中的SVD。具体而言,这称为截断SVD

    以下是在Python中实现截断的SVD的代码(它与PCA非常相似):

    from sklearn.decomposition import TruncatedSVD//减少到2个特征svd = TruncatedSVD(n_features  =  2)//获取转换后的数据data_transformed = svd.fit_transform(data)import TruncatedSVD
    
    //减少到2个特征
    svd = TruncatedSVD(n_features  =  2)
    
    //获取转换后的数据
    data_transformed = svd.fit_transform(data)
    

    在将截断的SVD应用于Digits数据时,我得到了下面的图。您会注意到它不像我们在PCA之后获得的那样集群:

    640?wx_fmt=png

    作为机器学习与数据科学背后的线性代数知识系列开篇,本篇主要介绍了机器学习与数据科学背后的数学技术十大应用之基础机器学习部分与降维部分。涵盖损失函数、正则化、协方差矩阵、支持向量机(SVM)、主成分分析(PCA)与奇异值分解(SVD)背后的线性代数知识。相信这也是各位数据科学爱好者常用的各项技术,希望可以帮大家理清思路和对这些算法有更进一步的认识。

     

    欢迎关注磐创博客资源汇总站:
    http://docs.panchuang.net/

    欢迎关注PyTorch官方中文教程站:
    http://pytorch.panchuang.net/

    展开全文
  • 对于理工科学生来说,线性代数是必不可少的一门课,其通信、AI、计算机、物理、机械工程等各个领域均有重要且广泛的应用。我们大学时所用的课本、老师讲的课,基本都注重怎么去计算,很少有提及应用场景、计算的...

    为什么要学线性代数?


    前言:
    对于理工科学生来说,线性代数是必不可少的一门课,其在通信、AI、计算机、物理、机械工程等各个领域均有重要且广泛的应用。我们大学时所用的课本、老师讲的课,基本都注重怎么去计算,很少有提及应用场景、计算的原理以及几何上的解释,这就导致很多同学对这门课失去了兴趣,没了兴趣硬着头皮学,只会感到“人生艰难”。
    笔者以前也是搞不懂为什么要学线性代数,算出这个行列式有什么意义?把向量施密特正交化了有什么用?把这个矩阵对角化有什么用,等等一系列问题我好久都没弄懂,可惜大一时候比较贪玩,这些问题不了了之,等考研复习的时候,由于任务比较繁重,也只是学会计算和证明方法,关于这门课对科技的重要影响也没怎么去了解。直到读研后,上了矩阵论这门课(线性代数只是矩阵论的冰山一角…),以及亲手做过一些项目,才深刻理解这门课的应用价值。
    作为过来人,奉劝各位好好学这门课,尤其是有考研意向的同学,线性代数在考研数学中是必考的,不管数几,而且是最容易拿分的。对于理工科读研的同学,科研中躲不开线代。学线代时,一定要数形结合,几何的解释有助于理解。对于一些不理解的知识,可以在网上查一查,不要局限于百度,知乎、博客等均有许多大佬解释的很生动,实在查不到的欢迎与我讨论。


    举个应用例子:

    线性代数中,最基础的莫过于向量。这是一个抽象的概念,其实整个线性代数就是一门对事物进行抽象的学科,对于下面这个向量:
    在这里插入图片描述
    我们可将它看作是二维平面的一个箭头,起点在(0,0),终点在(3,1),矩阵论中有一种线性变换叫做旋转变换,它不改变向量的模值大小,只改变方向,假设我们要使上面这个箭头沿逆时针旋转θ角度,那么可以构建一个旋转矩阵:
    在这里插入图片描述
    用该矩阵乘以上面的向量,即可得旋转后的向量。

    取角度等于90度验证,旋转后的向量为:
    在这里插入图片描述
    在坐标系画出两个箭头:
    在这里插入图片描述
    可看出确实旋转了90度,这只是矩阵乘法的一个小用处,其还可用于基变换、坐标变换、图像处理、算法优化等数不尽的场合。

    再比如,向量可看作一串有特定意义的数字列表,假设要对某地的房价进行分析,我们可关注多个维度的指标,如果只关心房屋面积、楼层数、价格,那么可以构建一个三维向量,其中的三个元素分别为房屋面积、楼层数、价格,再假设有m个样本,那么可以构建一个m✖3的矩阵,接下来可以进行建模、分析、预测等。打个比方:
    在这里插入图片描述
    上面这个矩阵,代表该样本集有四个样本,第一个样本的房子房屋面积是90平方米,9楼,价格是100万,第二个样本房屋面积是90平方米,6楼,110万,后面的样本依此类推。

    该用法在机器学习领域较多,而且实际应用中可不止几个维度,至少成千上万个维度需要考虑,庞大的数据使得机器学习的很多算法迭代起来很耗费内存和运行时间,通过矩阵处理,可减短迭代时间,提高效率。(机器学习中用到的各种矩阵分解,后面有机会再讨论)

    上面这些应用例子,笔者暂时说到这里,个人是菜鸡一枚,也在学习中,目前的打算主要是过一遍知识点,这些知识点对大一和准备考研的学生是有用的,俗话说温故而知新,希望有所知新;其次有时间的话,整理一下实操的案例,以提升对这些抽象内容的理解。

    好,现在从第一章行列式开始吧!

    更多考研经验、资料选择、名师推荐、电子信息类知识笔记等,详见微信公众号: 数字自修。
    在这里插入图片描述

    展开全文
  • 线性代数》中文版

    2018-12-05 13:02:11
    大量实际应用贯穿于理论讲解始终,体现了线性代数在各个领域广泛应用。 示例丰富。便于读者理解相关定义及原理,增强了读者学习兴趣。 习题安排错落有致。每一节后面给出大量习题,各章后面还有测试...
  • cuTENSOR用于加速深度学习训练和推理,计算机视觉,量子化学和计算物理领域的应用。使用cuTENSOR,应用程序会自动受益于常规性能的改进和新的GPU架构。 cutensor性能 cuTENSOR库针对NVIDIA GPU的性能进行了高度...

    NVIDIA GPU上的Tensor线性代数
    cuTENSOR库是同类中第一个GPU加速的张量线性代数库,提供张量收缩,归约和逐元素运算。cuTENSOR用于加速在深度学习训练和推理,计算机视觉,量子化学和计算物理领域的应用。使用cuTENSOR,应用程序会自动受益于常规性能的改进和新的GPU架构。
    cutensor性能
    cuTENSOR库针对NVIDIA GPU的性能进行了高度优化。最新版本增加了对DMMA和TF32的支持。
    cuTENSOR的主要功能
    • 张量收缩,缩小和元素运算
    • 混合精度支持
    • 富有表现力的API,允许元素操作融合

    在这里插入图片描述

    展开全文
  • 线性代数

    千次阅读 2019-04-04 14:03:43
    AI(人工智能)现在火一塌糊涂,其实AI领域,机器学习已广泛应用在搜索引擎、自然语言处理、计算机视觉、生物特征识别、医学诊断、证券市场分析等领域,并且机器学习已经是各大互联网公司基础设施,不再是一个...

     

     

    前言

    AI(人工智能)现在火的一塌糊涂,其实在AI领域,机器学习已广泛应用在搜索引擎、自然语言处理、计算机视觉、生物特征识别、医学诊断、证券市场分析等领域,并且机器学习已经是各大互联网公司的基础设施,不再是一个新鲜的技术。但当你真的开始学习机器学习的时候,就会发现上手门槛其实还挺高的,这主要是因为机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。

    本文主要介绍一下机器学习涉及到的一些最常用的的数学知识,方便大家在学习机器学习的时候,能扫除一些基础障碍。

    标量(scalar)

    标量是一个单独的数,一般用普通小写字母或希腊字母表示,如 a,\alpha 等。

    向量(vector)相关

    向量的定义

    把数排成一列就是向量,比如:

    向量一般用粗体小写字母或粗体希腊字母表示,如 \textbf{x} 等(有时候也会用箭头来标识,如 \pmb{\vec x} ),其元素记作 x_{i}

    向量默认为列向量,行向量需要用列向量的转置表示,例如 \bm{x^{T}} 等。

    • 物理专业视角:向量是空间中的箭头,决定一个向量的是它的长度和方向
    • 计算机专业视角:向量是有序的数字列表
    • 数学专业视角:向量可以是任何东西,只要保证两个向量相加以及数字与向量相乘是有意义的即可

    运算规则

    向量的加法和数量乘法定义:

    加法 相同维数的向量之间的加法为:

     

    数量乘法 任意的常数 c 和向量的乘法为:

    在给定数 c,c' 及向量 \textbf{x、y} 的情况下

    张成空间

    张成空间是向量 vw 全部线性组合构成的向量集合,即:

    av+bw ( a,b 在实数范围内变动)

     

    向量空间的基

    向量空间中的一组基是张成该空间的一个线性无关向量的集合。

    只有当以下两个条件同时满足时,一组向量 (\vec e_{1},...,\vec e_{n}) 才能成为基底。

    1. (当前空间中的)任意向量 \vec v 都可以表示成 \vec v = x_{1}\vec e_{1}+...+x_{n}\vec e_{n} 的形式( x_{1},...,x_{n} 为任意数)
    2. 并且这种表示方法是唯一的

    向量空间的维数

    空间的维数可以通过基向量的个数来定义

    维数 = 基向量的个数 = 坐标的分量数

     

    线性无关

    当且仅当 a=b=c=0av+bw+cu=0 成立,则 v,w,u 是线性无关的。

    换种表达方式,线性无关是说:其中任意一个向量都不在其他向量张成空间中,也就是对所有的 ab , u=av+bw 均不成立。

    线性变换

    线性的两个条件:直线依旧是直线 和 原点保持固定.

    线性的严格定义:

    线性变换保持网格线平行且等距分布,并且保持原点不动。

    线性变换由它对空间的基向量的作用完全决定,在二维空间中,基向量就是 ij ,这是因为其他任意向量都成表示为基向量的线性组合,坐标为(x,y)的向量就是x乘以 i 加上y乘以 j ,在线性变换之后,网格线保持平行且等距分布这一性质有个绝妙的推论,向量(x,y)变换之后的结果,将是x乘以变换后的 i 的坐标加上y乘以变换后的 j 的坐标。

     

    向量的点积

    点乘,也叫向量的内积、数量积。顾名思义,求下来的结果是一个数。两个维度相同的向量,点积定义如下:

    • 点积和顺序无关
    • 两个向量相互垂直时,点积为0
    • 两个向量方向相同时,点积为正;相反时,点积为负

    向量的叉积

    叉乘,也叫向量的外积、向量积。顾名思义,求下来的结果是一个向量。

    • 向量的叉积不满足交换律

    对偶向量

    给定一个向量,如果存在这样一个映射,它把给定的向量映射为一个实数,就说这个映射是对偶向量。例如一个n维行向量(a1,a2...an),它既可以理解为行向量,也可理解为某种映射,该映射把给定的n维列向量(b1,b2...bn)(矢量)映射为实数k,k=a1b1+a2b2+...anbn,即矩阵的乘积。则这个映射满足对偶向量的定义,因此行向量(a1,a2...an)是对偶(b1,b2...bn)的对偶向量。

     

    矩阵(matrix)相关

    矩阵的定义

    矩阵是一个二维数组,其中的每一个元素由两个索引(而非一个)所确定,一般用粗体的大写字母表示,比如: A = \begin{equation} \left( \begin{array}{ccc} a11 & a12 & a13\\ a21 & a22 & a23\\ \end{array} \right) \end{equation}

    矩阵 A 中的第 i 行第 j 列的值,称为 A(i,j) 元素;当矩阵行数和列数相同时,称为方阵。

    矩阵就是映射,或者说是向量运动的描述。
    n 维向量 x 乘以 m\ast n 矩阵 A ,能得到 m 维向量 y=Ax 。也就是说,指定了矩阵 A ,就确定了从向量到另外一个向量的映射。
    两个矩阵相乘的几何意义就是两个线性变换相继作用。

    矩阵运算

    加法:

    只要两个矩阵的形状一样,就可以把两个矩阵相加。两个矩阵相加是指对应位置的元素相加,比如 C=A+B ,其中 C_{i,j}=A_{i,j}+B_{i,j}

    乘法:

    两个矩阵 AB 的矩阵乘积是第三个矩阵 C 。为了使乘法可被定义,矩阵A的列数必须和矩阵B的行数相等。如果矩阵 A 的形状是 m\ast n ,矩阵 B 的形状是 n\ast p ,那么矩阵 C 的形状是 m\ast p 。例如

    C=AB

    具体地,该乘法操作定义为:

    C_{i,j}=\sum_{k}^{}{A_{i,k}B_{k,j}}

    矩阵乘积服从分配律: A(B+C)=AB+AC
    矩阵乘积也服从结合律: A(BC)=(AB)C
    矩阵乘积不满足交换律: AB=BA 的情况并非总是满足
    矩阵乘积的转置有着简单的形式: (AB)^T=B^TA^T

     

    矩阵的秩

    矩阵的秩,为变换后的空间的维数

    核与值域

    核:所有经过变换矩阵后变成了零向量的向量组成的集合,通常用Ker(A)来表示。

    值域:某个空间中所有向量经过变换矩阵后形成的向量的集合,通常用R(A)来表示。

     

    维数定理

    对于 m\times n 矩阵 A ,有 dim Ker(A) +dim R(A) = n

    其中 dim X 表示X的维度。

    列空间

    矩阵 A 的列空间为所有可能的输出向量 Av 构成的集合,换句话说,列空间就是矩阵所有的列所张成的空间。

    所以更精确的秩的定义是列空间的维数;当秩达到最大值时,意味着秩和列数相等,也即满秩。

    零向量

    变换后落在原点的向量的集合被称为矩阵的‘零空间’或者‘核’。

    • 零向量一定在列空间中
    • 对于一个满秩变换来说,唯一能在变换后落在原点的就是零向量自身
    • 对于一个非满秩的矩阵来说,它将空间压缩到一个更低的维度上,变换后的已给向量落在零向量上,而“零空间”正是这些向量所构成的空间

    行列式

    线性变换的行列式即线性变换改变面积的比例。

    det(M_1M_2) = det(M_1)det(M_2)

    • 检验一个矩阵的行列式是否为0,就能了解这个矩阵所代表的变换是否将空间压缩到更小的维度上
    • 在三维空间下,行列式可以简单看作这个平行六面体的体积,行列式为0则意味着整个空间被压缩为零体积的东西,也就是一个平面或者一条直线,或者更极端情况下的一个点
    • 行列式的值可以为负,代表空间定向发生了改变(翻转);但是行列式的绝对值依然表示区域面积的缩放比例

     

     

    奇异矩阵

    行列式为零的矩阵

    特征值和特征向量

    特征分解

    如果说一个向量 v 是方阵 A 的特征向量,将一定可以表示成下面的形式:

    Av=\lambda v

    \lambda 为特征向量 v 对应的特征值。特征值分解是将一个矩阵分解为如下形式:

    A=Q\Sigma Q^{-1}

    其中, Q 是这个矩阵 A 的特征向量组成的矩阵, \Sigma 是一个对角矩阵,每一个对角线元素就是一个特征值,里面的特征值是由大到小排列的,这些特征值所对应的特征向量就是描述这个矩阵变化方向(从主要的变化到次要的变化排列)。也就是说矩阵A的信息可以由其特征值和特征向量表示。

    对于矩阵为高维的情况下,那么这个矩阵就是高维空间下的一个线性变换。可以想象,这个变换也同样有很多的变换方向,我们通过特征值分解得到的前N个特征向量,那么就对应了这个矩阵最主要的N个变化方向。我们利用这前N个变化方向,就可以近似这个矩阵(变换)。

    总结一下,特征值分解可以得到特征值与特征向量,特征值表示的是这个特征到底有多重要,而特征向量表示这个特征是什么。不过,特征值分解也有很多的局限,比如说变换的矩阵必须是方阵。

    奇异值分解

    特征值分解是一个提取矩阵特征很不错的方法,但是它只是对方阵而言的,在现实的世界中,我们看到的大部分矩阵都不是方阵,比如说有N个学生,每个学生有M科成绩,这样形成的一个N * M的矩阵就不可能是方阵,我们怎样才能描述这样普通的矩阵呢的重要特征呢?奇异值分解可以用来干这个事情,奇异值分解是一个能适用于任意的矩阵的一种分解的方法:

    分解形式:

    假设A是一个M * N的矩阵,那么得到的U是一个M * M的方阵(称为左奇异向量),Σ是一个M * N的矩阵(除了对角线的元素都是0,对角线上的元素称为奇异值),VT(V的转置)是一个N * N的矩阵(称为右奇异向量)。

     

    LU分解

    给定矩阵A,将A表示成下三角矩阵L和上三角矩阵U的乘积,称为LU分解。

    转置矩阵

    对于矩阵A,将其行列互换得到的矩阵,称为A的转置矩阵,记为 A^{T}

    矩阵的转置是以对角线为轴的镜像,这条从左上到右下的对角线被称为主对角线(main diagonal)。

    (A^T)_{i,j}=A_{j,i}

    单位矩阵

    方阵中,如果除了对角线(从左上到右下)上的元素为1,其余元素都为0,则该矩阵称为单位矩阵,记为 II_{n} 表示 n 阶单位矩阵。

    单位矩阵表示的映射是“什么都不做”的映射。

    逆矩阵

    A逆乘以A等于一个‘什么都不做’的矩阵。 A^{-1}A = \begin{equation} \left( \begin{array}{ccc} 1 & 0\\ 0 & 1 \\ \end{array} \right) \end{equation}

    • 一旦找到A逆,就可以在两步同乘A的逆矩阵来求解向量方程
    • 行列式不为零,则矩阵的逆存在

    零矩阵

    所有元素都为0的矩阵称为零矩阵,记为 O

    零矩阵表示的映射是将所有的点都映射到原点的映射。

    对角矩阵

    在方阵中,对角线(从左上到右下)上的值称为对角元素。

    非对角元素全部为0的矩阵称为对角矩阵。

    对角矩阵表示的映射是沿着坐标轴伸缩,其中对角元素就是各坐标轴伸缩的倍率。

    张量(tensor)

    在某些情况下,我们会讨论坐标超过两维的数组。一般的,一个数组中的元素分布在若干维坐标的规则网络中,我们称之为张量。

    一阶张量可以用向量表示,二阶张量可以用矩阵表示。

    展开全文
  • 线性代数学习心得(一)矩阵乘法

    千次阅读 2019-03-02 20:04:56
    这些问题在很多领域都被广泛应用,特别是在计算机领域。图形学、游戏开发、VR等等。总之,线性代数是计算机学者必经之路。 此博客是我在学习MIT的线性代数课程中所学到心得体会。虽然之前我已经对线性代数有了...
  • 什么是矩阵: 矩阵(Matrix) 数学上,矩阵是指纵横排列的二维数据表格,最早来自于方程组的系数及常数所构成的方阵。... 矩阵的运算是数值分析领域的重要问题。将矩阵分解为简单矩阵的组合可以在理...
  • 由于它的简便,所以就代数在数学和物理的各种不同分支的应用来说,线性代数具有特殊的地位.此外它特别适用于电子计算机的计算,所以它在数值分析与运筹学中占有重要地位。 线性代数是讨论代数学中线性关系经典理论...
  • 这本书的主要目的是介绍线性代数和最优化理论的基础知识以及这些知识机器学习、机器人学、计算机视觉等领域的应用。 该书包含以下 10 卷: 1. 线性代数 2. 仿射几何和射影几何 3. 双线性形式的几何 4. 几何:PID、...
  • 线性代数(一) : 线性空间

    千次阅读 多人点赞 2013-07-05 14:12:29
    线性代数作为数学的一个分支,广泛的应用于物理学,经济学,计算机图形学等等各种领域数学领域线性代数也已经广泛的渗透到其他分支。总之它对很多人都是很有利的数学工具。下面从最基本的概念开始一步一步走进线性...
  • 线性代数在很多领域都有应用 计算机科学 物理 电力工程 机械工程 统计 …… 学过线性代数学生可能都会做以下计算,但他们却不知道为什么要这样计算,它们分别代表含义是什么?学生们对于线性代数中几何...
  • 讲解内容是关于线性代数的一个重要应用:图和网络,理论结合实践,展示数学工程实践中重要地位,学完本节课,你会发现很多物理系统,比如力学系统、电学系统,生物学系统,经济学系统,计算机科学领域系统...
  • AI(人工智能)现在火一塌糊涂,其实AI领域,机器学习已广泛应用在搜索引擎、自然语言处理、计算机视觉、生物特征识别、医学诊断、证券市场分析等领域,并且机器学习已经是各大互联网公司基础设施,不再是一个...
  • 计算机视觉中代数与李群

    千次阅读 2017-04-12 10:43:12
    在计算机视觉领域的文献里经常会见到李代数和李群的概念,在此说说我个人对李代数与李群的理解。 本人第一次遇见李代数与李群的概念是在研一时必修课《非线性控制系统理论与应用》上,在该课程中是使用李群与李...
  • 数学在计算机图形学中的应用

    千次阅读 2013-07-25 00:26:50
    在计算机图形学领域钻研多深。如果仅仅使用周围唾手可得图形软件,你不需要知道 多少数学知识。如果想学习计算机图形学入门知识,我建议你读一读下面所写前两 章(代数,三角学和线性代数
  • 数学在计算机图形学中的应用(转)

    千次阅读 2009-06-15 10:48:00
    答案取决于你想在计算机图形学领域钻研多深。如果仅仅使用周围唾手可得图形软件,你不需要知道多少数学知识。如果想学习计算机图形学入门知识,我建议你读一读下面所写前两章(代数,三角学和线性代数)。如果...
  • 第8-9章介绍了深度学习在计算机视觉领域的目标检测及图像分割两大应用;第10-14章介绍了计算机视觉领域主要的优化方法及思路等,包括迁移学习,网络架构及训练,网络优化技巧,超参数调整及模型的压缩和加速等。本书...
  • 摘 要 格是一类重要的偏序集,它的理论已经涉及到数学的许多分支,在其他学科领域(如在计算机的逻辑设计和程序理论等)有着广泛的应用.因此,研究有实际意义的格是一项非常有意义的工作.本文讨论线性空间的子空间形成格...
  • 本书首先介绍了MATLAB语言程序设计的基本内容,此基础上系统介绍了各个应用数学领域的问题求解,如基于MATLAB的微积分问题、线性代数问题的计算机求解、积分变换和复变函数问题。
  • 这个系列的博客从矩阵分析与多元统计II 二次型与二次曲面2 双线性函数介绍的双线性函数开始进行推广得到张量,建立张量的代数与分析理论,并讨论张量数理统计中的应用。 张量的概念 定义1 假设VVV是数域
  • 本书首先介绍了matlab语言程序设计的基本内容,此基础上系统介绍了各个应用数学领域的问题求解,如基于matlab的微积分问题、线性代数问题的计算机求解、积分变换和复变函数问题、非线性方程与最优化问题、常微分...
  • 《高等应用数学问题的MATLAB求解》首先介绍了MATLAB语言程序设计的基本内容,此基础上系统介绍了各个应用数学领域的问题求解,如基于MATLAB的微积分问题、线性代数问题的计算机求解、积分变换和复变函数问题、非...
  • 人工智能一个很大的应用方向是CV(计算机视觉)。CV如制造业、检验、文档分析、医疗诊断和军事等领域中各种智能系统中不可分割。具体的像无人驾驶、人脸识别、VR/AR等,未来医疗领域等还将有更大的发展。 ...
  • Sparse and Redundant Representations中文版 迈克尔 Elad 是计算机科学部门——以色列理工学院一名副教授。...趣研究领域包括信号处理、图像处理、计算机视觉、数值分析、数值线性代数 和机器学习算法。
  • 本书首先介绍了MATLAB语言程序设计的基本内容,此基础上系统介绍了各个应用数学领域的问题求解,如基于MATLAB的微积分问题、线性代数问题的计算机求解、积分变换和复变函数问题、非线性方程与最优化问题、常微分...

空空如也

空空如也

1 2 3 4 5 6
收藏数 117
精华内容 46
关键字:

线性代数在计算机领域的应用