一、遗传算法
在计算机中使用01来模拟DNA,以实现遗传算法。
参考链接:https://morvanzhou.github.io/tutorials/machine-learning/ML-intro/5-01-genetic-algorithm/
二、进化策略
进化策略遗传算法类似,只不过它遗传的是两个信息,均值和标准差。后代在相同均值和标准差的正态分布中在变异。
参考链接:https://morvanzhou.github.io/tutorials/machine-learning/ML-intro/5-02-evolution-strategy/
三、神经网络进化
进化算法也可以跟神经网络进行结合。遗传算法神经网络在产生后代时各取父母一半的神经网络来组成后代的神经网络。而进化策略神经网络的结构是固定的,后代的神经网络会将父代的神经网络中神经元的联结进行修改,以后在将后代作为下一个父代时,将后代的神经网络进行综合,其中优秀的后代的联结会占较多的部分。
梯度算法指明了一个优化方向,所以它对于监督学习的优化会很快。而神经网络的进化却是用原始的网络,产生很多新的网络,并进行测试,留下优秀的网络。所以对于监督学习,它比梯度算法慢了很多,不过它可以有效避免局部最优。
在梯度下降中,很容易走到局部最优。但是如果采用进化算法,后代可以很容易地跳出局部最优,因为它不受梯度限制。
参考链接:https://morvanzhou.github.io/tutorials/machine-learning/ML-intro/5-03-neuro-evolution/