【问题标题】:i need a way to train a neural network other than backpropagation我需要一种方法来训练神经网络而不是反向传播
【发布时间】:2015-01-08 05:59:02
【问题描述】:

这是一个持续的冒险,一些细节被故意混淆。

我有一个有多个输入和一个输出的盒子。输出电压随着输入电压的变化而变化。在许多状态通过并评估回溯过程之前,无法评估输出序列的合意性。

我想设计一个神经网络,将盒子的多个输出作为输入,并为盒子生成正确的输入设置,以产生最佳的下一个输出。

我无法使用反向传播来训练这个网络。如何训练这个网络?

【问题讨论】:

    标签: neural-network backpropagation


    【解决方案1】:

    遗传算法将是一个很好的候选者。一条染色体可以编码神经网络的权重。评估后,您根据染色体的性能为染色体分配适应度值。适应度值较高的染色体具有较高的繁殖机会,有助于在下一代产生性能更好的染色体。

    编码权重是一个相对简单的解决方案,更复杂的甚至可以定义网络的拓扑结构。

    您可能会在此处找到一些额外的有用信息:

    http://en.wikipedia.org/wiki/Neuroevolution

    【讨论】:

    • 谢谢!正是我想要的。
    • @BingBang 很高兴它有帮助。如果它确实回答了您的问题,请考虑将答案标记为“已接受”。
    【解决方案2】:

    Hillclimbing 是最容易实现的优化算法。只是随机修改权重,看看它是否做得更好,如果没有重置它们,然后再试一次。它通常也比遗传算法更快。但是它很容易陷入局部最优,因此请尝试运行多次并选择最佳结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-20
      • 2018-08-04
      • 1970-01-01
      • 2017-07-30
      • 2012-03-11
      • 2014-05-02
      • 2015-06-11
      相关资源
      最近更新 更多