【习题集四】无监督学习和强化学习

来源:互联网 发布:河北seo按效果付费 编辑:程序博客网 时间:2024/05/29 07:40

1. 监督学习的EM算法 EM for Supervised Learning

我们曾推导过针对无监督学习的EM算法,,其中,我们将p(x)表示为,其中z是隐含参数

下面我们将尝试将EM算法应用于监督学习模型,并讨论“混合线性回归Mixture of Linear Regressors”模型,这是一种专业模型层次化混合Hierarchial Mixture of Expert Model的一个实例,其公式为.

为了简化模型,我们将z设为一个二元变量,并认为p(y|x, z)服从高斯分布,且p(y|x)可由logistic回归模型描述,因此我们有如下公式


其中σ是已知参数,我们希望求得n维向量φ、θ0、θ1,且θ的下标仅表示不同的参数向量,不表示不同的输入。

直观而言,这一过程可被理解为如下过程:给定一个数据点x,我们先根据logistic模型确定其隐含参数的分类,如z=0或z=1;在此基础上认为y是x的线性函数并加上一些高斯误差(不同的z对应不同的线性方程)。如下图所示


(1)假设x、y、z都可被观测到,即我们有训练集{(x1, y1, z1), (x2, y2, z2), (xm, ym, zm)}。给出参数的最大对数似然方程,并给出φ、θ0、θ1的最大似然估计。注意到由于p(z|x)为logistic模型,故φ没有一个闭式的精确解,因此我们可以通过给出其Hessian矩阵和对φ求导的结果。

解:对数似然函数为


将其对θ0求导,并令结果为0,我们有


但这只是数据集的子集中的最小平方误差问题,事实上,如果我们令所有的z均为0,通过同样的方法,我们可得到关于θ0的最大似然估计为


同理我们也可以获得对θ1进行最大似然估计的结果。

将对数似然函数对φ求导,并忽略与φ无关的项,可得如下方程


这是一个典型的logistic回归方程,我们已知其导数和Hessian矩阵为


(2)现在假设z是一个隐含(不可见)的随机变量,给出参数的对数似然函数,并推导求得对数似然函数最大值的EM算法,主要应当明显区分E步和M步(再次提醒,M步要求数值解,给出导数和Hessian矩阵即可)

解:对数似然函数为


在EM算法中的E步我们将计算下式


在M步中,我们首先定义对j=0或1均成立(但实际中我们只需计算一个即可,如计算w0,此时w1=1-w0)。将我们的对数似然函数的下界对θ0求导,移去无关项,并将表达式的结果设为0,可得下式为


这是一个典型的加权最小平方问题,其解为


对θ1的求导过程也是相似的。

为了给出对φ的导数和Hessian矩阵,我们注意到


此时导数和Hessian矩阵可表示为



2. 因子分析和主成分分析 Factor Analysis and PCA

设z为一个k维向量,其为一个隐含参数,且分布(x, z)满足


其中U是一个n*k的模型参数矩阵,σ是一个已知的常量。这一模型常被称为概率主成分分析模型Probabilitic PCA。注意到这跟因子分析模型很像,只是我们假设x|z的方差是一个已知的矩阵,而不是简单的对角参数矩阵Φ,并且我们没有对均值项增加噪声μ(尽管这只是为了简化表示)。在这一模型中,如果我们令σ为0,则其就是我们讨论的PCA模型。

为了简化问题,我们认为在之后的讨论中k=1,即U是一个n维的列向量。

(1)使用控制高斯分布Manipulating Gaussian Distribution确定(x, z)的联合分布和条件分布z|x。【提示:对于条件分布,使用习题集一中给出的(λI+BA)^-1*B=B*(λI+AB)^-1可以简化运算】

解:为了计算联合分布,我们计算x和z的均值和方差,我们已知E[z]=0,并有


由于x和z的均值都为0,因此我们有


因此,x和z的联合分布为


使用条件概率分布的相关定理,z|x的均值和方差为


(2)推导针对上述模型的EM算法,并明确给出E步和M步。

解:注意:尽管z(i)是一个标量,为了保持和因子分析算法的一致,我们依然使用它的转置符号。

