Page 241 - 《软件学报》2025年第10期
P. 241
4638 软件学报 2025 年第 36 卷第 10 期
· · ·
· · ·
· · ·
输入层 隐藏层 隐藏层 输出层
图 7 MLP 分类过程
3 实验分析
3.1 实验数据集
本文实验采用了 Chen 等人使用的数据集 [21] , 该数据集可以从 XBlock 网站获取, 其中包含 3 580 个非庞氏骗
局合约和 200 个庞氏骗局合约的地址. 根据数据集中的合约地址, 获取相应智能合约的源代码, 然后对这些源代码
进行控制流图的构建, 从而提取其中的控制流信息. 为了方便后续的模型训练, 本文首先对提取的控制流图特征向
量进行对齐, 将所有合约的特征向量调整到相同的维度. 因此, 本文数据集中每一个合约都对应一个形状相同的二
维特征矩阵.
本文数据集进行随机划分, 将其中 80% 作为训练集, 10% 作为验证集, 以验证每个回合 (Epoch) 后模型的性
能, 其余 10% 作为测试集.
3.2 评价指标
为了准确评估模型的性能, 并便于与其他具有代表性的庞氏骗局检测方法进行比较, 本文选择了精确率、召
回率和 F1 分数作为评估指标. 精确率 (Precision) 是指在所有被判定为庞氏骗局的合约中, 真正的庞氏骗局合约所
占的比例. 召回率 (Recall) 是在所有庞氏骗局中检测到的庞氏骗局合约的比例. F1 分数 (F1-score) 是一种结合了
准确率和召回率的混合度量方式. 准确率 (Accuracy) 表示正确分类的合约样本数占总合约样本数的比例. 这些指
标的具体公式如下所示:
True Positive
Precision = (10)
True Positive+False Positive
True Positive
Recall = (11)
True Positive+False Negative
Precision×Recall
F1-score = 2× (12)
Precision+Recall
True Positive+True Negative
Accuracy = (13)
True Positive+False Positive+True Negative+False Negative
3.3 特征学习模型的对比实验
为了验证本文提出图 Transformer 训练模型在对图结构特征学习方面的效果, 本文将所提出的模型与 5 种常
用的传统方法进行了比较, 这些模型主要包括 RNN、LSTM、GRU、CNN、Transformer.
RNN (recurrent neural network) [50] : 适用于处理序列数据的神经网络结构, 能够捕捉序列中的时间依赖关系.

