机器学习和神经网络 - 页 47

 

CS480/680 第 6 讲:EM 和混合模型(Guojun Zhang)



CS480/680 第 6 讲:EM 和混合模型(Guojun Zhang)

在 CS480/680 第 6 讲中,Guojun Zhang 教授讨论了无监督学习和聚类的基础知识,重点介绍了混合模型及其在聚类数据中的应用。讲座围绕期望最大化算法及其 Estep 和 Mstep 过程,以及作为优化方法的梯度下降展开。提议的潜在项目涉及研究 EM 和梯度下降在学习混合模型中的表现,最终目标是提出更好的算法来避免不良的局部最小值。项目需要注意数学背景。

  • 00:00:00 在本节中,Cody 介绍了无监督学习和聚类的基础知识,以及它与混合模型的关系。混合模型是一种将概率分布描述为条件分布的凸组合的方法。例如,混合高斯分布和混合伯努利分布可用于聚类数据。为了找到混合模型的解决方案,我们需要制定一个目标函数来最小化。这方面的经典算法是期望最大化算法。

  • 00:05:00 在本节中,讲师讨论了在混合模型优化中用于评估后验分布和最大化 q 函数的 Estep 和 Mstep 过程。梯度下降是讨论的另一种优化算法,值得注意的是,在优化过程中可能无法检索到一些聚类。提议的潜在项目是研究 EM 和梯度下降在学习混合模型中的表现,以及是否有办法避免不良的局部最小值,最终目标是提出更好的算法。讲师指出,该项目需要数学背景。
 

CS480/680 第 6 讲:NLP 模型压缩(Ashutosh Adhikari)



CS480/680 第 6 讲:NLP 模型压缩(Ashutosh Adhikari)

在此视频中,演示者讨论了 NLP 模型压缩的概念,以及随着深度神经网络的数量和深度的增加,处理时间和内存需求的挑战。对模型压缩技术进行了分类,介绍了最古老的方法——参数剪枝和共享。演讲者进一步阐述了 NLP 中用于模型压缩的学生-教师系统的概念,以及如何使用目标函数将较大的模型压缩为较小的学生模型,同时保持准确性。最后,强调了在最近开发大规模 NLP 模型的工作背景下压缩模型的潜在重要性。

  • 00:00:00 在本节中,视频主持人讨论了随着深度神经网络的数量和深度的增加,模型压缩的问题,以及它们的处理时间和内存需求。目的是减少神经网络所需的参数数量,同时保持准确性和知识,以便在在线应用程序中实现更快、更高效的部署。对模型压缩技术进行了分类,演示者深入探讨了最古老的方法:参数剪枝和共享,由 Yann LeCun 于 1990 年开发。该演示文稿还涉及通道剪枝技术,该技术在计算机视觉中的卷积神经网络中取得了成功,但较少使用 NLP 模型进行探索。最后,演示者强调了在最近为 NLP 任务开发大型模型的工作背景下压缩模型的潜在重要性。

  • 00:05:00 在本节中,演讲者介绍了 NLP 中用于模型压缩的师生系统的概念。教师模型是一个较大的模型,用于从较小的学生模型中提取表示并压缩成较小的学生模型。目标函数用于帮助学生网络捕获教师网络学习的所有表示以及分类目标。虽然还没有详细探讨剪枝和共享方法,但注意力机制和转换器将在以后的讲座中介绍。演讲者指出,这些巨大的模型基本上是以变形金刚为核心,反复应用。
 

CS480/680 第七讲:高斯混合



CS480/680 第七讲:高斯混合

在这个关于高斯混合的讲座中,演讲者解释了如何通过为每个类构建先验分布来将模型用于分类,这使得能够使用贝叶斯定理构建概率模型来估计给定类的概率数据点。本讲座还涵盖了计算数据点属于某个类别的可能性的过程,以及如何使用它来确定类别预测。讲义探讨了 softmax 函数和 arc max 分布之间的关系,以及协方差矩阵如何确定高斯分布的形状和边界。最后,讲座详细介绍了最大似然学习的过程以及如何使用它来估计混合高斯模型的均值和协方差矩阵。

  • 00:00:00 在本节中,讲师讨论了使用高斯混合进行分类,这是生成模型家族中的一种统计模型。他们解释了如何使用高斯分布对数据中的不准确性和噪声进行建模,这些数据可用于模拟为文本和图像生成等应用程序创建数据集。本讲座提供了一个线性回归示例,以及如何通过使用高斯分布将其转换为生成模型。

  • 00:05:00 在本节中,讲师讨论了通过可以生成与训练集相似的数据的模型生成人物相似图像的可能性。讲师使用线性回归作为示例,然后继续进行分类,其中构建了每个类别的先验分布。基于这种思想,可以使用贝叶斯定理构建概率模型,以估计给定数据点的类别概率。讲座强调这不是贝叶斯学习,而是贝叶斯推理。

  • 00:10:00 在本节中,讲师讨论了混合高斯模型中所做的假设以及如何使用贝叶斯推理来计算类的后验概率。该模型假设有有限数量的分类类,可以使用多项分布表示。类别条件分布被假定为高斯分布,每个类别具有相同的协方差矩阵。可能性是先验分布和类别条件分布的乘积,可以通过取消不依赖于类别的第一项来简化。由于假设每个类的协方差矩阵相同,因此这种简化是可能的,尽管它可能并不总是适用。

  • 00:15:00 在本节中,演讲者解释了后验如何可以表示为 logistic sigmoid 函数,它在神经网络中特别流行,因为它采用任何实数并产生 0 和 1 之间的输出。他们推导出表达式对于后验并表明它可以表示为 W(transpose)X + W_0 其中 W 是 x 的系数,W_0 是不依赖于 X 的常数部分。逻辑函数具有特定的定义并用于产生可以解释为概率的输出。

  • 00:20:00 在本节中,讲师讨论了逻辑函数在高斯混合情况下的使用。 logistic函数用于将输出压缩在0和1之间,其具体定义可以通过将X的系数作为参数,将常量部分作为W的零来得到。可以将均值和协方差矩阵以及类别概率组合在一起以提供所需的参数。这有助于计算属于特定类别的数据点的后验概率。讲师还解释了以高斯分布为代表的类别条件在查找数据点的类别概率时的用途。这些类别条件可能具有不同的钟形,并且后验对于与数据点匹配的类别具有更高的概率。

  • 00:25:00 在视频的这一部分,讲师解释了如何为混合高斯模型计算数据点属于某个类别的可能性。如果两个高斯的均值不同,我们假设它们有相同的协方差矩阵,根据点的位置,它自然有更高的可能性属于高斯均值更接近该点的类。给出了类条件分布的公式,一旦计算出后验,就可以根据该类大于 0.5 的概率进行类预测。讲师还显示了两个类之间的边界,这在进行预测时很有趣。

  • 00:30:00 在本节中,讲座探讨了使用混合高斯分布的类边界以及边界的外观,假设有两个高斯分布并且它们具有相同的协方差矩阵。边界出现在每个类别相同的概率 (0.5) 处。这简化为 W 转置 X bar = 0,这意味着分隔符是线性的。这是一个简单的模型和一个线性分隔符,当有两个类时使用。当有两个以上的类时,进行相同的计算,结果是 softmax 函数,该函数也常用于神经网络,其根源在于混合高斯计算。

  • 00:35:00 本节讲师讲解softmax函数和arc max分布的关系以及为什么叫softmax。 arc max 分布为具有最高值的分类器分配概率 1,为所有其他类分配概率 0,而 softmax 函数通过为所有类分配非零概率来提供更柔和的版本。当考虑高斯混合和计算多个类的后验分布时,会出现指数函数。不同类别的边界也可以在后验分布中显示。讲义解释了 softmax 函数在神经网络中广泛用于确定输出类别。

  • 00:40:00 在本节中,讲师解释了协方差矩阵如何确定高斯的形状和边界,以及这如何影响类的分离。通过使用不同的协方差矩阵,可以创建非线性边界,而使用相同的协方差矩阵将导致线性边界。讲师还讨论了如何估计混合高斯模型的幂,即 pi、mu 1、mu 2 和 Sigma,它们分别代表每个类别的概率、高斯均值和噪声协方差矩阵。最大似然法用于此目的。

  • 00:45:00 在本节中,讲师解释了最大似然学习的过程,其中主要问题是找到使数据似然最大化的模型的能力。为了解决这个优化问题,讲师取表达式的对数来简化它。生成的表达式看起来很复杂,但它实际上很好,并且具有具有单一全局最优值的凹形。此方法允许使用 0 和 1 类的方便标签将两个类的类条件组合成一个表达式。

  • 00:50:00 在这节课中,演讲者讨论了对数似然函数的最大化如何对应于一个凹函数,可以优化该凹函数以获得每个类中数据的样本均值和经验均值混合高斯模型。每个类的概率可以通过取属于该类的数据的分数来估计,这是一种被最大似然原理证实的直观方法。类似地,可以通过将所有数据点的总和除以该类中的点数来估算每个类别的输入均值。这些估计为估计这些参数的直观方法提供了正式的理由。

  • 00:55:00 在本节中,演讲者讨论了使用最大似然学习估计混合高斯模型的均值和协方差矩阵的过程。给定目标输出数据并最大化似然函数以确定均值和协方差矩阵的正确值。在估计协方差矩阵时,采用每个类的经验协方差矩阵的线性组合,其由属于每个类的数据点的数量加权。演讲者澄清,虽然贝叶斯推理和最大似然学习都用于此过程,但讨论的第一部分不是学习,而是使用贝叶斯定理进行推理。

  • 01:00:00 在本节中,演讲者解释了高斯混合的机器学习部分涉及确定高斯模型中每个特征所需的幂。他们使用最大似然学习来做到这一点,但贝叶斯学习也是可能的。但是,讲座将仅涵盖最大似然学习。然后,演讲者总结了该部分,并指出下一节课将涵盖该主题的分类扩展。
 

