• 沒有找到結果。

基于神经网络和遗传算法的证券预测技术的研究

N/A
N/A
Protected

Academic year: 2022

Share "基于神经网络和遗传算法的证券预测技术的研究"

Copied!
75
0
0

加載中.... (立即查看全文)

全文

(1)

『IIIIIlIIIIIIIIIIIIIIMIrl IIIIIlI+H+IIIl

Y1 437272

分类号:——

U D C:

工学硕士学位论文

(高校教师)

密级:——

编号:——

基于神经网络和遗传算法的证券预测 技术的研究

硕士研究生 :苏丹

指导教师 :蔡绍滨教授

学位级别 :工学硕士

学科、专业 :计算机应用技术

所在单位 :黑河学院

论文提交日期:2007年4月2日

论文答辩日期:2008年3月2日

学位授予单位:哈尔滨工程大学

(2)

哈尔滨工程大学硕+学位论文

摘 要

预测是科学管理的重要环节,是决策、规划的前提,在社会经济管理中,

经常要对某一事物或系统的发展趋势进行预测和分析。而股票市场是经济的 报警器,其作用不仅被政府所重视,而且受到投资大众的普遍关注。

起源于上世纪四十年代的人工神经网络是人工智能的一个分支,它在很 多领域得到了广泛的应用。神经网络能学习贮存以往的历史经验知识,并能 外推到未来,这是神经网络用于预测领域的理论依据。对于时间序列的股市 预测,神经网络比其他数学模型更有效,而且精确度更高。

遗传算法具有强大的搜索能力,因此可以用来解决很多常规方法无法解 决的问题。遗传算法与神经网络结合后,使得神经网络的结构参数等达到最 优,大大地增强了神经网络的性能,使智能计算得到了突飞猛进的发展。因 此对遗传算法和神经网络的研究具有很重要的意义。

本文基于股票市场高度非线性的特点,从遗传算法和神经网络的基本理 论入手,提出了一种GA—BP算法,来解决基本BP算法在权值调整过程中存 在的收敛速度慢、易陷入局部极小点的不足。GA—BP算法具有遗传算法全局 搜索的特点,注重搜索未知区域,同时也具有神经网络处理速度快、精度较 高的特点。理论分析和实验结果表明,神经网络用于股票市场的预测是可行 和有效的,有着良好的前景,而GA-BP算法进一步提高了运行的速度和可靠 性。

关键词:股市预测;遗传算法;神经网络;BP算法

(3)

哈尔滨T程大学硕士学位论文

Abstract

Forecasting is

allimportant

link

in scientific

management and premise before

policy-making

and layout.It is

necessary to forecast and analyze evolutiontrend

of

some

systems.And stock

market

is

allalarm,whose

function is

not

only valued by the

government

but also

concerned

by investors.

Artificial neural network is

an embranchment

of artificial

intelligent,which

was

originatedin

1 940s and has been widdy applied

to many

fields now.Neural

networkcanreserve

preening

information and

knowledge,which is

the

theoretical

basiswhenused to forecast

the futm'e.As for

time

series

forecast,neural

network is

more efficient and

precise

than

mathematical

models.Furthermore,witll the

great searching

ability,GA(genetic algorithm)can

solve many

problems that

other algorithms

can't

do.GA

Was combined

with

ANN,and

improved

the

capability of the ANN greatly.The

combination makes the Intelligent Computing

develop rapidly. So,studying the two

subjects

is

verysignificant.

This paper

starts

with the basic

theory

of GA.The

thesis presents

GA--BP

algorithm

based Ollthe high-nonlinear

speciality of stock market,and also takes the

shortcoming

of

basic

BP

algorithm

that includes

the

slow

convergence

speed

and

local

extrcmum into acotmt.The

GA一-BP

algorithm has

the

character

of

the

whole

space

search.The GA pays

attention to the unknown-area search.At the same time,it

also

hashigll speedand

relatively high precision.It will

not

get

into

local extremum.The

BP algorithm searches the area that includes the

whole space

minimum.It Can

improve

the speed

and precision.Theoretical

analysis and experiment

results show

that

the

method

of stock

prediction

using neural network is feasible

and efficient.It

has favorable foreground.It is also

proved that

GA--—-BP

algorithm Canimprove thespeed

and credibility.

Key words:stock

prediction;GeneticAlgorithm;Artificial

Neural Network;

BP

Algorithm

(4)

哈尔滨工程大学 学位论文原创性声明

本人郑重声明:本论文的所有工作,是在导师的指导 下,由作者本人独立完成的。有关观点、方法、数据和文 献的引用已在文中指出,并与参考文献相对应。除文中已 注明引用的内容外,本论文不包含任何其他个人或集体已 经公开发表的作品成果。对本文的研究做出重要贡献的个 人和集体,均已在文中以明确方式标明。本人完全意识到 本声明的法律结果由本人承担。

作者(签字): 苏丹

日期:知扩年岁月:;日

(5)

哈尔滨T程大学硕士学位论文

1.1研究的背景

第1章绪论

我国证券发行市场是以1981年7月发行的国债为标志,1987年开办国 债二级市场,80年代初一些企业逐步开始发行股票,1986年沈阳出现自发的 股票交易市场。90年代在上海、深圳相继建立的证券交易所真正体现了证券 市场规范集中的发展,证券投资逐渐成为现代经济生活中最常见的高效益与 高风险并存的活动,也逐步成为证券业及整个金融业的必不可少的组成部分。

由于股市行情受经济、政治等因素的影响,其内部规律非常复杂,市场的突 发消息较为频繁,变化周期无序,人为操纵的因素仍然比较大,高效益与高 风险比较明显,使得市场经济体制不完备。股市对于国家的政策性导向非常 敏感,经常出现暴涨暴跌的现象,证券公司积累的大量客户相关数据分散、

缺乏聚集、合适的分析技术,不能有效地转换成支持客户服务的信息,因而 关于股市分析与预测的研究一直为人们所关注。

另外,股市的建模与预测所处理的信息量十分庞大,对算法有很高的要 求。正是其复杂的非线性动力学特性,使得关于股市的预测往往难如人意。

关于股市分析与预测的研究一直为人们所关注,传统的统计方法,可以预测 一段时间内股指变化的大致走势,但股指短期的涨跌往往是投资者更感兴趣 的信息。此外,传统方法还要事先知道各种参数,以及这些参数在什么情况 下应作怎样的修正,已经不能满足我们的需要,而近十几年发展起来的数据 挖掘方法逐渐成为非线性动态系统预测与建模的强有力工具,可以说,数据 挖掘在证券行业得到了最全面的应用。

以开发出多个有兴趣的数据挖掘主题,

1.2研究目的及意义

围绕证券市场参与者的不同需求,可 并建立一系列的应用模型。

本文的研究目的是采用数据挖掘中神经网络和遗传算法相结合的方法,以 准确的调查统计资料和股市信息为依据,从历史数据中提取有关经济活动中的 知识,克服了传统定量预测方法的许多局限以及面临的困难,同时也避免了许

(6)

哈尔滨工程大学硕士学位论文

多人为因素的影响,找到证券市场运动的短期规律。正确的认识股票市场的运 动规律能为投资者增加投资收益,赚得大量股票价差金额,减少股票投资风险。

