【机器学习8】采样

1 均匀分布随机数

均匀分布是指整个样本空间中的每一个样本点对应的概率(密度) 都是相等的。 根据样本空间是否连续, 又分为离散均匀分布和连续均匀分布。编程实现均匀分布随机数生成器一般可采用线性同余法(Linear Congruential Generator) 来生成离散均匀分布伪随机数:
在这里插入图片描述
得到的是区间[0,m−1]上的随机整数, 如果想要得到区间[0,1]上的连续均匀分布随机数, 用xt除以m即可.

2 采样

通用采样方法或采样策略的主要思想以及具体操作步骤:

方法主要思想具体步骤示意图
逆变换采样在函数变换法中, 如果变换关系φ(·)是x的累积分布函数的话, 则得到所谓的逆变换采样(Inverse Transform Sampling)(1)从均匀分布U(0,1)产生一个随机数ui;(2) 计算在这里插入图片描述 , 其中 在这里插入图片描述是累积分布函数的逆函数。上述采样过程得到的xi服从p(x)分布。在这里插入图片描述
拒绝采样对于目标分布p(x), 选取一个容易采样的参考分布q(x), 使得对于任意x都有在这里插入图片描述( 1) 从参考分布q(x)中随机抽取一个样本xi。( 2) 从均匀分布U(0,1)产生一个随机数ui,( 3) 如果在这里插入图片描述 , 则接受样本xi ; 否则拒绝, 重新进行步骤( 1) ~( 3) , 直到新产生的样本xi被接受。在这里插入图片描述
重要性采样用于计算函数f(x)在目标分布p(x)上的积分( 函数期望),在这里插入图片描述在这里插入图片描述

3 马尔可夫蒙特卡洛采样法(MCMC)

MCMC采样法基本思想是: 针对待采样的目标分布, 构造一个马尔可夫链, 使得该马尔可夫链的平稳分布就是目标分布; 然后,从任何一个初始状态出发, 沿着马尔可夫链进行状态转移, 最终得到的状态转移序列会收敛到目标分布, 由此可以得到目标分布的一系列样本。
几种常见的MCMC采样法:Metropolis-Hastings采样法和吉布斯采样法,实际应用中一般会对得到的样本序列进行“burn-in”处理,即截除掉序列中最开始的一部分样本, 只保留后面的样本。

3.1 Metropolis-Hastings采样法

在这里插入图片描述
其中红线表示被拒绝的移动(维持旧样本) , 绿线表示被接受的移动(采纳新样本)
对于目标分布p(x), 首先选择一个容易采样的参考条件分布q(x*|x),令:
在这里插入图片描述
然后根据如下过程进行采样:
(1) 随机选一个初始样本x(0)。
(2) For t = 1, 2, 3, … :

在这里插入图片描述

3.2 吉布斯采样法

每次只对样本的一个维度进行采样和更新。对于目标分布p(x), 其中x是多维向量, 按如下过程进行采样:
(1) 随机选择初始状态 。
(2) For t = 1, 2, 3, … :
在这里插入图片描述

如果确实需要产生独立同分布的样本, 可以同时运行多条马尔可夫链, 这样不同链上的样本是独立的; 或者在同一条马尔可夫链上每隔若干个样本才选取一个, 这样选取出来的样本也是近似独立的。

4 贝叶斯网络的采样

贝叶斯网络, 又称信念网络或有向无环图模型。 它是一种概率图模型, 利用有向无环图来刻画一组随机变量之间的条件概率分布关系。
在这里插入图片描述

对一个没有观测变量的贝叶斯网络进行采样, 最简单的方法是祖先采样(Ancestral Sampling) , 它的核心思想是根据有向图的顺序, 先对祖先节点进行采样, 只有当某个节点的所有父节点都已完成采样, 才对该节点进行采样。

考虑含有观测变量的贝叶斯网络的采样,
在这里插入图片描述

观测变量用斜线阴影表示,最直接的方法是逻辑采样, 还是利用祖先采样得到所有变量的取值。 如果这个样本在观测变量上的采样值与实际观测值相同, 则接受, 否则拒绝, 重新采样。逻辑采样法的采样效率急剧下降, 实际中基本不可用。在实际应用中, 可以参考重要性采样的思想, 不再对观测变量进行采样, 只对非观测变量采样,

5 不均衡样本集的采样

5.1 基于数据处理

方法主要思想优缺点
随机过采样主要思想从少数类样本集Smin中随机重复抽取样本(有放回) 以得到更多样本对少数类样本进行了多次复制, 扩大了数据规模, 增加了模型训练的复杂度, 同时也容易造成过拟合
SMOTE算法对少数类样本集Smin中每个样本x, 从它在Smin中的K近邻中随机选一个样本y, 然后在x,y连线上随机选取一点作为新合成的样本(根据需要的过采样倍率重复上述过程若干次)可以降低过拟合的风险,但会增大类间重叠度, 并且会生成一些不能提供有益信息的样本
Borderline-SMOTE只给那些处在分类边界上的少数类样本合成新样本
ADASYN给不同的少数类样本合成不同个数的新样本
随机欠采样从多数类样本集Smaj中随机选取较少的样本(有放回或无放回)会丢弃一些样本, 可能会损失部分有用信息, 造成模型只学到了整体模式的一部分。
Easy Ensemble每次从多数类Smaj中上随机抽取一个子集E(/E/≈/Smin/), 然后用E+Smin训练一个分类器; 重复上述过程若干次, 得到多个分类器,最终的分类结果是这多个分类器结果的融合。
Balance Cascade算法级联结构, 在每一级中从多数类Smaj中随机抽取子集E, 用E+Smin训练该级的分类器; 然后将Smaj中能够被当前分类器正确判别的样本剔除掉, 继续下一级的操作, 重复若干次得到级联结构; 最终的输出结果也是各级分类器结果的融合。
基于聚类的采样方法利用数据的类簇信息来指导过采样/欠采样操作
数据扩充方法对少数类样本进行一些噪声扰动或变换( 如图像数据集中对图片进行裁剪、 翻转、 旋转、 加光照等) 以构造出新的样本;
Hard Negative Mining把比较难的样本抽出来用于迭代分类器。

5.2 基于算法处理

可以通过改变模型训练时的目标函数( 如代价敏感学习中不同类别有不同的权重) 来矫正这种不平衡性; 当样本数目极其不均衡时, 也
可以将问题转化为单类学习( one-class learning) 、 异常检测( anomalydetection) 。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小镇躺不平家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值