文档库 最新最全的文档下载
当前位置:文档库 › 粒子群优化神经网络电动汽车SOC估算方法_王业琴

粒子群优化神经网络电动汽车SOC估算方法_王业琴

粒子群优化神经网络电动汽车SOC估算方法_王业琴
粒子群优化神经网络电动汽车SOC估算方法_王业琴

收稿日期:2012-11-07

基金项目:淮安市科技支撑计划项目(HAG09039)作者简介:王业琴(1980—),女,黑龙江省人,讲师,博士,主要研究方向为智能控制、电动汽车、图像处理与模式识别。

粒子群优化神经网络电动汽车SOC估算方法

王业琴1,2,刘一星2

(1.东北林业大学,黑龙江哈尔滨150040;2.淮阴工学院,江苏淮安223001)

摘要:为了解决纯电动汽车电池剩余电量估算难题,采用粒子群优化神经网络方法,用于BP(BackPropagation,BP)神经网络权值和阈值优化,并把优化后的神经网络用于荷电状态(SOC)离散估算。以100AhLiFePO4电池作为实验对象采集实验数据,将温度、充放电倍率和充放电电压作为PSO-BP(ParticleSwarmOptimization,PSO)神经网络输入特征向量,将电池SOC作为输出向量进行网络学习和训练,用训练好的网络对不同充放电倍率下SOC进行离散点预测,采用插值估算实现实时预测。实验结果表明,PSO-BP算法对SOC值为20%~80%区间估算准确,能够满足电动汽车正常运行的SOC估算要求。

关键词:电动汽车;SOC;粒子群;神经网络中图分类号:TM933

文献标识码:A

文章编号:1002-087X(2013)05-0800-04

SOC estimation of electric vehicle based on particle swarm optimization

neural network

WANG Ye-qin 1,2,LIU Yi-xing 1

