一、神经元
- 神经元是神经网络算法的基本单位,其本质是一种函数,接受外部刺激并根据输入产生对应的输出
- 神经元的内部结构可以看作线性函数和激活函数的组合,线性函数运算结果传递给激活函数,最终产生该神经元的输出结果
- 典型的神经元有 感知器 和 S 型神经元
1.1 感知器
- 感知器有时也被称之为感知机,是一种人工神经网络;被视为一种形式最简单的前向是人工神经网络,
- 感知器是一种二元线性分类器,主要用于求解分类问题
- 感知器接受多个二进制输入并产生一个二进制输出
- 感知器的工作原理:
- 感知器接受多个二进制输入,每个输入对应一个权重
- 感知器二进制输入的加权值对输出有重大影响
- 通过感知器加权值与阈值比较,决定最后的二进制输出值
上述过程可以用如下的代数形式来表示:
- 有时候为了简便,回把感知器规则写成下面这种通用形式:
- 若设置的偏置 b 较大,则最后输出1比较容易
- 若设置的偏置 b 较小,甚至是较大的复数,最后输出1则较为困难
- 即可通过设置不同的权重和偏置来调整感知器的输出情况
1.2 S 型神经元
- S型神经元与感知器相比,优点在于:权重和偏置的微小变化只会导致输出的微小变化
- S型神经元与感知器最大的区别在于它的输入和输出不再是二进制的离散值,而是0~1的连续值
- S型神经元与感知器的不同之处在于:S型神经元是一个平滑的函数,而感知器是一个阶跃函数。也就是说,感知器只能输出0或者1,而S型神经元能够输出0~1的任何数值
- S型神经元的特点:
- S型神经元有多个输入值,这些输入值是 0~1的任意值
- S型神经元输入的权值经过激活sigmoid函数处理后,输出 0~1的数值
- S型神经元的表达式:
二、神经网络
2.1 神经网络的概念
- 神经元之间连接互动就形成了神经网络
- 神经网络是由简单神经元经过相互连接形成网状结构,通过调节个连接的权重值改变连接的强度,进而实现感知判断
- 最基本、最典型的神经网络就是——多层感知器(MLP)
- 注意:虽然称为多层感知器,但实际上它是由S型神经元构成的,而并非由感知器构成的
2.2 神经网络的结构
- 一个典型的神经网络结构包括三层:输入层、隐藏层、输出层
- 最左边是输入层,其中的神经元称为输入神经元
- 最右边是输出层,其中的神经元称为输出神经元
- 介于输入层和输出层之间的中间层是隐藏层,神经网络中可能不止一个隐藏层,任何非输入层和非输出层都称之为隐藏层
- 输入层: 神经网络的第一层,该层接收输入信号(值)并传递给下一层,对输入的信号(值)并不执行任何运算,没有自己的权重值和偏置值
- 隐藏层: 隐藏层是神经网络中介于输入层和输出层之间的合成层,隐藏层的神经元通过层层转换,最后将隐藏值传递给输出层
- 输出层: 是神经网络最后一层,接收最后一个隐藏层的输入并产生最终的预测结果,得到理想范围内的期望数目的值。该层神经元可以只有一个,也可以和结果一样多
- 注意:
- 每个神经网络都由一个输入层和输出层,并且输入层神经元的数量 = 处理对象数据中包含的输入变量的数量,输出层神经元的数量 = 期望的输出数量
- 但隐藏层的层数以及其神经元数量则需要人工设定,这也是神经网络的一个难点
2.3 神经网络基本分类
- 神经网络包括:前向神经网络、反向神经网络和自组织神经网络等常见的神经网络模型
- 前向神经网络: 是一种单向多层的网络结构,即信息是从输入层开始,逐层向一个方向传递,一直到输出层结束。
- 反向神经网络: 与前向神经网络相比,反馈神经网络内部神经元之间有反馈,可以用一个无向完全图表示
- 自组织神经网络: 又称Kohonen网络,该神经网络的特点是当接收到外界信号刺激时,不同区域对信号自动产生不同的响应。这种神经网络是在生物神经元上首先发现的,如果神经元是同步活跃的则信号加强,如果异步活跃则信号减弱。