3.4 概率密度估计的非参数方法

最大似然估计和贝叶斯估计都属于参数估计,但有时我们无法给出密度函数的形式,这时就需要用非参数估计,直接用样本估计整个函数。

3.4.1 非参数估计的基本原理与直方图方法

要求解的问题是:已知样本集 χ = { x 1 , … , x N } \chi = \{x_1,…,x_N\} χ={x1​,…,xN​} 中的样本是从服从密度函数 p ( x ) p(x) p(x) 的总体中独立抽取出来的,求 p ( x ) p(x) p(x) 的估计 p ^ ( x ) \hat p(x) p^​(x) 。
考虑在样本所在空间的某个小区域 R R R ,某个随机向量落入这个小区域的概率是
P R = ∫ R p ( x ) d x ( 3 − 55 ) P_R = \int_R p(x)dx \quad(3-55) PR​=∫R​p(x)dx(3−55)
根据二项分布,在样本集 χ \chi χ 中恰好有 k k k 个落入小区域 R R R 的概率是
P k = C N k P R k ( 1 − P R ) N − k ( 3 − 56 ) P_k = C_N^kP_R^k(1-P_R)^{N-k} \quad(3-56) Pk​=CNk​PRk​(1−PR​)N−k(3−56)
k k k 的期望值是
E [ k ] = N P R ( 3 − 57 ) E[k] = NP_R \quad(3-57) E[k]=NPR​(3−57)
而且 k k k 的众数是
m = [ ( N + 1 ) P R ] ( 3 − 58 ) m=[(N+1)P_R] \quad(3-58) m=[(N+1)PR​](3−58)
其中 [ ] [ ] [] 表示取整数。因此,当小区域中实际落入了 k k k 个样本时, P R P_R PR​ 的一个很好的估计是
P ^ R = k N ( 3 − 59 ) \hat P_R=\dfrac{k}{N} \quad(3-59) P^R​=Nk​(3−59)
当 p ( x ) p(x) p(x) 连续、且小区域 R R R 的体积 V V V 足够小时,可以假定在该小区域范围内 p ( x ) p(x) p(x) 是常数,则式(3-55)可近似为
P R = ∫ R p ( x ) d x = p ( x ) V ( 3 − 60 ) P_R = \int_R p(x)dx = p(x)V \quad(3-60) PR​=∫R​p(x)dx=p(x)V(3−60)
用式(3-59)的估计代入到式(3-60)中,可得,在小区域 R R R 的范围内
p ^ ( x ) = k N V ( 3 − 61 ) \hat p(x) = \dfrac{k}{NV} \quad(3-61) p^​(x)=NVk​(3−61)
这就是在上面的直方图中使用的对小舱内概率密度的估计。
可以设想,小舱的选择是与估计的效果密切相连的,还与样本的分布有关。所以,小舱的选择应该与样本总数相适应,理论上,假定样本总数是 n n n ,小舱的体积为 V n V_n Vn​ ,在 X X X 附近位置上落入小舱的样本个数是 k n k_n kn​ ,那么当样本趋于无穷多时 p ^ ( x ) \hat p(x) p^​(x) 收敛于 p ( x ) p(x) p(x)的条件是
lim ⁡ n → ∞ V n = 0 , lim ⁡ n → ∞ k n = ∞ , lim ⁡ n → ∞ k n n = 0 ( 3 − 62 ) \lim\limits_{n\rarr\infin}V_n = 0,\quad \lim\limits_{n\rarr\infin}k_n = \infin ,\lim\limits_{n\rarr\infin}\dfrac{k_n}{n} = 0 \quad(3-62) n→∞lim​Vn​=0,n→∞lim​kn​=∞,n→∞lim​nkn​​=0(3−62)

做法:

  1. 把样本 x x x 的每个分量在其取值范围内分成 k k k 个等间隔的小窗。如果 x x x 是 d d d 维向量,则这种分割就会得到 k d k^d kd 个小体积或者称作小舱,每个小舱的体积计作 V V V 。
  2. 统计落入每个小舱内的样本数目 q i q_i qi​ 。
  3. 把每个小舱内的概率密度看作是常数,并用 q i N V \dfrac{q_i}{NV} NVqi​​ 作为其估计值,其中 N N N 为样本总数。

3.4.2 k N k_N kN​ 近邻估计方法