(1.North-East Forestry University,Harbin Heilongjiang 150040,China;2.Huaiyin Institute of Technology,Huai'an Jiangsu 223001,China)

Abstract:TosolvetheproblemofestimatingSOC(stateofcharge)ofpureEV,aneuralnetworkmethodbasedonquantum-behavedparticleswarmoptimizationwasusedtooptimizeBP(backpropagation,BP)networkvaluesandthresholds,andthentheoptimizedneuralnetworkwasusedforSOCdiscreteestimate.100AhLiFePO4batterywasstudiedasthesubject,takingthetemperature,charge-dischargerateandcharge-dischargevoltageasPSO-BP(Particleswarmoptimization)neuralnetworkinputeigenvectors,withbatterySOCasoutputvectortoperformnetlearningandtraining.Thetrainednetandinterpolationmethodwasusedtoreal-timepredictSOCdiscretepointsindifferentcharge-dischargerates.

TheresultsshowthatPSO-BPalgorithmcanaccuratelyestimateSOCvalue

between20%and80%,andmeettherequirementstoestimateSOCofpureEV.Keywords:electriccar;SOC;particleswarms;neuralnetwork动力电池是电动汽车的储能动力源,是影响电动汽车续驶里程和行驶性能的主要因素。电动汽车荷电状态(SOC )是反映蓄电池能量的重要参数,SOC 估计的传统方法主要集中在放电法、

开路电压法、安时法和卡尔曼滤波法,由于传感器精度和电磁干扰等引起的电池状态监测不准确和电池本身的不一致性使得传统方法存在缺陷,很难达到实际应用的要求。

SOC 作为蓄电池的内特性不能直接进行测量,只能通过对电压、电流、温度等一些直接测量的外特性参数估算获得。然而上述参数与SOC 的关系表现出强烈的非线性,从而使具有很强自学习和非线性拟合能力神经网络在SOC 估算中得到了广泛应用。文献[1]利用三层BP 神经网络进行SOC 估算,将放电倍率和电压作为输入特征量,预测精度达到5%。文献[2]利用径向基神经网络进行SOC 估算考虑到了电池时变特性,使动力电池变流放电状态SOC 辨识精度明显提高。文献

[3]将广义生长剪枝径向基函数神经网络方法用于判断电动车蓄电池的荷电状态,研究表明,可以通过蓄电池的工作电压、工作电流和表面温度参数估计蓄电池的荷电状态实时值。人工神经网络方法优点是适合任何电池SOC 估算,

但传统的算法容易陷入极小值,训练和学习时间长,很难满足实时性要求。为了解决神经网络存在的弊端,本文提出采用粒子群优化神经网络方法,进行电动汽车电池SOC 估算。

1PSO-BP神经网络

由于电池是一个非线性系统,对电池的充电和放电过程建立准确的数学模型难度较大,而人工神经元网络能较好的反映非线性的基本特性,兼具并行结构和训练能力,在有外部激励时,能给出相应的输出,因此能够在一定程度上模拟电池的动态特性,进而估算电池SOC 。BP 算法是以网络误差平方和为目标函数,按梯度法求目标函数达到最小值的算法。由于其理论依据坚实,通用性好,至今仍然是前向网络学习的主要算法,但在应用过程中发现BP 算法存在本质缺点:收敛速度慢、网络容错能力差、容易陷入局部极小,为了解决此问题,本

文尝试采用粒子群算法优化BP 神经网络权值和阈值,利用PSO-BP 神经网络方法进行电池SOC 估计。

1.1PSO算法

与其它智能算法相比,粒子群优化算法(PSO)的优势在于算法简洁、易于实现,没有很多参数需要调整,且不需要梯度信息。粒子群算法由于它的计算快速性和算法本身的易实现,可以用它来优化神经网络的连接权值和阈值,不仅能发挥神经网络的泛化能力,而且能够提高神经网络的收敛速度。

PSO 算法在优化过程中每个粒子记忆、追随当前的最优粒子,在解空间中进行搜索。设在D 维搜索空间中,有m 个粒子组成一个群体,其中第i 个粒子的位置和速度表示为向量

x i =(x i 1,x i 2…x iD ),i =1,2,3…m ;v i =(v i 1,v i 2,v i 3…v iD );第i 个粒子迄今为止搜索到的最优位置为p i =(p i 1,p i 2…p iD );整个粒子群搜索到

的最优位置为p g =(p g 1,p g 2…p gD )。粒子更新公式为:

(1)(2)式中:

d 是搜索空间维数,1≤d ≤D ;t 是迭代次数;r 1、r 2是[0,1]之间的随机数,用来保持群体多样性;c 1、c 2是学习因子,为非

负常数,取值[0,4]之间,调整学习因子,可以减少局部最小值

的困扰。在每一次迭代过程中,粒子通过跟踪个体极值p id 和全

局极值p gd 来更新自己的位置和速度,当达到中止条件时,将当前的全局最优解作为该问题的最优解。速度v 设置最大最小值,保证搜索充分,而且不跳过最好解。

为了改善基本粒子群算法的收敛能力,引入惯性权重w ,

起到权衡局部最优能力和全局最优能力作用,通常是按照公式(3)随时间线性减少的函数,经验值一般在[0.4,1.2]。

(3)式中:

t max 是最大迭代次数;t 为当前迭代次数;w max 是惯性权重最大值;

w min 是惯性权重最小值。1.2PSO-BP算法

PSO-BP 算法,即利用粒子群算法调整BP 网络的权值和阈值。将BP 网络的权值和阈值作为粒子群算法的最优解,将BP 网络的均方误差作为粒子群算法的适应度函数,以此作为粒子群算法更新的判断依据。基本BP 网络的权值和阈值调整公式为:

(4)(5)(6)(7)式中:w ji (t )和w ji (t +1)分别是前后两次训练时输入节点i 与隐节点j 的连接权值;w kj (t )和w kj (t +1)分别是前后两次训练时隐节点j 与输出层节点k 的连接权值;H j 为隐层节点的输出;I i 为输入节点i 输入的信号;θk (t )和θj (t )分别是输出节点k 和隐层节点j 的阈值,a 和b 分别是学习参数,δk 和σj 分别是输出节点k 和隐层节点j 的误差信号。

基于改进粒子群优化算法的BP 网络算法的流程[4]:(1)初始化粒子群,设置粒子位置、速度和粒子数,个体极值和全局

极值,最大迭代次数等;(2)根据输入、输出,确定神经网络结构;(3)计算神经网络的均方误差,并将网络输出误差作为粒子的适应度函数值;(4)粒子个体极值更新,对于每个粒子,将其适应度值与粒子个体极值p best 比较,

如果较好,则将其作为当前最好位置p i ;(5)全局最优极值更新,将每个粒子的适应度函数值与全局极值g best 比较,如果较好,则赋值给g best ;(6)速度更新,按照式(1~3)更新粒子速度和位置;(7)判断算法是否结束,如果满足停止迭代条件,则退出并返回最优个体,此时p g 即为网络的权值和阈值,如果不满足结束条件,则跳转到步骤(3)。

2实验与分析

2.1获取实验数据

磷酸铁锂电池因其具有高比能量、比功率和充放电效率,

而且安全环保,成为电动汽车动力源的首选。本文以100Ah

LiFePO 4电池作为实验对象,参照中国汽车行业标准

QC/T743-2006对磷酸铁锂电池展开试验。本文在0.2C 、0.5

C 、1.0C 、1.5C 、2.0C 、2.5C 、3.0C 、3.5C 不同充放电倍率下,

由Arbin 测试仪在电池充放电过程间隔1s 实时采集电池充

放电电压与放电容量值,本文给出放电曲线及数据,图1是

0.5C 、

1.0C 、

2.0C 放电电压与容量关系曲线。从图1可以明显看出SOC 在5%~90%区间,放电电压随

SOC 变化平缓且呈线性关系,其他区间放电电压变化相对剧烈,两者关系呈非线性。在车辆行驶过程中SOC 是防止动力电池过充和过放的主要依据,过充电和过放电都可能对电池造成永久性的损害,严重减少电池的使用寿命。实际使用中,

整车控制策略一般将SOC 控制在20%~80%范围内,防止对电池过充电和过放电。本文在不同放电倍率下实时采集SOC 与充放电电压,间隔10%绘制了20%~80%放电情况关系曲

线,如图2所示。2.2PSO-BP组合预测实验

随着电动汽车行驶时间以及环境温度变化,使得电池的

SOC 与其工作过程中温度密切相关,结合图1和2,可以将SOC 看成是放电电压V 、放电倍率C 和温度T 的函数,即:SOC =f (V ,C ,T )。

为了解决神经网络实时预测需要大量实验数据,学习和训练速度慢问题,本文对SOC 进行离散预测,选用三层BP 神经网络,输入节点数为3,输出节点数为8,即对应着SOC 为

??áá??(1)()()()á??á?á???á?v t v t c r p x t c r p x t ???????? (1)()(1)á?á?á?

x t x t v t ????á??á??

á??á??t t ?????? (1)()á?á?

á?w t w t I ?????(1)()á?á?

á?w t w t H ?????(1)()ááát t ???????(1)()ááá

t t ??????? 3.63.43.23.02.82.6

2.42.2

2.0

1.8

?10

100.5 C 110

907050

30

2.0 C

1.0 C

U /V

Q /Ah

图10.5C、1.0C、2.0C放电电压与容量关系

20%、30%、40%、50%、60%、70%、80%进行预测,隐层节点数根据经验公式(8)计算:

(8)

式中:n =3为输入节点数;m =8为输出节点数;a 为1~10的

整数;

l 范围为4~13,本文确定隐层节点数l =7。隐层神经元传递函数为tansig ,

输出层神经元的传递函数为logsig ,训练函数采用trainlm 。本文采用的BP 神经网络结构为3-7-8。故权值数为3×7+7×8=77,

阈值数为7+8=15,粒子维数为77+15=92,初始群体规模设置为40个,本文取w max =0.9,w min =0.4,最大迭代次数t max =100,c 1=2.8,c 2=1.3。图3给出BP 、PSO-BP 神经网络训练误差曲线,可见优化后的PSO-BP 神经网络训练曲线光滑,有效解决了BP 网络的局部最小问题,而且训练误差显著降低,训练步数也大幅减小。网络输出结果实

现对SOC 离散点的预测,鉴于线性关系,差值估算出整个工

作范围SOC ,

图4是不同放电倍率下,SOC 实测值与预测值曲线,从图4,可知20%~80%预测值与实测值重合度很高,而

SOC 预测曲线出现偏差的情况,恰恰不在正常SOC 估计范围内。

3结论

本文采用PSO 优化算法与BP 算法相结合进行电动汽车电池SOC 估计,参照中国汽车行业标准QC/T743-2006对磷酸铁锂电池展开试验,由Arbin 测试仪采集实验样本,研究结果表明,PSO-BP 网络模型收敛速度快,有效避免BP 网络陷入局部最小问题,该方法能够实现在20%~80%SOC 范围准确估计,分析误差原因与LiFePO 4电池的本身滞回特性有关,后续可以考虑分段采样,提高预测精度,同时该方法也可以推广

3.353.303.253.203.153.103.053.002.952.902.850

3

6

9

12

15

18

á??????????????è??é??

á??? U /V

t /s (a)2.0 C

(b)2.5 C

3.353.303.253.203.153.103.053.002.952.902.852.80

3

6

9

12

15

18

á??????????????è??é??á??? U /V

t /s (c)3.0 C

0 3 6

9

12 15 18

á??????????????è??é??

á??? U /V

t /s 3.203.153.103.053.002.95 2.902.852.802.752.70

(d)3.5 C

3

6

9 12 15

18

á??????????????è??é??

á??? U /V

t /s 3.20

3.153.103.053.002.952.902.852.802.75 2.70

图2不同SOC状态脉冲放电电压变化曲线

0 200

400 600 800

1 000

10

á

10

á?

10

á?

(a)BP

0 2

4 6

8 10 12 14 16 18 20 22

10

á

10

á?á

10á?

10

á??

(b)PSO-BP

图3

神经网络训练曲线

3 8003 6003 400

3 200

3 0002 8002 600

2 4002 200 2 0001 800

100 90 80 70 60 50 40 30 20 10 0

U /V

SOC /%

á??áá?á??á?????áá????á?????áá???

?á??

图4常温下不同放电倍率预测曲线

应用到其他预测问题,后续将考虑工况,循环寿命等因素,丰富输入特征量,不断优化算法,使研究结果更具有扩展性。参考文献:

[1]齐智,吴锋.利用人工神经网络预测电池SOC的研究[J].电源技

术,2005,29(5):325-328.[2]罗玉涛,张保觉.基于神经网络的动力电池组SOC辨识方法[J].

电源技术,2007,31(11):914-917.

[3]雷肖,陈清泉,刘开培,等.电动车电池SOC估计的径向基函数神

经网络方法[J].电工技术学报,2008,23(5):81-86.

[4]任伟建,陶琳.基于粒子群算法的抽油机故障诊断研究[J].系统仿

真学报,2012,24(2):1-7.

D m=7.5%,可粗略认为这个质量差对应LFP-11中的碳含量。

如图6(a)所示,700℃热处理后,LFP-9颗粒之间相互连接,这是由于颗粒表面PEG被洗掉,没有PEG保护的颗粒在高温热处理下会团聚在一起,导致颗粒变大,首次放电容量降低。LFP-9在0.1C下首次放电比容量为94.6mAh/g,相对于热处理前的LFP-5,尽管首次放电容量减小,但循环稳定性提高了很多,循环30次后充放电容量基本无衰减,这主要归结于热处理后的LFP-9具有更完整的晶型,晶胞参数更接近标准值(表2)。未经洗涤直接热处理后的LFP-11形貌与LFP-5十分相似,颗粒无明显团聚和长大现象,说明包覆于颗粒表面的PEG在热处理过程中原位分解生成碳,做为隔离层阻止了磷酸铁锂颗粒的团聚,同时提高了充放电容量。在0.1C下,LFP-11相较于LFP-9在3.4V的放电电压平台更为明显,放

电比容量为114.7mAh/g,循环30次后容量保持率和库仑效率均接近100%,说明热处理有利于提高材料的循环稳定性。

实验进一步测试了LFP-9和LFP-11的倍率性能,如图7所示,在0.1C、0.2C、0.5C、1.0C下,LFP-11的首次放电比容量分别为114.7、103.4、87.5、64.2mAh/g,比LFP-9具有更高的充放电容量和更好的倍率性能。扫描电镜证实LFP-11保持了LFP-5的基本形貌,在PEG和VC的共同作用下产物形貌规则,分散性好,部分存在的中空结构有利于锂离子传输,提高了离子导电性;另一方面溶剂热后残留的PEG经热解原位生成碳均匀包覆于颗粒表面,可能会增加电导率,降低电化学反应极化,提高样品的电化学性能。3结论

本文采用溶剂热法合成磷酸铁锂,并将其应用于锂离子电池正极材料。在PEG与水的体系中加入VC,通过VC与PEG协同作用制备具有良好晶型的纯相磷酸铁锂,VC含量的改变对材料形貌和放电容量具有重要影响。含PEG残留的样品经高温热处理后,包覆于颗粒表面的PEG会原位生成碳,易于实现碳的均匀包覆,进一步提高充放电可逆容量和倍率性能。

参考文献:

[1]ELLIS B,KAN W H,MAKAHNOUK W R M,et al.Synthesis of

nanocrystals and morphology control of hydrothermally prepared LiFePO4[J].J Mater Chem,2007,17(30):3248-3254.

[2]NI J,MORISHITA M,KAWABE Y,et al.Hydrothermal preparation

of LiFePO4nanocrystals mediated by organic acid[J].J Power Sour-ces,2010,195(9):2877-2882.

[3]TAJIMI S,IKEDA Y,UEMATSU K,et al.Enhanced electrochemi-

cal performance of LiFePO4prepared by hydrothermal reaction[J].

Solid State Ionics,2004,175(1/4):287-290.

[4]YANG S,ZHOU X,ZHANG J,et al.Morphology-controlled solvo-

thermal synthesis of LiFePO4as a cathode material for lithium-ion batteries[J].J Mater Chem,2010,20:8086-8091.

[5]庄大高,赵新兵,曹高劭,等.水热法合成LiFePO4的形貌和反应

机理[J].中国有色金属学报,2005,15(12):2034-2039.

[6]LU Z,CHEN H,ROBERT R,et al.Citric acid-and ammonium-

mediated morphological transformations of olivine LiFePO4particles [J].Chem Mater,2011,23(11):2848-2859.

[7]DOKKO K,SHIRAISHI K,KANAMURA K.Identification of sur-

face impurities on LiFePO4particles prepared by a hydrothermal process[J].J Electrochem Soc,2005,152(11):A2199-A2202.

图6LFP-9和LFP-11的扫描电镜(a)和(b),首次放电曲线(c)

和循环性能(d)图7LFP-9和LFP-11的倍率性能

!!!!!!!!!!!! (上接第746页)

粒子群算法的研究现状及其应用

智能控制技术 课程论文 中文题目: 粒子群算法的研究现状及其应用姓名学号: 指导教师: 年级与专业: 所在学院: XXXX年XX月XX日

1 研究的背景 优化问题是一个古老的问题,可以将其定义为:在满足一定约束条件下,寻找一组参数值,使系统的某些性能指标达到最大值或最小值。在我们的日常生活中,我们常常需要解决优化问题,在一定的范围内使我们追求的目标得到最大化。为了解决我们遇到的最优化问题,科学家,们进行了不懈的努力,发展了诸如牛顿法、共轭梯度法等诸多优化算法,大大推动了优化问题的发展,但由于这些算法的低运行效率,使得在计算复杂度、收敛性等方面都无法满足实际的生产需要。 对此,受达尔文进化论的影响,一批新的智能优化算法相继被提出。粒子群算法(PSO )就是其中的一项优化技术。1995 年Eberhart 博士和Kennedy 博士[1]-[3]通过研究鸟群捕食的行为后,提出了粒子群算法。设想有一群鸟在随机搜索食物,而在这个区域里只有一块食物,所有的鸟都不知道食物在哪里。那么找到食物最简单有效的办法就是鸟群协同搜寻,鸟群中的每只鸟负责离其最近的周围区域。 粒子群算法是一种基于群体的优化工具,尤其适用于复杂和非线性问题。系统初始化为一组随机解,通过迭代搜寻最优值,通过采用种群的方式组织搜索,同时搜索空间内的多个区域,所以特别适合大规模并行计算,具有较高的效率和简单、易操作的特性。 目前使用的粒子群算法的数学描述[3]为:设粒子的寻优空间是m 维的,粒子的数目为ps ,算法的最大寻优次数为Iter 。第i 个粒子的飞行速度为T i i1i2im v [v v ]= ,,,v ,位置为T i i1i2im x [x x x ]= ,,,,粒子的个体极值T i i1i2im Pbest [,]P = ,P ,P ,全局极值为 T i i1i2im Gbest [,]g = ,g ,g 。 粒子群算法的寻优过程主要由粒子的速度更新和位置更新两部分组成,其更新方式如下: i+11122v ()()i i i i i v c r Pbest x c r Gbest x =+?+?; i+1i+1i x x v =+, 式中:12c c ,为学习因子,一般取2;12r r ,是均与分布着[0,1]上的随机数。

基于Bp神经网络的股票预测

基于B p神经网络的股 票预测 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

基于神经网络的股票预测 【摘要】: 股票分析和预测是一个复杂的研究领域,本论文将股票技术分析理论与人工神经网络相结合,针对股票市场这一非线性系统,运用BP神经网络,研究基于历史数据分析的股票预测模型,同时,对单只股票短期收盘价格的预测进行深入的理论分析和实证研究。本文探讨了BP神经网络的模型与结构、BP算法的学习规则、权值和阈值等,构建了基于BP神经网络的股票短期预测模型,研究了神经网络的模式、泛化能力等问题。并且,利用搭建起的BP神经网络预测模型,采用多输入单输出、单隐含层的系统,用前五天的价格来预测第六天的价格。对于网络的训练,选用学习率可变的动量BP算法,同时,对网络结构进行了隐含层节点的优化,多次尝试,确定最为合理、可行的隐含层节点数,从而有效地解决了神经网络隐含层节点的选取问题。 【abstract] ,,makingin-depththeoreticalanalysisandempiricalstudiesontheshort-termclosingpriceforecastsofsinglestock. Secondly,makingresearchonthemodelandstructureofBPneuralnetwork, learningrules,weightsofBPalgorithmandsoon,buildingastockshort-termforecastingmodelbasedontheBPneuralnetwork,,usingsystemofmultiple-inputsingle-outputandsinglehiddenlayer,,. 【关键词】BP神经网络股票预测分析 1.引言 股票市场是一个不稳定的非线性动态变化的复杂系统,股价的变动受众多因素的影响。影响股价的因素可简单地分为两类,一类是公司基本面的因素,另一类是股票技术面的因

