百面读书笔记八
第8章 采样
就是从特定的概率分布中抽取相应样本点的过程。采样在机器学习中有着非常重要的应用:它可以将复杂的分布简化为离散的样本点;可以用重采样对样本集进行调整以更好地适应后期的模型学习;可以用于随机模拟以进行复杂模型的近似求解或推理。另外,采样在数据可视化方面也有很多应用,可以帮助人们快速、直观地了解数据的结构和特性。
8.1 数据采样的原因?
因为我们在现实生活中,大多数数据都是庞大的,所以总体分布可能就包含了无数多的样本点,模型是无法对这些海量的数据进行直接建模的(至少目前而言),而且从效率上也不推荐。
因此,我们一般会从总体样本中抽取出一个子集来近似总体分布,这个子集被称为"训练集",然后模型训练的目的就是最小化训练集上的损失函数,训练完成后,需要另一个数据集来评估模型,也被称为"测试集"。
采样的一些高级用法,比如对样本进行多次重采样,来估计统计量的偏差与方法,也可以对目标信息保留不变的情况下,不断改变样本的分布来适应模型训练与学习(经典的应用如解决样本不均衡的问题)。
8.2 常见的采样算法?
A 逆变换采样
有的时候一些分布不好直接采样,可以用函数转换法,如果存在随机变量x和u的变换关系:u=ϕ(x),则它们的概率密度函数如下所示:
p(u)|ϕ′(x)|=p(x)
因此,如果从目标分布p(x)中不好采样x,可以构造一个变换u=ϕ(x),使得从变换后地分布p(u)中采样u比较容易,这样可以通过对u进行采样然后通过反函数来间接得到x。如果是高维空间地随机变量,则ϕ′(x)对应Jacobian行列式。
而且,如果变换关系ϕ(·)是x的累积分布函数的话,则就是我们说的 逆变换采样(Inverse Transform Sampling), 我们假设待采样的目标分布的概率密度函数为p(x), 它的累积分布函数为:
逆变换采样法的过程:
1. 从均匀分布U(0,1)产生一个随机数 Ui
2. 计算逆函数
来间接得到x
但并不是所有的目标分布的累积分布函数的逆函数都是可以求解的(or容易计算),这个时候逆变换采样法就不太适用,可以考虑拒绝采样(Rejection Sampling)和重要度采样(Importance Sampling)。
B 拒绝采样(Rejection Sampling)
拒绝采样,也被称为接受采样(Accept Sampling),对于目标分布p(x),选取一个容易采样的参考分布q(x),使得对于任意的x都有:
其采样过程如下:
1)从参考分布q(x)中随机抽取一个样本xi
2)从均匀分布U(0,1)产生一个随机ui
3)如果
,则接受样本xi,否则拒绝,一直重复1-3步骤,直到新产生的样本量满足要求。
其实,拒绝采样的关键就是为我们的目标分布p(x)选取一个合适的包络函数
,如下图所示的正态分布的函数:
可以知道,包络函数越"紧",
的大小越接近,那么
就越接近1,那么更容易接受采样样本,这样子采样的效率就越高。
除了上面的形式,还有一种叫自适应拒绝采样(Adaptive Rejection Sampling),在目标分布是对数凹函数时,用分段的线性函数来做包络函数,如下图所示:
C 重要性采样(Importance Sampling)
还有一种采样方法,是计算函数f(x)在目标分布p(x)上的积分(函数期望),即:
我们先找一个比较容易抽样的参考分布q(x),并令
则存在:
这里的w(x)我们可以理解为权重,我们就可以从参考分布q(x)中抽取N个样本xi,并且利用如下公式来估计E[f]:
下图就是重要性采样的示意图:
D 马尔科夫蒙特卡洛采样法
在高维空间中,拒绝采样和重要性采样很难寻找到合适参考分布,而且采样的效率是很低的,这个时候是可以考虑一下马尔科夫蒙特卡洛(Markov Chain Monte Carlo,MCMC)采样法。
MCMC采样法主要包括两个MC,即Monte Carlo和Markov Chain。Monte Carlo是指基于采样的数值型近似求解方法,Markov Chain则是用于采样,MCMC的基本思想是:针对待采样的目标分布,构造一个马尔科夫链,使得该马尔科夫链的平稳分布就是目标分布,然后从任何一个初始状态出发,沿着马尔科夫链进行状态转移,最终得到的状态转移序列会收敛到目标分布,由此得到目标分布的一系列样本。
MCMC有着不同的马尔科夫链(Markov Chain),不同的链对应不同的采样法,常见的两种就是Metropolis-Hastings采样法和吉布斯采样法。
8.3 如何编程实现均匀分布随机数生成器?
8.4 如何对高斯分布进行采样?
8.5 MCMC采样法如何得到相互独立的样本?
与一般的蒙特卡洛算法不同,MCMC采样法得到的样本序列中相邻的样本不是独立的,因为后一个样本是由前一个样本根据特定的转移概率得到的,或者有一定概率就是前一个样本。如果仅仅是采样,并不需要样本之间相互独立。如果确实需要产生独立同分布的样本,可以同时运行多条马尔可夫链,这样不同链上的样本是独立的;或者在同一条马尔可夫链上每隔若干个样本才选取一个,这样选取出来的样本也是近似独立的。
8.6 如何对贝叶斯网络进行采样?如果只需要考虑一部分变量的边缘分布,如何采样?如果网络中含有观测变量,又该如何采样?
8.7 对于二分类问题,当训练集中正负样本非常不均衡时,如何处理数据以更好地训练分类模型?
生活随笔谢谢我家的小猫咪不记得在哪段文字里看到一句话,说,女人养猫,性子会变得温顺。我家的小猫咪被我从小养到大,已经两年多了吧在这里,我提笔写出来两年,因为我直觉里,是很长很长的一段时间了,我拿捏不准了我
用进废退和获得性遗传推动了进化去红旗渠受教育,没有时间更新了,把文章写好了定时发布三篇试试看,不行就当草稿保存好,到时间再发。外国的书就是这个比较麻烦,讲的故事我们没有感觉,拉马克你知道吗?据说是法国生物学家,
上大能续上百年校史吗?高考的话题告一段落,其实对于我们这些经历过高考的人来说没有什么惊涛骇浪,应该没有现在的孩子们这么辛苦,书读得也很一般,想想现在的条件确实不可同日而语啊。那些教辅书要什么有什么,那些
我支离破碎的高考回忆今天是个大日子,一年一度的高考,城市变得安静,对于大多数国人来说,高考是人生当中一次极其重要的考试,没有之一,那些没有机会高考的人除外。你说高考可以改变人生,改变命运绝对没有错,其
我们的核心舱我们的航天员我们的航天员太潇洒了,太空精装房拎包入住,然后无数快递拆包,爽啊!这两天看航天直播,赶紧脑补各种航天知识,脑子都要爆了,赶紧写几篇。神舟十二号和天河核心舱对接成功,加上天舟2号货运
机缘巧合地进了一本我高考准考证的话题不推荐,继续写考上后的情况,回忆了半天也没想起来什么激动人心的画面,好像就是收到录取通知书,算考上了大学,邻居们都一阵阵的夸奖,那时候还在老房子就这这么热闹。当年
我还真丢过准考证上一篇写了应景文章高考,有些朋友在吐槽,没考就没考吧,人家小岳岳可能高中都没读不是做得很好,感谢德云社感谢师傅吧。我们那个时候也有好多人不能参加高考,40左右的人就直接不复习去玩了
用进废退理论适合延缓老花眼上一篇讲得有点太艰涩难懂了,讲一个例子就容易搞懂拉马克的理论,长颈鹿的脖子为什么这么长?如果让它带上围脖,那要费多少布料啊,微博就是这么来的?长这么长的脖子肯定有其进化的道理。那我
如今的进化论也在不断进化要写的东西还是很多的,要去培训还要看欧洲杯,这输出就受影响了。除了热点最喜欢写的就是健康方面的内容,皮肤,睡眠都可以写写,最好写的就是读书听书的内容,这次试试看能不能发一个链接,否
散文丨贾平凹残佛残佛文丨贾平凹去泾河里捡玩石,原本是懒散行为,却捡着了一尊佛,一下子庄严得不得了。那时看天,天上是有一朵祥云,方圆数里唯有的那棵树上,安静地歇栖着一只鹰,然后起飞,不知去处。佛是灰
散文丨赵瑜海南五章海南五章文丨赵瑜二六年秋,因为一个机缘,我从内陆生活了多年的郑州抵达海口,开始了为期十年的海南生活。经年累月在内地养成的生活习惯和思维方式,在海南经受了考验。这里的风土人情,都与内