CS480/680 第 8 讲:逻辑回归和广义线性模型



CS480/680 第 8 讲:逻辑回归和广义线性模型

“CS480/680:逻辑回归和广义线性模型”讲座的第一部分介绍了指数分布族的概念及其与逻辑回归的关系,逻辑回归是一种用于分类问题的强大技术。讲座解释了逻辑回归旨在为给定数据集拟合最佳后验模型的逻辑函数,对于维度和权重较少的问题,牛顿法可用于寻找目标函数的最小值,该函数是凸函数功能。讲师还强调了逻辑回归在推荐系统和广告投放中的重要性,该技术的简单性和高效性使其非常适合根据用户特征和行为进行个性化推荐。

讲座还涵盖了逻辑回归和广义线性模型的主题。讲师讨论了牛顿法做逻辑回归的局限性,比如任意大的权重导致的过拟合问题,Hessian矩阵的奇异性问题。为了防止过度拟合,建议进行正则化。讲师介绍了可用于有效处理非线性分离器的广义线性模型 (GLM)。 GLM 涉及将输入映射到新空间,只要映射是非线性的,就可以在其中以非线性方式进行线性回归和分类。本讲座还介绍了可用于执行非线性回归和分类的基函数及其类型。

  • 00:00:00 在视频的这一部分,讲座讨论了基于高斯混合的分类统计模型的局限性,该模型假设服从高斯分布。为了解决这一局限性,他们引入了一大类被称为指数族的分布,从而开发出一种强大而灵活的技术,称为逻辑回归。讲座在白板上绘制了高斯混合图,并解释了当数据形成某种形状的簇时,这种方法是适用的。但是,如果数据不具有这种形状,则需要放宽高斯分布的假设。本讲座介绍了指数分布族的概念,并解释了它在逻辑回归发展中的意义。

  • 00:05:00 这部分,演讲者讨论了指数族,其中包括许多著名的分布,例如伯努利、泊松和伽玛。该族之所以称为指数族,是因为乘积密度函数具有指数,指数在 theta 中有一个线性项,在 X 中有一些项,在 theta 和 X 中还有其他项。族中不同分布的关键是精确的函数X 的 T、theta 的 a 和 X 的 B。这个家族的美妙之处在于,其中的任何分布都可以改写为 S 型逻辑函数的形式。这一特性使说话者能够引入概率判别模型,其目的是直接估计逻辑函数的参数,而不是假设数据受到一些噪声的扰动并估计相关分布的参数。

  • 00:10:00 在本节中,我们将了解逻辑回归,这是一种用于拟合或找到为给定数据集的后验建模的最佳逻辑函数的技术。只要有多个类,后验就遵循 softmax 分布。我们想在给定一些数据的情况下找到最大化后验的 W。通过引入负号,将此优化问题转换为最小化问题。目标是找到最佳 W,以确保大多数数据点的正确类别 Y 的概率尽可能高。

  • 00:15:00 在本节中,讲师讨论逻辑回归及其如何用于分类问题。目标是找到最小化主观的 W,但重要的是要注意,即使这种技术称为逻辑回归,它实际上是一个分类问题。然而,逻辑回归是回归的一种形式,因为我们试图估计给定 X 的类的后验概率,X 是一个数值。讲师继续解释说,解决此优化问题需要迭代方法,因为没有办法以封闭形式隔离表达式中的变量。

  • 00:20:00 这节课讲师讨论了如何处理逻辑回归中的非线性方程。逻辑回归的目标函数被证明是一个凸函数,更容易找到全局最优。讲师解释说,可以使用梯度下降或牛顿法等迭代方法来找到目标函数的最小值。虽然可以使用梯度下降,但效率不高,而且很难确定正确的步长。牛顿法速度更快,所需步骤更少,因此成为一种流行的优化选择。

  • 00:25:00 在讲座的这一部分,演讲者讨论了一种称为牛顿法的逻辑回归方法,它是对梯度下降法的改进。牛顿法涉及从 W 的初始猜测开始,然后从 W 中减去 Hessian 矩阵的倒数乘以最后一个函数的梯度。该方法本质上涉及迭代三个加权最小二乘法,并使用二次函数而不是直线来逼近目标,从而更好地逼近曲线并加快收敛速度。这种方法的妙处在于,每次逼近二次函数时,都可以以封闭形式最优求解最小值,无需计算步长。

  • 00:30:00 在本节中,演讲者介绍了牛顿法,这是一种二阶优化方法,它在每一步用二次函数逼近一个函数,找到该二次曲线的最小值,然后重新拟合该函数。这与梯度下降不同,梯度下降涉及最小化二次函数。牛顿法可以更快更准确,因为二次函数比一般线性回归更适合曲线,但它需要计算 Hessian,其中包括所有二阶导数并且在高维问题中可能很昂贵。因此,它更适用于具有少量尺寸和重量的问题。

  • 00:35:00 在本节中,讲师解释了使用牛顿法用二次函数逼近逻辑回归的复杂非线性函数背后的基本原理。虽然梯度下降更便宜,但用二次函数逼近更适合,允许更好的步骤。找到二次函数的最小值在计算上也是可行的。牛顿法对于非凸目标并不能保证找到全局最优,但是由于逻辑回归的函数是凸的,所以只有一个全局最优,牛顿法可以从任何地方开始。应用牛顿法需要计算的主要内容是 Hessian,它可以通过推导得到,该表达式涉及包含一行 1 和 Sigma 对角矩阵的数据集。

  • 00:40:00 在本节中,讲师讨论逻辑回归及其作为机器学习技术的重要性,特别是对于推荐系统和广告投放。逻辑回归用于向用户提出建议,例如产品推荐或广告推荐。这个想法是展示被用户点击的概率很高的广告,这可以建模为一个分类问题。讲师还介绍了 Hessian 的结构以及如何使用公式获得它,这对于编程逻辑回归和应用牛顿法很重要。虽然一些学生可能会觉得数学难以理解,但了解这些方法以了解它们是如何产生的以及它们为何起作用是必不可少的。

  • 00:45:00 在本节中,逻辑回归的概念被解释为一种根据用户的特征和行为向用户(例如产品或应用程序)提出建议的方法。逻辑回归通常用于此类问题,因为它简单、灵活且实施起来高效,预测依赖于计算点积。在提出建议时可以考虑的特征示例包括某些应用程序是否已经下载和安装、年龄、性别、位置以及公司或智能手机拥有的关于用户的任何其他相关信息。

  • 00:50:00 在本节中,讲师解释了如何将逻辑回归用于具有两个类别的分类问题,其中事件发生的概率大于或等于 0.5。如果有多个类别,可以使用 softmax 分布,每个类别 K 都有一个向量 W。讲师强调逻辑回归使预测变得简单,因为它只涉及计算点积,并且可以通过利用稀疏性来提高效率并使一些计算瘫痪。

  • 00:55:00 在本节中,演讲者讨论了逻辑回归的效率以及它如何通过利用稀疏性和并行计算在低资源设备上运行。点积计算可以忽略零项,从而使包含数百万项的长向量的计算速度更快。学习模型还可以与 GPU 并行化,这非常适合需要快速和可扩展预测的推荐系统等系统。此外,扩展功能很容易,只需要扩展而不是重新设计一切。

  • 01:00:00 在这一节中,教授讨论了牛顿法用于逻辑回归的局限性和过拟合问题。虽然牛顿法是一种快速优化技术,但它无法扩展到大型数据集和数百万个特征。逻辑回归由于其凸优化而容易过拟合,它会找到与数据拟合得很好的全局最优值。过拟合会导致 Hessian 矩阵出现奇点,从而无法应用牛顿法。逻辑回归的 sigmoid 函数从 0 到 1 但永远不会渐进地达到 1,因此要达到接近 1 的概率,W 转置 X bar 必须任意大,这会导致过拟合。

  • 01:05:00 在这一节中,讲师讨论了逻辑回归模型中的过度拟合问题。他们解释说,随着 W 转置 X bar 趋于无穷大,W 的大小也趋于无穷大,这可能导致权重变得任意大。此外,由于 sigmoid 函数,Hessian 将趋于零,这使得牛顿法难以应用,因为计算 Hessian 的倒数在数值上是不可能的。为防止过度拟合,讲师建议使用正则化,其中添加惩罚项以最小化权重的大小。这也有助于防止奇点问题。

  • 01:10:00 在视频的这一部分中,讲师讨论了如何通过使用牛顿法添加惩罚项来防止逻辑回归和广义线性模型中的过度拟合。然而,逻辑回归的局限性在于类之间的边界始终是线性的。为了克服这一限制并使用非线性分离器,讲师介绍了广义线性模型,该模型涉及将输入映射到新空间,只要映射是非线性的,就可以以非线性方式进行线性回归和分类。线性的。这种简单的方法允许泛化线性模型以在非线性设置中工作,并作为本课程后面介绍的核方法的基础。

  • 01:15:00 在本节中,演讲者讨论了如何使用非线性回归和广义线性模型来逼近函数。这个想法是将数据从原始空间映射到新空间,使用由 Phi 表示的映射函数,它将每个输入 X 映射到一个新特征。映射函数表示一个基函数,它可以通过定义一个映射来捕获非线性,该映射将允许用户从任何原始空间移动到新空间,使其成为非线性。目标是找到权重等系数以获得最佳函数和假设空间。最终,通过使用这种技术,我们可以在隐式捕获原始空间中的非线性的同时执行线性回归或分类。

  • 01:20:00 在本节中,讲师解释了如何使用逻辑回归和广义线性模型对数据点进行分类。该过程涉及使用基函数将输入空间映射到更高维空间,然后搜索最佳超平面以在该更高维中分离数据。讲师强调,选择合适的基函数需要有关函数可能空间的先验知识,但有一些技术可用于学习基函数。此外,讲师还解释了模型中的权重如何定义垂直于超平面的向量。

  • 01:25:00 在本节中,讲师讨论了可用于逻辑回归和广义线性模型的基函数及其类型。讲师首先介绍多项式基函数,因为它们可以通过对 X 的所有幂达到一定程度来跨越多项式函数。讲师随后展示了非线性基函数的两个示例:高斯函数和 S 型函数。通过改变 mu 和 s 可以使用高斯基函数,其中 mu 表示凸块在 x 轴上的位置,s 表示凸块的宽度。 Sigmoid 函数是非线性函数,但不是概率分布,可以与应用于 X 减去 mu J 除以 s 作为基函数的 Sigma 帽一起使用。其他可用作基函数的非线性函数包括小波、正弦和余弦。

  • 01:30:00 在讲座的这一部分,演讲者讨论了如何泛化线性模型以隐式执行非线性回归和分类。通过将输入变量 X 替换为新空间的输入 X 的 Phi,可以利用各种非线性函数。 Phi 函数可应用于原始输入 X 的不同部分,并可用于使用一组基函数(例如多项式或高斯函数)来捕获底层函数。本主题到此结束,它提供了对非线性逻辑回归和广义线性模型的基本理解。
 