k N k_N kN​ 近邻估计就是一种采用可变大小的小舱的密度估计方法,即调整小舱的体积,使小舱内恰好落入 k N k_N kN​ 个样本,并用式(3-60)来估计 p ^ ( x ) \hat p(x) p^​(x) ,
p ^ ( x ) = k N N V ( 3 − 63 ) \hat p(x) = \dfrac{k_N}{NV} \quad(3-63) p^​(x)=NVkN​​(3−63)
这样,在样本密度比较高的区域小舱的体积就会比较小,而在密度低的区域则小舱体积自动增大。为了取得好的估计效果,仍然需要根据式(3-62)来选择 k N k_N kN​ 与 N N N 的关系,比如可以选取为 k N ∼ k N k_N\sim k\sqrt N kN​∼kN ​ , k k k 为某个常数。

3.4.3 Parzen 窗法

Parzen 窗法与直方图很相似,但可以通过使用合适的核函数,使得估计的概率密度具有光滑连续的特点。

举例:

sample 1 2 3 4 5 6
value -2.1 -1.3 -0.4 1.9 5.1 6.2

左侧的直方图,横坐标被分割成不同的小区域,每个小区域的宽度为2,小区域的高度为 1/12 ,如果有多个点落在同一个区域中,将高度进行累加。
右侧的核密度估计,则在每个数据点的位置放置了一个方差为2.25的法向核函数(用红色虚线表示),并且同直方图一样对高度进行累加。

