您的当前位置:首页正文

毕业论文-基于RBF神经网络的股票走势预测模型

来源:好兔宠物网


学海无涯苦作舟!

学士学位论文

题 目学

生指导教师 年 级专 业系 别学

院RBF神经网络的股票走势预测模型

基于

于延讲师

计算机科学与技术计算机科学与技术计算机科学与信息工程

学海无涯苦作舟!

摘要:

股票市场是极其复杂的非线性动力学系统,诸多复杂因素掺杂

于其中,使得股市预测异常困难。而神经网络作为非线性动力学系统,具有很强的容错性、 自适应性知非线性映射能力, 具有可逼近任意非线性连续函数的学习能力和对杂乱信息的综 合能力,应用 RBF神经网络这种强有力的非线性工具进行研究并进行预测具有着实在的价 值、内在的一致性。

关键词: RBF ;神经网络;股票走势;预测模型

学海无涯苦作舟!

目录

第一章引言

1.1选题依据与意义

1.2国内外研究现状及发展趋势 ................................................. 1 1.2.1股市预测研究现状 ....................................................... 2 1.2.2神经网络应用现状及发展趋势 ............................................ 3 1.3论文的研究方法及预期成果 ................................................. 5 1.3.1研究方法及研究路线 .................................................... 5 1.3.2预期成果 ............................................................... 6 1.4本文工作及章节安排 .................................................. 6 第二章理论基础与模型分析

2.1股票知识 .................................................................. 7 2.1.1股票投资技术分析 ...................................................... 7 2.1.2股市预测面临的主要难题 ................................................ 8 2.2遗传算法 .................................................................. 8 2.2.1基本思想 ............................................................... 9 2.2.2基本遗传算法的构成要素及基本实现技术 .................................. 10 2.3 RBF网络的结构与分类 .................................................... 13 2.3.1 RBF网络的结构 ....................................................... 13 2.3.2 RBF网络的分类 ....................................................... 13 2.3.3 RBF网络的函数逼近理论 ............................................... 15 2.3.4 RBF网络的训练方法 ....................................... ..………17 2.3.5 RBF神经网络的优点及问题 ............................................ .19 2.4模型分析 .................................................................. 19 2.4.1需求分析 ............................................................... 19 2.4.2可行性分析 ............................................................. 20 第三章股票预测系统设计与实现

3.1股票走势预测模型建立 ..................................................... 21 3.1.1模型建立相关原理 ...................................................... 21 3.1.2股票走势预测模型建立 .................................................. 22 3.2股票预测系统功能设计 ., .............................................................................................. 25 3.2.1系统功能结构图 ........................................................ 25 3.2.2系统各部分功能设计 .................................................... 26 3.3数据库设计 ................................................................ 26 3.4股票预测系统实现 ......................................................... 27 3.4.1股票走势预测 ........................................................... 28 3.4.2数据管理模块 .......................................................... 32 第四章股票预测系统应用仿真

学海无涯苦作舟!

4.1预测目标及数据来源 ....................................................... 33

4.2股票走势预测模型实验仿真及结果分析 ....................................... 33 4.2.1数据预处理, ........................................................... 33 422实验实例, .............................................................. 33 423结果分析 ................................................................ 37 第五章结论

5.1研究成果 ................................................................. 38 5.2创新点 .................................................................... 38 5.3存在的不足 ................................................................ 38 5.4今后进一步研究内容 ....................................................... 39 参考文献 ............. ... .............................. .................. ...40 Abstract ................................................................................................... .............. ............. .41

学海无涯苦作舟!

基于RBF神经网络的股票走势预测模型

股票市场是极其复杂的非线性动力学系统, 常困难。而神经网络作为非线性动力学系统,

诸多复杂因素掺杂于其中,使得股市预测异

具有很强的容错性、自适应性知非线性映射能

对于股票市场这

力,具有可逼近任意非线性连续函数的学习能力和对杂乱信息的综合能力, 样的非线性经济系统的走势,应用

RBF神经网络这种强有力的非线性工具进行研究并进行

预测具有着实在的价值、内在的一致性。

第一章前言

1.1选题依据与意义

二十一世纪,金融已经成为国民经济的命脉,

现代经济的心脏。股票市场作为金融市场

。随着

的核心组成之一,与国民经济发展密切相关,成为了经济的“晴雨表”和“报警器”

我国社会主义市场经济体制的建立与完善,我国股票市场自上世纪九十年代初期形成以来, 以其独特的魅力在全国各地蓬勃发展。

经过几十年的迅猛发展,经历从无到有、从试探性发

展到规范性发展过程,显示出强大的生命力,对推进中国经济持续快速发展起到了积极作用。 可见,股票市场在现代市场经济中具有不可忽视、不能轻视和无法替代的地位与作用。

随着股票市场的不断发展, 股票投资活动成为了现代经济活动中最常见的风险投资活动 之一,与相对安全但收入稳定的其它金融投资活动相比,

这是一种为了获得高收益而主动承

担高风险的金融投资活动。由此可见,风险和收益是股票投资中两个形影不离的基本要素, 高风险与高收益并存是股票市场的显著特征。 益越高,投资者可能承担的风险越大。

对于投资者而言,如何取得投资风险与收益之间的权衡关系,成为了至关重要的问题。 投资者在进行股票投资时,只能选择在既定收益率的情况下使投资风险尽可能小的投资策略 或是选择在自己愿意承受的风险水平的情况下追求使总收益率尽可能大的目标。

这就使得投

两者在股票投资中往往是成正比的,

即投资收

资者必须做出选择:风险与收益,孰更重要。相对而言,股市风险对股票市场本身更具有破 坏性,一旦股票市场风险发生, 其可能引起的一系列严重危害不可想象,

对整个国民经济也

会产生不良影响。因此,股市风险的防范与化解不仅对投资者同时对国民经济都更为重要。

同时,股票市场是极其复杂的非线性动力学系统, 预测异常困难。而神经网络作为非线性动力学系统,

诸多复杂因素掺杂于其中, 使得股市 具有很强的容错性、 自适应性知非线性

能够很好

映射能力,具有可逼近任意非线性连续函数的学习能力和对杂乱信息的综合能力,

地解决环境信息不十分明确、知识背景不清楚的应用问题。对于股票市场这样的非线性经济 系统的走势,应用神经网络这种强有力的非线性工具进行研究并进行预测具有着实在的价 值、内在的一致性。

学海无涯苦作舟!

1.2国内外研究现状及发展趋势

1.2.1股市预测研究现状

股市预测具有重大的理论意义和诱人的应用价值,

是经济领域的一个重要分支,它对股

票市场所反映的各种资讯进行收集、整理、综合等工作,从股票市场的历史、现状出发,探 索其内在规律,并运用科学的方法, 对股市未来发展前景进行预测。目前, 现出的不同特点,国内外学者对股市预测进行了分析和研究, 法。

(1) 证券投资分析方法

分析和预测股价变化趋势和方向的方法, 法把重点放在股票本身的内在价值上,

主要分为基本分析法和技术分析法。

基本分析

针对股票市场表

提出了多种多样的预测分析方

从影响股票的外部因素入手分析其与股票市场的相互

关系,适合长期预测;技术分析法则是仅依据股票市场过去的统计资料,来研究股票市场未 来的变动,以期寻找合适的投资对象和时机,获取短期效益。

(2) 时间序列分析方法

这种方法具有严格的数学基础,主要是通过建立股价与综合指数之间的时间序列相关辨 识模型,如移动平均法、指数平滑法等来预测股市未来变化。 测,当预测周期变长,其准确性也将急剧下降。

(3) 灰色预测方法

灰色预测法的理论基础是灰色建模理论,

指在已知自变量和因变量之间满足某种数学关

使得

此种分析方法只适用于短期预

系和某种特定条件。而可能历史的数据不全面和不充分或某些变量尚不清楚或不确定, 预测处于一种半明半暗的状态。 随着事件的发展、数据的逐步积累,某些不确定的因素逐步 明确,其预测也逐渐由暗变明。

(4) 人工智能方法

人工智能在各个领域得到了广泛应用。

其中,神经网络以其自动从股票市场历史数据中

提取有关经济活动的规律以及克服传统定量预测方法的某些局限、人为因素的影响等优点, 在股票市场预测领域中得到广泛应用研究。

1995年chen等〔’〕用神经网络预测了史坦普

500种指数变化;2001年,Hamid等汇2〕预测了德黑兰股票指数 ;shaun — innwu〔:,,等人 综合运用了传统预测与智能预测方法,

提高了预测性能。与国外市场相比,中国股市有着自

身的特点,许多学者都进行了研究。叶中行、顾立庭运用神经网络、模糊推理等多种新技术, 提出了一种智能模型一一混合认知系统。

张健等闭运用BP网络对沪市中的四种股票进行了

多方面的分析。梁夏fs,在改进快速BP算法基础上,提出一种增加网络自纠错功能的预测 方法。王上飞等〔63从线性时间序列预测的角度出发,使用滑动窗技术于径向基函数神经 网络(RBF)对IBM公司的股票进行了预测曲线拟合的效果较好。

与此同时,国内外学者对股

市投资风险度量方法也进行了相应的研究,在经济等领域提出了各种分析方法。

(1) Markowitz的均值一方差模型

马柯维茨(Markowitz)于1950年发表的《资产组合选择》论文中创建了投资组合理论

学海无涯苦作舟!

(MPT),提出了证券组合风险的测试方法, 从而奠定了现代证券组合理论的基础 阐述了证券收益和风险水平确定的主要原理,

建立了均值一方差模型的基本框架,

7〕。该论文 用于求解

投资决策过程中资金在投资对象中的最优分配比例问题。

(2) Sharpe的刀值理论

刀值是资本资产定价模型(CAPM)中计量风险的指标,刀值的测定方法应以收益率标准 差或协方差为理论基础。

CAPM是SharPe等人在均值-方差模型的基础上,从单个投资者转

向整体市场,以线性化模型度量个别资产对投资组合标准差的影响程度

(3) ARCH 模型

(刀值)建立的。

ARCH 模型(Auto 一 RegressiveConditionalHeteroskedaticityModel,自回归条件异方差模 型)是恩格尔于1982年首次提出的,用于刻画随时间而变异的条件方差 其

不同于传统的风险度量方法以收益的方差或标准差来测量,

而是描述随时间而变异的方差的

(即条件异方差),

工具,能够精确地获取很多时间数列的特征,并将其应用于汇率、股票市场、利率、个股与

许多其他类型的资产研究。 (4) 风险估值模型(VaR)

vaR(value 一 at 一 Risk)是Jp.MorgonG30集团在考察衍生产品的基础上提出的一种新的 风险测试方法,是指在正常的市场条件和给定的置信度内,

用于评估和计量任何一种金融资

产或证券投资组合在既定时期内所面临的市场风险大小和可能遭受的潜在最大价值损失。 1999 年,'ean — PhihpPeBouchaudandMarcPotters 提出了计算复杂的非线性组合的 年,DavidLi提出了使用四阶距计量计算

(5) R/S分析方法

R/S分析(RescaledRangeAnalysis,重新标度极差分析)方法是赫斯特提出的一种时间序 列统计方法。他发现大多数自然现象的统计都能由

“有偏随机游动”来刻画, 即一个趋势加

其突破了传统的

VaR的新方法。

VaR;1999

上噪音,趋势强度的噪音水平可以根据重标极差随时间的变化情况来度量, 线性分析范式,使风险的度量更加符合资本市场的实际情况。 1.2.2神经网络应用现状及发展趋势

神经网络是在对人脑组织结构和运行机制的认识理解基础之上模拟其结构和智能的一 种工程系统。目前,神经网络的发展应用已经涉及到信息领域、

自动化控制领域、工程领域、

医学领域及经济领域,在智能控制、模式识别、计算机识别、传感技术与机器人、图像处理 等方面取得了突破’胜进展。

(I)信息领域

神经网络作为一种新型智能信息处理系统, 利用等各个环节。

信号处理神经网络广泛应用于自适应信号处理和非线性信号处理。

