二维码

采样的作用 - 数据结构 - 机器学习

1595 人阅读 | 时间:2021年01月15日 01:22


采样的作用

2436 人参与  2019年01月16日 10:03  分类 : 机器学习精品文章  评论

古人云:“知秋一叶,尝鼎一脔”,其中就蕴含着采样的思想。采样,顾名思义,就是从特定的概率分布中抽取相应样本点的过程。采样在机器学习中有着非常重要的应用:它可以将复杂的分布简化为离散的样本点;可以用重采样对样本集进行调整以更好地适应后期的模型学习;可以用于随机模拟以进行复杂模型的近似求解或推理。另外,采样在数据可视化方面也有很多应用,可以帮助人们快速、直观地了解数据的结构和特性。

对于一些简单的分布,如均匀分布、高斯分布等,很多编程语言里面都有直接的采样函数。然而,即使是这些简单分布,其采样过程也并不是显而易见的,仍需要精心设计。对于比较复杂的分布,往往并没有直接的采样函数可供调用,这时就需要其他更加复杂的采样方法。因此,对采样方法的深入理解是很有必要的。

我们会通过一系列的问题与解答来展现采样的相关知识,包括采样的作用、常见的采样方法、采样在一些分布或模型上的具体实现,以及采样的应用。

01 采样的作用

场景描述

采样是从特定的概率分布中抽取对应的样本点。那么,这些抽取出来的样本有什么用呢?或者说,为什么需要采样?采样可以用来解决什么问题?

知识点

采样,机器学习,概率统计

问题 举例说明采样在机器学习中的应用。

难度:★★☆☆☆

分析与解答

采样本质上是对随机现象的模拟,根据给定的概率分布,来模拟产生一个对应的随机事件。采样可以让人们对随机事件及其产生过程有更直观的认识。例如,通过对二项分布的采样,可以模拟“抛硬币出现正面还是反面”这个随机事件,进而模拟产生一个多次抛硬币出现的结果序列,或者计算多次抛硬币后出现正面的频率。

另一方面,采样得到的样本集也可以看作是一种非参数模型,即用较少量的样本点(经验分布)来近似总体分布,并刻画总体分布中的不确定性。从这个角度来说,采样其实也是一种信息降维,可以起到简化问题的作用。例如,在训练机器学习模型时,一般想要优化的是模型在总体分布上的期望损失(期望风险),但总体分布可能包含无穷多个样本点,要在训练时全部用上几乎是不可能的,采集和存储样本的代价也非常大。因此,一般采用总体分布的一个样本集来作为总体分布的近似,称之为训练集,训练模型的时候是最小化模型在训练集上损失函数(经验风险)。同理,在评估模型时,也是看模型在另外一个样本集(测试集)上的效果。这种信息降维的特性,使得采样在数据可视化方面也有很多应用,它可以帮助人们快速、直观地了解总体分布中数据的结构和特性。

对当前的数据集进行重采样,可以充分利用已有数据集,挖掘更多信息,如自助法和刀切法(Jack knife),通过对样本多次重采样来估计统计量的偏差、方差等。另外,利用重采样技术,可以在保持特定的信息下(目标信息不丢失),有意识地改变样本的分布,以更适应后续的模型训练和学习,例如利用重采样来处理分类模型的训练样本不均衡问题。

此外,很多模型由于结构复杂、含有隐变量等原因,导致对应的求解公式比较复杂,没有显式解析解,难以进行精确求解或推理。在这种情况下,可以利用采样方法进行随机模拟,从而对这些复杂模型进行近似求解或推理。这一般会转化为某些函数在特定分布下的积分或期望,或者是求某些随机变量或参数在给定数据下的后验分布等。例如,在隐狄利克雷模型和深度玻尔兹曼机(Deep Boltzmann Machines,DBM)的求解过程中,由于含有隐变量,直接计算比较困难,此时可以用吉布斯采样对隐变量的分布进行采样。如果对于贝叶斯模型,还可以将隐变量和参数变量放在一起,对它们的联合分布进行采样。注意,不同于一些确定性的近似求解方法(如变分贝叶斯方法、期望传播等),基于采样的随机模拟方法是数值型的近似求解方法。

采样在机器学习中还有很多其他应用,在实际面试中,面试官可能会让面试者大致说一下几种常见的应用,然后挑一个面试者比较熟悉的应用具体交谈。例如,如何用自助法或刀切法来估计偏差、方差等;隐狄利克雷模型和深度玻尔兹曼机具体是怎么用吉布斯采样进行求解的?在进行模型求解时,马尔可夫蒙特卡洛采样法与常见的最大期望算法、变分推断方法有什么联系和区别?

来源:我是码农,转载请保留出处和链接!


©著作权归作者所有:来自ZhiKuGroup博客作者没文化的原创作品,如需转载,请注明出处,否则将追究法律责任 来源:ZhiKuGroup博客,欢迎分享。

评论专区
  • 昵 称必填
  • 邮 箱选填
  • 网 址选填
◎已有 0 人评论
搜索
作者介绍
30天热门
×
×
本站会员尊享VIP特权,现在就加入我们吧!登录注册×
»
会员登录
新用户注册
×
会员注册
已有账号登录
×