如果投资者都能理智投资,依据技术指标,遵循预测算法的原理,把握恰当的 投资时机,那么中国的证券市场将会有更多的投资者加入进来。

1.3国内外相关理论的发展现状

证券交易是为了获得高收益而主动承担高风险的投资活动,这种随机性 特点,使得投资者们时刻在分析证券市场、试图预测市场变化的趋势,近年 来,一些证券市场预测模型逐渐产生和发展逐步完善起来,主要有以下几种:

1.ARCH类模型

该模型由Engle,Bollerslev等针对股票市场波动性表现出的时变特点与

“集聚效应”提出的,ARCH类模型采用时变的条件方差来捕捉价格波动的时 变性和序列相关性,但由于ARCH模型将条件方差定义为过去观测值的平方

项和前期条件方差的确定性函数,条件方差的估计与过去观测值直接相关,

因此当存在异常观测值时,估计的波动性序列不是很稳定。另外,该模型对 周期波动性的预测能力较差。

2.无参数中心回归技术

2000年MIT Sloan商学院学者Andrew WLg

Harry

Mamaysky和Jiang Wang等人发表该研究成果¨1,对美国股市31年的历史股价进行平滑分析。

根据平滑后价格曲线的拐点定义5类10种标准的技术图形,可以很清楚的发 现历史股市数据的变化规律。

3.神经网络