根据式(3-61) p ^ ( x ) = k N V \hat p(x) = \dfrac{k}{NV} p^​(x)=NVk​ 。在固定小区域体积的前提下将其进行变换
p ^ ( x ) = 1 N V ∑ i = 1 N { 1 x − h ⩽ x i ⩽ x + h 0 e l s e = 1 N V ∑ i = 1 N { 1 − 1 ⩽ x i − x h ⩽ 1 0 e l s e = 1 N V ∑ i = 1 N φ ( x − x i h ) \hat p(x) = \dfrac{1}{NV} \sum \limits_{i=1}^N \begin{cases} 1&x-h\leqslant x_i\leqslant x+h \\ 0&else\end{cases} \newline =\dfrac{1}{NV} \sum \limits_{i=1}^N \begin{cases} 1&-1\leqslant \dfrac{x_i-x}{h}\leqslant 1 \\ 0&else\end{cases} \newline =\dfrac{1}{NV} \sum \limits_{i=1}^N \varphi(\dfrac{x-x_i}{h}) p^​(x)=NV1​i=1∑N​{10​x−h⩽xi​⩽x+helse​=NV1​i=1∑N​⎩ ⎨ ⎧​10​−1⩽hxi​−x​⩽1else​=NV1​i=1∑N​φ(hx−xi​​)
这样得到的 1 V φ ( x − x i h ) \dfrac1 V \varphi(\dfrac{x-x_i}{h}) V1​φ(hx−xi​​) 就是一个核函数(方窗)

假设 x ∈ R d x \in R^d x∈Rd 是 d d d 维特征向量,并假设每个小舱是一个超立方体,它在每一维的棱长都为 h h h ,则小舱的体积是
V = h d ( 3 − 64 ) V = h^d \quad(3-64) V=hd(3−64)
要计算每个小舱内落入的样本数目,可以定义如下的 d d d 维单位方窗函数
φ ( [ u 1 , u 2 , … , u d ] T ) = { 1 ∣ u j ∣ ⩽ 1 2 , j = 1 , 2 , … , d 0 e l s e ( 3 − 65 ) \varphi ([u_1,u_2,…,u_d]^T) = \begin{cases} 1 & |u_j|\leqslant\dfrac1 2 ,j = 1,2,…,d \\ 0 & else\end{cases} \quad(3-65) φ([u1​,u2​,…,ud​]T)=⎩ ⎨ ⎧​10​∣uj​∣⩽21​,j=1,2,…,delse​(3−65)
这个函数在以原点为中心的 d d d 维单位超正方体内取值为1,而其他地方取值都为0。对于每一个 x x x ,要考查某个样本 x i x_i xi​ 是否在这个 x x x 为中心、 h h h 为棱长的小立方小舱内,就可以通过计算 φ ( x − x i h ) \varphi(\dfrac{x-x_i}{h}) φ(hx−xi​​) 来进行。现共有 N N N 个观测样本 { x 1 , x 2 , … , x N } \{x_1,x_2,…,x_N\} {x1​,x2​,…,xN​} ,那么落入以 x x x 为中心的超立方体内的样本数就可以写成
k N = ∑ i = 1 N φ ( x − x i h ) ( 3 − 66 ) k_N = \sum\limits_{i=1}^N \varphi(\dfrac{x-x_i}{h}) \quad(3-66) kN​=i=1∑N​φ(hx−xi​​)(3−66)
代入(3-61)可以得到对于任意一点 x x x 的密度估计的表达式
p ^ ( x ) = 1 N V ∑ i = 1 N φ ( x − x i h ) ( 3 − 67 ) \hat p(x) = \dfrac{1}{NV} \sum\limits_{i=1}^N \varphi(\dfrac{x-x_i}{h}) \quad(3-67) p^​(x)=NV1​i=1∑N​φ(hx−xi​​)(3−67)
核函数要求:
因为要估计的概率密度函数积分为1。
∫ R p ^ ( x ) d x = 1 ∫ R 1 N V ∑ i = 1 N φ ( x − x i h ) = 1 1 N ∑ i = 1 N ∫ − ∞ + ∞ 1 V φ ( x − x i h ) d x = 1 \int\limits_R \hat p(x)dx = 1 \newline \int\limits_R\dfrac{1}{NV} \sum\limits_{i=1}^N \varphi(\dfrac{x-x_i} {h}) = 1 \newline \dfrac{1}{N} \sum\limits_{i=1}^N \int_{-\infin}^{+\infin} \dfrac1 V \varphi(\dfrac{x-x_i}{h})dx = 1 \newline R∫​p^​(x)dx=1R∫​NV1​i=1∑N​φ(hx−xi​​)=1N1​i=1∑N​∫−∞+∞​V1​φ(hx−xi​​)dx=1
令 t = x − x i h t=\dfrac{x-x_i}{h} t=hx−xi​​ 则,
1 N ∑ i = 1 N ∫ − ∞ + ∞ 1 V φ ( t ) d t = 1 \dfrac{1}{N} \sum\limits_{i=1}^N \int_{-\infin}^{+\infin} \dfrac1 V \varphi(t)dt = 1 N1​i=1∑N​∫−∞+∞​V1​φ(t)dt=1
因此核函数
∫ K ( x , x i ) d x = 1 且 K ( x , x i ) ⩾ 0 ( 3 − 71 ) \int K(x,x_i)dx = 1 且 K(x,x_i) \geqslant 0 \quad(3-71) ∫K(x,xi​)dx=1且K(x,xi​)⩾0(3−71)
常见核函数:

  1. 方窗
    k ( x , x i ) = { 1 h d ∣ x J − x i j ∣ ⩽ h 2 , j = 1 , 2 , … , d 0 e l s e ( 3 − 72 ) k(x,x_i) = \begin{cases} \dfrac{1}{h^d}&|x^J-x_i^j|\leqslant\dfrac h 2,j=1,2,…,d \\ 0&else \end{cases} \quad(3-72) k(x,xi​)=⎩ ⎨ ⎧​hd1​0​∣xJ−xij​∣⩽2h​,j=1,2,…,delse​(3−72)
  2. 高斯窗(正态窗)
    k ( x , x i ) = 1 ( 2 π ) d ρ 2 d ∣ Q ∣ exp ⁡ [ − 1 2 ( x − x i ) T Q − 1 ( x − x i ) ρ 2 ] ( 3 − 73 ) k(x,x_i)=\dfrac1 {\sqrt{(2\pi)^d\rho^{2d}|Q|}}\exp[-\dfrac1 2 \dfrac{(x-x_i)^TQ^{-1}(x-x_i)}{\rho^2}] \quad(3-73) k(x,xi​)=(2π)dρ2d∣Q∣ ​1​exp[−21​ρ2(x−xi​)TQ−1(x−xi​)​](3−73)
  3. 超球窗
    k ( x , x i ) = { V − 1 ∣ ∣ x − x i ∣ ∣ ⩽ ρ 0 e l s e k(x,x_i) = \begin{cases} V^{-1}&||x-x_i||\leqslant\rho \\ 0&else \end{cases} k(x,xi​)={V−10​∣∣x−xi​∣∣⩽ρelse​

非参数法的共同问题是对样本数目需求较大。

参考
张学工. 模式识别. 第三版. 北京:清华大学出版社,2010
张学工,汪小我. 模式识别与机器学习. 第四版. 北京:清华大学出版社,2021
部分图片来源于网络

概率密度估计的非参数方法相关推荐

  1. 贝叶斯决策理论和概率密度估计方法

    贝叶斯决策理论和概率密度估计方法 这学期学习了<模式识别>这门课程,刚刚考完试,趁着考试复习的机会把模式识别的基础方法总结了一下了,这一篇的主要内容是转自Angel_Yuaner大神的博客 ...

  2. 概率密度估计小结--参数估计与非参数估计

    通过观测世界得到了一些数据,我们要从这些数据里面去找出规律来认识世界,一般来说,在概率上我们有一个一般性的操作步骤: 1. 观测样本的存在 2. 每个样本之间是独立的 3. 所有样本符合一个概率模型 ...

  3. 概率密度估计--参数估计与非参数估计

    我们观测世界,得到了一些数据,我们要从这些数据里面去找出规律来认识世界,一般来说,在概率上我们有一个一般性的操作步骤 1. 观测样本的存在 2. 每个样本之间是独立的 3. 所有样本符合一个概率模型 ...

  4. parzen窗概率密度估计 matlab,核密度估计(parzen窗密度估计)

    matlab中提供了核平滑密度估计函数ksdensity(x): [f, xi] = ksdensity(x) 返回矢量或两列矩阵x中的样本数据的概率密度估计f. 该估计基于高斯核函数,并且在等间隔的 ...

  5. 概率密度估计方法-核密度估计和高斯混合分布

    1.概率密度估计方法 概率密度估计方法用于估计一组数据集的概率密度分布,分为参数估计方法和非参数估计方法. 参数估计方法 假定样本集符合某一概率分布,然后根据样本集拟合该分布中的参数,例如:似然估计, ...

  6. 机器学习中的概率模型和概率密度估计方法 及 VAE生成式模型详解(之二)

    简介 非监督机器学习(Unsupervised Machine Learning)中的数据分布密度估计(Density Estimation).样本采样(Sampling)与生成(Generation ...

  7. 机器学习中的概率模型和概率密度估计方法及VAE生成式模型详解之二(作者简介)...

    Brief Introduction of the Blog Author Chief Architect at 2Wave Technology Inc. (a startup company in ...

  8. 机器学习EPD:概率密度估计

    待增加 转载于:https://www.cnblogs.com/xiehbpku/p/6116103.html

  9. 贝叶斯估计(概率密度函数的估计的参数方法)

    接上一篇文章:最大似估计 贝叶斯估计:    参数估计   是最随机变量,根据观测数据对参数的分布进行估计,还要考虑先验分布 最大似然估计:  参数估计  是未知的,根据观测数据来估计  的值. 贝叶 ...

最新文章

  1. 自学python要看哪些书籍-Python入门自学到精通需要看哪些书籍?
  2. php -q poller.php --force,cacti 安装后没有图像
  3. k8s dashboard_【大强哥-k8s从入门到放弃02】Kubernetes1.17部署Dashboard2.0
  4. Angular6_PWA
  5. php对数组进行合成的函数,php合并数组函数array_merge()
  6. windows Tracert命令
  7. c++ socket线程池原理_一篇文章看懂 ThreadLocal 原理,内存泄露,缺点以及线程池复用的值传递问题...
  8. 怎么禁用计算机的可信执行,英特尔®融合安全和管理引擎、英特尔®服务器平台服务、英特尔®可信执行引擎和英特尔®主动管理技术咨询 (intela-sa-00185)...
  9. R语言 echarts4r 不显示图形_【课程预告】清华定量俱乐部lt;R专场gt;第三讲——R可视化基础...
  10. c语言程序设计电子科技大学,C语言程序设计
  11. 写给没时间理财的上班族
  12. 快手Java开发二面面经分享
  13. Java架构师学习路线图
  14. 高性能本地缓存Ristretto(一)——存储策略
  15. java两个frame之间_java – JFrame中的两个JPanel,另一个是JP
  16. 顺丰速运——深圳大数据部一面(18分钟)
  17. js实现简单的四则运算
  18. 很舒服的Xshell配色方案
  19. iOS完整App资源收集
  20. daydayup.py

热门文章

  1. RT_Thread_临界资源保护
  2. 计算机_数据库_考研复试_简答题_全(1)
  3. linux找不到网络打印机驱动程序,添加网络打印机时提示找不到驱动程序
  4. oracle 查询会话数量,Oracle会话数量查询及结束会话方法
  5. matlab 非线性方程数值解法,非线性方程组的几种数值解法+matlab源代码
  6. 去俄罗斯看球语言不通怎么办?带上荣耀10手机,用AI随行翻译就行了
  7. 【科普】和尚为何要吃素不吃肉
  8. (五)深入理解蓝牙Mesh的消息格式之“格式与长度”
  9. 04-前端技术_HTML与HTML5常用标签
  10. 常见分布式计算框架特点