日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

对采样的理解

發布時間:2023/12/2 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 对采样的理解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的对采样的理解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。