精华内容
下载资源
问答
  • kde核密度估计,非参数估计的一种,使用高斯核函数进行概率密度估计,应用于独立成分分析确定控制限等过程
  • 高斯核密度估计代码

    热门讨论 2013-01-22 19:28:39
    matlab最快最强的核密度估计代码,容易上手
  • MATLAB-高斯核密度估计

    热门讨论 2010-03-25 09:12:10
    主要用MATLAB编写的核密度估计方法,采用的核是高斯核
  • 本文介绍高斯核密度估计和Ep核密度估计两种核模型算法: 1、 Epanechnikov 核函数介绍 核密度估计是在概率论中用来估计未知的密度函数,属于非参数检验方法之一,由Rosenblatt (1955)和Emanuel Parzen(1962)...

    目标检测,也叫目标提取,是一种基于目标几何和统计特征的图像分割,它将目标的分割和识别合二为一,其准确性和实时性是整个系统的一项重要能力。尤其是在复杂场景中,需要对多个目标进行实时处理时,目标自动提取和识别就显得特别重要。

    随着计算机技术的发展和计算机视觉原理的广泛应用,利用计算机图像处理技术对目标进行实时跟踪研究越来越热门,对目标进行动态实时跟踪定位在智能化交通系统、智能监控系统、军事目标检测及医学导航手术中手术器械定位等方面具有广泛的应用价值。

    本文介绍高斯核密度估计和Ep核密度估计两种核模型算法:

    1、Epanechnikov核函数介绍

    核密度估计是在概率论中用来估计未知的密度函数,属于非参数检验方法之一,由Rosenblatt (1955)和Emanuel Parzen(1962)提出,又名Parzen窗(Parzen window)。

    假设我们有n个数X1-Xn,我们要计算某一个数X概率密度有多大。核密度估计的方法是这样的:

     

    (1)

    其中N(x,z)正态分布概率密度函数,z为设定的参数。

    核密度估计算法的基本原理是在对某一事物的概率分布的情况下,假设一个数在观察的过程中出现了,就可以假定这个数相对应的概率密度比较大,从而可以得出和这个数相邻的数的概率密度也会比较大,反之,离这个数较远的数的概率密度比较小。基于这一原理,我们可以通过一个函数来映射出每个数概率密度之间的关系。

    假设xi,i=1,2,…N为同一未知概率密度函数产生的维度为dN个样本点。核密度估计函数表示如下:

     

    (2)

    其中KH为核函数,可以表示为Hd×d大小的正定带宽矩阵。当简化带宽矩阵为单参数h时,(2)式变为我们所熟悉的形式:

     

    (3)

    多维变量的核函数Ks可以通过每个维度下单变量核函数Kj的乘积计算来表示:

     

    (4)

     

    xi∈{x1,x2,…,xN}为图像中位于坐标(x0,y0)的像素点在第i时刻的色彩向量,{x1,x2,…,xN}为当前像素样本集Sa。对于t时刻此像素点的观测值xt而言,其密度函数p(xt)的核密度估计则可定义如下:

     

    (5)

    其中,Ks为选择的核函数,满足性质

    所采集的图像数据一般为多通道的彩色图像(例如RGB三通道),利用公式(2)、(3),可以写出d维颜色通道的核函数乘积:

     

    (6)

    单维度Epanechnikov函数表达式如下:

     

    (7)

    Cd表示d维超球体体积,以RGB图像为例,C3是半径为1的球的体积,即C3=4π∙13/3。此时像素的输入xt=xt1,xt2,xt3,样本点为xi=[xi1,xi2,xi3]。基于Epanechnikov核函数的三通道彩色图像像素值的概率密度估计函数为:

     

    (8)

     

     

    2、高斯核函数介绍

     

    展开全文
  • R语言核密度图

    2021-01-07 14:01:49
    核密度 ...核密度估计(kernel density estimation)是在概率论中用来估计未知的密度函数,属于非参数检验方法之一,由Rosenblatt (1955)和Emanuel Parzen (1962)提出,又名Parzen窗(Parzen windo
  • 我可以通过简单的运行使用scipy库执行高斯核密度估计from scipy import statskernel = stats.gaussian_kde(data)但是我想将协方差修正为某个预定义值并用它来执行KDE.有没有一种简单的方法可以在没有明确编写优化...

    我可以通过简单的运行使用scipy库执行高斯核密度估计

    from scipy import stats

    kernel = stats.gaussian_kde(data)

    但是我想将协方差修正为某个预定义值并用它来执行KDE.有没有一种简单的方法可以在没有明确编写优化过程的情况下在python的帮助下实现这一点(如果没有现有的库提供这样的功能,我将会这样做,但我希望避免它).

    最佳答案 从我的评论:

    通常,对于密度估计,所涉及的高斯函数用作“窗口”函数,并且该窗口的“协方差”(实际上是1-D情况下的带宽参数)仅用于控制窗口的响应如何作为被测点的距离函数.我不熟悉任何寻求使用特定的多元协方差结构来实现这种窗口衰减效应的KDE程序.

    我还猜想在实践中最复杂的这种“协方差”将是一个对角矩阵,你只需要为数据的每个维度使用不同的带宽参数.也许(这可能是非常脆弱的)你可以对数据的主要方向进行某种PCA细分并将不同的带宽放在那里,但我认为除非数据方向有着截然不同的尺度,否则这种情况极不可能得到回报.在开始使用KDE之前,最好只对输入进行评分,并使用一个带宽.

    如果您从scikits.learn及其KernelDensity class的文档中读取KDE examples,它们似乎(如SciPy)它们只是为您提供带宽功能(单个浮点数)来总结内核的repsonse应该脱落的方式.

    对我而言,这表明对多变量带宽设置进行大量控制并不具有实际意义.最好的办法是执行一些评分或标准化来转换输入变量,使它们具有相同的比例(以便在相同比例的每个方向上平滑),然后使用KDE预测或分类值转换空间,如果要返回原始缩放空间,则对每个坐标应用逆转换.

    展开全文
  • 基于二维非参数核密度估计,以及带宽的优化计算的代码
  • 1、概率密度估计方法 概率密度估计方法用于估计一组数据集的概率密度分布,分为参数估计方法和非参数估计方法。 参数估计方法 假定样本集符合某一概率分布,然后根据样本集拟合该分布中的参数,例如:似然估计,混合...

    1、概率密度估计方法

    概率密度估计方法用于估计一组数据集的概率密度分布,分为参数估计方法和非参数估计方法。
    参数估计方法
    假定样本集符合某一概率分布,然后根据样本集拟合该分布中的参数,例如:似然估计,混合高斯等,由于参数估计方法中需要加入主观的先验知识,往往很难拟合出与真实分布的模型;
    非参数估计法
    非参数估计并不加入任何先验知识,而是根据数据本身的特点、性质来拟合分布,这样能比参数估计方法得出更好的模型。核密度估计就是非参数估计中的一种。

    2、核密度估计KDE(Kernel Density Estimation)

    由Rosenblatt (1955)和Emanuel Parzen(1962)提出,又名Parzen窗(Parzen window),设数据集包含N个样本,对这N个样本进行核函数拟合,将这N个概率密度函数进行叠加便得到了整个样本集的概率密度函数。拟合叠加过程如下图所示。
    在这里插入图片描述
    核密度估计概率密度函数为
    在这里插入图片描述
    高斯函数为核函数的概率密度函数如下式:
    在这里插入图片描述
    带宽h的选择:当选择极小的带宽值,每个点就是一个峰值,那么每个点就是一类,如果选择大的带宽值,那么所有的数据只有一个峰值,只有一类。带宽选择没有对错之分,可以基于分析的需求进行选择。也可以通过可视化观察估计结果和数据分布的匹配度。
    核函数的种类如下图所示。
    在这里插入图片描述
    2、高斯混合模型GMM(Gaussian Mixture Model)
    高斯混合模型的表达式如下式,
    在这里插入图片描述在这里插入图片描述
    D维多元高斯分布如下式。
    在这里插入图片描述
    高斯混合模型的示意图如下
    在这里插入图片描述

    3、核密度估计与高斯混合模型对比

    核密度估计采用单一模型,导致采样样本中存在的噪声使最终结果的噪点较多,并且对于细节如轮廓边缘处理过于粗糙。而混合高斯模型对每个像素点建立多个高斯分布,能更精确描述数据特征,但计算量较大,算法复杂。

    参考链接
    https://blog.csdn.net/liangzuojiayi/article/details/78152180
    https://blog.csdn.net/unixtch/article/details/78556499

    展开全文
  • 核密度估计大作业KDE

    2018-03-12 21:22:58
    东华大学机器学习核密度估计大作业 第一部分是一个三维的彩色KDE估计图(最好用MATLAB画);第二部分是测试图片的运动目标二值图像检测结果(运动员用白色像素,背景用黑色)
  • 具有对角带宽矩阵的快速准确的最先进的双变量核密度估计器。 核被假定为高斯核。 两个带宽参数都是经过优化选择的使用/假设数据的参数模型或任何“经验法则”。 与许多其他程序不同,这个程序在估计具有广泛分离模式...
  • 核密度估计图核密度估计图(kernel density plot)用于显示数据在X轴连续数据段内的分布状况;直方图的变种,使用平滑曲线来绘制数值水平,从而得出更平滑的分布;较直方图,核密度估计图,不受所使用分组数量的影响,...

    a954d41d697d01eb4e15348d6e7f73b4.png

    核密度估计图

    核密度估计图(kernel density plot)

    用于显示数据在X轴连续数据段内的分布状况;直方图的变种,使用平滑曲线来绘制数值水平,从而得出更平滑的分布;较直方图,核密度估计图,不受所使用分组数量的影响,更好地界定分布形状;

    核密度估计(kernel density estimation)

    在概率论中用来估计未知的密度函数,属于非参数检验方法之一;由Rosenblatt和Emanuel Parzen提出,又名Parzen窗(Parzen windows);

    核密度估计

    采用平滑的峰值函数“核”来拟合观察到的数据点,从而对真实的概率分布曲线进行模拟;核密度估计是一种用于估计概率密度函数的非参数方法;

    绘制核密度估计图

    plotnine包提供geomdensity()函数,绘制核密度估计图;geomdensity()函数的主要参数是带宽(bw)和核函数(kernel);核函数默认为高斯核函数“gaussian”;

    峰峦图

    峰峦图也可以应用于多数据系列的核密度估计可视化;X轴对应平均温度的数值范围;Y轴对应不同的月份;每个月份的核密度估计数值映射到颜色;可以很好地展示多数据系列的核密度估计结果;

    绘制核密度估计峰峦图

    joypy包提供了joyplot()函数,根据数据可以直接绘制不同颜色的核密度估计峰峦图;带有颜色渐变映射的核密度估计峰峦图,可以使用plotnine包的geomlinerange()函数和geomline()函数结合实现;绘制前需要先使用sklearn包的KernelDensity()函数求取每个月份的核密度估计曲线;再根据核密度估计数据绘制峰峦图;

    绘制多数据系列核密度估计图

    import pandas as pd

    from plotnine import *

    df=pd.read_csv('d:\python\out\HistDensityD.csv')

    #file.close() # 关闭文件

    #多数剧系列核密度估计图

    base_density=(ggplot(df, aes(x='MXSPD', fill='Location'))+

    geom_density(bw=1,alpha=0.55,colour="black",size=0.25,kernel="gaussian")+

    scale_fill_hue(s = 0.90, l = 0.65, h=0.0417,color_space='husl')+

    theme(

    text=element_text(size=13,color="black"),

    plot_title=element_text(size=15,family="myfont",face="bold.italic",hjust=.5,color="black"),#,

    legend_position=(0.7,0.75),

    legend_background = element_blank(),

    aspect_ratio =1.15,

    figure_size=(5,5)

    ))

    print(base_density)

    绘制核密度估计峰峦图

    import pandas as pd

    import numpy as np

    import joypy

    import matplotlib.pyplot as plt

    from matplotlib import cm

    import seaborn as sns

    plt.rc('font',family='Times New Roman')

    #

    sns.set_context("notebook", font_scale=1.5,

    rc={'font.size': 12,

    'axes.labelsize': 20, 'legend.fontsize':15,

    'xtick.labelsize': 15,'ytick.labelsize': 15})

    df = pd.read_csv("d:\python\out\lincoln_weather.csv")

    Categories=['January', 'February', 'March', 'April', 'May', 'June','July',

    'August','September', 'October', 'November','December']

    df['Month']=df['Month'].astype("category",Categories)

    fig, axes = joypy.joyplot(df, column=["Mean.Temperature..F."],

    by="Month", ylim='own',colormap=cm.Spectral_r,

    alpha= 0.9,figsize=(6,5))

    plt.xlabel("Mean Temperature",{'size': 15 })

    plt.ylabel("Month",{'size': 15 })

    #axes.set_axis_labels("Mean Temperature", "Month")

    plt.show()

    fig.savefig('d:\python\out\joyplot.pdf')

    安装joypy包

    (base) C:\Users\Administrator>pip install joypy

    Collecting joypy

    Downloading joypy-0.2.2-py2.py3-none-any.whl (8.3 kB)

    Requirement already satisfied: scipy>=0.11.0 in c:\users\administrator\appdata\r

    oaming\python\python37\site-packages (from joypy) (1.5.1)

    Requirement already satisfied: pandas>=0.20.0 in c:\users\administrator\appdata\

    roaming\python\python37\site-packages (from joypy) (1.0.5)

    Requirement already satisfied: numpy in c:\anaconda3\lib\site-packages (from joy

    py) (1.19.0)

    Requirement already satisfied: matplotlib in c:\anaconda3\lib\site-packages (fro

    m joypy) (3.3.0)

    Requirement already satisfied: python-dateutil>=2.6.1 in c:\anaconda3\lib\site-p

    ackages (from pandas>=0.20.0->joypy) (2.7.3)

    Requirement already satisfied: pytz>=2017.2 in c:\anaconda3\lib\site-packages (f

    rom pandas>=0.20.0->joypy) (2018.5)

    Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.3 in c:\an

    aconda3\lib\site-packages (from matplotlib->joypy) (2.2.0)

    Requirement already satisfied: cycler>=0.10 in c:\anaconda3\lib\site-packages (f

    rom matplotlib->joypy) (0.10.0)

    Requirement already satisfied: pillow>=6.2.0 in c:\anaconda3\lib\site-packages (

    from matplotlib->joypy) (7.2.0)

    Requirement already satisfied: kiwisolver>=1.0.1 in c:\anaconda3\lib\site-packag

    es (from matplotlib->joypy) (1.0.1)

    Requirement already satisfied: six>=1.5 in c:\anaconda3\lib\site-packages (from

    python-dateutil>=2.6.1->pandas>=0.20.0->joypy) (1.11.0)

    Requirement already satisfied: setuptools in c:\anaconda3\lib\site-packages (fro

    m kiwisolver>=1.0.1->matplotlib->joypy) (40.2.0)

    Installing collected packages: joypy

    Successfully installed joypy-0.2.2

    (base) C:\Users\Administrator>

    展开全文
  • 分别利用seaborn和scipy, numpy生成KDE
  • 高斯过程(GP) https://zhuanlan.zhihu.com/p/27555501 ... 核密度估计 https://blog.csdn.net/pipisorry/article/details/53635895 转载于:https://www.cnblogs.com/Icarus...
  • 核密度估计matlab程序

    2018-05-31 11:01:05
    matlab核密度估计程序,用于数据的预测,风险控制,预期收益等
  • MATLAB二维核密度估计

    2016-01-26 15:53:16
    MATLAB实现的二维核密度估计。 输入平面样本点,得到概率密度函数。 2D Kernel Density Estimation。
  • 上篇文章所指定的是对一个不包含动态背景的监控视频进行前景提取,用基于改进的五帧帧差和混合高斯模型相融合的前景提取算法是可以很好实现前景提取的。但本文中要求在包含动态背景的监控视频提取前景目标,虽然上篇...
  • 1.核密度估计图。import matplotlib.pylab as pltimport seaborn as snsdf = sns.load_dataset('iris')p1=sns.kdeplot(df['sepal_width'])plt.show()import matplotlib.pylab as pltimport seaborn as snsdf = sns....
  • 核密度估计原理及spark&python实现

    千次阅读 热门讨论 2019-08-03 11:38:47
    核密度估计属于非参数估计,它主要解决的问题就是在对总体样本的分布未知的情况,如何估计样本的概率分布。...核密度估计就可以很好的解决直方存在的问题,它的原理其实也很简单:当你需要估计一...
  • 1. 核密度估计图,通过核函数来进行密度估计 2. 六边形分箱图(Hexagonal Binning),直接计算不同bin中的点的数量 首先来说一下核密度估计图 具体什么是核密度估计建议大家去B站搜索一下,讲的很清楚,大概就是...
  • 核密度估计

    万次阅读 多人点赞 2018-11-05 14:49:03
    假如知己n个点,我们想要知道整体的概率密度分布,则可以使用概率密度估计来求解。   一步步是解更加完美:   盒子模型  假如我们已经知道如下点,考虑一维情况。 X=[2, 22, 42, 62, 82, 102, 122, 142,162,...
  • yy, f, colors='k') # Label plot ax.clabel(cset, inline=1, fontsize=10) ax.set_xlabel('Y1') ax.set_ylabel('Y0') pl.show() 前面的代码给出了以下结果: 它有一个不透明的x轴,一个不透明的y轴和轮廓上的密度值...
  • 将2D高斯核函数根据非正交方向进行分解,得到一维的x轴和其他方向的高斯函数,通过统计学方法,将分解的高斯函数与卷积滤波器或者迭代滤波器结合进行边缘检测。
  • kde工具箱(matlab)@kdeContents.mREADME.txtTODO.txtadjustBW.dlladjustBW.madjustBW.mexglxadjustPoints.dlladjustPoints.madjustPoints.mexglxadjustWeights.dlladjustWeights.madjustWeights.mexglxcondition....
  • 核密度估计Kernel Density Estimation(KDE)概述密度估计的问题由给定样本集合求解随机变量的分布密度函数问题是概率统计学的基本问题之一。解决这一问题的方法包括参数估计和非参数估计。参数估计参数估计又可分为...
  • FAP算法采用高斯核密度作为模式的支持度量,使用最小密度熵方法选择高斯核函数的带宽参数,进而避免了硬距离阈值策略的不足,实现了时间序列多模式发现。因为现实中的时间序列数据集规模较大且常含有噪声,所以FAP...
  • 东华大学核密度估计KDE代码 第一部分是一个三维的彩色KDE估计图(最好用MATLAB画);第二部分是测试图片的运动目标二值图像检测结果(运动员用白色像素,背景用黑色)
  • 核密度估计 Kernel Density Estimation(KDE)

    万次阅读 多人点赞 2017-11-16 23:16:14
    简单来讲,即假定样本集符合某一概率分布,然后根据样本集拟合该分布中的参数,例如:似然估计,混合高斯等,由于参数估计方法中需要加入主观的先验知识,往往很难拟合出与真实分布的模型; 2.非参数估计 和...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,534
精华内容 2,613
关键字:

高斯核密度估计图