ϵ-greedy Policies

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/Solo95/article/details/102751088

ϵ\epsilonϵ-greedy Policies

非常简单的平衡探索(Explotation)和利用(Exploitation)的思想是通过确保整个过程随机来实现的。实际上就是随机和贪心相结合。

实际上这个策略在论文里一般一句话就可以概括:ϵ\epsilonϵ-greedy policy that selects a random action with probability ϵ\epsilonϵ(不准确) or otherwise follows the greedy policy a=argmaxaQπ(s,a)a = \mathop{argmax}\limits_{a}Q^\pi(s,a)a=aargmax​Qπ(s,a)

  • 简单的去平衡探索和利用的思想
  • 记∣A∣|A|∣A∣是所有可能的动作的数量
  • 那么针对state-action的价值Qπ(s,a)Q^\pi(s,a)Qπ(s,a)的ϵ\epsilonϵ-greedy策略是: π(a∣s)={argmaxaQπ(s,a)with probability 1−ϵawith probability ϵ∣A∣ \pi(a|s) = \begin{cases} \mathop{argmax}\limits_{a}Q^\pi(s,a) \quad with \ probability \ 1-\epsilon \\ a \qquad \qquad \qquad \qquad with \ probability \ \frac{\epsilon}{|A|} \end{cases} π(a∣s)=⎩⎨⎧​aargmax​Qπ(s,a)with probability 1−ϵawith probability ∣A∣ϵ​​

这是一个非常简单的策略,但好的地方在它够用了。

下面是它有效的证明。

证明ϵ\epsilonϵ-greedy策略能单调提升

Greedy in the Limit of Infinite Exploration(GLIE)

GLIE的定义

  • 所有的state-action对都是无限次的被访问即 limi→∞Ni(s,a)→∞\mathop{lim}\limits_{i\rightarrow \infty}N_i(s,a) \rightarrow \inftyi→∞lim​Ni​(s,a)→∞
  • 那么行为策略会收敛到贪心策略 limi→∞π(a∣s)→argmax Q(s,a)withprobablity 1\mathop{lim}\limits_{i\rightarrow \infty} \pi(a|s) \rightarrow \mathop{argmax} \ Q(s,a) \quad with probablity \ 1i→∞lim​π(a∣s)→argmax Q(s,a)withprobablity 1 即百分之百收敛到贪心策略
  • 一个简单的GLIE策略是 ϵ\epsilonϵ-greedy,其中ϵ\epsilonϵ以ϵi=1i\epsilon_i = \frac{1}{i}ϵi​=i1​的比率逐渐减小到0

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏瓜农老梁

Sentinel基于滑动窗口的流量统计【源码笔记】

1.StatisticSlot主要职责是流量统计(为后面插槽链的流控和降级做准备),这些流量是如何统计出来的? 2.统计出来的流量在流控中是如何使用的?

17340
来自专栏路人甲Java

玩转Mysql系列 - 第19篇:游标详解

此时我们需要使用游标,通过游标的方式来遍历select查询的结果集,然后对每行数据进行处理。

9020
来自专栏服务端思维

漫谈设计模式在 Spring 框架中的良好实践

好的,我们开始进入正题。设计模式实践里面提供了许多经久不衰的解决方案和最佳方案。这里,GOF 设计模式主要分为三大类:创建模式、结构模式和行为模式。创建模式对于...

12630
来自专栏测试驿栈

必须掌握的阶梯式性能指标监听!

我们在进行阶梯式压力测试的时候,聚合报告生成的结果是一个汇总数据。并不会阶梯式的统计压测性能数据。这样我们就不能去对比不同阶梯压力下的性能数据变化趋势。

12320
来自专栏林德熙的博客

dotnet Framework 源代码 · ScrollViewer

本文是分析 .net Framework 源代码的系列,主要告诉大家微软做 ScrollViewer 的思路,分析很简单。 看完本文,可以学会如何写一个 Scr...

6420
来自专栏Java那些事

经典面试题:最长回文子串

回文串是面试常常遇到的问题(虽然问题本身没啥意义),本文就告诉你回文串问题的核心思想是什么。

8240
来自专栏Flink实战应用指南

Protocol Buffer Basics: Java(一)

This tutorial provides a basic Java programmer's introduction to working with pr...

8420
来自专栏路人甲Java

玩转Mysql系列 - 第16篇:变量详解

Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能。

10630
来自专栏web秀

Javascript 面试的完美指南(开发者视角)

函数是 JavaScript 的精华,是 JS 一等公民。JS 函数不仅仅是一个普通的函数,与其他语言不同,JS 函数可以赋值给变量,作为参数传递给另一个函数,...

11050
来自专栏编程之路的专栏

程序员C语言快速上手——工程篇(十三)

当C语言工程很大,源码非常多时,如果还去使用GCC命令编译程序,几乎是不现实的。这时候,可以通过编写shell脚本去执行编译命令,当然这并不是一种好的方式。在L...

16430

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励