随机爬山学习算法:原理、实现与对比
在神经网络系统的发展中,学习算法至关重要。它能让神经网络具备解决问题和执行任务的能力。本文将详细介绍随机爬山学习算法(Stochastic Hill-Climber,SHC)及其随机重启版本(Random-Restart SHC),并与标准进化算法(EA)进行对比。
1. 学习方法
进化算法(EA)是一种基于种群的优化算法,通过选择、变异和交叉等生物类比操作来工作。在后续章节会开发基于种群的方法,但目前我们使用基于单个神经网络(NN)的系统,采用随机爬山算法(SHC)。
1.1 随机爬山算法(SHC)
将单个NN应用于问题,评估其性能,保存基因型和适应度。然后以某种方式对其基因组进行变异/扰动,再将变异后的NN重新应用于问题。如果变异后的代理表现更好,就保存其基因型和适应度并再次变异;如果表现更差,则将代理的基因型重置为先前状态,再次变异以查看新的变异体是否表现更好。如此在适应度景观上逐步向上攀登,若新变异体表现更差则后退一步,尝试不同方向,直到生成表现更好的变异体。若发现该代理的新变异体不再提高适应度,则认为其达到局部最优。此时可以保存其基因型和适应度得分,并将这个合适的NN应用于其优化的问题,或者重新开始,生成全新的随机基因型并尝试爬山以获得更高的适应度。
SHC算法步骤如下:
1. 重复:
2. 将NN应用于某个问题。
3. 保存NN的基因型及其适应度。
4. 扰动NN的突触权重,并将NN重新应用于同一问题。
5. 如果扰动后的NN适应度更高,丢弃原始NN并保留新的;如果原始NN的适应度更高,丢弃扰动后的NN并保留旧的。
6. 直到:找
随机爬山学习算法原理、实现与对比
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



