gpt4 book ai didi

machine-learning - 如何分解大型网格搜索?

转载 作者:行者123 更新时间:2023-12-03 17:23:18 25 4
gpt4 key购买 nike

我希望为不同的神经网络配置运行一个非常大的网格搜索。就其完整性而言,使用我当前的硬件运行是不切实际的。我知道可能有比朴素网格搜索(例如随机、贝叶斯优化)更好的技术,但是我的问题是我们可以对首先包含的内容做出哪些合理的假设。具体来说,就我而言,我希望在

  • A:隐藏层数
  • B:隐藏层的大小
  • C:激活函数
  • D: L1
  • E:L2
  • F:辍学

  • 我的一个想法是 (1) 确定网络配置 c通过在 A-C 上运行网格搜索,(2) 选择 c具有最低(例如 MSE)错误(针对测试数据集),以及 (3) 使用配置运行网络 c通过对 D-F 的单独网格搜索来确定最合适的正则化策略。
    在这种情况下,这是一种明智的方法,还是理论上我可以通过使用在第一次网格搜索(即 A-C)中显示更高错误的网络配置来获得更低的最终错误(即在正则化之后)?

    最佳答案

    你说的是一个合理的方法。它类似于用于选择特征的所谓的贪婪前向特征选择方法。在您的情况下,它是模型参数而不是特征。
    这个想法是有效的,并在实践中被广泛使用。不管你的硬件有多强大,它永远都不足以尝试可能的组合,这基本上是无限的。
    然而,这种方法不能保证第一次网格搜索中最好的将是整体上最好的。正如您所说,您可以通过使用在第一次网格搜索中具有较高错误的 netfork 配置来获得较低的最终错误。但在实践中,差别应该不大。
    我建议你从基本参数开始。比如学习率,或者优化器。它们的效果应该远远超过其他参数,如激活函数、隐藏层的数量(如果您不是将单层与非常深的网络进行比较,而是比较 1-2 层的差异)。当您找到最佳配置时,您应该再次尝试重要的配置(lr、优化器),同时保持找到的配置相同。

    关于machine-learning - 如何分解大型网格搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64515152/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com