遗传算法优化神经网络结构和阈值、权值问题!
在应用遗传算法优化神经网络时,输入层n、输出层m神经元的个数一般根据具体问题确定,不需要进行重新设置。而隐含层的神经元个数大部分都是根据经验确定,如取输入层数目的2n+1等,只对阈值、权值进行优化,这样并不能保证网络结构是最佳的结构,通过训练就难以使误差最小。所以想考虑同时优化结构和阈值、权值!我的思路是这样的:
隐含层的个数为2个,每个隐含层包含的神经元数目范围在【1,30】内,对网络结构和阈值、权值采用二进制、实数混合编码。隐含层数目采用一个10位二进制数编码,前5位表示第一个隐含层节点数目,后5位表示第二个隐含层节点数;后面的阈值、权值采用实数编码,由二进制和实数混合编码组成一个染色体个体。
问题:
1,这样编码后,二进制编码部分是固定长度的,而实数编码部分是随着各层隐含层神经元数目改变,是不固定长度的,在后面的选择、交叉和变异中怎样处理种群个体不等长问题?
2,如果考虑等长问题,取染色体个体的最大长度,即n×30(权值)+30(阈值)+30*30(权值)+30(阈值)+30×m(权值)+m(阈值),这样必然会存在很多闲置的阈值、权值,又该如何处理? 顶了,我也想知道这问题的答案
回复 #1 pyyyzl007 的帖子
有没有人肯帮忙解释啊 我还想知道权值和阈值都是十进制,而优化网络结构(即隐含层节点数矩阵)是01二进制矩阵,编程时是不是这两个作为一个染色体进行操作,并且操着时交叉函数选哪个?或者是还有什么别的方法啊? 不懂哎,刚开始学 多目标优化例子
页:
[1]