Page 363 - 《软件学报》2026年第6期
P. 363
2682 软件学报 2026 年第 37 卷第 6 期
1 n ∑
MAE = |ˆy u,a −y u,a | (20)
N
i=1
v
t
1 n ∑ ( ) 2
RMSE = ˆ y u,a −y u,a (21)
N
i=1
其中, N 表示测试集的大小, ˆ y u,a 和 y u,a 分别表示预测的 QoS 值和实际的 QoS 值. MAE 和 RMSE 反映了预测值与真
实值之间的偏差. MAE 和 RMSE 的值越低表示预测结果与实际观测值之间的偏差越小, 即预测精度越高.
(3) 基线推荐模型. 选择 3 类 11 种代表性的服务质量感知云 API 推荐系统 (见表 3), 验证基于可信数据增强
的持续防御方法的有效性.
表 3 基线推荐模型
类别 方法 关键思想
UPCC 选择用户侧相似邻域进行预测, 邻域大小为20, 相似模型为PCC
协同过滤 APCC 选择API侧相似邻域进行预测, 邻域大小为20, 相似模型为PCC
WSRec WSRec是UPCC和APCC的组合, 其中融合系数为0.5
FunkSVD 通过矩阵分解将交互矩阵分为用户相关矩阵和API相关矩阵进行预测
BiasSVD 使用矩阵分解同时考虑用户和云API的偏好, 将交互矩阵分为用户相关矩阵和API相关矩阵进行预测
矩阵分解
SVD++ 使用矩阵分解并结合用户的反馈, 将交互矩阵分为用户相关矩阵和API相关矩阵来进行预测
NMF 使用矩阵分解并引入非负约束和局部性特性, 将交互矩阵分为用户相关矩阵和API相关矩阵来进行预测
LR 使用经典的线性回归模型进行预测
MLP 使用用户和API之间复杂的非线性关系进行预测
深度学习
AFM 使用二阶特征交互并引入注意力机制来建模用户和API之间的交互进行预测
DeepFM 结合FM和MLP的优点, 增强模型对特征交互的建模能力和学习高阶特征之间的复杂关系
(4) 参数设置. 采用随机攻击、均值攻击、潮流攻击、生成对抗网络攻击这 4 种恶意用户生成算法进行数据
投毒攻击. 默认恶意用户数量占整体用户比例为 10%. 利用启发式防御、深度防御和扩散防御模型生成可信用户,
防御强度默认为 5%, 防御规模默认为 10%. 在扩散防御中对协方差 β 的取值一般选用线性增加的方式, 即
β 1 = 10 −4 且 β T = 0.002, T=100.
4.2 持续防御的有效性
为了验证基于可信数据增强的持续防御方法是否能对投毒攻击产生防御效果, 使用表 1 中描述的 3 种启发式
防御算法、2 种深度防御算法和扩散防御算法生成可信用户数据. 具体而言, 每种算法分别生成占数据集总量
10% 的可信用户数据, 并将其注入遭受攻击的数据集中. 表 4 和表 5 分别展示了 11 种服务质量感知云 API 推荐
算法在攻击前后以及持续防御后的 MAE 和 RMSE 变化结果.
表 4 攻击前后、持续防御后推荐系统 MAE 的对比
推荐算法 攻击方式 无攻击 仅攻击 Avg_D Bdg_D Rnd_D Vae_D Gan_D Diff_D
Rnd_A 0.796 0 0.803 7 0.803 4 0.854 8 0.843 7 0.792 3 0.808 5
Avg_A 0.765 1 0.770 0 0.777 0 0.816 6 0.813 2 0.762 2 0.774 3
UPCC 0.711 0
Bdg_A 0.763 9 0.776 1 0.775 5 0.815 7 0.812 0 0.761 3 0.773 2
Gan_A 0.764 4 0.776 1 0.776 3 0.817 7 0.813 1 0.761 9 0.775 0
Rnd_A 1.097 0 0.908 6 1.093 3 0.985 2 1.100 4 1.160 6 0.993 9
Avg_A 1.036 0 0.852 7 1.018 5 0.993 7 1.035 2 1.058 5 0.980 7
APCC 1.078 4
Bdg_A 1.009 5 0.939 7 0.863 9 0.918 0 1.010 9 0.927 8 0.931 3
Gan_A 1.074 2 1.058 9 1.020 2 1.098 3 1.096 9 1.045 0 1.079 3
Rnd_A 0.908 2 0.812 3 0.905 9 0.888 7 0.934 4 0.939 2 0.869 4
Avg_A 0.847 0 0.754 1 0.844 0 0.865 7 0.871 4 0.858 3 0.836 2
WSRec 0.842 9
Bdg_A 0.832 6 0.802 2 0.759 6 0.824 0 0.858 2 0.789 2 0.810 1
Gan_A 0.867 1 0.865 9 0.845 5 0.920 6 0.904 4 0.852 0 0.887 6

