基础
- 高等数学
- 线性代数(向量空间的变换思想)
- 概率与数理统计(期望,方差)
- Python:numpy
- 神经网络
强化学习
RL主要分为两部分:
- agent智能体
- environment环境
通过这两部分的交互产生经验,主要有三要素:
- state状态
- action动作
- reward奖励
智能体根据环境state来执行动作,并且根据环境的反馈得到reward来指导更好的动作。
两种学习方法
- 基于价值
- 基于策略
基于价值的方法,当训练到一定程度,价值基本固定,输出的动作只会走到价值高的地方输出是固定的。
基于策略因为是输出的动作的概率,每次都要机会选择左右动作,因此最后的动作不是唯一固定的。
算法分类
乌龟环境
首先本地下载PARL:
git clone git@github.com:PaddlePaddle/PARL.git
用pycharm打开PARL的工程
进到第一节课的文件下:
cd D:\py_code\PARL\examples\tutorials\lesson1
在pycharm的终端输入python进入交互式编程:
python
然后在终端输入下面命令:
import gym
from gridworld import CliffWalkingWapper
env = gym.make("CliffWalking-v0") #创建悬崖环境
env = CliffWalkingWapper(env) #产生可视化界面
env.reset() #初始化
env.render()
乌龟通过0123上下左右的移动:
env.step(0)
env.render()
完整的乌龟探索走到终点的代码:
import gym
from gridworld import CliffWalkingWapper
import numpy as np
env = gym.make("CliffWalking-v0") #创建悬崖环境
env = CliffWalkingWapper(env) #产生可视化界面
obs = env.reset() #初始化
while True:
action = np.random.randint(0,4)
obs,reward,done,info = env.step(action)
env.render()
if done:
break