zoukankan      html  css  js  c++  java
  • 学习日志-2021.11.08

    学习日志-2021.11.08

    其他Q-Learning

    SA-Q-learning

    为了平衡Q-learning的探索与利用,基于Metropolis准则提出的算法

    算法描述
    • 初始化Q表

    • 对每一轮次(episode):

      • 随机选择或初始化一个状态 (s_t)

      • 对于每一步(step):

        • 从动作空间随机选择一个动作 (a_r)

        • 根据策略 (pi (s_t)) (一般指Q-learning的 (epsilon - greedy) 策略)从动作空间选择一个动作 (a_p)

        • 获取一个随机数 (zeta ∈ (0,1))

        • 如果 (zeta < exp ((Q(s,a_r)-Q(s,a_p))/T)) ,那么 (a ← a_r) ,否则 (a ← a_p)

        • 执行动作 (a) ,并获得一个收益 (r_{t+1}) 和当前的新状态 (s_{t+1})

        • 根据下面的公式更新 (Q (s_t , a_t))

          [Q(s_t,a_t) ← Q(s_t,a_t) + alpha (r_{t+1} + gamma max_a Q(s_{t+1},a) - Q(s_t , a_t)) ]

        • (s_t ← s_{t+1})

      • 当(step)到达某一个目标状态时,结束循环

      • 使用温度下降公式重新计算温度参数 (T)

    • 当轮次(episode)达到预定次数时,结束循环

    EQL 算法(enhanced Q-learning)

    算法描述
    • 随机初始化所有 (Q(s,a)) 的值

    • 对每一轮次(episode):

      • 随机选择或初始化一个状态 (s_t)

      • 对于每一步(step):

        • ( ilde{Q_t} = max_a (Q(s_t , a)) - min_a (Q(s_t,a)))

        • (ΔV_t = max_a (Q(s_t,a)) - max_a (Q(s_{t-1}, a)))

        • (E_t = v E_{t-1} + (1-v)log(T_{t-1}))

        • 使用模糊平衡器计算 (T) 如下所示:

        • 使用策略从 (Q) 的状态 (s_t) 选择合适的动作 (a_t),根据玻尔兹曼分布使用参数 (T) 计算再决定是否采取

        • 执行动作 (a_t) ,并获得一个收益 (r_{t+1}) 和当前的新状态 (s_{t+1})

        • 根据下面的公式更新 (Q (s_t , a_t))

          [Q(s_t,a_t) ← Q(s_t,a_t) + alpha (r_{t+1} + gamma max_a Q(s_{t+1},a) - Q(s_t , a_t)) ]

        • (s_t ← s_{t+1})

      • 当(step)到达结束状态

    • 当轮次(episode)达到预定次数时,结束循环

  • 相关阅读:
    点击空白处回收键盘
    数据处理文件读取---预习 1.30
    界面通信之属性传值、代理传值
    UITableView的添加、删除、移动操作
    加载plist文件数据的方法
    UITableViewCell的重用机制
    自定义cell自适应高度
    关于Xcode7更新之后使用 SDWebImage 图片加载不出来
    简述frame、bounds、center
    layoutSubviews方法需要被调用的情况有哪些
  • 原文地址:https://www.cnblogs.com/SilentSamsara/p/15526408.html
Copyright © 2011-2022 走看看