当前位置: 首页 > 编程笔记 >

关于机器学习中的强化学习,什么是Q学习?

谢誉
2023-03-14
本文向大家介绍关于机器学习中的强化学习,什么是Q学习?,包括了关于机器学习中的强化学习,什么是Q学习?的使用技巧和注意事项,需要的朋友参考一下

Q学习是一种强化学习算法,其中包含一个“代理”,它采取达到最佳解决方案所需的行动。

强化学习是“半监督”机器学习算法的一部分。将输入数据集提供给强化学习算法时,它会从此类数据集学习,否则会从其经验和环境中学习。

当“强化代理人”执行某项操作时,将根据其是否正确预测(是采用正确的路径还是采取了正确的路径)来对其进行奖励或惩罚(奖励和惩罚不同,因为它们取决于手中的可用数据)。最便宜的)。

如果“加固代理人”获得奖励,它将朝着相同方向或相似路线移动。否则,如果对代理人进行惩罚,就可以理解为它给出的解决方案不是正确或最优的,并且需要找到更好的路径或输出。

增强剂与周围环境相互作用,对某些问题采取行动,从而确保最大程度地增加奖励/奖励。

为了更好地理解这一点,让我们以国际象棋为例。这个想法是让游戏中的每个玩家都采取行动来获胜(执行将死,将对手玩家的所有棋子脱掉,依此类推)。“代理人”将移动国际象棋的棋子,并改变棋子的状态。我们可以将国际象棋棋盘形象化为具有顶点的图形,并且“代理”从一个边缘移动到另一个边缘。

Q学习使用Q表来帮助座席了解并决定下一步应该采取的行动。Q表由行和列组成,其中每一行对应于每个国际象棋棋盘配置,列对应于代理可以采取的所有可能的移动(动作)。Q表还包含一个称为Q值的值,该值包含代理在采取行动并从当前状态转移到下一个状态时收到的预期奖励。

这个怎么运作?

让我们了解它是如何工作的。

在游戏开始时,Q表使用随机值初始化。

接下来,对于每个情节-

  • 观察到代理的初始状态

  • 对于剧集的每一步,

    • 根据Q表中存在的策略选择新动作

    • 观察到代理收到的奖励,并且代理进入新状态

    • 使用“ Bellman方程”更新Q表中存在的Q值

这一直持续到达到特定情节的结束阶段为止。

注意-在我们的示例中,一个情节可以理解为整个国际象棋游戏。否则,这只是一个问题的全部解决方案。

 类似资料:
  • 主要内容 课程列表 基础知识 专项课程学习 参考书籍 论文专区 课程列表 课程 机构 参考书 Notes等其他资料 MDP和RL介绍8 9 10 11 Berkeley 暂无 链接 MDP简介 暂无 Shaping and policy search in Reinforcement learning 链接 强化学习 UCL An Introduction to Reinforcement Lea

  • 强化学习(Reinforcement Learning)的输入数据作为对模型的反馈,强调如何基于环境而行动,以取得最大化的预期利益。与监督式学习之间的区别在于,它并不需要出现正确的输入/输出对,也不需要精确校正次优化的行为。强化学习更加专注于在线规划,需要在探索(在未知的领域)和遵从(现有知识)之间找到平衡。 Deep Q Learning.

  • “三个臭皮匠顶个诸葛亮”。集成学习就是利用了这样的思想,通过把多分类器组合在一起的方式,构建出一个强分类器;这些被组合的分类器被称为基分类器。事实上,随机森林就属于集成学习的范畴。通常,集成学习具有更强的泛化能力,大量弱分类器的存在降低了分类错误率,也对于数据的噪声有很好的包容性。

  • 探索和利用。马尔科夫决策过程。Q 学习,策略学习和深度强化学习。 我刚刚吃了一些巧克力来完成最后这部分。 在监督学习中,训练数据带有来自神一般的“监督者”的答案。如果生活可以这样,该多好! 在强化学习(RL)中,没有这种答案,但是你的强化学习智能体仍然可以决定如何执行它的任务。在缺少现有训练数据的情况下,智能体从经验中学习。在它尝试任务的时候,它通过尝试和错误收集训练样本(这个动作非常好,或者非常

  • 我正在制作一个程序,通过强化学习和基于后状态的时间差分学习方法(TD(λ)),教两名玩家玩一个简单的棋盘游戏。学习是通过训练神经网络来实现的。我使用萨顿的非线性TD/Backprop神经网络)我很想听听你对我以下困境的看法。在两个对手之间进行回合的基本算法/伪代码如下 每个玩家应在何时调用其学习方法玩家。学习(GAME\u状态)。这是难题。 选项A.在每个玩家移动后,在新的后状态出现后,如下所示:

  • 从sklearn加载流行数字数据集。数据集模块,并将其分配给可变数字。 分割数字。将数据分为两组,分别命名为X_train和X_test。还有,分割数字。目标分为两组Y_训练和Y_测试。 提示:使用sklearn中的训练测试分割方法。模型选择;将随机_状态设置为30;并进行分层抽样。使用默认参数,从X_序列集和Y_序列标签构建SVM分类器。将模型命名为svm_clf。 在测试数据集上评估模型的准确