二项分布以及实现

文章目录

  • 前言
    • 所谓二项分布就是只会产生两种结果的概率
  • 1.概念

前言

所谓二项分布就是只会产生两种结果的概率

1.概念

二项分布以及实现_第1张图片
二项分布以及实现_第2张图片
二项分布以及实现_第3张图片
下面是一个二项分布的的theano实现

import numpy as np
import theano
import theano.tensor as T
from theano.tensor.nnet import conv
from theano.tensor.nnet import softmax
from theano.tensor import shared_randomstreams


x=T.matrix('x')
y =T.fscalars('y')

theano.config.floatX='float32'

# def dropout_layer(x,y):
#     srng=shared_randomstreams.RandomStreams(np.random.RandomState(0).randint(999))
#     mask=srng.binomial(n=1,p=1-y,size=x.shape)
#     return x*T.cast(mask,theano.config.floatX)

a=np.random.randn(2,3)

srng=shared_randomstreams.RandomStreams(np.random.RandomState(0).randint(999))
mask=srng.binomial(n=1,p=1-y,size=x.shape)
d=x*T.cast(mask,theano.config.floatX)

fun=theano.function([x,y],d)

print(fun(a,0.6))

结果:
可以看到要么是0,要么是1,当然是近似
二项分布以及实现_第4张图片

你可能感兴趣的:(AI,深度学习)