一、人工神经网络
人工神经网络(Artificial Neural Networks,ANN),是模拟生物神经网络进行信息处理的一种数学模型。它以对大脑的生理研究成果为基础,其目的在于模拟大脑的某些机理与机制,实现一些特定的功能。
1943年,美国心理学家McCulloch和数学家Pitts联合提出了形式神经元的数学模型MP模型,证明了单个神经元能执行逻辑功能,开创了人工神经网络研究的时代。1957年,计算机科学家Rosenblatt用硬件完成了最早的神经网络模型,即感知器,并用来模拟生物的感知和学习能力。1969年M.Minsky等仔细分析了以感知器为代表的神经网络系统的功能及局限后,出版了《Perceptron》(感知器)一书,指出感知器不能解决高阶谓词问题,人工神经网络的研究进入一个低谷期。20世纪80年代以后,超大规模集成电路、脑科学、生物学、光学的迅速发展为人工神经网络的发展打下了基础,人工神经网络的发展进入兴盛期。
人工神经网络是人工神经网络操作的基本信息处理单位,它是人工神经网络的设计基础。一个人工神经元对输入信号X=[x1,x2,…,xm]T的输出y为y=f(u+b),其中 ,公式中各字符的含义如下图所示:
人工神经网络的学习也称为训练,指的是神经网络在收到外部环境的刺激下调整神经网络的参数,使神经网络以一种新的方式对外部环境做出反应的过程。在分类与预测中,人工神经网络主要使用有监督的学习方式,即根据给定的训练样本,调整人工神经网络的参数以使网络输出接近于已知的样本类标记或其他形式的因变量。
激活函数主要有以下形式:
在人工神经网络的发展过程中,提出了多种不同的学习规则,没有一种特定的学习算法适用于所有的网络结构和具体问题。在分类与预测中, 学习规则(误差校正学习算法)是使用最广泛的一种。误差校正学习算法根据神经网络的输出误差对神经元的连接强度进行修正,属于有监督学习。设神经网络中的神经元i做为输入,神经元j为输出神经元,它们的连接权值为wij,则对权值的修正为
,其中η
为学习率,
为j的偏差,即输出神经元j的实际输出和期望输出之差,如下图所示:
神经网络训练是否完成常用误差函数(也称目标函数)E来衡量。当误差函数小于某一个设定的值时即停止神经网络的训练。误差函数为衡量实际输出向量Yk与期望值向量Tk误差大小的函数,常采用二乘误差函数来定义为 (或
)k=1,2,…,N,N为训练样本个数。
使用人工神经网络模型需要确定网络连接的拓扑结构、神经元的特征和学习规则等。目前,已有近40种人工神经网络模型,常用的用来实现分类和预测的人工神经网络算法如下表所示:
算法名称 | 算法描述 |
BP神经网络 | 是基于梯度下降法和牛顿法结合的多层前馈网络,特点:迭代次数少,收敛速度快,精确度高 |
RBF径向基神经网络 | RBF网络能够以任意精度逼近任意连续函数,从输入层到隐含层的变换是非线性的,而从隐含层到输出层的变换是线性的,特别适合于解决分类问题 |
FNN模糊神经网络 | FNN模糊神经网络是具有模糊权系数或者输入信号是模糊量的神经网络,是模糊系统与神经网络相结合的产物,它汇聚了神经网络与模糊系统的优点,集联想、识别、自适应及模糊信息处理与一体 |
GMDH神经网络 | GMDH网络也称为多项式网络,它使前馈神经网络中常用的一种用于预测的神经网络。它的特点是网络结构不固定,而且在训练过程中不断改变 |
ANFIS自适应神经网络 | 神经网络镶嵌在一个全部模糊的结构之中,在不知不觉中向训练数据学习、自动产生、修正并高度概括出最佳的输入与输出变量的隶属函数以及模糊规则;另外,神经网络的各层结构与参数也都具有了明确的、易于理解的物理意义 |
BP神经网络的学习算法是 学习规则,目标函数采用
,下面详细介绍BP神经网络算法。
反向传播(Back Propagation,BP)算法的特征是利用输出后的误差来估计输出层的直接前导层的误差,再用这个误差估计更前一层的误差,如此一层一层的反向传播下去,就获得了所有其他各层的误差估计。这样就形成了将输出层表现出的误差沿着与输入传送相反的方向逐级向网络的输入层传递的过程。BP算法学习过程流程图如下所示:
BP算法只用到均方误差函数对权值和阈值的一阶导数(梯度)的信息,使得算法存在收敛速度缓慢、易陷入局部极小等缺陷。为了解决这一问题,Hinton等人于2006年提出了非监督贪心逐层训练算法,为解决深层结构相关的优化难题带来希望,并以此为基础发展成了如今脍炙人口的“深度学习”算法。
二、分类与预测算法评价
分类与预测模型对训练集进行预测而得出的准确率并不能很好的反映预测模型未来的性能,为了有效判断一个预测模型的性能表现,需要一组没有参与预测模型建立的数据集,并在该数据集上评价预测模型的准确率,这组独立的数据集叫做测试集。模型预测效果评价,通常用相对/绝对误差、平均绝对误差、均方误差、均方误差等指标来衡量。
1.绝对误差与相对误差
设Y表示实际值, 表示预测值,则称E为绝对误差(Absolute Error),计算公式如下:
e为相对误差(Relative Error),计算公式如下:
有时相对误差也用百分数表示:
这是一种直观的误差表示方法。
2.平均绝对误差
平均绝对误差(Mean Absolute Error,MAE)定义如下:
式中各项的含义如下:
- MAE:平均绝对误差。
:第i个实际值与预测值的绝对误差。
:第i个实际值。
:第i个预测值。
由于预测误差有正有负,为了避免正负相抵消,故取误差的绝对值进行综合并取其平均数,这是误差分析的综合指标法之一。
3.均方误差
均方误差(Mean Squared Error,MSE)定义如下:
本方法用于还原平方失真程度。均方误差是预测误差平方之和的平均数,它避免了正负误差不能相加的问题。由于对误差E进行了平方,加强了数值大的误差在指标中的作用,从而提高了这个指标的灵敏性,是一大优点。均方误差是误差分析的综合指标法之一。
4.均方根误差
均方根误差(Root Mean Squared Error,RMSE)定义如下:
这是均方误差的平方根,代表了预测值的离散程度,也称为标准误差,最佳拟合情况为RMSE=0。均方根误差也是误差分析的综合指标之一。
5.平均绝对百分误差
平均绝对百分误差(Mean Absolute Percentage Error,MAPE)定义如下:
MAPE表示平均绝对百分误差。一般认为MAPE小于10时,预测精度较高。
6.Kappa统计
Kappa统计是比较两个或多个观测者对同一事物,或观测者对同一事物的两次或多次观测结果是否一致,以由于机遇造成的一致性和实际观测的一致性之间的差别大小作为评价基础的统计指标。Kappa统计量和加权Kappa统计量不仅可以用于无序和有序分类变量资料的一致性、重现性检验,而且能给出一个反映一致性大小的“量”值。
Kappa取值在[-1,+1]之间,其值得大小均有不同意义。
- Kappa=+1说明两次判断的结果完全一致。
- Kappa=-1,说明两次判断的结果完全不一致。
- Kappa=0说明两次判断的结果是机遇造成。
- Kappa<0说明一致程度比机遇造成的还差,两次检查结果很不一致,在实际应用中无意义。
- Kappa>0,此时说明有意义,Kappa越大,说明一致性越好。
- Kappa>=0.75说明已经取得相当满意的一致程度。
- Kappa<0.4说明一致程度不够。
7.识别准确度
识别准确度(Accuracy)定义如下:
- TP(True Positives):正确的肯定表示正确肯定的分类数。
- TN(True Negatives):正确的否定表示正确否定的分类数。
- FP(False Positives):错误的肯定表示错误肯定的分类数。
- FN(False Negatives):错误的否定表示错误否定的分类数。
8.识别精确率
识别精确率(Precision)定义如下:
9.反馈率
反馈率(Recall)定义如下:
10.ROC曲线
受试者工作特性(Receiver Operating Characteristic,ROC)曲线是一种非常有效的模型评价方法,可为选定临界值给出定量提示。将灵敏度(Sensitivity)设在纵轴,1-特异性(1-Specificity)设在横轴,就可得出ROC曲线图。该曲线下的积分面积(Area)大小雨每种方法优劣密切相关,反映分类器正确分类的统计概率,其值越接近1说明该算法效果越好。
11.混淆矩阵
混淆矩阵(Confusion Matrix)是模式识别领域中一种常用的表达形式。它描绘样本数据的真实属性与识别结果类型之间的关系,是评价分类器性能的一种常用方法。假设对于N类模式的分类任务,识别数据集D包括T0个样本,每类模式分别包含Ti个数据(i=1,…,N)。采用某种识别算法构造分类器C,cmij表示第i类模式被分类器C判断成第j类模式的数据占第i类模式样本总数的百分率,则可得到N*N为混淆矩阵CM(C,D)。
混淆矩阵中元素的行下标对应目标的真实属性,列下标对应分类器产生的识别属性。对角线元素表示各模式能够被分类器C正确识别的百分率,而非对角线元素则表示发生错误判断的百分率。
通过混淆矩阵,可以获得分类器的正确识别率和错误识别率。
各模式的正确识别率:
平均正确识别率:
各模式错误识别率:
平均错误识别率: