10.6遗传程序设计

  • 进化计算的代表算法(Genetic Programming)

  • GA & GP

    • GA和GP很像
      • 有人说GP就是GA的一个分支
    • 区别
      • GA(遗传算法)中:用0101的串来表示选择、不选择
      • GP中:进化的是一个计算机的程序
    • 输出
      • GA:一组参数值0.5、0.3等等
      • GP:一个计算机的程序(程序可以做很多事情,例如控制机器人等等)
    • GP发明人:John Koza
      • 人类的很多专利,可以用计算机的方法自己发明出来(reinvent重新创造)
  • Functions & Terminals

    • GP中是一个树状结构,它在进化的是一棵树,这棵树代表了一段计算机的程序(我想要计算机做什么事情,就让它进化出这样一段程序,使计算机可以去做这件事情)
    • Terminal Set
      • variables(变量)
      • constants(常量)
    • Function Set(函数)
  • Crossover

    • 树的杂交:交换子树
    • 当时是老师教的一元二次方程的求根公式,但是计算机可以自己发现(通过进化)
    • 区别
      • GA:
        • 两个100维的向量杂交只会生成100维的向量
        • 两个相同的父代的杂交没有任何意义(交换完和交换前一模一样)
      • GP:
        • 非常灵活,树的高度可能增加(减少)
        • 两个相同的父代的杂交子代可不同,因不需要一一对应的交换(如图所示)
  • Mutation

  • An Example of GP(用GP做回归)

    • 思路:根据某个公式生成点,使用GP进化出来我生成点用的是哪个公式
    • Fitness Evaluation
      • 真实值和预测值之间的差的绝对值的和
    • Generation 0

      • 随机生成一些树,每一棵树代表一个可能的Candidate
      • Terminal是X(一元)
      • R代表1、2、3、4、5、6....(可以加这些数值)
      • Function是加减乘除
      • 评价

        • 蓝色表示“误差”,求积分(0.67,1.0,1.70,2.67)
        • evaluate每一个candidate,,之后通过selection、crossover、mutation,不断迭代变化,总有一代可进化成与Ground Truth相同的结果曲线
  • Review

    • Evolvable Machine(可进化硬件)
      • 电路可以根据环境变化而变化其结构和行为(超过了设计师当初给它设计的功能)
  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值