Python训练营打卡DAY12

DAY12

未来几天都是五一假期,适当降低内容难度和工作量,祝大家节日快乐!

超参数调整专题2

  1. 三种启发式算法的示例代码:遗传算法、粒子群算法、退火算法
  2. 学习优化算法的思路(避免浪费无效时间)

作业:今天以自由探索的思路为主,尝试检索资料、视频、文档,用尽可能简短但是清晰的语言看是否能说清楚这三种算法每种算法的实现逻辑,帮助更深入的理解。

个人理解:这些算法都是网格搜索的优化版本。从最初的遍历硬拆解最优超参数到随机抽取超参数,现在不过是随机的方式越来越巧妙,能更快的逼近或得到最优超参数而避开局部最优解。

遗传算法

基于自然选择和遗传机制的优化算法,孟德尔随机化,模仿生物进化过程来寻找问题的最优解。

通过随机一组候选组,通过适应度函数评判其种群优劣度;这组候选组通过一些方法优胜劣汰适者生存,趋向于适应度更高即种群更优的方向;接下来朝着下一代进化,类似于染色体杂交,其中以低概率模拟种群变异,增加多效性;更新种群,评判优劣,不断迭代。

粒子群算法

群优化算法,受到鸟群和鱼群等自然群体行为的启发,其核心思想是通过一群粒子在搜索空间中的位置和速度的更新,逐步逼近最优解。之前了解过蚁群算法解决旅行商问题,群优化有一定认识。

  1. 初始化:

    在搜索空间中随机生成一群粒子,每个粒子有位置(Position)和速度(Velocity)。初始时,每个粒子还记录其历史最佳位置(个人最优,pBest),整个群体记录的最优位置(全局最优,gBest)。
  2. 适应度评估:

    计算每个粒子当前位置对应的目标函数值(适应度),用以衡量粒子当前解的优劣。
  3. 更新个体最优和全局最优:

    • 若当前粒子位置比之前的个人最优位置更优,则更新该粒子的pBest。
    • 若当前粒子位置比全局最优位置更优,则更新gBest。
  4. 更新粒子的速度和位置

  5. 终止条件:

    根据预定的停止准则(如达到最大迭代次数、群体适应度满足要求或无显著改善)判断是否结束,否则返回步骤2。                                                                                                       

模拟退火算法 

随机优化方法,借鉴物理中的金属退火过程,通过逐步降低“温度”来搜索问题的最优解。

随机一个初始较高温度,不断退火降温;在退火降温过程中寻找随机解中逼近最优的那个。

Python训练营打卡DAY12_第1张图片

你可能感兴趣的:(python,开发语言)