神经网络是一种最新的时间序列分析方法,文献【2.5】中根据预测目标和 研究对象的不同选择相应的变量,使用误差反传算法训练网络,对金融市场 的进行预测。文献[6】对误差反传算法进行改进,应用于对股票价格的涨跌趋 势进行预测,取得比较满意的预测结果,也在一定程度上证明了股市不完全 满足随机游走(Random Walk)理论,说明股市具有可预测性。Refenes等人将 神经网络预测方法和多重线性回归方法在证券市场预测中的应用进行了比较 研究,指出神经网络的平滑内插特性使其能较好的拟合数据并能更好地泛化,

(7)

哈尔滨工程大学硕士学位论文

其预测精度比线性统计预测方法有较大的提高。Dutta和Marque等人曾将神 经网络与线性回归这两种方法做过比较,其结论是神经网络能得到与线性回 归相近或更好的结果。

4.径向基网络

这种类型的网络存在局部最优的问题,使得其在非线性时间序列预测中 得到广泛应用,由于遗传算法有广泛的全局寻优能力,因此在预测应用中,

经常配合使用。文献[7][8]采用遗传算法来优化网络结构,利用权重的调节作 用,对聚类进行修正,淘汰掉距离较远的中心,使聚类更加准确。

5.回归神经网络

文献[9】使用四层回归神经网络,以五个不同的股票市场(加拿大、香港、

日本、英国、美国)的历史交易数据预测下一年的股票回报,为个人投资决策 提供参考,做出了成功的探索。

神经网络由于本身良好的鲁棒性、自组织自适应性、并行处理、分布存 储和高度容错等特性非常适合解决数据挖掘问题。而且数学上己经证明了,

人工神经网络可以逼近那些最佳刻画样本数据规律的函数,而不论这些函数 具有怎样的形式。径向基神经网络(RBF)是局部逼近网络。从理论上讲,RBF 神经网络具有任意函数逼近能力,它通过自动增加隐层神经元的方法很快达 到了预先所设定的目标误差值,这时训练样本点的网络输出值与目标输出值 完全重合,但是检验样本点的网络输出值与目标输出值自身具有较大的差距。

BP网络是一个多层的前馈神经网络,学习过程由信号的正向传播与误差的反 向传播两个过程循环进行的。权值的不断调整过程就是网络的训练过程。BP 网络训练算法使用的是BP算法,具有结构清晰、易实现、计算功能强大等 优点。虽然回归神经网络在输入结点数相同的情况下,达到最小误差时,所需 要的隐层结点数一般比BP算法少,但其网络性能随着输入结点的增加,提高 效果不如BP网络显著,而且有迂回现象,且随着训练次数的增加,回归网 络性能明显不如BP网络的性能好。这也是本文采用BP神经网络的原因。

1.4论文的主要内容及创新点 1.4.1主要内容

本文主要是对时间序列的股市历史数据进行数据挖掘,从中发现蕴涵在

(8)

哈尔滨j】:程大学硕十学位论文

内部的模式,用来对时序变化作出分析。将股票的连续变量进行离散化处理,

增强变量间的相关性,通过遗传算法优化的神经网络模型,得到股市短期的 预测结果。

本文内容安排如下:

第1章阐述了本文研究的背景、目的、意义及国内外相关理论的发展现 状,概述了本文的主要内容。

第2章简单介绍神经网络的基本理论,具体分析BP神经网络算法的思 想,通过实验用数据分析了它的缺点并提出改进方法。

第3章介绍了实验数据的来源和数据预处理的方法,并根据本实验数据 自身的特征提出一种新的数据预处理方法。

第4章研究遗传算法应用设计中的各个部分及其特点,提出将神经网络 和遗传算法结合的思想,具体分析了使用遗传算法优化神经网络结构和权值 的原理及过程。

第5章为采用改进的神经网络预测股市行情的设计和实现部分,给出了 遗传算法优化神经网络权值GA—BP算法的具体描述,给出股市预测模型的 基本实现,并对实验数据进行仿真、评价。

本文力求表现数据挖掘的基本思想,并使其与证券分析基本原理相结合,

以期提高股市行情预测的精度。

1.4.2创新点

本文以解决具体实际问题为目的,把理论研究与实证研究相结合,采用

多种挖掘方法,按照数据收集一>数据预处理一>模型设计一>模型验证、评

价的流程来进行实证研究,研究中定量与定性分析相结合。有两方面创新:

1.数据的预处理:根据实验数据的自身特征,提出了一种数据自身乘方 归一化的预处理方法,将股票的连续变量进行离散化处理,增强变量间的相 关性,提高预测精度。

2.预测模型:分析了GA和BP算法的特点,提出了GA.BP算法,采用遗 传算法优化神经网络的权值和阈值,提高了网络收敛速度和模型的预测精度。

(9)

哈尔滨f:稗人学硕十学何论文

第2章基于神经网络的证券预测技术的研究

2.1

BP神经网络概述

神经网络(Neural Network),也称为人工神经网络(Artificial

Neural

Network,ANN),是由大量连接的简单的神经元(Neurons)构成的规模宏大的并 行分布式处理器网络,天然具有存储经验知识和使之可用的特性,是对人类 大脑的粗略简单模拟、抽象和简化,它具有通过实施相应的算法从外界环境 中学习获取知识并解决问题的能力,而且知识是分布存储在互连神经元连接 权(突触权值)中。BP网络(Back.Propagation network,反向传播网络)是一个多 层的前馈神经网络,因其网络训练算法使用的是BP算法而得名,具有结构 清晰、易实现、计算功能强大等优点,是目前最常见、使用最广泛的一种神 经网络。

BP神经网络的学习过程由信号的正向传播与误差的反向传播两个过程 组成。正向传播时,输入样本从输入层输入,经各隐层逐层处理后,传向输 出层。若输出层的实际输出与期望输出(教师信号)不符,则转入误差的反向 传播阶段。误差的反传是将输出误差以某种形式通过隐层向输入层反传,并 将误差分摊给各层的所有单元,从而获得各层单元的误差信号并将其作为修 正各单元权值的依据。这种信号正向传播与误差反向传播是循环进行的。权 值的不断调整过程就是网络的训练过程。BP网络学习算法是非循环多级神经 网络的训练算法。虽然该算法的收敛速度非常慢,但由于它具有广泛的适用 性,使得它在1986年被提出后,很快就成为应用最为广泛的多级网络训练算 法,并对人工神经网络的推广应用发挥了重要作用。据统计,在实际人工神 经网络应用中,有90%的是使用BP神经网络。多层BP网络不仅有输入结点、

输出结点,而且有一层或多层隐结点,如图2.1所示。

(10)

哈尔滨工程大学硕士学位论文.

输出层

隐层

输入层

图2.1 BP网络模型结构

假设:输入结点与隐结点间的网络权值为∞ii,隐结点与输出结点问的网 络权值为瓦,阈值为p,误差函数为E。BP网络三层结点表示为:输入结点

j,隐结点Y i,输出结点0I。

(1)设定学习次数初值为t=O;用小的随机数初始化网络权值和阈值,

∞u(t)∈【-1,1】,∞jk(t)∈【・1,1】,吼(砂∈【-1,1】,吼(∥∈【一1,1】。

(2)输入一个学习样本(Xp,TP),其中pE{1,2,…N),N为样本

数,X

ER。,T

ER…。

(3)计算隐层各结点的输出值:

Yj-2 f(弘y;I-0j)=f(耋叩吡印j∈{1,2,…n:】-(2-1)

(4)计算输出层各结点的输出:

Y:=f(∑%Yj。吼) k∈{1,2….m)(2-2)

(5)计算输出层结点和隐层结点之间连接权值的修『F量:

(11)

哈尔滨工程大学硕士学位论文

6k=(T k-Y

k)。y k。(1一Y k)

k∈{1,2,…m’

(2-3)

(6)计算隐层结点和输入层结点之间连接权值的修正量:

6j=Y J・,‘1-Y’’・荟6I・∞jk(2-4)

(7)利用下列(2.5)式修正输出层结点k和隐层结点j的连接权值∞i。,利 用(2-6)式修正输出层结点k的阈值。其中6。为(2-3)式求出的误差修正量。

∞jk(t+1)=∞jk(t)+a

6kY’

(2-5)

ak(t+1)=口k(t)+卢6k (2—6)

(8)利用(2-4)式修正隐层结点j和输入结点i的连接权值∞ii,利用(2—8)

式修J下隐层结点j的阈值,其中6;为(2-4)中求出的误差修正量。

03Ⅱ(t+1)-03u(t)+a

6jyi

(2-7)

日j(t+1)=吼(t)+∥6j

(2-8)

(9)如果未取完全部学习样本,则返回步骤2。

(10)计算误差函数E,并判断E是否小于规定的误差上限,如果是小于 或者达到学习次数限制,则算法结束;否则更新学习次数t=t+l,返回步骤(2)。

上述BP算法采用逐次修正法,即针对每个输入样本进行一次权值和阈 值的修改,而另一种修正法对每个输入样本计算修正量,对权值修正量逐次 累加,但不马上进行权值和阈值的修正,当全部学习样本学习结束后,才修 正权值和阈值。这是一种批处理的修正方法。

2.2股市预测技术

2.2.1股市预测的传统方法

传统的股市预测方法有技术分析法、基本分析法和组合分析法三大类。

(12)

哈尔滨一I:程大学硕士学位论文

技术分析法是通过对过去所发生的价格、时间、成交量的思考来推算未 来的行情,主要研究市场行为,是市场行为的经验总结。技术分析的优势是:

同市场比较接近,考虑问题比较直接,用技术分析指导股票买卖见效快,获 得利益的周期短;它对市场价格变化的反映比较直观,分析结果比较接近市 场的局部价格运动规律;技术分析能够根据那些残留在图表上的变化痕迹反 过来了解基本面的变化。但其局限性是:难以事先推测市场总的结构变化,

总会遇到技术分析失准的问题。

基本分析法以经济学、财政金融学、财务管理学、投资学等理论为基础,

研究的是影响股市走势的基本因素。基本分析能够比较全面地把握证券价格 的基本走势,并且应用起来比较简单。但是基本分析有其致命的弱点,它对 市场的反映比较迟钝,预测的时间跨度相对较长,因此对市场的短线操作缺 乏指导意见;它对市场预测的精确度不如技术分析,特别是在中国这样一个

/1i成熟的股票市场,股民对统计资料和市场信息的获取具有明显的滞后性,

对统计数据的整理、归纳需要较高分析能力和专业技巧,因此对普通散户投 资者而言,要想熟练的利用基本分析法指导正常操作还是比较难的。

组合分析法是将技术分析法和基本分析法二者结合起来的一种方法。在 中国股票市场上进行股票投资,在运用技术分析指导市场的同时,不应忽视 对基本因素的分析,特别是中长线投资者,应将基本分析与技术分析结合起 来,完全不理会基本面,也是片面的。

目自,J.,一一般投资者及股票市场预测专家所运用的大多是这三种分析工具。

这三种分析工具不需要高深的理论和文化水平,因此被投资大众看中并运用 到投资决策中。但是,真正研究股市的学者绝不限于这些分析方法。下面在 学术范围内介绍一下常用的股市预测方法。

1.时间序列预测方法

时间序列是指同一种现象在不同时间上的相继观察值排列从而成的一组 数字序列。时间序列预测方法的基本思想是:预测一个现象的未来变化时,

用该现象的过去行为来预测未来。即通过时间序列的历史数据揭示现象随时 问变化的规律,将这种规律延伸到未来,从而对该现象的未来作出预测。常

用的时间序列分析法主要是建立自回归模型O娘)、移动平均模型(MA)、自动 回归——移动平均模型(ARMA)和齐次非平稳模型(ARIMA),其中ARIMA是

(13)

哈尔滨T稃大学硕十学俯论文

较成熟的模型。

该方法常用来对股价(最高价、最低价、开盘价、收盘价)的综合指数进 行预测,通过选择模型的参数和辨识模型的系数来实现对时间序列的拟合好 的模型对未来进行预测。

2.神经网络预测方法

神经网络是一种按照人脑的组织和活动原理而构造的一种数据驱动型非 线性模型,是由神经元结构模型、网络连接模型、网络学习算法等几个要素 组成。要使神经网络产生所希望的行为,必须对其进行训练,即通常所说的 网络学习。学习时,每一条连接弧都不断地调整自己的权值,以使神经网络 的实际输出和期望输出之间的方差达到最小,学习的效果直接影响网络的预 测精度。

由于股市系统是一个复杂的非线性系统,而且系统的环境每时每刻都在 发生变化,因此我们希望能够建立一个参数随预测环境的变化而变化的非线 性模型,人工神经网络方法为这一问题提供了可能性。

2.2.2神经网络预测方法与传统预测方法的比较

股票价格以及企业的可信度,密切关系到投资者的利益1101。要对它们进 行预测,我们首先必须承认它们之间存在着某种规律。这些规律完全隐藏在 历史数据中,从数学的角度来讲,他们表现为一种函数关系。预测的目的就 是找出并利用这些规律。而传统的统计方法,能预测一段时间内的大致趋势,

但短期的跳跃却往往足投资者更感兴趣的信息。众所周知,传统预测方法有 一个共同的局限性,即被控对象或过程的数学模型必须预先知道,运用数学 方法构造模型进行预测。但实际上有很多被控对象极其复杂,无法建立精确 的模型。而且这种方法理论上虽然很精确,但它却需要大量繁杂的、严格的 数学公式推导,没有容错能力和自学习能力,对参数变化敏感,环境和结构 稍作改变就必须重新建立数学模型,适应性差。另外,传统方法还要事先知 道各种参数,以及这些参数在什么情况下应作怎样的修正。

由于股市运作是一个巨大的非线性系统,股价走势受到政治、经济、心 理等多种因素影响,使得对用传统的技术分析上具有进行股票买卖决策难度 大,不同人的分析结构差异显著。传统分析上具有的K线图、平均线图等以

(14)

哈尔滨丁程大学硕士学位论文

其简单易懂的特点受到人们的青睐,但是,这种通过对图形走势的研究、对 数据表格的统计分析以预测股市的变化趋势的工作最终必须依靠人脑来完 成。由于人们在知识、能力、经验上存在较大的差异,加之问题本身又具有 很大的随机性和高度的非线性,即使是一些金融专家、炒股高手对出现的同 一复杂行情进行分析,往往也会得出不同的结论。

相比之下,神经网络用于股市预测取得了很好的效果,数学上己经证明 了,人工神经网络可以逼近那些最佳刻画样本数据规律的函数,而不论这些 函数具有怎样的形式。神经网络的学习能力以及通过学习掌握数据间的依存 关系,在股市预测中显示出一定的优越性,比以往依靠推导数学模型、参数 寻优的非常精确而又因此带来局限性的传统方法具有极大的优越性。股价走 势呈高度非线性,并且成交价、成交量中包含有大量决定股价变动的内在规 律和特点,通过对历史交易数据的学习,人工神经网络就能从纷繁复杂的数 据中自主的寻找出参数之间的规律和特点,并且刻画这些规律和特点,因此

用它对股票价格走势预测具有很好的效果。

神经网络在非线性预测中最常用的是BP网络,这也是本文所采用的网 络结构。

2.3基于BP算法的证券预测技术的性能分析

2.3.1

BP算法的Matlab实现

1.Mat

Iab语言的特点

本文采用Matlab7.0的编程环境,它是一种开放式软件,经过一定的程 序可以将开发的优秀的应用程序集加入到Matlab工具的行列。这样,许多领 域前沿的研究者和科学家可以将自已的成果集成到Matlab之中,为全人类继 承和利用。Matlab语言有不同于其它高级语言的特点,它被成为第四代计算 机语言。使人们摆脱了对计算机硬件操作一样,Matlab语言使人们从琐碎的 程序代码中解放出来【27】。它的丰富函数使开发者无须重复编程,只要简单的 调用和使用即可,其语言最大的特点是简单和直接。Matlab语言具有以下几 个特点:

(1)编程效率高。它允许用数学形式的语言编写程序,这更加接近我们

10

(15)

哈尔滨一L程大学硕十学位论文

书写计算机的思维方式,它编写简单,所编程效率高,易学易懂。

(2)用户使用方便。它可以直接在命令行输入Matlab语句(命令),包括 调用M文件的语句,每输入一条语句,就立即对其进行处理,完成编译、连 接和运行的全过程。如果有错,计算机屏幕上会给出详细的出错信息,用户 修改后再执行,直到正确为止,从广义上说它还是一种语言开发系统,即语

言调试系统。

(3)扩充能力强,交互性好。用户可以根据自已的需要方便的建立和扩 充新的库函数,以提高Matlab的使用效率和扩张它的功能,并能与Fortran、

C语言进行方便的互相调用、混合编程,这样良好的交互性使程序员可以使 用以前编写过的程序,减少重复性工作,也使现在编写的程序具有重复利用

的价值。

(4)移植性和丌放性都很好。它是C语言编写的,因此它可以很方便地 移植到能运行C语言的操作平台。除内部函数外,Matlab所有的核心文件和 工具箱文件都是公开的,都是可读可写的源文件,用户可以通过对源文件的 修改和自己编程构成新的工具箱。

(5)语句简单,内涵丰富。Matlab语言中最重要最基本的成分是函数,

其一般形式为:【a,b,c…]=fun(d,e,f…),即一个函数由函数名、输入变量和输 出变量组成。同一函数名,不同数目的输入和输出变量,代表着不同的含义,

使得它编写的M文件简单、短小而高效。

(6)方便的绘图功能。它有一系列绘图函数(命令),均只需调用不同的 绘图函数,在图上标出X,Y轴标注也只需调用相应的命令,简单易行。另外 可绘出不同颜色的点、线、复线或多重线,这是一般通用的编程语言所不及

的。

2.在Matlab7.0中BP神经网络的使用过程

(1)BP神经网络的初始化

BP算法是有指导的训练,网络的初始化影响算法的收敛速度,甚至影响 网络是否能收敛。Matlab下的神经网络工具箱提供了现成的权值、阈值的初 始值。

设训练样本由输入输出向量对【p,t】组成。P和t的维数分别为输入、输出 层神经元数;wl、w2分别表示输入层至隐层、隐层至输出层的权值。b1,b2

(16)

哈尔滨T稃火学硕十学位论文

分别为隐层神经元阈值以及输出层神经元阈值。S1表示隐层神经元数。

在设计BP神经网络时,只要已知输入向量P、各层的神经元数、各层神 经元的传递函数,就可以利用函数initff对BP网络的权值进行初始化。理论 上,一个三层BP网络,就可逼近任意函数。以三层神经网络为例,输入层 和输出层的传递函数分别为tansig(正.切S型函数),purelin(线性函数),该BP

网络可用以下语句进行初始化:

【wl,bl,w2,b2]=initff(p,Sl,‘tangsig’,t,‘purelin’)

(2)网络的训练

神经网络工具箱函数traingd,traingda,traingdx用来对BP网络进行训练,它 们的用法是类似的,只是采用的学习规则有所不同。函数traingd是采用最速梯 度下降的算法i)JI网络:traingda则是采用学效率可变的最速梯度下降的算法训网 络;而traingdx采用了动量法和学习率自适应调整的策略。由于BP网络是由一 个正切S函数和一个纯线性输出层组成。因此它可实现任何有限值函数。traingd 的使用方法如下:

net.trainParam.show=50;

%两次显示之间的训练步数 net.trainParam.epochs--5000;%最大训练次数

net.trainParam.goal=0.0005:%训练目标

net=newff(minmax(pn),[38,1】,{’tansig','purelin’),’traingd’); %建立神经网

net=train(net,pn,tn);%训练网络

(3)网络的仿真

前馈网络由一系列网络层组成,每一层都从前一层得到输入数据,simuff 函数可用于仿真三层的前馈网络。如:

y=simuff

x,wl,b1,’tansig’,w2,b2,’purelin’)

上式x表示输入信息,Y表示预测结果。

(4)输出误差显示

ploterr(e,e曲用于绘制误差行向量e随训练次数的变化图,同时以点线绘 制出误差指针。

以上是在Matlab环境下BP网络的初始化、训练和仿真函数。利用Matlab 的神经网络工具箱,本文进行了数据的编程计算。

12

(17)

哈尔滨丁程大学硕士学位论文

11"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii葺iiiiiiiiiiiiiii宣 2.3.2基于BP算法的证券预测技术的性能分析

下面采用未改进的BP网络进行实验,来说明传统BP算法的缺点,实验 数据见3.1节,数据未进行预处理,网络的输入结点数和隐层结点数分别定 为7和16,训练函数为traingd,对70个训练样本进行仿真。训练5000步和 10000步时,训练目标曲线如图2.2所示。图2.3为28个测试样本的预测曲 线图,

图2.2 BP算法的训练目标曲线

(18)

哈尔滨T程大学硕士学位论文

图2.3样本的预测曲线图 在以上实验中发现,BP算法存在三个主要问题,即 1.收敛速度慢

训练5000次和10000次所用的时间分别为23.296000s和46.234000s,即 学习过程中,下降慢,学习速度缓慢,易出现一个长时间的误差平坦区,图 2.2可以看出训练步数到达200以后,出现平台。BP算法的收敛速度与好多 因素有关,它的主要原因之一是某些结点的输出大,它对权值小的变化不敏 感,从而使其收敛速度慢。

2.函数存在局部极小值点

14

(19)

哈尔滨工程大学硕士学位论文

训练5000次和10000次达到的均方误差分别为0.0300652和0.0193815,

当学习反复进行到一定次数后,网络的全局误差减小的非常缓慢,或是根本

/fi冉减小了,而此时网络的实际输出与期望输出还有很大的误差,如图2.3所 示,预测数据与期望输出相差悬殊,这种情况就是陷入了局部极小点。导致 这种现象的原因是出于网络采用的激活函数是一种非线性的函数,这个函数 激活后的值是全局误差的输入,因此导致全局误差会存在多个极小值,而网 络收敛时很有可能陷入其中的某一个而不是全局的最小值,如图2.4所示

全局最小值点

图2.4多个极小值点的连接权空间

若仞始时在a或c点的位置,网络误差按梯度下降法调整,就只能达到 局部极小值点,而若在b点开始的才能达到全局最小值点。所以要设法使收 敛过程跳过局部极小值点。

3.网络结构选择困难

本实验的网络结构由多次实验试凑得到,在进行试凑的过程中发现网络 过大时,在训练中效率不高,而且还会由于过度拟合造成网络性能脆弱,容 错性下降,浮点溢出;而太小的网络可能根本不收敛。在实际应用中,网络 结构人为性较大,缺乏规则指导。

2.4

BP算法的改进措施

2.4.1已有的BP算法的改进措施及方法

现存的BP算法改进是从改进上面三个方面出发的,它们中有的是加快 了学习速度,有的是避开了局部极小值。算法改进的出发角度也不同,大体 可以分两类:一类是基于梯度下降法的改进,如动态算法、弹性BP算法等;

15

(20)

哈尔滨I:稃人学硕士学位论文

另一类是基于数值计算的改进,如最d"-乘拟合法、牛顿法,LM算法等。

这些算法很难说出哪一种更优秀,只是适用于不同的环境条件,具体使 用时还需要有仿真测试。

(1)附加动量法113J

当用BP算法训练网络时,77越大,权重改变越大,但是,如果权重改 变过人,学习过程中会出现振荡而不收敛;权重过小,可能使网络不能收敛 到全局最小。为了避免这一现象,可采用附加动量项的方法,其具体做法是:

将上一次权值调整量的一部分迭加到按本次误差计算所得的权值调整量上,

以作为本次的实际权值调整量。

(2)带动量项自适应变步长算法

这种算法是针对定步长的缺陷提出来的,即学习步长随误差曲面的变化 而进行调整。由于BP网络的误差曲面的梯度变化是不均匀的,若采用定步 长,当卵较小时,在误差曲面较平坦的区域收敛较慢,而若较大时,又会在 峡谷区域引起振荡,所以需要调整每次的步长。该算法连续两次观测训练的 误差值,如果误差下降则增大学习率,误差反弹在一定范围内则保持步长,

误差的反弹超过一定限度则减小学习率。

(3)高阶导数的利用

标准BP算法只考虑一阶导数,如果考虑到高阶导数,则可以加快收敛 速度,但高阶导数本身的计算很繁琐。

(4)L-M算法

又称为阻尼最小算法。该算法是在高斯牛顿法和最速下降法之间进行平 滑调和,在远离最小值时逐渐切换到高斯牛顿法。增加了算法的稳定性。

2.4.2适用于证券预测技术的改进的BP算法

针对实验中的缺点,本文打算从两方面进行改进:

一方面是对实验数据进行预处理,从而将股票的连续变量进行离散化处 理,增强变量间的相关性,提高预测精度;

另一方面就是确定最优神经网络模型,由于遗传算法具有强大的并行计 算和全局搜索能力,将其与神经网络结合,实现快速确定优化的网络结构和 权值,来改进神经网络收敛速度慢、易陷入局部极小值等缺点。

16

(21)

哈尔滨。I:程火学硕十学位论文

2.5本章小结

本章阐述了神经网络的基本理论和BP神经网络算法的思想,说明了 Matlab语言利用神经网络工具箱进行仿真的具体过程,并用实际证券数据进 行实验,分析实验结果得出用BP算法进行预测的缺点,结合已有的改进方

法提出了本文所采用的新方法——数据预处理和遗传算法优化神经网络模

型。

17

(22)

哈尔滨工程大学硕士学位论文

第3章基于证券预测的数据预处理技术研究

3.1引言

现实世界的数据一般是含噪声的i不完整的和不一致的。数据预处理技 术叮以改进数据的质量,从而有助于提高其后的挖掘过程的精度和性能。由 i}:岛质量的预测必然依赖于高质量的数据,因此数据预处理是知识发现过程 的重要步骤。检测数据异常、尽早地调整数据并归约待分析的数据,将在预 测过程得到高回报Il引。

我们用神经网络进行预测时,要精选网络的输入量,才可以更深入的把 握股价的变化趋势。这是由于BP网络系统是非线性的,初始值的选取,与 学习是否到达局部最小,甚至学习是否能收敛有着密切的联系。对于输入样 本,希望能够进行归一化,使那些比较大的输入落在神经元激活函数梯度较 大的区域。

因此,输入样本的选取原则是必须进行初始化处理。考虑到数据预处理 可以将n种不同量纲的数据全部归一为一1到1之间的数据,并改变数据间 的相关性,便于进行数学处理,能够提高预测的精度,所以在预测之前进行 预处理,是很必要的。

3.2网络训练样本集的准备

训练样本集数据的准备工作是网络设计与训练的基础,数据选择的科学 合理性以及数据表示的合理性对于预测具有极其重要的影响。数据准备包括

原始数据的收集、数据分析、变量选择和数据处理等诸多步骤。

一个待建模系统的输入一输出就是神经网络的输入输出变量。一般来讲 输出量代表系统要实现的功能目标,其选择相对容易一些,在时间序列预测 中更为明确就是待预测的未来某时刻或某一些时刻的值。对于输入量的选择 来说,在一般的神经网络中,对于非时间序列的预测,必须选择那些对输出 影响大且能够检测或提取的变量并且同时要求各输入变量之间互不相关或相 关性很小,对于这样的系统,神经网络将更为突出地显示它的优势;而在对

18

(23)

哈尔滨T程大学硕十学位论文

时间序列的预测中,输入量的选择就变得相对简单,关键在于选择多少个过 去观测值作为预测网络的输入刊‘更为恰当。

对股市未来趋势进行预测的基础是股市中大量的历史数据,主要有每日 丌盘价、收盘价、最高价、最低价、成交金额和成交量等。尽管这些数据简 单,易看易懂,但实验表明直接利用这些数据作为输入输出进行预测是困难 的,因为这些数据不直接反映股市的内在规律,而且会使神经网络结构变得 过于庞大,训练时间也长得难以接受。主要原因在于股票市场本身所具有的 高噪声,高度非线性和股民投资的相对盲目性,使得这些数据中除了隐藏着 其本身的规律以外,还存在更多的干扰因素,因而对股票数据规律性的寻找 就变得十分困难。但是经济学家告诉我们,股市的变化看似漫无规则,实际

完全由供求关系决定,完全有规律可寻。

本文的实验数据采用S深发展2006年3、4季度A股历史交易数据(包 括同期、开盘价、最高价、收盘价、最低价、交易量(手)和交易金额(万元))

作为实验数据,两组数据见附录A,包括2006年7月3日到12月15日期间 105个同统计数据。部分历史交易数据如表3.1所示,实验中,以能反映股市 行情的收盘价作为实验数据。

表3.1 S深发展A2006年3季度部分历史交易数据

交易量 交易金

日期 丌盘 最高 收盘 最低

(-y-) 额(万元)

2006.09—29 7.960 8.260 8.160 7.930 263771 21452.72 2006.09.28 8.000 8.020 7.950 7.850 155723 12355.30 2006。09.27 7.570 8.080 8.010 7.540 253061 19922.81 2006—09.26 7.570 7.610 7.570 7.500 64160 4844.44 2006—09.25 7.420 7.660 7.590 7.410 101755 7675.01 2006一09—22 7.720 7.800 7.490 7.400 164154 12445.30 2006.09—2

7.680 7.830 7.710 7.680 110191 8533.07 2006.09.20 7.700 7.730 7.680 7.630 84746 6500.13 2006.09.19 7.620 7.820 7.710 7.580 155532 12021.41 2006—09.18 7。700 7。730 7.620 7.560 119216 9098.87

对于时间序列数据的预测,设有归一化的样本集x(t)(t=1,2,…,n),

若进行一‘步预测时,选取m个输入,1个输出,可组成如表3.2的训练组对:

19

(24)

哈尔滨丁程大学硕十学位论文 表3.2训练组对示意图

输入数据 期望输出

X(1) X(2) X(m) X(m+1)

X(2) X(3) X(m+1) X(m+2)

X(n-in) X(n-m+1) X(n-1) X(n)

刚络训练好后,如要预测X(n+1)的值,只需把实际值X(n.m+1),…,

x(n.1),X(n)输入网络,其输出就是下一时刻的预测值X∽+1),当要对X(n

+2)的值进行预测时,用实际值X(n.m+2),…,X(n一1),x(n),x(n+1)作为 输入数据,就可得到预测值j∽+2);如果还没有实际值X(n+1),可把 X(n.m+2),…,X(n.1),X(n),X(n+1)作为网络的输入,其输出值即可视 为X(n+2)的预测值X(n+2)。

3.3数据预处理的方法 3.3.1常见的数据预处理方法

1.归一化处理

归一化处理是指通过变换处理,将输入网络的数据限制在【O,1】或【-1,

11区问内。进行归一化处理的主要原因是:网络的各个输入数据常常具有不 同的物理意义和不同的量纲:BP网络的神经元均采用S型激励函数,变换后 日J.防止凶净输入的绝对值过大而使神经元输出饱和,继而使权值调整进入误 差曲面的平坦区。

常用的归一化处理可使输入数据的取值落在【O,1]1_又"fE之内,转换公式 为:

