Philipp Hennig 正在介绍他的机器学习数值课程,旨在探索机器学习算法如何在盒子内发挥作用,以及如何调整或改变它们以改进学习机器。数值算法和机器学习算法方面的高技术知识受到研究人员和行业专业人士的高度追捧。该课程将包括理论和编码工作,作业按二进制系统评分。 Hennig 强调了数值算法在机器学习中的重要性,并邀请学生与九位不同的教师一起参加这个独特的教学实验。
00:00:00 在本节中,Philipp Hennig 介绍了理解数值算法在机器学习中的重要性。虽然机器学习算法将数据作为输入并生成预测世界或在世界中行动的模型,但实际的学习过程涉及数值计算。与经典 AI 算法不同,现代机器学习算法使用线性代数、模拟、集成和优化方法等数值算法作为这些计算的原语。 Philipp 将数值算法定义为估计数学量的方法,该数学量没有封闭形式的解决方案,并且可能会出错,这与始终有效的原子操作不同。由于数值算法是机器学习的核心,因此了解它们以确保它们正确工作非常重要。
00:25:00 在本节中,Philipp Hennig 讨论了微分方程在建模系统中的使用,特别是模拟中常用的 SIR 模型,以及将现实世界的动态(例如锁定)纳入这些模型的挑战。他建议使用神经网络使系数 beta 与时间相关,但指出由于代码中缺少导数,这样做很困难。不过,他强调了最近在 Jax 中开发的一种算法可以解决这个问题。
00:30:00 在本节中,Philipp Hennig 讨论了一种称为基于模拟的推理的算法,这是解决复杂问题的当前方法。该算法涉及一个嵌套的 for 循环,它多次计算函数 f 并返回梯度并执行梯度下降步骤。 Hennig 解释说,要创建比这种原始代码更灵活、更快速的算法,我们可以构建自己的方法,以程序化的方式在光子代码中构建数字列表并对其进行调整。此方法涉及马尔可夫链的主干,可以将运算符挂在其上,例如概率分布和信息运算符,以告知算法有关未知因素的信息。通过这样做,我们可以解决这些问题,而不用在外层循环中一遍又一遍地调用 for 循环,那样会很耗时。
The first lecture of the Master class on Numerics of Machine Learning at the University of Tübingen in the Winter Term of 2022/23. This class discusses both ...
00:10:00 在本节中,演讲者讨论了线性代数在机器学习中的重要性,并提供了示例来说明这种重要性。矩阵向量乘法、线性系统解和矩阵分解等线性代数运算是许多机器学习模型的基础。此外,他还指出,许多机器学习模型实际上是有噪声的,因为它们使用了旨在解决线性系统问题的矩阵的带噪声估计。最后,他强调对数行列式在高斯密度情况和 GP 回归中必不可少,以获得最大后验估计。
00:25:00 在本节中,演讲者讨论了如何有效地存储和评估高斯过程的核矩阵。如果数据点超过一定限度,由于内存问题,存储它们的简单方法不再可行。有可用的库可以编写非常高效的 CUDA 内核,并使用 GPU 在笔记本电脑上使用数十万个数据点计算高斯过程。演讲者还谈到了具有一般函数形式的矩阵,例如自动差异图,它们需要相同的时间和空间要求。最后,演讲者深入探讨了将贝叶斯回归应用于高斯过程的具体算法,其中高斯测度的核是未知函数的协方差。演讲者展示了函数的后验测量图以及观察到的数据,以及不确定性量化如何运作良好。然而,当计算逆时问题出现了,它的规模非常大,使得从 n 个数据点计算核语法矩阵的天真方法对于大 n 不可行。
00:35:00 在本节中,Marvin Pförtner 讨论了线性系统的解决方案。该解决方案需要 M 加一求解,其中 M 是我们要评估回归量的数据点数。在大多数情况下,该系统是对称且正定的,但由于系统通常很大,因此可能需要利用其他结构,而我们通常无法针对非常大的数据集解决此问题。一种非常重要的矩阵分解是 Lu 分解。用于求解下三角系统的算法是前向代换,它将矩阵分解为四个部分:右下角的标量,其上方的列为零,左侧的行向量和另一个称为 L minus li 的三角形部分减去它上面的一个,它也是下三角。
00:40:00 在本节中,Marvin Pförtner 讨论了如何求解系统矩阵为下三角矩阵且维数 n 减一的系统。通过拆分最后一行,可以使用简单的算法求解系统。然后使用递归方法解决任何给定维度的系统。 Pförtner 还解释了如何使用他所谓的 Lu 分解将矩阵拆分为下三角和上三角部分,这是一种使用分而治之技术的递归定义。此技术可用于求逆矩阵并降低线性系统的求解成本,其过程为 O(N^2) 而不是 O(N^3)。
00:50:00 在本节中,Marvin Pförtner 讨论了 UD 分解的计算时间并演示了如何实施它。他解释说,每个递归步骤的最大部分是外积和减法的计算,这导致对两倍 (n-1) 平方的求和。该算法使用一种称为高斯消去法的策略,可以高效地计算上三角矩阵。 Pförtner 展示了如何使用小矩阵执行示例计算,证明 L 的非平凡部分包含在对角线下方的三个条目中,上三角部分将包含 U 的非零部分。通过保留所有内容在内存中,Pförtner 提出了一种巧妙地将 L 和 U 存储在同一矩阵中的实现。
00:55:00 在本节中,演讲者解释了数值线性代数中 LU 分解的过程。他展示了如何逐步计算算法以及如何使用它来求解线性系统。一旦我们有了矩阵的 LU 分解,我们就可以应用它来有效地求解具有多个右侧的多个线性系统,一次前向和后向代换仅花费 2N 平方。置换矩阵的逆就是它的转置,计算成本低,使得在高斯过程回归中用相同的系统矩阵执行 K 求解成为可能。
01:00:00 在本节中,演讲者讨论了如何使用计算效率高的 LU 分解有效地求解具有相同矩阵的多个线性系统。此外,还提出了一种使用 LU 分解计算对数行列式的方法,该方法可以有效表示线性系统并使用它执行各种线性代数任务。演讲者强调了利用结构提高算法效率的重要性,并指出 Cholesky 分解是 LU 分解的一个特殊版本,它利用了核 gram 矩阵的对称和正定性质。
The second lecture of the Master class on Numerics of Machine Learning at the University of Tübingen in the Winter Term of 2022/23. This class discusses both...
Jonathan Wenger 在“Numerics of ML 3”视频中讨论了为大型数据集缩放高斯过程的技术。他探索求解线性系统和学习逆矩阵的迭代方法,主要目标是实现泛化、简单/可解释性、不确定性估计和速度。 Wenger 向内核矩阵引入了低秩近似,例如迭代 Cholesky 分解、部分 Cholesky 和共轭梯度法。他还讨论了在处理大型数据集时加速收敛和提高稳定性的预处理。最后,他建议使用正交矩阵 Z 重写矩阵的迹,这可能会导致缩放高斯过程的二次时间。
在讲座的第二部分,Jonathan Wenger 讨论了此视频中大型数据集的缩放高斯过程 (GP)。他提出了各种策略来提高 GP 回归的蒙特卡罗估计的收敛速度,包括使用线性系统求解的现有预条件子来估计核矩阵及其逆矩阵。他还通过变分逼近介绍了线性时间 GP 的概念,并使用归纳点法解决了不确定性量化问题。通过使用这些策略,GPU 可以扩展到具有多达一百万个数据点的数据集,从而更容易快速优化超参数。
01:10:00 在本节中,演讲者讨论了提高高斯过程回归的蒙特卡罗估计收敛速度的不同策略。通过继承预处理收敛速率,可以按指数或多项式更快地收敛到真值。选择通过矩阵向量乘法观察核矩阵的动作也会影响收敛速度。因此,为了开发高斯过程的快速数值算法,需要领域专业知识,这可以通过先决条件或动作的选择来提供,以快速收敛。此外,引入了通过变分逼近的线性时间 GP 的思想,这涉及将高维数据压缩到较小的训练数据集中,以更有效的方式对其进行总结。
01:15:00 在本节中,Wenger 讨论了高斯过程的使用以及如何有效地缩放它们。这个想法是总结训练数据以提供对后验的直接近似,它只需要 I 平方 n,其中 I 是诱导输入的数量,n 是训练数据的大小。然而,迭代方法需要超参数优化,这也需要考虑。在这种情况下可以使用诸如批量优化或 sdd 之类的随机方法,可以使用首选优化器对其进行快速优化。所有基本操作都是 I 的立方或 I 的平方乘以 n,除了评估内核矩阵,这是成本最高的操作。
The third lecture of the Master class on Numerics of Machine Learning at the University of Tübingen in the Winter Term of 2022/23. This class discusses both ...
在这段关于 ML 数值的视频中,Jonathan Wenger 讨论了计算感知高斯过程及其量化预测中的近似误差和不确定性的能力。他探讨了选择正确动作的重要性,以及共轭梯度如何显着降低不确定性并加快学习速度。 Wenger 还谈到使用基于诱导点的线性时间 GP 近似,但强调了此类近似产生的问题。最后,他讨论了更新关于代表性权重的信念以及使用概率学习算法来解决代表性权重中的错误。总的来说,该视频展示了计算感知高斯过程在通过考虑计算不确定性来提高预测准确性方面的有效性。
Jonathan Wenger 还在本视频中讨论了计算感知高斯过程及其复杂性。他解释说,只需要计算和存储核矩阵的上象限,算法的计算成本与这个象限的大小成正比。高斯过程可以用于任意大小的数据集,只要计算只针对特定的数据点,模糊了数据和计算之间的界限。 Wenger 认为,可以通过对预测数据进行调节来对 GP 进行建模以说明这种情况。他引入了一个新定理,允许使用近似模型对不确定性进行精确量化。最后,他预演了下周关于将 GP 模型扩展到物理定律部分支配正在学习的功能的情况的讲座。
00:30:00 在本节中,乔纳森·温格 (Jonathan Wenger) 讨论了一种算法,该算法通过对动作乘以残差的观察来更新关于计算感知高斯过程中代表性权重的信念。他解释说更新涉及仿射高斯推理,并指出更新过程中的关键要素。虽然该算法类似于 CG 和部分 Cholesky,但他指出,先验的选择仍然是一个需要解决的问题,因为它必须与真正的代表性权重所在的位置相关联才能获得良好的误差估计。 Wenger 提出 GP 先验和所做的假设与代表性权重相关,因为它们涉及核矩阵的逆,使它们在 GP 先验中很重要。
00:35:00 在本节中,Jonathan Wenger 讨论了如何在使用高斯过程 (GP) 进行任何观察之前了解生成的分布数据。假设 f 上的分布,Wenger 解释说,当使用零均值高斯先验时,标签根据零均值分布,并根据核矩阵加上独立噪声而变化,这是观察模型的一部分。 Wenger 然后讨论了使用概率学习算法寻找代表,该算法通过投射到动作来更新先验。最后,Wenger 解释了如何通过计算在数据点评估的 mu star 的分布来解决需要校准先验 K hat 逆的问题,这是 V star 的线性函数。
00:40:00 在本节中,Jonathan Wenger 解释了计算感知高斯过程以及如何考虑计算不确定性。他讨论了边缘化的概念,其中考虑了随机变量的多个选项,并计算了将所有可能的代表性权重估计考虑在内的后验均值预测。他解释了线性边缘化是如何工作的,以及它如何为协方差增加额外的不确定性。 Wenger 随后继续讨论将 GP 的不确定性解释为平均误差估计,以及如何将计算不确定性也视为误差估计。总的来说,本节解释了组合不确定性的计算,包括对真实函数的误差和代表性权重中的误差到一个单一的估计中。
00:45:00 在本节中,演讲者讨论了计算感知高斯过程,该过程结合了由于没有足够的观测数据而导致的错误和由于没有执行足够的计算来学习预测而导致的错误。演讲者通过 Ed Cholesky 和 CG 动作演示了此过程的两个动作示例。所提出的称为 GP 的方法计算后验并将代表性信念与初始化相结合,以通过跟踪不确定性获得更准确的预测。该方法简单有效,从减少的计算不确定性和更接近绘制图中的真实后验均值中可以看出。
The fourth lecture of the Master class on Numerics of Machine Learning at the University of Tübingen in the Winter Term of 2022/23. This class discusses both...
00:05:00 在本节中,演讲者讨论了状态空间模型,其中涉及在线估计任务,其目标是在新数据进入时快速更新复杂动力系统的估计。这些模型通常只能部分观察并涉及高度非线性的函数和相互作用。为此,需要一个算法框架来相应地更新信念。演讲者讨论了状态空间模型中使用的建模语言的图形表示,其中白色节点序列表示对系统状态建模的随机变量,红色框表示观察到的数据。动态系统的状态是一组决定系统演化的物理量,它们相互跟踪并相互作用。观察到的数据 y 取决于当前状态,并且通常仅适用于轨迹中的某些状态,而不适用于其他状态。
00:45:00 在本节中,演讲者解释了在线性高斯状态空间模型中计算平滑估计的过程。这涉及利用矩阵向量乘积运算并在下一个时间步边缘化,同时边缘化以从过滤后验计算后验。用于平滑估计的算法是通过 for 循环计算的,因为它仅在需要考虑数据集或固定部分时间步长时才有效。该过程涉及从时间序列的末尾开始,通过计算平滑增益并使用它来计算平滑矩,向后计算直到开始。演讲者还提到,过滤估计与时间序列末尾的平滑估计一致。平滑算法最终提供高斯过程后验作为平滑后验。
The fifth lecture of the Master class on Numerics of Machine Learning at the University of Tübingen in the Winter Term of 2022/23. This class discusses both ...
The sixth lecture of the Master class on Numerics of Machine Learning at the University of Tübingen in the Winter Term of 2022/23. This class discusses both ...
00:05:00 在本节中,讨论了概率数值 ODE 求解器的概念。这些求解器通过向量场的评估提供单个估计 X hat 来估计真实解,以将估计更新或扩展到未来时间点,误差取决于步长。然后讨论继续使用特殊状态估计作为解决数值 ODE 估计问题的工具。然后解释滤波分布、平滑后验和在给定当前信息的情况下估计未来状态的预测步骤,并提到扩展卡尔曼滤波器和扩展卡尔曼平滑器等算法作为计算这些量的简单方法。本节的结论是,数值 ODE 解可以表述为推理问题,而不是尝试计算实际的真实解,目标是找到满足初始条件和 ODE 的离散 t 的 x 的后验点集。
00:15:00 在本节中,Nathanael Bosch 解释了模拟 Q 时间集成 Winner 过程的真实解的随机过程。该过程具有高斯模型形式的转换,该模型使用 H 的矩阵 a 和 H 的协方差矩阵 Q,它们具有封闭形式的公式。访问过程中的条目是线性操作,可以方便地访问一阶和二阶导数。该过程是马尔可夫过程并且满足高斯过程的属性。博世还展示了该过程的不同样本图,这说明了为什么将其称为二次积分线性过程。
00:20:00 在本节中,演讲者讨论了 Q times Integrated Ornstein-Uhlenbeck prior 及其便利性,因为他们可以写下高斯滤波和平滑后所需的过渡密度。可能性和数据组合部分也很重要,因为它通知先验在顶部做所需的事情。演讲者展示了如何使用 ODE 的语言,并定义了一个测量函数或信息运算符,在有无限计算的完美世界中应该为零。他们还介绍了一个观察模型,并解释了为什么它有助于满足推理所需的事物。最后,无噪声似然模型是一种直接似然模型,这很方便,因为它考虑了卡尔曼滤波器更新。
00:25:00 在本节中,Nathanael Bosch 讨论了 Z 的生成模型,这是逻辑 ODE 的具体示例,以及它与推理过程的关系。生成模型允许模拟解、计算导数和生成后验,后者在 Z 周围坍塌。除了编码微分方程的似然模型之外,该生成模型还可以求解状态空间模型,提供与解决方案相关的 X 的估计值。推理允许在先验结果和期望的最终结果之间建立关系,并允许求解状态空间模型。
00:30:00 在本节中,Marvin Pförtner 讨论了温度和热能之间的关系,以及它们如何通过材料参数相互成比例。他解释说,热能的每一次变化都可以用进入系统的已知热量值或通过热传导从周围环境流入特定点的热量来解释。然后他将信息算子作为一个数学概念引入,可以用来表达任何信息,包括微分方程的信息。他进一步解释了如何使用高斯先验过程对未知函数 U 建模,以及如何使用线性观察下的高斯过程闭包来计算后验函数。但是,由于求解 PDE 需要无限组观察,因此在大多数情况下,这在计算上是不可能的,除非已知有关所求解问题的分析信息。
00:35:00 在本节中,演讲者讨论了使用高斯过程 (GP) 求解偏微分方程 (PDE),这类似于常微分方程 (ODE) 中使用的方法。 GP 被视为函数空间上的概率度量,线性算子将该 GP 的样本路径映射到 RN 上。发现该过程的先验预测为正态分布,均值由 GP 均值函数的图像通过线性算子给出,协方差矩阵与有限维情况下的协方差矩阵非常相似。这个事件的后验事实证明实际上具有与它相似的结构。演讲者指出其中涉及很多理论细节,由于使用 GP 求解 PDE 涉及无穷大,因此有必要谨慎行事。
00:50:00 在本节中,演讲者讨论了偏微分方程的更现实的边界条件。他指出,热量在 CPU 的整个表面上均匀提取,并且可以将此信息建模为 Neumann 边界条件,其中设置边界点的一阶导数而不是边界点的值。通过这样做,我们可以为模型增加不确定性,并使用高斯分布对导数进行建模。附加信息运算符用于描述此边界条件。演讲者进一步解释了系统的绝对规模是如何通过使用 CPU 内的温度计来确定的,以及如何通过使用另一个高斯过程对先验信念建模来获得函数的不确定估计。
00:55:00 在本节中,Marvin Pförtner 讨论了如何借助高斯过程和信息运算符将有关系统行为的先验知识集成到模型中。他提到,必须为可积为零的模型选择右侧函数,以避免系统不断升温。然后,Pförtner 继续讨论确保 GP 在其所有样本中都有区域 1 的挑战,以及如何通过添加额外的约束来解决这些挑战,包括边界效应,这考虑了通过边界离开的热量。最后,Pförtner 得出结论,这种 GP 方法与信息算子的概念相结合,使我们能够结合有关系统行为的先验知识,以线性 PDE 的形式注入机械知识,并处理边界条件和右侧。
01:05:00 在本节中,演讲者解释了如何使用高斯过程 (GP) 求解线性偏微分方程 (PDE),以及如何实现函数估计的回归。他们强调了在工作之前选择正确函数的重要性,以及不确定性量化的好处。演讲者还指出了失败案例,例如当 GP 的样本路径不可微时,以及需要验证重要条件以使一切变得严格。本节以演讲者小组即将出版的出版物的预告片作为结尾,该出版物将深入研究这些定理的正式细节。
01:10:00 在本节中,演讲者讨论了如何定义高斯过程 (GP) 并将其用于对未知函数建模。 GP 是实值随机变量的集合,一个代表其域中的每个点。它们用于表示函数,但我们只知道 GP 的评估的有限组合。为了得到一个GP的采样路径,我们需要通过固定一个Omega并通过所有函数对其进行变换来不断采样一个函数。我们确保样本路径具有足够的可区分性以确保它们被定义。此外,为了计算线性算子 L 下 GP 的图像 LF,我们固定一个 Omega 并将 L 应用于相应的函数。
01:15:00 在本节中,演讲者解释了如何通过线性算子映射样本路径以创建称为 GP 的无限维对象,然后将其转换为需要可测量的随机变量。他们注意到,通过选择合适的内核,GPS 的样本路径被制成一个再生核 Hilbert 空间,然而,GP 实际内核的再生核 Hibbert 空间并不是样本来自的空间,而是一个更大的空间需要选择包含这些样本的样本。演讲者接着讨论了 Matern 核,它在实践中很有用,可以控制 GP 的可微性,并提供了计算 Matern 核参数 P 的公式,这有助于推广该过程。
01:20:00 在本节中,演讲者解释了如何通过在维度上取一维 Matern 内核的乘积来为偏微分方程 (PDE) 构造 d 维内核,尤其是在导数的阶数混合的情况下。这有助于适应用户试图求解的具体方程式。此外,GPS 提供了一个框架,可以使用仿射信息运算符将各种信息源组合成一个单一的回归模型。演讲者强调了在模型构建中在数学上小心谨慎的重要性,特别是在为特定方程构建先验时。
The eigth lecture of the Master class on Numerics of Machine Learning at the University of Tübingen in the Winter Term of 2022/23. This class discusses both ...
00:15:00 在本节中,Philipp Hennig 解决了围绕蒙特卡罗问题维度的争论。尽管 f 在 p 下存在方差,这可能与问题的维数有关,但争论点是它不依赖于维数。然而,在某些结构化问题中,方差可以作为维数的函数以指数方式快速爆炸。然而,蒙特卡洛抽样最有趣的应用对问题的维数不敏感,允许计算高维问题。 Hennig 还讨论了使用蒙特卡洛采样计算 Pi 的经典示例,其中它以样本数的平方根倒数给定的速率收敛于真值。
00:40:00 在本节中,演讲者讨论了蒙特卡罗方法以及如何评估它们。他解释说,要从分布的一端移动到另一端,必须使用与长尺度和小尺度之比的平方成正比的大量步长,从而导致收敛率仍然是平方根的 o t 但前面有一个巨大的倍数。他指出,蒙特卡洛的一个挑战是,如果您只是查看这些蓝点的统计数据,而不知道分布的形状是什么,也没有红点作为参考,那么您将如何注意到这一点并不十分明显是这样的。最后,他谈到了哈密顿蒙特卡罗,他声称这是马尔可夫链蒙特卡罗的“原子”,是用于从 x 的概率分布 P 中得出的常用算法。
00:45:00 在本节中,Philipp Hennig 解释了哈密顿蒙特卡罗 (HMC) 的概念,这是一种用于从概率分布中抽取样本的方法。在 HMC 中,变量的数量增加了一倍,新变量代表现有变量的动量。然后根据定义常微分方程的函数演化动量变量,其中 H 代表能量,K 代表动能。 X 的时间导数由 H 对 P 的偏导数给出,P 的时间导数由减去 H 对 X 的偏导数给出。如果算法设法从联合分布中抽取样本X 和 P,它从 X 上的分布中略微得出。
01:10:00 在本节中,Philipp Hennig 通过不同的数字序列讨论随机性的概念。他争辩说,一些序列,例如由骰子产生的序列,在文化上被认为是随机的,即使它们并不是真正随机的。另一方面,像 pi 这样的无理数是非随机的,但也缺乏结构。此外,Hennig 解释了种子如何改变随机数生成器生成的序列的随机性。最后,他讨论了产生随机数的物理机器如何接受随机性测试,但最终未能通过 Die Hard 随机性测试。
The ninth lecture of the Master class on Numerics of Machine Learning at the University of Tübingen in the Winter Term of 2022/23. This class discusses both ...
00:00:00 在本节中,Philipp Hennig 讨论了机器学习中集成的计算问题,重点是贝叶斯积分作为一种有效方法。他描述了一个实值函数 f of x,它是两个函数的乘积,X 减去正弦的平方 3x,以及 X 减去 x 的平方,并且可以通过写下一组字符来唯一标识。 Hennig 解释说,虽然我们对这个函数了如指掌,但很难直接回答关于它的每一个问题,比如负三到正三的定积分在这个函数上的值,这在满是积分的书上是找不到的,或者新的 C 库。
00:10:00 在 Philipp Hennig 演讲的这一部分,他讨论了贝叶斯求积作为一种使用概率机器学习来估计函数积分的方法。他将这种方法与蒙特卡洛方法进行了比较,并解释说高斯过程用作函数的先验。通过在特定的 x 值下评估函数,我们可以估计潜在变量,即函数的积分。 Hennig 还展示了这种方法如何优于经典求积法则。
00:30:00 在本节中,演讲者介绍了用于贝叶斯求积的卡尔曼滤波算法来评估函数的积分。该算法涉及定义矩阵 A 和 Q 来表示线性时不变系统的确定性和随机性部分,以及 H 和 R 来表示观测模型。后验均值是核函数的加权和,卡尔曼滤波器更新积分的估计,积分的不确定性随着步长的立方增加而增加。该算法以线性时间运行,后验均值是对函数值进行插值的分段线性函数。积分的估计是每个块中平均值的总和。
00:50:00 在本节中,Philipp Hennig 讨论了方差估计及其与贝叶斯积分的关系。他解释说,误差估计是标准偏差,即预期平方误差的平方根。使用恒定的步长使总和易于计算,因为总和中没有“i”。该定理指出此梯形法则的收敛率为 O 的 1 超过 N 的平方。然而,数学中有隐藏的假设。从 Wiener 过程中提取的样本路径具有极其粗糙的行为,因为它们几乎处处不可微,使得先验假设无效。
01:00:00 在本节中,Philipp Hennig 讨论了如何在给定一些数据的情况下估计协方差矩阵中未知常数的尺度,并介绍了共轭先验的概念。他解释说,对于指数族概率分布,总有一个共轭先验,例如伽马先验,可用于估计高斯分布的方差。 Hennig 讲述了 William C Lee Gossett 的故事,他在为 Guinness 担任酿酒师时想出了这个方法,并且不得不估计啤酒桶中样品的分布。该方法涉及将先验和似然相乘并对结果进行归一化以获得与伽玛分布相同的代数形式,并使用基于观察值或函数值的新参数。
01:05:00 在本节中,Philipp Hennig 解释了如何估计参数的后验浓度和学生 T 分布。该方法称为贝叶斯正交,其中规模开始时很宽,随着收集到的观测值越来越多而变得越来越集中。结果显示在图中,其中最初分布随着观察值的增加而收缩。 Hennig 指出,关于这个平滑函数的先前假设对于这个问题来说过于保守,并且有很多更智能的积分算法,例如具有用勒让德多项式扩展的特征集的高斯求积,效果很好。
The tenth lecture of the Master class on Numerics of Machine Learning at the University of Tübingen in the Winter Term of 2022/23. This class discusses both ...
图宾根大学 2022/23 冬季学期的机器学习数值。第 1 讲 - 简介 - Philipp Hennig
ML 1 的数值 -- 介绍 -- Philipp Hennig
在此视频中,Philipp Hennig 讨论了理解数值算法在机器学习中的重要性,并介绍了该术语的课程内容。第一个涵盖的数值算法是线性代数,在高斯过程回归中的应用。 Hennig 还讨论了模拟、微分方程、集成和优化在机器学习中的作用。他介绍了数值算法的新发展,例如算法脊柱、可观测值和概率数值算法。在整个视频中,Hennig 强调了更新机器学习中使用的经典算法以解决复杂问题的重要性,并强调了编写代码在这门计算机科学课程中的作用。
Philipp Hennig 正在介绍他的机器学习数值课程,旨在探索机器学习算法如何在盒子内发挥作用,以及如何调整或改变它们以改进学习机器。数值算法和机器学习算法方面的高技术知识受到研究人员和行业专业人士的高度追捧。该课程将包括理论和编码工作,作业按二进制系统评分。 Hennig 强调了数值算法在机器学习中的重要性,并邀请学生与九位不同的教师一起参加这个独特的教学实验。
第 2 讲 -- 数值线性代数 -- Marvin Pförtner
ML 2 的数值 -- 数值线性代数 -- Marvin Pförtner
数值线性代数是机器学习、高斯过程和其他非参数回归方法的基础。讲座涵盖了数值线性代数的各个方面,包括理解矩阵结构对于更有效乘法的重要性、通过解决超参数选择问题和计算核矩阵优化机器学习算法,以及使用LU 分解等。该讲座还强调了正确实现算法的重要性,因为用于数学运算的算法对性能、稳定性和内存消耗有重大影响。
在视频的第二部分,Marvin Pförtner 讨论了数值线性代数在机器学习算法中的重要性。他涵盖了各种主题,包括 LU 分解、Cholesky 分解、矩阵求逆引理和高斯过程回归。 Pförtner 强调了利用结构来提高算法效率的重要性,并强调了数值稳定性在求解高斯过程回归中的大型方程组时的重要性。他还讨论了处理大型数据集的主动学习和低秩近似等技术,以及内核矩阵的潜在内存限制。总体而言,该视频展示了数值线性代数在机器学习的许多方面发挥的关键作用。
第 3 讲 -- 缩放高斯过程 -- Jonathan Wenger
ML 3 的数值——缩放高斯过程——Jonathan Wenger
Jonathan Wenger 在“Numerics of ML 3”视频中讨论了为大型数据集缩放高斯过程的技术。他探索求解线性系统和学习逆矩阵的迭代方法,主要目标是实现泛化、简单/可解释性、不确定性估计和速度。 Wenger 向内核矩阵引入了低秩近似,例如迭代 Cholesky 分解、部分 Cholesky 和共轭梯度法。他还讨论了在处理大型数据集时加速收敛和提高稳定性的预处理。最后,他建议使用正交矩阵 Z 重写矩阵的迹,这可能会导致缩放高斯过程的二次时间。
在讲座的第二部分,Jonathan Wenger 讨论了此视频中大型数据集的缩放高斯过程 (GP)。他提出了各种策略来提高 GP 回归的蒙特卡罗估计的收敛速度,包括使用线性系统求解的现有预条件子来估计核矩阵及其逆矩阵。他还通过变分逼近介绍了线性时间 GP 的概念,并使用归纳点法解决了不确定性量化问题。通过使用这些策略,GPU 可以扩展到具有多达一百万个数据点的数据集,从而更容易快速优化超参数。
第 4 讲 -- 计算感知高斯过程 -- Jonathan Wenger
ML 4 的数值——计算感知高斯过程——Jonathan Wenger
在这段关于 ML 数值的视频中,Jonathan Wenger 讨论了计算感知高斯过程及其量化预测中的近似误差和不确定性的能力。他探讨了选择正确动作的重要性,以及共轭梯度如何显着降低不确定性并加快学习速度。 Wenger 还谈到使用基于诱导点的线性时间 GP 近似,但强调了此类近似产生的问题。最后,他讨论了更新关于代表性权重的信念以及使用概率学习算法来解决代表性权重中的错误。总的来说,该视频展示了计算感知高斯过程在通过考虑计算不确定性来提高预测准确性方面的有效性。
Jonathan Wenger 还在本视频中讨论了计算感知高斯过程及其复杂性。他解释说,只需要计算和存储核矩阵的上象限,算法的计算成本与这个象限的大小成正比。高斯过程可以用于任意大小的数据集,只要计算只针对特定的数据点,模糊了数据和计算之间的界限。 Wenger 认为,可以通过对预测数据进行调节来对 GP 进行建模以说明这种情况。他引入了一个新定理,允许使用近似模型对不确定性进行精确量化。最后,他预演了下周关于将 GP 模型扩展到物理定律部分支配正在学习的功能的情况的讲座。
第 5 讲 -- 状态空间模型 -- Jonathan Schmidt
ML 5 的数值 -- 状态空间模型 -- Jonathan Schmidt
在本节中,Jonathan Schmidt 介绍了状态空间模型及其在机器学习中的应用。他解释说,状态空间模型用于模拟复杂的动力系统,这些系统只能部分观察到并且涉及高度非线性的相互作用。本讲座涵盖状态空间模型的图形表示以及马尔可夫属性和条件独立测量的重要性质。 Schmidt 提出了用于计算各种分布(例如预测、过滤和平滑分布)的不同算法,这些分布用于使用在不同时间点获得的测量值来估计系统状态。本讲座还涵盖了卡尔曼滤波算法在 Julia 中的实现以及线性高斯状态空间模型中平滑估计的计算。最后,施密特讨论了扩展卡尔曼滤波器,它允许在状态空间模型中估计非线性动力学和测量。
Jonathan Schmidt 还讨论了状态空间模型及其使用代码的实现,特别关注非线性动力学和扩展卡尔曼滤波器。他还演示了平滑算法和替代贝叶斯过滤方法,强调了它们的优缺点。讲座最后提出了进一步学习的建议,并期待下一节课,Nathaniel 将在下一节课中介绍用于模拟动力系统的概率数值。
第 6 讲 -- 求解常微分方程 -- Nathanael Bosch
ML 6 的数值 -- 求解常微分方程 -- Nathanael Bosch
Nathanael Bosch 介绍了机器学习中 ODE 的概念,它描述了函数在给定输入和随时间演变的模型系统的情况下的导数。他讨论了求解 ODE 的挑战并介绍了数值方法,例如前向欧拉和后向欧拉,以及它们的稳定性。 Bosch 探索了不同的数值方法及其在准确性和复杂性方面的权衡,例如显式中点方法和经典的四阶方法。他强调了局部误差、顺序和理解稳定性的重要性,以避免在使用库求解 ODE 时出现问题。
视频的第二部分讨论了使用机器学习技术估计常微分方程 (ODE) 的矢量场和初始值的问题。演讲者解释了写下 ODE 状态的生成模型和观察模型以解决推理问题的重要性。通过最小化产生参数估计的负对数似然来最大化似然函数。演讲者使用 SIR-D 模型演示了这种方法,并讨论了使用神经网络来改进接触率的估计。还强调了 ODE 在机器学习研究中的重要性及其在解决现实问题中的作用。
第 7 讲——概率数值 ODE 求解器——Nathanael Bosch
ML 7 的数值 -- 概率数值 ODE 求解器 -- Nathanael Bosch
在本视频中,Nathanael Bosch 介绍了概率数值 ODE 求解器的概念,它结合了状态估计和数值 ODE 求解器以提供状态分布或 ODE 解。博世解释了如何使用 Q 次积分维纳过程来模拟真正的解决方案,以及该过程如何允许量化和传播系统中的不确定性。然后,他演示了如何使用扩展卡尔曼滤波器来求解 ODE,以及步长如何影响误差估计。视频最后讨论了不确定性校准和使用扩展卡尔曼滤波器估计非线性状态空间模型中的参数。
在讲座的第二部分,Nathanael Bosch 谈到了使用概率方法求解 ODE 的好处,包括获得有意义的不确定性估计以及包括初始值等其他模型特征的灵活性。他通过谐振子和微分代数方程等示例演示了这种方法。 Bosch 还展示了如何包含额外信息和使用概率技术可以产生更有意义的结果,使用未能使用传统标量方法准确表示数据的流行病模型示例。他使用扩展卡尔曼滤波器和平滑器通过状态估计来求解 ODE,将估计视为概率问题,并强调了贝叶斯在决策中的重要性。
第 8 讲 -- 偏微分方程 -- Marvin Pförtner
ML 8 的数值 -- 偏微分方程 -- Marvin Pförtner
Marvin Pförtner 讨论了偏微分方程 (PDE) 及其在为各种现实世界系统建模时的重要性。他解释了 PDE 如何表示具有未知函数和线性微分算子的系统机制,但需要求解通常未知的参数。高斯过程推理可用于分析 PDE 模型并将机械知识注入统计模型。 Pförtner 通过将模型限制为二维热分布并提出对模型所做的假设来检查计算机中央处理单元中的热分布。本讲座还包括使用高斯过程来求解偏微分方程,以及为不确定性建模添加现实边界条件。总的来说,GP 方法与信息算子的概念相结合,使我们能够结合有关系统行为的先验知识,以线性 PDE 的形式注入机械知识,并处理边界条件和右侧。
在本视频的第二部分中,Marvin Pförtner 讨论了使用高斯过程通过估计函数的概率测度而不是点估计来求解偏微分方程 (PDE)。他解释了不确定性量化的好处,并指出这种方法更诚实,因为它承认 PDE 右侧函数估计中的不确定性。 Pförtner 还解释了 Matern 内核,它在实践中很有用,可以控制 GP 的可微性,并提供了计算 Matern 内核参数 P 的公式。他进一步解释了如何通过在维度上取一维 Matern 内核的乘积来为 PDE 构建 d 维内核,以及在模型构建中在数学上谨慎的重要性。
第 9 讲 -- 蒙特卡洛 -- Philipp Hennig
ML 9 的数值分析 -- 蒙特卡洛 -- Philipp Hennig
在这段关于蒙特卡罗主题的视频中,Philipp Hennig 解释了在使用贝叶斯定理进行贝叶斯推理时,集成如何成为机器学习中的一个基本问题。他介绍了蒙特卡洛算法作为进行积分的一种具体方法,并简要介绍了该方法的历史。他还讨论了蒙特卡洛算法的特性,例如无偏估计和随着样本数量的增加方差减少。此外,Hennig 还深入研究了 Metropolis-Hastings 算法、马尔可夫链蒙特卡罗和哈密顿蒙特卡罗,概述了每种算法的属性以及它们在从概率分布中抽样时的工作原理。最后,Hennig 指出理解为什么使用算法而不是盲目应用它们对于获得最佳和高效结果的重要性。
在视频的第二部分,Philipp Hennig 讨论了用于高维分布的蒙特卡罗方法,特别是 No U-turn Sampler (NUTS) 算法,它克服了 U-turn 想法打破细节平衡的问题。 Hennig 强调,虽然这些算法复杂且难以实施,但理解它们对于有效使用它们至关重要。他还质疑使用蒙特卡洛方法计算预期值的下意识方法,并建议可能有其他方法可以在没有随机性的情况下进行近似。 Hennig 讨论了随机性的概念和局限性、蒙特卡洛方法收敛速度的不足,并提出需要考虑其他机器学习方法而不是依赖确定性随机性。
第 10 讲 -- 贝叶斯求积法 -- Philipp Hennig
ML 10 的数值 -- 贝叶斯积分 -- Philipp Hennig
在此视频中,Philipp Hennig 讨论了贝叶斯积分作为机器学习中集成计算问题的有效方法。他解释了如何可以唯一地识别实值函数,但很难直接回答问题。 Bayesian Quadrature 是一种推理方法,它通过对未知对象和可以计算的量设置先验,将求积分的问题视为推理问题,然后进行贝叶斯推理。 Hennig 还将这种方法与蒙特卡洛拒绝和重要性采样进行了比较,展示了贝叶斯求积法如何优于经典求积法则。本讲座涵盖贝叶斯积分的卡尔曼滤波算法及其与经典积分算法的联系,并讨论了在数值方法中使用不确定性估计。最后,Hennig 探讨了数值计算的社会结构如何影响算法设计,讨论了针对特定问题设计计算方法的方法,以及概率机器学习如何实时估计误差。
在视频的第二部分,Philipp Hennig 讨论了贝叶斯求积法,其中涉及将先验分布放在我们关心的数量上,例如积分和算法值,以贝叶斯方式计算某些东西。该方法在估计周围分配后验估计和不确定性估计,这可以用经典方法识别。 Hennig 解释了该算法如何适应观察到的函数,并使用主动学习程序来确定下一步要评估的位置。该算法可以在更高的维度上工作,并且具有一些非常智能的收敛速度。他还讨论了经典算法和正交规则的局限性,并提出了通过自适应推理的解决方法。