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