前者如信号的自适应

其应用贯穿信息的获取、传输、接收与加工

8〕。

学海无涯苦作舟!

滤波、时间序列预测、噪声消除等

;后者如非线性滤波、非线性预测等。

神经网 连续

固定能谱等,还可以处理动态模式如视频图像、

模式识别模式识别涉及模式的预处理变换和将一种模式映射为其他类型的操作。 络不仅可以处理静态模式如固定图像、 语音等。

数据压缩在数据传送与存储时,数据压缩至关重要。神经网络可对待传送 的

数据提取模式特性,只将该特征传出

(2) 自动化领域

(或待存储)

(或存储),接收后(或使用时)再将其恢复成原始模式。

神经网络和控制理论与控制技术相结合, 发展为自动控制领域的一个前沿学科一一神经 网络控制。

系统辨识在自动控制问题中, 系统辨识的目的是为了建立被控对象的数学模型。 经网络的系统辨识是以神经网络作为被辨识对象的模型, 系统的静态或动态模型。

神经控制器控制器在实时控制系统中起着 “大脑”的作用,神经网络具有自学习和自适 应等智能特点,因而非常适合于控制器。 对于复杂非线性系统, 神经控制器所达到的控制效 果往往明显好于常规控制器。

智能检测所谓智能检测一般包括干扰量的处理、

传感器输入输出特性的非线性补偿、

零 基于神

利用其非线性特性,可建立非线性

点和量程的自动校正以及自动诊断等。 随着智能化程度的提高, 功能集成已逐渐发展为功能 创新型,而这些信息处理问题正是神经网络的强项。

(3) 工程领域

汽车工程利用神经网络的非线性映射能力,

通过学习优秀驾驶员的换挡经验数据,

可自

动提取蕴含在其中的最佳换挡规律。神经网络在汽车刹车自动控制系统中也有成功的应用。

军事工程神经网络同红外搜索与跟踪系统配合可发现和跟踪飞行器。 空间卫星的动作状态是稳定、倾斜还是摇摆,正确率可达

利用神经网络检测

95%。借助神经网络的语音分类

90%。

与信号处理上的经验对声纳信号进行分析研究,对水下目标的识别率可达

化学工程20世纪80年代中期以来,神经网络在制药、 生物化学、化学工程等领域的研 究与应用蓬勃开展,取得了不少成果。将神经网络用于判定化学反应的生成物, 用于判定钾、 钙、硝酸、氯等离子的浓度等大量应用实例。

水利工程近来年,我国水利工程领域的科技人员已成功地将神经网络方法用于水力发电 过程辨识和控制、河川径流预测、河流水质分类、 问题中。

(4) 医学领域

检测数据分析许多医学检测设备的输出数据都是连续波形的形式,

这些波的极性和幅值

水资源规划、混凝土性能预测等许多实际

常常能够提供有意义的诊断依据。神经网络在这方面的应用非常普遍, 一个成功的应用实例 是用神经网络进行多道电棘波的检测。

生物活性研究用神经网络对生物学检测数据进行分析,可提取致癌物的分子结构特性, 建立分子结构和致癌活性之间的定量关系, 网络预测具有生物学检测不具备的优点。

并对分子致癌活性进行预测。 分子致癌性的神经

学海无涯苦作舟!

医学专家系统以非线性并行分布式处理为基础的神经网络为专家系统的研究开辟了新 的途径,利用其学习功能、 联想记忆功能和分布式并行信息处理功能, 知识表示,获取和并行推理等问题取得了良好效果。

(5) 经济领域

信贷分析采用神经网络评价系统不仅评价结果具有较高的可信度, 析人员的主观好恶和人情关系造成的错误。

而且可以避免信贷分 来解决专家系统中的

神经网络评价系统将公司贷款申请表中的关键数

用数以千计的历史数据对网络进行训 练

据编码为输入向量,将实际的信用情况作为输出评价, 后,可给出准确客观的评价结果。

市场预测市场预测问题可归结为对影响市场供求关系的诸多因素的综合分析, 格变化规律的掌握。

(6) 神经网络在股票市场预测中也有广泛应用。 虽然神经网络在许多领域应用中取得了广泛的成功, 问题需进一步研究〔9〕。

神经计算的基础理论框架以及生理层面的研究仍需深入。 为了神经计算的进一步发展却是非做不可的。

以及对价

但其发展还不十分成熟, 还有一些

这方面的工作虽然很困难,但

除了传统的多层感知机、径向基函数网络、自组织特征映射网络、自适应谐振理论网络、 模糊神经网络、循环神经网络之外,一些新的模型和结构很值得关注, 例如最近兴起的脉冲 神经网络和支持向量机。这些新的模型和结构需要我们对此进行更深一步的研究与探讨。

增强神经网络的可理解性是神经网络界需要解决的一个重要问题。 若干年中仍然会是神经计算和机器学习界的研究热点。

在研究监督学习的同时应该认识到非监督学习具有很大的潜力。相对于监督学习来说, 非监督学习的研究起步较晚,其研究空间比前者更大。

神经计算技术与其他技术尤其是进化计算术的结合以及由此而来的混合方法和混合系 统,成为一大研究热点。

神经网络用于控制系统时还有许多问题值得研究

这方面的工作在今后

:现行的学习算法收敛速度低,存在局 ;需要创造更适于控制的专用神经网

特别

部最优问题;分布式并行处理方式的网络内部机理并不清楚,选择网络层数、每层神经元个 数,还得凭经验;泛化力不足,制约了控制系统的鲁棒性

络;网络建立模算法和控制统的收敛性与稳定性需进一步研究。

神经网络的应用领域将不断扩大, 在未来几年中有望在一些领域取得更大的成功, 是媒体技术、医疗、金融、电力系统、军事等领域。

1.3论文的研究方法及预期成果

1.3.1研究方法及研究路线

本课题采用Java技术实现股票分析的测度平台及遗传神经网络训练平台,测度过程及 训练过程体现出平台交互性,灵活而动态,实现真正意义上的“通用性”与“实用性”

,其

中运用了资本资产定价模型 (CAPM理论和遗传算法技术。资本资产定价模型(CAPM)是现代 金融理

学海无涯苦作舟!

论的三大基石之一,是第一个不确定性条件下的资产定价的均衡模型, 出发点,给出了证券的期望收益率与其系统风险因子之间的线性关系,

遗传算法是用于复杂系统优化计算的全局优化随机搜索算法,

以市场均衡为

并用实证的方法来度 该算法利用随机化技术来

指导对一个被编码的参数空间进行高效搜索的方法,具有良好的鲁棒性。

本课题的研究路线如下:

(1) 明确仿真的对象、范围及要求达到的目的 (2) 过程的机理研究、找寻内在规律 ; (3) 整理基础数据; (4) 建立数学模型; (5) 选择计算方法; (6 )编制及调试计算机程序; (7) 进行数据仿真实验; (8) 仿真结果的分析讨论。 1.3.2预期成果

本课题以基于遗传神经网络的股票走势预测模型为技术基础,开发股票走势预测系统, 最后结合我国沪市 A股市场实际的历史交易数据对该系统进行分析研究。本课题的目的在 于通过遗传神经网络的股票走势预测模型的建立,

测工具,能对投资者的投资决策提供辅助支持, 中小投资者的投资风险,提高其个人收益。

为证券投资者预测股票的价格走势提供预 进而提高证券投资的技术性和科学性, 降低

1.4本文工作及章节安排

论文简要介绍了股票市场预测背景知识,

神经网络以及遗传算法技术,重点介绍针对股

票走势预测而设计开发的应用系统的设计思路和实现方法,最后应用于股票走势预测分析 中。

本文的章节安排如下:

第一章介绍股票预测的选题依据、 研究意义,分析了各种股票预测方法以及国内外研究 现状及发展趋势,提出解决问题的思路,确定论文工作安排。

第二章介绍本课题所涉及到的理论基础,包括股票相关知识、资本资产定价模型理论、 神经网络、遗传算法的基本原理、实现技术、操作过程等。

第三章利用前一章介绍的理论基础知识,

分别建立股票走势预测模型, 详细论述两个预

测模型的设计思想和实现方法,介绍系统各功能部分。

第四章基于第三章建立的股票走势预测模型,分别选取沪市

A股以及上证综合指数进

行预测仿真,并对结果进行综合对比分析, 验证本文研究方法的可行性与解决问题的有效性。

第五章对论文工作进行总结,指出了论文的研究成果、创新点、存在的不足以及今后的 研究发展方向。

学海无涯苦作舟!

第二章理论基础与模型分析

2.1股票知识

股票作为股份资本所有权证书, 是一种虚拟资本,是投资入股并取得收益的凭证, 格体现了市场对资本未来收益现金流贴现的定价。股票具有以下五个基本特征。

(I) 一定的参与性股票反映的是所有权关系,而非借贷关系,股票使股东拥有了一定的 参与公司经营、决策的权利以及相应的责任。

(2) 无期限性股票不还本,没有到期日,投资者一旦购买了股票,就不能退股索还股金。 (3) 收益性股东凭其持有的股票,有权从公司领取股息或红利,获取投资的收益。

(4) 风险性股票价格受到各种诸如宏观经济、公司盈利状况等因素的影响而具有很强的 波动性,是一种高风险的金融产品。

(5) 流通性股票作为一种资本证券,是一种灵活有效的集资工具和有价证券。股票的流 通性是指股票在不同投资者之间的可交易性。 2.1.1股票投资技术分析

股票投资技术分析是利用图表和技术指标,

研究市场波动的历史轨迹, 归纳、提炼其运

技术分析的理论基础是基于三

其价

行规律,用以预测其未来发展方向及其具体走势的分析方法。

项合理的市场假设:(1)价量反映市场一切信息;(2)股价呈趋势变动;(3)历史走势会一再重演。

股票技术分析的特点主要有以下几点 (1) 客观性

技术分析法是对既成事实的股票历史走势的分析, 预测未来,因此相较于股票基本分析法更加客观。

(2 )可操作性

技术分析法是一种量化的分析,价格的涨跌、指标的变动等,无一不可用数字来统计、 分析和表示。

(3) 公平性

技术分析所需要的一切数据,都是由交易所通过证券营业部或传媒发布的, 都可以在同一时间内获取,对于任何人都是公平、公开的。

目前,不同的技术分析方法根据其分析视角、 有某种程度的差别,主要有波浪分析法、 K线分析理论是建立在分析

侧重点和手段上的不同, 所适用的范围也

所有投资者

并根据其运行的内在规律性进行推论

K线分析法、切线分析法、指标分析法等几大类。

K线的 是暂

K线形状和组合的基础之上,其研究手法是根据若干天

组合情况,推测证券市场多空双方力量的对比, 时的还是决定性的。K线又称为阴阳线或蜡烛线, 分别表示开盘价、收盘价、最高价和最低价。一根 间内价格变动情况。将每个交易时间的

进而判断证券市场多空双方谁占优势,

其结构分为实体、上影线、下影线三部分, K线一记录的是证券在一个交易单位时

K线按时间顺序排列在一起,就组成该证券价格的

2.1所示。

历史变动情况,叫做 K线图,基本形态又可分为阳线、阴线和十字线三种,如图

学海无涯苦作舟!

最高价 *收盘价

最高价 J开盘价

<一最髙价

〜一开盘价二收盘愉

开揺价

' ■虽低价

(阳线)

U十.收盘价 I J最低

(阴线)

图2」 K线图基本形态

<一最低价

(十字线)

Fig 2 J Basic Shape of K

股市预测一般基于以下三点假设

而各种价格的

(1) 有效市场假设股票市场会对每一条有可能影响股价的信息都做出反映, 变动正是这种反映的结果。

(2) 供求决定假设一切信息都会对股票市场的供求双方力量对比产生影响,供求决定交 易量和交易价格。

(3) 历史相似原则由历史资料概括出来的规律已经包含了未来股票市场的一切变动趋 势。 2.1.2股市预测主要面临以下的难题

(I) 股价数据含有高噪声

宏观经济因素、微观经济因素、市场因素等诸多内外在因素的冲击影响,

会造成股市的

强烈振荡波动,使得股价(指数)表现为高噪声且存在许多振荡点。振荡点的存在会大大影响 系统性能,导致求解过程振荡甚至无法收敛。 鲁棒性。

(2) 股价数据的非线性特性

股价系统是一个多变量非线性问题。股价本身及影响股价的各变量之间呈现严重的非线 性特性。因此,要求有强大的处理非线性问题的能力。

而目前较成熟的技术大多解决线性问

股价数据的这种特性要求预测系统具有较强的

题和单变量非线性问题,股价实证分析仍然存在不少问题。

(3) 股价投资者的盲目任意性

股价系统的主体是具有主观能动性的广大投资者。 目任意性和对未知事件的影响能力使得预测误差相当之大, 高。

因此,投资者商业行为的复杂性、 盲

并且随着时间的累积更加急剧升

2.2遗传算法

遗传算法是一种全局优化技术,它利用生物进化的一系列概念进行问题的搜索,

最终达

到优化的目的。1975年,Holla nd出版了遗传算法历史上的经典著作《自然和人工系统中的 适应性》,系统阐述了遗传算法的基本理论和方法,并提出了模式定理。同年,

Dejong将

Holla nd的模式理论与他的计算试验相结合,进一步完善了基本遗传算法的三大操作算子, 在其博士论文 《遗传自适应系统的行为分析》 中提出了新的遗传操作技术。

遗传算法发展到

学海无涯苦作舟!

现在,广泛应用于各个方面,包括 等领域。 2.2.1基本思想

:智能控制、工程设计、图象处理、优化理论、人工生命

遗传算法是借用生物遗传学的观点,模仿自然界生物遗传和进化过程,通过自然选择、 遗传、变异等作用机制,实现各个个体的适应性提高,体现了“物竞天择、适者生存”的进 化过程。在对求解问题本身一无所知的情况下,

遗传算法从代表问题可能潜在解集的一个种

并基于适应度值来选择染

群开始,仅对组成种群的个体即带有染色体特征的实体进行评价, 色体,使适应性好的染色体有更多的繁殖机会。 求解问题的数字编码,即染色体,形成初始群体

在遗传算法中,通过随机方式产生若干个要

;通过适应度函数给每个个体一定评价,淘

经过遗传操作后的个体集合形成 遗传算法的运行过程为一个典型

汰低适应度值的个体,选择高适应度的个体参加遗传操作, 下一代新的种群。对这个新种群进行重复性地下一轮进化。 的迭代过程,其必须完成的工作内容和基本步骤如下

(1)选择编码策略,把参数集合 X和域转换为位串结构空间 S; ⑵定义适应度函数f(幻;

(3) 确定遗传策略,包括选择群体大小 Pc、变异概率几等遗传参数 ;

(4) 随机初始化生成群体 P;

(5) 计算群体中个体串解码后的适应度值 八刀;

(6) 按照遗传策略,运用选择、交叉和变异算子作用于群体,形成下一代群体

n选择、交叉、变异方法,以及确定交叉概率

(7) 判断群体性能是否满足某一指标, 或者已完成预定迭代次数, 不满足则返回步骤(6), 或者修改遗传策略再返回步骤 (6),否则进入步骤(8);

(8) 输出种群中适应度值最优的染色体作为问题的满意解或最优解。

学海无涯苦作舟!

确定实际问題参数集

初始伽休啲

D计算目标函数值

2)函数值向适应值映射一

应值调整

群体

P0+1)

