【发布时间】:2012-01-22 22:15:25
【问题描述】:
我有两个描述神经网络结构的对象数组,我怎样才能将它们结合起来产生一个真实的后代? “染色体”看起来像这样:
chromosome = [
[Node, Node, Node],
[Node, Node, Node, Node, Node],
[Node, Node, Node, Node],
[Node, Node, Node, Node, Node],
[Node, Node, Node, Node, Node, Node, Node],
[Node, Node, Node],
];
一个示例节点:
Node {
nodesThatThisIsConnectedTo = [0, 2, 3, 5] // These numbers identify which nodes to collect output from in the preceding layer from based on their index number
weights = [0.34, 0.33, 0.76, -0.56] // These are the corresponding weights applied to the mentioned nodes
}
【问题讨论】:
-
神经网络的交叉很困难,原因有很多。您可能想查看NEAT,它使用巧妙的机制(历史标记)来解决问题。链接的论文(页面底部)包含有关如何/为什么起作用的更多信息。
-
阅读 2005 年(我认为)的原始论文,它写得非常出色,可以回答你所有的问题。
标签: artificial-intelligence neural-network genetic-algorithm