① BP神经网络
神经网络能很好地解决不同的机器学习问题。神经网络模型是许多逻辑单元按照不同层级组织起来的网络,每一层的输出变量都是下一层的输入变量。
上图显示了人工神经网络是一个分层模型,逻辑上可以分为三层:
输入层 :输入层接收特征向量 x
输出层 :输出层产出最终的预测 h
隐含层 :隐含层介于输入层与输出层之间,之所以称之为隐含层,是因为当中产生的值并不像输入层使用的样本矩阵 X或者输出层用到的标签矩阵 y 那样直接可见。
下面引入一些标记法来帮助描述模型:
!$ a^{(j)}_{i} $ 代表第j层的第i个激活单元。 !$ heta^{(j)} $ 代表从第 j 层映射到第 j+1 层时的权重的矩阵,例如 !$ heta^{(1)} $ 代表从第一层映射到第二层的权重的矩阵。其尺寸为:以第 j+1层的激活单元数量为行数,以第 j 层的激活单元数加一为列数的矩阵。例如:上图所示的神经网络中 !$ heta^{(1)} $ 的尺寸为 3*4。
对于上图所示的模型,激活单元和输出分别表达为:
!$ a^{(2)}_{1} = g( heta^{(1)}_{10}x_0 + heta^{(1)}_{11}x_1 + heta^{(1)}_{12}x_2 + heta^{(1)}_{13}x_3 ) $
!$a^{(2)}_{2} = g( heta^{(1)}_{20}x_0 + heta^{(1)}_{21}x_1 + heta^{(1)}_{22}x_2 + heta^{(1)}_{23}x_3 ) $
!$a^{(2)}_{3} = g( heta^{(1)}_{30}x_0 + heta^{(1)}_{31}x_1 + heta^{(1)}_{32}x_2 + heta^{(1)}_{33}x_3 ) $
!$h_{ heta}{(x)} = g( heta^{(2)}_{10}a^{2}_{0} + heta^{(2)}_{11}a^{2}_{1} + heta^{(2)}_{12}a^{2}_{2} + heta^{(2)}_{13}a^{2}_{3} ) $
下面用向量化的方法以上面的神经网络为例,试着计算第二层的值:
对于多类分类问题来说:
我们可将神经网络的分类定义为两种情况:二类分类和多类分类。
二类分类: !$ S_{L} = 0,y = 0,y = 1$
多类分类: !$ S_{L} = k, y_{i} = 1表示分到第i类;(k>2)$
在神经网络中,我们可以有很多输出变量,我们的 !$h_{ heta}{(x)} $ 是一个维度为K的向量,并且我们训练集中的因变量也是同样维度的一个向量,因此我们的代价函数会比逻辑回归更加复杂一些,为: !$ h_{ heta}{(x)} in R^{K}(h_{ heta}{(x)})_{i} = i^{th} output$
我们希望通过代价函数来观察算法预测的结果与真实情况的误差有多大,唯一不同的是,对于每一行特征,我们都会给出K个预测,基本上我们可以利用循环,对每一行特征都预测K个不同结果,然后在利用循环在K个预测中选择可能性最高的一个,将其与y中的实际数据进行比较。
正则化的那一项只是排除了每一层 !$ heta_0$ 后,每一层的 矩阵的和。最里层的循环j循环所有的行(由 +1 层的激活单元数决定),循环i则循环所有的列,由该层( !$ s_l$ 层)的激活单元数所决定。即: !$h_{ heta}{(x)}$ 与真实值之间的距离为每个样本-每个类输出的加和,对参数进行 regularization 的 bias 项处理所有参数的平方和。
由于神经网络允许多个隐含层,即各层的神经元都会产出预测,因此,就不能直接利用传统回归问题的梯度下降法来最小化 !$J( heta)$ ,而需要逐层考虑预测误差,并且逐层优化。为此,在多层神经网络中,使用反向传播算法(Backpropagation Algorithm)来优化预测,首先定义各层的预测误差为向量 !$ δ^{(l)} $
训练过程:
当我们对一个较为复杂的模型(例如神经网络)使用梯度下降算法时,可能会存在一些不容易察觉的错误,意味着,虽然代价看上去在不断减小,但最终的结果可能并不是最优解。
为了避免这样的问题,我们采取一种叫做梯度的数值检验( Numerical Gradient Checking )方法。这种方法的思想是通过估计梯度值来检验我们计算的导数值是否真的是我们要求的。
对梯度的估计采用的方法是在代价函数上沿着切线的方向选择离两个非常近的点然后计算两个点的平均值用以估计梯度。即对于某个特定的 ,我们计算出在 !$ heta - epsilon$ 处和 !$ heta + epsilon$ 的代价值(是一个非常小的值,通常选取 0.001),然后求两个代价的平均,用以估计在 !$ heta$ 处的代价值。
当 !$ heta$ 是一个向量时,我们则需要对偏导数进行检验。因为代价函数的偏导数检验只针对一个参数的改变进行检验,下面是一个只针对 !$ heta_1$ 进行检验的示例:
如果上式成立,则证明网络中BP算法有效,此时关闭梯度校验算法(因为梯度的近似计算效率很慢),继续网络的训练过程。
② BP人工神经网络方法
(一)方法原理
人工神经网络是由大量的类似人脑神经元的简单处理单元广泛地相互连接而成的复杂的网络系统。理论和实践表明,在信息处理方面,神经网络方法比传统模式识别方法更具有优势。人工神经元是神经网络的基本处理单元,其接收的信息为x1,x2,…,xn,而ωij表示第i个神经元到第j个神经元的连接强度或称权重。神经元的输入是接收信息X=(x1,x2,…,xn)与权重W={ωij}的点积,将输入与设定的某一阈值作比较,再经过某种神经元激活函数f的作用,便得到该神经元的输出Oi。常见的激活函数为Sigmoid型。人工神经元的输入与输出的关系为
地球物理勘探概论
式中:xi为第i个输入元素,即n维输入矢量X的第i个分量;ωi为第i个输入与处理单元间的互联权重;θ为处理单元的内部阈值;y为处理单元的输出。
常用的人工神经网络是BP网络,它由输入层、隐含层和输出层三部分组成。BP算法是一种有监督的模式识别方法,包括学习和识别两部分,其中学习过程又可分为正向传播和反向传播两部分。正向传播开始时,对所有的连接权值置随机数作为初值,选取模式集的任一模式作为输入,转向隐含层处理,并在输出层得到该模式对应的输出值。每一层神经元状态只影响下一层神经元状态。此时,输出值一般与期望值存在较大的误差,需要通过误差反向传递过程,计算模式的各层神经元权值的变化量
(二)BP神经网络计算步骤
(1)初始化连接权值和阈值为一小的随机值,即W(0)=任意值,θ(0)=任意值。
(2)输入一个样本X。
(3)正向传播,计算实际输出,即根据输入样本值、互联权值和阈值,计算样本的实际输出。其中输入层的输出等于输入样本值,隐含层和输出层的输入为
地球物理勘探概论
输出为
地球物理勘探概论
式中:f为阈值逻辑函数,一般取Sigmoid函数,即
地球物理勘探概论
式中:θj表示阈值或偏置;θ0的作用是调节Sigmoid函数的形状。较小的θ0将使Sigmoid函数逼近于阈值逻辑单元的特征,较大的θ0将导致Sigmoid函数变平缓,一般取θ0=1。
(4)计算实际输出与理想输出的误差
地球物理勘探概论
式中:tpk为理想输出;Opk为实际输出;p为样本号;k为输出节点号。
(5)误差反向传播,修改权值
地球物理勘探概论
式中:
地球物理勘探概论
地球物理勘探概论
(6)判断收敛。若误差小于给定值,则结束,否则转向步骤(2)。
(三)塔北雅克拉地区BP神经网络预测实例
以塔北雅克拉地区S4井为已知样本,取氧化还原电位,放射性元素Rn、Th、Tc、U、K和地震反射
S4井位于测区西南部5线25点,是区内唯一已知井。该井在5390.6m的侏罗系地层获得40.6m厚的油气层,在5482m深的震旦系地层中获58m厚的油气层。取S4井周围9个点,即4~6线的23~25 点作为已知油气的训练样本;由于区内没有未见油的钻井,只好根据地质资料分析,选取14~16线的55~57点作为非油气的训练样本。BP网络学习迭代17174次,总误差为0.0001,学习效果相当满意。以学习后的网络进行识别,得出结果如图6-2-4所示。
图6-2-4 塔北雅克拉地区BP神经网络聚类结果
(据刘天佑等,1997)
由图6-2-4可见,由预测值大于0.9可得5个大封闭圈远景区,其中测区南部①号远景区对应着已知油井S4井;②、③号油气远景区位于地震勘探所查明的托库1、2号构造,该两个构造位于沙雅隆起的东段,其西段即为1984年钻遇高产油气流的Sch2井,应是含油气性好的远景区;④、⑤号远景区位于大涝坝构造,是yh油田的组成部分。
③ bp神经网络如何用于预测
x(n+1)=F(x(n)+x(n-1)+.......x(n-1));由已知数判尘衡据预测下一个数据这是掘做单步预测兄正。
④ 什么是BP神经网络
BP算法的基本思想是:学习过程由信号正向传播与误差的反向回传两个部分组成;正向传播时,输入样本从输入层传入,经各隐层依次逐层处理,传向输出层,若输出层输出与期望不符,则将误差作为调整信号逐层反向回传,对神经元之间的连接权矩阵做出处理,使误差减小。经反复学习,最终使误差减小到可接受的范围。具体步骤如下:
1、从训练集中取出某一样本,把信息输入网络中。
2、通过各节点间的连接情况正向逐层处理后,得到神经网络的实际输出。
3、计算网络实际输出与期望输出的误差。
4、将误差逐层反向回传至之前各层,并按一定原则将误差信号加载到连接权值上,使整个神经网络的连接权值向误差减小的方向转化。
5、対训练集中每一个输入—输出样本对重复以上步骤,直到整个训练样本集的误差减小到符合要求为止。
⑤ 求助:用神经网络做一个数据预测
下列代码为BP神经网络预测37-56周的销售量的代码:
% x为原始序列
load 销售量.mat
data=C
x=data';
t=1:length(x);
lag=2;
fn=length(t);
[f_out,iinput]=BP(x,lag,fn);
%预测年份或某一时间段
t1=fn:fn+20;
n=length(t1);
t1=length(x)+1:length(x)+n;
%预测步数为fn
fn=length(t1);
[f_out,iinput]=BP(x,lag,fn);
P=vpa(f_out,5);
[t1' P']
% 画出预测图
figure(6),plot(t,x,'b*-'),hold on
plot(t(end):t1(end),[iinput(end),f_out],'rp-'模胡),grid on
xlabel('周数'),ylabel('销售量');
str=['BP神经网络预测',num2str(length(x)+1),'-',num2str(length(x)+20),'喊码扮周的销售量'];
title(str)
str1=['1-',num2str(length(x)),'周的销售量'];
str2=[num2str(length(x)+1),'-',num2str(length(x)+20),'周的预测销郑灶售量'];
legend(str1,str2)
运行结果
⑥ ofo用人工智能进行单车调度
日前,ofo宣布将谷歌TensorFlow人工智能系统和卷积神经网络技术应用于出行需求预测,进而更好地布放单车,让用户随时随地有车可骑。
通过对热力图进行网格化分析,就可以提取不同时段同一区域或者同一时段不同区域的图像相关性特征,进而精准预测下一个时段某一区域内会出现的需求数,从而为运营调度提供更好的决策。
⑦ bp神经网络的缺点
1)局部极小化问题:从数学角度看,传统的BP神经网络为一种局部搜索的优化方法,它要解决的是一个复杂非线性化问题,网络的权值是通过沿局部改善的方向逐渐进行调整的,这样会使算法陷入局部极值,权值收敛到局部极小点,从而导致网络训练失败。加上BP神经网络对初始网络权重非常敏感,以不同的权重初始化网络,其往往会收敛于不同的局部极小,这也是很多学者每次训练得到不同结果的根本原因。
2)BP神经网络算法的收敛速度慢:由于BP神经网络算法本质上为梯度下降法,它所要优化的目标函数是非常复杂的,因此,必然会出现“锯齿形现象”,这使得BP算法低效;又由于优化的目标函数很复杂,它必然会在神经元输出接近0或1的情况下,出现一些平坦区,在这些区域内,权值误差改变很小,使训练过程几乎停顿。
3)BP神经网络结构选择不一:BP神经网络结构的选择至今尚无一种统一而完整的理论指导,一般只能由经验选定。网络结构选择过大,训练中效率不高,可能出现过拟合现象,造成网络性能低,容错性下降,若选择过小,则又会造成网络可能不收敛。而网络的结构直接影响银盯网络的逼近能力及推广性质。因此,应用中如何选择合适的网络结构是一个重要的问题。
4)应用实例与网络规模的矛盾问题:BP神经网络难以解决应用问题的实例规模和网络规模间的矛盾问题,其涉及兆搏帆到网络容量的可能性与可行性的关系问题,即学习复杂性问题。
5)BP神经网族雹络预测能力和训练能力的矛盾问题:预测能力也称泛化能力或者推广能力,而训练能力也称逼近能力或者学习能力。一般情况下,训练能力差时,预测能力也差。
⑧ 方法评述
1.计算方法的对比
在MRAGIS系统中,计算方法按评价目标分为两个系列,一是空间位置的评价预测,二是资源量预测,分别对应了两种计算方法。无论是空间位置预测还是资源量评估,都应当使用两种方法进行计算,其原因是:
(1)“证据权”法依靠数据驱动,并无人为因素加入,但避免不了现实存在的假象;
(2)当进行资源空间位置评价预测时,“BP神经网络”法将知识(人为因素)放置于重要地位,主要体现在样本数据的组织上。倘若地质观点不同,势必影响计算结果。
(3)“多元信息统计回归”法的计算结果取决于地质条件对矿产资源量的贡献,这也是由人为因素决定的。理论上讲,地质条件对矿产资源量的贡献大小应当按不同矿种、不同成因类型分别设置,但如果按成因类型计算,由于本次收集的已知储量矿产地太少,根本无法满足多元信息统计回归法的使用条件。所以,将地质条件对成矿贡献大小的分值作统一设置。“BP神经网络”法在考虑地质条件对资源量的影响程度上是不受人为影响,而且在组织样本数据时,只要矿床已知储量准确、客观,就可避免人为因素干扰。
鉴于上述原因,应用MRAGIS系统进行矿产资源空间位置评价预测时.“证据权”法与“BP神经网络”法相结合,“多元信息统计回归”法与“BP神经网络”法组合来进行资源量的评估,这样才能使得计算结果更加准确、可靠。
2.计算结果评述
(1)空间位置评价预测。从“证据权”法和“BP神经网络”法计算的结果来看梁闹碰,前者一、二级的后验概率比较集中,较好地反映了整个皖南地区的成矿概率;后者一、二级的成矿有利度分布大致与后验概率相近,只是在部分一、二级区域中,两者在局部范围的分布位置有所区别,个别部位的级别相差一个档次,但总的趋势是一致的。
图6-5-10 安徽东南地区钨、金资源成矿远景区分布示意图
值得一提的是,在评价区中部(西区)两者计算结果有所差异,“BP神经网络”法计算的成矿有利度,无论从范围还是强度来看,都较“证据权”法的后验概率大而高,尤其是铅锌银矿。从地质角度来说,在皖赣交界安徽一侧,呈近东西向排列的许多岩体、小岩珠,以此为界,两侧的地质环境(条件)非常相似。现已知江西一侧出现金、银、钨等多处矿产,按类比法,安徽一侧也应具备类似的矿产。因此,“BP神经网络”法计算的成矿有利度在评价区中部的这种分布情况更符合类比结论,预示着此区域存在铅锌、银等多金属矿产。
(2)资源量评估。使用“多元信息统计回归”法和“BP神经网络”法计算获得的资源量分布比较一致,且按成矿远景区(Ⅳ级)统计结果来看,两者相差不大。但是,就资源量数值的大小来看,弯闷两者还是存在一定的差异。主要有以下几个方面的原因:①计算方法不同。“多元信息统计回归”法采用的是用某一种方程来代表地质条件与成矿的关系;而“BP神经网络”法则是模拟生物神经元,通过各神经元之间的连接权和阈值将输入层(地质变量)与输出层(矿产资源量)联系起来,而不是用具体方程表征它们的关系。②赋值的方式不同。“多元信息统计回归”法是将地质条件对矿产资源量的贡献采用固定的“分值”;“BP神经网络”法则是使用“样本”数据的形式,各个地质条件对资源量数值的影响都包含在这些样本数据中。③变量对资源量的贡献方式不同。“多元信息统计回归”法以固定分值决定地质变量对资源量的影响度,完全是专家系统的方式;“BP神经网络”法是依据参与计算的各图层中含矿面积与该图层总面积之比决定该变量的权值,没有人为因素的影响。例如,在“多元信息统计回归”中,地质构造的分值定为“2”。当某一区域其他地质条件缺失或较少时,构造对资源量的影响度就会较大,明显地影响到资源量,使其呈线状分布。
3.讨论
从计算方法对比结论已看出,评价计算不能采用单一的方法,应两种或两种以上方法同时进行,便于对比、互补,提高评价预测的准确性和可靠性,这在以往资源评价中往往容易被忽视。
(1)橡谈“BP神经网络”法是模拟生物神经单元来解决自然界许多非简单函数、方程所能解决问题(如成矿与地质条件之间的关系,不能用一个或一组方程来加以描述),它的应用前提必须满足,即样本数据的“代表性”和“合理性”,否则难以保证网络模拟出的结果符合实际情况。在矿产资源GIS评价预测中,网络的学习样本应当由工作经验丰富,对评价目标区地质矿产情况非常熟悉的地质矿产专家来组织,否则,轻者使网络训练发散,重者造成计算结果无法使用。这一点须特别注意。
(2)对于矿产资源量的评估来说,无论采用何种数学方法,它都是一种“评估”,只能作为参考,而且,数学方法不同,计算的结果必定存在差异。本次资源量的预测采用了多元信息统计回归法和BP神经网络法。前者是使用一种函数方程进行回归拟合,当已知储量与计算资源量之间的拟合误差达到给定值后,则认为矿产资源量与成矿条件满足回归方程的关系;后者是通过给定学习样本,经网络训练来确定神经元之间的连接参数和阈值,进而对整个评价区进行资源量的评估计算。这两种方法都需要已知矿床储量的支持。一般来说,已知储量的矿床越多,分布越均匀,则计算结果越可靠。从图6-5-8、6-5-9中可看出,两者的分布趋势相近,但数值存在差异,一般是多元信息统计回归法计算的值较BP神经网络为大。经分析认为,多元信息统计回归法因采用回归方程拟合,当参与计算的地质变量分值高于已知(最高)储量的分值时,根据回归方程的趋势将会获得高于已知最高储量的数值。而BP神经网络则是模拟生物神经元对外界感知的原理来进行资源量计算,不存在上述情况,因此,其计算结果主要取决于样本数据的组织。
一般说来,V级远景区资源量的计算结果较Ⅳ级预测区更为精确,这是由于V级区面积范围小,已知矿床(点)大部分集中于该区内,尤其是BP神经网络的样本数据大都取自这一级远景区,保证了这些区的资源量“拟合”精度更高。
(3)无论采用何种计算方法,其结果必须结合区域成矿规律和地质背景加以分析,尤其是在划定成矿远景区、找矿靶区时,不能一味的按照计算结果进行,这样很可能被一些假象值所蒙蔽,造成错误的结论。
⑨ 神经网络预测原理!
Back Propagation BP (Back Propagation)神经网络,即误差反传误差反向传播算法的学习过程,由信息的正向传播和误差的亮差反向传播两个敬扒过程组成。输入层各神经元负责接收来自外界的输入信息,并传递给中间层各神经元;中间层是内部信息处理层,负责信息变换,根据信息变化能力的敬稿皮需求,中间层(隐含层)可以设计为单隐层或者多隐层结构;最后一个隐层传递到输出层各神经元的信息,经进一步处理后,完成一次学习的正向传播处理过程,由输出层向外界输出信息处理结果。神经网络很多种,BP神经网络最常用。