强化学习
文章平均质量分 54
踏实认真啃书并复现
保护我方vivian
程序媛修炼
展开
-
强化学习算法复现(六):PG(reinforce)_gym倒立摆
import gymimport numpy as npfrom itertools import countimport torchimport torch.nn as nnimport torch.nn.functional as Fimport torch.optim as optimfrom torch.distributions import Categoricalenv = gym.make('CartPole-v1')env.seed(1)torch.manual_s.原创 2020-12-23 15:55:49 · 848 阅读 · 0 评论 -
强化学习算法复现(六):DoubleDQN_gym倒立摆
建立RL_brain.pyimport torchimport torch.nn as nnimport torch.nn.functional as F # 导入torch.nn.functional (激活函数)import numpy as npclass Net(nn.Module): # 建立网络 def __init__(self, N_STATES, N_ACTIONS): nn.Module.__init__(self)原创 2020-12-21 22:43:48 · 1192 阅读 · 0 评论 -
强化学习算法复现(五):对比Sarsa、Sarsa(λ)与Qlearning_机器人寻宝问题\
问题描述(使用了openAI_gym的接口):机器人寻宝,红点为机器人,黑色为陷阱,黄色为宝藏。import randomimport gymfrom gym.utils import seedingclass GridEnv(gym.Env): """ Description: 挖宝图 Observation: Type: Discrete(8) 【1.2.3.4.5.6.7.8】 .原创 2020-12-16 22:34:53 · 1368 阅读 · 5 评论 -
强化学习算法复现(四):online/offline_forward/backward_TD(λ)的价值预测能力_随机游走问题
import numpy as npfrom tqdm import tqdmimport matplotlibimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['SimHei'] # 正确显示中文plt.rcParams['axes.unicode_minus'] = False # 正确显示正负号from TD1 import *N_STATES = 19 # 共有19个状态GAMMA = 1原创 2020-12-12 20:47:01 · 595 阅读 · 1 评论 -
强化学习算法复现(四):n步自举法的价值预测能力_随机游走问题
问题描述:以中心状态C开始,在每个时刻以相同的概率向左或向右移动一个状态,在两端终止,episode终止于最右侧时会有+1的收益,除此之外收益均为0。目标:对比如表所示的区别于联系,所含内容包括时序差分、n步自举、资格迹。...原创 2020-12-04 23:17:29 · 2459 阅读 · 4 评论 -
强化学习算法复现(三):蒙特卡洛方法_21点游戏
相关知识结构如下:在本次复现中,使用的gym中的21点游戏模块part1、环境测试:以随机策略玩n局游戏import gymenv = gym.make('Blackjack-v0')# print(env.observation_space)# print(env.action_space)# 以随机策略玩n局def random_play(n): for i_episode in range(n): state = env.reset() # 状态随机初始原创 2020-11-04 16:01:14 · 1253 阅读 · 0 评论 -
强化学习算法复现(二):动态规划_杰克租车问题【价值迭代】
价值迭代的思想是改变最优价值函数,使其包括对所有动作的评估。这样我们就可以只关注值函数的收敛过程,只要值函数达到最优,那策略也达到最优,值函数没有最优,策略也还没有最优。简化了迭代步骤。...原创 2020-10-23 15:42:46 · 1655 阅读 · 2 评论 -
强化学习算法复现(二):动态规划_杰克租车问题【策略迭代】
将上文的代码做出动画,策略选择和策略评估过程如下动图代码过程如下所示:from matplotlib import pyplot as pltimport numpy as npfrom matplotlib import animationfrom scipy.stats import poisson # 统计学的包,用于生成泊松分布plt.rcParams['font.sans-serif'] = ['SimHei'] # 正确显示中文plt.rcParams['axes.unico原创 2020-10-22 18:54:11 · 1943 阅读 · 0 评论 -
强化学习算法复现(一):k臂赌博机问题
问题描述:问题类似于老虎机(单臂赌博机),不同之处是它有k个控制杆,每次动作选择相当于拉动老虎机的一个控制杆,我们希望通过强化学习的方法,让智能体能够通过重复地选择学习,来最大化最终的奖金值。复现结果:环境可视化:蓝色为各个按键的真实收益;绿色为智能体对按键的估计收益;红色为智能体的选择。代码实现1、环境搭建:import numpy as npglobal valuevalue = np.array([0.0]*10, dtype=float) #初始化全局变量q = np.ar原创 2020-09-24 19:23:22 · 1644 阅读 · 1 评论