首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何利用matlab做BP神经网络分析(利用matlab神经网络工具箱)[通俗易懂]

    最近一段时间在研究如何利用预测其销量个数,在网上搜索了一下,发现了很多模型来预测,比如利用回归模型、时间序列模型,GM(1,1)模型,可是自己在结合实际的工作内容,发现这几种模型预测的精度不是很高,于是再在网上进行搜索,发现神经网络模型可以来预测,并且有很多是结合时间序列或者SVM(支持向量机)等组合模型来进行预测,本文结合实际数据,选取了常用的BP神经网络算法,其算法原理,因网上一大堆,所以在此不必一一展示,并参考了bp神经网络进行交通预测的Matlab源代码这篇博文,运用matlab 2016a,给出了下面的代码,并最终进行了预测

    01

    bp神经网络应用实例(简述bp神经网络)

    clear; clc; TestSamNum = 20; % 学习样本数量 ForcastSamNum = 2; % 预测样本数量 HiddenUnitNum=8; % 隐含层 InDim = 3; % 输入层 OutDim = 2; % 输出层 % 原始数据 % 人数(单位:万人) sqrs = [20.55 22.44 25.37 27.13 29.45 30.10 30.96 34.06 36.42 38.09 39.13 39.99 ... 41.93 44.59 47.30 52.89 55.73 56.76 59.17 60.63]; % 机动车数(单位:万辆) sqjdcs = [0.6 0.75 0.85 0.9 1.05 1.35 1.45 1.6 1.7 1.85 2.15 2.2 2.25 2.35 2.5 2.6... 2.7 2.85 2.95 3.1]; % 公路面积(单位:万平方公里) sqglmj = [0.09 0.11 0.11 0.14 0.20 0.23 0.23 0.32 0.32 0.34 0.36 0.36 0.38 0.49 ... 0.56 0.59 0.59 0.67 0.69 0.79]; % 公路客运量(单位:万人) glkyl = [5126 6217 7730 9145 10460 11387 12353 15750 18304 19836 21024 19490 20433 ... 22598 25107 33442 36836 40548 42927 43462]; % 公路货运量(单位:万吨) glhyl = [1237 1379 1385 1399 1663 1714 1834 4322 8132 8936 11099 11203 10524 11115 ... 13320 16762 18673 20724 20803 21804]; p = [sqrs; sqjdcs; sqglmj]; % 输入数据矩阵 t = [glkyl; glhyl]; % 目标数据矩阵 [SamIn, minp, maxp, tn, mint, maxt] = premnmx(p, t); % 原始样本对(输入和输出)初始化 SamOut = tn; % 输出样本 MaxEpochs = 50000; % 最大训练次数 lr = 0.05; % 学习率 E0 = 1e-3; % 目标误差 rng('default'); W1 = rand(HiddenUnitNum, InDim); % 初始化输入层与隐含层之间的权值 B1 = rand(HiddenUnitNum, 1); % 初始化输入层与隐含层之间的阈值 W2 = rand(OutDim, HiddenUnitNum); % 初始化输出层与隐含层之间的权值 B2 = rand(OutDim, 1); % 初始化输出层与隐含层之间的阈值 ErrHistory = zeros(MaxEpochs, 1); for i = 1 : MaxEpochs HiddenOut = logsig(W1*SamIn + repmat(B1, 1, TestSamNum)); % 隐含层网络输出 NetworkOut = W2*HiddenOut + repmat(B2, 1, TestSamNum); % 输出层网络输出 Error = SamOut - NetworkOut; % 实际输出与网络输出之差 SSE = sumsqr(Error); % 能量函数(误差平方和) ErrHistory(i) = SSE; if SSE < E0 break; end % 以下六行是BP网络最核心的程序 % 权值(阈值)依据能量函数负梯度下降原理所作的每一步动态调整量 Delta2 = Error; Delta1 = W2' * Delta2 .* HiddenOut .* (1 - HiddenOut); dW2 = Delta2 * HiddenOut'; dB2 = Delta2 * ones(TestSamNum, 1); dW1 = Delta1 * SamIn'; dB1 = Delta1 * ones(TestSamNum, 1); % 对输出层与隐含层之间的权值和阈值进行修正 W2 = W2 + lr*dW2; B2 = B2 + lr*dB2; % 对输入层与隐含层之间的权值和阈值进行修正 W1 = W1 + lr*dW1; B1 = B1 + lr*dB1; end HiddenOut = logsig(W1*SamIn + repmat(B1, 1, TestSamNum)); % 隐含层输出最终结果 NetworkOut = W2*HiddenOut + repmat(B2, 1, TestSamNum); % 输

    03

    深度学习与神经科学相遇(二)[译]

    许多机器学习方法(如典型的监督式学习)是基于有效地函数优化,并且,使用误差的反向传播(Werbos, 1974; Rumelhart et al., 1986)来计算任意参数化函数的梯度的能力是一个很关键的突破,这在下文我们将详细描述。在假设1中,我们声称大脑也是,至少部分是,优化机(optimization machine,指具有优化函数能力的装置)。但是,究竟说大脑可以优化成本函数是什么意思呢?毕竟,许多自然界中的许多过程都可以被视为优化。例如,物理定律通常被认为是最小化一个动作的功能,而进化优化的是复制基因(replicator)在长时间尺度上的适应性。要明确的是,我们的主张是:(a)大脑在学习期间具有强大的信用分配机制,允许它通过调整每个神经元的属性以提升全局输出结果,以此来优化多层网络中的全局目标函数,以及(b)大脑具有确定哪些成本函数对应其哪些子网络的机制,即,成本函数是高度可调的,这是由进化逐步形成并与动物的生理需求相匹配。因此,大脑使用成本函数作为其发展的关键驱动力,就像现代机器学习系统一样。

    03

    用于智能车辆系统的结构化轮廓和空间信息道路检测的优化卷积神经网络;基于链路连通性的多无人机异构网络接入选择方法

    【用于智能车辆系统的结构化轮廓和空间信息道路检测的优化卷积神经网络】“据说道路检测是遥感分析中的一个主要研究领域,由于数据的复杂性,它通常很复杂,因为它在外观上有所不同,类间和类内差异较小,这往往会导致道路提取中的错误和差距”。此外,大多数监督学习技术都存在人工标注价格高或训练数据不足的问题。因此,拟引入一种新的道路检测模型。这项工作利用了一个基于VGG网络体系结构的连体完全卷积网络(称为“s-FCN-loc”),该网络考虑了语义轮廓、RGB通道和位置,从而可以在精确分割道路区域之前进行。作为主要贡献,我们进行了超像素分割,将RGB图像作为FCN网络的输入,并将图像的道路区域设置为目标。此外,使用AND运算对分割输出进行融合,以获得准确检测道路区域的最终分割输出。为了使检测更加准确,FCN的卷积层通过一种新的改进模型(称为面向距离的海狮算法(DSLnO)模型)进行优化选择。所提出的DSLnO+FCN模型实现了最小的负测度值,准确率比传统方法高8.2%。最后,在KITTI道路检测数据集上对该方法进行了评价,取得了较好的效果。对积极措施和消极措施进行了分析。

    01
    领券