✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。
我是Srlua小谢,在这里我会分享我的知识和经验。🎥
希望在这里,我们能一起探索IT世界的奥妙,提升我们的技能。🔮
记得先点赞👍后阅读哦~ 👏👏
📘📚 所属专栏:传知代码论文复现
欢迎访问我的主页:Srlua小谢 获取更多信息和资源。✨✨🌙🌙
目录
本文所有资源均可在该地址处获取。
预测不法分子的行踪!
城市犯罪预测任务旨在预测未来时间段内将发生的犯罪事件的数量。我们对从芝加哥(2018 年)和纽约市(2019 年)收集的两个现实世界犯罪数据集进行了实验。我们将其用作预训练模块来与最先进的犯罪预测模型 ST-SHN 集成。然后使用 ST-SHN 对所提出模型的编码区域嵌入进行微调。 我们遵循与 ST-SHN 相同的设置,包括区域划分策略(芝加哥:234 个区域,纽约市:180 个区域)、训练/测试数据分割和评估指标(MAE 和 MAPE)。为了节省空间,我们报告了不同犯罪类别(例如盗窃、袭击和抢劫)的总体预测准确性。
【注】 文章中所用到的数据集,都经过预处理的数据集文件(.pkl),同样的,我们也给出了原数据集的下载链接,代码和数据集都放在了附件中,感兴趣的小伙伴可以进行下载,谢谢支持!
一、研究背景
时空图学习已成为一种有前途的解决方案,用于对结构化时空数据进行建模并学习各种城市感知任务(例如犯罪预测和交通流量预测)的区域表示。然而,由于不准确的图结构信息聚合模式,大多数现有模型容易受到生成区域图质量的影响。现实生活场景中普遍存在的时空数据噪声和不完整性给生成高质量的区域表示带来了挑战。为了应对这一挑战,我提出了一种新的时空图学习模型,以实现有效的自我监督学习。我提出的模型是一种对抗性对比学习范式,可以自动蒸馏关键的多视图自我监督信息,以实现鲁棒的时空图增强。 使模型能够自适应地识别硬样本,以实现更好的自我监督,从而增强表示辨别能力和鲁棒性。此外,还引入了跨视图对比学习范式来建模跨视图特定区域表示的相互依赖性并保留潜在的关系异质性。
二、模型结构和代码
1. 图增强时空学习
我开发了一个增强图的时空学习框架,专门用于提取区域之间的底层时空关系,通过全面捕捉来自不同角度的动态区域依赖关系,如POI语义、城市流动过渡和地理位置。通过使用 Skip-gram 和 MLP 在嵌入空间中保持 POI 语义的方法,将 POI 矩阵 P∈RJ×CP∈RJ×C 嵌入到一组潜在表示中。具体而言,应用 Skip-gram 来捕捉每个 POI 的上下文信息,然后使用 MLP 将这些上下文嵌入转换为最终的 POI 嵌入。此方法使我们能够捕捉 POI 之间的语义相关性,并在嵌入空间中保持这些信息。在结果矩阵 Eˉ∈RJ×dEˉ∈RJ×d 中,每行对应一个个体区域 rjrj 的 dd 维向量。
多视图区域图
在将多视图信息集成到统一框架之前,首先独立处理每个视图并创建视图特定的图:
- POI 基础的区域图 GpGp 通过测量区域 POI 语义嵌入 ejej 和 ej′ej′ 之间的相似性生成。在该图中,如果区域之间的余弦相似度 cos(ej,ej′)>ϵcos(ej,ej′)>ϵ,即超过阈值 ϵϵ,则两个区域相连。
- 时间感知的基于流动性的图 GmGm 横跨空间和时间构建节点和边。对于每个区域 rjrj,会生成一系列与不同时间槽 t∈Tt∈T 对应的时间感知区域节点。给定轨迹 (rs,rd,ts,td)(rs,rd,ts,td),在时间槽 tsts 的源区域节点 rstsrsts 与时间槽 tdtd 的目标区域节点 rdtdrdtd 相连。
- 基于地理的图 GsGs 根据距离连接空间上相邻的区域。
我们通过堆叠视图特定的区域图(即 GpGp、GmGm、GsGs)生成统一的多视图区域图 GG,以反映区域关系的异质性。为此,我们在不同视图特定的图结构中的同一区域节点之间添加自连接边。
信息传播范式
为了捕捉多视图数据中的区域内和区域间的关系,利用在时间和空间维度上通过多视图区域图 GG 进行信息传递。图层从第 l−1l−1 层到第 ll 层的嵌入传播定义如下:
其中,hjhj 表示区域 rjrj 的精细嵌入向量。系数 βj,j′βj,j′ 计算为 1/∣Nj∣∣Nj′∣1/∣Nj∣∣Nj′∣,NjNj 表示图 GG 中区域 rjrj 的邻居节点集。初始嵌入向量 hj(0)hj(0) 由 POI 嵌入层得出。ReLU 激活函数用 σ(⋅)σ(⋅) 表示,W(l−1)∈Rd×dW(l−1)∈Rd×d 代表第 l−1l−1 次迭代的可学习转换权重。
信息聚合执行如下:
其中,H∈R∣V∣×dH∈R∣V∣×d 是图 GG 中所有节点的嵌入矩阵,∣V∣∣V∣ 是节点数。变量 LL 是图神经网络层的深度。矩阵 A∈R∣V∣×∣V∣A∈R∣V∣×∣V∣ 和 D∈R∣V∣×∣V∣D∈R∣V∣×∣V∣ 分别是具有自连接的 GG 的邻接矩阵和对角度矩阵。
2. 图增强
许多现有的图对比学习方法使用手工设计的对比视图,如随机图结构损坏和掩码,以简化模型设计。为了使图对比学习适应全球时空关系的异质性,我们提出了一种针对多视图区域图 GG 的自适应图增强方案。我们的方案基于变分图自编码器 (VGAE) 进行自监督学习。这种方法使我们能够通过统一对比学习和生成式自监督学习来改进时空表示的性能,从而包含全球时空关系的异质性。我们提出了一种方法,自动学习不同区域之间的依赖关系,并通过全局上下文改善区域图结构,从而抵抗诸如相邻区域之间的低相关性以及长距离区域之间的强依赖性等噪声干扰。我们的方法基于嵌入映射函数 G→R∣V∣×dG→R∣V∣×d(公式2),并采用基于高斯噪声的增强,其设计如下:
其中,所有区域的图结构学习所增强的区域嵌入表示为 H~∈R∣V∣×dH~∈R∣V∣×d。结构学习函数 η(⋅)η(⋅) 估计区域之间的依赖关系。噪声矩阵 Γ∈R∣V∣×dΓ∈R∣V∣×d 的元素 γγ 从均值为 μμ、标准差为 σσ 的高斯分布中抽取。
为了实现可学习的对比视图生成,使用两层 MLP,其可训练的参数(即 MLPmean(⋅)MLPmean(⋅) 和 MLPstd(⋅)MLPstd(⋅))用于从原始嵌入矩阵 HH 计算均值和标准差。随后重复应用区域图结构学习函数 η(⋅)η(⋅),并通过对比损失进行自适应图增强。VGAE 对比损失定义为:
其中,ττ 是控制梯度效应的温度参数。
3. 带有困难样本的对抗对比学习
为了增强我们图增强方法对干扰的鲁棒性,我们引入了对抗自监督,以识别困难的负样本和正样本。这样做可以通过在模型训练期间提供有利于梯度学习的辅助自监督信号,来改善我们的对比学习范式。通过执行对抗对比学习,我们旨在提高模型的性能,并使其对扰动更加鲁棒。
为实现这一目标,我们通过最大化生成式自编码器视图 G~G~ 和约束对抗视图 G^G^ 之间的对比损失来执行对抗数据增强。对抗对比学习是在以下最小-最大对抗优化范式下执行的:
其中,LadvLadv 是基于 InfoNCE 的对比损失。ΘΘ 表示变分图自编码器的可训练模型参数。误差函数 ϵ(⋅)ϵ(⋅) 定义为邻接矩阵和节点特征之间的绝对误差,ΔΔ 表示相对于邻接矩阵 A^,A~A^,A~ 以及节点嵌入 H^,H~H^,H~ 的误差超参数。
为了对编码的节点嵌入和图结构进行对抗增强,我们采用了用于数据扰动的投影梯度下降 (PGD) 攻击 (Feng et al., 2022)。我们定义了邻接矩阵的补充矩阵,表示为 A^′′A^′′,并且 A^′=1∣V^′∣×∣V^′∣−I∣V^′∣−A^′′A^′=1∣V^′∣×∣V^′∣−I∣V^′∣−A^′′,其中 1∣V^′∣×∣V^′∣1∣V^′∣×∣V^′∣ 是大小为 ∣V^′∣×∣V^′∣∣V^′∣×∣V^′∣ 的全1矩阵。在 PGD 攻击之后,扰动的邻接矩阵为:
其中 ∘∘ 表示元素乘积。矩阵 LA^′∈{0,1}∣V∣×∣V∣LA^′∈{0,1}∣V∣×∣V∣ 的每个元素 LA^′[i,j]LA^′[i,j] 表示节点 vivi 和 vjvj 之间的边的相应修改。对 H^′H^′ 的扰动表示为:
其中,LH^∈R∣V∣×dLH^∈R∣V∣×d 表示特征矩阵的扰动。为了优化松弛,凸包 L¨A^′L¨A^′ 代替了 LA^′LA^′,其满足以下约束条件:
其中,δH^′δH^′ 表示特征扰动的约束。在每次迭代中,更新表示为:
其中 GeA^′GeA^′ 和 GeH^′GeH^′ 分别表示第 ee 次迭代中相对于 L¨e−1A^′L¨e−1A^′ 和 Le−1H^′Le−1H^′ 的梯度。此外,L′L′ 表示 Ladv(H~,H^e−1)Ladv(H~,H^e−1)。QKH^′QKH^′ 表示投影头并将 LH^′LH^′ 映射到 [−δH^′,δH^′][−δH^′,δH^′]。此外,令 z=∑i,jP[0,1][Y−ϑ1∣V^′∣×∣V^′∣]z=∑i,jP[0,1][Y−ϑ1∣V^′∣×∣V^′∣],QKA^′(Y)QKA^′(Y) 定义为:
3. 使用 InfoMin 进行对比模型优化
To adapt our data augmentation strategy to contrastive learning tasks, we augment the reconstruction loss of the generative variational autoencoder (VGAE) with a contrast-aware reward function that incorporates mutual information minimization (Tian et al., 2020; Wang et al., 2019). This reward function is formally defined as:
where ϵϵ represents a threshold parameter. To facilitate robust model training, we integrate information regularization (IR) into the model, defined as follows:
with
where H~′H~′ represents the node embedding matrix of G~′G~′, obtained via Eq. 3. With this reward function in place, the overall optimization objective becomes minimizing the following loss:
where LreconLrecon denotes the reconstruction loss between the VGAE-derived graph structure G~G~ and the original graph G.
三、性能展示
1. Twitter-2015:
Model | MAE | MAPE |
---|---|---|
POI | 1.3047 | 0.8142 |
HDGE | 1.3586 | 0.8273 |
ZE-Mob | 1.3954 | 0.8249 |
MV-PN | 1.3370 | 0.8132 |
CGAL | 1.3386 | 0.7950 |
MVURE | 1.2586 | 0.7087 |
MGFN | 1.2538 | 0.6937 |
Proposed | 1.1285 | 0.5740 |
六、实现过程
在下载附件并准备好数据集并调试代码后,进行下面的步骤,附件已经调通并修改,可直接正常运行;
环境要求
Tensorflow = 1.15.3
2. 更改数据路径:
- DataHandler.py中
11. predir = 'autodl-tmp/ST-SHN-main/Datasets/NYC_crime/'
13. predir = 'autodl-tmp/ST-SHN-main/Datasets/CHI_crime/'
15. predir = 'autodl-tmp/ST-SHN-main/Datasets/NYC_crime/1kilo/'
修改三个数据集路径为你自己的路径;
2. HG_ST_labcode.py中
326. with open('autodl-tmp/ST-SHN-main/History/' + args.save_path + '.his', 'wb') as fs:
336. with open('autodl-tmp/ST-SHN-main/History/' + args.load_model + '.his', 'rb') as fs:
修改‘/History/’为自己的路径
3. 训练
python autodl-tmp/ST-SHN-main/HG_ST_labcode.py
修改为自己的 HG_ST_labcode.py路径
七、运行过程
-
训练过程
-
最终结果
希望对你有帮助!加油!
若您认为本文内容有益,请不吝赐予赞同并订阅,以便持续接收有价值的信息。衷心感谢您的关注和支持!