Denoising Diffusion Probabilistic Model
扩散模型的原理与可解释性扩散模型(Denoising Diffusion Probabilistic Model, DDPM)的原理可以从其背后的概率推断和去噪过程两个关键机制出发,结合模型的可解释性来进行更详细的说明。
1. 扩散模型的基本框架扩散模型的核心思想是通过两个过程:正向扩散过程和反向去噪过程来生成数据。这种生成机制具有较好的可解释性,因为它模拟了数据逐渐退化为噪声,再从噪声中逐步恢复的过程。
正向过程:逐步向数据中添加高斯噪声,将原始数据 x_0 扩散为接近高斯噪声的 x_T。
反向过程:从最终的噪声样本 x_T 开始,逐步去噪,生成接近真实数据的样本 x_0。
这个框架类似于一种“破坏-恢复”的流程,正向过程将数据“破坏”到完全随机的状态,反向过程则通过逆向步骤“恢复”到原始状态。这种逐步生成的过程在每个步骤都具有明确的物理和概率意义,因此具有良好的可解释性。
2. 正向过程(Forward Process)正向过程可以视为一个马尔可夫链,它通过逐步向数据添加噪声,导致数据逐渐变得混乱,最终接近完全随机的高斯噪声。具体地,每一步都执行如下操作:
q(x_t | x ...
Graph Anomaly Detection with Few Labels - AData-Centric Approach
文献地址:Graph Anomaly Detection with Few Labels: A Data-Centric Approach
介绍这篇论文针对静态图上的异常节点检测任务,提出了一种数据为中心的解决方案。
传统方法通常面临两个挑战:异常节点的稀缺性和高昂的标注成本,导致数据不平衡且难以通过少量标签进行有效学习。因此许多研究接受了这些以数据为中心的挑战,作为图异常检测的事实设置,并追求实现更复杂的图学习算法来检测具有少量标签的图异常。
我们将重点放在生成紧密复制原始图形分布的训练节点上。与以前的以模型为中心的策略不同,我们的方法是以数据为中心的,因为我们优先考虑合成数据的生成和利用,以应对数据稀缺的挑战。然而这种方法会引起两个基本问题:
第一,确保合成数据紧密复制图数据的复杂特征的挑战;
第二,合成数据是否有利于图异常检测。
为了解决这些问题,本文提出了一种基于去噪扩散模型的图生成方法,生成与原始图拓扑和属性分布相符合的辅助训练节点。通过这些生成的节点,现有的异常检测模型可以在少量标签条件下显著提升性能。
我们确定了去噪神经网络应该具备的两个原则:
第一,保留每个节点与其邻居 ...
Multitask Active Learning for Graph Anomaly Detection
文献地址:Multitask Active Learning for Graph Anomaly Detection
代码仓库:AhaChang/MITIGATE
文献介绍了一种名为 MITIGATE 的多任务主动学习框架,用于在图结构数据中进行异常检测。
介绍背景现有的图神经网络(GNN)在异常检测中面临的一个主要挑战是缺乏足够的标注数据,这导致模型性能不稳定。
现有问题
无监督方法通常依赖于数据的分布模式,但如果数据偏离假设的分布,其性能会明显下降。
图结构数据的复杂性以及手动标注正常节点和异常节点的高成本,限制了完全监督学习的应用。由于获取充足的标签非常昂贵,因此需要探索能够利用有限监督信号的学习范式。
MITIGATE框架该框架通过结合节点分类任务来检测异常,主要创新点包括:
多任务学习:MITIGATE 利用了节点分类任务的监督信号来帮助异常检测,特别是在没有已知异常的情况下,通过分类任务检测分布外的节点。
动态信息性度量:通过不同任务之间的置信度差异来度量节点的信息性,从而选择那些提供有用信息但不会过于复杂的样本进行训练。
掩码聚合机制:为了解决图结构中节点间的关系,M ...
数据集处理
YelpChi数据集:基于Yelp数据集上的一个行为图数据集,数据集中的数据以稀疏矩阵的形式存在。该数据集经常用于节点分类、欺诈检测、异常检测等的研究任务上。
Yelp垃圾评论数据集包括Yelp过滤(垃圾)和推荐(合法)的酒店和餐厅评论。Yelp-Fraud数据集上执行一个垃圾邮件审查检测任务,该任务是一个二元分类任务。YelpChi从SpEagle上提取了32个手工特性作为Yelp-Fraud的原始节点特性,基于前人研究发现意见欺假者在用户、产品、评论文本、时间等方面存在联系,将评论作为图中的节点,设计了三种关系:R-U-R:连接同一用户发布的评论;R-S-R:连接同一产品同一星级(1-5星)下的评论;R-T-R:连接同一个月发布的同一产品下的两个评论。
数据集预处理1234567891011121314151617# 设置数据文件的路径前缀prefix = 'data/'# 从 'YelpChi.mat' 文件中加载数据,返回一个包含数据的字典yelp = loadmat('data/YelpChi.mat')# 加载不同 ...
PC-GNN
论文地址:Pick and Choose: A GNN-based Imbalanced Learning Approach for Fraud Detection (acm.org)
代码仓库:PonderLY/PC-GNN: (WWW 2021) Source code of PC-GNN (github.com)
1.背景图结构中的欺诈节点数量通常远少于正常节点,导致传统的图神经网络在处理这种不平衡数据时表现不佳,特别是难以识别重要的少数类。
2.贡献
提出了基于GNN的解决类别不平衡问题的新方法,适用于图结构的欺诈检测。
设计了标签平衡采样器和邻居选择采样器,能够更有效地捕捉少数类(欺诈类)的重要特征。
在多种数据集上进行了大量实验,证明了该方法的有效性。
3.方法文章提出了一种名为Pick and Choose Graph Neural Network(PC-GNN)的方法,专门针对图数据的不平衡分类任务。该方法通过以下步骤来提高欺诈检测的准确性:
Pick(挑选):使用一个标签平衡的采样器,从图中挑选节点和边,构建一个小的子图用于训练。这种采样方式使得子图中的类别分布更 ...
GraphSAGE
论文地址:1706.02216
网站:GraphSAGE
代码仓库:williamleif/graphsage-simple: Simple reference implementation of GraphSAGE.
介绍GraphSAGE(Graph Sample and Aggregate)是一种图神经网络模型,旨在有效地处理大规模图数据。它通过采样和聚合节点的邻居信息,生成节点的嵌入向量,能够进行图结构的任务,如节点分类、节点嵌入、链路预测等。
1. 背景:传统的图神经网络(GNN)模型,如GCN(Graph Convolutional Network),通常需要处理整个图的邻居信息来生成节点嵌入。这种全图卷积的方式在小型图上表现良好,但随着图规模增大,计算和存储成本急剧增加,尤其是在处理社交网络、生物网络等大规模图时,直接使用所有邻居节点的信息变得不可行。因此,GraphSAGE模型应运而生,旨在解决大规模图数据中计算和存储效率的问题。
2. 动机:GraphSAGE的动机是解决以下问题:
大规模图上的计算效率:随着图规模的增大,传统GNN需要处理整个图的数据,导致内存和计 ...
Pre-trained Online Contrastive Learning for Insurance Fraud Detection
主要探讨了医疗保险欺诈检测中的挑战,并提出了一种创新的解决方案,称为预训练的在线对比学习模型(POCL)
摘要 医疗保险欺诈一直是医疗行业中的重要挑战。现有的欺诈检测模型大多集中在离线学习场景。然而,欺诈模式不断演变,这使得基于过去数据训练的模型难以检测新出现的欺诈模式,在医疗欺诈检测中构成了严重的挑战。此外,现有的增量学习模型主要旨在解决灾难性遗忘问题,但在欺诈检测中的表现往往不尽如人意。为了解决这一挑战,本文提出了一种创新的在线学习方法,称为POCL。该方法将对比学习的预训练与在线更新策略相结合。在预训练阶段,我们利用对比学习在历史数据上进行预训练,能够学习到深层特征并获取丰富的风险表示。在在线学习阶段,我们采用了“时间记忆感知突触”在线更新策略,使模型能够基于不断涌现的新数据进行增量学习和优化。这确保了模型能够及时适应欺诈模式,并减少对以往知识的遗忘。我们的模型在真实世界的保险欺诈数据集上进行了广泛的实验和评估,结果表明,与最先进的基线方法相比,我们的模型在准确性上具有显著优势,同时表现出较低的运行时间和空间消耗。我们的代码已在 https://github.com/fi ...
GFN
这篇论文的核心研究问题是探讨现有的图神经网络(GNNs)在处理图分类任务时,是否需要复杂的架构和高计算成本来实现优异的性能。为此,论文提出了将GNN分解为两个主要部分,并对这两个部分的必要性进行深入研究和简化实验。
1. 图神经网络的背景GNN在近年来吸引了大量的关注,尤其是在图分类和节点分类任务中取得了显著的性能提升。与传统的神经网络(如CNN和RNN)不同,GNN能够直接作用于图结构数据,这使得它们在处理社交网络、生物网络等具有复杂关系的数据时表现得更为出色。
然而,GNN的高效能背后往往伴随着复杂的计算过程。作者提出的问题是:这些复杂的计算,尤其是多层邻居聚合和非线性激活等操作,是否真的是必要的?尤其是在实际任务中,GNN是否真的学到了复杂的图结构特征?
2. 提出的框架:分解与简化为了更好地理解GNN的学习机制,作者将GNN的架构分解为两个部分:
图过滤部分(Graph Filtering):这一部分负责通过邻居聚合操作更新节点表示,通常包括多步的邻居聚合操作以及非线性激活函数。
集合函数部分(Set Function):这一部分负责将更新后的节点特征组合在一起进行全图级别的 ...
GraphPro-Graph Pre-training and Prompt Learning for Recommendation
1. 研究背景和动机
现有基于 GNN 的推荐系统大多针对静态场景,忽略了推荐的动态性,在处理新数据分布变化时存在局限性,难以适应用户偏好的变化,导致推荐效果和可扩展性受限。
2. 主要贡献
强调了有效且可扩展地预训练和微调基于图的推荐器的重要性,以适应随时间演变的用户偏好,从而在动态环境中提供最新且准确的推荐。
引入 GraphPro 框架,通过 GNN 的预训练和微调有效处理不断变化的用户偏好,提出的提示学习范式能够在时间和结构上促进相关知识从预训练模型到下游推荐任务的转移。
引入基于快照的动态推荐系统评估设置,相比于传统的单时间测试方法,更能近似真实世界的推荐场景。
通过在不同数据集上的实验展示了 GraphPro 的鲁棒性、效率和性能优势,并通过在大规模在线平台上的部署进一步验证了其有效性。
3. 方法
Graph Pro-training with Temporal Prompt Mechanism:在实际推荐场景中,用户 - 物品交互数据不断积累,引入时间提示机制,通过相对时间编码方案捕获用户 - 物品交互的时间序列,将时间感知的上下文信息从最新的用户偏 ...
Graph Contrastive Learning with Augmentations
引言(Introduction)
本文提出了一种新的图对比学习框架——GraphCL,专注于图神经网络(GNNs)的无监督预训练。
传统的GNN方法在处理图结构数据时,通常依赖于有监督的标签信息,而获取这些标签代价高昂。为了解决这个问题,作者采用了对比学习,通过最大化同一图的不同增强视图之间的相似性,来学习图的有效表示。
方法(Methodology)
数据增强:作者设计了四种图数据增强方法:节点删除(Node Dropping)、边扰动(Edge Perturbation)、属性遮蔽(Attribute Masking)、子图抽样(Subgraph Sampling)。这些增强方法旨在通过不同视角来生成图数据,从而学习到对扰动具有鲁棒性的图表示。
图对比学习框架(GraphCL):
两个增强视图通过GNN编码器生成图级表示向量,并通过投影头映射到另一个潜在空间。
使用归一化的温度缩放交叉熵损失(NT-Xent)作为对比损失函数,最大化正样本对之间的相似性,同时最小化负样本对之间的相似性。
实验与结果(Experiments and Results)
作者在多个图分类数据集上验 ...
01背包问题
416. 分割等和子集416. 分割等和子集 - 力扣(LeetCode)
使用01背包解决
定义:物品种类=nums.size(),物品重量=i,背包大小=sum/2,判断能否刚好装满
1 <= nums.length <= 200
1 <= nums[i] <= 100
根据题目条件,sum可直接去最大值200*100=20000,则背包大小可即为10000+1=10001
dp[i]:
递推公式:dp[j]=max(dp[j],dp[j-nums[i]]+nums[i])
初始化:dp(10001,0)
遍历顺序:正常顺序
12345for(int i=0;i<nums.size();i++){ for(int j=sum/2;j>=nums[i];j--){ dp[j]=max(dp[j],dp[j-nums[i]]+nums[i]); }}
判断:dp[sum/2]==sum/2即可
完整代码
12345678910111213141516171819class So ...
完全背包问题
518.零钱兑换II518. 零钱兑换 II - 力扣(LeetCode)
12345678910111213class Solution {public: int change(int amount, vector<int>& coins) { vector<int> dp(amount+1,0); dp[0]=1; for(int i=0;i<coins.size();i++){ for(int j=coins[i];j<=amount;j++){ dp[j]+=dp[j-coins[i]]; } } return dp[amount]; }};
虽然题简单,但是遍历顺序须仔细琢磨
因为纯完全背包求得装满背包的最大价值是多少,和凑成总和的元素有没有顺序没关系,即:有顺序也行,没有顺序也行。
而本题要求凑成总 ...