Reinforcement Learning 01

强化学习 - 第一讲 简介

强化学习期间的笔记,记录什么是强化学习,解决的问题,概念和原理

abstract

强化学习在不同领域有不同的表现形式:神经科学、心理学、计算机科学、工程领域、数学、经济学等有不同的称呼。

强化学习是机器学习的一个分支:监督学习、无监督学习、强化学习

强化学习的特点:

  • 没有监督数据,只有奖励信号
  • 奖励信号不一定是实时的,可能是延后,有时会延后很久
  • 时间序列是一个很重要的因素
  • 当前的行为影响后续接受到的数据

强化学习的概念

奖励 Reward

Rt是个信号的反馈,是个标量,反应个体在t时刻做的怎么样,个体的工作就是最大化累计奖励。

Reward Hypothesis: 

所有问题解决的目标都是可以被描述成最大化累计奖励

序列决策 Sequential Decision Making

目标: 选择一定的行为序列以最大化未来的总体奖励
这些行为可能是一个长期的序列
奖励可能而且通常是延迟的
有售后宁愿牺牲短期的奖励而获得更多的长期奖励

个体和环境 Agent & Environment

可以从个体和环境两个方面来描叙强化学习问题

在t时刻,个体可以:

  1. 有一个对于环境的观察评估Qt
  2. 做出一个行为At
  3. 从环境得到一个奖励信息Rt+1

环境可以:

  1. 接收个体的动作At
  2. 更新环境信息,同时使得个体可以得到下一个观测Qt+1
  3. 给个体一个奖励信号Rt+1

强化学习必备模块(来自莫烦PYTHON)

强化学习有一些现成的模块可以使用, 但是那些模块并不全面, 而且强化学习很依赖与你给予的学习环境. 对于不同学习环境的强化学习, 可能 RL 的代码就不同. 所以我们要抱着以不变应万变的心态, 用基础的模块, 从基础学起. 懂了原理, 再复杂的环境也不在话下.

所以用到的模块和对应的教程:

  • Numpy, Pandas (必学), 用于学习的数据处理
  • Matplotlib (可学), 偶尔会用来呈现误差曲线什么的
  • Tkinter (可学), 你可以自己用它来编写模拟环境
  • Tensorflow (可学), 后面实现神经网络与强化学习结合的时候用到
  • OpenAI gym (可学), 提供了很多现成的模拟环境

Q Learning算法

算法

Initialize Q(s,a) arbitrarily
Repeat (for each episode):
    Initialize s
    Repeat ( for each step of episode):
        Choose a from s using policy derived form Q(e.g., $\varrepsilon$-greedy)
        Take action a, observe r,s'
        Q(s,a) <- Q(s,a)+arlp(r+ lampt max

Q Learning决策

测试案例

  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2018-2023 CXX
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信