替代

三个基本算子:

i*P(t)

D选择 2世

Q变异

圏2.3基本遗传算法基本流程框图

Fig 2+3 Basic Flow Chart of Basic Genetic Algorithm

222基本遗传算法的构成要素及基本实现技术

基本遗传算法只使用选择算子、交叉算子和变异算子三种基本遗传算子, 作过程简单,具有一定的应用价值。

(1)基本遗传算法的构成要素 基本遗传算法由四个基本要素构成, 参数设定。

1•染色体编码

在遗传算法的运行过程中, 它不对所求解问题的实际决策变量直接进行操作,

而是对表

即染色体编码、个体适应度评价、 遗传算子及运行

其遗传进化操

示可行解的个体编码施加选择、 交叉及变异等遗传运算,通过这种遗传操作来达到优化的目 的。在遗传算法中如何描述问题的可行解, 法能处理的搜索空间的转换方法就称为编码。

编码是应用遗传算法时要解决的首要问题, 方法除了决定个体的染色体排列形式之外,

也是设计遗传算法时的一个关键步骤。

编码

即把一个问题的可行解从其解空间转换到遗传算

它还决定了个体从搜索空间的基因型变换到解空

由此可见,编码方法在

一个好的编码方

间的表现型时的解码方法,编码方法也影响到遗传算子的运算方法。

很大程度上决定了如何进行群体的遗传进化运算以及遗传进化运算的效率。 法,有可能会使得遗传运算可以简单地实现和执行。

2•个体适应度评价

基本遗传算法按与个体适应度成正比的概率来决定当前群体中每个个体遗传到下一代 群体中的机会多少。 因此,要求所有个体的适应度必须为非负数。

这样,根据不同种类的问

学海无涯苦作舟!

题,必须预先确定好由目标函数值到个体适应度之间的转换规则, 标函数值为负数时的处理方法。

3•遗传算子

基本遗传算法使用三种遗传算子,

特别是要预先确定好当目

即选择算子、交叉算子及变异算子, 它们构成了遗传 杂交和突变现 :适应度较高的

算法具备强大搜索能力的核心, 是模拟自然选择以及遗传过程中发生的繁殖、 象的主要载体。遗传算法使用选择算子来对群体中的个体进行优胜劣汰操作

个体被遗传到下一代群体中的概率较大, 适应度较低的个体被遗传到下一代群体中的概率较

小。遗传算法中的选择操作就是用来确定如何从父代群体中按某种方法选取哪些遗传到下一 代群体中的一种遗传运算。

遗传算法中的所谓交叉运算, 是指对两个相互配对的染色体按某种方式相互交换其部分 基因,从而形成两个新的个体。交叉运算是进化算法中遗传算法所具备的原始性的独有特征, 在遗传算法中起着关键作用。

变异操作是指将个体染色体编码串中的某些基因座上的基因值用该基因座的其他等位 基因来替换,从而形成一个新的个体。 从遗传运算过程中产生新个体的能力方面来说, 运算是产生新个体的主要方法,它决定了遗传算法的全局搜索能力 个体的辅助方法,但它也是必不可少的一个运算步骤,

交叉

;而变异运算只是产生新

因为它决定了遗传算法的局部搜索能

从而使

力。交叉算子与变异算子的相互配合, 共同完成对搜索空间的全局搜索和局部搜索, 得遗传算法能够以良好的搜索性能完成最优化问题的寻优过程。

4•运行参数

基本遗传算法有下述4个运行参数需要提前设定: 群体大小,即群体中所含个体的数量,一般取为 遗传运算的终止进化代数,一般取为 交叉概率,一般取为 0.4 — 0.99; 变异概率,一般取为 0.001 — 0.1 o

需要说明的是,这4个运行参数对遗传算法的求解结果和求解效率都有一定的影响,

20 一 100;

100 一 1000;

目前尚缺乏选择它们的理论依据。 在遗传算法的实际应用中, 往往需要经过多次试算后才能 确定出这些参数的取值大小或取值范围。

(2) 基本遗传算法的基本实现技术

在遗传算法的运行过程中,它不是对所求解问题的实际决策变量直接进行操作,

而是对

表示可行解的个体编码施加选择、 交叉、变异等遗传运算,通过这种遗传操作来达到优化的 目的,这是遗传算法的特点之一。下面从遗传算法的构成要素分别叙述其基本实现技术。

1•染色体编码

编码是应用遗传算法时要解决的首要问题,

也是设计遗传算法时的一个关键步骤。

编码

方法在很大程序上决定了如何进行群体的遗传进化运算以及遗传进化运算的效率。作为参 考,DeJong曾提出了两条操作性较强的实用编码原则

编码原则一:应使用能易于产生与所求问题相关的且具有低阶、短定义长度模式的编码

编码原则二:应使用能使问题得到自然表示或描述的具有最小编码字符集的编码方案。

学海无涯苦作舟!

由于遗传算法应用的广泛性, 迄今为止人们已经提出了许多不同的编码方法。 这些编码方法可以分为三大类:二进制编码方法、浮点数编码方法、符号编码方法。

2•二进制编码方法

二进制编码是遗传算法中最常用的一种编码方法,

总的来说,

它将问题空间的参数表示为基于字符

集{0,1}构成的染色体位串,它所构成的个体基因型是一个二进制编码符号集。二进制编 码方法具有很多优点,如编码、 码原则。

3•浮点数编码方法

对于一些多维、高精度要求的连续函数优化问题,

使用二进制编码来表示个体时将会有

其次是二进制编码 人们提出了个体的浮

解码操作简单易行,遗传操作便于实现,符合最小字符集编

一些不利之处。首先是二进制编码存在着连续函数离散化时的映射误差, 不便于反映所求问题的特定知识。 为改进二进制编码方法的这些缺点,

点数编码方法。所谓浮点数编码方法,是指个体的每个基因值用某一范围内的一个浮点数来 表示,个体的编码长度等于决策变量的个体数。

值,所以浮点数编码方法也叫做真值编码方法。

因为这种编码方法使用的是决策变量的真实 浮点数编码适合于许多特定要求,

如适合于

在遗传算法中表示范围较大的数, 适合于精度要求较高的遗传算法, 化方法的混合使用。

4.符号编码方法

符号编码方法是指个体染色体编码串中的基因取自一个无数值含义、 号集。这个符号集可以是一个字母表,如

便于遗传算法与经典优

只有代码含义的符

{A,B,c,D,, };也可以是一个数字序号表,如

{1,2, 3, 4,5,, }。使用符号编码技术便于在遗传算法中利用所求解问题的专门知识, 但对于使用符号编码方法的遗传算法,

一般需要认真设计交叉、变异等遗传运算的操作方法,

以满足问题的各种约束要求,这样才能提高算法的搜索性能。

适应度函数

遗传算法将问题空间表示为染色体串空间,

为了执行适者生存的原则,

必须对个体串的

适应性进行评价。因此,适应度函数即构成了个体的生存环境。 仅使用所求问题的目标函数值就可得到下一步的有关搜索信息。 过评价个体的适应度来体现的。评价个体适应度的一般过程如下

对个体编码串进行解码处理后,可得到个体的表现型 由个体的表现型可计算出对应个体的目标函数值

遗传算法的另一个特点是它 而对目标函数值的使用是通

: ;

根据最优化问题的类型,由目标函数值按一定的转换规则求出个体的适应度。 对于最优化问题包括的两大类一一求目标函数的全局最大值、求目标函数的全局最小 值,分别由解空间中某 一点的目标函数值 f(X)到搜索空间中对应个体的适应度函数值 的转换方法:

对于求最大值的问题,作下述转换

F(x)

学海无涯苦作舟!

⑵16}

式中,Cmi。为一个适当地相对较小的数。 对于求最小值的问题,作下述转换

⑺⑺

耐 H J% ~ f

