美文网首页鱼的机器学习
模式分析(一)概率密度估计及Meanshift算法

模式分析(一)概率密度估计及Meanshift算法

作者: 升不上三段的大鱼 | 来源:发表于2020-04-04 23:02 被阅读0次

一、概率密度估计

概率密度估计,简单说就是从离散的数据中估计出连续的概率密度函数。这里的离散数据即收集到的样本,它们来自的类别可能拥有某种统计学上的特征。最常见的密度估计方法是直方图,直方图是一种很直观的对数据样本分布进行可视化的方法。
概率密度估计可以分为参数估计和非参数估计:

  • 参数估计:假设数据服从某一个分布(比如高斯分布),并从数据样本估计概率密度函数的参数,比如HMM, MLE等。
  • 非参数估计:模型能估计出任意分布的数据,比如核密度估计。

二、Meanshift算法

图像的特征空间是一个基于输入的映射,输入图像上的一个小的自己映射到多维空间上的一个点,当整个输入都被映射到特征空间里,特征空间里的密度分布就能反映出输入的特征。结构位置的特征空间只能用非参数估计的方法分析,有两类非参数聚类方法:分层聚类核密度估计。密度估计的基本原理是把特征空间看作是一个所表示参数的概率密度函数,密集的区域就对应着概率密度函数的区域最大值,也就是这个未知分布的模式,然后就能得到相应的聚类。

1. 核密度估计

核密度估计是最常用的密度估计方法,给定n个数据点x_{i}, i =1,2,...n,分布在d维空间R^d, 有多变量核密度估计的核K(x),对称正定带宽矩阵H, 在点x得到的 \hat{f}(x) = \frac{1}{n}\sum\limits_i^nK_{H}(x-x_{i}),其中 K_{H}(x) = |H|^{-1/2}K(H^{-1/2}x)
常用的带宽矩阵H = h^2I, 只用一个参数h,简化了运算,带入上面的核密度估计公式可以得到\hat{f}(x) = \frac{1}{nh^d}\sum\limits_i^nK(\frac{x-x_{i}}{h})
h^d:d维空间里边长为h的多为立方体的体积
核密度估计的用密度和它的估计值之间的均方差来判断。Epanechnikov核有最小的渐进逼近均方差,K_{E}(x) = \begin{cases} 1-x & \quad \text{if } 0<=x <=1\\ 0 & \quad \text{if } x>1 \end{cases}
Epanechnikov核在边界不可分,所以也常用
K_{N}(x) = exp(-\frac{1}{2} x)
带入核密度公式之后概率密度估计公式可以写为\hat{f}_{h,K}(x) = \frac{c_{k,d}}{nh_{d}}\sum\limits_i^nk(\|\frac{x-x_{i}}{h}\|^2)
分析f(x)的特征空间的第一步,就是找到它的模式(mode),mode它一般都在梯度为0的位置,而 mean shift 是一个不需要估计密度就能找到0的方法。

2. 密度梯度估计

上面的公式求梯度\nabla\hat{f}_{h,K}(x)= \frac{2c_{k,d}}{nh_{d+2}}\sum\limits_i^n(x-x_{i})k'(\|\frac{x-x_{i}}{h}\|^2)
定义g(x) = -k'(x),可以得到\nabla\hat{f}_{h,K}(x)= \frac{2c_{k,d}}{nh_{d+2}}\sum\limits_i^n(x-x_{i})g(\|\frac{x-x_{i}}{h}\|^2)
= \frac{2c_{k,d}}{nh_{d+2}}[\sum\limits_i^ng(\|\frac{x-x_{i}}{h}\|^2) ][\frac{\sum\limits_i^nx_{i} g(\|\frac{x-x_{i}}{h}\|^2)}{\sum\limits_i^n g(\|\frac{x-x_{i}}{h}\|^2)} -x]
第二项总是正数,所以只要第三项为0,梯度变为0,得到mean shiftm_{h,G}(x) = \frac{\sum\limits_i^nx_{i} g(\|\frac{x-x_{i}}{h}\|^2)}{\sum\limits_i^n g(\|\frac{x-x_{i}}{h}\|^2)} -x
也就是一个范围内的数据点的权重均值与中心点x的差。
mean shift的步骤就是重复:

  • 计算mean shift向量m_{h,G}(x)
  • 根据向量移动核G(x)的窗口到下一个中心点
    直到收敛到梯度为0的点。
    G(x)的中心点为y_{j+1} = \frac{\sum\limits_i^nx_{i} g(\|\frac{x-x_{i}}{h}\|^2)}{\sum\limits_i^n g(\|\frac{x-x_{i}}{h}\|^2)} j=1,2,...

3. Mean shift 的应用

Mean shift滤波,做图像平滑去噪等,以及图像分割。

参考文献:
[1] Comaniciu D, Meer P. Mean shift: A robust approach toward feature space analysis[J]. IEEE Transactions on pattern analysis and machine intelligence, 2002, 24(5): 603-619.

相关文章

  • 模式分析(一)概率密度估计及Meanshift算法

    一、概率密度估计 概率密度估计,简单说就是从离散的数据中估计出连续的概率密度函数。这里的离散数据即收集到的样本,它...

  • 目标跟踪算法

    Meanshift 无参密度估计:直方图法、最近邻域法和核密度估计法,和参数估计不同的是,无参密度估计不需要知道特...

  • opencv目标跟踪算法 - 草稿

    * kcf算法 * orb算法 * meanshift算法 * camshift * klt * tld * 模板匹配

  • MeanShift算法

    姓名:徐娇 学号:17011210547 转自http://blog.csdn.net/yangtrees/ar...

  • seaborn

    kdeplot(核密度估计图) 核密度估计(kernel density estimation)是在概率论中用来估...

  • 算法导论:概率分析和随机算法

    参考资料:概率分析和随机算法雇佣问题在讲述概率分析和随机算法之前,需要先简单介绍一下,概率论的基础知识 基础知识 ...

  • 概率分析与随机算法

    目录 0.雇佣问题 1.概率分析的含义 2.随机算法 3.随机算法与概率分析的区别 4.雇佣问题的随机算法4.1 ...

  • OpenCV

    原图像保边滤波算法集锦--MeanShift滤波算法与实现https://blog.csdn.net/Trent1...

  • MeanShift聚类算法及代码实现

    MeanShift 该算法也叫做均值漂移,在目标追踪中应用广泛。本身其实是一种基于密度的聚类算法。主要思路是:计算...

  • 密度估计

    什么是密度估计? 在有限次观测的前提下,对随机变量的概率分布进行建模。 密度估计是病态的 意思就是你不知道这些数据...

网友评论

    本文标题:模式分析(一)概率密度估计及Meanshift算法

    本文链接:https://www.haomeiwen.com/subject/iiysphtx.html