一、神经网络
人工神经网络 (Artificial Neural Network,简写为ANN)也简称为神经网络 (NN),是一种模仿生物神经网络结构和功能的 计算模型。人脑可以看做是一个生物神经网络,由众多的神经元连接而成。各个神经元传递复杂的电信号,树突接收到输入信号,然后对信号进行处理,通过轴突输出信号。下图是生物神经元示意图:
1.1 神经元
那怎么构建人工神经网络中的神经元呢?
受生物神经元的启发,人工神经元接收来自其他神经元或外部源的输入,每个输入都有一个相关的权值(w),它是根据该输入对当前神经元的重要性来确定的,对该输入加权并与其他输入求和后,经过一个激活函数 f,计算得到该神经元的输出[参考]。
一个简单的神经元如下图所示:
使用数学公式表示就是:
可见,一个神经元的功能是求得输入向量与权向量的内积后,经一个非线性传递函数得到一个标量结果。
1.2 神经网络
那接下来我们就利用神经元来构建神经网络,相邻层之间的神经元相互连接,并给每一个连接分配个强度,如下图所示:
神经网络中信息只向一个方向移动,即从输入节点向前移动,通过隐藏节点,再向输出节点移动网络中没有循环或者环。其中的基本构件是:
输入层: 即输入x的那一层
输出层:即输出y的那一层
隐藏层: 输入层和输出层之间都是隐藏层
特点:
- 同一层的神经元之间没有连接。
- 第N层的每个神经元和第N-1层的所有神经元相连(这就是full connected的含义),第N-1层神经元的输出就是第N层神经元的输入。
- 每个连接都有一个权值。
1.3 神经元的工作方式
人工神经元接收到一个或多个输入,对他们进行加权并相加,总和通过一个非线性函数(激活函数)产生输出。
二、神经网络优缺点
优点
精度高,性能优于其他的机器学习方法,甚至在某些领域超过了人类
可以近似任意的非线性函数
随之计算机硬件的发展,近年来在学界和业界受到了热捧,有大量的框架和库可供调用
缺点
黑箱,很难解释模型是怎么工作的
训练时间长,需要大量的计算力
网络结构复杂,需要调整超参数
小数据集上表现不佳,容易发生过拟合