非参数估计基本原理

极大似然估计与贝叶斯估计 中我们提到了参数估计与非参数估计的区别

  • 参数估计先假设概率密度函数的形式,再根据样本估计该概率密度函数的参数
  • 非参数估计不对分布函数做具体的假设,而是直接根据样本估计各区域的概率密度

非参数估计的思想与直方图类似,即将样本空间划分为若干相同大小的区间,统计每个区间包含的的样本数并用柱状图画出,得到对真实概率密度的近似

hist

设$R$是样本空间中的一个小区域,$p(x)$为分布的概率密度函数,则样本$x$落在$R$中的概率为

假设$n$个样本独立同分布地根据$p(x)$抽取,显然落入区域$R$的样本数$k$服从二项分布,即有$E(k)=nP$

因此$P=\frac{k}{n}$是对$P$的一个很好的估计

当$R$足够小时,我们可以认为这个区间内$p(x)$没有变化,即有

其中$V$是区域$R$的体积,综上可得$p(x)$在区域$R$的估计

当$n$固定时,区域$R$的选定和体积$V$对估计效果影响很大
若$V$过大,则显然$\int_{R}p(x) \textbf{d}x = p(x)V$会过渡平滑,使估计不准确
若$V$过小,很可能其中不包含任何样本,此时$p(x)=0$,或只含1,2个样本,此时$p(x)$的估计值会无穷大

样本数量无限的理想情况下,我们可以通过如下方法来试图找到一个合适的$R$

为了估计点$x$处的概率密度,可以构造一系列包含$x$的区域$R_1,R_2,…$,其中$R_n$包含$k_n$个样本,则有

当满足如下条件时$p_n(x)$收敛于$p(x)$

  • $\lim_{n\to \infty} V_n = 0$
  • $\lim_{n\to \infty}k_n \to \infty$
  • $\lim_{n\to \infty}\frac{k_n}{n}=0$

其中最后一个条件限制$k$的增长速度小于$n$

然而实际中样本数量当然不可能无限,但我们仍可以构造这样的区域序列来尽可能准的估计$p(x)$
具体来说就是接下里的Parzen窗法和K近邻法

Parzen窗法

以下均假设样本空间为$d$维

Parzen窗法的关键是设计窗函数$\varphi(u)$,我们先看一个简单的窗函数

这个窗函数定义了一个中心在原点,边长为1的超立方体,超立方体内部函数值为1,否则为0

利用$\varphi(u)$可以定义一个中心位于样本$x$,边长为$h_n$的超立方体

即若样本$x_i$落入以$x$为中心的超立方体中,则窗函数值为1,因此以$x$为中心的超立方体中包含样本数为

令$V_n=h_n^d$,则$p(x)$估计值为

实际上窗函数可以是各种形状,满足 $\varphi(u)\geq 0$ 和 $\int \varphi(u) \text{d}u=0$ 的函数都可以作为窗函数

最常用的窗函数是高斯窗函数

显然Parzen窗法的估计结果主要受窗函数的宽度$h_n$影响

若$h_n$过大,则得到的密度曲线抖动过大,若$h_n$过小,则曲线将过于平滑

一般情况下,可以令$h_n=\frac{h_1}{\sqrt n}$,其中$h_1$为选定的初值

K近邻法

上述Parzen窗法实质上是定义了一个关于$n$的体积函数,通过逐渐收缩体积达到收敛

而K近邻法的思想是定义$k_n$为关于$n$的函数,每次对一个确定的$k_n$,逐渐扩大体积$V_n$直到以$x$为中心的区域包含$k_n$个样本为止

一般情况下,可以令$k_n=k_1\sqrt n$,其中$k_1$为选定的初值

非参数估计与贝叶斯分类

贝叶斯分类中需要根据贝叶斯公式计算后验概率 $P(c|x)=\frac{P(x|c)P(c)}{P(x)}$

对于其中的类条件概率$P(x|c)$,我们可以用Parzen窗法估计,即

其中$n_c$为类别$c$的样本数,$x_c$为属于类别$c$的样本

我们也可以使用K近邻法直接估计后验概率$P(c|x)$

选取距离样本$x$最近的$k$个样本,其中有$k_c$个样本属于类别$c$,则$P(c|x)=\frac{k_c}{k}$