拓冰建站拓冰建站
首页 / 资讯中心 / 正文

帝国理工机器学习线性代数笔记(二)

U3 V3 - proj_{E1}(V3) - proj_{E2}(V3)计算两个投影proj_{E1}(V3) (V3 · E1) * E1 ([3,1,-1]·(1/√3)[1,1,1]) * (1/√3)[1,1,1] (3/√3) * (1/√3)[1,1,1] [1,1,1]proj_{E2}(V3) (V3 · E2) * E2 ([3,1,-1]·(1/√2)[1,-1,0]) * (1/√2)[1,-1,0] (2/√2) * (1/√2)[1,-1,0] [1,-1,0]因此U3 [3, 1, -1] - [1, 1, 1] - [1, -1, 0] [1, 1, -2]将 U3 单位化得到 E3。U3 的长度为 √(1² 1² (-2)²) √6。E3 (1/√6) * [1, 1, -2]ᵀ现在我们得到了一组标准正交基E [E1, E2, E3]它们构成了一个变换矩阵。在新基下定义反射变换我们已经有了描述平面及其法向的新基。接下来我们思考在这个新坐标系下反射变换是什么样的。假设有一个向量R我们可以将其分解为平面内的分量由E1和E2组成和垂直于平面的分量由E3组成。当进行反射时平面内的分量保持不变。垂直于平面的分量方向会反转正变负。因此在由{E1, E2, E3}构成的基下反射变换矩阵T_E非常简单T_E [ [1, 0, 0], [0, 1, 0], [0, 0, -1] ]这个矩阵的含义是保持 E1 和 E2 方向的分量将 E3 方向的分量取反。通过基变换完成反射然而我们的原始向量R例如 R [2, 3, 5]ᵀ是定义在标准基下的。我们不能直接应用T_E。我们需要一个“绕行”策略变换到新基使用矩阵E⁻¹将向量R从标准坐标变换到新基{E1, E2, E3}下的坐标R_E。公式为R_E E⁻¹ * R。在新基下反射对新坐标R_E应用简单的反射矩阵T_E得到反射后的新坐标R‘_E。公式为R‘_E T_E * R_E。变换回标准基使用矩阵E将反射后的坐标R‘_E从新基变回标准基得到最终结果R‘。公式为R‘ E * R‘_E。将这三步合并得到完整的变换公式R‘ E * T_E * E⁻¹ * R这里有一个关键简化由于E是由正交单位向量组成的矩阵其逆矩阵等于其转置矩阵即E⁻¹ Eᵀ。这使得计算变得容易。因此反射变换在标准基下的矩阵T为T E * T_E * Eᵀ计算结果通过矩阵乘法计算T E * T_E * Eᵀ然后将其应用于向量R [2, 3, 5]ᵀ我们可以得到反射后的向量R‘。计算过程涉及算术此处直接给出结果R‘ (1/3) * [11, 14, 5]ᵀ这意味着向量 (2, 3, 5) 在由 V1 和 V2 定义的平面上反射后得到了新向量 (11/3, 14/3, 5/3)。总结本节课中我们一起学习了一个综合应用实例。我们利用格拉姆-施密特过程构建了正交基通过基变换将复杂的空间反射问题转化为在新基下的简单操作仅反转法向分量。这种方法避免了繁琐的三角几何计算展示了线性代数中矩阵和变换的强大力量。这种技术在实际中非常有用例如在计算机图形学中处理镜像或在人脸识别中通过图像变换来增广数据集。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/icl-ml-linalg/img/f30ab8422d5e233e6e124179e4e171e6_2.png本周我们深入探索了矩阵的世界学习了构建正交基、变换基并将其与向量和投影联系起来。这为我们接下来由萨姆引导的主题——特征值和特征向量——奠定了坚实的基础。028欢迎来到模块五https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/icl-ml-linalg/img/0239e5f8c0a9cebbaa972da203227b40_0.png在本模块中我们将学习线性代数中一个核心且强大的概念——特征问题。我们将综合运用之前模块中学到的所有知识并最终通过一个编程练习来应用它重现谷歌著名的网页排名算法。欢迎来到最后一个模块。我是来自伦敦帝国理工学院戴森设计工程学院的 Sam Cooper 博士。我是一名能源研究员使用机器学习作为工具来帮助我理解锂离子电池。我将接替 Dave负责线性代数课程的最后一个主题。如果你继续学习本系列课程我也将负责下一门关于多元微积分的课程。在这个最后的模块中我们将重点学习特征问题。这需要我们运用在之前模块中学到的几乎所有概念。为了完成本课程你将在一个编程练习中应用这个工具以重现谷歌著名的网页排名算法。该算法获取你的互联网搜索结果并以某种便捷的顺序显示它们。我希望你喜欢这个模块并利用论坛让我们知道你的学习进展。上一节我们介绍了本模块的总体目标。本节中我们将开始深入探讨特征问题的基本思想。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/icl-ml-linalg/img/0239e5f8c0a9cebbaa972da203227b40_2.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/icl-ml-linalg/img/0239e5f8c0a9cebbaa972da203227b40_3.png在本节课中我们一起学习了模块五的引入部分了解了特征问题的重要性以及我们将要完成的最终实践项目——网页排名算法。接下来的课程将逐步展开特征值与特征向量的核心理论。029什么是特征值和特征向量https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/icl-ml-linalg/img/83f61702b7d7d667f411893b1204a920_0.png在本节课中我们将要学习线性代数中的一个核心概念特征值与特征向量。我们将通过几何图像来直观理解它们的含义而不是一开始就陷入复杂的公式推导。从“特征”一词说起“Eigen”一词源自德语最贴切的翻译是“特征”。因此当我们讨论特征问题时我们实际上是在寻找事物的特征属性。但具体是什么事物的特征呢和之前几周的内容一样本节将主要通过几何解释来阐明“特征”这一概念这让我们可以先从图像入手而不是立刻被数学符号所困扰。变换与空间可视化正如前几周所学我们可以用矩阵来表示线性变换。这些操作包括缩放、旋转和剪切。通常我们在应用这些变换时会考虑它们对某个特定向量的影响。然而思考变换作用于空间中所有向量时的整体效果也很有用。这可以通过在原点中心画一个正方形来轻松可视化然后观察应用变换后这个形状如何扭曲。如果我们应用一个垂直方向放大2倍的缩放正方形会变成一个长方形。如果我们对这个空间应用一个水平剪切它可能会变成类似这样的形状。关键概念特征向量的出现我们使用小正方形来帮助可视化许多向量的变化。但请注意有些向量最终仍停留在它们起始时的直线上而其他向量则不会。为了突出这一点我将在初始正方形上画出三个特定的向量。现在让我们再次考虑垂直缩放并思考这三个向量会发生什么。以下是具体变化绿色的水平向量保持不变指向相同的方向且长度相同。粉色的垂直向量也仍然指向与之前相同的方向但其长度增加了一倍。橙色的对角线向量原本与坐标轴成45度角。现在它的角度和长度都发生了变化。可以看到除了水平和垂直向量任何其他向量的方向都会被这个垂直缩放所改变。因此在某种意义上水平和垂直向量是特殊的它们是这个特定变换的特征这就是为什么我们称它们为特征向量。特征值的含义https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/icl-ml-linalg/img/83f61702b7d7d667f411893b1204a920_2.png此外因为水平向量的长度没有改变我们说它对应的特征值为1。而垂直特征向量的长度加倍了所以我们说它的特征值为2。从概念上讲这就是二维特征问题的全部。我们取一个变换寻找那些在变换后仍保持在原直线方向上的向量然后测量它们的长度改变了多少。这基本上就是特征向量及其对应特征值的含义。更多示例与推广让我们再看两个经典例子以确保我们能推广所学的知识。这是我们的标记正方形。现在让我们看看纯剪切“纯”意味着我们不进行任何额外的缩放或旋转因此面积不变。正如你可能发现的只有绿色的水平线仍然沿着其原始方向延伸所有其他向量都发生了偏移。最后让我们看看旋转。显然这个变换没有任何特征向量因为所有向量都从它们原始的直线上被旋转开了。在本节课中我们已经涵盖了关于特征值和特征向量几乎所有你需要知道的核心概念。虽然目前我们只在二维空间中讨论但这个概念在三维或更高维度中是完全相同的。在本模块的其余部分我们将查看一些特殊情况并讨论如何用更数学化的术语来描述我们观察到的现象。总结本节课我们一起学习了特征值与特征向量的几何意义。我们了解到对于一个线性变换特征向量是那些在变换后方向保持不变的向量而特征值则描述了这些向量长度缩放的比例。通过可视化变换对空间中所有向量的影响我们可以直观地找出这些“特殊”的向量。这是理解矩阵深层属性和结构的重要基础。机器学习数学线性代数P30特殊的特征情况https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/icl-ml-linalg/img/28b016500de72a3db7b54a2deca355fb_0.png在本节课中我们将探讨特征向量和特征值概念中的几种特殊情况以巩固我们的直觉理解并尝试将这一概念扩展到三维空间。概述上一节我们介绍了特征向量和特征值的基本概念。本节中我们将通过几个具体的线性变换例子观察特征向量的特殊表现。这些例子包括均匀缩放、旋转以及剪切与缩放的组合。理解这些特例有助于我们为后续建立更严谨的数学定义打下基础。均匀缩放首先我们考虑均匀缩放的情况即在每个方向上进行相同比例的缩放。正如你所发现的不仅图中高亮的三个向量是特征向量事实上对于均匀缩放变换任何向量都是特征向量。所有向量都停留在自身张成的直线上只是长度发生了相同比例的变化。核心公式若变换矩阵A是单位矩阵的标量倍即A kI则任何非零向量v都是特征向量对应的特征值均为k。旋转接下来我们考察旋转变换。在之前的视频中一个小的旋转被证明没有特征向量。然而存在一种非零的纯旋转情况确实拥有特征向量那就是旋转180度。如图所示三个特征向量仍然停留在原来的直线上只是指向了相反的方向。这意味着对于这个变换所有向量再次成为特征向量并且它们的特征值都是-1。这表示特征向量的长度没有改变但方向全部反转。剪切与缩放的组合第三个案例我们观察一个水平剪切与垂直缩放的组合变换。这个例子比前几个稍微复杂一些。与之前看到的纯剪切情况类似绿色的水平向量是一个特征向量其特征值仍然是1。然而尽管图中最初显示的两个向量都不是特征向量但这个变换实际上拥有两个特征向量。现在图中已添加了第二个特征向量。这表明尽管特征向量的概念相当直观但在实际中并不总是容易一眼识别。让我们应用逆变换观察平行四边形变回原始的正方形但这次我们的特征向量是可见的。这应该能让你确信它的确是一个特征向量因为它始终停留在自身张成的直线上。扩展到三维空间在三维或更高维度中这个问题会变得更加复杂。机器学习中许多应用特征理论的系统都涉及数百甚至更多维度。因此我们显然需要一个更强大的数学描述来推进。在建立正式定义之前让我们快速看一个三维空间的例子。显然缩放和剪切在三维空间中的行为与二维类似。然而旋转在三维中有了新的含义。从图像中可以看到虽然粉色和绿色的向量方向发生了改变但橙色的向量没有移动。这意味着橙色向量是一个特征向量。同时这也给出了一个物理解释如果我们找到了一个三维旋转的特征向量那么我们也同时找到了该旋转的旋转轴。总结本节课中我们一起学习了一系列特征向量与特征值的特殊情况。我们看到了在均匀缩放中所有向量都是特征向量在180度旋转中所有向量都是特征向量且特征值为-1以及在组合变换中特征向量可能不那么显而易见。我们还初步探索了三维空间中旋转的特征向量与其旋转轴的关系。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/icl-ml-linalg/img/28b016500de72a3db7b54a2deca355fb_2.png这些特例引出了我们心中的疑问如何为特征问题建立一个正式的定义这正是我们下一节将要讨论的内容。031计算特征向量https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/icl-ml-linalg/img/c46acd3cd2e926631d429c941494c84a_0.png在本节课中我们将把对特征向量的几何理解转化为一个严谨的代数表达式。这个表达式将允许我们计算特征值和特征向量。通过几个简单的例子我们将验证这个方法的有效性并理解为何在实际应用中我们通常依赖计算机来完成这些计算。从几何到代数 上一节我们介绍了特征向量的几何意义。本节中我们来看看如何用数学公式来定义它。考虑一个变换矩阵A。如果存在特征向量那么这些向量在变换后仍然停留在原来的张成空间span上。它们可以改变长度甚至完全反向但只要保持在同一根直线上它们就是特征向量。如果我们称特征向量为x那么可以写出以下表达式A x λ x在这个公式中左侧是将变换矩阵A应用于向量x。右侧是将向量x拉伸某个标量因子λλ 只是一个数字。我们的目标是找到能使等式成立的x和λ的值。构建特征方程 为了求解我们可以重写这个表达式将所有项移到一边并进行因式分解(A - λ I) x 0这里引入的I是单位矩阵其大小与A相同主对角线为1其余为0。引入I是为了让矩阵减法在数学上成立而不改变等式的含义。现在要使左边等于零有两种可能括号内的矩阵是零矩阵或者向量x是零向量。我们对零向量解不感兴趣它是一个平凡解。因此我们必须找到使括号内项“作用”为零向量的情况。引入行列式 回顾课程前面的内容我们可以通过计算矩阵的行列式来判断一个矩阵变换是否会将某个非零向量压缩为零向量。因此我们令det(A - λ I) 0这个方程被称为特征方程。对于高维矩阵手动计算行列式工作量很大。我们以一个任意的2x2变换矩阵为例设[a b] A [c d]代入特征方程计算行列式det( [a-λ b ] ) (a-λ)(d-λ) - bc 0 [c d-λ]展开后我们得到一个关于λ的二次多项式称为特征多项式λ² - (ad)λ (ad - bc) 0特征值就是这个方程的解。求得特征值λ后我们可以将其代回原始表达式(A - λ I) x 0中来计算对应的特征向量。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/icl-ml-linalg/img/c46acd3cd2e926631d429c941494c84a_2.png应用示例垂直缩放 ✨与其继续讨论一般形式不如将此方法应用到一个我们已知解的简单变换上。以一个垂直方向缩放2倍的变换为例其变换矩阵为[1 0] A [0 2]应用上述方法计算A - λ I的行列式并令其为零det( [1-λ 0 ] ) (1-λ)(2-λ) 0 [0 2-λ]解得特征值为λ₁ 1和λ₂ 2。接下来将每个特征值代回原式(A - λ I) x 0求特征向量。以下是求解过程当λ 1时(A - 1*I) x [0 0] [x₁] [0] [0 1] [x₂] [0]得到方程x₂ 0。这意味着特征向量在垂直方向分量为0但水平分量x₁可以是任意值。因此特征向量为沿水平轴的任何向量记作[t, 0]^T其中t为任意非零标量。当λ 2时(A - 2*I) x [-1 0] [x₁] [0] [0 0] [x₂] [0]得到方程-x₁ 0即x₁ 0。这意味着特征向量在水平方向分量为0垂直分量x₂可以是任意值。因此特征向量为沿垂直轴的任何向量记作[0, t]^T。应用示例90度旋转 现在尝试一个我们预期没有实特征向量的变换逆时针旋转90度。其变换矩阵为[0 -1] A [1 0]再次应用公式det( [-λ -1] ) λ² 1 0 [1 -λ]特征方程为λ² 1 0它在实数范围内无解。因此该变换没有实特征值也就没有实特征向量尽管存在复数解但本课程不涉及。核心要点与总结 本节课中我们一起学习了如何将特征向量的几何概念转化为代数计算方法。我们建立了核心公式A x λ x和det(A - λ I) 0并通过两个例子验证了其正确性对于垂直缩放变换我们成功求得了特征值和对应的特征向量空间。对于90度旋转变换特征方程无实根证实了其没有实特征向量的几何直观。尽管手动计算很有趣但你必须明白在实际应用中你几乎不需要手工进行这种计算。随着矩阵维度增加求解N次特征多项式将很快无法通过解析方法完成。计算机在求解特征问题时使用的是迭代数值方法。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/icl-ml-linalg/img/c46acd3cd2e926631d429c941494c84a_4.png培养对特征问题的深刻概念性理解远比擅长手工计算更有价值。在接下来的视频中我们将回顾基变换的概念看看当使用特征向量作为基时会发生什么奇妙的事情。032变换到特征基https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/icl-ml-linalg/img/b7defc7fbc4ccf299e6de5bccc26f612_0.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/icl-ml-linalg/img/b7defc7fbc4ccf299e6de5bccc26f612_0.png在本节课中我们将要学习如何将特征向量与基变换的概念相结合从而得到一个强大的工具——对角化。这个方法能让我们高效地计算矩阵的幂运算例如计算T的n次方。问题引入重复的矩阵乘法上一节我们介绍了特征向量的概念和计算方法。本节中我们来看看如何利用它们来简化复杂的矩阵运算。有时我们需要重复进行相同的矩阵乘法。例如假设一个变换矩阵T描述了粒子在一个时间步长内的位置变化。初始位置由向量v0描述乘以变换T后得到新位置v1v1 T * v0要计算粒子在两个时间步长后的位置v2只需将v1再乘以T这等价于将v0乘以T两次v2 T * v1 T * T * v0 T² * v0现在假设这个线性变换在每个时间步长都发生持续n步那么n步后的位置为vn Tⁿ * v0对于一个三维矩阵单次乘法已经需要不少计算量。如果T描述一秒内的变化而我们想预测两周后约120万秒的位置就需要计算T的120万次方计算量巨大。对角矩阵的便利性如果矩阵中除了主对角线上的元素外其余元素均为0我们称其为对角矩阵。对于对角矩阵计算其幂次方非常容易。以下是计算对角矩阵D的n次方的方法Dⁿ [[aⁿ, 0, 0], [0, bⁿ, 0], [0, 0, cⁿ]]你只需要将每个对角线元素分别取n次幂即可。这非常简单。但如果T不是对角矩阵呢答案就在于特征分析。构建特征基正如你可能猜到的解决方案来自于特征分析。本质上我们要做的是变换到一个新的基使得在这个新基下变换T表现为一个对角矩阵。这个新基就是特征基。在基变换章节中我们学到变换矩阵的每一列代表变换后的单位基向量的新位置。因此要构建我们的特征基转换矩阵C我们只需将每个特征向量作为列向量放入矩阵中。对于一个三维的例子假设我们有三个特征向量ξ1ξ2ξ3C [ξ1, ξ2, ξ3]需要注意的是某些特征向量可能是复数在纯几何视角下不易观察但在数学计算中它们与其他特征向量无异。在对角化形式下进行变换应用这个基变换后我们进入了一个新“世界”。在这个世界里乘以T的效果本质上只是纯粹的缩放。换句话说T现在可以用一个对角矩阵D来表示。关键点在于这个对角矩阵D包含了矩阵T对应的特征值D [[λ1, 0, 0], [0, λ2, 0], [0, 0, λ3]]其中λ1λ2λ3是特征值其余位置为零。核心公式矩阵的对角化现在我们将所有概念串联起来。应用变换T等价于先转换到特征基然后应用对角矩阵D最后再转换回原来的基。因此我们可以得到核心关系式T C * D * C⁻¹这个公式意味着原矩阵T可以分解为三个矩阵的乘积。计算矩阵的幂基于上述分解计算T的平方就变得简单了T² (C * D * C⁻¹) * (C * D * C⁻¹)观察等式右边中间部分是C⁻¹ * C。一个矩阵乘以它的逆矩阵等于单位矩阵相当于没有操作因此可以消去T² C * D * (C⁻¹ * C) * D * C⁻¹ C * D * I * D * C⁻¹ C * D² * C⁻¹我们可以将此推广到T的任意次幂n。最终我们得到计算Tⁿ的强大公式Tⁿ C * Dⁿ * C⁻¹方法优势现在我们有了一个方法可以让我们以较低的计算成本将变换矩阵应用任意多次。我们不再需要将T自乘n次而只需计算对角矩阵D的n次方这非常容易然后进行两次矩阵乘法C和C⁻¹即可。总结本节课中我们一起学习了矩阵对角化的核心思想与应用。我们了解到通过将矩阵变换到其特征基可以将其表示为对角矩阵。利用公式T C * D * C⁻¹及其推论Tⁿ C * Dⁿ * C⁻¹我们能高效地计算矩阵的幂从而解决诸如预测粒子长期运动轨迹等需要重复应用线性变换的问题。这个结果融合了本课程中迄今为止遇到的许多概念。在下一个视频中我们将通过一个简单的例子来演练以确保这种方法在应用时符合我们的预期。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/icl-ml-linalg/img/b7defc7fbc4ccf299e6de5bccc26f612_2.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/icl-ml-linalg/img/b7defc7fbc4ccf299e6de5bccc26f612_2.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/icl-ml-linalg/img/b7defc7fbc4ccf299e6de5bccc26f612_3.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/icl-ml-linalg/img/b7defc7fbc4ccf299e6de5bccc26f612_3.png033特征基例子https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/icl-ml-linalg/img/dd69c6a7aee1385db22f3d2b4d0f080d_0.png在本节课中我们将通过一个简单的二维例子直观地理解特征基与对角化的理论并验证其计算过程。上一节我们介绍了特征基与对角化的理论本节中我们来看看一个具体的二维变换例子。考虑变换矩阵TT [1, 1] [0, 2]矩阵的第一列是[1, 0]这意味着基向量i hat在变换后保持不变。第二列是[1, 2]这意味着基向量j hat会变换到坐标[1, 2]。我们同时考虑一个额外的向量[1, 1]。将其与矩阵T相乘[1, 1] * [1, 1] [1*1 1*0, 1*1 1*2] [1, 3] [0, 2] [1, 1] [0*1 2*0, 0*1 2*1] [0, 2]结果是[1, 3]。这个变换可以分解为先进行垂直方向2倍的缩放再进行水平方向0.5步的剪切。由于我们选择了一个简单的变换其特征向量和特征值很容易观察出来。以下是其特征值与特征向量当特征值λ 1时对应的特征向量是[1, 0]。当特征值λ 2时对应的特征向量是[1, 1]。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/icl-ml-linalg/img/dd69c6a7aee1385db22f3d2b4d0f080d_2.png现在让我们考虑对向量[-1, 1]连续应用两次变换T。首先计算T * [-1, 1][1, 1] * [-1] [1*(-1) 1*1] [0] [0, 2] [ 1] [0*(-1) 2*1] [2]得到结果[0, 2]。然后计算T * [0, 2][1, 1] * [0] [1*0 1*2] [2] [0, 2] [2] [0*0 2*2] [4]最终得到[2, 4]。接下来我们尝试先计算T²再将其作用于向量[-1, 1]看结果是否一致。计算T²T² T * T [1, 1] * [1, 1] [1*11*0, 1*11*2] [1, 3] [0, 2] [0, 2] [0*12*0, 0*12*2] [0, 4]然后计算T² * [-1, 1][1, 3] * [-1] [1*(-1) 3*1] [2] [0, 4] [ 1] [0*(-1) 4*1] [4]结果同样是[2, 4]。现在我们使用特征基对角化的方法来计算T²。首先用特征向量构建转换矩阵CC [1, 1] [0, 1]然后求其逆矩阵C⁻¹。由于C是一个向右平移一步的剪切矩阵其逆矩阵就是向左平移一步C⁻¹ [1, -1] [0, 1]根据对角化公式T C D C⁻¹其中D是由特征值构成的对角矩阵。因此T² C D² C⁻¹。以下是计算步骤构造对角矩阵D及其平方D²D [1, 0] D² [1², 0] [1, 0] [0, 2] [0, 2²] [0, 4]计算C * D²[1, 1] * [1, 0] [1*11*0, 1*01*4] [1, 4] [0, 1] [0, 4] [0*11*0, 0*01*4] [0, 4]计算(C * D²) * C⁻¹即T²[1, 4] * [1, -1] [1*14*0, 1*(-1)4*1] [1, 3] [0, 4] [0, 1] [0*14*0, 0*(-1)4*1] [0, 4]我们得到了与直接计算相同的T²矩阵[1, 3; 0, 4]。将其作用于向量[-1, 1]结果自然是相同的[2, 4]。在数学中一旦真正理解了一个概念借助计算机通常就不再需要手动进行这类计算。然而亲手演算几个例子对于确保完全理解仍然非常有益。本系列视频并未涵盖特征理论的所有方面例如不可对角化矩阵和复特征向量。但如果你已经掌握了我们讨论的核心主题那么你的基础就非常扎实了。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/icl-ml-linalg/img/dd69c6a7aee1385db22f3d2b4d0f080d_4.png本节课中我们一起学习了如何通过一个具体的二维变换例子应用特征基对角化的方法验证矩阵幂的计算。在下一个视频中我们将探讨特征理论的一个实际应用这需要暂时抛开我们一直使用的几何直观纯粹地信任数学推导。034PageRank算法简介https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/icl-ml-linalg/img/9c56458d2737cbf58eb3fb090f938a18_0.png在本节课中我们将学习本模块也是整个课程的最后一个主题PageRank算法。该算法由谷歌联合创始人拉里·佩奇及其同事在1998年提出并命名最初用于帮助谷歌决定在搜索结果中如何排序网站。我们将了解其核心思想、数学模型以及如何通过线性代数中的特征值问题来求解。核心假设与模型上一节我们介绍了特征值问题本节中我们来看看它在网页排序中的一个经典应用。PageRank算法的核心假设是一个网站的重要性与其和其他网站之间的链接关系有关。我们可以用一个简单的“微型互联网”模型来理解。下图中的每个气泡代表一个网页A、B、C、D箭头代表一个网页上的链接可以带你跳转到另一个网页。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/icl-ml-linalg/img/9c56458d2737cbf58eb3fb090f938a18_0.png我们的目标是基于这个网络结构构建一个表达式来判断哪个网页对搜索者最相关。“拖延症患者帕特”模型为了量化网页的重要性我们引入一个“拖延症患者帕特”的概念。帕特是一个虚构的人物他上网时会随机点击页面上的链接来逃避工作。通过映射所有可能的链接我们可以建立一个模型来估计帕特在每个网页上预期会花费的时间。构建链接矩阵我们可以将网页A上存在的链接描述为一个向量。向量的每一行根据是否存在指向对应页面的链接取值为1或0然后通过链接总数进行归一化使其能描述从该页面出发的点击概率。以下是构建链接向量的步骤网页A有指向B、C、D的链接共3个链接。因此其链接向量为[0, 1, 1, 1]归一化后为[0, 1/3, 1/3, 1/3]。写作L_A [0, 1/3, 1/3, 1/3]^T网页B有指向A和C的链接共2个链接。因此L_B [1/2, 0, 1/2, 0]^T网页C只有指向A的链接共1个链接。因此L_C [1, 0, 0, 0]^T网页D有指向B和C的链接共2个链接。因此L_D [0, 1/2, 1/2, 0]^T现在我们可以通过将每个链接向量作为一列构建出链接矩阵 LL [ L_A, L_B, L_C, L_D ] [ [0, 1/2, 1, 0], [1/3, 0, 0, 1/2], [1/3, 1/2, 0, 1/2], [1/3, 0, 0, 0] ]矩阵L中的每一行描述了指向该行对应页面的、来自其他页面的链接概率已根据源页面的总链接数归一化。例如要到达页面A只能从页面B或C点击链接过来。建立PageRank方程我们使用向量R来存储所有网页的“排名”或重要性。计算网页A的排名R_A需要知道三件事其他网页的排名、它们是否链接到A、以及它们总共有多少个出站链接。以下表达式综合了这三方面信息但仅针对网页AR_A Σ_{j1}^{n} L_{A,j} * R_j这个求和遍历所有网页j从1到n。这意味着网页A的排名等于所有链接到A的网页的排名之和其中每个贡献的排名都按其特定的链接概率来自矩阵L进行加权。我们希望为所有页面同时写出并求解这个方程。回顾线性代数知识我们可以将上述应用于所有网页的表达式重写为一个简单的矩阵乘法R L R显然我们开始时并不知道R。因此我们简单地假设所有排名均等并用分析中的网页总数本例中为4进行归一化作为初始猜测R_0 [1/4, 1/4, 1/4, 1/4]^T然后我们每次用矩阵L乘以当前的R就得到R的更新值。因此迭代公式为R_{i1} L * R_i反复应用这个表达式意味着我们正在迭代地解决这个问题。每次迭代都更新R中的值直到最终R停止变化。此时R真正满足R L R。与特征值问题的联系回顾本模块之前的视频方程R L R意味着R 现在是矩阵 L 的一个特征向量对应的特征值为 1。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/icl-ml-linalg/img/9c56458d2737cbf58eb3fb090f938a18_2.png你可能会想既然我们需要将R乘以L很多次或许应用上一节视频中看到的对角化方法是最好的。但别忘了那需要我们事先知道所有特征向量而这正是我们最初试图寻找的东西。迭代求解与结果现在我们有了方程可以让计算机迭代应用它直到收敛从而找到我们的排名向量R。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/icl-ml-linalg/img/9c56458d2737cbf58eb3fb090f938a18_2.png你可以看到虽然数字大约需要10次迭代才能稳定下来但排序在第一次迭代后就已经确定了。不过这只是因为我们的系统4个网页太小而产生的特例。现在我们得到了结果当拖延症患者帕特在我们的网络中随机点击时我们预计他大约会花费40%的时间在页面D上而只有大约12%的时间在页面A上页面B和C各占约24%。因此我们的排名是D最高A最低B和C并列中间。算法优势与阻尼因子事实证明尽管多年来已经开发出许多高效计算特征向量的方法但反复用一个随机选择的初始猜测向量乘以矩阵称为幂法对于PageRank问题仍然非常有效原因有二收敛到所需向量幂法显然只会给出一个特征向量而我们知道对于一个n维系统会有n个。但由于我们构建链接矩阵L的方式它给出的向量始终是我们寻找的那个对应特征值为1的特征向量。处理稀疏矩阵高效对于真实的互联网链接矩阵L中几乎每个条目都是0即大多数页面不连接到大多数其他页面。这被称为稀疏矩阵存在专门的算法可以非常高效地执行此类乘法。我们尚未讨论的PageRank算法的一个关键方面是阻尼因子 d。它为我们的迭代公式增加了一个附加项R_{i1} d * L * R_i (1-d)/N其中d是一个介于0和1之间的数。你可以将其理解为1 - 帕特突然随机输入一个网址而不是点击当前页面上链接的概率。这个因子在实际计算中的作用是在迭代收敛过程的速度和稳定性之间找到一个折衷。总结本节课中我们一起学习了PageRank算法的基本原理。我们从一个微型互联网模型出发通过“拖延症患者帕特”的随机游走行为将网页排序问题转化为一个线性方程R L R的求解问题这本质上是一个寻找矩阵特征值为1的特征向量的问题。我们介绍了如何使用幂法进行迭代求解并简要提到了阻尼因子的作用和算法处理大规模稀疏矩阵时的效率优势。尽管自1998年PageRank算法发布以来互联网规模已从数百万网站增长到超过十亿搜索和排名方法也必须不断进化以提升效率但其核心概念多年来保持不变。035总结https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/icl-ml-linalg/img/d8506dc5fdd36ac2d8d2aaa8332f2a0c_0.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/icl-ml-linalg/img/d8506dc5fdd36ac2d8d2aaa8332f2a0c_0.png概述在本节课中我们将对第五个模块以及整个机器学习线性代数课程进行总结。我们将回顾已学内容并探讨在计算机时代学习数学的意义。课程回顾第五个模块的结束也标志着这门机器学习线性代数课程的完结。在过去的五个模块中我们涵盖了大量的知识。我们努力在讲解速度与细节深度之间取得平衡以确保您能全程跟上。计算机时代的数学教学计算机时代的数学教学存在一个核心矛盾。传统的教学方法侧重于手动演算大量例题而不太注重建立直观理解。然而现在计算机几乎为我们完成了所有的计算工作。适用于手工计算的方法通常与计算机采用的方法不同。这意味着尽管学生做了大量练习但在接受传统教育后他们可能既错过了对计算方法的细节理解也错过了对每种方法真正在做什么的高层次概念性认识。核心概念与应用您在最近五个模块中接触到的概念涵盖了您在深入学习机器学习时所需线性代数的核心内容。我们希望至少在未来遇到困难时您能知道恰当的专业术语从而在需要时快速查找帮助。毕竟这是一名专业程序员最重要的技能。总结本节课中我们一起回顾了整个线性代数课程的学习历程。我们探讨了传统数学教学与计算机时代需求之间的差异并强调了掌握核心概念和专业术语对于未来在机器学习领域学习和解决问题的重要性。机器学习数学线性代数P36课程总结https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/icl-ml-linalg/img/ae347c9d2743d2cd492cb2780682776e_0.png在本节课中我们将对本线性代数专项课程进行总结回顾所学内容并展望后续的学习路径。课程概述本课程的目标是为您提供线性代数的基础知识以便您能够更好地学习神经网络、机器学习以及更广泛的数据科学课程。本课程专为社会科学、工程或物理学背景的学习者设计旨在培养理解机器学习工具所需的洞察力从而能够在现实世界中运用机器学习解决问题。本课程并非研究生线性代数课程的基础并且由于时间限制我们也没有讨论如叉积等在机器学习中应用较少的主题。课程内容回顾我们从一个数据问题开始本课程例如拟合函数到数据或者解决苹果和香蕉的价格发现难题。这些问题引导我们踏上了线性代数的探索之旅。首先我们学习了向量及其矩阵表示。以下是本课程涵盖的核心概念向量与矩阵向量是数字的有序列表可以表示数据点或方向。矩阵是数字的矩形阵列可以表示数据集或线性变换。向量表示v [v1, v2, ..., vn]矩阵表示A [[a11, a12, ...], [a21, a22, ...], ...]线性方程组我们学习了如何用矩阵形式Ax b表示和求解线性方程组其中A是系数矩阵x是未知数向量b是常数向量。矩阵运算我们探讨了矩阵的加法、标量乘法以及最重要的矩阵乘法。矩阵乘法C AB其中C的元素cij是A的第i行与B的第j列的点积。行列式与逆矩阵行列式提供了矩阵缩放体积的信息而逆矩阵A⁻¹使得A⁻¹A I单位矩阵用于求解方程Ax b即x A⁻¹b。特征值与特征向量对于方阵A特征向量v在A作用下仅被缩放满足Av λv其中λ是特征值。这个概念在数据降维如主成分分析中至关重要。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/icl-ml-linalg/img/ae347c9d2743d2cd492cb2780682776e_2.png在整个学习过程中您通过练习巩固了所学知识并在课程最后完成了几个Python编程练习。这将使您有信心声称自己正逐步获得对线性代数及其代码应用的直观理解。后续学习路径如果您喜欢本课程我们将在本专项课程的下一门课中继续机器学习与数据科学的旅程多元微积分。在那里我们将学习微积分以及如何求多元函数的梯度。掌握了最优化、线性代数和概率论之后您将拥有研究主成分分析、机器学习和神经网络所需的所有基础数学工具和概念。总结在本节课中我们一起回顾了线性代数课程的核心内容从向量和矩阵的基础到求解线性方程组再到特征值与特征向量的高级概念。这些知识是您深入机器学习领域的基石。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/icl-ml-linalg/img/ae347c9d2743d2cd492cb2780682776e_4.pngSam、Iya以及帝国理工学院的全体团队衷心希望您觉得本课程有价值、实用且有趣。当然我们也祝愿您未来一切顺利并期待在下一门课程中再次见到您。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门