1.用于K-摇臂赌博机的UCB(Upper Confidence Bound)方法每次选择
其中,n为已执行所有摇臂的总次数,
解答:
- 在时刻
- 以
- 以
Softmax:
- 在时刻
- 以下面的概率分布选择行为
Softmax方法平均奖励比较高的行为有更高的概率被选中。
UCB:
- 在时刻
- 选择
UCB中的
参考:
https://www.cs.princeton.edu/courses/archive/fall16/cos402/lectures/402-lec22.pdf
2.借鉴图16.7,试写出基于
解答:
书中对奖赏的定义和Sutton的书中(或者David Silver的课程)定义的不同。
西瓜书:
Sutton书:
上述两个定义有两处不同:
- 第一个定义表示奖励和当前状态、行为、转移状态有关;而第二个定义表示奖励和转移后的状态无关,只和当前状态以及行为有关;
- 第一个定义在西瓜书中使用的时候是当做一个确定量使用的,即状态
这里和西瓜书保持一致。
输入:MDP四元组
E=<X,A,P,R>
被评估的策略π
折扣因子γ
小正数θ
过程:
1:∀x∈X :V(x)=0
2: fork=1,2,⋯ :
3:Δ=0
4:for x in X:
5:V′(x)=∑a∈Aπ(x,a)∑x′∈XPax→x′(Rax→x′+γV(x′))
6:Δ=max(Δ,|V′(x)−V(x)|)
7:end for
8:if Δ<θ then
9:break
10:else
11:V=V’
12:end if
13: end for
输出:状态值函数V
3. 借鉴图16.8,试写出基于
解答:
输入:MDP四元组
E=<X,A,P,R>
折扣因子γ
小正数θ
过程:
1: 初始化值函数以及策略:∀x∈X :V(x)=0 ,π(x,a)=1|A(x)|
2: loop
3:for k=1,2,⋯ :
4:Δ=0
5:for x in X:
6:V′(x)=∑a∈Aπ(x,a)∑x′∈XPax→x′(Rax→x′+γV(x′))
7:Δ=max(Δ,|V′(x)−V(x)|)
8:end for
9:if Δ<θ then
10:break
11:else
12:V=V’
13:end if
14:end for
15:∀x∈X :π′(x)=argmaxaQ(x,a)
16:if ∀x∈X :π′(x)=π(x) then
17:break
18:else
19:π=π′
20:end if
21: end loop
输出:最优策略π
4.在没有MDP模型时,可以先学习MDP模型(例如使用随机策略进行采样,从样本中估计出转移函数和奖赏函数),然后再使用有模型强化学习方法。试述该方法与免模型强化学习方法的优缺点。
解答:
基于模型的强化学习:
优点:
- 可以用有监督学习方法有效地学习模型
- 可以推理出模型的不确定性
缺点:
- 先学习模型,然后再构建值函数,导致会有两种估计误差
5.试推导出Sarsa算法的更新公式(16.31)。
解答:
(这个公式没有严格的推导过程,只是一个启发式更新)
采样是如下的序列:
公式(16.31)就是下面的式子(来自Sutton的《Reinforcement Learning: An Introduction》):
表示如果从当前的状态-行为转移到下一个状态-行为,那么当前状态-行为的行为值函数可以认为是即时奖励与下一个状态-行为值函数之和(值函数的定义就是未来奖励的期望)。于是
可以看到这个更新公式中用到五元组
6.借鉴图16.14给出线性值函数近似Q-学习算法。
解答:
输入:
环境E;
动作空间A;
起始状态x0 ;
奖赏折扣γ ;
更新步长α .
过程:
θ=0 ;
x=x0
fort=1,2,⋯ do
r,x′=在E中执行动作a=π(x)ϵ产生的奖赏与转移的状态
a′=π(x′)
θ=θ+α(r+γθT(x′;a′)−θT(x;a))(x;a) ;
π(x)=argmaxaθT(x;a) ;
x=x′
end for
输出:策略π
7.线性值函数近似在实践中往往有较大误差。试结合BP神经网络,将线性值函数近似Sarsa算法推广为使用神经网络近似的Sarsa算法。
解答:
现在使用神经网络近似值函数
在当前状态,根据
8.试结合核方法,将线性值函数近似Sarsa算法推广为使用核函数的非线性值函数近似Sarsa算法。
9.对于目标驱动(goal-directed)的强化学习任务,目标是达到某一状态,例如将汽车驾驶到预定位置。试为这样的任务设置奖赏函数,并讨论不同奖赏函数的作用(例如每一步未达目标的奖赏为-、-1或1)。
10.与传统监督学习不同,直接模仿学习在不同时刻所面临的数据分布可能不同。试设计一个考虑不同时刻数据分布变化的模仿学习算法。