CS480/680 第 9 讲:感知器和单层神经网络



CS480/680 第 9 讲:感知器和单层神经网络

本讲座介绍神经网络,重点介绍基本类型感知器,它产生用于分类的线性分离器。本讲座探讨了如何使用权重来计算通过激活函数产生输出的输入的线性组合,以及如何使用不同的权重来近似逻辑门,例如 AND、OR 和 NOT 门。讲师讨论了前馈神经网络以及感知器学习算法如何用于二元分类以及梯度下降如何优化权重。讨论了使用线分隔数据的局限性,引入了 logistic sigmoid 激活函数作为可能的解决方案,重点介绍了如何使用 logistic sigmoid 激活函数训练权重。

这个关于感知器和单层神经网络的讲座涵盖了使用 logistic sigmoid 激活函数来最小化平方误差以及引入学习率作为顺序梯度下降中的关键参数。讲师还演示了如何使用保留垃圾的函数组合多层神经网络来任意接近地近似任何函数,以及如何使用反向传播来训练网络学习任意函数。讲师强调了神经网络的多功能性和高效性,并列举了神经网络在解决语音识别、计算机视觉、机器翻译和词嵌入等各种问题中的广泛应用。

  • 00:00:00 在这节课中,重点是对神经网络的简要介绍,特别强调感知器,它是一种基本类型的神经网络,没有隐藏层。它产生用于分类的线性分离器,并在神经网络的历史中发挥着至关重要的作用。后来,更复杂形式的神经网络变得更加普遍。讲座还涉及大脑的工作原理以及如何通过计算来模拟大脑。虽然大脑由神经元组成,但计算机使用通过电信号进行通信的逻辑门来运行,这使得计算顺序进行。然而,大脑的信号并行传播,使其更加稳健。

  • 00:05:00 在本节中,演讲者讨论了与人脑相比计算机的脆弱性,以及神经网络如何尝试模拟大脑的组织。神经网络由称为单元的节点组成,这些节点对应于真实神经网络中的神经元,以及对应于突触的链接。计算是通过在单元之间传输的数字信号来完成的。目标是在输入正确的模式时激活神经元,从而允许更强大的计算,可以通过使用正则化技术来处理某些神经元的删除。神经网络的灵感来自实际生物神经网络中化学信号的组织和传播。

  • 00:10:00 在本节中,讲师解释了神经网络中如何使用权重来计算输入的线性组合并产生新信号。然后这个新信号通过一个激活函数,该函数应用一些非线性来产生输出。网络中的每个节点接收输入,使用权重重新调整它们,并应用激活函数产生输出,然后将其传递到网络中的下一个节点。讲师强调,权重对网络的行为至关重要,可以在学习过程中进行调整以提高性能。

  • 00:15:00 在本节中,讲师讨论神经网络中的单元如何根据分配给每个输入的权重计算输入的线性组合的非线性函数。输入本身可以是经过非线性激活函数的先前节点。神经网络不是创建基函数来将输入映射到新空间,而是允许网络的一部分学习如何将输入重新映射到新空间。非线性激活函数是使网络更具表现力所必需的,讲师解释了此类函数的两个流行示例:阈值激活函数和 sigmoid 函数。

  • 00:20:00 在这节课中,教授讨论了激活函数在神经网络中的使用,特别是 trash holding 函数和 sigmoid 函数。他解释说,虽然 trash holding 函数对于输出 0 和 1 很有用,但它并不平滑和连续,这使得它很难与基于梯度的方法一起使用。 sigmoid 函数是 trash holding 函数的平滑版本,具有相同的形状,但可以调整斜率。然后教授探索了神经网络中可以模拟基本门(如 AND、OR 和 NOT 门)的单元的设计。他演示了一个单元示例,该单元具有可以模拟 NAND 门的垃圾保持激活功能,并询问是否可以提出一些权重以允许对应于输入末尾的输出。

  • 00:25:00 在本节中,讲师讨论了如何在感知器神经网络中使用不同的权重来模拟逻辑门,例如结束门、或门和非门。通过调整感知器中使用的权重,神经网络可以设计为为每个门生成所需的真值表输出。讲师提供了可用于模拟每个逻辑门的不同权重的示例,包括端门或门和非门的权重。

  • 00:30:00 在本节中,讲师讨论了两大类网络:前馈神经网络,它由单向流动的节点的有向图组成;循环神经网络本质上是循环的,可用于处理不同长度的输入,因此在自然语言处理中很受欢迎。讲师侧重于前馈神经网络,并画了一个简单的例子,有两个输入单元,一个隐藏层有两个单元,一个输出单元。通过改变层间连接的权重,他们解释说可以模拟末端或结单元,允许任何布尔函数的近似值。

  • 00:35:00 在本节中,讲师解释了感知器的概念,它本质上是一个用于二元分类的简单单层前馈神经网络。讨论了用于训练感知器的算法,其中通过遍历每个 XY 对的数据集并根据生成的输出是否正确调整权重来单独训练每个输出单元。本讲座还讨论了在神经网络中使用矩阵表示来表示权重。

  • 00:40:00 在本节中,教师解释了用于处理通过阈值函数的单元的感知器学习算法。该算法应用一个非常简单的规则,如果网络的计算正确,则权重可以保持不变,但如果输出不正确,则必须通过简单地将输入 X 添加到权重或减去它来进行调整,取决于输出。目标是如果输出应该为正则增加输入和权重的线性组合,或者如果输出应该为负则减少输入和权重的线性组合,以便感知器计算出更接近正确答案的输出。关键是要利用垃圾保持函数在线性组合为正时返回 1,为负时返回 0 的事实。

  • 00:45:00 在本节中,演讲者讨论了使用梯度下降来优化感知器算法的权重。损失函数被定义为错误分类错误,其中对于每个数据点 X 和 Y,当 YW 转置 X 的乘积为负时,它被认为是错误分类的。如果一个点属于 1 类,则该点应为正;如果它属于 -1 类,则该点应为负。将错误分类的点相加以获得可以最小化的目标。然后相对于目标计算梯度以在梯度的相反方向上采取步骤以进行优化。

  • 00:50:00 在关于感知器和单层神经网络的讲座的这一部分,教授讨论了使用梯度下降和顺序处理来更新感知器算法中的权重。该算法依靠线性可分数据最终正确分类所有训练实例。提出了一个定理,指出当且仅当数据是线性可分的时,阈值感知器学习算法才会收敛。本节以线性可分离数据与非线性可分离数据的解释和可视化结束。

  • 00:55:00 在这节课中,教授讨论了尝试用线分隔数据集的局限性,并介绍了使用逻辑 sigmoid 激活函数代替阈值激活函数的可能性。 logistic sigmoid 可能是非线性的,但它仍然会在每个类的概率为 0.5 的点处产生一个线性分隔符。因此,使用 logistic sigmoid 仍然为我们提供了一个线性分隔符和一个与逻辑回归相同的假设空间。然后,教授解决了如何使用 logistic sigmoid 激活函数训练感知器权重的问题。

  • 01:00:00 在本节中,演讲者讨论了在具有 logistic sigmoid 激活函数的感知器中定义目标和最小化平方误差的方法。他们解释说,最大似然算法与逻辑回归基本相同,而最小化平方误差需要找到梯度并朝梯度方向采取步骤。他们还介绍了使用学习率来定义顺序梯度下降步长的想法,并提到这是一个经常需要调整的关键参数。演讲者建议针对小批量数据点或仅一个数据点采取措施在实践中很常见。

  • 01:05:00 在本节中,讲师解释了具有多层的神经网络如何可以任意紧密地逼近任何函数。通过将不同的神经元组合在一起,他演示了通过添加两个具有相反斜率的平行 S 形单元来创建 2D 脊线,然后展示了两个脊线如何在垂直相交时形成一个凸起。这种技术允许创建分类器,这些分类器可以将点分配给一个小区域中的一个类,而在其他任何地方都分配给另一个类。讲师举例说明了相应的网络,其中包括四个 sigmoid 单元和一个具有恒等激活函数的脊。

  • 01:10:00 在关于感知器和单层神经网络的讲座的这一部分,教授讨论了使用垃圾保持函数或 sigmoid 函数构造凸点,以及如何将它们平铺和加在一起以任意接近地近似任何曲线.他解释说,这种方法可用于回归,并且可以使用反向传播等算法训练神经网络学习任意函数。反向传播本质上是梯度下降的一种形式,它利用网络结构同时计算所有偏导数。

  • 01:15:00 在本节中,讲师解释了如何使用反向传播算法在通过网络的恒定次数中同时获得神经网络中所有权重的偏导数。讲师强调,神经网络因其在解决语音识别和计算机视觉等各种问题方面的多功能性和强大功能而获得了广泛的普及。机器翻译和词嵌入的最新技术也采用了神经网络,它们的流行部分是由于它们的效率。
 

