随机采样方法研究综述

随机采样方法研究综述

摘要:

鉴于深度学习在学术界和工业界的重要性,向对目前有代表性的深度学习数据随机采样算法进行归纳和总结,综述了不同类型随机采样算法的基本思想和方法。首先介绍了深度学习和随机采样的概念;然后根据深度学习算法的随机采样方法,概述了接受-拒绝抽样、重要性采样、MCMC方法和吉布斯采样3类主流随机采样的基本思想和方法;可以看到:深度学习在不同应用领域都取得了明显的优势,但仍存在需要进一步探索的问题。对于不可精确求解的问题,机器学习不能给出精确解,但是使用随机采样的方法求近似解已经成为机器学习领域的一种重要方法。

关键词:深度学习;随机采样;重要性采样;MCMC;

Abstract:

Considering deep learning’s importancein academic research and industry application, this paper reviews methods andapplications of deep learning. First, the concept of deep learning isintroduced, and the main stream deep learning algorithms are classified intothree classes:acceptance rejection sampling, importancesampling and MCMC according to the architectural characteristics. Second,network architectures and training methods of the three types of deep networksare reviewed. For the problem that can’t be solved accurately, machine learningcan’t give the exact solution, but using random sampling method to find theapproximate solution has become an important method in the field of machinelearning.

Key words:deep learning; stochastic sampling; Monte Carlo; Importancesampling; MCMC;

一、深度学习与随机采样

1.1、深度学习概念

深度学习是机器学习领域一个新的研究方向,近年来在语音识别、计算机视觉等多类应用中取得突破性的进展。其动机在于建立模型模拟人类大脑的神经连接结构,在处理图像、声音和文本这些信号时,通过多个变换阶段分层对数据特征进行描述,进而给出数据的解释。以图像数据为例,灵长类的视觉系统中对这类信号的处理依次为:首先检测边缘、初始形状,然后再逐步形成更复杂的视觉形状[22],同样地,深度学习通过组合低层特征形成更加抽象的高层表示、属性类别或特征,给出数据的分层特征表示。

深度学习之所以被称为“深度”,是相对支撑向量机(support vector machine,SVM)、提升方法(boosting)、最大熵方法等“浅层学习”方法而言的,深度学习所学得的模型中,非线性操作的层级更多。浅层学习依靠人工经验抽取样本特征,网络模型学习后获得的是没有层次结构的单层特征;而深度学习通过对原始信号进行逐层特征变换,将样本在原空间的特征表示变换到新的特征空间,自动地学习得到层次化的特征表示,从而更有利于分类或特征的可视化。深度学习理论的另外一个理论动机是:如果一个函数可用k层结构以简洁的形式表达,那么用k-1层的结构表达则可能需要指数级数量的参数(相对于输入信号),且泛化能力不足。

深度学习的概念最早由多伦多大学的G.E.Hinton等于2006年提出,指基于样本数据通过一定的训练方法得到包含多个层级的深度网络结构的机器学习过程。传统的神经网络随机初始化网络中的权值,导致网络很容易收敛到局部最小值,为解决这一问题,Hinton提出使用无监督预训练方法优化网络权值的初值,再进行权值微调的方法,拉开了深度学习的序幕。

深度学习所得到的深度网络结构包含大量的单一元素(神经元),每个神经元与大量其他神经元相连接,神经元间的连接强度(权值)在学习过程中修改并决定网络的功能。通过深度学习得到的深度网络结构符合神经网络的特征,因此深度网络就是深层次的神经网络,即深度神经网络(deep neural networks,DNN)。

深度神经网络是由多个单层非线性网络叠加而成的,常见的单层网络按照编码解码情况分为3类:只包含编码器部分、只包含解码器部分、既有编码器部分也有解码器部分。编码器提供从输入到隐含特征空间的自底向上的映射,解码器以重建结果尽可能接近原始输入为目标将隐含特征映射到输入空间。

1.2、随机采样概念

很多问题无法用分析的方法来求得精确解,例如复杂的积分计算。一般遇到这种情况,人们经常会采用一些方法去得到近似解(越逼近精确解越好,当然如果一个近似算法与精确解的接近程度能够通过一个式子来衡量或者有上下界,那么这种近似算法比较好,因为人们可以知道接近程度,换个说法,一般一个近似算法被提出后,人们通常都会去考察或寻求刻划近似程度的式子)。