xO)。磊d丽(t)-丽min(d(t))

max川U"一mm∽U" (3.一1)

化.、

其中,X(t)为网络的输入。

用训练好网络输出预测值后,要对输出数据进行反归一化处理,其公式

为:

(25)

哈尔滨上程人学硕士学位论文

yO)=“O)木(max(d(t))一min(d(t))+min(d(t)) (3.2)

其中,u(t)为网络的输出。

归一化在神经网络数据预处理中是很必要的j实验尝试采用没有进行归 一化处理的原始数据进行仿真,结果神经网络不收敛;而归一化处理后,网 络收敛很快,效果很好。

2.主成分分析

主成分分析方法是现代多元统计分析方法中的一个基本的辅助分析方 法。它通过恰当的数学变换,使新变量即主成分成为原变量的线性组合,并 选取少数几个在变差总信息量中比例较大的主成分来分析对象。决策者可以 应用这些主成分来独立分析问题,也可以与其他方法如回归分析方法结合使 用,如主成分回归,来分析一些复杂的问题。在经济数据分析的应用中,主 成分分析法有着广泛的用途。

对给定的包含n个数据样本,p个数据变量的样本数据矩阵:

X=

Xll X12

X21 X22

Z^1 Xn2

-&。,土:,z。,…,石尹)

