Page 399 - 《软件学报》2025年第5期
P. 399

王晨旭 等: 基于半监督和自监督图表示学习的恶意节点检测                                                    2299


                           B y ,y ∈ {0,1} 在本文中分别表示为标签为    0  和  1  的节点集合. 此机制平衡了不同类型节点贡献的梯度,
                 点, 分母中的
                 这样正常节点和恶意节点对模型的优化都有近似的贡献, 直观地说, 它减少了作为多数类的正常节点在分母中的
                 比例, 并强调了作为少数类的恶意节点的重要性. 公式                (27) 和公式  (28) 分别为节点   i 在原始图和全局视图中的有
                 监督图对比损失.

                          +
                 4.4   CAMD 全局损失函数
                          +
                    CAMD 采用联合训练的形式, 具体损失函数如下:

                                                                                                     (29)
                                                  +
                                             L CAMD = L LSA-cls +λ sl L LSA-self +λ sp L LSA-sup
                                                                      ,
                 其中, 分类损失    L LSA-cls  沿用  CAMD  的类别感知不平衡损失函数,    λ sl λ sp  为超参, 用于调节自监督对比损失和类别
                 感知对比损失的比重. 分类损失有助于处理不平衡的类别分布, 尤其是能够提高对少数类别的分类准确性. 自监督对
                 比损失   L LSA-self  可以让编码器从未标记数据中学习更多信息, 提高模型的泛化能力与鲁棒性. 有监督对比损失                     L LSA-sup
                 则利用标签信息指导对比学习的训练过程, 使编码器能更直接地捕获标签语义. 将                        L LSA-sup  和  L LSA-self  相结合, 模型能
                 够同时考虑标签信息和数据的内在结构信息, 从而更全面地捕获数据的语义信息. 此外, 分类损失中的类别感知不平
                 衡损失函数和自适应级重加权机制有助于处理不平衡的类别分布, 特别是能够提升对少数类别分类的能力.

                 5   实验与分析


                 5.1   数据集
                    为验证本文所提出的        CAMD  与  CAMD 算法的性能, 采用以下恶意节点检测领域的数据集, 数据集具体统计
                                                   +
                 信息见表   1.
                            [7]
                    1) Amazon : 包括  Amazon  电商平台乐器分类下进行产品评论的用户, 将评论有用投票                 80%  以上的用户标记
                 为良性用户, 有用投票少于        20%  的用户标记为恶意用户.
                             [7]
                    2) YelpChi : 包括  Yelp  平台中对芝加哥地区的酒店和餐厅的评价, 将被平台推荐的评价标记为良性评价, 被
                 平台过滤掉的评价标记为恶意评价. YelpChi 原本有            49 315  个节点, 由于该数据集规模较大, 训练时会存在显存不
                 足的问题, 因此本文中使用        METIS  图划分算法对原本图数据进行划分, 划分后的节点数目为                 10 893.
                    3) Wikipedia edits : 维基百科为防止恶意修改会通过各种措施找到并封禁一些账号, 该数据集包含了一个月
                                  [6]
                 内用户编辑页面的信息, 用户包括被封禁用户和良性用户. 若两个用户编辑过同一个页面, 则在用户间构建连接关系.
                                  [24]
                    4) Tencent-Weibo  : 包括腾讯微博平台上发布话题的用户, 此数据集假设一个用户在较短时间                     (数秒) 内发布
                 两条话题就是可疑事件, 如果一个用户至少发生了                5  起可疑事件则将被标记为可疑用户.
                    5) T-finance [25] : 包括金融交易平台中的交易账户, 包含手工标注的恶意账户以及账户之间的交易关系. 该数据
                 集包含新出现的节点, 可以用于说明本文方法在动态恶意节点监测方面的效果.

                 5.2   评价指标与参数设置
                    由于本文的恶意节点检测数据存在不平衡的问题, 因此采用                    ROC  的曲线下面积    ROC-AUC  作为评估指标, 将
                 恶意节点作为正样本, 该指标的计算方式如公式               (30) 所示:

                                                               |U |×(|U |+1)
                                                    ∑            +    +
                                                         rank u −
                                                      u∈U +         2
                                              AUC =                                                  (30)
                                                             +
                                                                  −
                                                           |U |×|U |
                       +    −                                     u 在预测得分中的排名. 因为            是基于所有实
                 其中,   U  和  U  分别表示恶意节点与正常节点,         rank u  表示节点                      AUC
                 例的预测概率的相对排序来计算的, 对样本的正负样本比例情况不敏感, 即使正例与负例的比例发生了很大变化,
                 其值也不会产生大的变化, 这可以消除数据不平衡带来的影响.
                    模型中节点一致性度量模块中的多层感知机隐藏层数设置为                      2, 每层  64  个单元, Dropout 率设置为  0.5, 使用
                 Adam  优化器来训练模型的参数, 学习率设置为            0.01, Weight Decay  设置为  0.001. 图神经网络编码器的节点中检
                 测表示向量维度设置为        32, 卷积层数设置为     2. 验证  CAMD  方法有效性时, 类别感知注意力系数和原始图结构信
   394   395   396   397   398   399   400   401   402   403   404