数学建模神经网络预测模型及程序

年份 (年) 1(1988) 2(1989) 3(1990) 4(1991) 5(1992) 6(1993) 7(1994) 8(1995) 实际值 (ERI) 年份 (年) 9(1996) 10(1997) 11(1998) 12(1999) 13(2000) 14(2001) 15(2002) 16(2003) 实际值 (ERI) BP 神经网络的训练过程为: 先用1988 年到2002 年的指标历史数据作为网络的输入,用1989 年到2003 年的指标历史数据作为网络的输出,组成训练集对网络进行训练,使之误差达到满意的程度,用这样训练好的网络进行预测. 采用滚动预测方法进行预测:滚动预测方法是通过一组历史数据预测未来某一时刻的值,然后把这一预测数据再视为历史数据继续预测下去,依次循环进行,逐步预测未来一段时期的值. 用1989 年到2003 年数据作为网络的输入,2004 年的预测值作为网络的输出. 接着用1990 年到2004 年的数据作为网络的输入,2005 年的预测值作为网络的输出.依次类推,这样就得到2010 年的预测值。 目前在BP 网络的应用中,多采用三层结构. 根据人工神经网络定理可知,只要用三层的BP 网络就可实现任意函数的逼近. 所以训练结果采用三层BP模型进行模拟预测. 模型训练误差为,隐层单元数选取8个,学习速率为,动态参数,Sigmoid参数,最大迭代次数3000.运行3000次后,样本拟合误差等于。 P=[。。。];输入T=[。。。];输出 % 创建一个新的前向神经网络 net_1=newff(minmax(P),[10,1],{'tansig','purelin'},'traingdm') % 当前输入层权值和阈值 inputWeights={1,1} inputbias={1} % 当前网络层权值和阈值 layerWeights={2,1} layerbias={2} % 设置训练参数 = 50; = ; = ; = 10000; = 1e-3;

