IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 基于深度高斯过程的交通流预测 -> 正文阅读

[人工智能]基于深度高斯过程的交通流预测

基于深度高斯过程的交通流预测



前言

深度高斯过程作为近年来提出的一种新的深度学习方法,由于其强大的学习能力和对非线性数据的隐含细节特征的刻画,被广泛运用于非监督学习领域。与传统机器学习方法或深度学习方法不同,深度高斯过程从单个浅层高斯过程出发,通过使用变分推断的方法,解决了求解最大后验概率分布时的非解析解困境,从而能够在给出预测值的同时,还能从概率意义上刻画预测的不确定性,这种特性在时间序列预测领域中,尤其是在交通流预测中非常具有现实的意义。本文首次将深度高斯过程运用于交通流预测当中,主要工作如下


一、数据特性

交通系统是随时间变化且结构复杂的系统,其受行人、交通环境、天气状况等不确定因素的共同影响。当道路上车流密度较大,此时观察到的是“拥挤流”;而当道路上车流较小时,观察到交通流呈现“自由流”的特点。也就是说,交通流不仅仅是一个随机过程,还是一个不稳定的随机过程,但是,这种随机性并不意味着随机游走,一旦道路周围的人口密度和路网分布确定了,交通流的特征基本上也就随之确定,这就意味着交通流具有一定的记忆性。此外交通流量数据也具有随机性、波动性等特性

在这里插入图片描述

二、深度高斯建模过程

在这里插入图片描述

三、实验结果

利用工具箱% Netlab Toolbox% Version 3.3.1
在这里插入图片描述

代码如下(示例):

clear all 
close all
data=importdata('数据.xls');
data1=data.data.Sheet1;
x=data1(:,2:5);
t=data1(:,1);
% Generate the matrix of inputs x and targets t.
randn('state', 42);
rand('state', 42);
ndata = length(t);			% Number of data points.
% % noise = 0.2;			% Standard deviation of noise distribution.
% % x = (linspace(0, 1, ndata))';
% % t = sin(2*pi*x) + noise*randn(ndata, 1);
mu = mean(x);
sigma = std(x);
tr_in = (x - mu)./(sigma);
% % 
% % tr_in = [x x x];

% Set up network parameters.
nin =4;			% Number of inputs.
nhidden = 7;			% Number of hidden units.
nout = 1;			% Number of outputs.

% Create and initialize network weight and parameter vectors.
net = rbf(nin, nhidden, nout, 'gaussian');
% Use fast training method
options = foptions;
options(1) = 1;		% Display EM training
options(14) = 10;	% number of iterations of EM
net = rbftrain(net, options, tr_in, t);
% Create a second RBF with thin plate spline functions
net2 = rbf(nin, nhidden, nout, 'tps');

% Re-use previous centres rather than calling rbftrain again
net2.c = net.c;
[y, act2] = rbffwd(net2, tr_in);

% Solve for new output weights and biases from RBF activations
temp = pinv([act2 ones(ndata, 1)]) * t;
net2.w2 = temp(1:nhidden, :);
net2.b2 = temp(nhidden+1, :);

% Create a third RBF with r^4 log r functions
net3 = rbf(nin, nhidden, nout, 'r4logr');

% Overwrite weight vector with parameters from first RBF
net3.c = net.c;
[y, act3] = rbffwd(net3, tr_in);
temp = pinv([act3 ones(ndata, 1)]) * t;
net3.w2 = temp(1:nhidden, :);
net3.b2 = temp(nhidden+1, :);

% Plot the data, the original function, and the trained network functions.

y = rbffwd(net, tr_in);
% y2 = rbffwd(net2,tr_in);
% y3 = rbffwd(net3,tr_in);
fh1 = figure;

plot(t, 'ob')
hold on
plot(y, '--g', 'LineWidth', 2)
legend('data', 'Gaussian RBF');

xlabel('Input')
ylabel('Target')


总结

深度高斯过程能够从数据中通过在后验推理引入变分推断,从而解决了后验概率中计算解析解困难的问题,通过最优化后验概率,模型能够自动获取各个层核函数的最佳超参数,具备更加自主的学习能力。
源码链接:https://mianbaoduo.com/o/bread/mbd-YZqcmJpq
参考文献:
【1】基于深度高斯过程的交通流预测_王赢逸

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-07-07 11:42:59  更:2021-07-07 11:44:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/19 19:31:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码