python中不具备np_Python中np.random.multivariate_normal问题?
首先看一下一維正太分布的公式:
其中μ為均值,σ為標(biāo)準(zhǔn)差。正太分布的草圖如下圖所示。
再看numpy提供的函數(shù)的參數(shù):
multivariate_normal(mean, cov, size=None, check_valid=None, tol=None)
在一維正太分布中,第一個參數(shù)mean就是這里的均值μ,第二個參數(shù)cov就是方差【公式Cov(X,X)=D(X),這里只是猜測】,第三個參數(shù)size就是生成的正態(tài)分布矩陣的維度
如下圖,均值設(shè)置為3,方差為1,然后取100個點生成一維矩陣Y來繪制散點圖,打印出方差接近設(shè)定的值1
可以看到散點圖如下圖,圖中可以看出,100個散點的均值大致是3(看Y軸)
再看二維正太分布的公式:
這里μ1,μ2分別為變量X,Y的均值;σ1,σ2為分別為變量X,Y的標(biāo)準(zhǔn)差。草圖如下。
再看協(xié)方差的定義,以及協(xié)方差與期望值的關(guān)系
函數(shù)multivariate_normal(mean, cov, size=None, check_valid=None, tol=None)在二維正太分布中,
mean是變量X和Y的均值,它的維度為一維。
cov是一個協(xié)方差矩陣,它的組成如下,在tensorflow中一般設(shè)置cov(x,y)=cov(y,x)=0
size表示生成的正態(tài)分布矩陣的維度,如size維度為(1,3,2),那么生成的正太分布矩陣維度為:1*3*2*len(mean)
其他幾個參數(shù)見鏈接
接著設(shè)置mean=[3,0],cov=diag(1,1),使用300個點繪制散點圖,打印出X和Y的方差均接近于設(shè)定的值1
可以看到散點圖中,X和Y的均值大致上分別是3和0
可依此類推至多維正太分布中。
由于初學(xué)深度學(xué)習(xí),也是費了一番功夫百度找到一些資料,再加上代碼驗證所寫,難免會有各種錯誤。錯誤之處還請指出,謝謝。
總結(jié)
以上是生活随笔為你收集整理的python中不具备np_Python中np.random.multivariate_normal问题?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端面试instanceof_一起回归一
- 下一篇: python实验二序列_python 学