机器学习和神经网络 - 页 56 1...495051525354555657585960616263...74 新评论 MetaQuotes 2023.06.14 10:13 #551 第 8.1 讲——无 Hessian 优化的简要概述 第 8.1 讲——无 Hessian 优化的简要概述 [机器学习的神经网络] Hessian-free 优化器是一种用于有效训练递归神经网络的复杂算法。虽然我不会深入研究所有细节,但我将提供对其工作原理的一般理解。 训练神经网络时,目标是最小化误差。优化器确定移动的方向和距离,以最大程度地减少错误。减少取决于梯度曲率比,假设二次误差曲面向上凹。牛顿法通过将椭圆误差曲面转换为圆形误差曲面来解决最速下降的局限性。它通过将梯度乘以曲率矩阵(也称为 Hessian)的逆矩阵来实现。然而,由于其大小,反转 Hessian 矩阵对于大型神经网络是不可行的。为了克服这个问题,Hessian-free 和 L-BFGS 等近似方法使用低阶矩阵来近似曲率。 Hessian-free 逼近曲率矩阵并使用共轭梯度,这是一种一次最小化一个方向上的误差的方法。它通过选择不改变先前方向梯度的共轭方向来避免破坏先前的最小化。 共轭梯度在 n 步或更少的步骤中有效地找到 n 维二次曲面的全局最小值。它通过在比 n 少得多的步骤中将错误减少到接近最小值来实现这一点。它可以直接应用于非二次误差表面,例如多层神经网络中的那些表面,并且适用于大型小批量。 Hessian-free 优化器结合二次逼近和共轭梯度,迭代改进对真实误差曲面的逼近,并向最小值靠拢。 无 Hessian 优化器首先对真实误差曲面进行初始二次近似。然后它应用共轭梯度来最小化这个二次近似的误差。通过这样做,它接近这个近似值的最小值点。之后,优化器对曲率矩阵进行新的近似并重复该过程。它继续迭代,改进近似值并使用共轭梯度最小化误差。这个迭代过程帮助优化器逐渐接近误差面的真实最小值。 在递归神经网络中,重要的是对隐藏活动的大变化添加惩罚。这可以防止在整个序列中传播的早期权重变化引起的过度影响。通过惩罚隐藏活动的变化,优化器可确保稳定性并防止出现不良结果。 无 Hessian 优化器结合了二次逼近、共轭梯度最小化和对隐藏活动变化的惩罚,以有效地训练递归神经网络。它通过迭代改进近似值和最小化误差来实现高效和准确的优化。 MetaQuotes 2023.06.14 10:14 #552 第 8.2 讲——建模字符串 第 8.2 讲——字符串建模 [机器学习的神经网络] 我们现在将无 Hessian 优化应用于从维基百科建模字符串的任务。通常,在建模语言时,人们会使用单词串。然而,由于网络是由字符串组成的,因此对字符级别的信息进行建模可以提供一种更直接的方法。 字符串建模提出了独特的挑战,例如处理词素、将单词分解为有意义的单元以及处理具有凝集属性的语言。通过专注于字符级建模,我们避免了与将文本预处理为单词相关的复杂性,并且可以直接捕获字符级的模式和信息。为此,我们使用具有乘法连接的循环神经网络 (RNN)。 RNN 由隐藏状态组成,在本例中有 1500 个隐藏单元。隐藏状态的动态涉及考虑当前字符和先前的隐藏状态来计算新的隐藏状态。随后,RNN 尝试使用 softmax 层预测下一个字符,为每个可能的字符分配概率。 我们没有使用传统的 RNN 结构,而是采用了一种不同的方法来产生更好的结果。我们将所有可能的字符串组织成树状结构,每个字符都会影响隐藏状态转换。为了表示这棵树,我们使用隐藏状态向量来捕获每个节点的信息。这使我们能够在相似节点之间有效地共享信息,从而提高整体模型性能。为了有效地实现字符特定的转换,我们引入了使用因子的乘法连接。每个因子根据两个输入组计算加权和,并使用结果来缩放传出权重。通过结合字符特定因素,我们可以确定基于当前字符驱动隐藏状态演化的转换矩阵。 这种方法使我们能够在有效利用参数的同时捕获字符级语言建模的复杂性。我们没有为每个角色维护单独的权重矩阵,而是利用角色之间的相似性来共享参数。这种参数共享有助于防止过度拟合并减少计算负担。 我们使用 Hessian-free 优化来对来自维基百科的字符串进行建模。通过利用乘法连接和字符特定因子,我们可以有效地捕获基于当前字符的隐藏状态之间的转换,从而提高建模性能。 MetaQuotes 2023.06.14 10:14 #553 第 8.4 讲——回声状态网络 第 8.4 讲 — 回声状态网络 [机器学习的神经网络] 回声状态网络是一种简化循环神经网络 (RNN) 学习过程的巧妙方法。他们使用耦合振荡器库初始化 RNN 中的连接,将输入转换为振荡器状态。然后可以根据这些状态预测输出,唯一需要学习的是如何将输出耦合到振荡器。这消除了学习隐藏到隐藏连接或输入到隐藏连接的需要。 为了提高 Echo 状态网络在复杂任务上的性能,需要一个大的隐藏状态。将 Echo 状态网络的精心设计的初始化与时间反向传播与动量相结合可以进一步增强它们的能力。另一个最近训练递归神经网络的想法是随机修复隐藏到隐藏的连接,并专注于训练输出连接。这种方法类似于前馈神经网络中随机特征检测器的概念,其中只学习最后一层,简化了学习过程。 Echo 状态网络的成功依赖于正确设置随机连接以避免诸如消亡或爆炸等问题。对应于隐藏到隐藏权重矩阵的最大特征值的谱半径需要设置为近似1,以确保活动向量的长度保持稳定。稀疏连接也很重要,其中大部分权重为零,允许信息保留在网络的特定部分。应仔细选择输入到隐藏连接的比例,以在不擦除重要信息的情况下驱动振荡器的状态。 Echo 状态网络中的学习过程很快,可以对连接的规模和稀疏性进行实验以优化性能。显示了回声状态网络的示例,其中输入序列指定输出的正弦波频率。网络通过使用隐藏单元的状态拟合线性模型来预测正确的输出,从而学习生成正弦波。中间的动态储层捕获由输入信号驱动的复杂动态。 回声状态网络有几个优点,包括由于拟合线性模型的简单性导致的快速训练、隐藏到隐藏权重的合理初始化的重要性,以及它们有效地模拟一维时间序列的能力。然而,与传统的 RNN 相比,它们可能难以对高维数据进行建模并且需要更多的隐藏单元。 Ilya Sutskever 探索了使用 Echo 状态网络技术初始化递归神经网络,然后使用时间反向传播对其进行训练。这种组合被证明是训练递归神经网络的有效方法,从而提高了性能。 Ilya Sutskever 将 Echo 状态网络的初始化技术与时间反向传播 (BPTT) 相结合的方法在训练递归神经网络 (RNN) 方面取得了可喜的成果。通过使用 Echo 状态网络初始化,然后将 BPTT 与 RMSprop 和动量等技术一起应用,Sutskever 发现这种方法在训练 RNN 时非常有效。 Echo 状态网络初始化的使用为 RNN 提供了一个良好的起点,使其即使仅通过训练隐藏到输出的连接也能很好地学习。然而,Sutskever 的实验表明,还可以通过学习隐藏到隐藏的权重来进一步提高 RNN 的性能。通过结合 Echo 状态网络和传统 RNN 的优势,这种混合方法充分利用了这两种方法的优势。回声状态网络初始化提供了坚实的基础,而 BPTT 可以微调和优化 RNN 的性能。这种方法的成功证明了正确初始化在训练 RNN 中的重要性。 通过从捕获问题域动态的初始化开始,后续训练可以更加高效和有效。此外,使用带动量的 RMSprop 等优化技术可进一步增强学习过程并有助于取得更好的结果。 回声状态网络初始化和 BPTT 与优化技术的结合为训练 RNN 提供了一种强大的方法。它利用两种方法的优势来提高学习效率、模型性能和预测准确性。 MetaQuotes 2023.06.14 10:15 #554 第 9.1 讲——提高泛化能力的方法概述 第 9.1 讲——提高泛化能力的方法概述 [机器学习的神经网络] 在本视频中,讨论的主题是通过减少神经网络中的过度拟合来提高泛化能力。当网络容量相对于训练数据量而言过多时,就会发生过度拟合。该视频解释了用于控制网络容量和确定容量控制的适当元参数的各种方法。 过度拟合的出现是因为训练数据不仅包含有关输入输出映射中真实模式的信息,而且还包括特定于训练集的抽样误差和偶然规律性。在拟合模型时,它无法区分这些类型的规律性,如果模型过于灵活并且拟合采样误差,则导致泛化能力差。 防止过度拟合的一种直接方法是获取更多数据。增加数据量可以通过更好地表示真实规律来减轻过度拟合。另一种方法是明智地限制模型的容量,使其能够捕获真实的规律性,同时避免拟合由抽样误差引起的虚假规律性。这可能具有挑战性,但该视频讨论了有效调节容量的各种技术。 该视频还提到了集成方法的使用,例如对不同模型进行平均。通过在不同的数据子集上训练模型或找到表现良好的不同权重集,与单个模型相比,平均它们的预测可以提高整体性能。此外,贝叶斯方法涉及使用单个神经网络架构,但找到多组可以很好地预测输出的权重,然后对它们对测试数据的预测进行平均。 可以通过不同的方式控制模型的容量,例如调整架构(例如,限制隐藏层的数量和每层的单元数)、惩罚权重、向权重或活动添加噪声,或者使用这些方法的组合。 在设置容量控制的元参数时,需要避免将结果偏向特定的测试集。该视频提出了一种更好的方法:将数据分为训练、验证和测试子集。验证数据用于根据模型的性能确定适当的元参数,而测试数据则提供对网络有效性的无偏估计。只使用一次测试数据以避免对其过度拟合至关重要。 该视频还提到了 n 折交叉验证,一种将数据分为 n 个子集的技术,模型在这些子集的不同组合上进行训练和验证,以获得最佳元参数的多个估计。 最后,该视频介绍了一种称为提前停止的易于使用的方法。它涉及从小权重开始,并在模型在验证集上的性能开始恶化时停止训练过程。这种方法控制容量,因为权重小的模型容量有限,表现类似于线性网络。在正确的点停止训练可以优化拟合真实规律和拟合由训练集引起的虚假规律之间的权衡。 总的来说,该视频重点介绍了控制容量和防止神经网络过度拟合的各种方法。这些方法涉及获取更多数据、明智地调节容量、使用集成方法、通过验证设置适当的元参数以及采用提前停止等技术。 MetaQuotes 2023.06.14 10:15 #555 第 9.2 讲——限制权重的大小 第 9.2 讲——限制权重的大小[机器学习的神经网络] 在本视频中,我将讨论如何通过限制网络权重的大小来控制网络容量。常见的方法是应用限制权重变得过大的惩罚。假设与具有较大权重的网络相比,具有较小权重的网络更简单。 可以使用各种惩罚项,也可以对权重进行约束,保证每个隐藏单元的传入权重向量不超过一定长度。限制权重大小的标准方法是使用 L2 权重惩罚。这种惩罚惩罚权重的平方值,有时称为权重衰减。这种惩罚的导数充当将权重拉向零的力量。因此,权重惩罚使权重保持较小,除非它们具有显着的误差导数来抵消它。 惩罚项表示为权重的平方和乘以系数 (lambda),再除以二。通过对成本函数进行微分,我们发现导数是误差导数和一个与权重大小和lambda值相关的项之和。当权重的大小等于 1 乘以导数的大小的 lambda 时,导数变为零。因此,大权重只有在它们也具有大量误差导数时才能存在。此属性使解释权重更容易,因为影响最小的大权重更少。 L2 权重惩罚可防止网络使用不必要的权重,从而提高泛化能力。此外,它会导致更平滑的模型,其中输出随着输入的变化而逐渐变化。对于类似的输入,权重惩罚会均匀分配权重,而如果没有惩罚,所有权重可能都分配给一个输入。 除了L2惩罚外,还可以使用其他权重惩罚,例如L1惩罚,它对权重的绝对值进行惩罚。这种类型的惩罚使许多权重正好为零,有助于解释。可以应用更极端的权重惩罚,其中成本函数的梯度随着权重的增加而减小。这允许网络保持较大的权重而不会将它们拉向零,而是将惩罚集中在较小的权重上。 可以采用重量限制来代替惩罚。通过权重约束,最大平方长度被施加到每个隐藏单元或输出单元的输入权重向量上。如果长度超过限制,则通过将所有权重除以相同因子来缩小权重,直到长度符合允许的限制。重量限制比重量惩罚更有优势,因为为平方长度选择一个合理的值更容易。此外,权重约束可防止隐藏单元陷入微小、无效的权重。它们还可以防止重量爆炸。 此外,体重限制对处罚有微妙的影响。当一个单元达到其约束时,对所有权重的有效惩罚由大梯度决定。大梯度将传入权重向量的长度向上推,对其他权重施加向下压力。这种自缩放惩罚比将不相关的权重推向零的固定惩罚更有效。就拉格朗日乘数而言,惩罚可以看作是满足约束所需的乘数。 使用权重约束提供了几个优于权重惩罚的优势。与确定最佳权重惩罚相比,为传入权重向量的平方长度选择合适的值更容易。 Logistic 单位有一个自然的尺度,使它更容易理解权重值 1 的重要性。 重量限制还可以防止隐藏单元因所有重量都非常小且无效而陷入困境。当所有的权重都很小时,它们的增长就没有限制,可能会使它们变得无用。权重约束确保权重不会变得可以忽略不计。 重量限制的另一个好处是它们可以防止重量爆炸,这在某些情况下会发生重量惩罚。这对于维持稳定性和防止网络中的数值不稳定至关重要。 体重限制的另一个微妙影响是它们对处罚的影响。当一个单元达到其约束并且其权重向量的长度受到限制时,对所有权重的有效惩罚将受到大梯度的影响。大梯度将传入的权重向量的长度向上推,这反过来又对其他权重施加向下的压力。本质上,惩罚会自行缩放以适合重要的权重并抑制较小的权重。这种自适应惩罚机制比将无关权重推向零的固定惩罚更有效。 对于那些熟悉拉格朗日乘数的人来说,惩罚可以看作是满足约束所需的相应乘数。权重约束充当强制网络权重所需属性的一种方式。 可以通过惩罚或约束来实现通过限制权重的大小来控制网络的容量。这两种方法都有其优点,但权重约束更容易选择合适的值,防止权重变得微不足道或爆炸,并提供自缩放惩罚机制。这些技术有助于神经网络的可解释性、稳定性和有效性。 MetaQuotes 2023.06.14 10:15 #556 第 9.3 讲——使用噪声作为正则化器 第 9.3 讲——使用噪声作为正则化器 [机器学习的神经网络] 让我们探索另一种限制神经网络容量的方法,该方法涉及向权重或活动添加噪声。将噪声添加到旨在最小化平方误差的简单线性网络的输入,相当于对网络的权重施加 L2 惩罚。这个概念可以扩展到更复杂的网络,其中使用噪声权重,特别是在循环网络中,它已经显示出改进的性能。 此外,噪声也可以作为正则化器引入到活动中。考虑使用反向传播训练具有逻辑隐藏单元的多层神经网络。通过在前向传递过程中使单元成为二进制和随机的,然后在使用实数值的反向传递过程中将它们视为确定性的,我们创建了一个随机二元神经元。虽然不完全准确,但与训练集相比,这种方法在测试集上产生了更好的性能,尽管训练速度较慢。 这些将噪声(无论是在权重中还是在活动中)合并的方法提供了用于控制神经网络容量和提高其泛化能力的替代技术。 总之,向神经网络添加噪声可能是控制容量和提高泛化能力的有用策略。通过在输入中引入高斯噪声,我们可以获得类似于 L2 权重惩罚的效果。这会根据平方权重放大噪声方差,并影响整体平方误差。权重中的噪声在更复杂的网络(例如循环网络)中可能特别有效,从而提高性能。 此外,噪声可以作为正则化技术应用于网络的活动。通过在正向传播期间将单元视为随机二元神经元并在反向传播期间使用真实值,我们将随机性引入系统。这种方法可能会导致训练速度变慢,但通常会在测试集上产生更好的性能,表明泛化能力有所提高。 添加噪声,无论是以权重还是活动的形式,都提供了一种替代方法来限制容量并增强神经网络的鲁棒性和泛化能力。 MetaQuotes 2023.06.14 10:15 #557 第 9.4 讲——完整贝叶斯方法简介 第 9.4 讲——完整贝叶斯方法简介[机器学习神经网络] 拟合模型的贝叶斯方法涉及考虑所有可能的参数设置,而不是搜索最可能的参数。它假定参数的先验分布并将其与观察数据的可能性相结合以获得后验分布。 在抛硬币示例中,频率论方法(最大似然法)建议选择使观察数据的似然性最大化的参数值。然而,这种方法有局限性,因为它可能无法解释先前的信念或不确定性。 在贝叶斯框架中,先验分布被分配给参数值。观察数据后,先验乘以每个参数值的似然值,得到非标准化的后验分布。为了获得适当的概率分布,后验通过将其缩放为面积为 1 来重新归一化。 通过迭代步骤,随着观察到更多数据,后验分布得到更新。最终的后验分布表示关于参数值的更新信念,结合了先验知识和观察到的数据。它提供了一系列合理的参数值及其概率。 贝叶斯定理用于计算给定数据的参数值的后验概率。它涉及将先验概率乘以给定该参数值的数据的可能性,并通过除以数据的概率对其进行归一化。 通过考虑完整的后验分布,贝叶斯方法允许对参数值进行更全面的分析,结合先验信念并根据观察到的数据更新它们。 MetaQuotes 2023.06.14 10:16 #558 第 9.5 讲——权重衰减的贝叶斯解释 第 9.5 讲——权重衰减的贝叶斯解释[机器学习神经网络] 该视频讨论了完整贝叶斯方法中权重惩罚的贝叶斯解释。在贝叶斯方法中,目标是计算模型参数的每个可能设置的后验概率。然而,称为最大后验学习的简化版本侧重于找到单组参数,这是拟合先验信念和拟合观察数据之间的最佳折衷。这种方法为使用权重衰减来控制模型容量提供了解释。在有监督的最大似然学习中最小化平方误差时,我们本质上是在寻找一个权重向量,它可以最大化正确答案的对数概率密度。这种解释假设正确答案是通过向神经网络的输出添加高斯噪声产生的。 在这种概率解释中,模型的输出被认为是高斯分布的中心,我们感兴趣的是在该高斯分布下具有高概率的目标值。在给定网络输出的情况下,目标值的负对数概率密度等于目标与输出之间的平方差除以高斯方差的两倍。通过取对数并加上负号,给定网络输出的目标值的负对数概率密度成为成本函数。最小化这个成本函数等同于最小化平方距离。这表明,当最小化平方误差时,有一个概率解释,我们在高斯分布下最大化对数概率。 正确的贝叶斯方法是在所有可能的权重向量上找到完整的后验分布,这对非线性网络来说可能具有挑战性。作为一种更简单的替代方案,我们可以尝试找到最可能的权重向量,即根据我们的先验知识和数据最可能的权重向量。 在最大后验学习中,我们的目标是找到一组权重,以优化拟合先验和拟合数据之间的权衡。使用负对数概率作为成本比在概率域中工作更方便。我们在给定权重的情况下最大化数据的对数概率,这相当于在给定权重的情况下最大化所有训练案例输出的对数概率之和。为了优化权重,我们考虑给定数据的权重的负对数概率。该成本由两项组成:一项取决于数据和权重,衡量我们对目标的拟合程度,另一项仅取决于权重,这是从给定权重的数据的对数概率得出的。 如果我们假设将高斯噪声添加到模型的输出中以对权重进行预测和高斯先验,则给定权重的数据的对数概率是输出与目标之间距离的平方乘以两倍的方差高斯噪声。类似地,先验下权重的对数概率是权重的平方值乘以高斯先验方差的两倍。 通过乘以高斯噪声和先验方差的两倍的乘积,我们得到了一个新的成本函数。第一项对应于神经网络中通常最小化的平方误差。第二项变成了两个方差乘以权重平方和的比值,也就是权重惩罚。因此,权重惩罚由这个高斯解释中的方差比决定,它不是这个框架内的任意值。因此,此贝叶斯解释中的权重惩罚不仅仅是为提高性能而选择的任意值。它基于高斯噪声和先验的方差具有有意义的解释。 更详细地说,当我们将方程乘以两倍的方差并对所有训练案例求和时,第一项对应于神经网络输出与目标之间的平方差。该术语表示通常在神经网络中最小化的平方误差。第二项仅取决于权重,成为两个方差乘以权重平方和的比率。这一项是重量惩罚。它惩罚大的权重值并鼓励较小的权重。方差的比率决定了这个惩罚的强度。 本质上,通过引入权重惩罚,我们在很好地拟合数据和保持较小的权重之间进行权衡。这种权衡是由方差的比率控制的。较大的权重惩罚(即较小的方差比)将导致较小的权重,而较小的权重惩罚(即较大的方差比)允许较大的权重。重要的是要注意,将权重衰减或权重惩罚解释为贝叶斯方法依赖于高斯噪声和高斯先验分布的假设。这些假设简化了计算并提供了一个概率框架来理解权重惩罚对优化过程的影响。 在实践中,找到所有可能的权重向量的完整后验分布在计算上可能具有挑战性,尤其是对于复杂的非线性网络。因此,旨在找到最可能的权重向量的最大后验学习提供了一种更实用的选择。这种方法平衡了先验信念和观察到的数据的拟合,提供了一个折衷的解决方案。 权重惩罚的贝叶斯解释提供了对其在神经网络优化中的作用的更深入理解。通过考虑概率的角度和拟合数据与权重先验之间的权衡,我们可以利用权重惩罚作为一种正则化技术来控制模型容量并提高泛化性能。 MetaQuotes 2023.06.14 10:16 #559 第 9.6 讲 — MacKay 的快速而肮脏的方法 第 9.6 讲 — MacKay 的快速而肮脏的方法 [机器学习的神经网络] 在本视频中,我将讨论 David MacKay 在 1990 年代开发的一种方法,用于在不依赖验证集的情况下确定神经网络中的权重惩罚。 MacKay 的方法基于将权重惩罚解释为最大后验 (MAP) 估计,其中权重惩罚的大小与权重的先验分布的紧密度相关。 MacKay 证明我们可以根据经验在神经网络的输出中同时拟合权重惩罚和假设的噪声。这使我们能够获得一种不需要验证集的拟合权重惩罚的方法,从而允许对网络中的连接子集进行不同的权重惩罚。使用验证集实现这种灵活性在计算上会很昂贵。 现在,我将介绍一种简单实用的方法,该方法由 David MacKay 开发,用于将权重惩罚解释为两个方差的比率。在学习最小化平方误差的模型后,我们可以确定输出方差的最佳值。该值是通过使用残差的方差获得的。 我们还可以估计权重的高斯先验方差。最初,我们猜测这个方差并继续学习过程。这里出现了称为经验贝叶斯的“肮脏技巧”。我们将先验方差设置为模型学习的权重的方差,因为它使这些权重最有可能。虽然这违反了贝叶斯方法的一些假设,但它允许我们根据数据确定先验。 学习权重后,我们将零均值高斯分布拟合到学习权重的一维分布。然后我们将这个高斯分布的方差作为我们的权重先验方差。值得注意的是,如果有不同的权重子集,例如在不同的层中,我们可以为每一层学习不同的方差。 MacKay 方法的优点是不需要验证集,可以使用所有非测试数据进行训练。此外,它允许合并多个权重惩罚,这将很难使用验证集来实现。 为了总结该方法,我们首先猜测噪声方差与权重先验方差的比率。然后,我们执行梯度下降学习来提高权重。接下来,我们将噪声方差更新为残差的方差,将权重先验方差更新为学习权重分布的方差。迭代地重复该循环。 在实践中,MacKay 的方法已被证明行之有效,他使用这种方法在多项比赛中取得了成功。 MetaQuotes 2023.06.14 10:16 #560 10.1 — 为什么它有助于组合模型 10.1 — 为什么它有助于组合模型 [机器学习的神经网络] 在本视频中,我将讨论组合多个模型进行预测的重要性。使用单一模型时,我们面临为其选择合适容量的挑战。如果容量太低,模型将无法捕获训练数据中的规律性。另一方面,如果容量过大,模型会过拟合特定训练集中的采样误差。通过组合多个模型,我们可以在拟合真实规律和避免过度拟合之间取得更好的平衡。与使用任何单一模型相比,将模型一起平均通常会产生更好的结果。当模型做出不同的预测时,这种影响尤为显着。可以通过各种技术来鼓励模型做出不同的预测。 在处理有限的训练数据时,过度拟合是一个常见问题。然而,通过考虑多个模型的预测,我们可以减轻过度拟合。当模型做出不同的预测时尤其如此。在回归中,我们可以将平方误差分解为偏差项和方差项。偏差项表示模型逼近真实函数的程度,而方差项衡量模型捕获训练集中抽样误差的能力。通过平均模型,我们可以在保持低偏差的同时减少方差,因为高容量模型通常表现出低偏差。这使我们能够利用平均的好处来减少错误。 将单个模型与特定测试用例的模型平均值进行比较时,某些单个预测变量的性能可能优于组合预测变量。但是,不同的个体预测因子在不同情况下表现出色。此外,当各个预测变量彼此明显不一致时,组合预测变量的平均表现通常优于所有单个预测变量。因此,我们的目标是让各个预测器在保持准确的同时产生明显的错误。 在数学上,当组合网络时,我们比较两个预期的平方误差。第一个错误对应于随机选择一个预测变量并对所有预测变量的预测进行平均。第二个错误是通过平均模型的预测获得的。随机选择模型的预期平方误差大于通过平均获得的平方误差,表明平均在减少误差方面的优势。等式中的附加项表示模型输出的方差,通过平均可以有效减少方差。 为了在模型之间实现不同的预测,可以采用各种方法。这包括使用不同类型的模型、改变模型架构、采用不同的学习算法以及在不同的数据子集上训练模型。 bagging 和 boosting 等技术在创建多样化模型方面也很有效。 Bagging 涉及在不同的数据子集上训练不同的模型,同时为每个模型提升不同的训练案例权重。这些方法有助于提高组合模型时的性能。 合并多个模型有利于预测任务。通过对模型进行平均,我们可以在捕捉规律性和避免过度拟合之间取得平衡。模型之间的不同预测增强了组合预测器的性能。可以应用各种技术来鼓励多样化的预测,从而获得更好的整体结果。 1...495051525354555657585960616263...74 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
第 8.1 讲——无 Hessian 优化的简要概述
第 8.1 讲——无 Hessian 优化的简要概述 [机器学习的神经网络]
Hessian-free 优化器是一种用于有效训练递归神经网络的复杂算法。虽然我不会深入研究所有细节,但我将提供对其工作原理的一般理解。
训练神经网络时,目标是最小化误差。优化器确定移动的方向和距离,以最大程度地减少错误。减少取决于梯度曲率比,假设二次误差曲面向上凹。牛顿法通过将椭圆误差曲面转换为圆形误差曲面来解决最速下降的局限性。它通过将梯度乘以曲率矩阵(也称为 Hessian)的逆矩阵来实现。然而,由于其大小,反转 Hessian 矩阵对于大型神经网络是不可行的。为了克服这个问题,Hessian-free 和 L-BFGS 等近似方法使用低阶矩阵来近似曲率。 Hessian-free 逼近曲率矩阵并使用共轭梯度,这是一种一次最小化一个方向上的误差的方法。它通过选择不改变先前方向梯度的共轭方向来避免破坏先前的最小化。
共轭梯度在 n 步或更少的步骤中有效地找到 n 维二次曲面的全局最小值。它通过在比 n 少得多的步骤中将错误减少到接近最小值来实现这一点。它可以直接应用于非二次误差表面,例如多层神经网络中的那些表面,并且适用于大型小批量。 Hessian-free 优化器结合二次逼近和共轭梯度,迭代改进对真实误差曲面的逼近,并向最小值靠拢。
无 Hessian 优化器首先对真实误差曲面进行初始二次近似。然后它应用共轭梯度来最小化这个二次近似的误差。通过这样做,它接近这个近似值的最小值点。之后,优化器对曲率矩阵进行新的近似并重复该过程。它继续迭代,改进近似值并使用共轭梯度最小化误差。这个迭代过程帮助优化器逐渐接近误差面的真实最小值。
在递归神经网络中,重要的是对隐藏活动的大变化添加惩罚。这可以防止在整个序列中传播的早期权重变化引起的过度影响。通过惩罚隐藏活动的变化,优化器可确保稳定性并防止出现不良结果。
无 Hessian 优化器结合了二次逼近、共轭梯度最小化和对隐藏活动变化的惩罚,以有效地训练递归神经网络。它通过迭代改进近似值和最小化误差来实现高效和准确的优化。
第 8.2 讲——建模字符串
第 8.2 讲——字符串建模 [机器学习的神经网络]
我们现在将无 Hessian 优化应用于从维基百科建模字符串的任务。通常,在建模语言时,人们会使用单词串。然而,由于网络是由字符串组成的,因此对字符级别的信息进行建模可以提供一种更直接的方法。
字符串建模提出了独特的挑战,例如处理词素、将单词分解为有意义的单元以及处理具有凝集属性的语言。通过专注于字符级建模,我们避免了与将文本预处理为单词相关的复杂性,并且可以直接捕获字符级的模式和信息。为此,我们使用具有乘法连接的循环神经网络 (RNN)。 RNN 由隐藏状态组成,在本例中有 1500 个隐藏单元。隐藏状态的动态涉及考虑当前字符和先前的隐藏状态来计算新的隐藏状态。随后,RNN 尝试使用 softmax 层预测下一个字符,为每个可能的字符分配概率。
我们没有使用传统的 RNN 结构,而是采用了一种不同的方法来产生更好的结果。我们将所有可能的字符串组织成树状结构,每个字符都会影响隐藏状态转换。为了表示这棵树,我们使用隐藏状态向量来捕获每个节点的信息。这使我们能够在相似节点之间有效地共享信息,从而提高整体模型性能。为了有效地实现字符特定的转换,我们引入了使用因子的乘法连接。每个因子根据两个输入组计算加权和,并使用结果来缩放传出权重。通过结合字符特定因素,我们可以确定基于当前字符驱动隐藏状态演化的转换矩阵。
这种方法使我们能够在有效利用参数的同时捕获字符级语言建模的复杂性。我们没有为每个角色维护单独的权重矩阵,而是利用角色之间的相似性来共享参数。这种参数共享有助于防止过度拟合并减少计算负担。
我们使用 Hessian-free 优化来对来自维基百科的字符串进行建模。通过利用乘法连接和字符特定因子,我们可以有效地捕获基于当前字符的隐藏状态之间的转换,从而提高建模性能。
第 8.4 讲——回声状态网络
第 8.4 讲 — 回声状态网络 [机器学习的神经网络]
回声状态网络是一种简化循环神经网络 (RNN) 学习过程的巧妙方法。他们使用耦合振荡器库初始化 RNN 中的连接,将输入转换为振荡器状态。然后可以根据这些状态预测输出,唯一需要学习的是如何将输出耦合到振荡器。这消除了学习隐藏到隐藏连接或输入到隐藏连接的需要。
为了提高 Echo 状态网络在复杂任务上的性能,需要一个大的隐藏状态。将 Echo 状态网络的精心设计的初始化与时间反向传播与动量相结合可以进一步增强它们的能力。另一个最近训练递归神经网络的想法是随机修复隐藏到隐藏的连接,并专注于训练输出连接。这种方法类似于前馈神经网络中随机特征检测器的概念,其中只学习最后一层,简化了学习过程。
Echo 状态网络的成功依赖于正确设置随机连接以避免诸如消亡或爆炸等问题。对应于隐藏到隐藏权重矩阵的最大特征值的谱半径需要设置为近似1,以确保活动向量的长度保持稳定。稀疏连接也很重要,其中大部分权重为零,允许信息保留在网络的特定部分。应仔细选择输入到隐藏连接的比例,以在不擦除重要信息的情况下驱动振荡器的状态。 Echo 状态网络中的学习过程很快,可以对连接的规模和稀疏性进行实验以优化性能。显示了回声状态网络的示例,其中输入序列指定输出的正弦波频率。网络通过使用隐藏单元的状态拟合线性模型来预测正确的输出,从而学习生成正弦波。中间的动态储层捕获由输入信号驱动的复杂动态。
回声状态网络有几个优点,包括由于拟合线性模型的简单性导致的快速训练、隐藏到隐藏权重的合理初始化的重要性,以及它们有效地模拟一维时间序列的能力。然而,与传统的 RNN 相比,它们可能难以对高维数据进行建模并且需要更多的隐藏单元。
Ilya Sutskever 探索了使用 Echo 状态网络技术初始化递归神经网络,然后使用时间反向传播对其进行训练。这种组合被证明是训练递归神经网络的有效方法,从而提高了性能。 Ilya Sutskever 将 Echo 状态网络的初始化技术与时间反向传播 (BPTT) 相结合的方法在训练递归神经网络 (RNN) 方面取得了可喜的成果。通过使用 Echo 状态网络初始化,然后将 BPTT 与 RMSprop 和动量等技术一起应用,Sutskever 发现这种方法在训练 RNN 时非常有效。
Echo 状态网络初始化的使用为 RNN 提供了一个良好的起点,使其即使仅通过训练隐藏到输出的连接也能很好地学习。然而,Sutskever 的实验表明,还可以通过学习隐藏到隐藏的权重来进一步提高 RNN 的性能。通过结合 Echo 状态网络和传统 RNN 的优势,这种混合方法充分利用了这两种方法的优势。回声状态网络初始化提供了坚实的基础,而 BPTT 可以微调和优化 RNN 的性能。这种方法的成功证明了正确初始化在训练 RNN 中的重要性。
通过从捕获问题域动态的初始化开始,后续训练可以更加高效和有效。此外,使用带动量的 RMSprop 等优化技术可进一步增强学习过程并有助于取得更好的结果。
回声状态网络初始化和 BPTT 与优化技术的结合为训练 RNN 提供了一种强大的方法。它利用两种方法的优势来提高学习效率、模型性能和预测准确性。
第 9.1 讲——提高泛化能力的方法概述
第 9.1 讲——提高泛化能力的方法概述 [机器学习的神经网络]
在本视频中,讨论的主题是通过减少神经网络中的过度拟合来提高泛化能力。当网络容量相对于训练数据量而言过多时,就会发生过度拟合。该视频解释了用于控制网络容量和确定容量控制的适当元参数的各种方法。
过度拟合的出现是因为训练数据不仅包含有关输入输出映射中真实模式的信息,而且还包括特定于训练集的抽样误差和偶然规律性。在拟合模型时,它无法区分这些类型的规律性,如果模型过于灵活并且拟合采样误差,则导致泛化能力差。
防止过度拟合的一种直接方法是获取更多数据。增加数据量可以通过更好地表示真实规律来减轻过度拟合。另一种方法是明智地限制模型的容量,使其能够捕获真实的规律性,同时避免拟合由抽样误差引起的虚假规律性。这可能具有挑战性,但该视频讨论了有效调节容量的各种技术。
该视频还提到了集成方法的使用,例如对不同模型进行平均。通过在不同的数据子集上训练模型或找到表现良好的不同权重集,与单个模型相比,平均它们的预测可以提高整体性能。此外,贝叶斯方法涉及使用单个神经网络架构,但找到多组可以很好地预测输出的权重,然后对它们对测试数据的预测进行平均。
可以通过不同的方式控制模型的容量,例如调整架构(例如,限制隐藏层的数量和每层的单元数)、惩罚权重、向权重或活动添加噪声,或者使用这些方法的组合。
在设置容量控制的元参数时,需要避免将结果偏向特定的测试集。该视频提出了一种更好的方法:将数据分为训练、验证和测试子集。验证数据用于根据模型的性能确定适当的元参数,而测试数据则提供对网络有效性的无偏估计。只使用一次测试数据以避免对其过度拟合至关重要。
该视频还提到了 n 折交叉验证,一种将数据分为 n 个子集的技术,模型在这些子集的不同组合上进行训练和验证,以获得最佳元参数的多个估计。
最后,该视频介绍了一种称为提前停止的易于使用的方法。它涉及从小权重开始,并在模型在验证集上的性能开始恶化时停止训练过程。这种方法控制容量,因为权重小的模型容量有限,表现类似于线性网络。在正确的点停止训练可以优化拟合真实规律和拟合由训练集引起的虚假规律之间的权衡。
总的来说,该视频重点介绍了控制容量和防止神经网络过度拟合的各种方法。这些方法涉及获取更多数据、明智地调节容量、使用集成方法、通过验证设置适当的元参数以及采用提前停止等技术。
第 9.2 讲——限制权重的大小
第 9.2 讲——限制权重的大小[机器学习的神经网络]
在本视频中,我将讨论如何通过限制网络权重的大小来控制网络容量。常见的方法是应用限制权重变得过大的惩罚。假设与具有较大权重的网络相比,具有较小权重的网络更简单。
可以使用各种惩罚项,也可以对权重进行约束,保证每个隐藏单元的传入权重向量不超过一定长度。限制权重大小的标准方法是使用 L2 权重惩罚。这种惩罚惩罚权重的平方值,有时称为权重衰减。这种惩罚的导数充当将权重拉向零的力量。因此,权重惩罚使权重保持较小,除非它们具有显着的误差导数来抵消它。
惩罚项表示为权重的平方和乘以系数 (lambda),再除以二。通过对成本函数进行微分,我们发现导数是误差导数和一个与权重大小和lambda值相关的项之和。当权重的大小等于 1 乘以导数的大小的 lambda 时,导数变为零。因此,大权重只有在它们也具有大量误差导数时才能存在。此属性使解释权重更容易,因为影响最小的大权重更少。
L2 权重惩罚可防止网络使用不必要的权重,从而提高泛化能力。此外,它会导致更平滑的模型,其中输出随着输入的变化而逐渐变化。对于类似的输入,权重惩罚会均匀分配权重,而如果没有惩罚,所有权重可能都分配给一个输入。
除了L2惩罚外,还可以使用其他权重惩罚,例如L1惩罚,它对权重的绝对值进行惩罚。这种类型的惩罚使许多权重正好为零,有助于解释。可以应用更极端的权重惩罚,其中成本函数的梯度随着权重的增加而减小。这允许网络保持较大的权重而不会将它们拉向零,而是将惩罚集中在较小的权重上。
可以采用重量限制来代替惩罚。通过权重约束,最大平方长度被施加到每个隐藏单元或输出单元的输入权重向量上。如果长度超过限制,则通过将所有权重除以相同因子来缩小权重,直到长度符合允许的限制。重量限制比重量惩罚更有优势,因为为平方长度选择一个合理的值更容易。此外,权重约束可防止隐藏单元陷入微小、无效的权重。它们还可以防止重量爆炸。
此外,体重限制对处罚有微妙的影响。当一个单元达到其约束时,对所有权重的有效惩罚由大梯度决定。大梯度将传入权重向量的长度向上推,对其他权重施加向下压力。这种自缩放惩罚比将不相关的权重推向零的固定惩罚更有效。就拉格朗日乘数而言,惩罚可以看作是满足约束所需的乘数。
使用权重约束提供了几个优于权重惩罚的优势。与确定最佳权重惩罚相比,为传入权重向量的平方长度选择合适的值更容易。 Logistic 单位有一个自然的尺度,使它更容易理解权重值 1 的重要性。
重量限制还可以防止隐藏单元因所有重量都非常小且无效而陷入困境。当所有的权重都很小时,它们的增长就没有限制,可能会使它们变得无用。权重约束确保权重不会变得可以忽略不计。
重量限制的另一个好处是它们可以防止重量爆炸,这在某些情况下会发生重量惩罚。这对于维持稳定性和防止网络中的数值不稳定至关重要。
体重限制的另一个微妙影响是它们对处罚的影响。当一个单元达到其约束并且其权重向量的长度受到限制时,对所有权重的有效惩罚将受到大梯度的影响。大梯度将传入的权重向量的长度向上推,这反过来又对其他权重施加向下的压力。本质上,惩罚会自行缩放以适合重要的权重并抑制较小的权重。这种自适应惩罚机制比将无关权重推向零的固定惩罚更有效。
对于那些熟悉拉格朗日乘数的人来说,惩罚可以看作是满足约束所需的相应乘数。权重约束充当强制网络权重所需属性的一种方式。
可以通过惩罚或约束来实现通过限制权重的大小来控制网络的容量。这两种方法都有其优点,但权重约束更容易选择合适的值,防止权重变得微不足道或爆炸,并提供自缩放惩罚机制。这些技术有助于神经网络的可解释性、稳定性和有效性。
第 9.3 讲——使用噪声作为正则化器
第 9.3 讲——使用噪声作为正则化器 [机器学习的神经网络]
让我们探索另一种限制神经网络容量的方法,该方法涉及向权重或活动添加噪声。将噪声添加到旨在最小化平方误差的简单线性网络的输入,相当于对网络的权重施加 L2 惩罚。这个概念可以扩展到更复杂的网络,其中使用噪声权重,特别是在循环网络中,它已经显示出改进的性能。
此外,噪声也可以作为正则化器引入到活动中。考虑使用反向传播训练具有逻辑隐藏单元的多层神经网络。通过在前向传递过程中使单元成为二进制和随机的,然后在使用实数值的反向传递过程中将它们视为确定性的,我们创建了一个随机二元神经元。虽然不完全准确,但与训练集相比,这种方法在测试集上产生了更好的性能,尽管训练速度较慢。
这些将噪声(无论是在权重中还是在活动中)合并的方法提供了用于控制神经网络容量和提高其泛化能力的替代技术。
总之,向神经网络添加噪声可能是控制容量和提高泛化能力的有用策略。通过在输入中引入高斯噪声,我们可以获得类似于 L2 权重惩罚的效果。这会根据平方权重放大噪声方差,并影响整体平方误差。权重中的噪声在更复杂的网络(例如循环网络)中可能特别有效,从而提高性能。
此外,噪声可以作为正则化技术应用于网络的活动。通过在正向传播期间将单元视为随机二元神经元并在反向传播期间使用真实值,我们将随机性引入系统。这种方法可能会导致训练速度变慢,但通常会在测试集上产生更好的性能,表明泛化能力有所提高。
添加噪声,无论是以权重还是活动的形式,都提供了一种替代方法来限制容量并增强神经网络的鲁棒性和泛化能力。
第 9.4 讲——完整贝叶斯方法简介
第 9.4 讲——完整贝叶斯方法简介[机器学习神经网络]
拟合模型的贝叶斯方法涉及考虑所有可能的参数设置,而不是搜索最可能的参数。它假定参数的先验分布并将其与观察数据的可能性相结合以获得后验分布。
在抛硬币示例中,频率论方法(最大似然法)建议选择使观察数据的似然性最大化的参数值。然而,这种方法有局限性,因为它可能无法解释先前的信念或不确定性。
在贝叶斯框架中,先验分布被分配给参数值。观察数据后,先验乘以每个参数值的似然值,得到非标准化的后验分布。为了获得适当的概率分布,后验通过将其缩放为面积为 1 来重新归一化。
通过迭代步骤,随着观察到更多数据,后验分布得到更新。最终的后验分布表示关于参数值的更新信念,结合了先验知识和观察到的数据。它提供了一系列合理的参数值及其概率。
贝叶斯定理用于计算给定数据的参数值的后验概率。它涉及将先验概率乘以给定该参数值的数据的可能性,并通过除以数据的概率对其进行归一化。
通过考虑完整的后验分布,贝叶斯方法允许对参数值进行更全面的分析,结合先验信念并根据观察到的数据更新它们。
第 9.5 讲——权重衰减的贝叶斯解释
第 9.5 讲——权重衰减的贝叶斯解释[机器学习神经网络]
该视频讨论了完整贝叶斯方法中权重惩罚的贝叶斯解释。在贝叶斯方法中,目标是计算模型参数的每个可能设置的后验概率。然而,称为最大后验学习的简化版本侧重于找到单组参数,这是拟合先验信念和拟合观察数据之间的最佳折衷。这种方法为使用权重衰减来控制模型容量提供了解释。在有监督的最大似然学习中最小化平方误差时,我们本质上是在寻找一个权重向量,它可以最大化正确答案的对数概率密度。这种解释假设正确答案是通过向神经网络的输出添加高斯噪声产生的。
在这种概率解释中,模型的输出被认为是高斯分布的中心,我们感兴趣的是在该高斯分布下具有高概率的目标值。在给定网络输出的情况下,目标值的负对数概率密度等于目标与输出之间的平方差除以高斯方差的两倍。通过取对数并加上负号,给定网络输出的目标值的负对数概率密度成为成本函数。最小化这个成本函数等同于最小化平方距离。这表明,当最小化平方误差时,有一个概率解释,我们在高斯分布下最大化对数概率。
正确的贝叶斯方法是在所有可能的权重向量上找到完整的后验分布,这对非线性网络来说可能具有挑战性。作为一种更简单的替代方案,我们可以尝试找到最可能的权重向量,即根据我们的先验知识和数据最可能的权重向量。
在最大后验学习中,我们的目标是找到一组权重,以优化拟合先验和拟合数据之间的权衡。使用负对数概率作为成本比在概率域中工作更方便。我们在给定权重的情况下最大化数据的对数概率,这相当于在给定权重的情况下最大化所有训练案例输出的对数概率之和。为了优化权重,我们考虑给定数据的权重的负对数概率。该成本由两项组成:一项取决于数据和权重,衡量我们对目标的拟合程度,另一项仅取决于权重,这是从给定权重的数据的对数概率得出的。
如果我们假设将高斯噪声添加到模型的输出中以对权重进行预测和高斯先验,则给定权重的数据的对数概率是输出与目标之间距离的平方乘以两倍的方差高斯噪声。类似地,先验下权重的对数概率是权重的平方值乘以高斯先验方差的两倍。
通过乘以高斯噪声和先验方差的两倍的乘积,我们得到了一个新的成本函数。第一项对应于神经网络中通常最小化的平方误差。第二项变成了两个方差乘以权重平方和的比值,也就是权重惩罚。因此,权重惩罚由这个高斯解释中的方差比决定,它不是这个框架内的任意值。因此,此贝叶斯解释中的权重惩罚不仅仅是为提高性能而选择的任意值。它基于高斯噪声和先验的方差具有有意义的解释。
更详细地说,当我们将方程乘以两倍的方差并对所有训练案例求和时,第一项对应于神经网络输出与目标之间的平方差。该术语表示通常在神经网络中最小化的平方误差。第二项仅取决于权重,成为两个方差乘以权重平方和的比率。这一项是重量惩罚。它惩罚大的权重值并鼓励较小的权重。方差的比率决定了这个惩罚的强度。
本质上,通过引入权重惩罚,我们在很好地拟合数据和保持较小的权重之间进行权衡。这种权衡是由方差的比率控制的。较大的权重惩罚(即较小的方差比)将导致较小的权重,而较小的权重惩罚(即较大的方差比)允许较大的权重。重要的是要注意,将权重衰减或权重惩罚解释为贝叶斯方法依赖于高斯噪声和高斯先验分布的假设。这些假设简化了计算并提供了一个概率框架来理解权重惩罚对优化过程的影响。
在实践中,找到所有可能的权重向量的完整后验分布在计算上可能具有挑战性,尤其是对于复杂的非线性网络。因此,旨在找到最可能的权重向量的最大后验学习提供了一种更实用的选择。这种方法平衡了先验信念和观察到的数据的拟合,提供了一个折衷的解决方案。
权重惩罚的贝叶斯解释提供了对其在神经网络优化中的作用的更深入理解。通过考虑概率的角度和拟合数据与权重先验之间的权衡,我们可以利用权重惩罚作为一种正则化技术来控制模型容量并提高泛化性能。
第 9.6 讲 — MacKay 的快速而肮脏的方法
第 9.6 讲 — MacKay 的快速而肮脏的方法 [机器学习的神经网络]
在本视频中,我将讨论 David MacKay 在 1990 年代开发的一种方法,用于在不依赖验证集的情况下确定神经网络中的权重惩罚。 MacKay 的方法基于将权重惩罚解释为最大后验 (MAP) 估计,其中权重惩罚的大小与权重的先验分布的紧密度相关。
MacKay 证明我们可以根据经验在神经网络的输出中同时拟合权重惩罚和假设的噪声。这使我们能够获得一种不需要验证集的拟合权重惩罚的方法,从而允许对网络中的连接子集进行不同的权重惩罚。使用验证集实现这种灵活性在计算上会很昂贵。
现在,我将介绍一种简单实用的方法,该方法由 David MacKay 开发,用于将权重惩罚解释为两个方差的比率。在学习最小化平方误差的模型后,我们可以确定输出方差的最佳值。该值是通过使用残差的方差获得的。
我们还可以估计权重的高斯先验方差。最初,我们猜测这个方差并继续学习过程。这里出现了称为经验贝叶斯的“肮脏技巧”。我们将先验方差设置为模型学习的权重的方差,因为它使这些权重最有可能。虽然这违反了贝叶斯方法的一些假设,但它允许我们根据数据确定先验。
学习权重后,我们将零均值高斯分布拟合到学习权重的一维分布。然后我们将这个高斯分布的方差作为我们的权重先验方差。值得注意的是,如果有不同的权重子集,例如在不同的层中,我们可以为每一层学习不同的方差。
MacKay 方法的优点是不需要验证集,可以使用所有非测试数据进行训练。此外,它允许合并多个权重惩罚,这将很难使用验证集来实现。
为了总结该方法,我们首先猜测噪声方差与权重先验方差的比率。然后,我们执行梯度下降学习来提高权重。接下来,我们将噪声方差更新为残差的方差,将权重先验方差更新为学习权重分布的方差。迭代地重复该循环。
在实践中,MacKay 的方法已被证明行之有效,他使用这种方法在多项比赛中取得了成功。
10.1 — 为什么它有助于组合模型
10.1 — 为什么它有助于组合模型 [机器学习的神经网络]
在本视频中,我将讨论组合多个模型进行预测的重要性。使用单一模型时,我们面临为其选择合适容量的挑战。如果容量太低,模型将无法捕获训练数据中的规律性。另一方面,如果容量过大,模型会过拟合特定训练集中的采样误差。通过组合多个模型,我们可以在拟合真实规律和避免过度拟合之间取得更好的平衡。与使用任何单一模型相比,将模型一起平均通常会产生更好的结果。当模型做出不同的预测时,这种影响尤为显着。可以通过各种技术来鼓励模型做出不同的预测。
在处理有限的训练数据时,过度拟合是一个常见问题。然而,通过考虑多个模型的预测,我们可以减轻过度拟合。当模型做出不同的预测时尤其如此。在回归中,我们可以将平方误差分解为偏差项和方差项。偏差项表示模型逼近真实函数的程度,而方差项衡量模型捕获训练集中抽样误差的能力。通过平均模型,我们可以在保持低偏差的同时减少方差,因为高容量模型通常表现出低偏差。这使我们能够利用平均的好处来减少错误。
将单个模型与特定测试用例的模型平均值进行比较时,某些单个预测变量的性能可能优于组合预测变量。但是,不同的个体预测因子在不同情况下表现出色。此外,当各个预测变量彼此明显不一致时,组合预测变量的平均表现通常优于所有单个预测变量。因此,我们的目标是让各个预测器在保持准确的同时产生明显的错误。
在数学上,当组合网络时,我们比较两个预期的平方误差。第一个错误对应于随机选择一个预测变量并对所有预测变量的预测进行平均。第二个错误是通过平均模型的预测获得的。随机选择模型的预期平方误差大于通过平均获得的平方误差,表明平均在减少误差方面的优势。等式中的附加项表示模型输出的方差,通过平均可以有效减少方差。
为了在模型之间实现不同的预测,可以采用各种方法。这包括使用不同类型的模型、改变模型架构、采用不同的学习算法以及在不同的数据子集上训练模型。 bagging 和 boosting 等技术在创建多样化模型方面也很有效。 Bagging 涉及在不同的数据子集上训练不同的模型,同时为每个模型提升不同的训练案例权重。这些方法有助于提高组合模型时的性能。
合并多个模型有利于预测任务。通过对模型进行平均,我们可以在捕捉规律性和避免过度拟合之间取得平衡。模型之间的不同预测增强了组合预测器的性能。可以应用各种技术来鼓励多样化的预测,从而获得更好的整体结果。