梯度下降与EM算法

机器学习两个重要的过程:学习得到模型和利用模型进行预测。

下面主要总结对比下这两个过程中用到的一些方法。

一,求解无约束的目标优化问题

这类问题往往出现在求解模型,即参数学习的阶段。

我们已经得到了模型的表达式,不过其中包含了一些未知参数。

我们需要求解参数,使模型在某种性质(目标函数)上最大或最小。

最大似然估计:



其中目标函数是对数似然函数。为了求目标函数取最大值时的theta。

有两个关机键步骤,第一个是对目标函数进行求导,第二个是另导数等于0,求解后直接得到最优theta。两个步骤缺一不可。

梯度下降:

对目标函数进行求导,利用导函数提供的梯度信息,使参数往梯度下降最快的方向移动一小步,

来更新参数。为什么不使用最大似然估计的方法来求解呢?


上面是逻辑回归的目标函数,可以看出J(θ)容易进行求导,如下所示:


但是如果通过使偏导数等于0,来求θ是非常困难的。

首先hθ (xi)是关于所有θ的函数,而且h是逻辑回归函数,

其次,每个等式中包含mhθ (xi)函数。因此只能利用梯度信息,在解空间中进行探索。

EM算法:

和上面一样,也是要求优化一个目标函数。

不同的是,它只能得到目标函数,甚至连目标函数的导函数也求不出来。

如下面的高斯混合模型(GMM)的目标函数函数:


对上面的目标函数求导是非常困难的。

在比如下面的隐马尔科夫模型(HMM)的目标函数:


都是不可以直接求导的,所以需要引入隐变量来简化计算。

好处是:如果我们知道隐变量的值或者概率分布,那么原目标函数可以进行高效的求解(比如可以用最大似然估计法求解)。

通常的步骤是先有参数的先验值和训练数据得到隐变量,再由隐变量和训练数据来最大化目标函数,得到参数。

(个人认为,隐变量可以随便引入,只要能够使原目标函数可以高效求解就行。)

坐标上升或下降(CoordinateAscent):

由先验经验初始化参数。然后每次选择其中一个参数进行优化,其它参数固定(认为是已知变量),如此进行迭代更新。

它和EM的思想差不多,通过引入隐变量(固定的参数),来使得问题变得高效可解。

而引入的隐变量是通过上一次计算的参数得到的(只不过隐变量就等于部分参数本身而已),相当于参数信息落后了一代而已。

k-means和高斯混合模型(GMM)中的EM:

k-means是先由参数和数据得到数据的分类标签,再由数据和分类标签来计算参数。

高斯混合模型中的EM是先由参数和数据得到数据分类标签的概率分布,再由数据和分类标签分布来计算参数。

像k-means这样求隐变量具体值的叫做hard-EM,想GMM这样求隐变量的概率分布的叫做soft-EM。

EM算法收敛性证明:

摘抄自wikipedia中的Expectation–maximization algorithm文章

详细说明:



二,求解有约束的目标优化问题




  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值