A new boosting algorithm for improved time-series forecasting with recurrent neural networks

本文提出了一种新的boosting算法,旨在改进循环神经网络(RNN)在时间序列预测任务中的表现,特别是解决长期预测准确性低的问题。该算法引入了一个新参数以调节boosting效果,并在多个基准测试中展示了其对单步和多步预测的有效性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【未完待续】

A new boosting algorithm for improved time-series forecasting with recurrent neural networks


given x(t),x(t1),x(t2),..., a reasonable estimate x(t+h) of x(t+h) has to be looked for, h being the number of steps ahead.
为了建立这样的模型,需要适当的函数f.
鉴于其通用近似性质,多层感知器(MLP [3])通常在建模非线性函数f时成功。在这种情况下,将固定数量的过去值馈送到MLP的输入层,并且需要输出,以便可以预测时间序列的未来值。

在许多应用中,使用固定尺寸的时间窗已经被证明是有限制的:如果时间窗口太窄,重要的信息可能被忽略,而如果窗口太宽,则无用的输入可能会引起不必要的噪音。

理想情况下,对于给定的问题,时间窗口的大小应该适应上下文。这可以通过使用循环神经网络(RNN)[3,4]来完成,这将通过基于梯度的算法诸如反向传播通过时间(BPTT)算法来学习。可以通过几种手段改善结果。

一种方法是基于从应用领域知识获得的先验信息开发更合适的训练算法(参见例如[5])。

In this paper we will focus on the definition of a boosting algorithm used to improve the prediction performance of RNNs.
A new parameter will be introduced, allowing regulation of the boosting effect.
在本文中,我们将重点介绍用于提高RNN的预测性能的boosting算法的定义。将引入一个新的参数,从而调节boosting的效果。

A common problem with the time series forecasting model is the low accuracy of long term forecasts.
时间序列预测模型的常见问题是长期预测的准确度低。短期来看变量的估计值可能相当可靠,但对于长期预测,估计可能不太准确。

Section 3, the ensemble methods will be reviewed before presenting the generic boosting algorithm
Section 4, the related work on regression will be presented.
Next a definition of RNNs as well as the BPTT associated learning algorithm will be provided.
The new boosting algorithm is described in Section 6
最后,在第7节中,我们将看看在三个不同的基准测试中获得的SS预测问题的实验结果,以及在两个基准测试中获得的MS预测问题的结果, 这表现出整体性能的提高。

【single-step-ahead (SS) multi-step-ahead (MS) 】(单步前进、多步前进)


Modelling approaches for times series

处理预测问题的最常见方法可以追溯到[7],并且包括在构建预测时使用一个固定数字M个过去值(在时间序列上滑动的固定长度的时间窗口):

这里写图片描述

目前大多数关于SS预测的工作依赖于[8]的结果,表明在几个假设(其中不存在噪声)的情况下,可以根据公式(1) 和 公式(2) 得到 x(t+τ) 的完美估计,如果M>=2d+1。这里的 d 是 产生时间序列的 固定引子 的规格。 在这种方法中,在滑动时间窗口中保留执行预测所需的所有过去的Memory。
An alternative solution is to keep a small length (usually M = 1) time window and enable the model to develop a memory of the past by itself. This memory is expected to represent the past information that is actually needed for performing the task more accurately.

Local and global approaches

在local方法中,为生成目标时间序列的动态系统的行为建立一个分段的近似。

首先,通过使用时间窗口技术和输出序列构建合成状态空间。
然后,一些矢量量化技术对该状态空间进行分割。
最终,为每个这样的段开发一个简单(通常是线性的)局部模型。
有局限性

本地方法在许多MS预测问题中取得了成功[12-15],这可能是由于状态空间的量化提供的增强的鲁棒性以及所使用的局部模型的简单性的结果。

全局方式则试图对底层动态系统的整个行为范围构建单一(复杂)模型。

### 使用图神经网络增强遗传算法以实现社交网络中的多跳影响力最大化 #### 图神经网络在社交网络分析中的应用 图神经网络(GNNs)能够有效捕捉节点之间的复杂关系,在处理具有高度连接性的数据结构方面表现出色。对于社交网络传播模型而言,通过学习节点特征表示可以更好地理解个体间的互动模式以及信息扩散路径[^1]。 #### 遗传算法优化过程概述 遗传算法是一种基于自然选择原理设计出来的全局搜索方法,适用于解决组合优化问题。其核心在于模拟生物进化过程中基因传递机制来寻找最优解集。当应用于社交网络环境下的影响范围扩大化场景时,则需考虑如何定义适应度函数以便评估候选种子集合的好坏程度。 #### 结合两者优势的方法论探讨 为了提升传统GA求解效率并改善最终结果质量,可引入GNN作为辅助工具参与整个计算流程: - **初始化种群阶段**:利用预训练好的GNN模型预测各节点成为活跃传播者的潜在可能性得分;依据此概率分布随机采样生成初始染色体; - **交叉变异操作期间**:借助于已构建的社会关系子图谱指导新个体创造方向——即优先保留那些高影响力的局部区域内的成员构成下一代样本空间; - **评价体系重构环节**:除了常规考量被激活用户的数量外,还应加入由GNN推断得出的预期后续波及效应因子共同决定单条记录对应的适配值大小。 ```python import torch from torch_geometric.nn import GCNConv import numpy as np class GNNEnhancedGeneticAlgorithm(): def __init__(self, data, population_size=100, generations=50): self.data = data self.population_size = population_size self.generations = generations # Initialize the GNN model for node importance prediction num_features = data.num_node_features hidden_channels = 16 self.model = GCNModel(num_features, hidden_channels) def initialize_population(self): predictions = self.predict_importance_scores() initial_population = [] while len(initial_population) < self.population_size: chromosome = select_nodes_based_on_probabilities(predictions) if validate_chromosome(chromosome): # Ensure no duplicates or invalid selections initial_population.append(chromosome) return initial_population def predict_importance_scores(self): with torch.no_grad(): out = self.model(self.data.x, self.data.edge_index).softmax(dim=-1) scores = out[:, 1].cpu().numpy() # Assuming binary classification where class '1' indicates higher influence normalized_scores = (scores - min(scores)) / (max(scores) - min(scores)) return normalized_scores def main(): dataset = load_social_network_data() ga_instance = GNNEnhancedGeneticAlgorithm(dataset) best_solution = run_genetic_algorithm(ga_instance) evaluate_and_report_results(best_solution) if __name__ == "__main__": main() ``` 上述代码片段展示了如何创建一个融合了GCN特性的改进版遗传算法框架用于探索最佳的影响者群体配置方案。值得注意的是实际应用场景可能涉及更多细节调整和技术选型工作,这里仅提供了一个简化版本供参考[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值