遗传算法
对于非凸包误差函数而言,使用梯度下降法可能会卡在局部最优解上
如果需要找到全局最优解,那么需要搜索所有空间
例如使用 进化算法
![img](https://miro.medium.com/max/1760/1*hvFpDc9jqVqMfB-NMgbxyw.jpeg)
遗传算法介绍
遗传算法被认为是基因算法的一种,由 John Holland 提出,基于达尔文“适者生存”理论
使用 选择、交叉 和 变异 找到最优解
工作原理
开始时定义 初始代,包含有几个解决方案。每个解决方案称之为个体,每个个体编码为由一组基因表示的染色体。
![i](https://miro.medium.com/max/1430/1*noJedecPF1dUJygTwuPhYg.jpeg)
编码后的 适应性 由一个因问题而异的 适应函数 来计算出,适应性越大越好。
- 生存
- 交配
- 变异
![流程](https://miro.medium.com/max/795/1*G9WdXqxj016CaAX9zrFewQ.jpeg)
数据表示
使用矢量表示一个实例的一串特征
选择
从这些个体中挑选下一代的父母,适应性越大,越可能被挑选为父母。