前言
基于对书籍Computer Vision: Models, Learning and Inference第七章的阅读,主要是自己的一些心得体会,读起来确实比较吃力,有些地方理解不够深入还请见谅,如果以后想明白了一些问题可能还会继续完善。
本章主读完了感觉要还是机器学习的东西,贝叶斯、MAP、MLE之类的东西,公式基本也都是概率论和优化方面的。显然,虽有的复杂视觉数据都用正态分布来表示是不现实的,本章介绍的内容主要是是如何根据基础概率密度函数利用隐变量来构建复杂函数。
一、正态分类模型
以人脸检测为例,一般的思路是将一个窗口内RGB像素值合并为一个列向量,然后返回标签判断有没有人脸。其中似然函数一般用正态分布来描述,然而通过学习去估计相关的参数,最后通过贝叶斯公式进行推理。
但正态分布显然难以可靠地拟合数据。原因有以下三个:
- 正态分布式是单峰的,表示能力十分有限
- 正态分布不是鲁棒的,单个异常样本会显著的影响参数的估计
- 正态分布的参数太多,比如D = 10800维的数据其协方差矩阵有D(D+1)/2个参数
针对这些问题,依次采用高斯混合模型、t分布和子空间模型(例如:主成分分析、因子分析)。而这些模型都有一个共同点,引入了隐变量,而且模型的结构都很相似,所以可以使用通用的方法来学习参数。
使用这些更为复杂的模型,可以有效地表示视觉数据,然后进行训练和预测。
二、隐变量
机器学习课程讲GMM和EM的时候一般都会讲到隐变量。常见的特征就是全概率公式与边缘分布,参数估计的过程中往往对数化,也就是使用对数似然函数。直接求没有很好地闭式解,所以一般通过EM算法进行优化。
三、期望最大化
期望最大化(EM)算法通过对对数似然函数定义下界,并且迭代地增加下界,即先Expect,然后再Max。先用贝叶斯公式求后验分布,然后再最大化相对于参数的下界。
四、混合高斯模型
混合高斯模型在我看来就是不同高斯分布的加权和得到的一个更复杂的分布,图形化表示是复杂的多峰概率密度函数。由于直接进行参数估计难以得到闭式解,一般使用EM算法求解。其可以看做观测到的数据x与取值为h的离散隐变量联合概率分布的边缘概率。
EM算法在GMM的更新法则还是比较好理解的,根据每个分量的总贡献来更新权值,然后再通过权值来更新参数比如均值、方差,贡献越大最终的权重越大。
EM算法在拟合混合高斯时,有几点需要考虑:
- 不能保证找到非凸优化问题的全局解
- 必须预先指定混合分量的个数
五、t分布
t分布用于解决正态分布不鲁棒的问题,这由其分布本身的特点决定。类似于GMM,也是先边缘化然后通过EM算法进行拟合。
六、因子分析
开始看的时候没怎么理解,以为是PCA的另一种证明方法,后来发现根本不是一种算法。不过查了下资料貌似PCA无论在计算复杂度还是效果上都要好于因子分析。因子分析的目的是为了减少参数、降低维度。协方差矩阵参数过多,而使用对角阵却失去了像素值之间的关系,显然是不可取的,最后的选择用因子分析来在一定程度上减少参数。
分析因素利用全协方差模型定义了一个线性子空间。这个线性子空间是高维攻坚的一个子集,可以用一组固定基函数通过线性组合得到。其求解的过程与GMM、t分布一致,也是使用EM算法。
书上有个地方我觉得挺有趣的,就是因子分析与混合高斯的关系。混合高斯相当于很多正态分布的加权和,累加得到的结果类似于很多孤立的山峰,如果用无穷和也就是积分进行了替换,图形化看起来比较连续,再推广到高维上便是因子分析。因子分析我理解的也不是很透彻,有时间再进一步了解。
七、组合模型
可以看到,三者的构建十分类似,每个模型都是一组正态分布的加权和或者积分。混合高斯模型包含K个具有不同均值和方差的正态分布的加权和;t分布包含具有相同均值但不同方差的正态分布的无限加权和;因子分析模型是有不同均值但相同对角协方差的正态分布的无限加权和。所以将其进行组合便不足为奇,最终可以得到混合因子分析(MoFA)模型。
八、期望最大化算法的细节
由于数学能力实在有限,EM算法的很多公式理解也不怎么深入,细节部分有待更新吧。
九、应用
书中举了几个例子,有是人脸检测、目标识别、分割、正脸识别和改变人脸姿态等。尽管有些方法现在已经淘汰了,但是就本章内容来讲还是很有参考性。通过使用不同的复杂建模解决了很多更为高级的视觉问题。模型的选择对结果影响很大,而预处理方法的选择同样是否重要。