神经网络优化与遗传算法

Ser*_*e85 11 matlab mathematical-optimization neural-network genetic-algorithm

遗传算法是最有效的方法来优化隐藏节点的数量和在人工神经网络上完成的训练量吗?

我正在使用Matlab中的NNToolbox编写神经网络.我对优化技术的任何其他建议持开放态度,但我最熟悉GA.

awk*_*awk 11

实际上,您可以使用GA针对NN优化多种内容.您可以优化结构(节点数,层数,激活函数等).您也可以使用GA进行训练,这意味着设置权重.

遗传算法永远不会是最有效的,但是当你几乎不知道使用什么数字时,它们通常会被使用.

对于培训,您可以使用其他算法,包括反向传播,nelder-mead等.

你说你想优化数字隐藏节点,为此,遗传算法可能就足够了,虽然远非"最优".您正在搜索的空间可能太小而无法使用遗传算法,但它们仍然可以工作和afaik,它们已经在matlab中实现,所以没有大问题.

通过优化培训数量,您的意思是什么?如果你的意思是纪元数,那就没关系,只要记住训练在某种程度上取决于起始重量而且它们通常是随机的,所以用于GA的适应度函数实际上不是一个函数.


Jer*_*ell 5

神经网络和遗传编程的一个很好的例子是 NEAT 架构(增强拓扑的神经进化)。这是一种寻找最优拓扑的遗传算法。众所周知,它还擅长减少隐藏节点的数量。

他们还使用它制作了一款名为 Nero 的游戏。非常独特和非常惊人的有形结果。

斯坦利博士的主页:

http://www.cs.ucf.edu/~kstanley/

在这里你会发现几乎所有与 NEAT 相关的东西,因为他是它的发明者。