(^ fW

max

其他

式中,cmax为一个适当地相对较大的数。 (3) 遗传算子

遗传算子的设计是遗传算法实施的核心部分, 变异操作。

1•选择算子

选择操作建立在对个体的适应度进行评价的基础之上,

由三部分组成,即选择操作、交叉操作及

选择操作的主要目的是为了避免

基因缺失、提高全局收敛性和计算效率。最常用的选择算子包括比例选择、最优保存策略、 排序选择等。

比例选择方法是一种回放式随机采样的方法,其基本思想是

:各个个体被选中的概率与

有时甚至

其适应度大小成正比。 由于是随机操作的原因, 这种选择方法的选择误差比较大, 连适应度较高的个体也选择不上。设群体大小为

M,个体i的适应度为Fi,则个体i被选中

的概率Pis为:几一侧艺刃,由该公式可见,适应度越高的个体被选中的概率也越大 应度越低的个体被选中的概率也越小。

最优保存策略的思想是将当前群体中适应度最高的个体不参与交叉运算和变异运算, 是用它来替换掉本代群体中经过交叉、 保存策略进化模型的具体操作过程是

;反之,适

而 最优

变异等遗传操作后所产生的适应度最低的个体。

:先找出当前群体中适应度最高的个体和适应度最低的

若后者比前者还要好则将当前最

个体,然后将其与当前群体中最佳个体的适应度进行比较,

佳个体作为新的迄今为止的最好个体,最后用这个最好的个体替换掉当前群体中的最差个 体。

排序选择方法的主要思想是对群体中的所有个体按其适应度大小进行排序,

基于这个排

序来分配各个个体被选中的概率。 排序选择方法具体操作过程是, 先对群体中的所有个体按 其适应度大小进行降序排序, 然后根据具体问题设计一个概率分配表,

将各个概率值按上述

排列次序分配给各个个体, 最后以各个个体所分配到的概率值作为其能够被遗传到下一代的 概率,并基于这个概率值用比例选择

2•交叉算子

交叉算子的设计和实现与所研究的问题密切相关,

一般要求它既不要太多地破坏个体编

另外,交 但单点交叉

(赌盘选择)的方法来产生下一代群体。

码串中表示优良性状的编码模式, 又要能够有效地产生出一些较好的新个体模式。 叉算子的设计要和个体编码设计统一考虑。

最常用的交叉算子是单点交叉算子,

操作有一定的适用范围, 故人们发展了其他一些交叉算子, 叉。

如多点交叉,均匀交叉及算术交

单点交叉又称为简单交叉,它是指在个体编码串中只随机设置一个交叉点, 然后在该点

学海无涯苦作舟!

相互交换两个配对个体的部分染色体。单点交叉的重要特点是 提供较好的个体性状和较高的个体适应度的话, 低个体适应度的可能性最小。

:若邻接基因座之间的关系能

则这种单点交叉操作破坏这种个体性状和降

多点交叉是指在个体编码串中随机设置了多个交叉点, 然后再进行部分基因交换, 其具 体操作过程是在相互配对的两个个体编码串中随机设置多个交叉点, 然后交换两个个体在所 设定的多个交叉点之间的部分染色体。

需要说明的是,一般不太使用多点交叉算子,

因为它

有可能破坏一些好的模式。 事实上,随着交叉点数的增多, 个体的结构被破坏的可能性也逐 渐增大,这样就难有效地保存较好的模式,从而影响遗传算法的性能。

均匀交叉是指两个配对个体的每一个基因座上的基因都以相同的交概率进行交换, 形成两个新的个体。

算术交叉是指由两个个体的线性组合而产生出两个新的个体。

为了能够进行线性组合运

X几、X公

从而

算,算术交叉的操作对象一般是由浮点数编码所表示的个体。假设在两个个体 之间进行算术交叉,则交叉运算后所产生出的两个新个体是

〔X八伙;+ (l_d

式中,a为一参数,它可以是一个常数,此时所进行的交叉运算称为均匀算术交叉 可以是一个由进化代数所决定的变量,此时所进行的交叉运算称为非均匀算术交叉。

3•变异算子

变异算子的设计包括两方面的内容,即如何确定变异点的位置及如何进行基因值替换。 最简单的变异算子是基本位变异算子,

同时为适应各种不同应用问题的求解需要,

2门

;它也

人们也开

发出了其他一些变异算子,如均匀变异、非均匀变异等变异方法。

基本位变异操作改变的只是个体编码串中的个别几个基因座上的基因值, 的概率也比较小,所以其发挥的作用比较慢,作用效果也不明显。

均匀变异操作是指分别用符合某一范围内均匀分布的随机数,

以某一较小的概率来替换

并且变异发生

个体编码串中各个基因座上的原有基因值。 其具体操作过程是,先依次指定个体编码串中的 每个基因座为变异点,然后对每一个变异点以变异概率 Pm从对应基因的取值范围内取一随 机数来替代原有基因值。

非均匀变异的具 体操作过程与均匀变异相类似, 但是它对原有基因值作一随机扰动, 扰动后的结果作为变异后的新基因值,

它搜索的重点是原个体附近的微小区域。

在进行由X

二x, xZ, xk, x:向X '二x,xZ二均匀变异 操作时,若变异点 xk处的基因值取值范围为 卜磊n

.xkr Umax

”=[耳 +

* \\xk

- h X if random^ = 0

if random(0.1) = 1(2.19)

要求随着进化△ (t,y)可定义为:

式中,△ (t,y)表示四,y]范围内符合非均匀分布的一个随机数代数 t的增加,△ (t,y)

学海无涯苦作舟!

接近于。的概率也逐渐增加。例如,

△ (t,y)=y。 (1 一;(I 一“了 )e),式中,r为[0, 1」范围内符合均匀概率分布的一个随机

数,T是最大进化代数,b是一个系统参数,它决定了随机扰动对进化代数

t的依赖程度。

学海无涯苦作舟!

2.3 RBF网络的结构与分类

2.3.1 RBF网络的结构

RBF神经元网络即 Radial Basis Function Neural Network, 它的产生具有很强的生物学背

景.在人的大脑皮层区域中,局部调节及交叠的感受野(Receptive Field)是人脑反应的特点。基 于感受野这一特性,Moody和Darken提出了一种神经网络结构,即RBF网络.图1是这种思想 的结构图。

图1 RI爪神经网络结构图

这是一种前向网络的拓扑结构,隐含层的单元是感受野单元,每个感受野单元输出为

3 i=Ri(X) =Ri( II X-ci II / X是N维输入向量,ci是与X同维数的向量,Ri( •)具有局部感受的特点.例如Ri( •)取高 斯函数,即Ri(X)=exp(- I X-ci II 2/c 2i),Ri( •)只有在ci周围的一部分区域内有较强的反应 正体现了大脑皮质层的反应特点 .RBF神经元网络不仅具有上述的生物学背景 理论的支持.利用正则化方法证明了如下结论

.

,这

,而且还有数学

若S={(Xi,Yi) € Rn x R i=1,, ,N}是训练集合,$ ( • ,w)表示未知的函数,其中w也未知。 正则化问题的学习过程是寻找

0及参数w使

$应该选择径向基函

H[ $ ]=刀(Yi- $ (Xi,w))2+入II P$ II 2最小。用变分原理可以证明 数(Ra-dial Basis Function)。 2.3.2.RBF网络的分类

RBF网络分类可以从网络参数的不同确定方法入手 一般RBF网络可以表示成 fn(X)=刀 wi $ ([Xci]t -![X-ci])

.RBF网络的参数确定过程如下

工-1是控制RBF网络感受野大小的矩阵,由此可知,对于给定激活函数 $ (2)的RBF网络来说 有3类参数需要确定:(1)RBF网络权值wi,i=1, , ,n;⑵网络基函数中心矢量 ci,i=1,, n;⑶控 制矩阵X.如果用参数 ㊀来代替上述3种参数,针对训练样本 DN={Xi,Yi}N1,则RBF网络的学 习过程就是寻找©人使下列式子最小化。

££

2RBF(DN, © A ) = min © £ 2RBF[DN,fn(X, © )],DN= {Xi,Yi}N1, 2RBF[DN,fn(X, © )] =1N 刀 Ni=1 Yi-fn(X, © ) 2

可以看出对参数 工及ci的优化是很复杂的非线性规划问题

,难以有效的解出。有效的解决方

wi.

案是:首先选定X,其次从训练样本中确定 ci,这样RBF网络的参数确定问题就转化为只对输 出权值的最小化问题。这是一个线性方程求解的问题,因此利用各种最小二乘法都可求出

根据上述参数确定过程将 RBF网络分类如下:

⑴0型RBF网络:如果RBF网络的参数确定完全从

解》,ci及wi,则称这类RBF网络为0型网络或理想型网络。

min @ £ 2RBF[DN,fn(X, @ )]出发求

学海无涯苦作舟!

(2) I型RBF网络:如果RBF网络参数中工预先选定 冲心ci随机从学习样本 Xi中选取, 则称这类RBF网络为I型网络或基本型网络。

(3) H型RBF网络:如果RBF网络参数中工预先选定 冲心ci由聚类方法完成,则称这类 RBF网络为

H型网络或聚类辅助型网络。

2.3.3 RBF网络的函数逼近理论

前向神经网络理论研究的关键问题是函数逼近

•文献[10~17]在这方面作了深入研究

•文

中认为具有Sigmoid单元的3层前向网络能够逼近连续函数或定义于 网络逼近函数的能力不是由激活函数的连续性或单调性决定 用。

Rn空间紧集上的函数.

,而是函数的有界性起了关键作

RBF神经元网络是一类前向网络 ,因此上述函数逼近的理论也适用于它 •但针对RBF网络 有许多特点需要研究• 一般的前向网络(例如多层感知器(MLP))是仿射基函数 ABF(Affine Basis Function) 神经元网络,这种网络的目标是用函数族刀 Ni=1wig(YiX+ 0 i)逼近连续函 数,而RBF网络的目标是用函数族刀 Nwig(入i II X-Xi II Rn)逼近连续函数。

定理1[24] K:Rn T R是径向对称、有界可积的函数

,并且满足/ RnK(x)dx丰0且几乎处

处连续,那么函数族刀Ni=1wig[ II x-xi I Rn ]在Lp(Rn)中稠密.这里g( II x II Rn)=K(x).

定理2[25] K:Rn TR是平方可积函数,那么函数族刀 Ni=1wig[ II x-xi II Rn^ ]在L2(Rn) 中稠密的充要条件是 K是点态的.Chen T等人进一步将这个定理一般化为 :假设g:R+ T RI满 足 g( II x II Rn)€ L2(Rn),则函数族刀 Ni=1wig[ II x-xi II Rn^ i 在 L2(Rn)中稠密.

一个连续函数可以作为 RBF网络激活函数的充分必要条件是函数不能是偶多项式

,并且

得到了用RBF网络逼近Banach空间上的非线性函数及算子的理论结果 .主要有如下3个定 理.

定理3假设g € C(R1) n S' (R1),且g是非偶多项式,X是Banach空间,它具有Schaud-er 基{xn} g n=1,K X是X中的紧集,f是定义于K上的连续函数.那么对任意£ >0,存在正整数 M,N 及 yMi € RM 常数 wi,入 i 工 0,i=1, , ,N,使 f(x)- 刀 Ni=1wig(入 i I xM-yMi II RM) <&对 任意 x € K成立.这里 xM=[a1(x), , ,aM(x)] € RM,x=Em n=1an(x)xn.

定理4假设g € C(R1) n S' (R1)是非偶多项式,X是Banach空间,K X是紧集,V是C(K) 中的紧集,f是定义于V上的连续函数.那么对任意£ >0,存在正整数 M,N,x1, , ,xM € K及入 i,wi € R, E i=( E i1, , , E iM) € RM,i=1, , ,N,使 f(u)- 刀 Ni=1wig(入 i II uM-E Mi II RM) < & 对所有 u € V成立.这里 uM=[u(x1), , ,u(xM)] € RM.

定理5假设g € C(R1) n S' (R1)是非偶多项式,X是Banach空间,K1 X,K2 Rn分别是X 及Rn中的紧集,V是C(K1)中的紧集,G是非线性连续算子,它将V映射至C(K2)中,那么对任 意& >0,存在正整数

M,N,m,常数 wki,入 k,卩 i € R,k= 1, , ,N,i= 1, , ,M,x1, , ,xm € K1, w

1,, , w N€ Rn使 G(u)(y)- 刀 Mi=1 刀 Nj=1

wkig( i I um-E mik II Rmg(入 k I y- w k II Rn)) < & 对所有 u € V 及 y € K2 都成立.这里 um=[u(x1), , 这3个定理对于动态系统的逼近有很好的指导作用

,u(xm)], E nk=( E mk1,, , E mkm),k=1, , ,N. .定理3主要阐述用频域采样数据逼

.上述定理充

近动态系统的可能性.定理4,5阐述了用时域采样数据逼近动态系统的可能性 分说明RBF网络对非线性函数进行逼近是切实可行的

.

与其他前向网络相比,RBF网络具有最佳逼近的特性.Poggio和Girosi指出:从正则理 论导出的网络

学海无涯苦作舟!

(包括RBF网络)具有最佳逼近(Best Approximation) 能力.文中指出采用

算法的多层前向网络不具有最佳逼近性质

BP

,而正则网络(包括RBF网络)最佳逼近存在且唯

最佳逼近(Best Approximation) 定义如下:

定义函数f €函数集 ①,A①,距离d(f,A)=infa € All f-a II表示f与A之距离.如果存在 a0€ A使I f-aO II =d(f,A),则a0是从A中对f的最佳逼近.如果对任意f ,至少有一个函 数a€ A从A中最佳逼近f,则A是存在集.如果函数a是唯一的,则A是唯一集.

对于BP型前向网络,它所表示的函数集合为

d 详{f € C[u] f(X)= 刀 mi=1wi 理论证明d m对于m> 2是非存在集,因此BP型前向网络不存在最佳逼近性质 对于正则网络,如RBF网,其表示的函数集合为

.

d {f € C[u] f(X)= 刀mi=1ci $ (X),ci € R}

其中 $ i(X)=G(X,Xi),G 是 Green 函数.对于 RBF网络,G=G( II X-Xi II ).理论证明 Tm 对m> 1是存在集,而且如果空间C[u]是严格凸的,则Tm(M> 1)为存在且唯一集. 由于目前的研究与应用中,许多神经网络方法都在数字计算机上实现

,如果将数值精度

考虑进去,则会出现一个问题:最佳逼近的性质不受影响,而全局逼近(Un iver-sal Approximation)的性质将不再存在.因此最佳逼近的性能体现了 RBF网络的优点.

由于最佳逼近算法还未成熟,而全局逼近算法在考虑计算精度时又不能保持良好性能 那么RBF网络该如何解决这个问题呢

?文献[5]说明了 RBF网络与广义样条函数相当,它可以

.因此利用低阶局部逼近的总和可以完成对训

.这也体现了 RBF网络比BP型网络优越.

用局部逼近的总和达到对训练数据的全局逼近

练数据的拟合,这样有限阶次多项式问题就解决了

RBF神经网络与 KRE(Kernel Regression Estimator) 具有很紧密的联系,从研究KRE入 手,可以得到如下结果:

(1) 得到RBF网络函数逼近误差关于隐含单元数目的收敛率的上界 (2) 给出RBF网络一致估计量(Consistent Estimator) 的存在性证明; (3) 当学习样本及隐含单元数目趋于无穷时 L2收敛率的上界;

⑷提出了影响RBF网络感受野大小恰当选择的因素

,RBF网络最佳相容估计量的逐点收敛率和

(5) 得到了 RBF网络学习过程中最小二乘估计量经验误差的收敛性结果 2.3.4 RBF网络的训练方法

RBF网络学习方法主要有以下几种

(1) Poggio方法;(2)Moody和Darken方法;(3)局部学习方法[28];(4)正交最小二乘法;(5)聚类 与Give ns最小二乘联合迭代法.

⑴Poggio方法是从采用正则方法推导出的 •对训练样本集S= {(Xi,yi) € Rd x R i= 1,, ,n} 只要将集合

S中Xi选为RBF网络的中心,选定d,然后根据yi可以确定出ci的大小,这样RBF 网络的训练便可完成•

(2) Moody和Darken的算法与Poggio法不同,其隐含单元数目比训练样本数目少得多

•整

学海无涯苦作舟!

个训练过程分为非监督学习和监督学习两个阶段 •非监督学习阶段采用 K-means聚类方法对

训练样本的输入量进行聚类 ,找出聚类中心ci及参数di,然后进行监督学习阶段•由于当ci及 d i确定之后,RBF网络从输入到输出就成了一个线性方程组 小二乘法求解网络的输出权值

wi.

.假设网络中隐

,因此监督学习阶段可以采用最

(3) 局部学习方法是指 RBF网络中每个隐含层单元的学习是单独进行的 含单元的函数为正交函数,则从隐层到输出层可以描述为 y(X)=刀s i=1wigi(X)gi(X) € L2[-a,a]为正交函数• 这样网络输出权值 wi就可以采用下述方法进行. (a) yi(X)=y(X);

(b) 从 ITS寻找 j 使2 最大,令 g-i(X)=gj(X); (c) wi=;yi+1(X)=yi(X)-wig-i(X); (d) 若精度不够,i=i+1,回到(b),否则终止•

由于RBF网络基函数并不满足正交化条件,因此上述方法需作改进.局部训练法通过基 函数选择来解决这个问题.基函数选择的原则是:在空间某个区域内,只有一个隐含层单元的 基函数取值较大,其他近似为零•因此这些函数是近似正交的

.为了提高网络的综合性能

,能够 ,求解

适应新的外界输入,应该加入惩罚项[28]・这种算法不需要确定函数中心,也不需要预先知道 RBF网络隐含单元数目,因此是一种较好的方法.但是由于算法中包含复杂的优化问题 有一定难度•

⑷正交最小二乘法 OLS(Orthogonal Least Squares)是目前训练 RBF网络应用较多的一种 方法.这种方法的优点是简单易行,运算速度快,但是不适合递推运算,而且基函数中心的确定 需要进一步研究•正交最小二乘法主要由

SQhen等人提出,在文献[7,29]中分别研究了单输出

.下面是单输出RBF网络的OLS方法学习过

和多输出的RBF网络的正交最小二乘学习方法 程•

对于具有N对学习样本的RBF网络,其输入输出方程为 d=p O +E

d=[d(1),, ,d(N)T]为期望输出,p=[p1,, ,pN]是隐含单元输出阵,pi=[pi(1), , ,pi(N)T], O =[ 0 1,,

0 N]T为输出权矢量,E=[ £ (1),, , £ (N)]T是误差矢量•

由此可知RBF网络是线性回归模型的一个特例 不同的回归因子一般是相关的

.回归因子矢量pi构成了基矢量的集合.由于

,因此需要有一个方法来确定各个不同的回归因子对输出能量

的贡献,OLS方法解决了这个问题 QLS方法的过程是将pi集合变换成正交集,即p=WA,A是 对角线为1的上三角阵,W是包含正交矢量 wi的矩阵.因此有方程d=Wg+E,A O =g.由于A,g 可以在正交化的过程中得到

,因此O也易求解出来.OLS法在每步正交过程中,都要用“新息-

贡献”准则进行正交优选.当OLS法满足一定精度后,算法即终止,这时的正交矢量数目就是 隐含层神经元数目•

(5)Give ns迭代算法是由S.Che n等人提出.文献[30]介绍了 Give ns迭代算法,并且将其与 聚类方法联合得到了一种较为有效的

RBF网络训练算法.但这种方法运算的存储量大,运算

学海无涯苦作舟!

速度慢,对实时运行有一定影响.Give ns迭代算法包含聚类和

Give ns最小二乘法有如下目

的:(a)对于RBF网络的实时应用,由于输入数据不断变化,因此RBF网络的函数中心需要恰当 选择以使它对输入域充分采样

,并且可以跟踪上输入数据的变化模式 ,所以算法采用了递推

RBF网络的权值得到实时修正.

K-mea ns聚类方法;(b)利用Give ns最小二乘法的良好性能使 2.3.5 RBF神经网络的优点及问题

RBF网络是一种性能良好的前向网络

.它不仅有全局逼近性质,而且具有最佳逼近性

能.RBF网络结构上具有输出-权值线性关系,同时训练方法快速易行,不存在局部最优问题.这 些优点给RBF网络的应用奠定了良好的基础 (1)

发,但是聚类需要有一个

度量问题.如何定义这种度量才能恰当的找到

RBF网络的数据中心还需研究,因为在仿真研

.

.尽管如此,RBF网络有许多问题需要解决.

如何确定网络激活函数的数据中心 .目前许多方法都从聚类出

究中发现RBF网络的数据中心对 RBF网络的学习速度及性能有较大影响

(2)

映了很复杂的非线性

如何寻找合适的径向基函数 .对于一组给定的学习数据 ,往往反

关系,而且数据相关性较大,如果基函数选择不当,那无论怎么改进 RBF网络的学习方法,都难 以达到学习精度或根本不能完成学习任务

⑶研究RBF网络最佳逼近算法.

⑷研究0型RBF网络训练方法.因为目前RBF网络的主要训练方法都是针对I型和H 型RBF网络的,往往实际效果不如理论所述那么理想 考虑在网络训练中寻找最优的函数中心

.

,主要原因是I型和H型 RBF网络没有

ci和控制矩阵工.

(5)设计快速有效的迭代算法训练 RBF网络.迭代算法是网络实时运行的需要 ,而目前已 有的迭代方法存储量大,运算较慢,所以需要快速的迭代算法.最近我们正在研究用 PLS方法 来训练RBF网络,以期达到网络实时运行的效果 .

2.4模型分析

2.4.1需求分析

(1) 总体目标

为满足股票投资者的需要基础, 开发适应当今发展潮流需要的股票险测度及股票走势预 测系统。该系统应具备较完善的风险测度机制及股票走势预测机制,

能够将采集的数据与先

该系统

进的风险测度和预测系统相结合, 可使用户根据自身要求快速构建所需的股票模型。

功能简洁高效,应该具有可扩展性, 灵活易用的数据接口,可快速、便捷地将用户已有数据 资源导入系统,迅速开始股票风险测度和股票走势预测工作。

(2) 功能需求

目前国内的有些股票分析软件提供了股票的常见技术指标的分析表、

提供了股票的消息

咨询等操作管理,而有些股票分析软件相应地提供了基于股票价值模型的股票走势预测等智 能分析模块。股票走势预测:对股票历史数据进行统计分析等一系列操作,以获得股票走势 规律,依据此规律而预测出

学海无涯苦作舟!

股票未来价格走势。

(3) 股票走势预测模型

股票市场是一个非常复杂的非线性系统,

股票数据虽然蕴含着某些走势规律,

但由于股

票数据的复杂性而难以总结规律。 而神经网络具有自学习功能, 只要把对应的股票数据输入

神经网络,网络就会通过自学习功能来学习, 从而总结出相对应的走势规律并建立网络模型。 同时,神经网络具有联想存储功能以及高速寻找优化解的能力。 神经网络的这些特点对于极

其复杂的股票市场的分析预测具有非常好的针对性与适用性。 2.4.2可行性分析

目前,股票投资己成为最为普遍的金融投资之一,

越来越多的人进入了股票市场。

对股票投资者而言,需要通过股票预测来尽可能的缩小投资风险、 扩大获益的机率。股票预测可

以使股票投资者在尽可能地规避投资风险的同时获得较大的收益,从而获得良好的经济回 报,因此,本股票预测系统是会有可观的经济价值的。

学海无涯苦作舟!

第三章股票预测系统设计与实现

3.1股票走势预测模型建立

3.1.1模型建立相关原理

1•股票走势信号

股票走势信号是依据 K线理论中的周 K线组合形态分析法。 周K线反映的是一周的股 价变化,以一周第一个交易日的开盘价为其开盘价,以一周内的最高、

最低价为其最高、最

K

低价,以本周最后一个交易日的收盘价为其收盘价,周成交量为一周成交量的总和。周 线组合应用是分析当前股价走势运动处于何种阶段, 测,以指导投资者的当前股市操作。

周K线组合应用的关键步骤如下 : (1) 确定样本区间; (2) 周K线形态公式化计算;

K线是一条柱状的线条,由影线和实体组成。影线在实体上方的部分叫上影线, 部分叫下影线。实体分阴线和阳线。

实体、上影线、下影线的计算公式如下

并据此对未来的股价走势作出相应的预

下方的

<3 6)

呼传 max(开盘价,收驾价卜min(开嘗价,收墨价)

最高价-max(开盘地收盘价)

收盘价

(3,7)

min(开盘价,收盘价)-最低价

收盘价

根据开盘价与收盘价的波动范围,可将

(3Q

K 线的实体形态分为小阴、小阳、中阴、中阳

和大阴、大阳等。它们一般的波动范围如下

小阴线和小阳线的波动范围一 一

中阴线和中阳线的波动范围

般在 般在

0.6%— 1.5%; 3.5%; 1.5%— 3.6%以上。

中影线和短

大阴线和大阳线的波动范围 般在

根据最高价、最低价、开盘价和收盘价的波动范围,可将影线分为长影线、 影线。它们一般的范围如下 :

长上、下影线理论上两倍于实体以上 中上、下影线理论上一倍于实体以上 短上、下影线理论上一倍于实体以下。 (3)划分股票走势信号

根据股票最近连续三周的周 K线组成的不同形态,股票走势信号的划分如下

; ;

见底回升信号:上影召阳一一两根或两根以上的周阴线后,紧接着一根长上影线的周阴 线之走势;

学海无涯苦作舟!

持续上升信号:福星高照 ----- 根大阳线之后,紧接着连续出现两个十字星之走势 见顶回落信号:上影孕阳 ---- 根长上影阳线之后,紧接着拉出一根最高价未能超越这 根长上影阳线的小阳线;

持续下跌信号:双阴短影 ---- 根阳线之后,紧接着两根带有不明显的下影线的阴线。 股票的价格是一种离散时间序列数据。设第

k天的股票价格为 Xk,则

X、=g(尸)。其中X “ =(Xk-1,,, Xk),g(.)为一非线性连续函数。

刻画了这一时间序列的动态机制, 只要找到g(.),就能对这一时间序列做出适当的预测。 然而,股票市场的高度复杂性,刻画其具体的动态过程极其困难。与此同时,

RBG网络对

非线性函数的逼近非常适合,因此利用它对股票市场的动态过程进行建模是非常适合的。

对于股票价格预测而言,它的预测特点是 度的非线性关系,选取多层前馈神经网络结构即

因此,本股票走势预测模型采用

:多输入、单输出的非线性映射。对于这种高

BP网络建模,既清晰又明了。

RBF神 Xk。

BP神经网络进行建模,同时利用遗传算法对

经网络进行优化,模型输入是 X ‘ ==(从_1, ,, xk_,) ‘,模型输出端的导师信号是

选取适当的匹配对(x x*)作为训练样本,学习后的 g(.)便可作为一预测器,对未来的股票 市场进行单步预测。

3.1.2股票走势预测模型建立

本股票走势预测模型是基于

RBF学习算法和遗传算法相结合进行建模的。

之所以如此,

是因为RBF学习算法具有收敛速度慢且难以收敛到全局最优解的缺陷,而遗传算法可以有 效地解决全局寻优问题。因此将遗传算法与 用遗传算法良好的全局寻优能力来克服

RBF学习算法相结合进行模型建立,是充分利 RBF学习算法收敛慢和易局部收敛的缺陷,同时利

两者的结合产生

用BP学习算法突出的局部寻优能力来克服遗传算法局部搜索能力的不足。 了一种全新的混合寻优技术一一遗传神经网络。

遗传神经网络的实施关键在于如何组合

RBF学习算法与遗传算法。本股票走势预测模

并用

型提出了一种遗传神经网络算法, 即每代经遗传操作后选择出最好个体保存到下一代,

RBF学习算法进行学习。 RBF学习采用动态学习率改进策略,这种改进策略即体现了系统 的非线性,又通过遗传算法的学习优化权值,提高了运算速度。

据此,用遗传算法优化 RBF网络权值的过程步骤如下:

(1) 权值初始化采用实数编码策略,依据依据神经网络模型的结构及所求解的问题进行 染色体基因编码,构造出编码链 ;

(2) 生成种群随机生成初始的均匀分布的染色体群体

对种群中的个体

(3) 个体评价输入一组训练样本,用此训练样本对群体中个体所代表的神经网络进行训 练,计算每个个体的学习误差, 并以此为基础确定遗传操作的适应度函数, 进行评价。适应度越大说明网络输出与实际输出的误差越小,表明网络性能越好

(4) 遗传操作对群体中个体进行遗传操作,包括选择、交叉和变异

(5) 保存最优个体将当前代个体逐个与迄今为止最优个体进行比较,若有比迄今为止更 好的个体出现,则用该个体替代迄今为止最优个体, 体;

(6) 迭代重复上面(2)、(3)、(4)、(5)步的操作,直到达到训练目标。

并用最优个体替代当前群体中的最差个

学海无涯苦作舟!

根据上面的步骤,算法的 C语言描述如下 mai n(){

in tcur_ge n=0; intk,j:

in itialize_ge ne(); set_Problem();

while(cur_ge n++}

遗传神经网络算法流程图如图

3.1所示。

图3J遗佟神经网路示意图

Fig 3.1 Flow Chart of Gann

根据图3.1,遗传神经网络实现技术主要有以下几点 (1) 编码

遗传神经网络直接采用实数编码方法, 与一般遗传算法采用二进制编码有所不同。 编码采用一个染色体用一个浮点向量表示的方法,

实数

具有微调功能,同时不存在编码和解码的

学海无涯苦作舟!

过程,增加算法导向性,提高算法的收敛性和收敛速度, 避免了编码中带来的负面影响。而

二进制编码存在编码串太长,编码解码不方便,操作复杂,对于复杂问题无法计算、收敛过 早等问题。

(2) 适应度函数的选择

遗传算法在搜索进化过程中一般不需要其它外部信息,

仅用评估函数值来评估个体或解

由于染色体表示权值,则

的优劣,并作为以后遗传操作的依据。评估函数值又称为适应度。 适应度函数便是神经网络的误差计算,函数表达式为

(3,9)

八 1/G E =

Arc! /=l

匸丁/2

式中,n -------- 训练样本数;

q一一输出单元个数; 比——第k个样本训练时第j个输出单元的实际输岀与期

望输 岀的差°

(3) 初始化

随机产生初始种群 P={x; , X 二,x,},任一 X,。p为一神经网络,它由一个权值向 量组成。仅值向量为 n维实数向量,n为所有连接权的个数。

(4) 遗传算子操作 选择算子

选择操作的目的是为了从当前群体中选出优良的个体, 繁殖子孙。遗传神经网络采用轮盘赌选择策略,

使它们有机会作为父代为下一代

将适应度值

从群体中选择一定数目的个体,

高的个体保存到下一代。反复执行该过程,直到下一代个体达到要求为止。

交叉算子

在当前代中随机选择两个配对个体, 分别交换其部分基因, 从而形成两子代个体。 交叉 运算在遗传算法中起着关键作用, 是产生新个体的主要方法。 常用的实数交叉算子有点式交 叉、均匀交叉、算术交叉等。根据编码的不同,遗传神经网络采用算术交叉方法,

定义如下。

Y (3”10)

式中,a为O到1之间的一个随机数,也可根据情况适当缩小取值范围。 变异算子

变异运算可以改善遗传算法的局部搜索能力,维持群体的多样性,防止出现早熟现象。 遗传神经网络采用非均匀变异策略,其重点搜索原个体附近的微小区域。

在进行由X 一 xlxZ , xk, x,向x'二xlxZ , x' k, xl的非均匀变异操作时, 处的基因值取值范围为卜磊

n, u磊x{,则新的基因值・x,、由下式确定

若变异点、、

xk + △(扎 邱…)t rando?n(S)S) = 0

孔-△仏片一 “爲random^) = 1

(3.H)

式中,△ (I, y)表示〔o, y]范围内符合非均匀分布的一个随机数,要求随着进化代数

学海无涯苦作舟!

的增大而接近0这样选取的函数允许这个算子在算法的开始阶段一致搜索整个空间, 法的后阶段进行局部搜索。变异运算采用的

△ (t,夕)定义如下:

而在算

乂 J)二尸(1-,皿〃)

式中,r为LO,1]范围内符合概率分布的一个随机数, 参数,它决定了随机扰动对进化代数

t的依赖程度。

(3,⑵

T为预置的最大代数,b是系统

最优个体保存将每次产生的群体中最好的个体保留下来,替换掉本代群体中经过交叉、 变异等遗传运算后所产生的适应度最低的个体, 破坏。

以确保迄今为止最优个体不会被遗传操作所

3.2股票预测系统功能设计

3.2.1系统功能结构图

以本文提出的理论为基础,设计并开发股票预测系统。股票预测系统要完成股票价格指 数预测的功能操作,开发的目的是使该系统对投资股票的用户进行相关的股票投资指导,

使用户能尽可能的规避投资风险、 获得收益回报,同时尽可能使系统具有方便的用户交互操 作性。目前该系统基于单机操作而设计,但考虑其扩展性,采用 库连接采用ODBC,开发环境为Jbuilder20os+sQLserv2000。

Java语言进行开发,数据

Fig 3.2 Fig of System Use

用户进入数据管理模块,进行数据格式转换,系统调用数据输入模块进行输入与更新数 据记录

学海无涯苦作舟!

操作。用户进入股票风险测度模块运用建立的股票风险规避机制进行股票风险测度操

作。此外,用户也可以进入股票价格指数预测模块,在对网络训练完毕后进行股票价格、上 证综合指数的预测操作。因此,根据上述分析,股票预测系统的功能结构图如图

3.3所示。

图3.3系统功能结构图

Fig 33 The Function Structure Chart of System

322系统各部分功能设计

(2)股票价格指数预测模块

该模块可以根据上证综合指数或个股的历史交易数据,

运用遗传神经网络预测原理,预

测个股股价或上证综合收盘指数,为用户的投资决策提供辅助的支持。

(3) 数据管理

该模块是对股票数据的类型转换,对系统中的各股票数据表进行管理。 (4) 股票查询

该模块可以根据股票代码或股票名称进行精确或模糊两种方式的股票查询操作, 用户快速查找股票的途径。

以提供

3.3数据库设计

股票市场中,所有股票都具有各自的股票代码、

股票名称以及所属行业等信息,

以此对

各支股票进行区分。同时,股票的四价二量一一开盘价、 最高价、最低价、开盘价、成交量、

因此本股票预测

名称 ShAstock ”

成交额包含了股票的发展规律, 可以通过这四价二量来探索股票变化趋势,

系统的数据库包含两类表,即股票列表及股票使用表。股票列表包含各支股票的代码、 等信息,股票使用表包含各只股票的四价二量等信息。本系统所用股票列表为“ ,

学海无涯苦作舟!

股票使用表为各支股票的数据表,包含四价二量等信息。

因此,股票列表“ ShAstock”结构如表3.1所示,股票使用表结构如表 系统数据库也包括用户信息表,其结构如表

3.3所示。

3.2所示。另外,

学海无涯苦作舟!

表3-1 shAstock表結构

Table 3.1 Structure of Table shAstock

列名 股票代码 股票名称 行业1 行业2

数摇类型 K度 6 20 20 20 varchar varchar varchar varchar 表3.2股票使用夜结构

Tabic 3 + 2 Structure of Table Stock Using

列名 日期 开盘 最高 数摇类型 长度 char float float float float float float 10 ・8 8 8 8 8 8 收盘 成交琵 成交额

表33用户信息表结构

Table 3.3 Structure of Table User Information 列名 数据类型 长度 username userpasswd 3.4股票预测系统实现

股票走势信号

varchar varchar 20 20 该部分的主控类为 Trend类,类图结构如下

学海无涯苦作舟!

Trend

+ U ptoL o w () + SdHLow () + StiHU p()

+ L o w toU p() + SetO ul()

图3.5股票走势信号类图

Fig 3.5 Structure of Stock Trend Signal

如图3.5所示,Trend类包含的主要方法包括见顶回落信号、持续上升信号、持续下跌 信号、见底回升信号的公式化计算、判断以及结果输出等操作。 341股票走势预测

股票走势预测模型建立分为三步进行,第一步是设置训练参数步 进行网络训练,第三步是输入预测数据进行预钡。现分别说明如下

(1) 设置训练参数

图3.6为设置训练参数的用户界面。如图

3.6所示,用户可以通过此界面设置网络训练

,第二是输入样本数据 :

的关键参数,如种群大小、训练次数、交叉率、变异率及误差精度要求。网络根据所设置的 参数进行训练,并依据最大运行代及精度要求设定终止条件, 求则提前停机,达到规定的运行代数则正常停机。

即训练过程如果达到了精度要

图3.6训练参数设置界面

Fig 3.6 Interface of Setting Training Parameters

(2) 网络训练

网络训练参数设置后, 就可以进行网络训练了。 如前所述,网络训采用的是遗传算法与 RBF算法相结合的思想,完成诸如选择运算、交叉算、变异运算及最优个体保存,这样经

学海无涯苦作舟!

过若干代的训练及进化之后,使络收敛到一个比较理想的范围。该模块的主控类为 类,其中包一个核心对象,即 :TrainThread类对象,完成实际的训练操作。

Traitri ng

Traini类的类图

结构如图3.7所示。Training类包含的主要方法包括初始化种操作、样本规一化处理、计算 适应度、遗传操作及线程控制等操作。据此以网络训练线程及其操作进行分析, 练的实现过程。

阐述网络训

T raining

-TrainThread:trainThread +initValue() 十 unit。

+calFitness(in i : int) +cross() +mutationO +run() +pause() +stop()

图 3.7 Training 类图

I

1

Fig 3.7 Structure of Class Training

线程控制操作使得用户只要通过界面上的相应按钮就可以对正在进行中的遗传操作进 行停止或暂停操作。当用户点击界面上的\"停止”按钮时,系统便调用TrainThread的stopme() 方法;当用户点击界面上的\"暂停”按钮时,系统调用的是 法,前者终止正在运行中的线程,后者暂停正在运行的线程, 关键代码如下:

终止线程

voidstoP_aetio nPeformed(Aetio nEven te){ getTrai nThread().stoPme(); train Thread=null; Pause.setE nabled(false); } 暂停线程

voidPause_aeti on Performed(Aeti onEven te){

if(threadPause)

getTrai nThread().resumeme(); CISC

getTra in Thread().susPe ndme(); 此外,在线程正常运行的过程中,

TralnThread采用:un()方法对网络进行训练,其中调

ealFitness()方法、进行交叉的cross()方法、

TrainThread中的suspendme()方 并交出线程的控制权。两者的

用几个函数完成遗传操作,其中包括计算适应度的

进行变异操作的 mutation()方法及最优个体 RBF学习的rbf_cal()方法,这里仅列出其中的关 键代码:

计算适应度关键代码 PublievoidealFit ness(i nti){

for(k=0;kfor(intx 二 0;xsum+=i_ un it[x]*ge nevalue[i][g nu m]; gnu m++;

}

Sum-ge nevalue[i][g nu m++]; h_unit[k]=1/(1+Math.exp( 一 sum)): }

for(k=O;ksum+=h_ un it[x]*ge nevalue[i][g nu m]; gnu m++;

}

Sum-ge nevalue[1][g nu m++];

Fit nessi=1/pace;〃适应度取为误差平方和的倒数 变异操作关键代码: voidmutati on(){ for(i=0;imutatio nF lag=Math.ra ndom(); if(mutatio nF lagtemP=Math.Pow(r, Math.Pow(1-eurgen/maxgens,delta=(genevalue[i」[mutationPos]+10)*(l-temP) gen evalue[i][mutati on Pos]-delta;

} else

delta=(10-ge nevalue[i][mutatio nPos])*(1-temP) genevalue[i][mutationPos」+=delta: }

ealFit ness(i); 交叉操作关键代码: Voideross(){

for(i=0;ierossFlag=Math.ra ndom(): if(erossFlag学海无涯苦作舟!

5)); if(r>=0.5){

学海无涯苦作舟!

erossAga in=true; while(erossAgai n){

erossPos==(int)(Math.random()*(glength 一 l)+0.5); r=Math.ra ndom(); forj =0;jgen evalue[i][j]=memge nevalue[i] [j]; gen evalue[i+1] [j] =memge nevalue[i+1][j]];

}

for j=erossPos:jgenevalue[i] [j]]=r*memgenevalue[i] [j] +(I 一 r)*memgenevalue[i+1[j]; genevalue[i+l] [j]=(1 一 r)*memgenevalue[i] [j] + r*emge nevalue[i+1] [j]; }

ealFit neSS(i)://计算新的适应度 ealFit ness(i+l); rbf学习

for(i nt times=0;times<5000;times++){

for 白=0:j<9length;j++)

savegene 口 l=genevalue[i][j]];〃 保存现在的权值 fit=fitness[i];〃 保存适应值 for(j=o;jwj1][kl]+=Pstudy*(outvaluesj][kl]-_u nitj) o_u nitj][kl]*

(l-_u nitj][kl])*h_u nitj][jl]+Peha nge*deltaw: deltaw=pstudy*(outvaluesj)[kl] 一。_unitj][kl」广 o_un itj1[kl]*

(1-_u nitj]fkl])*h_u nitj}j1]+Peha nge*deltaw; }

for(i nt11=0;11for(i ntjl=O;jldoubletemPsum=0.0; for(i ntkl=0;kltemPsum+=(outvaluesj][kl] _u nitj][kl])*o_u nitj][kl]* (o_u nitj][kl])*wj1][kl];