CS480/680 第10讲:多层神经网络和反向传播



CS480/680 第10讲:多层神经网络和反向传播

这个关于多层神经网络和反向传播的讲座解释了线性模型的局限性以及对非线性模型(例如多层神经网络)的需求。讲师讨论了可用于神经网络的不同激活函数,以及它们如何支持非线性基函数。本讲座继续解释反向传播算法如何用于计算神经网络中每个权重的误差梯度。还讨论了自动微分工具作为一种有效计算神经网络中的增量和梯度的方法。总的来说,讲座强调了神经网络在逼近各种函数方面的灵活性和强大功能。

本视频中的讲师讨论了优化神经网络的问题,例如收敛速度慢、局部优化、非凸优化和过拟合。为了克服收敛速度慢的问题,可以使用正则化和丢弃等技术。此外,演讲者还解释了梯度下降优化的行为,强调了优化步长以提高其效率的必要性。提出了DES grant算法作为解决方案,它分别调整每个维度的学习率。演讲者还介绍了 RMSProp,它是先前梯度的加权移动平均值。最后,演讲者讨论了 Adam,它涉及对梯度本身进行加权移动平均,并表明它优于 SGD Nesterov 等其他技术。

  • 00:00:00 在本节中,讲师简要回顾了线性回归和线性分类的三个模型。然而,这些模型的问题在于它们仍然为我们提供了线性分隔符。因此,讲座将讨论转移到非线性模型,并介绍了对多层神经网络的需求。

  • 00:05:00 在本节中,讲师回顾了线性模型,包括感知器及其阈值激活函数,以及 S 型激活函数。讲师解释说,线性模型可以扩展到非线性模型,以适应不是直线而是曲线的函数。为实现这一点,引入了非线性回归,它使用映射函数 X 的 Phi 将数据转移到新空间。讲师还介绍了多层神经网络,它为非线性回归提供自适应基函数,然后将它们与广义线性回归模型联系起来。最后,讲师讨论广义非线性分类。

  • 00:10:00 在讲座的这一部分,演讲者讨论了如何使用不受限制的非线性模型。到目前为止,我们所看到的具有基函数的线性模型的问题是我们必须先验地选择基函数,而我们可能没有足够的领域知识来做到这一点。解决方案是选择依赖于数据的基函数,并允许基函数的数量非常大,甚至是无限数量,而无需付出代价。这个想法最初是内核方法中的方法,并且直到 2010 年左右才成为主导技术集。

  • 00:15:00 在本节中,视频讨论了在深度学习中引入多层神经网络,这导致了我们今天在深度学习中看到的许多成功。具体来说,该视频重点介绍了一个具有全连接节点的双层神经网络,每个连接都有一个可以用矩阵表示的权重。隐藏单元和输出单元使用激活函数和线性组合计算,每一层都有自己的一组权重。通过调整基函数内部的幂,可以根据训练集调整和改变它们,从而产生更成功的深度学习模型。

  • 00:20:00 在讲座的这一部分,教授解释了神经网络本质上是如何由多层和权重组成的数学函数。他们使用激活函数(例如 S 形函数或双曲正切函数)来添加非线性。这些激活函数可以作为下一层的基函数,可以用于非线性回归。通过在第一层使用非线性激活函数和在输出层使用恒等函数,神经网络可以表示为非线性基函数的线性组合。

  • 00:25:00 在本节中,演讲者讨论了用于非线性回归和分类的双层神经网络。双层神经网络的数学公式涉及具有 sigmoid 激活函数的隐藏单元和具有恒等激活函数的输出单元。西格玛作为一个非线性基函数,由一些权重参数化,允许基函数随着模型的训练而适应。这种方法是非线性和线性回归之间的主要区别。同样,对于分类,演讲者展示了如何通过计算第一层非线性的基函数来应用相同的公式。

  • 00:30:00 在本节中,讲师解释了多层神经网络与逻辑回归的不同之处,尽管它们具有相似的解释。神经网络通过使用在训练期间更新的权重来允许更具自适应性的基函数。非线性来自 Sigma 函数的使用,它可以用其他函数代替,例如高斯函数或 10h 函数。通过调整激活函数,神经网络既可以用于分类也可以用于回归。讲师还提到,通过将 Sigma 函数替换为另一个合适的函数,可以在网络中使用多个类。

  • 00:35:00 在本节中,讲座讨论了多层神经网络的权重优化,其中包括线性组合的权重和定义非线性基函数的权重。最流行的优化算法是误差最小化,它将神经网络的输出与目标进行比较并计算差异。反向传播是一种流行的算法,它允许计算误差并通过网络反向传播以计算关于每个权重的梯度。梯度用于计算更新算法以优化权重。反向传播算法是手动计算的,但 Tensor Flow 和 PyTorch 等软件包提供了自动微分的工具。

  • 00:40:00 在本节中,演讲者解释了用于计算神经网络中每个权重的误差梯度或偏导数的反向传播算法。该算法分为两个阶段:前向阶段,根据输入计算网络的输出;后向阶段,反向传播误差度量 Delta 以计算误差相对于每个误差的偏导数重量。使用偏导数链式法则和 Delta J 和 Zi 分两步计算偏导数。演讲者使用由两个输入、两个隐藏单元和两个输出单元组成的全连接网络来说明该算法,并展示该算法如何计算每个单元的输出并反向传播误差。

  • 00:45:00 在视频的这一部分中,演讲者讨论了如何使用反向传播算法在多层神经网络中获得偏导数。演讲者解释说,从输出层开始,可以使用依赖于输出单元增量的递归公式计算误差相对于每个输出单元 J 的偏导数。然后,演讲者演示了一个使用前向和后向相位计算神经网络中隐藏单元和输出单元的输出的简单示例。

  • 00:50:00 在本节中,演讲者解释了如何计算神经网络中的增量和梯度,以及自动微分工具如何帮助有效地完成这项工作。它们提供了用于计算隐藏层和输出层的增量的方程式,并展示了如何使用这些方程式来计算梯度。演讲者强调,在处理不同的架构和函数时,自动微分工具可以节省手动计算梯度的时间和精力。本节最后以示例说明神经网络如何仅使用三个隐藏单元就可以逼近任意函数,例如 x 平方、x 的绝对值和 x 的正弦。

  • 00:55:00 在本节中,讲师讨论了神经网络逼近不同函数的能力。该网络可以收敛到可以很好地逼近平滑函数(例如二次函数和正弦函数)的非线性基函数。然而,对于非光滑函数,如绝对函数,神经网络在没有足够的隐藏单元的情况下难以逼近它。尽管如此,即使对于阶跃函数这样的不连续函数,网络仍然可以提供合理的近似值。然后讲师继续讨论优化神经网络,其中涉及使用自动微分计算梯度并执行随机梯度下降。虽然这是一种通用的优化技术,但如果没有额外的优化方法,收敛速度可能会很慢。

  • 01:00:00 在本节中,讲师讨论了在优化神经网络时可能出现的问题,包括收敛速度慢、局部优化、非凸优化和过拟合。可以通过正则化和丢弃等技术来克服缓慢收敛。为了说明慢速收敛的概念,讲师画了一张表示误差函数的球形表面图。当从全局最小值之外开始时,梯度下降可能收敛缓慢,而动量和自适应学习率等现代技术可以加速收敛。

  • 01:05:00 在本节中,讲师讨论了用于优化的梯度下降行为。梯度的方向一般与等高线垂直,朝其方向迈出一步的问题是可能会超过最小值。另一方面,如果梯度很小,可能需要采取许多小步骤才能达到最小值。因此,有些地区应该采取更大的步骤,有些地区应该采取更小的步骤。这种行为突出了优化步长以提高梯度下降效率的必要性。

  • 01:10:00 在本节中,演讲者讨论了依赖梯度大小来确定神经网络步长的潜在问题。由于梯度的大小在不同的维度上可能不一致,DES grant算法提出的一种解决方案是通过取目前看到的梯度的平方和除以步长来分别调整每个维度的学习率乘以该值的平方根。这允许根据每个维度中梯度的大小调整步长。但是,在某些应用程序中,学习率可能会衰减得太快,从而阻碍进步。

  • 01:15:00 在本节中,演讲者讨论了神经网络中梯度下降的问题,以及调整学习率如何有助于进行随机梯度下降。演讲者介绍了神经网络中“维度”的概念,其中每个权重有一个维度。他们解释了大笔资金积累的问题以及减少这些步骤规模的必要性。演讲者建议通过引入 rmsprop 来解决这个问题,rmsprop 是先前梯度的加权移动平均值,具有指数衰减,忘记了旧梯度。然而,这种方法并不完美,演讲者承认其局限性。

  • 01:20:00 在这一节中,讲师讨论了梯度在稳定区域缺乏动量的问题,导致需要一种在方向相同的情况下增加步长的方法。这导致了一种称为 Adam 的启发式算法,它涉及对梯度本身进行加权移动平均并将其存储在 sT 中。在进行更新时,不是在动作和梯度中迈出一步,而是在移动平均线的动作中迈出一步。该技术是一种启发式技术,于 2015 年在 ICLR 上发表,与其前身的主要区别在于它附带了一些关于其属性的收敛性理论和证明。然而,当它发布时,一些证明存在问题,导致修改了更多的证明,以得出更有原则的东西。

  • 01:25:00 在本节中,演讲者解释了在采取一些好的步骤和为每一步付出高昂代价之间的权衡,或者快速采取许多不是很好的小步骤,但总体上还是会结束接近最小值。他还讨论了不能很好扩展的优化技术,例如像牛顿技术这样的二阶优化技术。在实践中,尽管启发式方法缺乏好的理论,但它们往往效果很好。演讲者随后提供了 Adam 与 SGD Nesterov 等其他技术之间的实证比较,并表明 Adam 往往表现得相当好。
 

