kernel density estimator (parzen window)

背景

我们有非常多的数据,想求出该数据的概率密度函数。我们不知道这些数据服从哪一种分布,所以采用概率密度的无参数估计。

kernel density estimator

前提假设

假设采集到的数据 x ∈ R D \mathbf{x} \in \mathbb{R}^D xRD,服从 D D D维空间某个未知的概率分布,其中概率密度函数为 p ( x ) p(x) p(x). 设样本空间为 Ω \Omega Ω,即 x \mathbf{x} x Ω \Omega Ω.
ps:下文以2维为例.

目的

估算概率密度函数 p ( x ) p(x) p(x).

分析

数据 x \mathbf{x} x落在小区域 R \mathcal{R} R的概率为: P = ∫ R p ( x )    d x P=\int_{\mathcal{R}}p(\mathbf{x})\; \mathrm{d}\mathbf{x} P=Rp(x)dx
设计一个伯努利实验:在样本空间 Ω \Omega Ω随机采样 N N N次,每一次 x \mathbf{x} x落在小区域 R \mathcal{R} R的概率为 P P P,有 K K K次落到小区域 R \mathcal{R} R的概率是多少?很明显这是二项分布,它的概率为:
b ( K ; N , P ) = N ! K ! ( n − k ) ! P K ( 1 − P ) N − K b(K;N,P)=\frac{N!}{K!(n-k)!}P^K(1-P)^{N-K} b(K;N,P)=K!(nk)!N!PK(1P)NK
在这里插入图片描述
K K K的期望为: E ( K ) = N P E(K)=NP E(K)=NP. 方差: D ( K ) = N P ( 1 − P ) D(K)=NP(1-P) D(K)=NP(1P).
根据大叔定律我们知道,当数据两趋近于无穷大时,事件发生的频率等于该事件出现的概率.即
当  N    → ∞    有    ,    K N → P . \text{当 }N \; \rightarrow \infty \; \text{有}\;,\; \frac KN \rightarrow P.  N,NKP.
我们假设区域 R \mathcal{R} R足够小,使得概率密度函数在这个区域中可视为一个常数 p ( x ) p(x) p(x),则数据 x \mathbf{x} x落在 R \mathcal{R} R的概率为: P ≈ p ( x ) V P \approx p(x)V Pp(x)V p ( x ) V ≈ K N    ⟹    p ( x ) ≈ K N V p(x)V \approx \frac KN \; \Longrightarrow \; p(x) \approx \frac{K}{NV} p(x)VNKp(x)NVK

计算密度函数

为了计算有多少数据点落在指定区域,我们定义一个函数 k ( u ) = { 1 , ∣ u i ∣ &lt; 1 2 , &ThickSpace;&ThickSpace; i = 1 , 2 , ⋯ &ThinSpace; , D 0 , otherwise k(u)= \begin{cases} 1, &amp;\vert u_i \vert &lt;\frac12,\;\; i=1,2,\cdots,D \\ 0, &amp;\text{otherwise} \end{cases} k(u)={1,0,ui<21,i=1,2,,Dotherwise其中 u i u_i ui 是以原点为中心的超方体
R \mathcal{R} R是一个以 x x x为中心, h h h为边长的超方体(针对高维空间的说法,二维则为正方形).数据 x x x落在 R \mathcal{R} R的个数为: K = ∑ n = 1 N k ( x − x n h ) K=\sum_{n=1}^Nk(\frac{\mathbf{x} -\mathbf{x}_n}{h}) K=n=1Nk(hxxn)
其中当 x n \mathbf{x}_n xn x \mathbf{x} x的距离小于 h h h时,函数 k ( ⋅ ) k(\cdot) k()的取值为1,否则为0. 即统计落在区间 R \mathcal{R} R的个数.
设区域 R \mathcal{R} R的体积为 h D h^D hD,则概率为: p ( x ) = 1 N ∑ n = 1 N 1 h D k ( x − x n h ) p(x)=\frac 1N \sum_{n=1}^N \frac{1}{h^D}k(\frac{\mathbf{x} -\mathbf{x}_n}{h}) p(x)=N1n=1NhD1k(hxxn)
如果更平滑的核函数,比如高斯函数则概率: p ( x ) = 1 N ∑ n = 1 N 1 ( 2 π h 2 ) 1 2 e − ∥ x − x n ∥ 2 2 h 2 p(x)=\frac 1N \sum_{n=1}^N \frac{1}{(2 \pi h^2)^{\frac12}}e^{-\frac{\Vert \mathbf{x} -\mathbf{x}_n \Vert^2}{2h^2}} p(x)=N1n=1N(2πh2)211e2h2xxn2
根据函数 k ( u ) k(u) k(u)的对称性,我们可以这样解释:
样本落在某个小区域(以 x n \mathbf{x}_n xn为中心, h h h为半径的区域)的概率值。

参考文献 Pattern Recognition and machine learning 第2.5.1节kernel density estimator

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值