v[11]j1]+=Pstudy*temPsum*h_u nitj]j1] *(l-h_u nitj]j1])*i_u ni tj][11]+peha nge*deltav:

〔 kl)*

学海无涯苦作舟!

deltav=Pstudy*temPsum*h_u nitj]jl] *(l-h_u nitj]j1])*i_u nitj][11]+peha nge*deltav; }完成rbf计算

calFit ness(i);

fitn ess[i]=fit; deltav=0; deltaw==0; } }

(3) 网络应用

经过网络训练后,股票价格指数预测模型己经建立, 票价格、股市综合指数的相关预测。 342数据管理模块

本系统的用户需要每天进行股票数据管理即进行更新股市交易数据操作, 通过股票数据转换软件与后台

因此,该模块

用户只需输入预测样本即可进行股

SQLServer2000数据库合作共同实现。应用专业股票数据转换

并创建数据文件,其中股票交易数据是从股票软

软件实现股票交易数据的类型转换与整理, 件如大智慧下载所得。应用

sQLServerZOOO的作业臼ob)功能实现定时启动应用程序,并依

ODBC作

赖SQLServer2000的DTs功能实现数据从数据文件向数据库的转换。程序中选用 为数据库访问控件。

前台可执行程序的主控类为 示。

DataManaging类,DataManaging类的类图结构如图 3.8所

