数据科学每日总结--Day26--数据挖掘

the bad news
  • 定义:盲目搜索目标解在巨大搜索的空间里,几乎不可能成功,就像大海捞针。就算是代表同一个元素,但是因为表示形式不同,搜索的空间也同样巨大。

  • 解决办法是需要利用问题和结构信息:

    1. 启发式与元启发式:GA/DE/PSO/SA/ACO 等,通过选择、交叉/变异、信息素、速度更新等逐步偏向更优区域

    2. 局部改进:2-opt/3-opt、梯度/拟牛顿、CMA-ES 等在有结构时快速细化

    3. 先验与约束:缩小可行域、合理初始化、变量缩放与降维

    4. 并行与代理:批量评估、多岛模型、贝叶斯优化/代理模型减少昂贵评估次数

FLOPS
  • 定义:指的是单精/双精浮点运算每秒,也就是原始算力

  • 面临问题:

    • 指数级搜索空间:前面说的NP-hard或高维优化,即使EFLOPS也难以穷举

    • 成本不止算力:数据搬运、缓存/带宽、分布式通信、I/O 会成为瓶颈

    • 目标函数昂贵:一次评估可能要跑复杂仿真/训练模型,单次就耗时

  • 工程应对:

    • 并行化:批评估、种群算法天然并行(异步/岛模型),利用多核/GPU/集群

    • 算法层优化:减少评估次数比提升每次速度更关键。用启发式、局部搜索、早停、剪枝

    • 代理/多保真:Bayesian/高斯过程、随机特征、低保真仿真加速筛选,再用高保真精修

    • 内存与数据布局:向量化、混合精度、减少数据复制,提高算力利用率

    • 复杂度管理:降维、问题分解、参数化设计,尽量把指数问题“变小”

一点交叉
  • 定义:在遗传算法中,交叉是用来模拟生物遗传过程中染色体之间基因组合的操作,目的是产生新的个体(下一代)。而一点交叉的具体做法是,在两个父代染色体的同一位置(交叉点)切开,然后交换切点后的基因段,从而生成两个新的子代。

  • 实现过程:

    1. 任选两个父代染色体

    2. 随机产生一个交叉点

    3. 以该点为界,左侧来自父本A,右侧来自父本B(或反之),拼接成子代

  • 作用:

    • 重组父代的“基因片段”,把各自的优良部分组合到一起,产生潜在更优的解

    • 比无性复制更能探索新的组合结构

遗传算子
  • 选择:

    • 作用:把搜索偏向“更有前景”的个体,强化利用

    • 风险:过强会降低遗传多样性,导致早熟收敛

    • 调参:降低锦标赛规模/精英数;引入随机保留

  • 交叉:

    • 作用:重组优秀“基因块”(Building Blocks),是GA的主要搜索动力,促进在解空间内做有意义的大步跳跃

    • 对多样性的影响:本身中性,取决于与选择/编码配合

    • 实务:选与编码匹配的交叉(实数SBX、排列PMX/OX等),pc常取0.6–0.9

  • 变异:

    • 作用:增加多样性、打破同质化,迫使算法探索当前焦点之外的区域

    • 风险:过大像随机搜索,过小难以逃离局部最优风险:过大像随机搜索,过小难以逃离局部最优

    • 调参:pm通常较小(如每位1/L或0.05–0.2),可自适应随代数或多样性调节

核心的平衡在于,选择提高利用,变异提高探索,交叉在二者间搭桥重组信息。一般会选择的经验策略是:前期弱选择+高交叉/略高变异促探索;后期加强选择、降低变异促收敛;配合精英保留与多样性监控/岛模型以稳健收敛

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值