强化学习
CopperDong
纯属巧合
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
知乎《强化学习知识大讲坛》学习笔记
强化学习入门 第一讲 MDP https://zhuanlan.zhihu.com/p/25498081 强化学习入门 第二讲 基于模型的动态规划方法 https://zhuanlan.zhihu.com/p/25580624 强化学习入门 第三讲蒙特卡罗方法 https://zhuanlan.zhihu.com/p/25743759 强化学习入门 第四讲 时间差分法(TD方法) h...转载 2018-08-12 10:23:00 · 988 阅读 · 0 评论 -
强化学习实例4:构建新环境
机器人找金币 grid_mdp.py import logging import numpy import random from gym import spaces import gym from gym.utils import seeding logger = logging.getLogger(__name__) class GridEnv(gym.Env): met...原创 2019-06-18 15:11:19 · 1674 阅读 · 0 评论 -
强化学习实例3:Q-Learning和Q-Network
The Frozen Lake environment,有4 x 4网格代表湖面,有16个状态,其中S,H,F和G代表不同的格子块,4个行为(上下左右) S:开始块 F:冰块 H:洞 G:目标块 Q-Learning 包括Q-table(16x4)和Q-value import gym import numpy as np import time env = gym.mak...原创 2019-06-18 10:32:04 · 977 阅读 · 0 评论 -
强化学习实例10:Q-Learning
SARASA算法: SARSA算法遵从了交互序列,根据下一步的真实行动进行价值估计; 另一种TD法,Q-Learning算法没有遵循交互序列,而是在下一时刻选择了使价值最大的行动。 这两种算法代表了两种策略评估的方式,分别是On-Policy和Off-Policy。 On-Policy对值函数的更新是完全依据交互序列进行的,在计算时认为价值可以直接利用采样的序列估计得到。 Off...原创 2019-06-21 16:41:17 · 1189 阅读 · 0 评论 -
强化学习实例9:时序差分法(Temporal Difference)
时序差分法(Temporal Difference,简称TD法),是一种结合了蒙特卡罗法和动态规划法的方法。 通过蒙特卡罗法得到 通过TD法得到 其中称为TD目标 TD使用了当前回报和下一时刻的价值估计,所以整体系统没有达到最优,这样的估计是有偏差的,但方差减少。 而MC使用完整的采样得到了长期回报值,所以估计偏差小,但方差大。 代码如下: # TD 之 SARSA...原创 2019-06-21 15:52:47 · 1780 阅读 · 1 评论 -
强化学习实例8:蒙特卡罗法(monte carlo)
在很多实际问题中,我们无法得到游戏的全貌,也就是说,状态转移矩阵无法获知,这被称为“无模型”问题。 Bellman公式,可以通过不断迭代得到状态-行动值函数 而在无模型问题中,状态转移概率将无法知晓,于是用最初的累积回报求得 看到等号右边的期望,我们很自然地联想到了蒙特卡罗法,它是一种通过随机采样估计期望值的方法,全过程总结如下: (1)让Agent和环境交互后得到交互序列 (2...原创 2019-06-21 15:34:50 · 1874 阅读 · 0 评论 -
强化学习实例11:策略梯度法(Policy Gradient)
本实例基于策略梯度的算法来学习“打乒乓球”游戏 首先本实例的定义马尔可夫决策过程: 状态s:每一时刻的游戏画面 行动a:右边绿色拍,向上或向下 策略:状态为s下,采取行动a的概率 强化学习的目标是最大化长期回报期望: 其中为策略参数 定义目标函数J 策略梯度为 用Q代替r 使用蒙特卡罗法求解 使用蒙特卡罗法,方差大。为了模型的稳定,提出Actor-Criti...原创 2019-06-25 11:46:35 · 2948 阅读 · 2 评论 -
强化学习实例7:价值迭代法(value iteration)
策略迭代法,可以进一步优化为最大化价值v # 价值迭代法 class ValueIteration(object): def value_iteration(self, agent, max_iter=-1): iteration = 0 while True: iteration += 1 new_v...原创 2019-06-20 16:35:57 · 4334 阅读 · 0 评论 -
强化学习实例6:策略迭代法(policy iteration)
马尔可夫决策过程定义: 以上一节中蛇棋游戏为例,状态表示为100个格子,行动表示用哪种骰子,转移模型表示梯子,回报为是否到达终点,策略表示从开始到终点中的所有状态行动链:{(s0,a0), (s1,a1), ...... , (st, at} 衡量策略的价值:值函数,有两种:状态值函数和状态-行动值函数 累积回报: 状态值函数(回报在s状态的期望值): 状态-行为函数: 上...原创 2019-06-20 16:06:00 · 4484 阅读 · 0 评论 -
强化学习实例2:MDP
红色块移动到黄色,黑色为障碍物 马尔科夫链, 预测最好的路径,值函数为回报r(reward)和the discounted value of the ending state SARSA代表state, action, reward, next state和next action。it is known as an own policy Reinforcement Learnin...原创 2019-06-14 18:07:51 · 1920 阅读 · 1 评论 -
强化学习实例1:简单最短路径学习
让程序学习到从O到T最短的路径是一直往右走 O----T import numpy as np import pandas as pd import time np.random.seed(2) N_STATES = 6 # 假设只有5步远 ACTION...原创 2019-06-14 15:25:30 · 4346 阅读 · 1 评论 -
强化学习实例5:构建简单蛇棋环境
蛇棋游戏 import numpy as np import gym from gym.spaces import Discrete class SnakeEnv(gym.Env): SIZE=100 # 格子数 def __init__(self, ladder_num, dices): self.dices = dices # ...原创 2019-06-19 11:53:31 · 855 阅读 · 0 评论 -
强化学习:环境配置windows
1、安装gym https://openai.com/ pip更改国内镜像源 在windows文件管理器中输入%APPDATA% 会定位到目录C:\Users\Administrator\AppData\Roaming\,在该目录下新建pip文件夹,在pip文件夹下新建pip.ini文件 在新建的pip.ini文件中输入以下内容并保存 [global] timeout = 6000 ...原创 2019-06-13 15:12:33 · 1715 阅读 · 0 评论 -
强化学习实例12:A3C
代码 # coding: utf-8 import multiprocessing import threading import tensorflow as tf import numpy as np import gym import os import shutil import matplotlib.pyplot as plt def preprocessing_image(obs...原创 2019-07-02 19:00:43 · 584 阅读 · 0 评论
分享