泛统计理论初探——初探机器学习的采样方法

统计学习-简单采样算法简介

初探机器学习中基本的采样方法
    在我们的学习过程中,其实之前接触过类似采样的一些领域,比如在统计调查中的抽样调查,是抽取了一部分样本进行估计来推断总体的参数。比如在通信领域的信号提取,就用到了采样来逼近真实的信号。在机器学习过程中,也经常会遇到一些需要采样的情况,当问题的模型是比较复杂的时候,可以用采样来近似逼近或者求解;或者在最初无法了解数据的整体分布时,可以通过采样来了解数据的特征,给使用者一个大概的印象。本文中我们主要介绍几种简单的抽样方法,比如函数变换采样、逆变换采样、拒绝采样等。
    1、函数变换采样,这个方法的思路其实是利用了概率密度函数之间存在的关系,当原分布很难采集样本的时候,可以将原始分布进行变换后,对于新的分布进行采样然后通过反函数变换得到原始分布的样本。在高维空间的时候,利用这种函数变换可以减少采样的难度。
    2、逆变换采样,这种采样方法其实是上述函数变换采样的一种特殊形式,因为当变换关系是原始函数的一个累积分布函数的时候,对累积分布函数进行采样后,再进行求累积分布函数的逆函数值后可以得到原始分布的抽样。它的方法步骤如下:
    1)在均匀分布(0,1) 中随机生成一个值v
    2)计算 u=g(v) 其中g(.)函数是累积分布函数的F(.)的逆函数
    3)得到的u即是原始分布函数里的值,也就化解了原始分布函数很难抽样的问题
    3、拒绝采样,对于目标分布F(x) ,可以选取一个较为简单的,并且容易采样的参考分布G(x) ,从而对于任意的x都有该等式成立,即F(x)<=C✖G(x) 也就是找了一个简单的参考分布G,该分布是目标分布的上界,那么这种采样的步骤如下:
    1)从参考分布G中随机选择一个样本v
    2)从均匀分布(0,1)里产生一个随机数k
    3)如果k<F(v)/C*G(v) ,那么就接受样本v;否则就拒绝样本v,并且返回第一步继续选择样本,直到这个样本被接受。
在这里插入图片描述
    从上述的方法可以看出,主要是通过一些变换函数来对原始分布进行转化或者逼近,拒绝采样就是逼近函数的思路,在原始分布的周围找到了简单的包络函数,使得抽样的难度降低。当然这些方法都是经典的解析方法,如果在高维空间,寻找这种变换函数或者包络函数是比较困难的,所以可以采用一些基于数值计算的采样方法思路。
    总的来说,采样的常见方法是非常重要的,并且是初学者需要掌握的。在后续的文章中,还会继续介绍其他效果更好的采样方法,比如吉布斯采样、蒙特卡洛采样、贝叶斯网络采样等。其实采样本身是为了通过有限次样本的抽取去更好地刻画总体的分布,在特征非常多的情况下,也能从不同角度去刻画这个分布,在当今的大数据时代其实非常需要采样,因为很难对超大的数据量的问题进行整体分析,所以初学者需要掌握一些经典的统计采样方法来帮助自己更好地了解数据。

猜你喜欢

转载自blog.csdn.net/qq_26727101/article/details/108415343