基于特征工程与集成学习的恶意软件预测研究

来源:期刊VIP网所属分类:软件开发发布时间:2020-09-12浏览:

  摘要:针对微软恶意软件预测数据集,文章结合特征工程的思想和集成学习算法实现恶意软件感染的预测。为了更好地适应算法的输入要求,对数据集进行预处理和特征构建,并提出一种利用LightGBM算法以提高预测性能的启发式搜索方式,得到最终的特征集。以筛选后的特征构成的数据集实现了LightGBM,XGBoost和CART算法的预测,并对预测性能进行了比对分析。通过完全相同的交叉验证证明,在恶意软件预测时,集成学习算法有更好的预测性能,AUC值明显高于传统决策树算法。

  关键词:恶意软件预测;特征工程;LightGBM;XGBoost

软件开发论文

  0引言

  近年来,恶意软件在PC端的传播感染和攻击行为日益频繁,给企业和个人计算机用户的信息安全和财产带来严重威胁,在此背景下微软提供Windows计算机恶意软件感染数据集,旨在实现对计算机是否感染恶意软件的概率预测。机器学习在网络安全领域的应用也越来越广泛嘲,boosting集成学习算法是近年来机器学习中较为流行的算法,例如基于树模型集成的LightGBM和XGBoost算法,近年来常用于基于数据集的预测。本文对数据集进行了预处理,并根据特征工程的理论进行特征的构建与选择,最终使用boosting算法,实现对恶意软件感染的有效预测。如何从大量原始数据中尽可能地挖掘出与预测恶意软件相关联的信息,并借助集成学习的预测性能实现恶意软件的预测是本文研究的主要内容。

  1数据认知与预处理

  1.1数据认知

  本文数据引用自kaggle网站的微软恶意软件预测数据集。本文预测目的为Windows计算机是否感染恶意软件,预测标签为计算机是否检测出恶意软件(检测出记为1,未检测出记为0),即原数据集中的HasDetections字段。为探究boosting算法在该数据集上的预测效果,本文取其前120万条数据进行研究。

  所取样本中预测标签的正负样本分布大致相同,因此不需要进行额外的分层抽样以确保训练集中的正负样本比例。将其他特征与预测标签进行了数据趋势分析,例如,图1所举的示例为不同“AVProduc-tInstalled”(安装防卫软件数目)下“HasDetections”的数据分布,从中可以看出,在感染恶意软件的数据更集中于防卫软件数目较少的情况。通过以上特征间的分析过程,证明其他特征与预测标签有一定关联性。

  1.2数据预处理

  数据集中大部分特征都为类别特征。为了使数据更适用于机器学习算法的训练,对于原始数据集中的类别型数据采用标签编码的方式。例如,图2给出“ProductName”字段的标签编码过程,该字段原有6个类别,在特征编码时将数量少于1000的所有类别视为异常值,合并划为同一标签。

  对于数据集中的数值型数据与布尔型数据不作处理,保留原有数据格式。经过数据预处理后,得到可以投入机器学习训练的数据集。

  2相关方法与理论

  2.1特征工程及特征选择方法

  特征工程(Feature Engineering),是一系列工程活动的总称。特征工程的目的,是最大限度地从原始数据中找到适合模型的特征。此过程不仅能够降低计算的运行速度,提高模型的预测性能,也使得模型更好理解和维护。

  特征选择是特征工程中关键的一步,实际的特征构建过程中,特征之间可能存在依赖,也可能存在与预测目标不相关的特征。特征选择是筛选出合适特征的过程,本文提出一种启发性特征搜索方式以提高预测性能,主要思想是以分类器的预测性能作为判断准则,从当前的特征集合中移除最不重要的特征,其次根据准则决定部分特征是否删减或保留,重复上述过程,直到最终的特征集不再发生变化。

  2.2分类算法

  CART算法,即分类与回归树(classification andregression tree,CART),是一种常用于分类和回归任务的决策树算法。在执行分类任务时,用基尼指数选择判断最优特征及最优切分点的依据来构造分类树。最后基于子树的平方误差或基尼指数,剪去部分子树,减少过拟合以更适应未知数据的预测。

  XGBoost是以分类回归树(CART树)进行组合的一种boosting集成学习方法。XGBoost在使用CART作为基分类器时增加了正则项,大大提升了模型的泛化能力。基于分类回归树的XGBoost算法能很好地处理本文中的表格性数据,还可以自动对缺失值进行处理,同时提供更好的优化参数的方式。

  作为boosting集合模型中的新进成员,LightGBM是一种基于决策树算法的分布式梯度提升框架,原理上采用损失函数的负梯度作为当前决策树的残差近似值去拟合新的决策树。在特征重要性判断上,LightGBM相对于其他集成学习算法有很多重要的优势,例如支持直接输入类别特征,能输出特征重要性分数,以及较低的计算代价等。

  2.3二分类模型評估指标

  2.3.1混淆矩阵

  混淆矩阵是用来评估二分类模型的一种可视化工具。本文根据模型的预测结果与真实分类结果的比较将所有样本划分为四部分,具体如表l所示。

  表1中的四部分具体如下。

  真正(True Positive,TP):当一个正样本被模型预测为正类。

  假正(False Positive,FP):当一个负样本被模型预测为正类。

  假负(False Negative,FN):当一个正样本被模型预测为负类。

  真负(True Negative,TN):当一个负样本被模型预测为负类。

  推荐阅读:SCI论文图片用什么软件做?

期刊VIP网,您身边的高端学术顾问

文章名称: 基于特征工程与集成学习的恶意软件预测研究

文章地址: http://www.qikanvip.com/ruanjiankaifa/53302.html