基于因子分解的无监督异常检测模型选择方法

文档序号:35959499发布日期:2023-11-08 21:46阅读:60来源:国知局
基于因子分解的无监督异常检测模型选择方法

本发明涉及一种基于因子分解的无监督异常检测模型选择方法,属于异常检测。


背景技术:

1、异常检测在网络安全等领域都有着广泛的应用,其核心思想是通过衡量样本点的某项指标,来找出与正常数据差异较大的离群点。由于在大多数实际的应用场景中,数据是没有标签的,而其中的异常数据又只占所有数据中很小的一部分,很难使用监督学习进行异常检测,因此往往会采用无监督的方式。

2、尽管无监督异常检测算法数量较多,但在实际应用场景中却很难选择最合适的算法,主要原因有两个:一个是因为主流的异常检测算法都有各自的优点,没有一种异常检测算法能够在所有数据集上优于其他的算法。另一个原因是超参数的选取在很大程度上影响了异常检测算法效果的好坏,对于未知的数据集,往往需要经过一系列的超参数调整才能获得理想的结果。面对一个全新的数据集,如何选取合适的异常检测算法和超参数,是异常检测算法走向实际应用时亟需解决的问题。

3、现有的异常检测模型选择方法主要有基于协同过滤的推荐方法与基于矩阵分解的推荐方法,其中,基于协同过滤的推荐方法,特征信息利用不足,模型的泛化能力较低。基于协同过滤的推荐方法,其表达特征的能力仍然具有一定的局限性,

4、上述问题是在基于因子分解的无监督异常检测模型选择过程中应当予以考虑并解决的问题。


技术实现思路

1、本发明的目的是提供一种基于因子分解的无监督异常检测模型选择方法解决现有技术中存在的特征信息利用不足,模型的泛化能力和表达能力有待提高的问题。

2、本发明的技术解决方案是:

3、一种基于因子分解的无监督异常检测模型选择方法,包括以下步骤,

4、s1、获得多种类型的原始训练数据集;

5、s2、使用原始训练数据集训练fmod模型,挖掘数据之间的交叉特征,得到训练后的fmod模型;

6、s3、当新的数据集输入时,提取新的数据集的特征向量,构成fmod的输入向量

7、s4、输入到fmod模型中预测,获得新的数据集在每个异常检测模型上的预测精度,生成异常检测模型推荐列表。

8、进一步地,步骤s1中,多种类型的原始训练数据集采用不同维度、不同大小的网络安全数据集。

9、进一步地,步骤s2中,使用原始训练数据集训练fmod模型,具体为,

10、s21、在训练阶段,使用各异常检测模型对原始训练数据集dtrain进行异常检测,获得检测结果,并将检测结果的平均精度均值保存为fmod模型的输出ytrain;

11、s22、同时提取原始训练数据集dtrain的特征生成特征向量vfeature,并将原始训练数据集和异常检测模型进行独热编码,与特征向量vfeature拼接成输入向量xtrain;

12、s23、将输入向量xtrain和ytrain输入fmod模型训练得到模型参数并保存。

13、进一步地,步骤s22中,提取原始训练数据集dtrain的特征生成特征向量vfeature,具体为,在计算特征向量时,需要从基本特征和降维特征两个角度进行计算:

14、基本特征:计算最能反映数据分布情况的稳定性特征包括统计特征和偏度、峰度,其中,统计特征包括均值、方差、四分位数;

15、降维特征:对输入数据进行主成分分析后,再重新计算基本特征得到。

16、进一步地,步骤s21中,异常检测模型包括轻型在线异常检测模型loda、孤立森林异常检测模型、k-近邻异常检测模型knn、局部离群因子异常检测模型lof和直方图异常检测模型hbos。

17、进一步地,步骤s2中,挖掘数据之间的交叉特征,具体为,

18、s24、设原始训练数据集dtrain提取得到的特征向量u=(x1,x2,...,xn),则n个特征共可以学习n(n-1)/2个交叉特征参数;因此对于预测模型,学习交叉特征的模型表达式为:

19、

20、其中,y是预测结果,w是偏置量、wij是变量前的系数,训练时寻找最佳系数;

21、s25、从学习交叉特征的模型表达式可看出,学习二阶交叉特征就是求解wij的值,所有的wij构成矩阵的上三角部分,将下三角补全即可得到对称矩阵:

22、

23、s26、因此为求解wij,对每个特征xi引入辅助向量vi=(vi1,vi2,...,vik),其中k<<n,k表示学习潜在特征参数的维度大小,n个特征的辅助向量构成全部特征的特征矩阵v:

