配色: 字号:
《R语言数据挖掘》第六章 R的人工神经网络:数据预测
2023-05-25 | 阅:  转:  |  分享 
  
第六章R的人工神经网络:数据预测学习目标理论方面,理解神经网络分类预测的基本原理,适用性和方法特点。实践方面,掌握R的神经网络实现、应用以
及结果解读,能够正确运用神经网络实现数据的分类预测人工神经网络概述人工神经网络(Artificial Neural Network
, ANN)是一种人脑的抽象计算模型,是一种模拟人脑思维的计算机建模方式人工神经网络的应用研究正从人工智能逐步跨入以数据分析为核心
的数据挖掘领域,并大量应用于数据的分类和回归预测中。也可应用于聚类分析中人工神经网络由相互连接的神经元,也称处理单元组成。如果将人
工神经网络看作一张图,则处理单元也称为节点。节点之间的连接称为边,反映了各节点之间的关联性,关联性的强弱体现在边的连接权重上人工神
经网络概述人工神经网络的种类:拓扑结构角度划分两层神经网络三层神经网络和多层神经网络神经网络的最底层称为输入层,最顶层称为输出层,
中间层称为隐层。神经网络的层数和每层的处理单元的数量,决定了网络的复杂程度人工神经网络概述处理单元按层次分布于神经网络的输入层、隐
层和输出层中,分别称为输入节点、隐节点和输出节点输入节点负责接收和处理训练样本集中各输入变量值。输入节点的个数取决于输入变量的个数
隐节点负责实现非线性样本的线性变换,隐层的层数和节点个数可自行指定输出节点给出关于输出变量的分类预测结果,输出节点个数依具体问题而
定人工神经网络概述人工神经网络的种类:从连接方式角度划分根据层间连接方式,神经网络可分为前馈式神经网络:前馈式神经网络的节点连接是
单向的,上层节点的输出是下层节点的输入反馈式神经网络:除单向连接外,输出节点的输出又作为输入节点的输入层内连接方式是指神经网络同层
节点之间是否相互连接人工神经网络中的节点和意义节点:完整的节点由加法器和激活函数组成人工神经网络中的节点和意义节点接收的输入用向量
X表示,节点给出的输出用y表示,节点与上层连接的连接权重用向量W表示,节点的偏差用?表示,则第j个节点的加法器定义为:第j个节点的
激活函数定义为:人工神经网络中的节点和意义计算示例节点的意义对于分类问题,一个节点是一个分割两个类别的超平面对于回归问题,一个节点
是一个回归平面人工神经网络建立的一般步骤建立人工神经网络的一般步骤第一,数据准备输入变量的取值范围通常要求在0至1之间,否则输入变
量的不同数量级别将直接影响权重的确定、加法器的计算结果及最终的预测第二,网络结构的确定隐层的层数和每层隐节点个数决定了网络的复杂程
度对于隐节点的个数,目前尚没有权威的确定准则人工神经网络建立的一般步骤建立人工神经网络的一般步骤第三,确定连接权重第一步,初始化连
接权重向量W第二步,计算各处理单元的加法器和激活函数值,得到样本的预测值第三步,比较样本的预测值与实际值并计算预测误差,根据预测误
差值重新调整各连接权重重新返回到第二步,相应的计算和连接权重的调整将反复进行,直到满足迭代终止条件为止。至此,一组相对合理的连接权
重便被确定下来,超平面或回归平面也被确定下来感知机模型感知机模型:最基本的前馈式双层神经网络模型,仅由输入层和输出层构成。输出节点
只有一个只能实现二分类的预测和单个被解释变量的回归预测感知机的学习过程第一,开始时(即0时刻),初始化各个连接权重和输出节点的偏差
感知机模型第二,输入训练样本。t时刻,根据样本输入变量值x=(x1(t),x2(t),…xp(t))和连接权重,计算输出节点的输出
值为:第三,t时刻,根据输出节点j的期望值yj(t),计算输出节点j的期望值与输出值(或预测值)的误差第四,调整第i个输入节点和第
j个输出节点之间的连接权重和以及第j个输出节点的偏差:第五,判断是否满足迭代终止条件。如果满足,则算法终止,否则重新回到第二步,直
到满足终止条件为止。权重调整策略遵从delta规则,即权重的调整与误差及所连接的输入成正比感知机模型B-P反向传播网络B-P(Ba
ck Propagation)反向传播网络是一种典型的人工神经网络,是一种前馈式多层感知机模型B-P反向传播网络的主要特点:包含隐
层反向传播激活函数采用Sigmoid函数B-P反向传播网络B-P反向传播网络中隐层的作用实现非线性样本的线性化转化B-P反向传播网
络B-P反向传播网络中的反向传播:相对于正向传播正向传播:样本信息从输入层开始,由上至下逐层经隐节点计算处理,上层节点的输出为下层
节点的输入,最终样本信息被传播到输出层节点,得到预测结果。正向传播期间所有连接权重保持不变反向传播:B-P反向传播网络无法直接计算
隐节点的预测误差,它利用输出节点的预测误差来逐层估计隐节点的误差,即将输出节点的预测误差反方向逐层传播到上层隐节点,逐层调整连接权
重,直至输入节点和隐节点的权重全部得到调整为止,最终使网络输出值越来越逼近实际值B-P反向传播网络B-P反向传播网络中的Sigmo
id函数Sigmoid函数使节点的输出被限制在0~1范围内。对于回归问题,输出节点给出的是标准化处理后的预测值,只需还原处理即可;
对于分类问题,输出节点给出的是预测类别的概率值Sigmoid函数较好地体现了连接权重修正过程中模型从近似线性到非线性的渐进转变进程
Sigmoid函数不但具有非线性、单调特点,还具有无限次可微的特点,这使B-P反向传播网络能够采用梯度下降法调整连接权重B-P反向
传播算法连接权值确定方法的特点:采用梯度下降法,每个时刻都本着使损失函数减小最快的原则调整连接权重t时刻输出节点j的误差函数:损失
函数L是参数W的平滑非线性复杂函数,没有闭合形式的解。采用迭代方式,在误差函数L曲率的局部信息引导下,搜索局部最小值B-P反向传播
算法步骤:初始化:为参数向量W选取初始值W0第i次迭代,令:重复上步直到损失函数达到局部最小值多次重复启动,以避免局部而非全局最小
B-P连接权重W的调整连接权重调整的目标是使损失函数L达到最小。t时刻连接权重调整应沿着损失函数曲面下降最快的方向,即负梯度方向进
行令: ,称为第j个输出节点t时刻的局部梯度t时刻第l隐层的第j个节点的局部梯度定义为:有:B
-P反向传播网络中的学习率学习率?对神经网络的权重调整有较为明显的影响学习率?过大,连接权重改变量较大,可能导致网络工作的不稳定,
且当问题的解逼近误差最小点时可能会因震荡而永远达不到最小值的位置;学习率?过小,超平面逼近正确目标的进程可能会很漫长简单的误差函数
:E=w2+1B-P反向传播网络的R函数neuralnet包中的neuralnet函数neuralnet(输出变量~输入变量,da
ta=数据框名,hidden=1,threshold=0.01,stepmax=100000,eff.fac=误差函数名,line
ar.outpu=TURE,learningrate=学习率,algorithm=算法名)nnet包中的nnet函数nnet(输出
变量~输入变量,data=数据框名,size=隐节点个数,linout=FALSE/TREU,entropy=FALSE/TRUE
,maxit=100,abstol=0.0001)Neuralnet函数的应用示例neuralnet函数的应用:精准预测顾客的消费
行为建立神经网络模型评价输入变量的重要性:广义权重比较输入变量不同水平组合对输出变量的影响利用ROC曲线确定概率分割值ROC曲线:
接受者操作特性曲线,用于评价模型的分类性能,也是辅助确定概率分割值的有效工具TP/(TP+FN):TPR,称为敏感性(Sensi
tivity):TN/(FP+TN):TNR1-TNR:FPR,称为特异性(Specificity)TPR和TNR同时较大,FPR
较小,表明分类模型的分类精度较高利用ROC曲线确定概率分割值典型的ROC曲线的横坐标为FPR,纵坐标为TPR首先,将预测概率值按降
序排序然后,选择其中的几个典型值(或所有值)依次作为概率分割值?,并计算在各概率分割值?下,分类模型的当前累计TPR和FPR恰当的
概率分割值?应处于TPR较大且FPR较小,如2或3处。或TPR与FPR之比最大,如2处。利用ROC曲线确定概率分割值绘制ROC曲线的R函数计算TPR和FPRprediction(predictions=概率向量, labels=类别向量)performance(对象名,measure=缩写1,x.measure=缩写2)画图plot(对象名, colorize=FALSE/TRUE, print.cutoffs.at=c())
献花(0)
+1
(本文系大高老师首藏)