二项分布的实现 np random binomial

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                       

二项分布(binomial distribution):

,用来生成MASK(掩码),然后将生成的掩码作用在原始输入上,获得需要的对 网络结构的dropout或者 对原始输入的corrupted

比如denoising autoencoder对原始输入的加噪机制这想法真的很酷,通过学习(特指监督学习)的方式,获得对含噪输入较强的鲁棒结果。

def get_corrupted_input(self, input, corruption_level):    return self.theano_rng.binomial(            size=input.shape, n=1,            p=1-corruption_level,            dtype=theano.config.floatX)*input
   
   
  • 1
  • 2
  • 3
  • 4
  • 5

再比如避免overfitting的dropout机制(这时屏蔽的是神经网络的部分节点也就是神经元neuron):

def dropout_layer(layer, p_dropout):    mask = theano_rng.binomial(n=1, p=1-p_drop_out, size=layer.shape)    return layer*T.cast(mask, theano.config.floatX)
   
   
  • 1
  • 2
  • 3
           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

这里写图片描述

猜你喜欢

转载自blog.csdn.net/hftytf/article/details/83821626