5

我对这个主题很陌生,所以任何帮助都会很棒。我需要的是使用 GA 在 MATLAB 中优化神经网络。我的网络有 [2x98] 输入和 [1x98] 目标,我已经尝试咨询 MATLAB 帮助,但我仍然对该怎么做一无所知:(所以,任何帮助将不胜感激。提前致谢。

编辑:我想我没有像丹在第一个答案中所说的那样说要优化什么。我想最重要的是隐藏神经元的数量。可能还有隐藏层的数量和训练参数,比如 epoch 的数量。抱歉没有提供足够的信息,我还在学习这个。

4

6 回答 6

1

如果这是一项家庭作业,那就去做你在课堂上学到的任何东西。

否则,完全放弃 MLP。支持向量回归(http://www.csie.ntu.edu.tw/~cjlin/libsvm/)在广泛的问题中更可靠地训练,并且几乎永远不会遇到卡在本地的问题-minima 问题经常受到反向传播训练的 MLP 的影响,这迫使您解决网络拓扑优化问题,只是为了找到一个可以实际训练的网络。

于 2010-01-19T18:03:41.200 回答
0

我假设您有一组需要调整的参数(隐藏层数,每层神经元数...),而不是蛮力搜索所有组合以选择一个好的组合,GA 可以帮助您“跳跃”从这个组合到另一个组合。因此,您可以“探索”潜在候选人的搜索空间。

GA 可以帮助选择“有用的”功能。某些功能可能看起来是多余的,您想要修剪它们。然而,比如说,数据的特征太多,无法通过某些方法(例如前向选择)来搜索最佳特征集。同样,GA 可以从这个集合候选“跳”到另一个。

您将需要找到对输入 GA 的数据(输入参数、特征...)进行编码。为了找到一组输入参数或一组好的特征,我认为二进制编码应该有效。此外,为遗传算法选择算子来繁殖后代也很重要。然而 GA 也需要调整(早期停止也可以应用于 ANN)。

这里只是一些想法。您可能想搜索有关 GA、特征选择、ANN 修剪的更多信息......

于 2010-01-19T18:16:11.607 回答
0

由于您已经在使用 MATLAB,我建议您查看遗传算法求解器(称为 GATool,是Global Optimization Toolbox的一部分)和Neural Network Toolbox。在这两者之间,您应该能够节省相当多的计算时间。

您基本上必须完成两项主要任务:

  1. 为您的候选解决方案提出一个表示(或编码)
  2. 编码你的适应度函数(基本上测试候选解决方案)并将其作为参数传递给 GA 求解器。

如果您在提出适应度函数或候选解决方案的编码方面需要帮助,那么您必须更加具体。

希望能帮助到你。

于 2011-02-10T17:58:31.477 回答
0

好吧,您需要更具体地了解您要优化的内容。是隐藏层的大小吗?你有隐藏层吗?是参数优化(学习率、内核参数)吗?

于 2010-01-19T17:19:55.183 回答
0

Matlab在这里对这个问题有一个简单但很好的解释。它解释了 ANN 和 GA 部分。

有关在命令行中使用 ANN 的更多信息,请参阅

如果你用谷歌搜索的话,也有很多关于这个主题的文献。然而,它与 MATLAB 无关,而只是结果和方法。

于 2013-03-25T09:01:22.613 回答
-1

在 Google Scholar 上查找 Matthew Settles。在过去的 5-6 年里,他在爱达荷大学做了一些这方面的工作。他应该有与你的工作相关的引文。

于 2010-01-19T18:34:47.523 回答