人工神经网络(artififial neural network) 简称神经网络,它是一种模仿生物神经网络结构和功能的非线性数学模型。
神经网络通过输入层接受原始特征信息,再通过隐藏层进行特征信息的加工和提取,最后通过输出层输出结果。
根据需要神经网络可以包含多层隐藏层。
激活函数它用于将输入数据映射到输出端,通过激活函数将非线性特征引入神经元。从而得到神经网络可以任意逼近任何非线性函数。
Sigmoid函数将值压缩到[0-1]之间。tanh函数将值压缩到[-1,1]之间。
激活函数在神经网络中起着非常重要的作用。它们是一类非线性函数,被应用于神经元或人工神经元的输出,用于引入非线性特性。以下是激活函数的几个关键作用:
- 引入非线性:线性函数的组合仍然只能得到线性函数,而激活函数的非线性特性能够使神经网络具备处理非线性关系的能力。这对于解决复杂的问题非常关键,因为许多自然现象和人类行为往往都是非线性的。
改善模型的表达能力:通过引入非线性变换,激活函数能够帮助神经网络更好地学习和表示非线性函数。这使得神经网络能够逼近非线性映射,从而提高模型的表达能力。 - 解决梯度消失问题:在深层神经网络中,反向传播时梯度可能会变得非常小,从而导致梯度消失问题。一些激活函数,如ReLU(Rectified Linear Unit),能够缓解这个问题,因为它们的导数在一定范围内保持恒定。这有助于梯度在网络中传播得更远,使得网络能够更好地学习。
- 控制神经元的激活状态:激活函数的输出可以被看作是神经元的激活状态。通过调整激活函数的参数和形状,我们可以控制神经元是否激活以及激活的程度。这对于控制神经网络的整体行为和输出非常重要。
- 常见的激活函数包括Sigmoid函数、ReLU函数、Leaky ReLU函数、Tanh函数等。选择适合的激活函数取决于具体的任务和数据特点,在实际应用中需要根据实验和经验进行选择。