CS480/680 第十一讲:内核方法



CS480/680 第十一讲:内核方法

在本讲座中,引入了核方法的概念,作为一种通过使用非线性函数将数据从一个空间映射到新空间来扩展广义线性模型的方法。对偶技巧或内核技巧被解释为一种无需支付额外成本即可在高维空间中工作的技术,从而导致使用内核函数计算新空间中点对的点积。讨论了构建内核的各种方法,包括多项式内核和高斯内核,它们可用于测量数据点之间的相似性并且在分类任务中很有用。还引入了编写内核的规则以构建可以控制其复杂性的新内核。讲座强调了选择与 Phi 转置 Phi 对应的函数的重要性,因为 gram 矩阵必须是半正定的并且具有大于或等于零的特征值。

在本次内核方法讲座中,演讲者将内核定义为半正定函数,可以将其分解为乘以其转置的矩阵。讨论了各种类型的内核,例如多项式和高斯内核,以及它们在比较不同类型的数据(例如字符串、集合和图形)时的应用。演讲者还解释了子串内核如何通过增加子串的长度和使用动态规划来快速计算单词之间的相似度。此外,支持向量机在使用来自路透社的新闻文章进行文档分类时被证明是有效的。

  • 00:00:00 在本节中,演讲者介绍了核方法,这对于扩大广义线性模型很有用。快速回顾广义线性模型和神经网络之间的异同,强调线性模型中使用固定的非线性基函数,优化往往更容易并且通常是凸的,而自适应基函数用于神经网络,并且优化往往更难。内核的引入将导致一个技巧,该技巧将避免在处理涉及非线性映射的模型时为更大的空间付出代价。

  • 00:05:00 在本节中,讲师解释了机器学习范式的演变,强调了当数据量不充足时,有限的假设空间如何不是一个重要问题。然而,从 2009 年开始的神经网络时代带来了大量的数据和计算能力,使得拥有更丰富的假设空间变得必不可少。讲师介绍了双重技巧或内核技巧,这是一种计算技术,通过使用非线性函数将数据映射到新空间,无需支付额外成本即可在高维空间中工作。他解释了这个技巧如何与核函数一起允许我们考虑大量或无限数量的基函数,而无需显式计算它们。

  • 00:10:00 在本节中,讲师重点介绍核方法,其目的是计算新空间中点对之间的点积,并找到使计算这些点积的成本大大降低的方法,以便更好地缩放算法。因此,点积被重命名为核函数,如果我们可以确定每对点的这些核的输出,我们就不需要计算 X 的 Phi 定义的底层特征空间,这是定义核的关键可以快速评估并且不需要计算 X 的 Phi。以线性回归为例,讲师表明 W 实际上是数据点的线性组合,这些数据点是 X n 的系数乘以 Phi,并且将 W 替换为另一个表达式,Phi 乘以 A,其中 Phi 是新空间中所有点的矩阵。

  • 00:15:00 在本节中,演讲者介绍了内核方法的概念,它涉及使用映射函数将数据从一个空间映射到一个新空间。他展示了如何使用映射点的线性组合的系数 (a) 而不是权重矩阵 (W) 来优化新空间中的线性回归问题。这导致使用核函数来计算新空间中点对的点积,该空间被定义为 Gram 矩阵。结果是通过使用核函数优化系数来找到回归问题的解决方案的另一种方法。

  • 00:20:00 在本节中,讲师讨论如何使用对偶空间中的解进行预测,这会导致与原始空间中不同的计算复杂度。在原始空间中,复杂度取决于基函数的数量,但在对偶空间中,它取决于数据量,允许高维空间而不增加复杂度。关键是在不参考新空间中的点的情况下计算核函数,并且有多种方法可以定义隐式对应于点积的核函数。选择与 Phi 转置 Phi 对应的函数很重要,因为 gram 矩阵必须是半正定的并且具有大于或等于零的特征值。讲师提供了一个示例,说明如何直接定义内核,然后计算出相应的映射。

  • 00:25:00 在本节中,讲师将核函数定义为原始空间平方中两个向量的点积。问题是这是否是一个有效的核函数,可以在不参考空间变换函数 Phi 的情况下计算。通过扩展该函数,讲师无需显式计算即可定义 Phi 的映射,并得出具有基函数的有效核函数。虽然通常核函数是通过首先定义 Phi 然后进行点积来计算的,但这种方法允许在原始空间中直接计算核函数。

  • 00:30:00 在本节中,讲师讨论了构建内核的方法。这个想法是构建可以控制其复杂性并确保它不依赖于新空间的新内核。讲师解释了组合内核以生成有效新内核的十条规则,如果函数不是有效内核,则有一些基本构建块可以帮助将它们组合在一起以获得更复杂的内核。本讲进一步介绍了实践中常用的核,如多项式核,将原空间中的点积乘以某种次方,得到的特征空间为X中所有项的M次乘积。本讲继续关于下一节课高斯核的讨论。

  • 00:35:00 在本节中,讲师解释说,要在不付出计算代价的情况下实现回归或分类模型的灵活性,需要高维,这可能是一个问题。为了避免这个问题,使用了内核,它指定了一个函数来告诉我们新空间中点对之间的点积。然后引入多项式内核作为普通内核,它将原始空间中的点积乘以 M 次方。讲师提供了一个二维空间中内核的具体示例,并将其扩展以演示相应的点积在3D空间。

  • 00:40:00 在本节中,讲师解释了用于将输入空间隐式转换为高维空间的核方法,在该空间中类可以线性分离,即使它们不在原始空间中也是如此。该讲座解释了这种方法如何推广到任意高幂 M,在其中创建新特征,这些新特征本质上是 M 种可能特征的所有组合。然而,这将导致呈指数级增长的需求空间,这对于图像来说在计算上是不可能的。为了解决这个问题,可以向内核添加一个常量 C 以考虑所有度数高达 M 的特征。

  • 00:45:00 本节讲解了多项式核和高斯核的概念。多项式核用于计算两个向量的点积,它可以测量两个数据点之间的相似度,最高可达二阶。另一方面,高斯核由计算两个数据点之间的相似度的公式表示,是机器学习中常用的核。内核本质上是在新空间中计算点积的捷径,可以解释为数据点之间相似性的度量,这在分类任务中很有用。

  • 00:50:00 在本节中,讲师解释了如何将高斯核视为衡量两点之间相似性的指标,如果点相同则值高,如果点相距较远则值低。然而,由于特征空间是无限的,证明高斯核是一个有效的核是具有挑战性的。相反,讲师使用上一课的规则来证明内核的有效性,特别是第四条规则,它指出采用内核的指数会导致另一个有效内核,并进一步检查其他规则来表达高斯内核作为有效内核的组合。

  • 00:55:00 在视频的这一部分中,讲师演示了使用各种规则来证明 XX 素数的 K,等于 e 减去 X 减去 X 素数除以 2 Sigma 平方,是一个有效的内核.讲师在使用规则 1、2、4 和 8 之前展开 X 减去 X 素数并将项分成不同的指数,以表明它是一个有效的内核。使用的规则包括用单位矩阵替换 a 并显示 X 转置 X 素数除以 Sigma 平方和 e 到 X 转置 X 素数除以 Sigma 平方是有效内核。

  • 01:00:00 在本节中,演讲者解释了内核是半正定函数,可以将其分解为矩阵乘以其转置。他还解释说,例如,使用多项式内核需要将所有单项式构造到一定程度,从而导致指数维数。然而,通过直接使用内核,所需要的只是计算每对数据点之间的相似性,从而提高计算效率。还讨论了高斯核,它具有无限的特征空间,使其在表示任意函数方面非常强大。此外,演讲者指出,虽然内核是根据向量定义的,但它们也可以应用于其他类型的对象,例如集合、字符串或图形。

  • 01:05:00 在本节中,讲师讨论了使用内核方法映射字符串和文档的想法。该技术涉及定义一个内核,该内核测量两个文档或字符串之间的相似性,作为两个文档中出现的所有非连续子字符串的加权和。然而,枚举所有这些特征可能是耗时且资源密集型的,这就是非矢量内核发挥作用的地方。这些内核在比较可能包含新词或发明词的文档时非常有用,并且可以将每个字符串或文档映射到与字符串是否包含特定子字符串相对应的新特征空间。

  • 01:10:00 在本节中,演讲者解释了子串内核的概念,用于确定两个词之间的相似性。子字符串内核采用一个值 lambda,提高到表示子字符串长度的幂,对于更重要的匹配项较低,对于不太重要的匹配项较高。内核可以有效地计算特征空间中的点积,特征空间由两个单词中存在的不同长度的子串组成。为了有效地计算这些内核,本文提出使用动态规划逐渐增加子串的长度。这允许内核的线性时间计算,否则将是指数的。

  • 01:15:00 在本节中,演讲者讨论了如何将支持向量机与内核一起使用,以便在更丰富的空间中工作。演讲者引用了一篇论文,该论文使用路透社的新闻文章进行文档分类,并展示了使用该技术的结果。该方法可能非常强大,将在下一节课中进一步讨论。
 

