我对这个主题很陌生,所以任何帮助都会很棒。我需要的是使用 GA 在 MATLAB 中优化神经网络。我的网络有 [2x98] 输入和 [1x98] 目标,我已经尝试咨询 MATLAB 帮助,但我仍然对该怎么做一无所知:(所以,任何帮助将不胜感激。提前致谢。
编辑:我想我没有像丹在第一个答案中所说的那样说要优化什么。我想最重要的是隐藏神经元的数量。可能还有隐藏层的数量和训练参数,比如 epoch 的数量。抱歉没有提供足够的信息,我还在学习这个。
我对这个主题很陌生,所以任何帮助都会很棒。我需要的是使用 GA 在 MATLAB 中优化神经网络。我的网络有 [2x98] 输入和 [1x98] 目标,我已经尝试咨询 MATLAB 帮助,但我仍然对该怎么做一无所知:(所以,任何帮助将不胜感激。提前致谢。
编辑:我想我没有像丹在第一个答案中所说的那样说要优化什么。我想最重要的是隐藏神经元的数量。可能还有隐藏层的数量和训练参数,比如 epoch 的数量。抱歉没有提供足够的信息,我还在学习这个。
如果这是一项家庭作业,那就去做你在课堂上学到的任何东西。
否则,完全放弃 MLP。支持向量回归(http://www.csie.ntu.edu.tw/~cjlin/libsvm/)在广泛的问题中更可靠地训练,并且几乎永远不会遇到卡在本地的问题-minima 问题经常受到反向传播训练的 MLP 的影响,这迫使您解决网络拓扑优化问题,只是为了找到一个可以实际训练的网络。
我假设您有一组需要调整的参数(隐藏层数,每层神经元数...),而不是蛮力搜索所有组合以选择一个好的组合,GA 可以帮助您“跳跃”从这个组合到另一个组合。因此,您可以“探索”潜在候选人的搜索空间。
GA 可以帮助选择“有用的”功能。某些功能可能看起来是多余的,您想要修剪它们。然而,比如说,数据的特征太多,无法通过某些方法(例如前向选择)来搜索最佳特征集。同样,GA 可以从这个集合候选“跳”到另一个。
您将需要找到对输入 GA 的数据(输入参数、特征...)进行编码。为了找到一组输入参数或一组好的特征,我认为二进制编码应该有效。此外,为遗传算法选择算子来繁殖后代也很重要。然而 GA 也需要调整(早期停止也可以应用于 ANN)。
这里只是一些想法。您可能想搜索有关 GA、特征选择、ANN 修剪的更多信息......
由于您已经在使用 MATLAB,我建议您查看遗传算法求解器(称为 GATool,是Global Optimization Toolbox的一部分)和Neural Network Toolbox。在这两者之间,您应该能够节省相当多的计算时间。
您基本上必须完成两项主要任务:
如果您在提出适应度函数或候选解决方案的编码方面需要帮助,那么您必须更加具体。
希望能帮助到你。
好吧,您需要更具体地了解您要优化的内容。是隐藏层的大小吗?你有隐藏层吗?是参数优化(学习率、内核参数)吗?
在 Google Scholar 上查找 Matthew Settles。在过去的 5-6 年里,他在爱达荷大学做了一些这方面的工作。他应该有与你的工作相关的引文。