1、监督学习:
4、强化学习和监督学习区别:
5、早期强化学习:标准化学习
深度强化学习=强化学习+深度学习(deep reinforcement learning)
6、有序决策:
强化学习:
7、状态:对世界的完整描述
观测:对状态的部分描述,可能会遗漏一些信息
8、深度强化学习:用实值得变量、矩阵,更高阶变量
9、马尔可夫决策:Markov decision process,MDP
部分可预测马尔可夫决策:(partially observable Markov decision process,POMDP)_
S,A,T,R,Ω,O,R
10、强化学习智能体:
11、策略:
随机性策略(stochastic policy):(常用)
Π函数
优点:
确定性策略(deterministic policy):直接采取最有可能的动作
12、价值函数:
折扣因子(discount factor)
13、模型:状态转移概率 奖励函数
14、强化学习智能体类型:
15、单步强化学习:K-臂赌博机(K-armed bandit)(多臂赌博机)
16、Gym库:离散:gym.space.Discrete
连续:gym.space.Box
import gym # 导入 Gym 的 Python 接口环境包
env = gym.make('CartPole-v0') # 构建实验环境
env.reset() # 重置一个回合
for _ in range(1000):
env.render() # 显示图形界面
action = env.action_space.sample() # 从动作空间中随机选取一个动作
env.step(action) # 用于提交动作,括号内是具体的动作
env.close() # 关闭环境
import gym
env = gym.make('CartPole-v0')
env.reset()
for _ in range(1000):
env.render()
action = env.action_space.sample()
observation, reward, done, info = env.step(action)
print(observation)
env.close()
from gym import envs
env_specs = envs.registry.all()
envs_ids = [env_spec.id for env_spec in env_specs]
print(envs_ids)
import gym
env = gym.make('MountainCar-v0')
print('观测空间 = {}'.format(env.observation_space))
print('动作空间 = {}'.format(env.action_space))
print('观测范围 = {} ~ {}'.format(env.observation_space.low,
env.observation_space.high))
print('动作数 = {}'.format(env.action_space.n))
观测空间 = Box([-1.2 -0.07], [0.6 0.07], (2,), float32)
动作空间 = Discrete(3)
观测范围 = [-1.2 -0.07] ~ [0.6 0.07]
动作数 = 3
智能体“:
class BespokeAgent:
def __init__(self, env):
pass
def decide(self, observation): # 决策
position, velocity = observation
lb = min(-0.09 * (position + 0.25) ** 2 + 0.03,
0.3 * (position + 0.9) ** 4 - 0.008)
ub = -0.07 * (position + 0.38) ** 2 + 0.07
if lb < velocity < ub:
action = 2
else:
action = 0
return action # 返回动作
def learn(self, *args): # 学习
pass
agent = BespokeAgent(env)