CS480/680 第十一讲:内核方法



CS480/680 第十一讲:内核方法

在本讲座中,引入了核方法的概念,作为一种通过使用非线性函数将数据从一个空间映射到新空间来扩展广义线性模型的方法。对偶技巧或内核技巧被解释为一种无需支付额外成本即可在高维空间中工作的技术,从而导致使用内核函数计算新空间中点对的点积。讨论了构建内核的各种方法,包括多项式内核和高斯内核,它们可用于测量数据点之间的相似性并且在分类任务中很有用。还引入了编写内核的规则以构建可以控制其复杂性的新内核。讲座强调了选择与 Phi 转置 Phi 对应的函数的重要性,因为 gram 矩阵必须是半正定的并且具有大于或等于零的特征值。

在本次内核方法讲座中,演讲者将内核定义为半正定函数,可以将其分解为乘以其转置的矩阵。讨论了各种类型的内核,例如多项式和高斯内核,以及它们在比较不同类型的数据(例如字符串、集合和图形)时的应用。演讲者还解释了子串内核如何通过增加子串的长度和使用动态规划来快速计算单词之间的相似度。此外,支持向量机在使用来自路透社的新闻文章进行文档分类时被证明是有效的。

  • 00:00:00 在本节中,演讲者介绍了核方法,这对于扩大广义线性模型很有用。快速回顾广义线性模型和神经网络之间的异同,强调线性模型中使用固定的非线性基函数,优化往往更容易并且通常是凸的,而自适应基函数用于神经网络,并且优化往往更难。内核的引入将导致一个技巧,该技巧将避免在处理涉及非线性映射的模型时为更大的空间付出代价。

  • 00:05:00 在本节中,讲师解释了机器学习范式的演变,强调了当数据量不充足时,有限的假设空间如何不是一个重要问题。然而,从 2009 年开始的神经网络时代带来了大量的数据和计算能力,使得拥有更丰富的假设空间变得必不可少。讲师介绍了双重技巧或内核技巧,这是一种计算技术,通过使用非线性函数将数据映射到新空间,无需支付额外成本即可在高维空间中工作。他解释了这个技巧如何与核函数一起允许我们考虑大量或无限数量的基函数,而无需显式计算它们。

  • 00:10:00 在本节中,讲师重点介绍核方法,其目的是计算新空间中点对之间的点积,并找到使计算这些点积的成本大大降低的方法,以便更好地缩放算法。因此,点积被重命名为核函数,如果我们可以确定每对点的这些核的输出,我们就不需要计算 X 的 Phi 定义的底层特征空间,这是定义核的关键可以快速评估并且不需要计算 X 的 Phi。以线性回归为例,讲师表明 W 实际上是数据点的线性组合,这些数据点是 X n 的系数乘以 Phi,并且将 W 替换为另一个表达式,Phi 乘以 A,其中 Phi 是新空间中所有点的矩阵。

  • 00:15:00 在本节中,演讲者介绍了内核方法的概念,它涉及使用映射函数将数据从一个空间映射到一个新空间。他展示了如何使用映射点的线性组合的系数 (a) 而不是权重矩阵 (W) 来优化新空间中的线性回归问题。这导致使用核函数来计算新空间中点对的点积,该空间被定义为 Gram 矩阵。结果是通过使用核函数优化系数来找到回归问题的解决方案的另一种方法。

  • 00:20:00 在本节中,讲师讨论如何使用对偶空间中的解进行预测,这会导致与原始空间中不同的计算复杂度。在原始空间中,复杂度取决于基函数的数量,但在对偶空间中,它取决于数据量,允许高维空间而不增加复杂度。关键是在不参考新空间中的点的情况下计算核函数,并且有多种方法可以定义隐式对应于点积的核函数。选择与 Phi 转置 Phi 对应的函数很重要,因为 gram 矩阵必须是半正定的并且具有大于或等于零的特征值。讲师提供了一个示例,说明如何直接定义内核,然后计算出相应的映射。

  • 00:25:00 在本节中,讲师将核函数定义为原始空间平方中两个向量的点积。问题是这是否是一个有效的核函数,可以在不参考空间变换函数 Phi 的情况下计算。通过扩展该函数,讲师无需显式计算即可定义 Phi 的映射,并得出具有基函数的有效核函数。虽然通常核函数是通过首先定义 Phi 然后进行点积来计算的,但这种方法允许在原始空间中直接计算核函数。

  • 00:30:00 在本节中,讲师讨论了构建内核的方法。这个想法是构建可以控制其复杂性并确保它不依赖于新空间的新内核。讲师解释了组合内核以生成有效新内核的十条规则,如果函数不是有效内核,则有一些基本构建块可以帮助将它们组合在一起以获得更复杂的内核。本讲进一步介绍了实践中常用的核,如多项式核,将原空间中的点积乘以某种次方,得到的特征空间为X中所有项的M次乘积。本讲继续关于下一节课高斯核的讨论。

  • 00:35:00 在本节中,讲师解释说,要在不付出计算代价的情况下实现回归或分类模型的灵活性,需要高维,这可能是一个问题。为了避免这个问题,使用了内核,它指定了一个函数来告诉我们新空间中点对之间的点积。然后引入多项式内核作为普通内核,它将原始空间中的点积乘以 M 次方。讲师提供了一个二维空间中内核的具体示例,并将其扩展以演示相应的点积在3D空间。

  • 00:40:00在本节中,讲师解释了用于将输入空间隐式转换为高维空间的核方法,在该空间中类可以线性分离,即使它们不在原始空间中也是如此。该讲座解释了这种方法如何推广到任意高幂 M,在其中创建新特征,这些新特征本质上是 M 种可能特征的所有组合。然而,这将导致呈指数级增长的需求空间,这对于图像来说在计算上是不可能的。为了解决这个问题,可以向内核添加一个常量 C 以考虑所有度数高达 M 的特征。

  • 00:45:00本节讲解了多项式核和高斯核的概念。多项式核用于计算两个向量的点积,它可以测量两个数据点之间的相似度,最高可达二阶。另一方面,高斯核由计算两个数据点之间的相似度的公式表示,是机器学习中常用的核。内核本质上是在新空间中计算点积的捷径,可以解释为数据点之间相似性的度量,这在分类任务中很有用。

  • 00:50:00在本节中,讲师解释了如何将高斯核视为衡量两点之间相似性的指标,如果点相同则值高,如果点相距较远则值低。然而,由于特征空间是无限的,证明高斯核是一个有效的核是具有挑战性的。相反,讲师使用上一课的规则来证明内核的有效性,特别是第四条规则,它指出采用内核的指数会导致另一个有效内核,并进一步检查其他规则来表达高斯内核作为有效内核的组合。

  • 00:55:00在视频的这一部分中,讲师演示了使用各种规则来证明 XX 素数的 K,等于 e 减去 X 减去 X 素数除以 2 Sigma 平方,是一个有效的内核.讲师在使用规则 1、2、4 和 8 之前展开 X 减去 X 素数并将项分成不同的指数,以表明它是一个有效的内核。使用的规则包括用单位矩阵替换 a 并显示 X 转置 X 素数除以 Sigma 平方和 e 到 X 转置 X 素数除以 Sigma 平方是有效内核。

  • 01:00:00在本节中,演讲者解释了内核是半正定函数,可以将其分解为矩阵乘以其转置。他还解释说,例如,使用多项式内核需要将所有单项式构造到一定程度,从而导致指数维数。然而,通过直接使用内核,所需要的只是计算每对数据点之间的相似性,从而提高计算效率。还讨论了高斯核,它具有无限的特征空间,使其在表示任意函数方面非常强大。此外,演讲者指出,虽然内核是根据向量定义的,但它们也可以应用于其他类型的对象,例如集合、字符串或图形。

  • 01:05:00在本节中,讲师讨论了使用内核方法映射字符串和文档的想法。该技术涉及定义一个内核,该内核测量两个文档或字符串之间的相似性,作为两个文档中出现的所有非连续子字符串的加权和。然而,枚举所有这些特征可能是耗时且资源密集型的,这就是非矢量内核发挥作用的地方。这些内核在比较可能包含新词或发明词的文档时非常有用,并且可以将每个字符串或文档映射到与字符串是否包含特定子字符串相对应的新特征空间。

  • 01:10:00在本节中,演讲者解释了子串内核的概念,用于确定两个词之间的相似性。子字符串内核采用一个值 lambda,提高到表示子字符串长度的幂,对于更重要的匹配项较低,对于不太重要的匹配项较高。内核可以有效地计算特征空间中的点积,特征空间由两个单词中存在的不同长度的子串组成。为了有效地计算这些内核,本文提出使用动态规划逐渐增加子串的长度。这允许内核的线性时间计算,否则将是指数的。

  • 01:15:00在本节中,演讲者讨论了如何将支持向量机与内核一起使用,以便在更丰富的空间中工作。演讲者引用了一篇论文,该论文使用路透社的新闻文章进行文档分类,并展示了使用该技术的结果。该方法可能非常强大,将在下一节课中进一步讨论。
 

