Press "Enter" to skip to content

无监督学习概述之密度估计

这篇文章介绍一下其中的概率密度估计。概率密度估计(Probabilistic Density Estimation)简称密度估计(Density Estimation),是基于一些观测样本来估计一个随机变量的概率密度函数。密度估计在机器学习和数学建模中应用十分广泛。

 

原文链接: https://thinkgamer.blog.csdn.net/article/details/102890578

 

概率密度估计分为:

 

参数密度估计

 

非参数密度估计

 

参数密度估计

 

参数密度估计(Parametric Density Estimation)是根据先验知识假设随机变量服从某种分布,然后通过训练样本来估计分布的参数。

 

为某个未知分布中独立抽取的N个训练样本,假设这些样本服从一个概率分布函数,其对数似然函数为:

 

 

要估计一个参数来使得:

 

 

这样参数估计问题就转化为最优化问题。

 

正态分布中的参数密度估计

 

假设样本服从正态分布 ,正态分布的表达式如下:

 

 

求的最大似然估计量。

 

的概率密度为:

 

 

似然函数为:

 

 

对其求导可得对数似然函数为:

 

 

令:

 

 

由前一式解得 ,代入后一式得 ,因此得的最大似然估计为:

 

 

多项分布中的参数密度估计

 

假设样本服从K个状态的多态分布,令onehot向量 来表示第K个状态,即,其余 ,则样本x的概率密度函数为:

 

其中

 

 

数据集 的对数似然函数为:

 

 

多项分布的参数估计为约束优化问题,引入拉格朗日乘子,将原问题转化为无约束优化问题。

 

 

上式分别对求偏,并令其等于0,得到:

 

 

 

为数据集中取值为第k个状态的样本数量。

 

在实际应用中,参数密度估计一般存在两个问题:

 

(1)模型选择问题,即如何选择数据分布的密度函数,实际的数据分布往往是非常复杂的,而不是简单的正态分布或者多项分布。

 

(2)不可观测变量问题,即我们用来训练数据的样本只包含部分的可观测变量,还有一些非常关键的变量是无法观测的,这导致我们很难估计数据的真实分布。

 

(3)维度灾难问题,即高维的参数估计十分困难。随着维度的增加,估计参数所需要的样本量呈指数增加。在样本不足时会出现过拟合。

 

非参数密度估计

 

非参数密度估计(Nonparametric Density Estimation)是不假设数据服从某种分布,通过将样本空间划分为不同的区域并估计每个区域的概率来近似数据的概率密度函数。

 

对于高纬空间中的一个随机向量x,假设其服从一个未知分布p(x),则x落入空间中的小区域R的概率为:

 

给定N个训练样本 ,落入区域R的样本数量K服从二项分布:

 

其中的期望为
,方差为
。当N非常大时,我们可以近似认为:,假设区域R足够小,其内部的概率密度是相同的,则有

 

 

根据上式,要准确的估计p(x)需要尽量使得样本数量N足够大,区域体积V尽可能的小。但在具体的应用中吗,样本数量一般有限,过小的区域导致落入该区域的样本比较少,这样估计的概率密度就不太准确。

 

因此在实践中估计非参数密度通常使用两种方法:

 

(1)固定区域大小V,统计落入不同区域的数量,这种方式包括直方图和核方法两种

 

(2)改变区域大小,以使得落入每个区域的样本数量为K,这种方法成为K近邻方法

 

直方图方法

 

直方图(Histogram Method)是一种非常直观的估计连续变量密度函数的方法,可以表示为一种柱状图。

 

以一维随机变量为例,首先将其取值范围划分为M个连续的、不重叠的区间,每个区间的宽度为,给定个训练样本,我们统计这些样本落入每个区间的数量,然后将他们归一化为密度函数。

 

 

直方图的关键问题是如何选择一个合适的,如果该值太小,那幺落入每个区间的样本会特别少,其估计的区间密度也会有很大的随机性,如果该值过大,其估计的密度函数会变得十分平滑。下图给出了两个直方图的例子,其中蓝色表示真实的密度函数,红色表示直方图估计的密度函数。

直方图估计密度函数

直方图通常用来处理低维随机变量,可以非常快速的对数据的分布进行可视化,但其 缺点 是很难扩展到高维变量,假设一个d维的随机变量,如果每一维都划分为M个空间,那幺整个空间的区域数量为,直方图估计的方法会随着空间的增大而指数增长,从而形成 维度灾难(Curse Of Dimensionality)

 

核方法

 

核密度估计(Kernel Density Estimation),也叫Parzen窗方法,是一种直方图方法的改进。

 

假设为维空间中的一个以点x为中心的“超立方体”,并定义核函数

 

 

来表示一个样本是否落入该超立方体中,其中为超立方体的边长,也称为核函数的密宽度。

 

给定个训练样本,落入区域的样本数量为:

 

 

则点的密度估计为:

 

 

其中表示区域的体积。

 

除了超立方体的核函数意外之外,我们还可以选择更加平滑的核函数,比如高斯核函数:

 

 

其中可以看做是高斯核函数的方差,这样点的密度估计为:

 

 

K近邻方法

 

核密度估计方法中的核宽度是固定的,因此同一个宽度可能对高密度的区域过大,而对低密度的区域过小。一种更加灵活的方式是设置一种可变宽度的区域,并使得落入每个区域中的样本数量固定为K。

 

要估计点x的密度,首先找到一个以x为中心的球体,使得落入球体的样本数量为K,然后根据公式 就可以计算出点x的密度。因为落入球体的样本也是离x最近的K个样本,所以这种方法也称为K近邻(K-Nearest Neughbor)方法。

 

在K近邻方法中,K值的选择十分重要,如果K太小,无法有效的估计密度函数,而K太大也会使局部的密度不准确,并且会增加计算开销。

 

K近邻方法也经常用于分类问题,称为K近邻分类器。当K=1时为最近邻分类器。

 

最近邻分类器的一个性质是,当 ,其分类错误率不超过最优分类器错误率的两倍。

 

总结

 

无监督学习是一种十分重要的机器学习方法,无监督学习问题主要可以分为聚类,特征学习,密度估计等几种类型。但是无监督学习并没有像有监督学习那样取得广泛的成功,主要原因在于其缺少有效客观评价的方法,导致很难衡量一个无监督学习方法的好坏。

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注