• Stars
    star
    154
  • Rank 242,095 (Top 5 %)
  • Language
    MATLAB
  • Created over 7 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

基于遗传算法的BP网络设计,应用背景为交通流量的预测

基于遗传算法的BP神经网络

介绍:利用遗传算法并行地优化BP网络的权值和阈值,从而避免了BP网络在优化权值和阈值时陷入局部最优的缺点。

背景:此项目的背景为客运量和货运量的预测。

文件介绍

  1. freightFlow.xlsx : 货运量数据集,前7列为影响货运量的因素,第8列为货运量;
  2. passengerFlow.xlsx : 客运量数据集,前7列为影响货运量的因素,第8列为客运量;
  3. Data.mat:这是一个结构体,成员P为从客运量数据集,成员F为货运量数据集;
  4. 其他为源文件。

函数概述

  1. mainFun():主函数,完成训练和预测;
  2. normInit():数据获取,存入结构体Data.mat;
  3. gadecod():对输入的染色体编码,编码方式一般有两种,实数编码和二进制编码(此项目中对应的为实数编码,所以编码后的值即为解码后的值);
  4. getBPinfo():获取BP网络的基本信息;
  5. gabpEval():计算适应度。

GAOT使用说明

因为项目中用到了GAOT工具包中的函数,所以需要将GAOT工具包加入路径。 操作步骤为:

  1. 点击GAOT文件;
  2. 添加到路径;
  3. 选定文件夹和子文件夹。

这样,工程中就可以调用GAOT工具包中的函数了。

初始种群的生成

[pop]=initializega(num,bounds,eevalFN,eevalOps,options)
  • 【输出参数】

pop:生成的初始种群

  • 【输入参数】

num:种群中的个体数目
bounds:代表变量的上下界的矩阵
eevalFN:适应度函数
eevalOps:传递给适应度函数的参数
options:选择编码形式(浮点编码或是二进制编码)[precision F_or_B]
precision:变量进行二进制编码时指定的精度
F_or_B:为1时选择浮点编码,否则为二进制编码,由precision指定精度)

遗传算法函数

[x,endPop,bPop,traceInfo]=ga(bounds,evalFN,evalOps,startPop,opts,termFN,termOps,selectFN,selectOps,xOverFNs,xOverOps,mutFNs,mutOps)
【输出参数】
x--求得的最优解
endPop--最终得到的种群
bPop--最优种群的一个搜索轨迹
traceInfo--每一代的最好的适应度和平均适应度
【输入参数】
bounds--代表变量上下界的矩阵
evalFN--适应度函数
evalOps--传递给适应度函数的参数
startPop--初始种群
opts[epsilonprob_opsdisplay]--opts(1:2)等同于initializegaoptions参数,第三个参数控制是否输出,一般为0。如[1e-610]
termFN--终止函数的名称,如['maxGenTerm']
termOps--传递个终止函数的参数,如[100]
selectFN--选择函数的名称,如['normGeomSelect']
selectOps--传递个选择函数的参数,如[0.08]
xOverFNs--交叉函数名称表,以空格分开,如['arithXoverheuristicXoversimpleXover']
xOverOps--传递给交叉函数的参数表,如[20;23;20]
mutFNs--变异函数表,如['boundaryMutationmultiNonUnifMutationnonUnifMutationunifMutation']
mutOps--传递给交叉函数的参数表,如[400;61003;41003;400]

More Repositories

1

dis-seckill

👊SpringBoot+Zookeeper+Dubbo打造分布式高并发商品秒杀系统
Java
517
star
2

seckill

Spring Boot+MySQL+Redis+RabbitMQ的高性能高并发商品秒杀系统设计与优化
Java
189
star
3

GLCM-SVM

提取图像的灰度共生矩阵(GLCM),根据GLCM求解图像的概率特征,利用特征训练SVM分类器,对目标分类
MATLAB
113
star
4

AD9361_TX_MSK

A project demonstrate how to config ad9361 to TX mode and how to transmit MSK
Verilog
48
star
5

Verilog-FIR

FIR implemention with Verilog
Verilog
42
star
6

Frequency-Hopping

A plain simulation model for Frequency Hopping
MATLAB
34
star
7

NRF24L01-C51

基于无线模块NRF24L01的双机通信系统,MCU为C51
C
19
star
8

AD9361_TX_GMSK

A project demonstrate how to config ad9361 to TX mode and how to transmit GMSK
VHDL
14
star
9

AD9361_TX_1MHz_Baseband_800Hz_IF

A project demonstrate how to config ad9361 to TX mode
VHDL
11
star
10

SPI

Exchange data using spi, the code simulate the master's behavior of send data to slave.
Verilog
10
star
11

Gobang

五子棋游戏:支持人-人对战模式、 人-机对战模式、联机对战模式和其他辅助功能
Java
6
star
12

MATLAB-FIR

FIR analysis using Matlab, including fixed-point and float-point domain , and deal with physical FIR output data.
MATLAB
6
star
13

design-pattern

23种设计模式及各种模式的示例和文档说明
Java
4
star
14

Spider

Spider game
Java
1
star
15

XIM

☎️使用Netty打造的即时通信助手(X-IM)
Java
1
star
16

LeetCode-Solution

LeetCode题解,但不仅仅是LeetCode,还包括其他通用算法
Java
1
star