BP算法改进及其在股票价格预测中的应用
安静1,曾成顺1,2
(1.广东松山职业技术学院电气工程系,广东韶关512126;
2.华南理工大学自动化科学与工程学院,广东广州510641)
摘要介绍了神经网络的基本概念,BP算法是前馈神经网络中最终要的算法模型,但由于BP算法收敛速度慢,为了加速算法收敛,增加神经网络的稳定性,提出了L-M对股票指数预测模型。借助神经网络对非线性函数的逼近能力,对上证综合指数股价进行单步预测。用L-M和BP对预测结果进行比较,证明L-MBP算法用于指标预测准确性更高。
关键词:Levenberg-Marquardt;神经网络;预测:股票价格
中图分类号:TP391 文献标识码:A
1 引言
我国股票市场迅速发展,股票投资已成为众多个人理财的一种重要方式。如何能让投资者正确预测股票价格,选准买卖时机,无疑成为许多人关注的焦点。经过长期的实践和研究,如K线法、移动平均线法等。这些方法基本建立在统计学基础上,虽然简单,易于掌握,但由于股市运作是一个巨大的非线性的系统,股价走势受到政治、经济、心理等众多因素的影响,使用传统的技术分析工具进行股票买卖决策难度大,因人而异,差异显著,一般投资者应用效果不理想。
由于神经网络具有很强的非线性关系概况能力,它不需要建立复杂的非线性系统的显式关系或数学模型,用于股市预测取得了一定的效果。但传统的BP算法具有如下主要缺点:局部极值、收敛速度慢以及难以确定隐节点个数。在实际应用中,BP算法很难胜任,因此从不同角度提出许多改进算法,比如改进误差函数以避免局部最小值、改进优化方法、激励函数、网络结构等以加快网络收敛。Levenberg-Marquardt算法是牛顿法的变形,用以最小化那些作为其它非线性函数平方和的函数,这非常适合于性能指数是均方误差的神经网络训练。
2 前馈神经网络算法
2.1前向计算
Levenberg-Marquardt算法中的关键一步是求雅可比矩阵的计算,用一种BP算法的变形来进行计算。典型前馈神经网络的结构包括输入层、隐层、输出层,各层之间实行全互连接,层内神经元之间无连接。
设网络共上层,包括输入层、隐层和输出层。
通常取1,输出范围为(O,1),当函数的值接近于0或1时,函数值对自变量的变化不敏感,此时权值的微小变化不会对神经元的输出产生影响,它所受到后面样本学习的影响不会很大。如果此时神经元的输出不是期望的输出值,而权值的调节量又很小,就很难将该神经元的状态调整过来,因而影响了网络的收敛速度,这就是所谓的“平台”现象。
2.2 LM算法
目标函数为:
3 算法流程
实验表明,结合DFP算法的神经网络训练过程在误差很大或者不是线性函数时具有明显的优越陛。但如果LM算法的条件满足即当误差很小或者误差使线性函数时,则应用LM算法。如图1所示为神经网络算法流程图。
LM算法(3)训练网络,否则进行N步骤⑦;⑦用结合DFP算法的神经网络算法(4)训练网络。
4实例分析
本文用训练后的神经网络模型作“单步”预测。“单步”预测是每步都使用历史数据,仅预报第二天的股票指数。例如,输入数据n1、n2、…n5得到预测值n6。本文利用神经网络模型对上海证券交易 |