神经网络被广泛应用于机器学习和人工智能领域。神经网络由多个神经元组成,这些神经元分布在不同的层中,每一层都可以包含多个神经元。
神经元是神经网络的基本组成单元,模仿人类大脑中的神经元。每个神经元接收来自其他神经元的输入信号,并产生一个输出信号,这个输出信号可以传递到其他神经元。神经元包括三个主要部分:
-
输入权重(Weights):每个输入都与一个权重相关联,权重决定了输入信号的重要性。
-
求和器(Summation):输入和对应的权重相乘后求和,加上一个偏置项(bias)。
-
激活函数(Activation Function):对求和结果进行非线性转换,产生神经元的输出。
对于激活函数,我们常见的有阶跃函数,但由于它不连续,不光滑,所以更常用的是Sigmod函数,Relu函数,
-
Sigmoid 函数:将输入值压缩到 (0, 1) 范围内,常用于输出层。
$\sigma(x) = \frac{1}{1 + e^{-x}} $ -
ReLU 函数(Rectified Linear Unit):当输入大于 0 时输出等于输入,否则输出为 0。
ReLU ( x ) = max ( 0 , x ) \text{ReLU}(x) = \max(0, x) ReLU(x)=max(0,x) -
Tanh 函数:将输入值压缩到 (-1, 1) 范围内,比 Sigmoid 函数具有更陡的曲线。
tanh ( x ) = e x − e − x e x + e − x \text{tanh}(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} tanh(x)=ex+e−xex−e−x
多个神经元组成神经网络的输入层、隐藏层和输出层。
- 输入层(Input Layer):接收外部输入的数据,将数据传递给下一层神经元。
- 隐藏层(Hidden Layer):在输入层和输出层之间的层,负责对输入数据进行加工和处理,提取数据的特征。
- 输出层(Output Layer):输出最终的结果,可以是分类、回归等任务的输出。