未来智库 > 神经网络论文 > BP神经网络学习方法浅谈
    关键词:人工智能;BP神经网络;梯度下降
    中图分类号:TP183
    “人脑究竟是怎么工作的?”“我们能够模拟人脑的人工神经元?”这些年,人们不断的努力尝试去解答这个问题,并通过各种技术方法来试图破解这个难题,在探索的过程中,BP神经网络出现了,作为一个多领域学科交叉的汇聚点,它收到极大的关注和青睐,每个学科的专家都从自己学科出发进行了深入的研究和探索,并且取得了很好的效果,BP神经网路在各个领域都得到了推广和实际应用。模式识别一个非常直观并且存在与我们身边的每个细节中的一个活动不管是我们出行选择路线还是对天气质量的感知抑或对食物味觉所作出的判断都可以成为模式识别的一个过程,不管是人还是动物,对于模式识别来说并不是难事,但是想让机器能够和人或者动物一样来进行学习、分类、感知则是一件很困难的过程,如何让机器能识别、分类,这就是我们要深入研究的一个问题,在模式识别中作为一个重点BP神经网络这门学科这些年取得了深入的研究和广泛的突破。
    BP网络在模拟人脑,达到自主学习功效的过程中被不断的完善和优化,并且渗透到各个领域。BP神经网络与其他网络不同,它不用解释和描述在数学方程中出现的映射关系,就能够自主的取学习和保存大规模的IN-OUT模式的映射关系。BP神经网络的学习采用了梯度下降法(也称之为最速下降法),在,作为比较古老的方法之一,这种方法在求解无约束优化问题上沿用了很长一段时间,尽管现在使用的较少,大它的很多算法都为后来的很多优秀算法提供了基础。
    梯度下降法的搜索方向是负的梯度方向,其步长越小,并且越能够接近目标,则前进的速度就会越慢。为使网络中的误差平方和达到最小,需要不断调整网络权值和阈值。BP神经网络的模型包含了几部分:输入层(input)、隐层(hide layer)和输出层(output layer)。在分布式的存储数据的过程中,我们使用BP网络中的权值来代表一定的信息,当某部分收到影响时,网络仍然能够恢复到原来的信息数据;在对数据信息进行处理的过程中,具有一定的并行性;在BP神经网络中,每一个独立的神经元都能够依据它多得到的数据信息做独立的分析、处理,处理以后的结果向外传递,这个过程中,数据和信息的处理都反映了自我组织和自我学习的特点,而神经元学习的过程也体现在其通过改变连接权值和阈值来主动的适应周围新的变化。
    L-M方法(Levenberg―Marquardt)LM方法是一种通过把所选择的正定矩阵添加到Hessian矩阵的方法,主要用来做评估工作,LM方法的工作过程实际上时去发现一个最小函数的参数向量。Levenberg―Marquardt作为最优化算法之一,被用在我们生活中的很多方面,并且得到了很快速的发展和优化。Levenberg―Marquardt依据倒数的方法通常被分为2个部分。在第一部分中,当F为解析函数,那么当我吗知道X后,在寻找导数的过程中,速度会得到明显的提升。在第二部分中,我们通过数值差分来计算我们需要的导数。L-M方法(Levenberg―Marquardt)依据模型,又分为主要的三种,分别是最小二乘的最优化、约束的最优化以及非约束的最优化。
    BP神经网络的原理:通常BP神经网络两层前馈神经网络,Sigmoid是其激励函数。BP神经网络的基本思想:通过梯度下降法,根据我们之前所期望的实际的输出与输出之间的平方误差值最小,我们从输出层开始,一层一层额来修正权系数。在修正的过程中,整个周期分为两个阶段:第一个阶段为前向传播阶段,第二个阶段为反向传播阶段。
    BP所采用S的函数,在输出的过程中一般不宜设为1或者0,我们可以将其可设置为0.9或者0.1。权系数的初始化过程为:不应该将初始值的设置的一样,否则容易在学习的过程中一直保持不变,我们可以将其设置为随机值。在步长的选择过程中:我们可以将其设置为可变的步长,用来防止震荡。在局部最小的问题中:BP神经网络的算法是属于非线性优化的算法,如果我们初始值设置的不合适的话,容易造成陷入局部极小的情况。前馈网络结构:输入节点数是模式的维数,输出节点数一般是类别的量,隐层节点的数量目前还没有明确的方法用来确定。
    通过实验我们利用BP神经网络对线性不可分的样本集进行了分类,通过分析分类实验后的实验结果我们可以看出:我们使用线性的不可分的数据样本集来对分类器进行训练:通过实验我么可以看出BP神经网络能够很好的适用这些数据样本集合,并且通过使用L-M优化算法,我们大大缩短了实验训练的时间,同时也很好的降低了迭代次数,相比较traingdm算法而言,我们使用BP神经网络所做的工作使得算法效率得到了很好的提高。整个BP神经网络实验如下:在BP神经网络中对之前的线性不可分数据样本集进行分类,我们得到了运行时间:Elapsed time is 1.417897 seconds。
    A=Columns 1 through 9
    1.0415 0.9667 0.9916 0.990 0.0319 0.650 0.048 -0.043 0.0519 1.0794 1.0450 1.0804 1.0389 1.0097 1.0512 1.0314 1.0329 1.0310
    A=Columns 10 through 12
    -0.0019 0.9765 0.2385
    0.9651 1.0132 1.0195
    MSE =0.0089实验截图如下:
    图1
    图2
    通过上述实验,我们能够看出,当我们所给的输入的样本矢量是属于线性不可分的的时候,所以我们利用train函数来针对输入矢量P建立的相应的BP训练网络。通过实验结果我们可以看出BP神经网络经过多次的实验,但是在每次的训练中都得到的了不同的实验结果,然而感知器与BP神经网络不同,感知器在训练的过程及结果中所训练的结果基本都能保持一定的稳定性。本文中实验训练的程序一共包含了三个输入层,隐层的节点数为9,我们将训练误差定义为0.01,将迭代次数的最高取值设置为100,我们所给出的目标误差和实际训练的到的结果收敛于左后程序中定义所给的误差,所以通过上述实验我们可以得到BP网络在经过训练之后,可以对线性不可分的网络进行分类。
    参考文献:
    [1]郭志强,蔡嵩.彩色遥感图像分类算法及M atlab实现[J].武汉理工大学学报,2006(01):108-112.
    [2]修丽娜,刘湘南.人工神经网络遥感分类方法研究现状及发展趋势探析[J].遥感技术与应用,2003(18).
    [3]戴永伟,雷志勇.BP网络学习算法研究及其图像模式识别应用[J].计算机与现代化,2006(11):6770.
    [4]廖克,成夕芳,吴健生.高分辨率卫星要干影像在土地利用变化动态监测中的应用[J].测绘科学,2006(06):1115.
    作者简介:罗丹(1980.10-),女,回族,新疆乌鲁木齐人,教师,讲师,硕士(在读博士),研究方向:模式识别、图像处理。
    作者单位:新疆农业职业技术学院,新疆昌吉 831100
转载请注明来源。原文地址:https://www.7428.cn/vipzj21115/
 与本篇相关的热门内容: