00:05:00 在本节中,演讲者讨论了大规模机器学习,这意味着训练数据点的数量 (n) 和向量的维数 (d) 都可以很大。大 n 可能达到数百万或数十亿,而大 d 可能包含多达十亿个特征。这推动了对大规模机器学习优化方法的大量研究,包括在数据结构中寻找次线性时间算法和处理此类大数据的哈希技巧。演讲者给出了线性代数中最经典的问题,最小二乘回归问题,以及另一种广泛使用的方法 la sol 的例子,它们都是用有限和格式的训练数据损失来写的。最后,演讲者指出,深度神经网络是具有 n 个训练数据点的有限和问题的另一个例子。
本视频讨论了用于深度学习的神经网络结构。目标是通过构建具有 m 个特征的特征向量的神经网络,以二进制方式对数据进行分类,创建一个可以将数据分类为两个类别之一的学习函数。非线性对于创建这些函数至关重要,因为线性分类器无法分离非线性数据。该视频还讨论了神经网络中权重和层数的重要性,并提供了 TensorFlow 游乐场等资源供用户练习创建函数。最后,视频讨论了用于证明切蛋糕得到的扁平块数公式的递归,以及它与深度学习中最小化总损失的优化问题的关系。
00:00:00 本节教授介绍深度神经网络的中心结构,即学习训练数据并可以应用于测试数据的学习函数f的构造。目标是通过构建具有 m 个特征的特征向量的神经网络,以二进制方式对数据进行分类。该网络将创建一个学习功能,可以将数据分类为两个类别之一,例如男孩或女孩、猫或狗、卡车或汽车。教授还提到,这种结构已经在吉祥物 mit.edu/learning from data site 上可用了几个月,并将被添加到 Stellar 平台。
00:05:00 在本节中,讲师解释了如何创建 X 的函数 f 以返回二分类的正确答案。讲师指出,该函数对于分类减一应该是负的,对于分类加一应该是正的。然而,讲师承认我们不需要让每个样本都正确,因为可能会出现过拟合,我们发现的规则应该涵盖几乎所有情况,但不是所有“奇怪”的情况。然后讲师推荐访问站点playground.tensorflow.org,一个简单的模型问题可以帮助个人学习深度学习。 playground 提供了四个示例,其中一个涉及找到在某些点上为正而在其他点上为负的函数。
00:15:00 在本节中,演讲者讨论了一个名为 TensorFlow's playground 的网站,该网站允许用户使用非线性函数创建 X 的函数 f。该网站绘制了函数的零集,它将正集和负集分开,零介于两者之间。该网站允许用户决定层数和每层中的神经元数量,因为这些对于找到学习数据的函数 f 至关重要。演讲者还指出了线性函数在此过程中的重要性,并要求推荐一些好的卷积神经网络网站来进行练习。函数 f 的形式是 X 的向量,有五个分量,第一层有六个神经元,输出层有一个数字。
00:35:00 在这一部分,演讲者讨论了将一个平面折叠n次可以得到多少个平面的问题。这个问题对于理解函数 f 的自由度以及它是否可以通过采取足够多的折叠来逼近任何连续函数至关重要。演讲者指出,答案是肯定的,而且这类功能是通用的。此外,本节还谈到了在更广泛的计算机科学领域,尤其是神经网络中理解这一概念的重要性。
00:40:00 在这一部分中,演讲者讨论了一个数学问题,涉及一张折叠纸中的扁平部分的数量。他们问如果将纸折叠更多次会形成多少片,并尝试创建一个递归公式来解决该问题。演讲者展示他们到目前为止找到的数字,并解释他们需要想出一个公式来计算具有 m 维表面的 n 折叠纸中的平面部分数。然后,他们计划在找到递归公式后将其添加到递归公式中。
00:45:00 在本节中,演讲者使用一个视觉示例来帮助解释通过在高维空间中进行切割而创建的片段数量的公式。使用二项式数,该公式可以应用于任何给定的 M 和 N 维度。讲者举了一个N=3,M=2的例子来说明公式的使用方法。最后,该公式表示为 R 包含 M 维,等于二项式数,0 到 M。
00:50:00 在本节中,演讲者讨论了用于证明切蛋糕产生的扁平块公式的递归。他们解释说,他们正在寻找的数量是之前的扁平件数量加上被切割的件数。递归规则在 Kleinberg 和其他人的论文的第 7.1 节中得到证明。找到这组函数后的下一步是选择 A 和权重。这导致了最小化总损失的问题,可以使用梯度下降和反向传播来解决。
00:10:00 在本节中,演讲者讨论了反向传播及其在求偏导数中的用途。反向传播以前曾以自动微分的名义进行过研究,演讲者称赞开发深度神经网络的领导者实现了它的有效性。演讲者提供了一个简单的函数示例来说明 f(x) 及其导数的计算,并强调使用链式法则求偏导数。该部分还提到了 Christopher Olah 的博客,他对这个主题提供了清晰的解释。
00:15:00 在本节中,演示者讨论了使用链式法则计算偏导数。他们使用双变量函数示例来演示如何计算函数的偏导数,从找到 F 和创建计算图开始。他们解释说,要使用链式法则,需要区分 F 计算中发现的每个因素,并适当地评估它们。该计算图用于演示深度学习的偏导数计算,其中评估了许多变量。
00:20:00 在本节中,演讲者讨论使用正向模式自动微分求偏导数的过程。他们首先计算 F DX 的偏导数,将计算分解为简单的部分,然后用导数代替中间步骤。他们利用 X 的立方关于 X 的导数是 3X 的平方这一事实,当 X 等于 2 时得出的值为 12。然后他们认识到正向方法是浪费的,因为他们必须为 Y 导数做另一个图以及。演讲者还使用乘积法则求乘积的偏导数。该过程需要一些组织,但重点是将计算分解为简单的部分以简化导数。
00:25:00 在本节中,演讲者解释了如何使用乘积法则通过计算图求偏导数。演讲者以寻找乘积的 X 导数为例,并为乘积中的两项命名。然后他计算乘积规则所需的值并使用它们计算导数。然而,他很难找到最终答案,并承认如果他想找到 FD,他将需要重新计算。演讲者建议使用反向模式会更有效,因为它允许同时计算两个偏导数。
00:30:00 在本节中,演讲者讨论了反向传播技术如何通过向后跟踪所有路径来有效地计算梯度。这种技术有助于通过应用于一些已经详细计算出的链式法则找到所有导数。演讲者指出,回顾实际所做的事情后,微积分往往看起来很简单。反向模式 ad 方法用于计算 n 个一阶导数,成本仅为四或五倍,这在演讲者看来是惊人的。演讲者还举例说明了执行计算的顺序如何影响效率,以两个矩阵的乘法为例。
00:40:00 在视频的这一部分,演讲者解释了如何使用反向传播来寻找偏导数。他们演示了一个示例,其中他们使用链式法则找到关于 X 和 Y 的偏导数,并强调反向传播允许从一个链中找到所有导数,而不是为每个变量单独的链。演讲者指出这个过程可以应用于任何规模的系统,并简要提到了随机梯度下降的收敛性,他们将在以后的讲座中介绍。
00:45:00 在本节中,演讲者讨论了将三个矩阵(A、B 和 C)相乘的两种不同方法,以及这样做所需的运算次数。第一种方法涉及将 A 乘以 BC,这需要 M x N x PQ 操作,其中 P 和 Q 分别是 B 和 C 的行数和列数。第二种方法涉及将 AB 乘以 C,这需要 M x P x Q 操作。演讲者强调,重要的是要注意矩阵相乘时所需的运算次数,尤其是在 C 是列向量的情况下,因为这可能会导致难以处理的非常大的矩阵。
00:25:00 本节讲师介绍循环矩阵的概念,循环矩阵是一种特殊类型的卷积矩阵,其对角线为常数,绕一圈即可完成。循环矩阵是信号处理的重要组成部分,它们的代数特性使它们成为连接一组权重的有效方法。这是因为这里的关键矩阵是循环移位矩阵,它有助于从 P 和 P² 产生循环矩阵。例如,通过指定循环矩阵的第一列,MATLAB 可以使所有其他列循环移位,这意味着我们只需要四个数字即可定义一个四乘四的循环矩阵。
00:30:00 在这节课中,介绍了循环矩阵的概念。结果表明,每个循环矩阵都是 P 中的多项式,其中 P 表示单次移位。还证明了如果两个矩阵是循环矩阵,将它们相乘会得到另一个循环矩阵。此外,单位矩阵是循环的,如果循环矩阵是平方的,则生成的矩阵也是循环的。循环矩阵相乘的目标是确保多项式次数不超过所需的项数。
00:40:00 在本节中,讲师讨论了循环卷积以及它如何用于循环乘以多项式,这对应于循环矩阵的乘法。一个因子的数字之和乘以另一个因子的数字之和,得到卷积中的数字之和。讲师还简要介绍了这些矩阵的特征值和特征向量。全一的向量是一个具有特征值的特征向量,它具有 P 的多项式幂和。讲座最后讨论了该领域更高级的主题。
00:45:00 在这节课中,演讲者解释了矩阵 C 的特征向量与矩阵 P 的特征向量相同。矩阵 P 的特征向量是 1 和 -1,以及 i 和 -i。循环世界对于每个循环都有多个特征值和特征向量,这些是信号处理中的重要规则。
00:35:00 在本节中,演讲者讨论了循环矩阵的特征向量,尤其是傅立叶矩阵。置换 P 是正交的,因此它的特征向量是正交的,但这些循环矩阵也可交换,使它们成为正规矩阵。这意味着一旦我们找到 P 的特征向量,我们就找到了任何循环矩阵的特征向量,它们都是特殊的,因为它们与傅立叶相连。找到各种特征值的特征向量,包括 lambda 为 1、-1、i 和 -i。
00:40:00 在本节中,演讲者讨论了循环矩阵的特征向量,并强调所有特征向量都是由同一组八个数字构成的,这也是特征值。所有大小为 n 的循环矩阵的特征向量矩阵是傅立叶矩阵,它是一个重要的复矩阵,可以进行快速傅立叶变换。矩阵中的所有条目都是单位圆上八个点之一的复数 W 的幂。第一个特征向量是所有的,而其余的是 W 的幂,这样矩阵的大小是 8x8。总的来说,由于循环矩阵具有共同的特征向量矩阵,因此它们具有相似的性质。
00:10:00 在本节中,讲师解释了函数的卷积规则以及它如何连接到两个函数的傅里叶变换。他提到如果 F 是 2 pi 周期的并且 G 是 2 pi 周期的,那么人们可能想要进行周期性卷积并得到一个周期也为 2 pi 的答案。他谈到了使卷积循环如何影响乘法,以及使用 W 代替 X 来表示循环 X。
00:15:00 在视频的这一部分,讲师讨论了周期性和非周期性情况在卷积方面的区别。在周期性情况下,因子 W 被定义为具有 W 到 N 为 1 的属性,大于 n 的向量可以折叠回长度为 n 的向量。循环情况只考虑 K 从 0 到 n-1,和只从 0 到 n-1。在非周期性情况下,卷积有 P 加 Q 减 1 个分量,这个数字是在第一个实验中计算的。
00:20:00 在本节中,讲师讨论循环矩阵的特征向量和特征值,特别是置换矩阵。特征向量是特征向量矩阵的列,记为“F”,F和C相乘得到四个特征值。讲师演示这个公式,解释如果C是P的组合,那么特征向量的相同组合将给出矩阵 C 的特征值。
00:25:00 在本节中,讲师讨论了连接乘法和卷积的卷积规则。卷积规则将矩阵的乘法与矩阵的卷积联系起来。通过循环卷积,如果讲师将矩阵C乘以矩阵D,他将得到另一个循环矩阵。卷积后的 C 和 D 的系数表示 C 乘以 D 矩阵的对角线系数。讲师得出结论,CD 的特征值等于 C 的特征值乘以 D 的特征值,因为 C 和 D 可交换并且具有相同的特征向量。特征值逐个分量相乘,给出卷积规则的关系。
00:30:00 在视频的这一部分,讲师讨论了卷积规则,它指出可以对图像进行卷积并对其应用傅立叶变换 (FT),或者应用 FT 分离图像,然后将它们相乘点-明智的。此规则很有用,因为它允许高效的快速傅立叶变换 (FFT)。讲师然后考虑每种方法的成本——卷积方法需要 N^2 步,而分离变换方法只需要 2NlogN 步。
00:35:00 在本节中,演讲者讨论了二维卷积以及在二维中对两个函数进行卷积需要执行的操作。他们讨论了如何在 MATLAB 中执行此操作所需的命令是“cron”,以及如何使用它通过将两个一维矩阵 A 和 B 相乘来创建具有 N 个平方像素的二维矩阵。演讲者还谈到了如果想在密码学中将两个长整数相乘,使用卷积规则可能是一种更快、更有效的方法。
00:40:00 在本节中,讨论了使用克罗内克积生成二维傅里叶变换的大矩阵。克罗内克乘积是一种运算,它采用一维 N 乘 n 矩阵并生成 N 平方乘 N 平方矩阵。通过使用 Kronecker 乘积将两个矩阵适当相乘,可以为二维傅立叶变换创建一个大矩阵。还讨论了微分方程中常用的拉普拉斯算子,其中可以使用克罗内克积生成采用五点格式且每个点有五个权重的二维矩阵。
在此视频中,演讲者讨论了神经网络学习函数 f 的构造,该函数通过梯度下降或随机梯度下降进行优化,并应用于训练数据以最小化损失。他解释了使用手绘图来说明神经网络的概念和学习函数,以及机器学习中使用的各种损失函数,包括交叉熵损失。演讲者还谈到了在给定距离的情况下找到点位置的问题,这是各种应用的经典问题,例如使用核磁共振确定分子的形状。他最后讨论了 X 的构建,这是获得神经网络结构的最后一步,并提到了周五召集志愿者讨论一个项目的呼吁。
00:00:00 在本节中,演讲者讨论了神经网络学习函数 f 的构造,该函数通过梯度下降或随机梯度下降进行优化,并应用于训练数据以最小化损失。学习函数是两组变量 X 和 V 的函数,其中 X 是权重,V 是来自训练数据的特征向量。神经网络的结构包括采用一组权重和样本向量的 f,产生非线性步骤,并重复该过程,直到达到所需的输出。线性步骤涉及获取输入 V0,将其乘以矩阵 AK 并添加偏置向量 BK 以移动原点。
00:10:00 在本节中,演讲者使用手绘图片来说明神经网络的概念和学习功能。他画了一张图,其中有一个训练样本组件乘以v1,这是第一个in layer,第一层可以有不同数量的神经元,每个都来自eze by。损失函数就是我们要通过选择x2来最小化的函数,也就是所有的As和Bs。损失函数通常是所有 F 的有限和,可以为所有 I 计算,但使用随机梯度来选择其中的一个或一小部分。损失函数将减去样本 I 的真实结果,可以对其进行平方以获得所有样本的误差平方和。
00:35:00 在本节中,演讲者解释了如何在给定点积矩阵 G 的情况下找到矩阵 X。他们首先分析两个秩一矩阵,一个仅取决于行,另一个仅取决于列,并解释这些矩阵产生了点积矩阵的大部分重要部分。然后他们引入了一个对角矩阵,其中 XI 的内积与其自身位于对角线上,并注意到该矩阵与给定的 D 矩阵相关。从那里,他们展示了如何推导点积矩阵的方程式,并解释说一旦他们有了 G,他们就可以找到 X。但是,X 不是唯一的,因为它可以在不改变点积的情况下旋转,所以他们的下一步是弄清楚如何分解出旋转。
00:40:00 在本节中,演讲者讨论了与点积矩阵相关的方程式,该方程式可用于计算神经网络中单位矩阵和 X 转置矩阵的叉积。点积矩阵是对角 D 矩阵、所有行都相同的常数矩阵和所有列都相同的常数矩阵的组合。演讲者一步一步地完成方程并分解每个组件,以揭示 X 转置 X 矩阵来自这些 Rank 1 位置和这些叉积。然后他们探讨了等式中一半的意义,但最终得出结论,有必要获得正确的结果。
00:45:00 在本节中,演讲者讨论了如何用矩阵语言编写给定的方程式,以及如何最终找到给定 X 转置 X 的矩阵 X。他们使用线性代数求解,并注意到 X 可以向上找到到正交变换。讨论的两种主要方法是使用特征值或对 X 转置 X 使用消去法。演讲者强调了这些方法在神经网络和机器学习领域的重要性。
00:50:00 在本节中,演讲者讨论了 X 的构造,它是对称的和半正定的,以及找到它的两种方法。第一种方法是特征值构造,它涉及计算 X 转置 X 的特征值和特征向量,然后在取特征值平方根的同时保留特征向量。第二种方法是 Cholesky 分解,它涉及对对称正定矩阵执行消去,然后使用生成的下三角矩阵 L 和对角矩阵 D 计算 X 作为 L 平方根 DL 转置的乘积。 Cholesky 分解比特征值构造更快并且更易于计算,使其成为更实用的选择。
该视频讨论了图形中的聚类以及如何使用不同的算法(例如 K 均值和谱聚类)查找聚类。拉普拉斯矩阵用于谱聚类,可以通过其特征向量提供有关图中聚类的信息。 Fiedler 特征向量是最小正特征值的特征向量,对于聚类很重要。演讲者还强调了特征向量正交在识别不同聚类方面的重要性。此外,还有下一节课的简要预览,将介绍在线性代数中使用 Julia 进行反向传播。鼓励学生在线或在教师办公室外提交他们的项目。
00:00:00 在本节中,演讲者讨论了图形中的聚类,这是将大图形细分为更小、更易于管理的集群的过程。问题是找到大小合理相等的两个簇,为此,必须使用一种算法来确定中心点 X 和 Y 的位置。目标是最小化中心点与中心点之间的距离之和图中的节点,同时确保每个集群中的节点数量合理接近。有几种算法可用于完成此操作,包括一些使用与图形关联的矩阵的算法。
00:05:00 在本节中,演讲者讨论了用于将一组点(一些标记为 A,另一些标记为 B)划分为聚类或组的 K 均值聚类算法。该算法首先确定质心,即 A 组和 B 组的中间点,然后尝试根据这些质心形成最佳聚类。重复此过程,直到算法收敛到数据的最佳可能聚类。演讲者还介绍了质心的概念,质心是使组内所有点与质心的距离之和最小的点。
在此视频中,Alan Edelman 讨论了编程语言对机器学习的强大功能及其在数学中的重要性。他强调了 Julia 语言的最新发展,该语言因其在机器学习中的技术优势和可用性而受到谷歌的认可。 Edelman 解释了 Julia 中的自动微分是如何工作的,并给出了一个通过巴比伦算法在不使用数值有限差分的情况下计算 x 的平方根的示例。他还讨论了在 Julia 中使用类型来进行高效计算和使用块矩阵简化反向传播过程。总的来说,爱德曼强调了线性代数对于数学计算的重要性及其在理解复杂现象中的作用。
00:00:00 在本节中,Alan Edelman 讨论了 Strang 教授关于行秩等于列秩的演示,以及该概念如何应用于零矩阵。然后,他谈到了 Julia 的最新发展,这是一种在机器学习领域越来越受欢迎的编程语言,以及谷歌如何认识到它在这一领域的力量。谷歌最近发表了一篇博文,指出只有两种语言足以进行机器学习,而 Julia 就是其中之一。 Edelman 提供了示例来说明这一点,并鼓励学生查看博客文章以获取更多信息。
00:10:00 在本节中,Alan Edelman 讨论了他对自动微分的最初想法,以及他如何认为这就像他在学校学习的微积分一样,但使用计算机。然而,他很快意识到还有第三种既不是有限差分也不是链式法则的方法,这让他着迷。然后,他分享了一个示例,说明他如何使用 Julia 中的巴比伦算法计算 x 的平方根,以及他如何能够在不显式输入导数公式的情况下获得平方根的导数,这要归功于 Julia 的自动微分功能。
00:15:00 在本节中,演讲者描述了使用 Julia 代码计算数字的平方根而不使用有限差分计算。该代码创建了一种称为“对偶数”的变量,它是一对表示数值函数及其导数的浮点数。然后说话者重载加法和除法运算以实现商规则,允许使用巴比伦算法计算平方根。该代码在不使用数值有限差分的情况下工作,演讲者指出 Julia 允许在新上下文中重用现有代码以执行“魔术”。
00:20:00 在本节中,Alan Edelman 解释了 Julia 编程语言如何使用巴比伦算法对汇编代码中的对偶数有效地计算导数。他演示了在 Python 的符号计算包中运行的相同代码如何给出具有大系数的符号计算,这是非常低效的。然后他揭示了 SVD,另一种算法使他相信巴比伦算法是如何工作的。通过对每一行代码求导,算法可以收敛到平方根和平方根的导数。得到的导数不是符号或数字,而是在每一步中使用商法则和加法法则来得到答案。
00:30:00 在本节中,Alan Edelman 讨论了如何在 Julia 中使用类型来有效地仅存储执行计算时需要的内容,这使其有别于 Python 和 MATLAB 等具有更多开销的语言。然后,他简要介绍了神经网络中沉浸式模式微分的概念,从一个标量示例开始,然后推广到矩阵和向量。他写出了这个过程中涉及的线性代数,但时间不够用,无法完全解释清楚。
00:35:00 在本节中,Edelman 解释了如何在 Julia 中使用块矩阵来执行反向传播,而无需手动计算导数。他展示了如何使用对角矩阵和下三角矩阵来简化反向传播过程并利用 Julia 的内置函数。通过使用线性代数,他演示了反斜杠如何求解下三角矩阵,从而使计算导数的任务变得更加容易。爱德曼强调,线性代数对于许多数学计算来说是必不可少的,它是理解许多复杂现象的秘诀。
第 25 讲 随机梯度下降
25. 随机梯度下降
在本视频中,引入了随机梯度下降 (SGD) 的概念,作为解决通常以有限和问题形式出现的大规模机器学习问题的优化方法。演讲者解释了 SGD 如何选择随机数据点来计算梯度以加快计算速度,以及由于方法的波动性质,它在接近最佳值时的行为与批量梯度下降有何不同。 SGD 的关键特性是随机梯度估计是期望中真实梯度的无偏版本,必须控制随机梯度的方差以减少噪声。小批量的使用被讨论为深度学习 GPU 训练中廉价并行的一种方式,但选择正确的小批量大小仍然是一个悬而未决的问题,它可能会在存在未见数据的情况下影响解决方案的稳健性。优化 SGD 的挑战包括确定小批量大小和计算随机梯度,但研究人员正试图通过开发泛化理论来了解 SGD 在神经网络中的功效。
第 26 讲。深度学习神经网络的结构
26. 深度学习神经网络结构
本视频讨论了用于深度学习的神经网络结构。目标是通过构建具有 m 个特征的特征向量的神经网络,以二进制方式对数据进行分类,创建一个可以将数据分类为两个类别之一的学习函数。非线性对于创建这些函数至关重要,因为线性分类器无法分离非线性数据。该视频还讨论了神经网络中权重和层数的重要性,并提供了 TensorFlow 游乐场等资源供用户练习创建函数。最后,视频讨论了用于证明切蛋糕得到的扁平块数公式的递归,以及它与深度学习中最小化总损失的优化问题的关系。
第 27 讲。反向传播:求偏导数
27. 反向传播:求偏导数
该视频涵盖了与反向传播和寻找偏导数相关的几个主题。演讲者演示了偏导数链式法则的使用,并强调了矩阵乘法中计算顺序的重要性。反向传播被强调为计算梯度的有效算法,并给出了各种示例来证明其有效性。简要讨论了随机梯度下降的收敛性,以及与在随机梯度下降中使用随机顺序的损失函数样本相关的项目构想。总的来说,该视频全面概述了反向传播及其应用。
第 30 讲:完成一级矩阵,循环者!
第 30 讲:完成一级矩阵,循环者!
在第 30 讲中,讲师讨论了完成秩一矩阵和循环矩阵。他们从一个 2x2 行列式开始,并使用它来缩小矩阵中可以填充哪些值以使其排名第一的范围。然后,讲师转向一个 4x4 矩阵的组合问题,并介绍循环矩阵,该矩阵具有只能用四个给定数字创建的循环模式。本讲座还涵盖循环矩阵的循环卷积、特征值和特征向量,这些在信号处理中很重要。
第 31 讲。循环矩阵的特征向量:傅立叶矩阵
31. 循环矩阵的特征向量:傅立叶矩阵
在这个关于循环矩阵的特征向量的视频中,演讲者讨论了循环矩阵与图像处理和机器学习的关系,以及它与傅里叶矩阵的联系。演讲者强调了理解与离散傅里叶变换 (DFT) 和傅里叶变换相关的卷积和循环矩阵的重要性。演讲者讨论了循环矩阵的特征向量,特别是傅里叶矩阵,以及它们是如何从同一组八个数构成的,这些数也是特征值。演讲者还谈到了傅立叶矩阵的性质,包括列如何正交但不是正交的,以及由于循环矩阵的对称性,其特征向量如何加起来为零,从而使它们彼此正交。最后,演讲者通过例子演示了 Argan Vector 作为傅立叶矩阵的特征向量的概念。
第32讲:ImageNet是一个卷积神经网络(CNN),卷积规则
第32讲:ImageNet是一个卷积神经网络(CNN),卷积规则
在深度学习课程的第 32 讲中,讨论了卷积神经网络 (CNN) 在图像分类中的强大功能,并以大型深度 CNN 赢得 ImageNet 竞赛为例,其中包含卷积层、法线层和最大池化层。讲座还重点介绍了连接乘法和卷积的卷积规则,以及二维卷积的示例、克罗内克积在二维傅立叶变换和信号处理中的应用,以及周期性和非周期性的区别关于卷积的案例。讲师还讨论了循环矩阵的特征向量和特征值以及克罗内克求和运算。
第 33 讲神经网络和学习函数
33.神经网络和学习功能
在此视频中,演讲者讨论了神经网络学习函数 f 的构造,该函数通过梯度下降或随机梯度下降进行优化,并应用于训练数据以最小化损失。他解释了使用手绘图来说明神经网络的概念和学习函数,以及机器学习中使用的各种损失函数,包括交叉熵损失。演讲者还谈到了在给定距离的情况下找到点位置的问题,这是各种应用的经典问题,例如使用核磁共振确定分子的形状。他最后讨论了 X 的构建,这是获得神经网络结构的最后一步,并提到了周五召集志愿者讨论一个项目的呼吁。
第 34 讲。距离矩阵,Procrustes 问题
34. 距离矩阵,Procrustes 问题
演讲者讨论了 Procrustes 问题,该问题涉及寻找使一组向量尽可能接近另一组向量的最佳正交变换。他们解释了不同的表达式来计算距离矩阵的 Frobenius 范数及其与 Procrustes 问题的联系。演讲者还介绍了矩阵迹的概念,并在 Procrustes 问题中找到了正确的 Q。此外,他们解决了深度学习是否真正有效的问题,并提出了涉及寻找最佳正交矩阵的矩阵问题的解决方案,这涉及计算两个矩阵的点积的 SVD 并使用来自 SVD 的正交矩阵。
第 35 讲。在图中寻找聚类
35. 在图中寻找聚类
该视频讨论了图形中的聚类以及如何使用不同的算法(例如 K 均值和谱聚类)查找聚类。拉普拉斯矩阵用于谱聚类,可以通过其特征向量提供有关图中聚类的信息。 Fiedler 特征向量是最小正特征值的特征向量,对于聚类很重要。演讲者还强调了特征向量正交在识别不同聚类方面的重要性。此外,还有下一节课的简要预览,将介绍在线性代数中使用 Julia 进行反向传播。鼓励学生在线或在教师办公室外提交他们的项目。
第 36 讲:Alan Edelman 和 Julia 语言
第 36 讲:Alan Edelman 和 Julia 语言
在此视频中,Alan Edelman 讨论了编程语言对机器学习的强大功能及其在数学中的重要性。他强调了 Julia 语言的最新发展,该语言因其在机器学习中的技术优势和可用性而受到谷歌的认可。 Edelman 解释了 Julia 中的自动微分是如何工作的,并给出了一个通过巴比伦算法在不使用数值有限差分的情况下计算 x 的平方根的示例。他还讨论了在 Julia 中使用类型来进行高效计算和使用块矩阵简化反向传播过程。总的来说,爱德曼强调了线性代数对于数学计算的重要性及其在理解复杂现象中的作用。