(3-3)

由于各个向量z;之间具有相关性,特别是样本数据规模很大时,增加了样本 内部错综复杂的关系,也增加了系统分析决策者处理的难度。所以高维数据 的降维、数扼}内部之J’日J的去相关性就成为宏观数据分析的基本前提和要求。

如果p个决策变量(或指标)的大部分变量能够有它们的r个(比p小得多)所 渭“综合指标”(特殊的线性组合)来概括,那么,由p个变量的11次观测组成 的数据就可以简化为r个“综合指标”的n次观测数据。

因此,应该寻找r个变量(新指标)Yl,Y:,...,Y,(r P)使得:

(1)Yf是X的线性函数Y,=allXl+a12x2+…+alpXp,Z=G2,...,,.);

(2)Cov(y,,Yj);O,f≠J,即要求Y。,Y2,...,Y,彼此不相关,之间尽可能不包 含重复冗余的信息;

21 印 印

妒 石

(26)

哈尔滨T程大学硕十学位论文

(3)要求D(y;)尽可能大,即y,能充分反应x』的变化情况。

因此,对于Yj,Y:,...,Y,的求解,可以采用统计学中的主成分分析方法来 处理,即求得Y,z a/jxl+a/2x2+…+att,x口,l=(1,2,...,,.)为样本数x(,l×P阶)的

