在算法如何使用线性代数?(How is linear algebra used in algorit

2019-07-29 16:38发布

我的几个同行中已提到,“线性代数”学习算法时是非常重要的。 我已经研究了各种算法和采取了一些线性代数课程,我没有看到的连接。 因此,如何在算法中使用的线性代数?

例如什么有趣的事情可以在一个与图形连接矩阵?

Answer 1:

三个具体的例子:

  • 线性代数是现代3D图形根本和切入点。 这基本上是你在学校学到同样的事情。 该数据被保存在了在2D表面,这是你在屏幕上看到投影的3D空间。
  • 大多数搜索引擎都是基于线性代数。 这样做是为了表示每个文件作为载体在超空间和看到矢量如何涉及彼此在该空间中。 这是通过使用Lucene项目 ,等等。 见VSM 。
  • 一些现代的压缩算法,例如由的Ogg Vorbis格式中使用的一种是基于线性代数,或者更具体地被称为方法矢量量化 。

基本上它归结为一个事实,即线性代数是一个非常强大的方法,多变量打交道时,并有设计算法时以此作为理论基础带来巨大的利益。 在许多情况下,这种基础并不像你想象的那样appearent,但这并不意味着它不存在。 这很可能是你已经实现的算法这将是非常困难而不linalg派生。



Answer 2:

一个译电员可能会告诉你,学习算法时数论的把握是非常重要的。 他会是正确的 - 他的特定领域。 统计有它的用途太 - 跳表,哈希表等图论的效用则更为明显。

有线性代数和算法之间没有内在的联系; 有数学和算法之间的内在联系。

线性代数是许多应用领域,因此,关于它绘制算法有很多的应用,以及。 你不会浪费你的时间去学习它。



Answer 3:

哈,我无法抗拒这里(即使其他的答案是好的),把这个:

$ 25美元十亿美元的特征向量 。

我不会说谎......我从来没有阅读整个事情......也许我会现在:-)。



Answer 4:

我不知道如果我的短语作为“线性代数学习算法”的时候是非常重要的。我几乎把它周围的其他方法。很多,很多,很多,现实世界中的问题最终需要你解决当计算机是一个职位,而不是一个线性方程组,如果你最终不得不解决的,你将需要了解一些用于处理线性方程组的许多算法的问题之一,许多这些算法被开发机。考虑高斯消元法和例如各种矩阵分解算法。有关于如何解决非常大的矩阵例如这些问题有很多非常复杂的理论。

在机器学习最常用的方法结束了具有优化步骤,其需要求解一组联立方程。 如果你不知道线性代数你会完全丧失。



Answer 5:

许多信号处理算法都是基于矩阵运算,如傅立叶变换,拉普拉斯变换,...

优化的问题往往可以为求解线性方程系统。



Answer 6:

线性代数也是在计算机代数许多算法很重要,因为你可能已经猜到了。 例如,如果你可以减少一个问题,说一个多项式为零,其中多项式的系数是变量线性x1, …, xn ,那么你就可以解决什么样的价值观的x1, …, xn使多项式由每个等同的系数等于0 x^n术语为0,并求解线性系统。 这就是所谓的待定系数的方法,和在计算部分分数分解或在整合合理的功能是用于示例。

对于图论,约邻接矩阵的最冷的事情是,如果你把邻接矩阵的n次幂为一个未加权的曲线图(各条目是0或1), M^n ,然后每个条目i,j将的从顶点路径数i到顶点j长度的n 。 如果这不只是冷静,那么我不知道是什么。



Answer 7:

这里所有的答案都在算法线性代数的好例子。

作为一个元的答案,我会补充一点,你可能会使用在你的算法,线性代数而不自知。 与SSE(2)优化编译器通常由具有并行操作的许多数据值向量化代码。 这主要是元素LA。



Answer 8:

这要看是什么类型的“算法”。

一些例子:

  • 机器学习/统计算法:线性回归(最小二乘法,岭,套索)。
  • 的信号的有损压缩和其他处理(脸部识别,等等)。 见特征脸


Answer 9:

例如什么有趣的事情可以在一个与图形连接矩阵?

许多基质的代数性质的是不变的下顶点的排列(例如ABS(行列式)),所以如果两个图是同构的,它们的值将是相等的。

这是很好的启发确定两个图表是事先没有同构的,因为课程的平等并不能保证同构的所有脑干的来源。

查看代数图论的很多其他有趣的技术。



文章来源: How is linear algebra used in algorithms?