机器学习的数学--Sampling(一)

450 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。


准备开始写一些有关于机器学习中的数学系列的文章。在机器学习中,一些经典的数学概念和方法是常常被用到的,有时候可能只是变了一个词,新瓶装旧酒而已。

众所周知,一般来说,有了 数据,我们才能开始机器学习。而如何对数据进行假设,如何选择数据,是开始的第一步,所以我们先开始讨论讨论什么是Sampling。

Sampling

核心问题是如何根据一定的分布产生随机变量.

wiki的定义:

在统计、质量保证和调查方法中,抽样是从统计总体中选择一个子集(统计样本),以估计整个人口的特征。统计学家试图收集代表相关人群的样本。与测量整个人口相比,采样具有更低的成本和更快的数据收集速度,并且可以在无法测量整个人口的情况下提供洞察。 每个观察测量独立物体或个体的一个或多个属性(如重量、位置、颜色或质量)。在调查抽样中,可以对数据应用权重,以调整样本设计,特别是在分层抽样中。[1] 概率论和统计理论的结果用于指导实践。在商业和医学研究中,抽样广泛用于收集人群信息。[2] 验收抽样用于确定生产批次的材料是否符合管理规范。

先考虑一个随机变量的例子。

方法一:Function Transformation

e.g.1: Given a cumulative distribution function,

then we derive a closed form inverse function uu of F:

uu is uniformly distributed in the interval 0u10\leq u \leq 1 irrespective of the nature of p(x)p(x).

e.g.2: ....

这就是说,我们只要能够找到一个原函数的一个uniform distributed Transformation function uu, 通过uu能够构造出原函数就可以了。当然inverse function是最简单的一种,还有可能通过多个Transformation function去构造原函数的方法,之后再补充到example里。

方法二:Rejection Sampling

方法三:Importance Sampling

方法四:Markov Chain Monte Carlo Method

Gumbel Softmax