机器学习(二)概率密度估计之非参数估计
2018/2/19
by ChenjingDing
二.非参数估计
2.1直方图估计
直方图估计概率密度函数基本思想:
将数据空间分成许多个子空间,每一个子空间大小为
△
△
,在每一个子空间内计算样本出现的个数,样本总个数为N,则概率密度函数为:
图4 不同平滑因子(上:平滑因子过小,估计的概率密度函数有很多毛刺,噪声; 中:平滑因子适合的时候,估计的概率密度函数; 下:平滑因子过大,估计的概率密度函数误差增大)
缺点:
当数据空间的维数为D,每一维划分的子空间个数为M,则所需子空间个数为
MD
M
D
, 该个数呈指数级增长。有两种方法可以解决这个问题,它们都是针对每一个输入样本
xˆ
x
^
,而并非对整个训练样本事先划分好子空间。
这两种方法有相同的思路:在一个很小的区域R内,
2.2核方法
引入核函数:
k(μ) k ( μ ) 如下定义:
k(μ)={1 (|ui|<h2,i=1,2...D)0,elseV=∫k(μ)dμ=hD k ( μ ) = { 0 , e l s e 1 ( | u i | < h 2 , i = 1 , 2 . . . D ) V = ∫ k ( μ ) d μ = h D如果μ是二维,则该积分表示以 xˆ x ^ 为中心,长宽为h,高为1的长方体体积 。K(xˆ)=∑i=1nk(xi−xˆ)=∑i=1n1(|xi−xˆ|<h2)p(x)=KNV=∑ni=11(|xi−xˆ|<h2)N∗hD K ( x ^ ) = ∑ i = 1 n k ( x i − x ^ ) = ∑ i = 1 n 1 ( | x i − x ^ | < h 2 ) p ( x ) = K N V = ∑ i = 1 n 1 ( | x i − x ^ | < h 2 ) N ∗ h DK(xˆ) K ( x ^ ) 表示的是与 xˆ x ^ 距离小于 h2 h 2 的样本点的个数,如下图所示:
图5 核方法中K的意义(红色点为 xˆ x ^ , 方框边长为h)但是该核函数估计的概率密度在边界处不连续,可以选择更加光滑的核函数比如高斯函数解决这个问题。
-
k(μ)
k
(
μ
)
为一维高斯函数
k(μ)=12π−−√∗hexp−(μ)22h2V=∫k(μ)dμ=1K(xˆ)=∑i=1nk(xi−xˆ) k ( μ ) = 1 2 π ∗ h e x p − ( μ ) 2 2 h 2 V = ∫ k ( μ ) d μ = 1 K ( x ^ ) = ∑ i = 1 n k ( x i − x ^ )该核函数的 K(xˆ) K ( x ^ ) 表示与 xˆ x ^ 距离小于 h2 h 2 的样本点的加权个数,权值是高斯函数的值,第一个例子中的权值全为1。
平滑因子h:
图6不同平滑因子(上:平滑因子过小,估计的概率密度函数有很多毛刺,噪声; 中:平滑因子适合的时候,估计的概率密度函数; 下:平滑因子过大,估计的概率密度函数误差增大)
2.3K近邻估计
固定K,增大V至
V∗
V
∗
, 使得
V∗
V
∗
内含有K个训练样本。
平滑因子K:
图7不同平滑因子(上:平滑因子过小,估计的概率密度函数有很多毛刺,噪声; 中:平滑因子适合的时候,估计的概率密度函数; 下:平滑因子过大,估计的概率密度函数误差增大)
缺点:
K近邻估计的概率密度函数并不是真正的概率密度函数。
考虑
K=1,∃xi,xi=xˆ⇒V=0⇒p(x)=∞
K
=
1
,
∃
x
i
,
x
i
=
x
^
⇒
V
=
0
⇒
p
(
x
)
=
∞
K近邻用于分类:
用K近邻方法推出后验概率:
2.4 核方法和K近邻估计的缺点
需要存储训练样本,对每一个输入样本
xˆ
x
^
,都需要遍历整个训练样本。
三参数方法和非参数方法的比较
方法 | 适用范围 |
---|---|
参数法 | 各样本独立同分布,只能预先假设样本的分布 |
k近邻&核函数法 | 训练样本集数据比较少 |
直方图 | 训练样本的维数较低 |
综上,以上这些简单的方法都不够灵活和有效,下节将介绍更加灵活的方法——高斯混合模型。