DataManaging +Getting()

+Reorganizing() +Filing() I 图 3.8 DaiaManaging 类圏

Fig 1.8 Structure of Class DataManaging

首先,在启动股票软件如大智慧后, 对股票交易数据进行下载, 经过专业股票数据转换 软件将股票数据文件类型进行转换,并创建相应的文本文件股票数据文件。然后,由

SQLServerZ。。o的DTs实现数据从文本文件数据文件向数据库的转换。这样,就完成了股 票数据管理的整个过程。

第四章股票预测系统应用仿真

4.1预测目标及数据来源

学海无涯苦作舟!

在对股票风险进行测度时, 可以根据不同风险的类别、 性质等因素来进行测度操作。 价 格进行预测时,可以选择股票收盘价具体值或者股价涨跌值作为预测目标。 目标,对系统预测精度的要求也不同。

因此,本课题中的股票测度模型以股市中所有股票的价格走势信号类型为预测目标, 时以投资者选择的投资组合的风险类型为预测目标进行股票测度模拟实验。

针对不同的预测

而股票走势预测

模型以股票收盘价的具体值以及上证综合指数为预测目标进行股票预测模拟实验。

本课题所使用的股票数据来源于大智慧股票软件。

4.2股票走势预测模型实验仿真及结果分析

4.2.1数据预处理

