作业:今天以自由探索的思路为主,尝试检索资料、视频、文档,用尽可能简短但是清晰的语言看是否能说清楚这三种算法每种算法的实现逻辑,帮助更深入的理解。
一、遗传算法
先取一个大的范围检索,再以生物进化论的方法,留下表现好的参数,淘汰劣质参数,以不断缩小范围。最终选择最佳参数
实现逻辑:
1. 初始化种群
随机生成一定数量的个体组成初始种群。每个个体的编码方式取决于具体问题,例如,对于一个优化问题,个体可以用二进制串或实数向量表示。
2. 计算适应度
根据问题的目标函数,计算每个个体的适应度值。适应度函数需要根据具体问题进行设计,例如在最大化问题中,目标函数值越大,适应度越高。
3. 选择操作
根据个体的适应度值,选择部分个体作为父代,用于产生下一代。常见的选择方法有轮盘赌选择、锦标赛选择等。轮盘赌选择的基本思想是,个体的适应度越高,被选中的概率越大。
4. 交叉操作
对选中的父代个体进行交叉操作,生成新的子代个体。交叉操作模拟了生物的基因重组过程,常见的交叉方法有单点交叉、多点交叉、均匀交叉等。
5. 变异操作
对子代个体的某些基因进行随机改变,增加种群的多样性,避免算法陷入局部最优。变异操作模拟了生物的基因突变过程,变异概率通常设置得较小。
6. 替换种群
用新生成的子代个体替换部分或全部旧的种群个体,形成新的种群。
7. 终止条件判断
判断是否满足终止条件,如达到最大迭代次数、适应度值达到阈值等。如果满足终止条件,则输出最优解;否则,返回步骤 2 继续迭代。
二、粒子群算法
类似鸟群或鱼群的群体行为,将每个超参数看作粒子,粒子在不断的运动中,会找到最佳的飞行速度以及位置,从而找到最优解。
基本概念:
- 粒子(Particle) :代表搜索空间中的一个潜在解,每个粒子有自己的位置和速度。
- 位置(Position) :粒子在搜索空间中的坐标,对应问题的一个解。
- 速度(Velocity) :决定粒子下一步移动的方向和距离。
- 个体最优位置(pbest) :粒子自身在历史搜索过程中找到的最优位置。
- 全局最优位置(gbest) :所有粒子在历史搜索过程中找到的最优位置。
三、退火算法
类似金属冶炼的退火过程。将超参数随机组合,若组合的效果较好,则接受它的概率就大,若效果不好,则接受的概率较小,概率会随着效果的降低而越来越低
关键概念
- 状态(State) :对应问题的一个解。在不同的问题中,状态可以有不同的表示形式,例如在旅行商问题中,状态可以是城市的访问顺序。
- 目标函数(Objective Function) :用于评估每个状态的优劣程度,通常也称为能量函数。目标是找到使目标函数值最小(或最大)的状态。
- 温度(Temperature) :控制算法的搜索行为。初始温度较高,允许算法在较大范围内搜索;随着温度降低,算法逐渐收敛到局部区域。
- 冷却进度表(Cooling Schedule) :规定了温度随时间的下降方式,包括初始温度、温度衰减系数和终止温度等参数。