基于双阶段注意力机制和 Bi-LSTM 的多变量时间序列预测网络用户情感变化趋势

双阶段注意力机制:输入注意力机制和时间注意力机制,引入注意力机制就可以对于不同的特征赋予不同的权重,便于预测用户的情感趋势。

RNN循环神经网络:RNN循环神经网络具有短期记忆功能,RNN 网络由输入层、隐藏层和输入层三部分组成,且隐藏层同时与自身和输出层相连,RNN 网络当前时刻隐藏层的值与当前时刻的输 入共同作为其下一时刻的输入。

RNN 网络虽然可以对一定长度输入的序列进行建模预测,但是当序列过长时,预测性能较差。

LSTM网络:而 LSTM 网络巧妙地在 RNN 网络的基础上引入了门控机制 (Gating Mechanism[72],三个“门”分别为:输入门(input gate)、遗忘门(forget gate)和输出门(output gate)。此外,LSTM 网络还在神经元中新增了一个新的 记忆单元状态 ,它负责把信息从序列初始的位置传递到序列末尾位置,完 成信息的循环传递,同时向隐藏层传递信息,用于存储序列的长时间特性,LSTM 网络有效地捕捉了时间序列的长期依赖性,因此适合用于时间序列预测领域。

通过输入门、遗忘门和输出门来改变记忆单元的状态。根据遗忘门和输入门的输出结果更新记忆单元的状态 ,这一步骤保存了数据的长期特征,避免了因无关特征增加的模 型的计算复杂度,输出门( output gate ):负责控制输出当前记忆单元状态的哪些信息
        所以已经有学者提出 基于 DA-RNN 的多变量时间序列预测,但是 在大数据时代背景下,人们收集到的时间序列数据恰恰大都是多变量的,因此这些输入之间会有或多或少的相互作用,而 DA-RNN 模型的编码器只用了单向的 LSTM 网络对输入序列进行特征提取,提取到的特征并不充分。
在此基础上提出基于双阶段注意力机制和 Bi-LSTM 的多变量时间序列预测:

Bi-LSTMBi-LSTM网络在上下文信息建模时具备更强的长期记忆能力。因此,Bi-LSTM 网络比 LSTM 网络更适合研究时间序列数据。Bi-LSTM 网络不是简单地加深网络深度,而是能够根据两个方向的特征进行预测,通过一个前向 LSTM 和一个后向 LSTM 得到两个序列相反的隐含层状态,分别获取了输入特征的历史信息和未来信息,捕捉了序列数据两个时间方向的特征。使提取的特征将更加精准。

基于双阶段注意力机制和 Bi-LSTM 的多变量时间序列预测模型主要分为两个阶段,编码器和解码器:     

        在编码器阶段,首先利用输入注意力机制将当前时刻影响力大的输入序列赋予较大的权重,影响力小的输入序列赋予较小权重,从而有效削弱不相关信息的干扰;再利用 Bi-LSTM 网络进行编码,提取输入序列的特征,即当前时刻 Bi-LSTM(双向长短期记忆网络)网络的隐藏状态。在解码器阶段, Encoder 阶段当前时刻、历史时刻的网络隐藏状态(特征)结合,并利用注意力机制,赋予当前、历史时刻的隐藏状态不同的权重,得到更加优化的特征输出;再利用 LSTM 网络进行解码,得到最终预测结果。

具体预测方法:

基于 Pytorch 深度学习框架,在 Ubuntu 操作系统上利用 Python 语言编程。

使用爬取微博胖猫事件数据集,其中该数据集包含:

1、用户行为特征比如用户在社交媒体上的发帖频率、评论数量、点赞数量等反映用户活跃度和参与程度的特征

2、文本情感特征(用户在社交媒体上发布内容的情感色彩)

3、时间特征(捕捉用户情感随时间的周期性变化)

4、基础数据特征(用户的年龄、性别、地域等基础信息)

5、外部环境特征(社交媒体上热门话题评论的情感色彩)

选取文本情感特征为目标变量,其余特征为特征变量。通过DABi-LSTM模型中的编码器编码,输出语义向量,然后语义向量输入到解码器中,最后得到输出序列。

其中需要调节预测滑动窗口大小、编码器隐含层层数、解码器隐含层层数参数,来达到最佳预测性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值