2.6 常用机器学习分类算法及评价指标
恶意代码检测领域所用的机器学习分类算法基本包括了典型的机器学习算法,包括:朴素贝叶斯(Naïve Bayes)、支持向量机(Support Vector Machine)、决策树(Decision Tree)、随机森林(Random Forest)、K均值聚类(K-Nearest Neighbor)、人工神经网络(Artificial Neural Network),以及几种提升算法(GDBoost、AdaBoost和XGBoost) [23] 。
此外,因为有些研究者将代码程序转换成图像,将恶意代码检测问题转换为图像检测问题,所以这些研究人员就将深度学习算法应用于恶意代码检测领域,典型的深度学习算法包括:深度信念网络(Deep Belief Network)、卷积神经网络(Convolution Neural Networks)和递归神经网络(Recurrent neural network) [24] 。目前,机器学习算法已经在网络安全领域得到广泛和深入的应用 [3][7][25][26] 。关于机器学习算法以及深度学习算法的原理和实现过程,相关综述文献已经做了详细介绍 [3][27] ,本书不再赘诉。
关于机器学习分类的性能评价,本书中主要使用Accuracy、Precision、Recall和F1-Score等4个评价标准,这4个评价标准的定义说明如表2-4所示。
表2-4 机器学习分类性能评价标准
