背景
我们有非常多的数据,想求出该数据的概率密度函数。我们不知道这些数据服从哪一种分布,所以采用概率密度的无参数估计。
kernel density estimator
前提假设
假设采集到的数据
x
∈
R
D
\mathbf{x} \in \mathbb{R}^D
x∈RD,服从
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!(n−k)!N!PK(1−P)N−K
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(1−P).
根据大叔定律我们知道,当数据两趋近于无穷大时,事件发生的频率等于该事件出现的概率.即
当
N
  
→
∞
  
有
  
,
  
K
N
→
P
.
\text{当 }N \; \rightarrow \infty \; \text{有}\;,\; \frac KN \rightarrow P.
当 N→∞有,NK→P.
我们假设区域
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
P≈p(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)V≈NK⟹p(x)≈NVK
计算密度函数
为了计算有多少数据点落在指定区域,我们定义一个函数
k
(
u
)
=
{
1
,
∣
u
i
∣
<
1
2
,
    
i
=
1
,
2
,
⋯
 
,
D
0
,
otherwise
k(u)= \begin{cases} 1, &\vert u_i \vert <\frac12,\;\; i=1,2,\cdots,D \\ 0, &\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=1∑Nk(hx−xn)
其中当
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=1∑NhD1k(hx−xn)
如果更平滑的核函数,比如高斯函数则概率:
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=1∑N(2πh2)211e−2h2∥x−xn∥2
根据函数
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