OMSCS-ML课程笔记14-Reinforcement Learning
这个系列是Gatech OMSCS 机器学习课程(CS 7641: Machine Learning)的同步课程笔记。课程内容涉及监督学习、无监督学习和强化学习三个部分,本节介绍强化学习的相关内容。
MDP vs. RL
在上一节中我们介绍了如何通过求解Bellman方程来解决MDP或者说是强化学习的问题。而实际上MDP与强化学习还是有一定的区别的,它们的主要区别在于智能体是否知道外界环境的状态转移
API
我们需要对一些常见的概念进行区分:
- 如果我们已知外界环境的状态转移
以及回报函数 ,我们可以通过一些算法来计算出最优策略,这样的过程称为规划(planning);

- 如果我们只能通过观测得到的状态转移序列
,我们希望通过这些观测来学习到最优策略,这样的过程称为强化学习(reinforcement learning);

- 我们可以利用观测得到的状态转移序列
来估计真实的外界环境,这样的过程称为建模(modeling);

- 此外我们还可以利用已有的模型来获取状态转移序列,这样的过程称为仿真(simulation)。

Three Approaches to RL
根据计算目标的不同我们可以把强化学习分成大致三种类型:
- 直接取计算策略
的算法称为策略搜索(policy search); - 通过计算效用
来获得策略的算法称为基于价值函数(value-function based)的强化学习; - 此外我们还可以对外界环境进行建模并在此基础上获得最优策略,这类算法称为基于模型(model based)的强化学习。
实际上这三种类型的算法是相互关联的:在大多数情况下直接进行策略搜索会比较困难,但我们可以先计算价值函数然后通过价值函数来获得最优策略;如果获得了外界环境的模型,我们通过求解Bellman方程来计算价值函数并获得最优策略。

以上这三种强化学习算法在实际中都有各自的应用,不过在本课程中我们主要关注基于价值函数的强化学习算法。
Q-Learning
Q-function
在上节课中我们介绍过最优策略需要满足Bellman方程:
这里我们把行为
实际上Q函数表示在状态
不难发现我们可以利用Q函数来重新定义最优价值以及策略:
也就是说如果我们计算得到了Q函数也就等于计算出了最优策略,而计算Q函数的过程则称为Q-learning。
Estimating Q-function
由于我们不知道外界环境的状态转移
其中
Choosing Actions
在实际应用Q-learning时有很多需要考虑的内容,包括:
- 如何初始化Q函数?
- 如何设置衰减的学习率
? - 如何选择行为
?
其中最重要的一点在于选择行为
这样的策略称为
从一个更高的层面上讲,我们希望策略