为神经网络选择正确的激活函数
我们都知道神经网络模型中使用激活函数的主要目的是将非线性特性引入到我们的网络中,强化网络的学习能力。激活函数应用于隐藏层和输出层中每个节点的称为 z 的输入加权和(此处输入可以是原始数据或前一层的输出)。
在本篇文章中我们将讨论神经网络中常见的激活函数,并使用可视化技术帮助你了解激活函数的函数定义和不同的使用场景。
在看完本文章后,你可以将清楚地了解何时使用哪种激活函数,并了解不同激活函数的定义。
神经网络中不同层的激活函数
神经网络通常由三种类型的层组成:输入层、隐藏层和输出层。
输入层只保存输入数据,不执行任何计算。因此不需要使用激活函数。
在神经网络的隐藏层中需要使用非线性激活函数, 这是因为需要在网络中引入非线性来学习复杂的模式。如果没有非线性激活函数,具有许多隐藏层的神经网络将成为一个巨大的线性回归模型,这对于从现实世界数据中学习复杂模式毫无用处。根据我们在隐藏层中使用的激活函数的类型,神经网络模型的性能会有很大差异。
在神经网络的输出层内使用激活函数的选择取决于我们要解决的问题类型。
线性与非线性函数
大多数激活函数是非线性的。但是有时也在神经网络中使用线性激活函数,例如在解决回归问题的神经网络模型的输出层中使用线性激活函数。
一个线性函数(称为 f)接受输入 z 并返回输出 cz,它是输入乘以常数 c。在数学上,这可以表示为 f(z) = cz。当 c=1 时,函数按原样返回输入,并且不对输入进行任何更改。二维空间中线性函数的图形是一条直线。
任何不是线性的函数都可以归类为非线性函数。非线性函数的图形不是一条直线。它可以是一个复杂的模式,也可以是两个或多个线性组件的组合。
不同类型的激活函数
下面将讨论神经网络中常用的激活函数。
原文地址:
https://www.overfit.cn/post/602befa98870469eaad78c612895b748