随机采样模拟就是一类近似求解的方法,这种方法在解决这种近似解的问题上效果很好,它的诞生虽然最早可以追溯到19世纪法国数学家蒲松的投针问题(用模拟的方法来求解π的问题),但是真正的大规模应用还是被用来解决二战时候美国佬生产原子弹所碰到的各种难以解决的问题而提出的蒙特卡洛方法(Monte Carlo)。

本文将分为两个大类来分别叙述,首先介绍随机采样模拟的基本思想和基本思路,然后介绍随机模拟的核心:对一个分布进行抽样。本文将介绍常用的抽样方法,1)接受-拒绝抽样;2)重要性抽样;3)MCMC(马尔科夫链蒙特卡洛方法)方法,主要介绍MCMC的两个非常著名的采样算法(metropolis-hasting算法和它的特例Gibbs采样算法)。

二、随机采样的基本思想

先看这样一个例子:假设有一个矩形的区域R(大小已知),在这个区域中有一个不规则的区域M(即不能通过公式直接计算出来),求该区域面积近似的方法很多,例如:把这个不规则的区域M划分为很多小的规则区域,用这些规则区域的面积求和来近似M,另外一个近似的方法就是采样,抓一把黄豆,把它们均匀地铺在矩形区域,如果知道黄豆的总个数S,那么只要我们数数位于不规则区域M中的黄豆个数S1,那么就可以求出M的面积:M=S1*R/S。

另外一个例子,在机器学习或统计计算领域,常常遇到这样一类问题:即如何求取一个定积分:y=∫_a^b▒〖f(x) □(24&dx)〗

如何来求解这类问题呢?当然如果定积分可以解析求出,直接求出即可,如果不能解析求出,只能求取该积分的近似解,常用的近似方法是采用蒙特卡洛积分,即把上述式子改写为:
y=∫_a^b▒〖f(x)*g(x)/g(x)□(24&dx)〗= ∫_a^b▒〖(f(x)/g(x) )*g(x)□(24&dx)〗

那么把f(x)/g(x)作为一个函数,而把g(x)看做是[a,b]上的一个概率分布,抽取n个样本之后,上述式子可以继续写为:
(∑_0^n▒[f(xi)/g(xi) ] )/n
当n趋向无穷大的时候,根据大数定理,上述式子是和要求的定积分式子是相等的,因此可以用抽样的方法来得到近似解。

通过上述两个例子,大概能够理解抽样方法解决问题的基本思想,其基本思路就是要把待解决的问题转化为一种可以通过某种采样方法可以解决的问题,至于怎么转化,还是挺有创造性,没有定法。因此随机模拟方法的核心就是如何对一个概率分布得到样本,即抽样(sampling)。下一节,本文将介绍常用的抽样方法。

三、随机采样方法介绍

3.1、接受-拒绝抽样

拒绝抽样,直观地理解,为了得到一个分布的样本,通过某种机制得到了很多的初步样本,然后其中一部分初步样本会被作为有效的样本(即要抽取的分布样本),一部分初步样本会被认为是无效样本舍弃掉。这个算法的基本思想是:需要对一个分布f(x)进行采样,但是却很难直接进行采样,所以通过另外一个容易采样的分布g(x)的样本,用某种机制去除掉一些样本,从而使得剩下的样本就是来自与所求分布f(x)的样本。

它有几个条件:1)对于任何一个x,有f(x)≤M*g(x);2)g(x)容易采样;3)g(x)最好在形状上比较接近f(x)。具体的采样过程如下:

1、对于g(x)进行采样得到一个样本xi,xi~g(x);

2、对于均匀分布采样ui~U(a,b);

3、如果ui≤f(x)/[M*g(x)],那么认为xi是有效的样本;否则舍弃该样本;

4、反复重复步骤1~3,直到所需样本达到要求为止。

如图4-1所示。

图4-1接受-拒绝抽样

3.2、重要性抽样

直接蒙特卡罗方法用于估计结构的失效概率,通用性强,简单直观,但计算效率很低,为了达到一定的模拟精度,需要抽取大量的样本点。为提高计算效率,一系列的方差缩减技术得到应用,从而产生了一系列的数值模拟算法。重要抽样方法是其中最基本也是最重要的一种,能够大幅度的缩减模拟所需抽取的样本点数量,广泛应用于各种结构的可靠性分析之中。

重要抽样方法的基本原理是在保持原有样本期望值不变的情况下,改变随机变量的抽样重心,改变了现有样本空间的概率分布,使其方差减小,这样,使对最后结果贡献大的抽样出现的概率增加,抽取的样本点有更多的机会落在感兴趣的区域,使抽样点更有效,以达到减小运算时间的目的。

假设一个关于随机变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值