日期:2021/12/26
【说明:对概率相关知识要求较高,读起来费劲的很,网上资料比较少,而且众说纷纭,前前后后花费了三天时间才理解个差不多,或许仍然存在一些理解错误的地方(捂脸),如果有不当的地方,烦请不吝赐教(鞠躬)。】
CPD论文理解
混合高斯模型
本文将两个点集的对齐看作一个概率密度估计问题,其中一个点集代表混合高斯模型的形心,另一个代表数据。优化的过程中,两个点集对齐,对于一个给定数据点使用GMM后验概率的最大值获得对应关系。cpd算法的核心是让混合高斯模型的形心作为一个组一起移动,以此来保持点集的拓扑结构(点和线之间的关系)。符号表达与论文相同。
【个人理解:混合高斯模型看作以Y点集的每个点为形心的高斯分布,X点集中的每一个点是由其中一个高斯分布生成的,该点与该高斯分布的形心(Y点集中的点)是对应点。】
起初并不知道点x是由哪个高斯分布生成的,因此定义它产生的概率为:
点集X产生的概率为p(x)的乘积,要使X点集存在的概率最大,则使得该乘积最大,对上式取对数、加负号得到负对数似然函数(为了便于计算):
【说明:(2)、(3)公式图片取自:https://blog.youkuaiyun.com/LilyNothing/article/details/67631634】
EM算法
参考书籍:《计算机视觉模型、学习和推理》
定义给定数据点时GMM核心的后验概率作为ym和xn之间的对应概率,此处比较抽象,后面加以说明。
使用EM算法求解
θ
\theta
θ和
σ
\sigma
σ2 ,其中
θ
\theta
θ包含了R,t,s。
E步:已知混合高斯模型中各个高斯分布的参数,对于X中的任意一个点xn,计算关于隐变量mi的后验分布Pr(mi|xn)。mi取k时的后验概率Pr(mi=k|xn)可以理解为正态分布k对于数据点xn的贡献(也就是数据点xn由正态分布k生成的概率),将这种对应关系简称为rnk 。
M步:对于第k个高斯分量,更新其参数。第n个数据点xn根据E步中对应关系rnk 以协助于这些更新,与第k个分量关系越密切的数据点对于参数的影响越大。
求解变换
E步:计算后验概率分布Pold(m|xn),可以理解为所有数据点xn由各个正态分布k生成的概率分布。同时,Pold(m|xn)也可以看作ym和xn之间的对应概率,ym和xn是一对多的关系,各个点仅能由一个高斯分布生成,可是一个高斯分布可能生成多个数据点,要求的最终的对应关系,个人理解可能是再从多个数据点中挑选概率比较大的那一个。
M步:计算
θ
\theta
θ和
σ
\sigma
σ2,
θ
\theta
θ为两个点集之间的变换,
σ
\sigma
σ2为各个高斯变换的参数。
CPD配准效果不好原因是什么?
我用cpd算法对自己的两片点云进行配准,效果不理想,猜测可能是因为假设了ym的对应点是由以ym为形心的高斯分布生成的,也就是假设ym发生位置变化后的位置是在所有待定位置中以ym为形心的高斯分布概率最大的位置。具体是否如此,后续查找文献证明之后再进行修改。
高斯分布与l2范数
预备知识
参考书籍:《计算机视觉模型、学习和推理》
贝叶斯公式:
最大似然法和最大后验法:
贝叶斯方法:
正则化:
正则化是一种回归的形式,它将系数估计(coefficient estimate)朝零的方向进行约束、调整或缩小。
两者关系
参考链接:https://blog.youkuaiyun.com/NXHYD/article/details/104650246
由上面推导可以看出,加入l2范数的正则项,相当于加入参数w服从高斯分布的先验条件。
L2 正则化:使得模型的解偏向于范数较小的 W,通过限制 W 范数的大小实现了对模型空间的限制,从而在一定程度上避免了 overfitting 。不过 ridge regression 并不具有产生稀疏解的能力,得到的系数仍然需要数据中的所有特征才能计算预测结果,从计算量上来说并没有得到改观。
拉普拉斯分布与l1范数
预备知识
同上
两者关系
参考链接:https://blog.youkuaiyun.com/NXHYD/article/details/104650246
由上面推导可以看出,加入l1范数的正则项,相当于加入参数w服从拉普拉斯分布的先验条件。
L1 regularizer :它的优良性质是能产生稀疏性,导致 W 中许多项变成零。 稀疏的解除了计算量上的好处之外,更重要的是更具有“可解释性”。