为了建立股票走势预测模型,必须收集股票信息数据并将其转换成数据模型所需的格 式。在这个阶段,要考虑到预测特征所需要的历史数据,

以此为基础来预测未来。 数据的预

冗余性和模

处理是此阶段的重要环节。原始数据库中存放的原始数据一般都具有不完全性、

糊性,很少能直接满足模型要求。 因而我们必须对原始数据库中的数据进行规范化处理, 一量纲,并将数据整理成输入输出样本对数据文件。

设历史数据构成的样本对取值范围为 o

4.2.2实验实例

(1)个股仿真实验

本次实验选择沪市 A股宝钢股份作为预测股票,选取与宝钢股份为同一行业板块的武 钢股份以及A股收盘指数作为网络输入,以

xl — x,:为输入变量,以y为输出变量,如表

m —一输出层结点数,k 一一隐

4.5所示。并根据公式 k=Y天石+。(n 一一输入层结点数,

含层结点数,a 一一 O 一 10之间的数)来确定隐含层结点数,经过反复实验反复试算比较确 定隐含层神经元个数为

6,故网络结构为:15 一 6 一 1。网络参数设 置如表4.6所示。

学海无涯苦作舟!

表4.5输入输出变璟表

Table 4.5 Input and Output Variables Table X| Xj Xj 1 X4 宝钢股粉、武钢股份、沪市A股第一日收盘价 宝钢股份、武钢股份、沪帝A股第二日收盘价 宝钢股份、武钢股份、沪市A般第三巳收盘价 宝钢股份\"武钢腔份、沪市A股第四日收盘价 宝钢股份、武钢股份、沪市A股第五日收盘价 宝钢股份连续五个交易日后收盘价 x7 xs X]0 xH Xu 1 Xn Xn X15 y i

表4.6网络参数表

种計人小 交叉算子 变异算子 最大迭代次数 课差收敛因子 Table 4.6 The Parameters of The Network Table 100 0.7 0.08 1 1000 0t0J

选取宝钢股份 2005年12月20日至2006年9月5日的数据,将选取区间中的170个交 易日数据进行整理分组,其中训练样本 130组,测试样本40组。即用第1天至第5天的数 据预测第6天的收盘价,依此类推,作为训练样本,共130组。用第131天至第135天的数 据预测第136天的收盘价,作为测试样本,共 40组。

经过网络训练,确定模型。经网络预测得到输出值 误差见表4.7所示。

(预测值),测试样本预测值及其相对

学海无涯苦作舟!

表4.7网络预测结果表