matlab粒子群优化算法进行传感器优化配置程序

1.Pso算法 function [xm,fv] = SAPSO( fitness,N,c1,c2,wmax,wmin,M ) % fitness 适应度函数 % N 种群个数 % c1 % c2 % wmax 最大权重 % wmin 最小权重 % M 迭代次数 cg=32;%传感器个数 format long; %-----------------------初始化种群个体 ------------------------------------- for i=1:N %粒子个数为n a1=-17.5:10:12.5; a11=a1*(i+5)/10; [a2,a3]=meshgrid(a1,a11); a4=reshape(a2,1,16); a5=reshape(a3,1,16); b1=-12.5:10:17.5; b11=b1*(i+5)/10; [b2,b3]=meshgrid(b1,b11); b4=reshape(b2,1,16); b5=reshape(b3,1,16); x11=[a4,b4;a5,b5]+20;%ó|ó?μè±èàyà?é¢y1ì?¨ x(:,:,i)=x11';%初始化传感器个数为20 v(:,:,i)=10*rand(cg,2); end %----------------------计算各个粒子适应度------------------------------for i=1:N; p(i)=fitness(x(:,:,i)); y(:,:,i)=x(:,:,i); end pg=x(:,:,N); %pg为全局最优 for i=1:(N-1) if fitness(x(:,:,i))

粒子群算法基本原理

4.1粒子群算法基本原理 粒子群优化算法[45]最原始的工作可以追溯到1987年Reynolds 对鸟群社会系统Boids (Reynolds 对其仿真鸟群系统的命名)的仿真研究 。通常,群体的行为可以由几条简单的规则进行建模,虽然每个个体具有简单的行为规则,但是却群体的行为却是非常的复杂,所以他们在鸟类仿真中,即Boids 系统中采取了下面的三条简单的规则: (1)飞离最近的个体(鸟),避免与其发生碰撞冲突; (2)尽量使自己与周围的鸟保持速度一致; (3)尽量试图向自己认为的群体中心靠近。 虽然只有三条规则,但Boids 系统已经表现出非常逼真的群体聚集行为。但Reynolds 仅仅实现了该仿真,并无实用价值。 1995年Kennedy [46-48]和Eberhart 在Reynolds 等人的研究基础上创造性地提出了粒子群优化算法,应用于连续空间的优化计算中 。Kennedy 和Eberhart 在boids 中加入了一个特定点,定义为食物,每只鸟根据周围鸟的觅食行为来搜寻食物。Kennedy 和Eberhart 的初衷是希望模拟研究鸟群觅食行为,但试验结果却显示这个仿真模型蕴含着很强的优化能力,尤其是在多维空间中的寻优。最初仿真的时候,每只鸟在计算机屏幕上显示为一个点,而“点”在数学领域具有多种意义,于是作者用“粒子(particle )”来称呼每个个体,这样就产生了基本的粒子群优化算法[49]。 假设在一个D 维搜索空间中,有m 个粒子组成一粒子群,其中第i 个粒子的空间位置为123(,,,...,)1,2,...,i i i i iD X x x x x i m ==,它是优化问题的一个潜在

基于BP神经网络预测模型指南

基于BP神经网络的国际黄金价格预测模型 公文易文秘资源网顾孟钧张志和陈友2009-1-2 13:35:26我要投稿添加到百度搜藏 [摘要] 为了寻找国际黄金价格与道琼斯工业指数、美国消费者指数,国际黄金储备等因素之间的内在关系,本文对1972年~2006年间的各项数据首先进行归一化处理,利用MATLAB神经网络工具箱进行模拟训练,建立了基于BP神经网络的国际黄金价格预测模型 [摘要] 为了寻找国际黄金价格与道琼斯工业指数、美国消费者指数,国际黄金储备等因素之间的内在关系,本文对1972年~2006年间的各项数据首先进行归一化处理,利用MATLAB神经网络工具箱进行模拟训练,建立了基于BP神经网络的国际黄金价格预测模型。 [关键词] MATLAB BP神经网络预测模型数据归一化 一、引言 自20世纪70年代初以来的30多年里,世界黄金价格出现了令人瞠目的剧烈变动。20 世纪70年代初,每盎司黄金价格仅为30多美元。80年代初,黄金暴涨到每盎司近700美元。本世纪初,黄金价格处于每盎司270美元左右,此后逐年攀升,到2006年5月12日达到了26年高点,每盎司730美元,此后又暴跌,仅一个月时间内就下跌了约160美元,跌幅高达21.9%。最近两年,黄金价格一度冲高到每盎司900多美元。黄金价格起伏如此之大,本文根据国际黄金价格的影响因素,通过BP神经网络预测模型来预测长期黄金价格。 二、影响因素 刘曙光和胡再勇证实将观察期延长为1972年~2006年时,则影响黄金价格的主要因素扩展至包含道琼斯指数、美国消费者价格指数、美元名义有效汇率、美国联邦基金利率和世界黄金储备5个因素。本文利用此观点,根据1972年~2006年各因素的值来建立神经网络预测模型。 三、模型构建