CS480/680 第十三讲:支持向量机



CS480/680 第十三讲:支持向量机

本讲座介绍支持向量机 (SVM) 作为一种用于分类的核方法。 SVM 在数据量少的问题上仍然很受欢迎,并且被认为是稀疏的,因为它们可以处理数据的一个子集而忽略其余部分。演讲者解释了支持向量的概念,支持向量是最接近决策边界的数据点,以及 SVM 寻找线性分隔符来分隔类同时最大化边距的可视化示例。讨论了 SVM 和感知器之间的差异,SVM 使用独特的最大边际线性分隔符并且不太容易过度拟合。 SVM 的优化问题可以使用拉格朗日重写,从而产生一个没有约束的等效问题。从拉格朗日得到的解可以代回得到涉及核函数的表达式,从而导致对偶问题优化。还解释了使用计算数据点对之间相似性的核函数在对偶空间中工作的好处。 SVM 计算查询点和所有支持向量之间的相似度,以确定最相似的,讨论也围绕支持向量的数量及其如何影响点的分类展开。

该视频讨论了文本分类中支持向量机 (SVM) 的概念,其中文档表示为字数向量。 SVM 可以有效地减少最坏情况下的损失,使分类器适用于任何可能的样本,甚至适用于不同的数据集。研究人员使用具有双重表示和内核映射的 SVM 将数据映射到更高维空间,而不会损失准确性或牺牲可扩展性。本讲座还涵盖了使用支持向量机从数据集中检索相关文档以及平衡精度和召回率。该视频最后讨论了 SVM 为数据提供线性或非线性分离器的能力,以及与多类分类和非线性可分离数据相关的挑战。

  • 00:00:00 在本节中,演讲者介绍了支持向量机 (SVM),这是一种用于分类的核方法。从历史上看,SVM 是机器学习中最重要和最受欢迎的分类技术,直到神经网络在 2010 年后接管。然而,SVM 在低数据问题上仍然表现良好,并且被认为是稀疏的,因为它们可以处理数据的子集并忽略数据的子集。休息。然后,演讲者提供了两类数据的可视化示例,以及支持向量机如何找到线性分隔符来分隔这些类,同时最大化边距,这是到每个类中最近点的最小距离。\

  • 00:05:00 在本节中,将解释支持向量机 (SVM) 中支持向量的概念。支持向量是最接近决策边界的重要数据点,它们实质上决定了线性分隔符的去向。 SVM 中的最终线性分隔符,它最大化最近数据点的距离,也称为边缘,是通过解决优化问题获得的。最大化边距背后的直觉是确保可能嘈杂的数据点不会被决策边界错误分类。

  • 00:10:00 在本节中,解释了支持向量机 (SVM) 中最大边距的概念,以实现更好的分类。最大边距可确保分类对噪声更稳健,并且可以更好地泛化到未来的示例。使用该数据点的权重向量和特征向量之间的点积计算点到分隔符的距离,然后对其进行归一化以给出最大边距。还给出了计算任意点到分隔符的距离的公式,并讨论了在 SVM 中优化的目标。需要强调的是,存在具有最大边距的唯一线,因此,边距相等的任何两条线都不是最大边距线。

  • 00:15:00 在本节中,将讨论支持向量机 (SVM) 和感知器之间的区别。感知器找到一个线性分隔符,但此分隔符取决于用于初始化权重的起始值。感知器还使用简单的更新规则进行训练,并依靠标签翻转来测量线性分隔符和数据点之间的距离。相比之下,支持向量机使用二次优化问题来寻找最大边际线性分隔符,这对初始化的依赖性较小。 SVM 还引入了松弛的概念以允许进行软间隔分类并具有用于非线性分类的内核技巧。总体而言,与感知器相比,SVM 具有更高的分类精度。

  • 00:20:00 在本节中,讲师将标准感知器与支持向量机 (SVM) 进行对比。前者缺乏鲁棒性并且会很快过拟合,而后者使用独特的 max margin 线性分隔符并且不易过拟合。在所有数据点距离线性分隔符至少一个单位距离的约束下,SVM 通过凸二次优化来优化以最小化权重。虽然这种优化可能看起来很复杂,但实际上很容易通过许多可用的优化包进行计算。

  • 00:25:00 在本节中,演讲者介绍了支持向量机的一个更方便的优化问题,其中点与点之间的距离固定为至少为 1,并且最小化 W 的尺度。演讲者演示了这个问题等价于前面的优化问题。这种新公式允许双重表示,其中新特征空间中的计算可以根据可以用核函数替换的点积来完成,类似于高斯过程所做的。

  • 00:30:00 在本节中,演讲者解释了如何使用拉格朗日重写支持向量机的优化问题,从而产生无约束的等效问题。这个新目标包括每个违反约束的惩罚项,它取决于一个新变量 a,当发生违反时,该变量必须为正且大于零。通过设置此变量 a 以最大化拉格朗日量的最小值,新问题在数学上等同于具有约束的原始问题。这种技术有助于简化优化过程并提高效率。

  • 00:35:00 在本节中,讲师讨论了惩罚项和约束在支持向量机优化问题中的使用。他们解释说,限制点之间距离的约束可以用惩罚项代替,惩罚项通过选择系数进行优化。然而,这个优化问题导致了一个不容易解决的最大问题。为了解决这个问题,讲师描述了如何以封闭形式计算内部最小化问题,得出一个解决方案,其中 W 是新特征空间中数据点的线性组合。不同于零的系数,即支持向量,决定了 W 的值。

  • 00:40:00 在本节中,讲师解释了如何将拉格朗日量得到的解代回得到涉及核函数的表达式。这个核函数允许我们在高维空间中工作而不用担心维数,因为我们可以直接计算每对点之间的核函数。这导致了对偶问题优化,我们优化了一组不同的变量以获得系数。这些系数中的大部分将最终为零,从而使优化问题变得稀疏并降低计算复杂性。一旦我们有了系数,我们就可以使用它们对数据点进行分类,方法是取特征和系数的点积,正负结果对应不同的类别。

  • 00:45:00 在本节中,讲师在线性可分的情况下解释支持向量机 (SVM) 的概念。他们表明,二维空间中的线性分隔符可以用法向量和输入特征的点积表示。线性分隔符上的点对应于等于 0 的点积。然后他们解释了在对偶空间中工作的好处,这涉及用计算数据点对之间相似性的核函数替换权重。所得总和仅取决于支持向量的数量,并允许根据查询点与数据集中每个点之间的内核线性组合的正弦进行分类。

  • 00:50:00 在这一节中,讲师解释了SVM算法计算查询点与所有支持向量之间的相似度,以确定最相似的那些。然后,这些最相似的支持向量的类别将“投票”给查询点的预测类别。这类似于加权最近邻方法,其权重由核函数决定。然而,支持向量的数量不一定对每个类都相等,可能会根据空间的维数而变化。

  • 00:55:00 在本节中,讨论围绕支持向量的数量及其如何影响点的分类展开。尽管在一个类中有更多的支持向量,但支持向量的数量并不影响对该类中的点进行分类的倾向。这样做的原因是每个支持向量对和的贡献无论是正的还是负的,表明一个点是否与支持向量属于同一类。此外,众所周知,支持向量机具有很好的泛化能力,并且不太容易过度拟合,因为最大化边缘等同于最小化任何基础输入分布的最坏情况损失的上限。

  • 01:00:00 在讲座的这一部分,演讲者解释了支持向量机的概念以及它们在文本分类中的工作原理。支持向量机可以有效地减少最坏情况下的损失,并确保分类器对于可能对应于不同数据集的任何可能样本都是好的。该讲座提供了一个文本分类案例研究,其中分类器使用已分类的新闻文章档案进行训练。一种流行的方法是使用向量空间模型将每个文档转换为单词计数向量,其中忽略单词的顺序,并创建一个长度为字典长度的向量。这种方法有助于自动化文章分类并提高可扩展性。

  • 01:05:00 在讲座的这一部分,教授解释了如何将文档表示为高维向量,每个特征对应文档词典中的一个词。虽然尝试通过特征提取来降低这些向量的维数是很自然的,但这可能会导致信息丢失,因为大多数单词都具有一定程度的相关性。为了解决这个问题,研究人员使用具有双重表示和内核映射的支持向量机将数据映射到更高维的空间。这种方法可以很好地扩展维数,使其成为分析高维数据的有用工具。

  • 01:10:00 在本节中,演讲者讨论了使用支持向量机从数据集中检索文档。精确率和召回率分别用于估计检索到的相关文档的百分比和数据集中相关文档的百分比。目标是平衡精度和召回率,支持向量机被发现是实现此目的的最佳算法。他们能够保留所有特征并将它们映射到更高维度的空间,而不会损失准确性或牺牲可扩展性。更高维度空间中所需的支持向量数量可能会增加,但在该空间中工作不会产生额外成本。

  • 01:15:00 在本节中,我们将了解支持向量机 (SVM) 以及它们如何为我们的数据提供线性或非线性分离器。 SVM 使用一个独特的超平面来最大化良好泛化的余地,我们可以使用凸二次优化来确保全局最优。但是,有两个重要问题需要解决:我们可以进行多类分类吗?如果我们的数据不是线性可分的,我们该怎么办?下一组幻灯片将解决这些问题。
 

