[優化算法] 拉丁超立方採樣與基於優化的均勻採樣

拉丁超立方採樣算法

丁超立方採樣Latin hypercube sampling,LHS)是一種從多元參數分佈中近似隨機採樣的方法,屬於分層採樣技術,經常使用於計算機實驗或蒙特卡洛積分等。函數

在統計抽樣中,拉丁方陣是指每行、每列僅包含一個樣本的方陣。好比優化

X      
    X  
      X
  X    

 

拉丁超立方則是拉丁方陣在多維中的推廣,每一個與軸垂直的超平面最多含有一個樣本。spa

假設有N個變量(維度),能夠將每一個變量分爲M個機率相同的區間。此時,能夠選取M個知足拉丁超立方條件的樣本點。須要注意的是,拉丁超立方抽樣要求每一個變量的分區數量M相同。不過,該方法並不要求當變量增長時樣本數M一樣增長。blog

若所需樣本點數量爲M,維度/變量數量爲N。則能夠取第一個維度/變量,分爲M個區間,每一個區間將依次產生一個樣本點;對於更高維度,則按維度1的樣本點次序,隨機地分佈在該維度上。對於二維狀況的拉丁方陣,則有element

X1      
    X2  
      X3
  X4    

高維度同理。it

 

 

基於優化的均勻採樣table

基於優化的均勻採樣關鍵在於定義一個合適的度量來評判採樣點的均勻度。class

假設咱們的均勻度定義爲變量

其中 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]) )。

相關文章
相關標籤/搜索