24、

25、则对称矩阵w分解为:

26、

27、因此可得到wij=<vi·vj>,即任意的二阶交叉特征参数wij由二阶交叉特征参数vi和二阶交叉特征参数vj的内积得到;

28、s27、基于上述变换,fmod模型表达式进一步化简为:

29、

30、其中,y是预测结果,w是偏置量、wij是变量前的系数,训练时寻找最佳系数;wi、vi,f、vj,f、xj为中间变量。

31、进一步地,步骤s3中,当新的数据集输入时,提取新的数据集的特征向量,构成fmod的输入向量,具体为,

32、s31、在推荐阶段,在新的数据集dtest输入时,比较新的数据集dtest与训练数据集中所有原始训练数据集dtrain的余弦相似度;

33、s32、选择与新的数据集dtest最相似的原始训练数据集dtrain;

34、s33、使用步骤s32选择的原始训练数据集dtrain以及异常检测模型的独热编码和新的数据集dtest的特征向量,构成fmod的输入向量xtest。

35、进一步地,步骤s4中,输入到fmod模型中预测,获得新的数据集在每个异常检测模型上的预测精度,生成异常检测模型推荐列表,具体为,输入xtest到训练后的fmod模型中,得到新的数据集在所有异常检测模型上的预测精度ytest,选取预测精度前k高的异常检测模型作为fmod模型的推荐结果,并生成异常检测模型推荐列表。

36、本发明的有益效果是:该种基于因子分解的无监督异常检测模型选择方法,能够充分利用因子分解的方式挖掘数据的高阶特征,能够提高模型的泛化能力和表达能力,有利于在数据特征未知的情况下为数据推荐合适的异常检测模型。



技术特征:

1.一种基于因子分解的无监督异常检测模型选择方法,其特征在于:包括以下步骤,

2.如权利要求1所述的基于因子分解的无监督异常检测模型选择方法,其特征在于:步骤s1中,多种类型的原始训练数据集采用不同维度、不同大小的网络安全数据集。

3.如权利要求1或2所述的基于因子分解的无监督异常检测模型选择方法,其特征在于:步骤s2中,使用原始训练数据集训练fmod模型,具体为,

4.如权利要求3所述的基于因子分解的无监督异常检测模型选择方法,其特征在于:步骤s22中,提取原始训练数据集dtrain的特征生成特征向量vfeature,具体为,在计算特征向量时,需要从基本特征和降维特征两个角度进行计算:

5.如权利要求3所述的基于因子分解的无监督异常检测模型选择方法,其特征在于:步骤s21中,异常检测模型包括轻型在线异常检测模型loda、孤立森林异常检测模型、k-近邻异常检测模型knn、局部离群因子异常检测模型lof和直方图异常检测模型hbos。

6.如权利要求1或2所述的基于因子分解的无监督异常检测模型选择方法,其特征在于:步骤s2中,挖掘数据之间的交叉特征,具体为,

7.如权利要求1或2所述的基于因子分解的无监督异常检测模型选择方法,其特征在于:步骤s3中,当新的数据集输入时,提取新的数据集的特征向量,构成fmod的输入向量,具体为,

8.如权利要求1或2所述的基于因子分解的无监督异常检测模型选择方法,其特征在于:步骤s4中,输入到fmod模型中预测,获得新的数据集在每个异常检测模型上的预测精度,生成异常检测模型推荐列表,具体为,输入xtest到训练后的fmod模型中,得到新的数据集在所有异常检测模型上的预测精度ytest,选取预测精度前k高的异常检测模型作为fmod模型的推荐结果,并生成异常检测模型推荐列表。


技术总结
本发明提供一种基于因子分解的无监督异常检测模型选择方法,通过获得多种类型的原始训练数据集;使用原始训练数据集训练FMOD模型,挖掘数据之间的交叉特征,得到训练后的FMOD模型;当新的数据集输入时,提取新的数据集的特征,生成特征向量;输入到FMOD模型中预测,获得新的数据集在每个异常检测模型上的预测精度,生成异常检测模型推荐列表;该方法,能够充分利用因子分解的方式挖掘数据的高阶特征,能够提高模型的泛化能力和表达能力,有利于在数据特征未知的情况下为数据推荐合适的异常检测模型。

技术研发人员:季一木,张世伟,刘尚东,潘金芳,吴宝泰,徐驰,万玲莉,李海天,李昆珈
受保护的技术使用者:南京邮电大学
技术研发日:
技术公布日:2024/1/16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1