翻译自 The Epsilon-Greedy Algorithm – James D.McCaffrey

epsilon-greedy算法(通常使用实际的希腊字母ϵ\epsilonϵ)非常简单,并且在机器学习的多个领域被使用。epsilon-greedy的一种常见用法是所谓的多臂匪徒问题(multi-armed bandit problem)。

假设你站在k = 3台老虎机前面。每台机器都会根据不同的概率分布进行支付,而你不知道这些分布。假设你总共可以玩100次。

你有两个目标。第一个目标是使用一些硬币以尝试确定哪台机器的支出最佳。第二个与此相关的目标是获得尽可能多的钱。术语“ explore”和“ exploit”用于表示您必须使用一些硬币进行探索(explore)才能找到最佳机器,并且你希望在最佳机器上使用尽可能多的硬币来利用(exploit)您的知识。

在玩游戏时,你会跟踪每台机器的平均收益。然后,选择当前平均收益最高的机器,概率为(1–ϵ)+(ϵ/k)(1 – \epsilon)+(\epsilon / k)(1–ϵ)+(ϵ/k),其中epsilon是一个很小的值,例如0.10。然后,您选择的机器的当前支出平均值不是最高,概率为ϵ/k\epsilon / kϵ/k。

下面我们举个例子。假设在开始我们尝试了12次,为了得到平均收益

  • 其中4次玩1号机器,两次赢得1元,两次赢得0元。1号机器的平均值为 2/4 = 0.50元
  • 5次2号机器,赢得了3次1元和两次0元。2号机器的平均支出为3/5 =0.60元
  • 在3号机上玩了3次,一次赢了1元,两次赢了0元。3号机器的平均支出为1/3 = 0.33元

从第13次开始,你就需要选择一个机器尝试了。首先生成一个介于0.0和1.0之间的随机数p。假设ϵ\epsilonϵ设置为0.10。如果p>0.10p> 0.10p>0.10(有90%的机会),则选择2号机器,因为它具有当前最高的平均支出。但是,如果p<0.10p <0.10p<0.10(只有10%的时间),则选择一台随机计算机,因此每台计算机都有1/3的机会被选中。请注意,由于您是从所有计算机中随机选择的,因此2号计算机仍可能会被拾取。

随着时间的流逝,最好的机器会越来越频繁地被选择,因为选择它将得到更多的收益。简而言之,ϵ\epsilonϵ贪婪意味着大多数时候都选择当前最佳选项(“贪婪”),但有时选择概率很小的随机选项。

还有许多其他算法可以解决多臂匪徒问题。但是epsilon-greedy非常简单,并且通常比UCB(“upper confidence bound”)等更复杂的算法有更好的效果。

Epsilon-Greedy算法相关推荐

  1. 强化学习第二:epsilon贪心算法

    接着考虑前文的10臂老虎机问题.假设我们可以与老虎机交互TTT次,显然我们每次采取的行动(action)不必一成不变.记我们在ttt时刻采取行动为ata_tat​,获得的回报为R(at)R(a_t)R ...

  2. greedy算法/算法导论/挑战程序设计竞赛

    贪婪算法 贪心算法自顶向下,常规递归->尾递归->迭代.每次看一个解. 贪心算法的选择: 1.一个全局最优解可以通过局部最优(贪心)来选择达到. 2.我们所做的选择总是当前看起来最佳的的选 ...

  3. bandit算法(3)--UCB算法

    引言 前面已经介绍了两种bandit算法- ϵ \epsilon ϵ-greedy算法和softmax算法.现在我们来总结下这两种算法的共有属性: 两种算法在每一轮选择时,默认都是选择到目前为止最好的 ...

  4. Q-learning算法辅助求解柔性作业车间调度问题--附带源码测试集模型

    Q学习算法求解FJSP 摘要 论文简介 Q-learning 算法 Q学习算法 如何设计Q学习算法 我是如何设计的 第二类型模糊数的FJSP问题 提出的算法 框架 初始化方法 局部搜索策略 贪心节能策 ...

  5. 深度强化学习—— 译 Deep Reinforcement Learning(part 0: 目录、简介、背景)

    深度强化学习--概述 翻译说明 综述 1 简介 2 背景 2.1 人工智能 2.2 机器学习 2.3 深度学习 2.4 强化学习 2.4.1 Problem Setup 2.4.2 值函数 2.4.3 ...

  6. 从多臂老虎机开始学习强化学习中的探索与利用

    从多臂老虎机开始学习强化学习中的探索与利用 \quad 目录 从多臂老虎机开始学习强化学习中的探索与利用 多臂老虎机问题 形式化描述 估计期望奖励 代码实现 策略中的探索与利用 ϵ\epsilonϵ- ...

  7. 【强化学习】MCTS

    目录 Simulation-Based Search MC Search MCTS 上线置信区间算法UCT 棋类游戏MCTS搜索 MCTS的简单实现 Simulation-Based Search 基 ...

  8. 从SARSA算法到Q-learning with ϵ-greedy Exploration算法

    这篇博文是Model-Free Control的一部分,事实上SARSA和Q-learning with ϵ-greedy Exploration都是不依赖模型的控制的一部分,如果你想要全面的了解它们 ...

  9. ML算法岗从业几年还不具备提出新模型的技术能力?看这个就够了!

    AI是一门入门简单,但想深入却很难的学科,这也是为什么AI高端人才一直非常紧缺的重要原因.在AI领域技术领域,我们可以说机器学习功底决定了一个人的上限也不为过.为什么?机器学习就像物理学中的数学,如果 ...

  10. 强化学习组队学习task04—— DQN 算法及 Actor-Critic 算法

    文章目录 一.DQN 1.状态价值函数的估计方法 2.Q函数 3.DQN网络中的tips (1)目标网络 (2)Exploration (3)Experience Replay(经验回放) 4.DQN ...

最新文章

  1. 使用HTML5的canvas做一个会动的时钟
  2. Android深度探索第四章
  3. 使用Nexus搭建Maven私服
  4. POJ - 3189 Steady Cow Assignment(二分图多重匹配)
  5. 解决SQLServer事物日志过大的方法
  6. 【总结】Dancing Links
  7. c语言的课本答案,c语言课本试题答案
  8. css常用或不熟悉的
  9. 单片机复位电路基础知识解析
  10. codebook算法原理
  11. 英伟达服务器系统显卡驱动,NVIDIA显卡驱动
  12. 最完美开启三星note9USB调试模式的方法
  13. 怎么测试网站服务器速度,怎么测试网站速度
  14. vue使用echarts图表渲染异常本地正常,线上时有时无的渲染
  15. 【寻找最佳小程序】13期:心算练习——寓教于乐,练就小朋友强大的算术能力...
  16. 2030年,程序员工资还能达到现在的水平吗?
  17. COPY NAV导航网格寻路(4) -- 生成nav网格
  18. java初级程序员考试_Java初级程序员必须要知道的10个基础面试题
  19. 搞一下CP AUTOSAR 入门 | 07 CP AUTOSAR ComM 详解
  20. JavaScript 获取键盘事件(键盘某个按键被按下)

热门文章

  1. Simon的新中文“百万格子”重磅推出
  2. 口袋的天空(洛谷 P1195)
  3. openwrt 无线基础知识介绍
  4. 洛可可田浩:情感设计让产品开口说话
  5. solidworks出专利图小技巧
  6. vue IE兼容性问题汇总
  7. 做一个学(chou)习(ka)游戏(一)
  8. 市场上的智能语音助理,主要的工作原理是什么?
  9. pyqtgraph系列文章:直方图(Histogram)
  10. 未来几年,谁能拯救手机拍照功能?