5

我对这个主题很新,所以任何帮助都会很棒。我需要的是使用遗传算法优化MATLAB中的神经网络。我的网络有[2x98]输入和[1x98]目标,我试过咨询MATLAB的帮助,但我仍然有点不知道该怎么做:(所以,任何帮助,将不胜感激。编辑:我想我没有说什么有待优化,丹在第一个答案中说,我认为最重要的是隐藏的神经元的数量,也许隐藏层数和训练参数,如时代的数量等等。对不起,不提供足够的信息,我仍然在学习这一点。如何利用遗传算法优化神经网络?

回答

0

好,你需要更具体的了解你正在设法优化的东西。它是隐藏层的大小?你有一个隐藏层?参数优化(学习率,核参数)?

+0

感谢您的答案,我编辑问题 – 2010-01-19 17:41:16

1

如果这是一项家庭作业,请做任何你在课堂上教过的东西。

否则,完全抛弃MLP。支持向量回归(http://www.csie.ntu.edu.tw/~cjlin/libsvm/)在广泛的问题中可以更可靠地训练,并且几乎从未陷入困扰本地最小值问题,通常受到反向传播训练的MLP的影响,这迫使您解决网络问题地形优化问题只是为了找到一个真正训练的网络。需要的,而不是蛮力搜索所有组合挑好一个将被调整,

0

我假定你有一组参数(隐藏层#,每层的神经元#...),GA可以帮助你从这个组合跳到另一个组合。所以,你可以“探索”潜在候选人的搜索空间。

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

您需要找到除了爱情之外编码输入到GA的数据(输入参数,功能...)。为了找到一组输入段或一组好的功能,我认为二进制编码应该可以工作。另外,选择遗传算法来重现后代也很重要。然而遗传算法也需要调整(早期停止,也可以应用于ANN)。

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

+0

感谢您的答案,但我需要它更具体。就像,如果我在MATLAB中使用遗传算法函数, X = GA(FITNESSFCN,NVARS) 应该是函数,输入和最终如何处理x。 – 2010-01-21 20:29:48

+0

对不起,我从来没有碰过matlab的遗传算法。我认为你可以参考它的文档中的参数和返回值的含义。 – user247468 2010-01-26 18:33:02

-1

查一查马修在谷歌学术落户。在过去的5 - 6年里,他在爱达荷大学的这个领域做了一些工作。他应该有与你的工作相关的引文。

0

由于您已经使用MATLAB,我建议您查看Genetic Algorithms solver(称为GATool,Global Optimization Toolbox的一部分)和Neural Network Toolbox。在这两者之间,你应该可以节省相当多的精力。

你基本上需要做的两个主要任务:为您的候选方案

  1. 拿出一个表示(或编码)
  2. 代码你的健身功能(这基本上测试候选解决方案),并通它作为GA解算器的一个参数。

如果您在获得适应性功能或候选解决方案的编码方面需要帮助,那么您需要更具体。

希望它有帮助。

0

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

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

关于这个问题也有很多文献,如果你谷歌它。然而,它与MATLAB没有关系,只是结果和方法。