【理解机器学习(一)】理解极大似然估计和EM演算法(中)盘一盘优化目标求解的那些小九九
读者背景知识:线性回归、逻辑回归、SVM、最大熵模型、拉格朗日乘子法
说在前面的废话:
前面已经讲清楚了最大似然估计(MLE)与EM演算法的关系,按照计划,是要讨论EM演算法求解优化问题的思想的
不过细想,优化目标求解问题其实就那么几种,而EM演算法只不过是其中某种大类求解策略下的一种具体实现而已,一个是道,一个是术,道的高度是大于术的,讲清楚了道,则一通百通,术便不再是问题 所以,这一节,我就给大家理一理那些优化目标求解问题中的几大求解策略
1. 两种优化目标:有约束与无约束
首先,大家要知道,优化目标按照是否有额外的约束条件可以分为以下两种情况:
- 无约束的最优化问题
这种情况是最常见的,也是比较容易求解的优化问题
比如:(1)线性回归的损失函数最小化目标(又称为最小二乘法):
如果再在原始最小二乘法损失函数的基础上加上正则化项,又变成了新的优化目标:
其中, 是正则化项的系数,用于权衡模型结构风险与经验风险的比重,可以看到LASS回归于岭回归的差别仅仅在于使用的正则化项而已,LASS使用的是L1正则化,岭回归使用的是L2正则化
其中,
则,优化目标可以写成:
- 有约束的最优化问题
这一类优化问题除了有目标函数项,还有其他约束项
比如:
(1)支持向量机的最大化几何间隔 (max margin)
它的优化目标为最大化几何间隔,即
但是,这个优化目标还要满足额外的约束条件:
另外,根据几何间隔的定义,可以把上面的约束条件写成:
则,完整的优化目标可以写成:
为了简化优化目标,我们限定 ,则完整的优化目标可以写成:
而我们习惯将优化目标写成最小化形式,所以,可以进一步改写成:
(2)最大熵模型的极大化模型的熵
对于给定的训练集 以及特征函数
,最大熵模型的学习等价于约束最优化问题:
其中, 是满足约束条件的模型空间,
是训练样本的边际分布
的经验分布,
是经验分布
的期望值,
是模型
与经验分布
的期望值,即
对于上面谈到的两类优化目标,第一类无约束优化目标,它可以之间使用我们常用的最优化问题的求解方法(具体内容在后面展开)进行解决,而第二类,即有约束优化目标,则不能进行直接求解,需要先将它转化为无约束优化目标,然后再用求解无约束优化目标的方法进行求解
那么,如何将有约束优化目标转化为无约束优化目标呢?
需要使用拉格朗日乘子法
对于以下一般形式的带约束的优化问题(即有等式约束,又有不等式约束)
引入拉格朗日乘子
,定义拉格朗日函数
:
则,在引入拉格朗日乘子法后,原先有约束优化问题就转化成了下面的无约束优化问题:
至于为什么
![]()
会等于
,由于文章篇幅有限,这里就不展开证明了
2. 两种求解策略
读者知识背景:线性代数
下面来讨论一下怎么求解优化问题
其实,任它优化问题千变万化,求解起来无非就是两种策略:
(1)标准方程法 (Normal equation method)
(2)迭代法 (iteration)
- 标准方程法
它的基本思想其实非常简单,即假设目标函数是一个凸函数,那么它在定义域上的最优解一般来说,是在其极值点取到,那么我们就可以对目标函数求偏导数,且令各个偏导数的值为0,从而找出极值点,也就获得了最优解
比如,对于线性回归问题,其优化目标(不进行正则化)为:
即
记
为了方便后面的推导,用向量化形式来表示:
其中,
则对模型参数的每一项求偏导数,得到
而
因此
所以,
上面的推导过程,涉及到比较深的线性代数的知识,尤其是关于矩阵的迹相关的知识,看不懂没有关系,上面讲这么多只是想说明,可以通过对目标函数求导并让导数为0来得到解
- 迭代法
像我们最熟悉的梯度下降法以及牛顿法或拟牛顿法都属于迭代求解的方法,包括我们下一节要进一步讨论的EM演算法也属于迭代法
它们的基本思想为:
与标准方程法一步到位获得最优解的策略不同,迭代法先找一个随机解做为起始的当前解,然后对当前解进行迭代更新,保证每一次迭代后得到的新解朝著最优化的方向前进,即
若最优化目标为:
则找到一种解的更新方法,实现
,保证
不断迭代,直到目标函数不再朝著优化目标改变为止,即解已经收敛了,此时的解W即为最优解不过迭代法不能保证收敛到的解是全局最优,它很可能落到局部最优位置
区别具体的迭代法的,是它们各自所采用的参数更新的方法
比如梯度下降法的参数更新的方法为:
参考资料:
(1) 周志华《机器学习》
(2) 李航《统计学习方法》
(3) 吴军《数学之美》
(4) 兰艳艳《SVM演算法》,国科大《模式识别与机器学习》课程
(5) 吴恩达《斯坦福大学·机器学习》公开课
(6) 机械工业出版社《机器学习实战:基于Scikit-Learn和TensorFlow》
推荐阅读: