我在做一个作业,需要进化我的神经网络的权重。我的神经网络已经可以工作了,但我不知道如何进化我的网络以获得好的结果。
我知道我的AI老师说过我需要使用S形函数并累加权重乘以输入,但我对其他部分不太确定。
谢谢。
编辑:我需要使用遗传算法来训练权重。抱歉之前没有说清楚。
回答:
实现这一点的方法有很多种,通常情况下,作业不会只让你去完成任务而没有提供一个具体的算法去实现。
在人工智能或神经网络课程中教授的一种常见方法是反向传播:
http://en.wikipedia.org/wiki/Backpropagation
更新: 哦,我明白了。现在我至少可以给你指引正确的方向。讨论的内容有点长,无法在stackoverflow的回答空间中完全展开,但基本思想是生成一批随机的神经网络(非常差地!)来解决你的问题,然后对这些网络应用遗传算法(即,将神经网络转换为可以根据其适应度进行突变、交叉/重组等操作的染色体),让整个系统从原始的泥浆中自我提升。可以这么说。
这里有一篇关于一个特定应用(国际象棋)的非常好的论文,由Fogel等人撰写:http://www.aics-research.com/ieee-chess-fogel.pdf