强化学习实验

强化学习之Q学习实验描述
一.强化学习简介
强化学习是一类特殊的机器学习算法,它借鉴于行为主义心理学。算法要解决的问题是智能体在环境中怎样执行动作以获得最大的累计奖励。

图1. 强化学习的基本原理
智能体是强化学习中的动作实体,对于自动驾驶的汽车,环境是当前的路况。在每个时刻智能体和环境有自己的状态,如汽车当前位置和速度,路面上的车辆和行人情况。智能体根据当前状态确定一个动作,并执行该动作。之后它和环境进入下一个状态,同时系统给它一个反馈值,对动作进行奖励或惩罚,以迫使智能体执行期望的动作。上图是智能体和环境交互的示意图。强化学习是解决这种决策问题的一类方法。与其他机器学习算法不同,算法要通过样本学习得到一个映射函数 π \pi π,其输入是当前时刻环境信息,输出是要执行的动作:
a = π ( s ) a = \pi ( s ) a=π(s)
其中 s s s为状态, a a a为要执行的动作,状态和动作分别来自状态集合和动作集合。强化学习其实是一种无监督学习,它不断从一个状态转移到另一个状态,直到到达目标。智能体的每一次探索称为一个片段(episode),在每个episode中,智能体从任意状态到达目标状态。当它到达目标状态后,一个episode就结束了,接着进入另一个。
时序差分学习是强化学习中的一种算法。它结合了蒙特卡洛算法与动态规划算法的思想,执行一个动作之后就进行价值函数估计,无需使用包括终止状态的完整episode。它包括Q-Learning和Sarsa 两个算法。
时序差分算法用贝尔曼方程估计价值函数的值,然后构造更新项。迭代更新公式为:
V ( s ) = V ( s ) + α ( R + γ V ( s ′ ) − V ( s ) ) V(s)=V(s)+\alpha (R+\gamma V(s^{'})-V(s)) V(s)=V(s)+α(R+γV(s)V(s))
算法用当前动作的立即回报值与下一状态当前的状态价值函数估计值之和构造更新项,更新状态的价值函数:
R + γ V ( s ′ ) R+\gamma V(s^{'}) R+γV(s)
这称为时间差分,这里迭代的逐步更新价值函数。在上式中没有使用状态转移概率,而是和蒙特卡洛算法一样随机产生一些样本来进行计算,因此称为无模型的算法。
用于估计状态价值函数时,算法的输入为某一策略 π \pi π,输出为该策略的状态值函数。完整的算法流程如下:
Step1:初始化所有状态的价值函数 V ( s ) V(s) V(s),可以全部初始化为0
Step2: 对于所有的episode循环
2.1选择一个初始状态 s s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值