我们从线性代数在开始第1部分和第2部分。我们了解了向量和矩阵,以及它们如何在机器学习中提供帮助。让我们从剩下的地方开始讨论,并涵盖机器学习数学第3部分中有关矩阵的一些剩余详细信息。
逆矩阵:
我们将从该系列的前2部分讨论的问题开始机器学习数学的第3部分。苹果和香蕉的问题,最终将设法找到解决方案。
假设我第一次去商店时花8元买了2个苹果和1个香蕉。在另一次访问中,我以13元买了10个苹果和1个香蕉。
我们将其记为矩阵乘以向量。我们将矩阵称为A,将输入向量称为r,将输出向量称为S。
现在,考虑矩阵A -1。当我们将此矩阵与原始矩阵A相乘时,它将得到一个单位矩阵。这是矩阵A的逆。A -1颠倒A并给出一个单位矩阵。
因此,如果我们得到矩阵的逆,我们可以得到向量a,b的值,最后解决香蕉和苹果问题。
现在,让我们继续学习身份矩阵。
我们实际上可以通过替代解决此问题。请看下面的例子。
这表明c = 2。另外,请注意,现在我们得到了一个特殊的矩阵,该矩阵的所有零均位于对角线以下。从这里开始,我们可以采用替代方法来进一步解决我们的问题。
现在,从上面两行中减去第3行,即c值。第一行取c的3倍,第二行取c的一个。
我们终于得到了解决方案。1个苹果5元,1个香蕉4元和1个胡萝卜2元。
因此,我们从消除开始,然后进行反向替换以得到解决方案。
这里要注意的一件事是,我们实际上已经将矩阵最后更改为一个单位矩阵,以得到解。这使我们回到开始讨论的矩阵逆矩阵。
让我们找出如何找到任何矩阵的广义解,以及如何将消除应用于通过矩阵逆求解问题。
考虑,我们有一个3×3矩阵A,它是逆B,它们相乘在一起就得到一个恒等矩阵I。
现在,将矩阵A与矩阵B的第一列相乘将得出恒等矩阵的第一列或向量。类似地,矩阵A与B的第二矢量或列的相乘将得到单位矩阵的第二列,B与A的第三列相乘将得到单位矩阵的第三列。
现在,尝试立即执行此操作!通过在矩阵的第二行和第三行取第一行。
这将给出:
如您所见,我们已经将A修改为单位矩阵(仅通过消除和反向替换),而我实际上是A -1的答案。或矩阵B。
因此,我们得出结论,将A乘以A逆将得到一个恒等矩阵。
您可能之前已经以其他方式做到了。但是在这里,我们以一种通用且计算速度更快的方式解决了它。特别是如果我们要处理更大的尺寸。广义上来说,它不取决于右侧的矩阵。
行列式和倒数:
现在,让我们看看称为行列式的矩阵的属性。
考虑矩阵
我们所做的是,已将轴水平缩放为因子a,垂直缩放为因子d。正方形多少会缩放为矩形。实际上,所有空间都按因子广告缩放。我们可以说这是变换矩阵的行列式。如果我们采用另一个矩阵
现在,正方形变为平行四边形,但是比例因子仍然是ad。平行四边形的面积。基数乘以高度。
如果我们有一个通用矩阵,
现在让我们找到此平行四边形的面积。参见下图。验证是否喜欢,但区域为ad-bc。
以前,您可能像这样计算矩阵的逆:
这告诉我们,将A与A的逆数相乘得到一个单位矩阵。因此,您一直做对了!
因此,行列式是我们需要将逆矩阵除以什么,以使逆矩阵正确地成为逆矩阵。
现在,我们如何计算矩阵的这些行列式值?如今,我们实际上不需要学习计算步骤。MATLAB和Python库将为您完成此任务。但是,如果您真的想学习,则可以考虑QR分解。
继续看下面的矩阵,
它们沿着同一条线延伸,实际上是彼此的倍数,不是线性独立的。同样,它将给出行列式为0,| A |=0。3×3向量也是如此,其中新的基本向量是其他两个的倍数。封闭或行列式的面积将再次为0。
现在,让我们继续讲Val Echelon form。考虑下面的一组联立方程,
我们可以在这里看到第3行实际上是row1和row2的总和。同样,第3列是第1列+第2列的两倍。这意味着此转换向量没有描述3个独立向量。一个是线性独立于其他两个。因此,它描述了二维空间。现在让我们看看如果尝试将其简化为Val梯形形式会发生什么。从第二行取第一行,从第三行取第一行和第二行的和。
这使c等于0。表明我们没有太多信息来求解联立方程。
我们已经证明的是,如果描述矩阵的基向量不是线性独立的,则行列式为0。这还表明,如果我们折叠空间的尺寸,则将付出一定的代价。在这里,我们无法找到逆,实际上可以使我们撤消变换矩阵并将其引向原始向量。
因此,事先检查我们提议作为矩阵变换的新基础向量的向量是线性独立的,以便稍后可以撤消变换。
到目前为止,我们已经了解了什么是决定因素以及它如何增长空间。同样,我们已经看到行列式为0的特殊情况,这意味着基向量不是线性独立的,这又意味着不存在逆。
爱因斯坦求和矩阵:
写矩阵变换的另一种方法是爱因斯坦求和矩阵。它记录了矩阵各组成部分的实际操作,对编码工作很有用。
我们知道矩阵乘法如下。考虑一个nxn阶的矩阵A与另一个nxn阶的矩阵B相乘得到矩阵AB:
这使我们的编码更加容易。只需运行三个循环并累积即可获得AB。T在计算上很有效,但不是很直观。
因此,只要矩阵在j中具有相同数量的条目,我们就可以将它们相乘。
3 x 3矩阵乘以3 x 4矩阵。通常所有非方阵。
现在,让我们根据爱因斯坦求和法重新讨论点积。
如果我们有两个列向量u和v。
让我们详细看一下点积和矩阵乘法之间的等价关系。
让我们看看点乘积e1和u会发生什么。那是u在e1上的投影。然后e1在u上的投影。然后我们可以有趣地通过投影相交处的对称线。这种对称性表明u在e1上的投影与e1在u1上的投影相同。这可以在点积中看到。将u与e1乘以点或将其翻转将给出相同的答案。现在从几何上看,为什么。
对于其他轴e2或任何其他轴也可以证明这一点。因此,点积就像投影一样对称,这就是矩阵乘法和投影之间的联系。
正交矩阵:
首先让我们介绍矩阵转置的概念。为了换位,我们互换矩阵的所有行和列。
A t ij = A ji
考虑尺寸为n×n的方阵A。它定义了一个变换矩阵,其中基础向量彼此正交并且具有单位长度。
如果i不等于j,ai.aj = 0
如果i等于j,ai.aj = 1
让我们看看如果将矩阵A与其转置相乘会发生什么。
我们得到一个身份矩阵!
A t A =我
这意味着A转置是矩阵A的有效逆。
相互垂直的一组单位长度向量称为正交基集。由它们组成的矩阵是正交矩阵。
这也意味着,由于正交矩阵由单位长度的基础向量组成,因此它会按比例缩放空间。然后行列式为1或-1。向量反转或翻转时为-1。
在数据科学中,当我们要转换数据时,将尽可能使用正交向量的基础向量。那就是我们的变换矩阵将是正交的。反过来,这意味着逆计算很容易。逆向转换很容易,因为它不会使空间崩溃。投影仅仅是点积。行列式是1或减1。很多事情都整齐又简单。因此,从转置开始,我们发现了最方便的基础向量集,它是形成正交矩阵的正交基础向量集!
Gram-Schmidt过程:
让我们继续学习机器学习数学第3部分,了解如何构建和使用正交基向量集。
假设我们有一个跨越空间的线性独立向量。
假设我们有一组向量v跨越我们的空间。
v = {v1,v2,v3,…,vn}
取第一个向量并将其标准化,这样我们的第一个基本向量e为
因此,e1只是v1的规范化版本。
对于v2,我们可以看到v2在e1方向上具有一个分量。因此,如果我们在e1上投影v2,我们将得到,
V2 =(v2.e1)e1 + u2
要么,
u2 = v2 –(v2.e1)e1
规范化u2将给
那是计算正交基础的第一部分。
现在,第三个向量v3不是v1和v2的线性组合,并且不在向量v1和v2定义的平面内。
我们可以将v3向下投影到e2和e1的平面中。该投影将是由e1和e2组成的平面中的某些矢量。
u3 = v3 –(v3.e1)e1 –(v3.e2)e2
其中(v3.e1)e1是由e1s构成的v3的组件,而(v3.e2)e2是由e2s构成的v3的组件。
u3是另一个垂直于飞机的人。对u3进行归一化,
我们可以继续这样做,直到我们计算出跨越空间的所有正交基向量。
通过这种方式,w将非正交,非单位向量转换为单位长度好的正交向量的集合,从而形成了一组正交法向量。
这就是我们构造正交基向量集并使生活更轻松的方式!
应用:
现在,让我们将在机器学习数学第3部分中获得的知识放到一个示例中,看看它是否真的使我们的生活更轻松。
我们要做的是反射一架飞机。如果我们在一些不同的平面上进行反射,矢量就是这样。换句话说,如果镜子以某种滑稽的角度出现,猫在镜子中的反射对我来说会是什么样子。
假设我在镜面上知道2个向量。第三个向量在镜平面之外。
现在,定义新的转换矩阵E
现在考虑一个向量r,我们想要通过正交向量的平面向下反射到r'。
这里有趣的是向量r将由一些向量e1和与其垂直的一些向量e3组成。向下的位只是e3的负数。
以e为底的转换矩阵将由e1,e2和e3的负数组成,
这是在平面上的反射。
因此,如果我们在平面的基础向量中获得了这里为基础E的向量,则可以进行反射。然后,我们可以将其放回基本向量集中,以获得完整的变换。
将r转换为r'实际上遵循以下步骤
这将我们的问题简化为矩阵乘法。我们将所有值都进行计算!
您可以在这里看到,一旦考虑了反射镜的平面和垂直于反射镜的平面,就很难通过三角函数解决一个问题。
总结一下,我们看到了关于向量和矩阵的所有有趣的应用,它们反映了空间中的一个点。
我们可以找到它在神经网络中的直接应用,在神经网络中,我们可能希望对面部识别进行一些思考,