用matlab编BP神经网络预测程序

求用matlab编BP神经网络预测程序 求一用matlab编的程序 P=[。。。];输入T=[。。。];输出 % 创建一个新的前向神经网络 net_1=newff(minmax(P),[10,1],{'tansig','purelin'},'traingdm') % 当前输入层权值和阈值 inputWeights=net_1.IW{1,1} inputbias=net_1.b{1} % 当前网络层权值和阈值 layerWeights=net_1.LW{2,1} layerbias=net_1.b{2} % 设置训练参数 net_1.trainParam.show = 50; net_1.trainParam.lr = 0.05; net_1.trainParam.mc = 0.9; net_1.trainParam.epochs = 10000; net_1.trainParam.goal = 1e-3; % 调用 TRAINGDM 算法训练 BP 网络 [net_1,tr]=train(net_1,P,T); % 对 BP 网络进行仿真 A = sim(net_1,P); % 计算仿真误差 E = T - A; MSE=mse(E) x=[。。。]';%测试 sim(net_1,x) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 不可能啊我2009 28

对初学神经网络者的小提示 第二步:掌握如下算法: 2.最小均方误差,这个原理是下面提到的神经网络学习算法的理论核心,入门者要先看《高等数学》(高等教育出版社,同济大学版)第8章的第十节:“最小二乘法”。 3.在第2步的基础上看Hebb学习算法、SOM和K-近邻算法,上述算法都是在最小均方误差基础上的改进算法,参考书籍是《神经网络原理》(机械工业出版社,Simon Haykin著,中英文都有)、《人工神经网络与模拟进化计算》(清华大学出版社,阎平凡,张长水著)、《模式分类》(机械工业出版社,Richard O. Duda等著,中英文都有)、《神经网络设计》(机械工业出版社,Martin T. Hargan等著,中英文都有)。 4.ART(自适应谐振理论),该算法的最通俗易懂的读物就是《神经网络设计》(机械工业出版社,Martin T. Hargan等著,中英文都有)的第15和16章。若看理论分析较费劲可直接编程实现一下16.2.7节的ART1算法小节中的算法. 4.BP算法,初学者若对误差反传的分析过程理解吃力可先跳过理论分析和证明的内容,直接利用最后的学习规则编个小程序并测试,建议看《机器学习》(机械工业出版社,Tom M. Mitchell著,中英文都有)的第4章和《神经网络设计》(机械工业出版社,Martin T. Hargan等著,中英文都有)的第11章。 BP神经网络Matlab实例(1) 分类:Matlab实例 采用Matlab工具箱函数建立神经网络,对一些基本的神经网络参数进行了说明,深入了解参考Matlab帮助文档。 % 例1 采用动量梯度下降算法训练 BP 网络。 % 训练样本定义如下: % 输入矢量为 % p =[-1 -2 3 1 % -1 1 5 -3] % 目标矢量为 t = [-1 -1 1 1] close all clear clc

粒子群算法在神经网络非线性函数拟合中的应用【精品文档】(完整版)

粒子群算法在神经网络非线性函数 拟合中的应用 一、本文研究和解决的问题 在自动控制问题中,系统辨识的目的是为了建立被控对象的数学模型。多年来,控制领域对于复杂的非线性对象的辨识一直未能很好的解决,神经网络所具有的非线性特性和学习能力使其在系统辨识方面有很大的潜力。为解决具有复杂的非线性、不确定性和不确知对象的辨识问题开辟了一条有效的途径。基于神经网络的系统辨识是以神经网络作为被辨识对象的模型,利用其非线性特性,可建立非线性系统的静态或动态模型。理论上,多层前馈神经网络能够以任意精度逼近任意非线性映射。 但传统神经网络学习算法中存在的收敛速度慢、容易陷入局部最优等缺点,于是设计了基于标准粒子群算法的神经网络非线性函数拟合系统。 二、传统的BP神经网络 BP 神经网络即采用误差反向传播算法的网络,是一种至今仍然最为流行的前馈型神经网络模型。BP 神经网络有很强的非线性映射能力,它能学习和存贮大量输入-输出模式映射关系,而无需事先了解描述这种映射关系的数学方程。只要能提供足够多的样本模式对供给网络进行学习训练,它便能完成由n 维输入空间到m 维输出空间的非线性映射。BP 学习算法属于误差修正型学习,其关键在于根据误差修正输出层和隐含层的连接权值。其学习的基本实现方法是基于最小平方误差准则和梯度下降优化方法来确定权值调整法则。 BP网络建模特点: 非线性映照能力:神经网络能以任意精度逼近任何非线性连续函数。在建模过程中的许多问题正是具有高度的非线性。 并行分布处理方式:在神经网络中信息是分布储存和并行处理的,这使它具有很强的容错性和很快的处理速度。 自学习和自适应能力:神经网络在训练时,能从输入、输出的数据中提取出规律性的知识,记忆于网络的权值中,并具有泛化能力,即将这组权值应用于一般情形的能力。神经网络的学习也可以在线进行。 数据融合的能力:神经网络可以同时处理定量信息和定性信息,因此它可以利用传统的工程技术(数值运算)和人工智能技术(符号处理)。 多变量系统:神经网络的输入和输出变量的数目是任意的,对单变量系统与多变量系统提供了一种通用的描述方式,不必考虑各子系统间的解耦问题。

神经网络预测精度

