房地产集团网站建设方案,济南建筑公司排名,建设心理网站,软件开发就业前景走向1. 什么是采样
我们知道了一个变量的分布#xff0c;要生成一批服从这个分布的样本#xff0c;这个过程就叫采样。 听起来好像很简单#xff0c;对一些简单的分布函数确实如此#xff0c;比如#xff0c;均匀分布、正太分布#xff0c;但只要分布函数稍微复杂一点#…1. 什么是采样
我们知道了一个变量的分布要生成一批服从这个分布的样本这个过程就叫采样。 听起来好像很简单对一些简单的分布函数确实如此比如均匀分布、正太分布但只要分布函数稍微复杂一点采样这个事情就没那么简单了。
2. 为什么要采样
在讲具体的采样方法之前有必要弄清楚采样的目的。为什么要采样呢有人可能会这样想样本一般是用来估计分布参数的现在我都知道分布函数了还采样干嘛呢其实采样不只是可以用来估计分布参数还有其他用途比如说用来估计分布的期望、高阶动量等。其实在机器学习中采样的主要用途是用来估计某个函数在某个分布上的期望比如在EM算法中计算E步的时候已知隐变量的分布用采样的方法估计对数似然的期望。
3.采样的作用
采样本质上是对随机线性的模拟根据给定的概率分布来模拟产生一个对应的随机事件。也可以理解为用较少的样本点来近似总体分布可以算是一种信息降维。
可以快速了解总体分布中数据的结构和特性。
通过重采样可以充分利用已有数据集挖掘更多信息如自助法刀切法。
4. 常用的采样方法
几乎所有的采样方法都是以均匀分布随机数作为基本操作的。
逆变换采样法第一步从均匀分布中产生一个随机数第二步根据一个累计分布函数的逆函数进行计算。如果待采样的目标分步的累计分布函数的逆函数无法求得或不易求则不适合使用逆变换采样法。
拒绝采样接受/拒绝采样对于目标分布p(x)选取一个容易采样的参考分布q(x)使得对于任意p(x)都小于等于M*q(x)。第一步从参考分布q(x)中随机抽取一个样本第二步从均匀分布中产生一个随机数第三步如果 [公式] 大于随机数则接受样本如果小于则拒绝样本。
自适应拒绝采样在目标函数是对数凹函数时用分段函数来覆盖目标分布的对数。
重要性采样就是用于计算函数在目标分布上的积分如果只想从目标分布中采样出若干样本可以使用重要性重采样。
在实际应用中高维空间的随机向量拒绝采样和重要性重采样经常难以找到合适的参考分布采样效率比较低可以考虑马尔科夫蒙特卡罗采样法。
5. 基本采样方法
首先最基本的方法是变换法大概思想是这样的比如我们要对分布a采样但是只有分布b的采样器我们可以通过对b采样的结果进行一些变换使变换后的结果服从分布a举个例子对0到1的均匀分布的结果进行tan函数变换得到的结果就服从柯西分布大家可以试想下怎么变换能得到指数分布和高斯分布。
5.1 高斯分布的采样
逆变换法第一步生成均匀分布随机数第二步把随机数带入一个服从正态分布的公式。也可以用Box-Muller算法生成两个独立的均匀分布的随机数计算三角函数。还可以用Marsaglia polar method加速运算。
拒绝采样法先模拟一个均匀分布的随机数并得到指数分布样本再产生另一个随机数进行比较大于这个随机数接受小于拒绝并回到上一步重新采样最后再生产一个随机数随机数小于0.5转换为负大于0.5保持不变。有时效率会比较低可以用Ziggurat算法提高效率。
5.2 马尔科夫链蒙特卡洛采样Markov Chain Monte Carlo
马尔科夫蒙特卡罗MCMC蒙特卡罗是指基于采样的数值型近似求解方法马尔科夫链则用于采样。
要理解MCMC有几个关键要点 MCMC基本思想针对待采样目标分布构造一个马尔科夫链使得该马尔科夫链的平稳分布就是目标分布然后从任何一个初始状态出发沿着马尔科夫链进行状态转移最终得到的状态转移序列会收敛到目标分布由此可以得到目标分布的一系列样本。
几种常见的MCMC
Metropolis-Hastings采样法第一步随机选一个初始样本第二步比较参考条件分布与随机数的大小并进行赋值。
吉布斯采样法每次只对样本的一个维度进行采样和更新。随机选择初始状态每次更新一个维度多次后形成新样本。 吉布斯采样的牛逼之处在于只需要知道条件概率的分布便可以通过采样得到联合概率分布的样本LDA的求解可以说是吉布斯采样的一个绝妙应用例子通过采样的方法就完成了整个模型的求解确实很巧妙。另一个很好的例子是玻尔兹曼机的训练哪天有时间把这两个例子展开讲讲。
MCMC采样如何得到相互独立的样本
可以同时运行多条马尔科夫链或者在一条马尔科夫链上间隔几个样本才选一个。
5.3 贝叶斯网络的采样
祖先采样根据有向图的顺序先对祖先节点进行采样只有当某个节点的所有父节点都已完成采样才对该节点进行采样。
逻辑采样利用祖先采样的取值如果这个取值与观测值相同则接受否则拒绝重新采样。采样效率可能很低。实际中参考重要性采样的思想不再对观测变量进行采样只对非观测变量进行采样。
MCMC采样法在随机向量上选择一个概率转移矩阵按照概率转移矩阵不断进行状态转移每次转移有一定概率接受或拒绝最终得到的样本序列会收敛到目标分布。
5.4 不均衡样本集的重采样
(1)基于数据的方法
对数据进行重采样是原本不均的样本变得均匀。具体方法过采样和欠采样。
过采样会造成过拟合欠采样会损失部分有用信息。
对此改进SMOTE算法对少数类样本集中的每个样本从它到K个近邻中随机选一个样本点然后在连线上随机选一个点作为新合成的样本。可以降低过拟合风险。但可能会增大类间重叠度并且会生成一些不能提供有益信息的样本。
再改进Borderline-SMOTE算法只给那些处在分类边界上的少数类样本合成新样本ADASYN算法给不同的少数类样本合成不同个数的新样本。
欠采样改进算法有Easy Ensemble算法、Balance Cascade算法、NearMiss、One-sided Selection
(2)基于算法的方法
在样本不均衡时可以通过改变模型训练时的目标函数来矫正不平衡性当样本数目极其不平衡时也可以将问题转化为单类学习、异常检测。
https://zhuanlan.zhihu.com/p/46096712 https://zhuanlan.zhihu.com/p/125648419