Table 4,7 Results of Network Forecasting Table 日期 预测值 实际值 相对饯差(%) 2006 心 4 2006*8*9 2006-R-10 2006*8*1! 2006-8-14 2006-8-15 2006-8-16 2006-8-17 2006-8*18 2006-8-21 2006-8-22 2006-8-23 2006*8-24 2006-S-25 2006-8-28 2006-S-29 2006-S-30 2006-8-31 2006-9-1 2(106*9-4 2006-9-5 (2)上证指数仿真实验

4,05 4.05 4.05 4.09 4.07 4.15 4.14 4.12 4.11 4.09 4」? 4J7 4.13 4JS 4J6 4.15 4J5 4,05 4.04 4.08 4」。0.00 +0,25 *0,74 -0,24 | -0.25 -0.4S -0,24 0-00 -0.48 -0.73 +0.24 0,00 | 024 0,00 -0.48 ■0h48 +0.24 +0.24 +0.2 斗 +0.73 +0.49 人气是否

| 4.08 4J7 4.15 4J2 4」3 442 4/16 4J7 4J4 4J5 4J8

AA1 4J4 4.14 4.13 \"5 4J4 4J5 4J3 4.] 2 4.11 根据量价理论,成交量是股市的元气, 它的变动直接表现股市交易是否热烙,

旺盛,而且体现了市场动作过程中供给和需求的动态状况。

本次实验以x, — xl。为输入变量,以y为输出变量,如表 4.8所示。并根据公式 k二 福丽+。(n 一一输入层结点数,

m —一输出层结点数, k 一一隐含层结点数, a一一 O 一 10

5,

之间的数)来确定隐含层结点数,经过反复实验反复试算比较确定隐含层神经元个数为 故网络结构为:10 一 5 一 1。网络参数设置如表 4.9所示。

学海无涯苦作舟!

表4.8输入输出变量表

Table 斗.呂 Input and Output Variables Table Xj Xi 上证指数第一吕收盘价、成交罐 上证指数第二日收盘价、成交量 上证擅数第三E3收盘价、成交量 上证指数第四日收盘价、成交量 旳Xj I Xe 上证指数第五日收盘价、成交量

上证指数连续五个交易日后的收盘扌旨数 表4,9网络参数表

Table 4,9 The Parameters of The Network Table 种群大小 交叉算子 变昇算于 最犬迭代次数

100 0. 6 0. 05 1000 0. 01 1 误羞收敛因子 选取上证指数2006年1月4日至2007年1月31日的数据,将选取区间中的 260个交

180组,测试样本 80组。即用第1天至第5天的数据预 易日进行整理分组,其中训练样本

测第6天的上证收盘指数,依此类推,作为训练样本,共 数

180组。用第186天至第191天的

据预测第192天的上证收盘指数,作为测试样本,共 经过网80组。 络训练,确定模型。经网络预测得到输出值 相对误差见表4.10所示。

(预测值)部分测试样本预测值及其

表4J0网绪预测结果表

Table 4.10 Resul ts of Network Forecast itig Table 日期 2007-2-1 2007-2-2 2007-2-5 2007-2-6 2007-2-7 2007-2-8 2007-2-9 7007-2-1 Z 2007-2-13 2007-2*14 2007-2-15 2007-2-16 2007-2-26 2007-2-27 预测值 实际價 2 785.4S2 2 673.212 2 612.537 2 675.697 2 716.175 2 737.732 2 730386 2 B07J74 2 83TE72 2 905.093 2 993 .008 相对 十 0.27 +0.06 +0.71 -0,49 -0.75 0.16 *0.37 -0,75 *0.14 -0.27 -0,46 +0,19 +0.23 2 792.86S 2 674.913 2 630.994 2 662.636 2 695.867 2 742.187 2 720J52 2 786J20 2 &27.771 2 897J07 2 979.271 2 996,4斗2 3 046.348 2 778.109 2 998.474 3 040.599 2 771.791

学海无涯苦作舟!

2007*2-28 423结果分析

2 S95.224 2 881.273 +0.4S 由表4.6可以看出,个股的预测值与实际值基本吻合,相对误差甚微。 这表明,将与预测股票具有某种联系的其它股票以及沪市

A股的指数作为网络的输入

变量,是完全可行的。所谓的与预测股票具有某种联系可以指与预测股票处于同一行业或板 块而具有相互的波动性。

由表4.9可以看出,上证指数的预测值与实际值基本吻合,相对误差相对来说较小。这 表明,网络的输入参数选取及网络结构的有效优化与简化,

对于提高网络预测精度具有关键

具有自学习、自适应能力

并可用总结出

作用。综上所述,遗传神经网络训练股票数据之间的非线性关系, 强的特点,它不需要任何先验函数的假设,

即可从原始数据中自动总结规律,

的规律来预测未知。近年来,遗传神经网络广泛应用于股票预测领域并取得了可喜的进展, 网络训练技术出现了许多有效的改进算法,

但在神经网络引入股票预测领域后出现了一些与

提出将遗传神经网络成

股票数据相关的特殊问题,笔者查阅了大量资料并总结自己的经验, 功应用于股票预测领域的一些建议

(1) 样本选取:选取训练样本应该具有代表性,选择时要注意样本类别的均衡,尽量使每 个类别的样本数量大致相等。即使是同一类样本也要照顾样本的多样性与均匀性。

(2) 尽量考虑所有对股票预测起决定作用的参数

:在应用神经网络过程中,应尽量考虑对

尽可能减小预测误差。

,而且可

输出变量有影响的股票参数, 将主要参数作为网络输入或采用固定值,

(3) 样本的组织:按“平均主义”原则选择的样本能使网络在训练时“见多识广”

以避免网络对样本数量多的类别 “印象深”,而对出现次数少的类别 “印象浅”。样本的组织 要注意将不同类别的样本交叉输入,或从训练集中随机选择输入样本。

第五章结论

5.1研究成果

股票市场是一个极其复杂的动力学系统, 因素决定了股票预测的复杂与困难。

本文对基于CAPM理论、K线组合分析理论的股票风险测度以及基于遗传神经网络的 股票价格指数预测进行了深入研究,并采用 论分析及仿真实验,可以得到以下结论

Java语言实现了模型的建立。基于本课题的理 具有动荡混沌现象,高噪声、严重的非线性等

(1) 经过对股票风险测度模型分析及仿真实验, 可以从结果中得出, 股市整体走势因素即 股市是熊市还是牛市这一因素在股票的风险测度过程中具有一定的影响性。

(2) 通过对股票走势预测模型分析及仿真实验,可以从结果中得出,股票走势预测模型 在仿真实验应用中的相对误差值平均处于一个较小的误差范围内。

(3) 经过对股票走势预测模型分析及仿真实验,可以从结果中得出,

,同行业或相关领域

的各股票作为遗传神经网络的输入结点参数, 是切实可行的,即在选取遗传神经网络输入结 点参数时,多角度考虑各股票之间的相关连动关系是切实可行的。

学海无涯苦作舟!

(4) 经过对股票走势预测模型分析及仿真实验,得出样本的选择对于基于遗传神经网络 的股票走势预测模型而言十分重要, 既要保证样本的数量, 又要保证样本的质量, 此外还应 注意样本分布的均衡,尽量使每个类别的样本数量大致相等。 本的多样性与均匀性。

即使是同一类样本也要照顾样

5.2创新点

本课题具有以下几点创新之处 : (1)

把股票风险测度摆在了股票走势预测之前的第一位因素

考虑,建立了股票风险测度 模型,提出了一种全新的风险规避机制。 (2)在进行股票价格走势预测模型的建立时,考虑

到与预测股票有某种联系的其它股票的走势, 据。

提出确定影响个股走势的因素和关联个股的依

5.3存在的不足

在进行股票预测模型建立过程中,

由于时间较紧,在数据采集、整理等方面都存在不够

完善的地方,一定程度上影响了预测结果的准确性。目前存在的问题如下

(1) 数据信息不够全面

股票市场中存在着许多不同方面的信息,

诸如上市公司的背景、 经营情况等信息,对于

股票预测都具有影响作用,但由于某些原因,在模型建立过程中未能获得这些信息。

(2) 建模方式不够优化

模型建立过程中,没有完全采用动态的建模方式, 的数据,会有一定的预测偏差。

因此在预测方面的实现上, 对于不同

5.4今后进一步研究内容

本课题所取得的结论具有一定实际和理论价值,

但由于时间、资料及作者本身能力的限

制,目前的研究工作还很不完善,仍有很多的研究工作有待继续完成,其中包括

(1)深入研究数据采集工作

股票市场是个开放的市场,因此股票数据都是公诸于众的。 其中,股票数据除了基础的 四价二量之外,还包括诸如股票换手率、 上市公司信息等信息, 如何较为便捷地采集这些信 息并应用于股票预测中,是有待于更加深入研究与探讨的。

(3) 深入研究预测模型的优化

预测模型的健壮性不是很强, 特别是受到一些噪声数据的影响, 分析结果的准确性有待 进一步提高。如何有效地消除噪声数据的影响, 内容。

增强预测模型的健壮性是今后进一步研究的

学海无涯苦作舟!

参考文献

[1] Chen.C.H,Neura Inetworks for financial market Predietion,IEEEWorld Congresson Com Putational Intelligenee,1994,2(27) : 1199-1202

[2] Hamid Khaloozadeh , AliKhakiSedigh 丄ongterm prediction of TehranPrieeindex(TEPIX) using n eura In etworks.Europea n journal of operati on researeh.1998,563-567

[3] Shaun-innWu , Ruey-PyngLu , Combining artifieial neural networks and statistics for stoek-market foreeasti ng. Neural Com Put in ga nd APPlieatio ns.1993,257-264

[4] 张健,陈勇等.人工神经网络之股票预测[J].计算机工程.1997,23(3):52-55 [5] 梁夏.具有自纠错功能的人工神经网络在股票滚动预测上的应用.计算机应用研 究.1999, 1:76-8

⑹王上飞,周佩玲等.径向基函数神经网络在股市预测中的应用 究.1998, 6:44-46

[7] Markowitz,H,Portfolioseleetio n[J].JournalofFi nan ce,1952(7):77-91 [8] 韩力群.人工神经网络理论、设计及应用 系统.北京:化学工业出版社.2002.1:13-15

[9] 刘春平.神经网络的应用与发展 [10] 1杭行.股票投资.石家庄

.电子工艺技术.2005 , 26(6):360-361

--人工神经细胞、人工神经网络和人工神经

J].理论与方法研

:河北人民出版社.2000.3:4-6

2001.8:274-275

[11] 黄磊,姚铮.证券投资学.北京:中国财政经济出版社. [12] 陈之大,贺学会.证券投资技术分析.四川

:西南财经大学出版社.1996.35-51

[13] 赵李娜.CAPM模型与APT模型的比较[J].山东商业会计.2005.3:20-22 [14] 杨子江.金融资产评估.北京 :中国人民大学出版社.2003.8:20-39 [15] 吴晓求.证券投资分析.北京:中国人民大学出版社.2001.12 [16] 李敏强,寇纪淞,林丹,李书全.遗传算法的基本理论与应用.北京 [17] 周明,孙树栋.遗传算法原理及应用.北京

:科学出版社.2002

:国防工业出版社.1999.6

.沈阳航空工业

学院

[18] 苗君明,咚刚,杨者青.基于遗传算法的神经网络优化 报.2005.22(7):30-32

[19] 邓正宏,胡秦,郑玉山.基于遗传算法的神经网络二次训练算法 算机.2005, 22(3):252-254 , 258

[20] 谢冰,戴盛,谢科范.中小企业股票市场化发行定价研究 22(12):72-76

[21] 张宏业.证券刀系数的计算及其应用 15(4):27-29

[22] 部元兴,朱喜安,李炳林.证券市场风险度量方法的分析与评价 管理学院学报.2005,23(1):105-108

[J].微电子学与计

[J].系统工程.2004 ,

[J].北京商学院学报(社会科学版).2000 ,

[J].郑州航空工业

学海无涯苦作舟!

[23] 陶建宏,王京芳,张蓉.股票风险的估计模型及其应用研究 [J].天津职业技术师范学院 学报.2004, 14(1):74-77

[24] 杨书郎.关于股票风险控制的某些问题的研究 版).1998,37(1):24-27

[25] 彭寿康,顾丽亚.风险指数设计与上海股票市场风险分析. [27] 胡守仁.神经网络实现技术

商业研究.2005,16:156-158 [J].厦门大学学报

(自然科学

[26] 尚钢•神经网络结构与训练参数的选取仁 [J].武汉工业大学学报.1997, 2:100-110

[M].北京:国防科技大学出版社.1993:100-158

[28] 玄光男,程润伟.遗传算法与工程技术 [M].北京:科学出版社.2000:258

[29] 杨明林,贺新.人工神经网络与遗传算法结合的研究[J].现代电子技 术.2002,12(143):105-108

[30] 李建珍.基于遗传算法的人工神经网络学习算法[J].西北师范大学学 报.2002,38(2):33 [31] 吉根林,邢乃宁,孙志挥.应用人机交互的遗传算法挖掘股票投资风险规则 型微型计算机系统.2002,23(12):1492-2495

[32] 丁东.股票十日通[M].北京:京华出版社.1998:1-13

[33] 梁霞,黄明,梁旭.改进的自适应遗传算法及其在作业车间高度中的应用 铁道学院学报.2005, 26(4):33-35

[J].大边 [J].小

因篇幅问题不能全部显示,请点此查看更多更全内容