神经网络预测外汇的误差、精度情况 一、涨落方向预测效果 1.1涨落方向的计算公式: for( i=0;i=0 num=num+1 percent=(num/Testnum)*100% 公式中,Testnum 表示测试例数;Result 表示用来测试数据的实际值,Computer_Result 表示通过神经网络训练学习而计算出的测试数据的预测值。I 表示工作日,i+1表示下一个工作日;如果满足 (Result[i+1]- Result[i])* (Computer_Result[i+1]- Computer_Result[i]))>=0 (1) 则说明第二天与第一天汇率实际值的差,和第二天与第一天汇率预测值的差是同号。也就是说,第二天比第一天汇率的实际值增涨时,第二天比第一天的预测值也增涨了。最终涨落度以这两者差的同号个数在测试例数中所占的比例来计量。 1.2涨落效果 表1 涨落情况分析 测试例数 涨落度 20个 64%-71% 30个 62%-70% 50个 53%-59% 100个 53%-61% 涨落情况分析如图所示,这是单机版forcast 的测试结果。涨落度是满足上面(1)式的测试数据量与测试例数的比例。从此分析结果得出如下结论: 1、测试数据和训练数据间隔越近,准确度越高。 2、测数例数越少,涨落度的值越大。 二、误差分析 2.1误差计算公式 M x x Y M t t t SE 2) (12∑=-= (2) 公式(2)为半方差SE (half square error )计算误差公式,其中M 是预测的 次数,t 是预测汇率的时间序数,t x 是第t 时刻汇率的预测值,t x 是第t 时刻汇率 的实际值。 2.2误差效果分析 这个误差计算结果主要用来衡量网络收敛效果。最小训练误差在forcast 中可以根据自己的需要来自行设定。通常在训练时,设定的最小误差为1.0e-4。 如最小训练误差为1.0e-4,实际训练次数为3675次,误差为1.77559e-4。

bp神经网络及matlab实现讲解学习

b p神经网络及m a t l a b实现

图1. 人工神经元模型 图中x1~xn是从其他神经元传来的输入信号,wij表示表示从神经元j到神经元i的连接权值,θ表示一个阈值 ( threshold ),或称为偏置( bias )。则神经元i的输出与输入的关系表示为: 图中 yi表示神经元i的输出,函数f称为激活函数 ( Activation Function )或转移函数 ( Transfer Function ) ,net称为净激活(net activation)。若将阈值看成是神经元i的一个输入x0的权重wi0,则上面的式子可以简化为: 若用X表示输入向量,用W表示权重向量,即: X = [ x0 , x1 , x2 , ....... , xn ]

则神经元的输出可以表示为向量相乘的形式: 若神经元的净激活net为正,称该神经元处于激活状态或兴奋状态(fire),若净激活net为负,则称神经元处于抑制状态。 图1中的这种“阈值加权和”的神经元模型称为M-P模型 ( McCulloch-Pitts Model ),也称为神经网络的一个处理单元( PE, Processing Element )。 2. 常用激活函数 激活函数的选择是构建神经网络过程中的重要环节,下面简要介绍常用的激活函数。 (1) 线性函数 ( Liner Function ) (2) 斜面函数 ( Ramp Function ) (3) 阈值函数 ( Threshold Function ) 以上3个激活函数都属于线性函数,下面介绍两个常用的非线性激活函数。 (4) S形函数 ( Sigmoid Function ) 该函数的导函数:

(完整word版)基本粒子群算法的原理和matlab程序

基本粒子群算法的原理和matlab程序 作者——niewei120(nuaa) 一、粒子群算法的基本原理 粒子群优化算法源自对鸟群捕食行为的研究,最初由Kennedy和Eberhart提出,是一种通用的启发式搜索技术。一群鸟在区域中随机搜索食物,所有鸟知道自己当前位置离食物多远,那么搜索的最简单有效的策略就是搜寻目前离食物最近的鸟的周围区域。PSO 算法利用这种模型得到启示并应用于解决优化问题。PSO 算法中,每个优化问题的解都是粒子在搜索 空间中的位置,所有的粒子都有一个被优化的目标函数所决定的适应值,粒子还有一个速度值决定它们飞翔的方向和距离,然后粒子群就追随当前的最优粒子在解空间中搜索。 PSO 算法首先在给定的解空间中随机初始化粒子群,待优化问题的变量数决定了解空间的维数。每个粒子有了初始位置与初始速度。然后通过迭代寻优。在每一次迭代中,每个粒子通过跟踪两个“极值”来更新自己在解空间中的空间位置与飞翔速度。第一个极值就是单个粒子本身在迭代过程中找到的最优解粒子,这个粒子叫做个体极值。另一个极值是种群所有粒子在迭代过程中所找到的最优解粒子,这个粒子是全局极值。上述的方法叫全局粒子群算法。如果不用种群所有粒子而只用其中一部分作为该粒子的邻居粒子,那么在所有邻居粒子中的极值就是局部极值,该方法称为局部PSO 算法。 速度、位置的更新方程表示为: 每个粒子自身搜索到的历史最优值p i ,p i=(p i1,p i2,....,p iQ),i=1,2,3,....,n。所有粒子搜索到的最优值p g,p g=(p g1,p g2,....,p gQ),注意这里的p g只有一个。 是保持原来速度的系数,所以叫做惯性权重。 是粒子跟踪自己历史最优值的权重系数,它表示粒子自身的认识,所以叫“认知”。通常设置为2。 是粒子跟踪群体最优值的权重系数,它表示粒子对整个群体知识的认识,所以叫做“社会知识”,经常叫做“社会”。通常设置为2。 是[0,1]区间内均匀分布的随机数。 是对位置更新的时候,在速度前面加的一个系数,这个系数我们叫做约束因子。通常设 置为1 。

基于粒子群优化的BP神经网络

基于粒子群优化的BP神经网络 【摘要】人工神经网络的优化学习是其研究中的一个重要课题。将粒子群优化算法用于BP神经网络的学习,将粒子优化算法的全局搜索和BP神经网的局部搜索相结合,并设计一网络实例加以训练,达到了比较满意的效果。 【关键词】粒子群优化算法BP神经网络BP算法BP网络(Back Propagation Network)是用途最为广泛的一类神经网络,具有很强的信息处理能力。但是,由于BP算法的基本思想是最小二乘法,采用的是梯度搜索技术,难免存在收敛速度慢、局部极小等问题。粒子群优化算法(Particle Swarm Optimaziton,简称PSO )是由Kennedy J和Eberhart R C于1995年提出的一种优化算法,源于对鸟群和鱼群群体运动行为的研究。由于其容易理解,易于实现,不要求目标函数和约束条件是可微的,并能以较大概率求得全局最优解,目前已在许多优化问题中得到成功应用。由于它具有并行计算的特点,而且可以提高计算速度。因此,可以用粒子群优化算法来优化BP网络。 一、BP神经网络及其算法 BP网络是一种具有三层或三层以上的单向传播的多层前馈网络,其拓扑结构如图1。 图1 拓扑结构图 BP算法的执行步骤如下: (1)对各层权系数置一个较小Wij的非零随机数。(2)输入一个样本X=(X1,X2,…,x n),以及对应期望输出) Y=(y1,y2,…,yn)。(3)计算各层的输出。 对于第k 层第i个神经元的输出有:Uki=∑WijXk-1i,Xki=f(Uki)(一般为sigmoid 函数,即f(x)=1/(1-epx(-x))。(4)求各层的学习误差dki。对于输出层,有,k=m,dmi=Xmi(1-Xmi)(Xmi-Ymi)。 对于其他各层,有dxi=Xki(1-Xki)∑Wijdk+1i。(5)修正权系数Wij。Wij (t+1)=Wij-η•dki•Xk-1j。(6)当求出各层权系数之后,可判别是否满足要求。如果满足要求,则算法结束;如果未满足要求,则返回(3)执行。 二、粒子群优化算法

粒子群优化算法及其应用研究【精品文档】(完整版)

摘要 在智能领域,大部分问题都可以归结为优化问题。常用的经典优化算法都对问题有一定的约束条件,如要求优化函数可微等,仿生算法是一种模拟生物智能行为的优化算法,由于其几乎不存在对问题的约束,因此,粒子群优化算法在各种优化问题中得到广泛应用。 本文首先描述了基本粒子群优化算法及其改进算法的基本原理,对比分析粒子群优化算法与其他优化算法的优缺点,并对基本粒子群优化算法参数进行了简要分析。根据分析结果,研究了一种基于量子的粒子群优化算法。在标准测试函数的优化上粒子群优化算法与改进算法进行了比较,实验结果表明改进的算法在优化性能明显要优于其它算法。本文算法应用于支持向量机参数选择的优化问题上也获得了较好的性能。最后,对本文进行了简单的总结和展望。 关键词:粒子群优化算法最小二乘支持向量机参数优化适应度

目录 摘要...................................................................... I 目录....................................................................... II 1.概述. (1) 1.1引言 (1) 1.2研究背景 (1) 1.2.1人工生命计算 (1) 1.2.2 群集智能理论 (2) 1.3算法比较 (2) 1.3.1粒子群算法与遗传算法(GA)比较 (2) 1.3.2粒子群算法与蚁群算法(ACO)比较 (3) 1.4粒子群优化算法的研究现状 (4) 1.4.1理论研究现状 (4) 1.4.2应用研究现状 (5) 1.5粒子群优化算法的应用 (5) 1.5.1神经网络训练 (6) 1.5.2函数优化 (6) 1.5.3其他应用 (6) 1.5.4粒子群优化算法的工程应用概述 (6) 2.粒子群优化算法 (8) 2.1基本粒子群优化算法 (8) 2.1.1基本理论 (8) 2.1.2算法流程 (9) 2.2标准粒子群优化算法 (10) 2.2.1惯性权重 (10) 2.2.2压缩因子 (11) 2.3算法分析 (12) 2.3.1参数分析 (12) 2.3.2粒子群优化算法的特点 (14) 3.粒子群优化算法的改进 (15) 3.1粒子群优化算法存在的问题 (15) 3.2粒子群优化算法的改进分析 (15) 3.3基于量子粒子群优化(QPSO)算法 (17) 3.3.1 QPSO算法的优点 (17) 3.3.2 基于MATLAB的仿真 (18) 3.4 PSO仿真 (19) 3.4.1 标准测试函数 (19) 3.4.2 试验参数设置 (20) 3.5试验结果与分析 (21) 4.粒子群优化算法在支持向量机的参数优化中的应用 (22) 4.1支持向量机 (22) 4.2最小二乘支持向量机原理 (22)

SVM神经网络的回归预测分析---上证指数开盘指数预测

SVM神经网络的回归预测分析---上证指数开盘指数预测 该案例作者申明: 1:本人长期驻扎在此板块里,对该案例提问,做到有问必答。 2:此案例有配套的教学视频,配套的完整可运行Matlab程序。 3:以下内容为该案例的部分内容(约占该案例完整内容的1/10)。 4:此案例为原创案例,转载请注明出处(Matlab中文论坛,《Matlab神经网络30个案例分析》)。 5:若此案例碰巧与您的研究有关联,我们欢迎您提意见,要求等,我们考虑后可以加在案例里。 6:您看到的以下内容为初稿,书籍的实际内容可能有少许出入,以书籍实际发行内容为准。 7:此书其他常见问题、预定方式等,请点击这里。 Contents ●清空环境变量 ●数据的提取和预处理 ●选择回归预测分析最佳的SVM参数c&g ●利用回归预测分析最佳的参数进行SVM网络训练 ●SVM网络回归预测 ●结果分析 ●子函数 SVMcgForRegress.m 清空环境变量 function chapter14 tic; close all; clear; clc; format compact; 数据的提取和预处理 % 载入测试数据上证指数(1990.12.19-2009.08.19) % 数据是一个4579*6的double型的矩阵,每一行表示每一天的上证指数 % 6列分别表示当天上证指数的开盘指数,指数最高值,指数最低值,收盘指数,当日交易量,当日交易额. load chapter14_sh.mat; % 提取数据 [m,n] = size(sh); ts = sh(2:m,1); tsx = sh(1:m-1,:); % 画出原始上证指数的每日开盘数 figure;

基本粒子群算法的matlab源程序

主函数源程序(main.m) %------基本粒子群优化算法(Particle Swarm Optimization)-----------%------名称:基本粒子群优化算法(PSO) %------作用:求解优化问题 %------说明:全局性,并行性,高效的群体智能算法 %------初始格式化--------------------------------------------------clear all; clc; format long; %------给定初始化条件---------------------------------------------- c1=1.4962;%学习因子1 c2=1.4962;%学习因子2 w=0.7298;%惯性权重 MaxDT=1000;%最大迭代次数 D=10;%搜索空间维数(未知数个数) N=40;%初始化群体个体数目 eps=10^(-6);%设置精度(在已知最小值时候用) %------初始化种群的个体(可以在这里限定位置和速度的范围)------------for i=1:N for j=1:D x(i,j)=randn;%随机初始化位置 v(i,j)=randn;%随机初始化速度 end end %------先计算各个粒子的适应度,并初始化Pi和Pg----------------------for i=1:N p(i)=fitness(x(i,:),D); y(i,:)=x(i,:); end pg=x(1,:);%Pg为全局最优 for i=2:N if fitness(x(i,:),D) pg=x(i,:); end end %------进入主要循环,按照公式依次迭代,直到满足精度要求------------for t=1:MaxDT for i=1:N v(i,:)=w*v(i,:)+c1*rand*(y(i,:)-x(i,:))+c2*rand*(pg-x(i,:)); x(i,:)=x(i,:)+v(i,:); if fitness(x(i,:),D) p(i)=fitness(x(i,:),D); y(i,:)=x(i,:);

回归预测分析神经网络

%%S V M神经网络的回归预测分析---上证指数开盘指数预测 %% 清空环境变量 function chapter14 tic; close all; clear; clc; format compact; %% 数据的提取和预处理 % 数据是一个4579*6的double型的矩阵,每一行表示每一天的上证指数 % 6列分别表示当天上证指数的开盘指数,指数最高值,指数最低值,收盘指数,当日交易量,当日交易额. load ; % 提取数据 [m,n] = size(sh); ts = sh(2:m,1); tsx = sh(1:m-1,:); % 画出原始上证指数的每日开盘数 figure; plot(ts,'LineWidth',2); title(,'FontSize',12); xlabel(,'FontSize',12); ylabel('开盘数','FontSize',12); grid on; % 数据预处理,将原始数据进行归一化 ts = ts'; tsx = tsx'; % mapminmax为matlab自带的映射函数 % 对ts进行归一化 [TS,TSps] = mapminmax(ts,1,2); % 画出原始上证指数的每日开盘数归一化后的图像 figure; plot(TS,'LineWidth',2); title('原始上证指数的每日开盘数归一化后的图像','FontSize',12); xlabel(,'FontSize',12); ylabel('归一化后的开盘数','FontSize',12); grid on; % 对TS进行转置,以符合libsvm工具箱的数据格式要求 TS = TS'; % mapminmax为matlab自带的映射函数 % 对tsx进行归一化 [TSX,TSXps] = mapminmax(tsx,1,2); % 对TSX进行转置,以符合libsvm工具箱的数据格式要求

BP神经网络matlab源程序代码

close all clear echo on clc % NEWFF——生成一个新的前向神经网络 % TRAIN——对 BP 神经网络进行训练 % SIM——对 BP 神经网络进行仿真 % 定义训练样本 % P为输入矢量 P=[0.7317 0.6790 0.5710 0.5673 0.5948;0.6790 0.5710 0.5673 0.5948 0.6292; ... 0.5710 0.5673 0.5948 0.6292 0.6488;0.5673 0.5948 0.6292 0.6488 0.6130; ... 0.5948 0.6292 0.6488 0.6130 0.5654; 0.6292 0.6488 0.6130 0.5654 0.5567; ... 0.6488 0.6130 0.5654 0.5567 0.5673;0.6130 0.5654 0.5567 0.5673 0.5976; ... 0.5654 0.5567 0.5673 0.5976 0.6269;0.5567 0.5673 0.5976 0.6269 0.6274; ... 0.5673 0.5976 0.6269 0.6274 0.6301;0.5976 0.6269 0.6274 0.6301 0.5803; ... 0.6269 0.6274 0.6301 0.5803 0.6668;0.6274 0.6301 0.5803 0.6668 0.6896; ... 0.6301 0.5803 0.6668 0.6896 0.7497]; % T为目标矢量 T=[0.6292 0.6488 0.6130 0.5654 0.5567 0.5673 0.5976 ... 0.6269 0.6274 0.6301 0.5803 0.6668 0.6896 0.7497 0.8094]; % Ptest为测试输入矢量 Ptest=[0.5803 0.6668 0.6896 0.7497 0.8094;0.6668 0.6896 0.7497 0.8094 0.8722; ... 0.6896 0.7497 0.8094 0.8722 0.9096]; % Ttest为测试目标矢量 Ttest=[0.8722 0.9096 1.0000]; % 创建一个新的前向神经网络 net=newff(minmax(P'),[12,1],{'logsig','purelin'},'traingdm'); % 设置训练参数 net.trainParam.show = 50; net.trainParam.lr = 0.05; net.trainParam.mc = 0.9; net.trainParam.epochs = 5000; net.trainParam.goal = 0.001; % 调用TRAINGDM算法训练 BP 网络 [net,tr]=train(net,P',T); % 对BP网络进行仿真 A=sim(net,P'); figure; plot((1993:2007),T,'-*',(1993:2007),A,'-o'); title('网络的实际输出和仿真输出结果,*为真实值,o为预测值'); xlabel('年份'); ylabel('客运量'); % 对BP网络进行测试 A1=sim(net,Ptest');

粒子群算法与遗传算法的比较

粒子群算法介绍 优化问题是工业设计中经常遇到的问题,许多问题最后都可以归结为优化问题. 为了解决各种各样的优化问题,人们提出了许多优化算法,比较著名的有爬山法、遗传算法等.优化问题有两个主要问题:一是要求寻找全局最小点,二是要求有较高的收敛速度. 爬山法精度较高,但是易于陷入局部极小. 遗传算法属于进化算法( Evolutionary Algorithms) 的一种,它通过模仿自然界的选择与遗传的机理来寻找最优解. 遗传算法有三个基本算子:选择、交叉和变异. 但是遗传算法的编程实现比较复杂,首先需要对问题进行编码,找到最优解之后还需要对问题进行解码,另外三个算子的实现也有许多参数,如交叉率和变异率,并且这些参数的选择严重 影响解的品质,而目前这些参数的选择大部分是依靠经验.1995 年Eberhart博士和kennedy博士提出了一种新的算法;粒子群优化(Particle Swarm Optimization -PSO) 算法. 这种算法以 其实现容易、精度高、收敛快等优点引起了学术界的重视,并且在解决实际问题中展示了其优越性。 粒子群优化(Particle Swarm Optimization - PSO) 算法是近年来发展起来的一种新的进化算法( Evolutionary Algorithm - EA) .PSO 算法属于进化算法的一种,和遗传算法相似,它也是从随机解出发,通过迭代寻找最优解,它也是通过适应度来评价解的品质. 但是它比遗传算法规则更为简单,它没有遗传算法的“交叉”(Crossover) 和“变异”(Mutation) 操作. 它通过追随 当前搜索到的最优值来寻找全局最优。 1. 引言 粒子群优化算法(PSO)是一种进化计算技术(evolutionary computation),由Eberhart博士和kennedy博士提出。源于对鸟群捕食的行为研究。 PSO同遗传算法类似,是一种基于迭代的优化算法。系统初始化为一组随机解,通过迭代搜寻最优值。但是它没有遗传算法用的交叉(crossover)以及变异(mutation),而是粒子在解空间追随最优的粒子进行搜索。同遗传算法比较,PSO的优势在于简单容易实现并且没有许多参数需要调整。目前已广泛应用于函数优化,神经网络训练,模糊系统控制以及其他遗传算法的应用领域 2. 背景: 人工生命 "人工生命"是来研究具有某些生命基本特征的人工系统。人工生命包括两方面的内容: 1. 研究如何利用计算技术研究生物现象 2. 研究如何利用生物技术研究计算问题 我们现在关注的是第二部分的内容. 现在已经有很多源于生物现象的计算技巧. 例如, 人工神经网络是简化的大脑模型. 遗传算法是模拟基因进化过程的. 现在我们讨论另一种生物系统- 社会系统. 更确切的是, 在由简单个体组成的群落与环境以及个体之间的互动行为. 也可称做"群智能"(swarm intelligence). 这些模拟系统利用局 部信息从而可能产生不可预测的群体行为 例如floys和boids, 他们都用来模拟鱼群和鸟群的运动规律, 主要用于计算机视觉和计算机辅助设计. 在计算智能(computational intelligence)领域有两种基于群智能的算法. 蚁群算法(ant colony optimization)和粒子群算法(particle swarm optimization). 前者是对蚂蚁群落食物采集过程的模拟. 已经成功运用在很多离散优化问题上. 粒子群优化算法(PSO) 也是起源对简单社会系统的模拟. 最初设想是模拟鸟群觅食的 过程. 但后来发现PSO是一种很好的优化工具.

基于Bp神经网络的股票预测

基于神经网络的股票预测 【摘要】: 股票分析和预测是一个复杂的研究领域,本论文将股票技术分析理论与人工神经网络相结合,针对股票市场这一非线性系统,运用BP神经网络,研究基于历史数据分析的股票预测模型,同时,对单只股票短期收盘价格的预测进行深入的理论分析和实证研究。本文探讨了BP神经网络的模型与结构、BP算法的学习规则、权值和阈值等,构建了基于BP神经网络的股票短期预测模型,研究了神经网络的模式、泛化能力等问题。并且,利用搭建起的BP神经网络预测模型,采用多输入单输出、单隐含层的系统,用前五天的价格来预测第六天的价格。对于网络的训练,选用学习率可变的动量BP算法,同时,对网络结构进行了隐含层节点的优化,多次尝试,确定最为合理、可行的隐含层节点数,从而有效地解决了神经网络隐含层节点的选取问题。 【abstract] Stock analysis and forecasting is a complex field of study. The paper will make research on stock prediction model based on the analysis of historical data, using BP neural network and technical analysis theory. At the same time, making in-depth theoretical analysis and empirical studies on the short-term closing price forecasts of single stock. Secondly, making research on the model and structure of BP neural network, learning rules, weights of BP algorithm and so on, building a stock short-term forecasting model based on the BP neural network, related with the model of neural network and the ability of generalization. Moreover, using system of multiple-input single-output and single hidden layer, to forecast the sixth day price by BP neural network forecasting model structured. The network of training is chosen BP algorithm of traingdx, while making optimization on the node numbers of the hidden layer by several attempts. Thereby resolve effectively the problem of it. 【关键词】BP神经网络股票预测分析 1.引言 股票市场是一个不稳定的非线性动态变化的复杂系统,股价的变动受众多因素的影响。影响股价的因素可简单地分为两类,一类是公司基本面的因素,另一类是股票技术面的因素,虽然股票的价值是公司未来现金流的折现,由公司的基本面所决定,但是由于公司基本面的数据更新时间慢,且很多时候并不能客观反映公司的实际状况,采用适当数学模型就能在一定

相关文档
相关文档 最新文档