2019-07-24 激活函数 梯度下降 损失函数

原文:https://www.jianshu.com/p/5329ad3561ea

后面可以看下这篇文章:https://www.cnblogs.com/lliuye/p/9486500.html

一、激活函数

激活函数是每一层神经网络之后用的非线性函数,因为神经网络本身是线型的,利用激活函数可以使之实现非线性。

激活函数主要有四个: sigmoid, tanh, RELU, Leaky RELU. 还有一位博主将softmax 也加了进来。也有一定的道理,因为这五个小兄弟都是将一个K?维的向量映射为另一个K?维的向量。

接下来的话照搬这个知乎专栏

1. sigmoid

sigmoid函数及其导数

sigmoid函数会导致梯度消失(gradient vanishing)。

2. tanh

非线性激活函数,y的值是-1-1,TensorFlow对应的是tf.nn.tanh(x,name=None)

tanh

3. ReLU

f(x)=max(0,x),tensorflow中对应的是tf.nn.relu(features,name=None)

这个函数的优点是处理后的数据具有更好额稀疏性,只有最大数值与0.


5. leaky ReLU

leaky ReLU

5. softmax

Softmax的使得映射后的元素之和为1,通常用在分类任务最后一层。

二、梯度下降

梯度下降是神经网络优化的方法,令输出逼近目标值。

啊懒得写了,看看这个博文就知道了

三、损失函数

这篇博文讲述了

交叉熵损失函数

均值平方差

就是mse,均方误差越小,表明模型越好,

交叉熵

表现预测输入样本属于某一类的概率,越小,预测的效果越准

损失函数的选取取决于输入标签数据的的类型,如果输入的是实数,无界的值,那么就应该使永平方差,如果输入的标签是位矢量,使用交叉熵可能会更合适。

tensorflow 中常见的loss函数

均值平方差,就是tf.reduce_mean(tf.pow(tf.sub(logits,outputs),2.0))

交叉熵:主要有sigmoid函数,softmax函数

你可能感兴趣的:(2019-07-24 激活函数 梯度下降 损失函数)