激活函数function

1 sigmoid激活函数

sigmoid(x)=\frac{1}{1+e^{-x}}

作用:输出归一化 [0,1]

举个例子,z = w1*x1 + w2*x2 +bias,其中bias为偏置项。假定取bias为-30,w1、w2都取为20,z = -30 + 20*x1 + 20*x2

如果x1 = 0,x2 = 0,则z = -30,g(z) = 1/( 1 + e^-z )趋近于0。从上图sigmoid上也可看出。
如果x1 = 0,x2 = 1,或x1 =1,x2 = 0,则z = -10,同样,g(z)的值趋近于0。
如果x1 = 1,x2 = 1,则z = 10,此时,g(z)趋近于1。

换言之,只有x1和x2都取1的时候,g(z)→1,判定为正样本;而当只要x1或x2有一个取0的时候,g(z)→0,判定为负样本,如此达到分类的目的。综上,sigmod函数的自变量 z 大于0对应sigmod值大于0.5,小于0对应sigmod值小于0.5;0.5可以作为分类的阀值。

但是由上图可知,当|x|很大时候,可以看到两侧的sigmoid函数是很平的。此时的导数接近于0。而没有了梯度的指示,梯度下降法就失去意义了。另外函数输出不是以 0 为中心的,这会降低权重更新的效率。因此我们希望它得到改进。

2 tf.math.tanh

作用:输出归一化 [-1,1]

tanh是在sigmoid的基础之上做一个改进。虽然还存在两端趋于饱和问题,但是克服了sigmoid函数的不关于原点对称的问题。 

tf.math.tanh(x, name=None)

3relu激活函数

relu(x)=\left\{\begin{matrix} x(x\geqslant 0)\\ 0(x< 0) \end{matrix}\right.

relu激活函数是深度学习中最为广泛使用的激活函数之一,它有效的解决了前两者的饱和问题.

relu函数是深度学习中较为流行的一种激活函数,相比于 sigmoid 函数和 tanh 函数,当输入为正时,relu函数不存在梯度饱和问题。

4 rbf高斯基函数

 图一 十个样本点

图二 十个样本点➕对应基函数

图三 十个样本点构成的真实曲线➕对应基函数乘以权重得到的函数。例如对x1,其真实值为a点,而基函数们相交于b、c两点,基函数拟合的结果就是b和c的纵坐标之和,f(x1)-b-c就是误差。我们要做的就是优化权值参数w或者选取其他径向基函数来尽可能还原蓝色曲线。

rbf通常有三层:输入层、隐藏层和输出层。rbf简单网络模型如下:

5 tf.nn.softmax

tf.nn.softmax(x, name=None)

 归一化的值,含义是属于该位置的概率[0,1]

array = tf.constant([4.0,1.0,5.0], dtype=tf.float32)
sess = tf.InteractiveSession()
print(sess.run(tf.nn.softmax(array))) #[0.26538792 0.01321289 0.7213992 ]

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值