在E步中,我们首先计算

在M步中,我们需要将下式最大化


将上式对U求导,移除无关项,为


令上式结果为0,则有


(3)当σ趋近于0时,证明如果EM算法趋向于参数向量U*,则U*必为矩阵的特征向量,即满足【提示:当σ趋向于0时,Σz|x也趋向于0,所以E步只需计算μz|x即可,令m维向量w包含所有均值,即wi=μz(i)|x(i),并证明E步和M步可表示为.最后证明如果U在更新后值没有发生变化,则其一定为特征向量】

解:在E步中,当σ趋向于0时,,因此我们可将w定义为

并由提示可知,当σ趋向于0时,我们有


当U不再改变时,我们有



3. 对于自然图像的PCA和ICA PCA and ICA for Natural Images

在这一问题中我们将使用PCA和ICA处理关于自然的图像(如花草树木等)。这是ICA算法的一个经典应用,并可带来很多的启发。我们需要编写两个函数ica.m和pca.m分别实现两种算法,实现pca可直接将算法表现出来即可,而实现ica则需要一些小技巧,如下:

①选择好的学习步长很重要,我们建议的学习步长为α=0.0005

②对ICA算法来说批处理梯度下降法Batch Gradient Descent算法表现并不好,因为不能证明ICA的函数是凸函数,而且纯正的随机梯度下降法处理速度很慢。因此,我们混合的使用这两种算法可以达到较好的效果,我们可一次处理a个数据(a=100对我们来说就足够了),然后更新W

③在进行随机梯度下降之前可以随机的改变数据的顺序

④将Matlab代码尽量用向量表示

解:代码如下



4. 政策迭代算法的收敛 Convergence of Policy Iteration

首先我们定义Bπ表示对政策π的贝尔曼算子Bellman Operator,具体的定义如下

如果V` = B(V),则

(1)证明如果对于数据集S中的所有s,V1(s)<V2(s)成立,则B(V1)(s)<B(V2)(s)成立

解:当Psπ(s)(s`)≥0时,可证


(2)证明对于任意V有,其中直观而言,这意味着对任意V应用Bellman算子Bπ,会使值函数V更接近于政策π下的Vπ,这也意味着有限重复的使用Bπ(如Bπ(Bπ(V)...))将获得Vπ

【提示:注意到对于任意α,有

解:使用提示中的不等式,我们有


(3)假设我们有一些政策π,通过得到新的政策π`,证明新的政策不会比之前的政策表现的更糟。【提示:首先我们证明Vπ(s)≤Bπ`(Vπ)(s),然后证明Bπ`(Vπ)(s)≤Vπ`(s)】

解:

使用第一小问中的结论

并重复使用小问(2)中的结论,我们有

(4)由于政策迭代算法中的政策必然收敛,我们希望证明其必定收敛于最优政策π*。我们可以使用下式:

当V=V*时,有

解:在(3)问中,我们证明了政策函数是单调递增的,当我们的迭代不再更新时,即π`=π时,便有



5. 强化学习:山中的车 Reinforcement Learning: The Mountain Car

在这一问中我们将使用Q学习(Q-Learning)强化学习算法解决山中的车问题。这一问题模拟了一辆车希望翻过一个山坡的过程,如下图所示


除了山顶所有点的回报函数R(s)=-1,山顶的回报函数R(s)=0,因此一个较好的算法希望尽快到达山顶,但是当车启动时,其并没有足够的能量一下子到达山顶,所以它会先向反方向开积攒一些势能,然后才能开到山顶。

Q学习算法维护一个Q值表,对每一个状态和动作有一个值Q(s, a),我们只需选择最大的Q值即可做出决策,即选择动作a满足

Q学习算法通过下式计算Q值

在每一次,我们使用贪心算法求得π(s)=argmax Q(s, a)

我们希望你能给出一个Matlab实现的代码[q, step_per_episode] = qlearning(episode)

解:程序编写如下




// 这里是分割线~

// 顺便给自己的公众号打个广告,希望大家多多关注哦~

// 关注我的公众号可以看到很多有意思的东西哦~


0 0