01.前言
从本期开始,我们就正式进入人工智能算法领域的学习和介绍了。在上一期推文中,我们对人工智能算法的应用、起源和发展做了简单的介绍。那么在知道了这些信息后,我们就来更为详细深入的了解,人工智能算法到底是什么?以及它的计算原理又是什么?
02.基本概念
1.网络结构介绍
人工神经网络(ANN,Artificial Neural Network)是由大量处理单元互联组成的非线性、自适应信息处理系统。它通过模拟人脑神经元对信息处理的过程和记忆信息的方式抽象出一种分布式并行信息运算方式,克服了传统的数学方式在处理非结构化信息方面的短板,并具有极强的自适应、自组织和自学习的特点,ANN 模拟人脑神经元对信息 处理的逻辑结构如图1所示。

ANN 的结构一般包括输入层、隐含层和输出层,每一层均是由多个节点(即神经元)组成,神经元是构成ANN最基本的单元,单个神经元的结构如下图2所示。

图2 基本神经元结构图


激活函数的选择会直接影响ANN的输出,其作用是引入非线性因素,增强ANN的表达能力。如果没有激活函数,则ANN就无法进行非线性变换,导致 ANN 只能进行线性拟合。常用的激活函数如下表所示。

根据 ANN 内部信息传递处理的方式,可将 ANN 分为两类:前向传播神经网络(FPANN,Forward Propagation Artificial Neural Network)与误差反向传播神经网络(BPANN,Back Propagation Artificial Neural Network)。
FPANN 是一种经典的神经网络模型,在 FPANN 中,输入信号从输入层经隐含层到输出层为一次前馈计算,以多输入单输出的三层神经网络结构为例,其结构如图3所示:




图4 BPANN计算原理图
其正向传播运算与FPANN完全一致,但在步骤3后加入了对连接权值和阈值的修正更新,具体更新运算步骤如下所示:

当BPANN被研究出来以后,几乎目前所有的神经网络算法都会采用这种算法的信息传播方式,期待以尽可能小的目标误差来获得更为优秀的预测/分类/聚类模型效果。
判断一个神经网络模型的好坏,最直接的方式就是看模型的预测准确度。而模型一般通常又被分为训练集、验证集,其中训练集效果就是代表模型本身的好坏,验证集效果则是代表了模型泛化性能(即预测能力或普适性)的好坏。
在机器学习和深度学习的训练过程中,经常会出现欠拟合和过拟合的现象。训练一开始,模型通常会欠拟合,所以会对模型进行优化,等训练到一定程度后,就需要解决过拟合的问题了。
为清晰直观了解模型的拟合效果,以下面表和图为例:

code/s?__biz=MzAwNzQ4MzY2OA==&mid=2247484181&idx=1&sn=8314f7d5c899e7fa060a17fae83a552d&chksm=9b7c3b6eac0bb278d2f67193fac1d583105a8eba33963c55afb35f9eaf811b2df71787955d91#rd