CS480/680 第十四讲:支持向量机(续)



CS480/680 第十四讲:支持向量机(续)

本节课的重点是在使用支持向量机 (SVM) 时通过引入松弛变量和考虑软间隔来处理非线性可分数据和重叠类。演讲者解释了松弛变量如何允许在不引入分类错误的情况下对边界内的点进行分类。在优化问题中添加了一个惩罚项来调节松弛变量的使用,由权重 C 控制,从而调整误差最小化和模型复杂性之间的权衡。演讲者还讨论了将 SVM 用于多类分类问题的不同方法,包括一对多、成对比较和连续排序,后者是多类 SVM 的实际方法。此外,引入了多类边缘的概念,它涉及线性分隔符周围的缓冲区,由每对类的权重向量的差异定义。

  • 00:00:00 在本节中,讲师讨论了在使用支持向量机 (SVM) 时如何处理非线性可分数据和重叠类。解决方案是引入松弛变量并考虑所谓的软边距,它放宽了所有点都应至少距离分隔符一个单位的假设。松弛变量允许间隔小于 1,这样即使在间隔内的点也可以分类,而不会引入分类错误。

  • 00:05:00 在本节中,引入了软边界的概念,作为一种通过引入松弛变量允许错误分类的点和边界内的点的方法。优化问题中还加入了惩罚项,以规范松弛变量的使用,确保松弛变量惩罚最小化。这是由权重 C 控制的,它还控制误差最小化和模型复杂性之间的权衡。松弛变量的总和通常是错误分类数量的上限。权重 C 可以看作是调整误差最小化和模型复杂度之间的权衡的正则化系数,当 C 趋于无穷大时,恢复原始的硬间隔分类器。

  • 00:10:00 在本节中,演讲者继续讨论支持向量机以及如何处理错误分类和异常值。软边距可以处理轻微的错误分类,但仍然对异常值敏感。支持向量将对应于具有相等性的主动约束,而如果距离已经大于 1,则具有不等式的约束将不活跃,这意味着所有松弛变量都将为零。演讲者还谈到了如何扩展支持向量机以处理多个类,过去曾考虑过三种方法,其中一种是“one against all”,其中每个支持向量机将区分一个类和所有其他类。

  • 00:15:00 在讲座的这一部分,演讲者解释了使用支持向量机对多类数据进行分类的不同方法。第一种方法,一对多,涉及为每个类与其余类训练支持向量机,但它可能导致分类冲突。第二种方法,成对比较,需要为每对类训练支持向量机,这在计算上可能很昂贵。第三种方法,连续排名,训练单个支持向量机返回一个连续值,以根据这些值对类别进行排名。演讲者使用示例说明了这些方法,并得出结论,由于计算成本,成对比较并不理想,将一对一作为最不受欢迎的连续排名作为使用多类支持向量机的实际方法。

  • 00:20:00 在本节中,讲师讨论了使用支持向量机解决多类分类问题的不同方法。他们解释了如何使用多个线性分隔符来区分不同的类会导致歧义点,并描述了一种替代方法,即连续排名。这种方法背后的想法是为每个类使用单独的权重向量,并将输入数据的点积的大小与每个类的权重向量进行比较,选择具有最大点积的类。这种方法概括了边际概念来比较不同类别的点积,并确保正确类别的点积至少比所有错误类别大一个。

  • 00:25:00 在讲座的这一部分,演讲者解释了支持向量机 (SVM) 中的多类边距概念。多类边界对应于在线性分隔符周围有一个缓冲区,它由每对类的权重向量的差异定义。优化问题与二进制 SVM 的问题相同,只是约束被替换了。对于重叠类和多类,可以引入松弛变量和惩罚项来处理具有软边距的多类分类。多类 SVM 现在是一种适用于多个类和重叠类的通用公式。