第,个主成分。这样得到的Yl,y:,...,Y,均称为X的主成分。以上提出的三点就 是构造主成分表达式的基本思想。主成分分析的计算步骤可以概括为:

(1)设有数据集中n个样本,每个样本对P个指标进行观测,用z—score力"法 对样本数据矩阵元素进行标准化:

z玎2%一z』)/s,

(3.4)

其中‘=(轴m,s;=击(孙一‘y

(2)建立样本数据矩阵元素的相关矩阵R:

R=(k)肿

(3.5)

其中‰=j1扣∥一‘例k一磊川

(3)求相关系数矩阵R的特征矩阵^≥A:≥…苫A,及相应的单位特征向 量:

设^2 A:≥…乏AP是R的特征值,A=@{『)P。p是对应的特征向量矩阵,并

满足尺4=^4,其吼=0fl'口f2'…,口驷),则b,,=口fl一+口,2石2+…+口加~就是第z 个主成分值(这里xt,xz,..≯P为标准化值),九/∑A,为第i个主成分的贡献率,

y A,/y

A,为前i个主成分的累积贡献率。

留。箭’

(4)写出主成分的表达式:

(27)

哈尔滨一I:程大学硕+学位论文

,,。口fl石l+口心z2+川+口驷z.P (3.6)

利用主成分分析是找到几个综合因子代表原来众多的变量,使这些综合 因子能尽量反映原来变量的信息,而且彼此之间不相关。本实验中的数据是 时间序列的数据,不存在信息的重叠和相关,所以不采用主成分分析的方法。

3.3.2证券预测中数据预处理的新方法

分析本实验数据自身的特点,在实践中发现一种新方法:当把原始数据 进行归一化处理前,对原始数值进行自身乘方变换,不改变其符号,再来进 行归一化后输入网络训练或预测,最后对网络的输出进行反方向的逆处理即 可。由于该自身乘方变换是非线性的,其结果不仅压缩了数据变化的范围,

而且改善了其分布规律,使原始数值之间的差距加大,改变了原始数值之间 的相关性,如果数据之间的相关性会增大,就会提高预测的精度。

具体如下:设原始数据集为X,其中的所有元素为:毛,岛,...,x。,对 每一个元素的数值进行m次方处理,即把薹的数值变换为F,但不改变其 符号,再采用尺寸变换的方法进行归一化处理,得到财:lI。网络输出后进行 反归一化处理,得到Y;m,再对结果的数值进行开m次方处理(同样不改变其 符号),得到Y;。m为一正数,当m=1时即为原来的方法,当m>1或m<l 时,使原始数值之间的差距加大,改变了原始数值之间的相关性,如m的值 选择恰当,数据之间的相关性会增大,神经网络对它的拟合好,预测误差就

会减小,反之,会增人误差,因此要合理选择rn的值。

参数m大小的选择成了数值预处理方法成败的关键,就像选取神经网络 模型输入输出结点数一样没有一个一致的最优值,本实验采用试凑的方法来 确定,m取刁i同值,输入数据不变,采用固定的网络模型,固定训练步数(10000 步)和目标误差(0.001)来训练网络,比较不同取值的m对预测结果的影响(如 表3.3所示),从而找到最适合的m值。

(28)

哈尔滨工程大学硕+学位论文

表3.3不同m值对应的不同MSE值

序号 m值 MSE 序号 m值 MSE

1 0.00001 0.00763266 11

0.00383606

2 0.0001 0.00763255 12 5 0.00236578

3 0.001 0.0076325 1 12 6 0.00308218

O。01 0.00763101 13

O.0038801

5 0.8 0.0074076 14 8 0.00371696

6 0.5 0.00753 154 15 9 0.00353395

0.1

0.00794701 16 10 0.00318198

0.00729762 17 15 0.00330499

0.00655529 18 20 0.00338643

10 3 0.00562175 19 30 0.00407249

实验发现运行时间与in的取值大小没有必要的联系,但对网络性能有影 响,当m<l时,作用不大;m>l时,网络性能明显提高。所以rn应该根据不 同的网络结构和训练样本,采用试凑法来确定选取适合的值。通过表3.3很 明显发现,当m=5时,MSE最小,所以本文的数据预处理时的m取值为5。

3.4数据预处理仿真试验 3.4.1数据归一化

下面对数据进行归一化处理,并采用未改进的BP网络进行实验,网络 的输入结点数为7,隐层结点的个数为16,训练函数为traingd,对70个训 练样本进行仿真。训练到10000步时达到了均方误差达到0.00816186,如图 3.1所示。图3.2上部分是前1.35样本的回归曲线图,下部分是后36.70样本 的回归曲线图。很明显,对于同一个训练好了的网络,后35个样本的误差明 显比前35小,这是样本自身的特点决定的。图3.3为71.98样本的预测曲线 图,其中“+”表示实际数据,“o”表示预测数据。可以看出虽然预测误差很大,

但对比未进行数据预处理的预测(图2.3),已有很大改善。

(29)

哈尔滨工程大学硕士学位论文

图3.2 1.35和36.70样本的回归曲线图

.L~..

(30)

哈尔滨工程大学硕士学位论文

图3.3 71.98样本的预测曲线图

3.4.2数据自身乘方变换后归一化

下面是采用与前面同样的BP网络结构和训练函数进行仿真,所不同的 是对实验数据用证券预测数据预处理的新方法,即数据进行自身m=5次乘方 变换后,再对数据进行归一化处理后所得到的样本回归曲线图和预测曲线图。

比图3.2和图3.3数据没经过自身乘方变换的有所改进。

图3.4数据预处理后的1.70样本回归曲线

(31)

哈尔滨下程大学硕十学位论文

3.5本章小结

图3.5数据预处理后的预测

本章首先分析了进行数据预处理的必要性,并说明了本实验数据的来源,

接着介绍了两种数据预处理的方法:归一化方法和主成分分析的方法。最后

结合本实验的具体数据,提出一种新的数据预处理方法——数据自身乘方变

换后归一化。并仿真验证了该数据变换的有效性,但是预测误差还是很大。

下面一章采用遗传优化后的神经网络模型来预测经过预处理的数据,进一步 提高预测的精度。

27

(32)

哈尔滨工程大学硕士学位论文

第4章基于GA—BP算法证券预测模型的研究

4.1遗传算法概述

遗传算法(GeneticAlgorithms,GA)研究的历史比较矧141,20世纪60年

代末期到70年代初期主要由美国Michigan大学的John Holland与其同事、

学生们研究形成了一个较完善的理论和方法,首次明确提出遗传算法的概念,

Holland创建的遗传算法,是基于二进制表达的概率搜索方法。在种群中,根 据评价条件,概率选择适应性好的串进入下一代,通过信息交换重新组合新 串,经过多代进化,种群最后稳定在适应性好的串上。遗传算法作为一种计 算方法,对求解的问题本身一无所知,Holland最初研究的遗传算法也并不是 为解决特定的问题而设计的。由于遗传算法的特点是种群搜索和种群中个体 之间交换信息,搜索不依赖于梯度信息和问题本身,具有鲁棒性和全局搜索 的能力,所以,常常应用于优化和并行处理领域。进入20世纪90年代,随 着计算机技术的高速发展,遗传算法在各个领域得到了广泛的应用,新的遗 传算法有的对给定问题的搜索空间采用了更自然的表达方式,有的采用了更 适合具体问题的遗传运算。

遗传算法(Genetic Algorithms)是模拟生物界的遗传和进化过程而建立起 来的一种搜索算法,体现着生存竞争、优胜劣汰、适者生存的竞争机制【15】。

基本思想是从一组随机产生的初始解,即种群,开始进行搜索,种群中的每 一个个体,即问题的一个解,称为染色体;遗传算法通过染色体的适应值来 评价染色体的好坏,适应值大的染色体被选择的几率高,相反,适应值小的 染色体被选择的可能性小,被选择的染色体进入下一代;下一代中的染色体 通过交叉和变异等遗传操作,产生新的染色体,即后代;经过若干代之后,

算法收敛于最好的染色体,该染色体就是问题的最优解或近优解。

作为一种数学算法,遗传算法本身是没有物理意义的,如何有效地利用 遗传算法解决实际问题,达到满足实际应用需要的精度,一方面,要合理选 择编码方法、遗传算子、进化算子和有关参数;另一方面:要深入实际问题,

合理地将问题概化为遗传算法能够有效解决的模型,有时还需要根据实际问

(33)

哈尔滨工程大学硕士学位论文

题设计具体的编码方法和遗传算子。

遗传算法的一般流程f16】如图4.1所示。

图4.1遗传算法的流程图 遗传算法的运行过程可用如下步骤进行表述:

‘(1)随机产生初始种群,个体数目一定,每个个体表示为染色体的基因 编码;

(2)计算个体的适应度,并判断是否符合优化准则,若符合,输出最佳 个体及其代表的最优解,并结束计算;否则转向3;

(3)依据适应度选择再生个体,适应度高的个体被选中的概率高,适应 度低的个体可能被淘汰;

(4)按照一定的交叉概率和交叉方法,产生新个体;

(5)按照一定的变异概率和变异方法,产生新个体;

(6)由交叉和变异产生新一代的种群,返回(2);

遗传算法可以归纳为两种运算过程:遗传运算(交叉与变异)与进化运算

(选择)。遗传运算模拟了基因在每一代中产生新后代的繁殖过程,进化运算 则是通过竞争不断更新种群的过程。

4.2遗传算法的优点

遗传算法提供了一种求解复杂系统优化问题的通用框架,是适用于复杂

(34)

哈尔滨T程大学硕士学位论文

系统优化计算的搜索算法。本文采用遗传算法优化神经网络,由于遗传算法 与其他一些优化算法相比,主要有以下几个特点:

(1)遗传算法以决策变量的编码作为运算对象。传统的优化算法往往直 接以决策变量的实际值本身来进行优化计算,而遗传算法是以决策变量的某 种形式的编码为运算对象。这种对决策变量的编码处理方式,使人们在优化 计算过程中可以借鉴生物学中染色体和基因等概念,模仿自然界中生物的遗 传和进化等机理,也可以方便地应用遗传操作算子。特别是对一些无数值概 念或很难有数值概念,而只有代码概念的优化问题,编码处理方式更显示出

了其独特的优越性。

(2)遗传算法直接以目标函数值作为搜索信息。传统的优化算法不仅需要 利用目标函数值,而且往往需要目标函数的导数值等其他~些辅助信息才能 确定搜索方向。而遗传算法仅使用由目标函数值变换来的适应度函数值,就 可确定进一步的搜索方向和搜索范围。而且,直接利用目标函数值或个体适 应度,也可以把搜索范围集中到适应度较高的搜索空间中,从而提高搜索效

率。

(3)遗传算法同时使用多个搜索点的搜索信息。传统的优化算法往往是 从解空间中的一个初始点开始最优解的

(35)

哈尔滨工程大学硕士学位论文

论成果。神经网络相当于一个专家系统知识库,它能够自动在海量数据中识 别、捕捉和提取隐藏规律,并将其包含在神经元之间的连接权值中。遗传算 法具有全局搜索、收敛速度快的特点,将其与神经网络结合起来,不仅能发 挥神经网络的泛化映射能力,而且使神经网络克服收敛速度慢和容易陷入局 部误差极小点等缺点。由于它们极强的解决问题的能力,近年来引起了众多 的科研人员和工程人员的兴趣和参与,如何将两者的优点结合起来解决实际 问题己成为国内外学术界十分热门的研究课题【”~91。

在神经网络预测领域,BP模型是使用的较为成熟且较为有效的一种神经 网络模型,但是还是很不完善的,存在一些问题,诸如容易陷入到局部极小 值、收敛速度慢、网络结构和学习参数难以确定等。在第3章中已经提出一 些算法来改进,取得较好的效果,针对其局部收敛性,需要寻找一种较好的 具有全局收敛性的优化方法来加以改善。而GA是一个不受具体问题限制的 比较普适的优化算法,有较大概率收敛到全局最优解,或性能很好的次优解,

因此它非常适合于解决BP模型的局部收敛性问题,同时它还可以优化神经 网络的结构和连接权系数,这就满足了求得最优ANN的必要条件。因此将 ANN与GA有机结合,充分利用它们各自的优点并克服其不足,从根本上提

高神经网络解决问题的能力,具有十分重要的意义。

由此,本文提出了GA.BP算法,其基本思想是:首先,利用遗传算法有 指导地计算神经网络的结构,特别是隐层结点数,从而确定一个较合理的神 经网络结构【2仉211;其次,利用遗传算法从初始权值的解群中选取出一组优 秀的初始权值,克服初始权值选取的盲目性:最后将得到的神经网络结构和 优选的初始权值结合起来,利用改进BP算法进行股市行情的预测。

4.3.1遗传算法优化神经网络结构的算法

应用遗传算法可以搜索到最佳的神经网络结构。常用的神经网络有三到 四层。且采用越多的中间层,训练时间就会急剧增加,另一方面中间层增加 后,局部最小误差也会增加,网络在训练过程中,容易陷入局部最小误差,

网络的权重难以调整到最小误差处。遗传算法优化网络结构流程图如图4.2 所示。

具体过程如下:

31

參考文獻

相關文件

趣和求知慾望,培養初步的動手探究能力。」 • 「大自然與生活著重發展和延續幼兒的好奇心和 探索精神,幫助他們掌握尋找知識的方

u 复旦大学陈芬儿团队历经 10年,研制出了以不对称合成为核心 技术的制备方法;在国内投产后,该药物的生产成本由 1.5万元

本論文之目的,便是以 The Up-to-date Patterns Mining 演算法為基礎以及導 入 WDPA 演算法的平行分散技術,藉由 WDPA

本研究主要以 But-for 崩塌竣工時程分析技術為基礎進行理論推導,確認此延遲分析技術 計算邏輯之問題與完整性,之後提出修正之計算邏輯,使

本研究以 2.4 小節中之時程延遲分析技術相關研究成果為基礎,針對 Global Impact Technique、Net Impact Technique、As-Planned Expanded Technique、Collapsed

本研究為了將結構物內的牆以不同單位重來做比較,在計算每棟

本研究旨在使用 TI-Nspire CAS 計算機之輔助教學模式,融入基礎 統計學的應用,及研究如何使用 TI-Nspire CAS

關鍵字: : : :測驗理論 測驗理論 測驗理論 測驗理論, 基因演算法 基因演算法 基因演算法 基因演算法, Bloom 認知分類.. 認知分類