基因算法(Genetic Algorithm,GA)是一种优化不可导目标函数的数值优化方法。它模仿生物进化过程,使用生物进化概念搜索一个优化问题的全局最优解(极小值或极大值)。
开始时,GA生成初代的候选解。如果想找模型参数的最优解,我们先随机生成多种不同的参数组合。接着,用目标函数测试每个参数组合。每个组合可以被想象成位于多维空间中的一个点。然后,我们再通过“筛选”“交换”和“突变”等方法从前一代点生成下一代点。
简而言之,由目标函数测试表现最好的点得到保留,每次新一代的结果都比前一代保留的点多。在新一代中,前一代表现最差的点被取代,取而代之的是表现最好点的“突变”和“交换”。一个点的突变是对原数据点某些属性的随机篡改,交换则是若干个点的某种组合(比如平均)。
基因算法可对任何可测量的优化标准求解。比如,GA可用于优化一个学习算法的超参数。不过,它的速度一般比基于梯度的优化方法慢不少。
大型站长资讯类网站! https://www.86zz.com.cn