博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[优化算法] 拉丁超立方采样与基于优化的均匀采样
阅读量:5062 次
发布时间:2019-06-12

本文共 812 字,大约阅读时间需要 2 分钟。

拉丁超立方采样

丁超立方采样Latin hypercube sampling,LHS)是一种从多元参数分布中近似随机采样的方法,属于分层采样技术,常用于计算机实验或蒙特卡洛积分等。

在统计抽样中,拉丁方阵是指每行、每列仅包含一个样本的方阵。比如

X      
    X  
      X
  X    

 

拉丁超立方则是拉丁方阵在多维中的推广,每个与轴垂直的超平面最多含有一个样本。

假设有N个变量(维度),可以将每个变量分为M个概率相同的区间。此时,可以选取M个满足拉丁超立方条件的样本点。需要注意的是,拉丁超立方抽样要求每个变量的分区数量M相同。不过,该方法并不要求当变量增加时样本数M同样增加。

若所需样本点数量为M,维度/变量数量为N。则可以取第一个维度/变量,分为M个区间,每个区间将依次产生一个样本点;对于更高维度,则按维度1的样本点次序,随机地分布在该维度上。对于二维情况的拉丁方阵,则有

X1      
    X2  
      X3
  X4    

高维度同理。

 

 

基于优化的均匀采样

基于优化的均匀采样关键在于定义一个合适的度量来评判采样点的均匀度。

假设我们的均匀度定义为

其中 xi表示第i个样本点的坐标。那么只需要通过优化算法使得该值更小的一组xi坐标,就是所需的均匀采样的样本点。

在MATLAB中,可以使用fmincon()来进行优化。有意思的是,假如输入的X是作为矩阵的话(比如N * n,N为样本点数量,n 为变量/维度数),在该函数会将矩阵X变为向量X(相当于 X_vec = X_mat(:)  ,注意是一列一列地排,即向量最前面是矩阵第一列,然后矩阵第二列)就等同是对一个x序列作的优化。最后输出会重新转换成向量(相当于 X_mat = reshape(X_vec, N, n) or X_mat = reshape(X_vec, [N, n]) )。

转载于:https://www.cnblogs.com/George-Okelly1995/p/9951074.html

你可能感兴趣的文章
Mongo自动备份
查看>>
求助大神!怎样批量删除数据库表中某个字段中同样的一段字符!
查看>>
VMWARE虚拟机无法访问的三种方法分析
查看>>
enq: SQ - contention
查看>>
cer证书签名验证
查看>>
ant 安装
查看>>
新手Python第一天(接触)
查看>>
vue路由动态加载
查看>>
【原】UIWebView加载本地pdf、doc等文件
查看>>
iOS中ARC内部原理
查看>>
【bzoj1029】[JSOI2007]建筑抢修
查看>>
synchronized
查看>>
你不得不了解的应用容器引擎---Docker
查看>>
easyui datagrid 弹出页面会出现两个上下滚动条处理办法!
查看>>
迭代器和生成器
查看>>
MYSQL分区表功能测试简析
查看>>
codevs 1080 线段树练习
查看>>
JS模块化库seajs体验
查看>>
Android内核sysfs中switch类使用实例
查看>>
POJ2288 Islands and Bridges(TSP:状压DP)
查看>>