一种工控数据特征重排序算法的自适应确定方法

文档序号:168157 发布日期:2021-10-29 浏览:32次 >En<

阅读说明:本技术 一种工控数据特征重排序算法的自适应确定方法 (Self-adaptive determination method for industrial control data characteristic reordering algorithm ) 是由 刘学君 孔祥旻 张小妮 沙芸 晏涌 王文晖 曹雪莹 李凯丽 于 2021-07-30 设计创作,主要内容包括:本发明涉及一种工控数据特征重排序算法的自适应确定方法,通过基于不同特征重排序算法对数据集进行特征选择;基于机器学习算法对重排序后的数据集进行训练记录准确率、召回率和时间,并对数据集计算预设评价指标,以生成相应的指标数据集合;对指标数据集合使用机器学习算法建立选择最优重排序算法的决策树;并使用决策树对输入的目标数据集的指标数据进行处理,以得到和目标数据集相匹配的特征重排序算法。实现了能够自动挑选出和目标数据集匹配度最好的特征重排序算法,从而提高了数据集特征重排序算法的准确度和效率,为工控数据的异常检测提供了保证。(The invention relates to a self-adaptive determination method of an industrial control data characteristic reordering algorithm, which selects the characteristics of a data set based on different characteristic reordering algorithms; training the reordered data set based on a machine learning algorithm to record the accuracy, the recall rate and the time, and calculating a preset evaluation index for the data set to generate a corresponding index data set; establishing a decision tree for selecting an optimal reordering algorithm for the index data set by using a machine learning algorithm; and processing the index data of the input target data set by using the decision tree to obtain a characteristic reordering algorithm matched with the target data set. The characteristic reordering algorithm with the best matching degree with the target data set can be automatically selected, so that the accuracy and efficiency of the characteristic reordering algorithm of the data set are improved, and the guarantee is provided for the abnormal detection of the industrial control data.)

一种工控数据特征重排序算法的自适应确定方法

技术领域

本发明属于数据安全技术领域,具体涉及一种工控数据特征重排序算法的自适应确定方法。

背景技术

在工控领域中,随着互联网技术的逐渐成熟,工控网络越来越多地与互联网相联通,这使得工控网络极易受到攻击。

现有针对工控数据实时监控的异常检测算法多采用机器学习算法和神经网络算法。但实际工控环境复杂在采集数据时存储顺序随机,采集到的数据维度间关联具有不确定性。如相邻维度可能是无关参数或无关设备,而相关设备或参数物理距离远等情况。以上这些问题加大了异常检测算法的学习难度,算法的学习效率有待进一步提高。而实际情况中存在不同的工控环境,采集到的数据集都不相同,为每个数据集寻找适用特征选择算法重复工作量大,实现同一类型的数据集直接匹配特征选择算法,去除重复运算也刻不容缓。

发明内容

为了解决现有技术存在的效率低的问题,本发明提供了一种工控数据特征重排序算法的自适应确定方法,其具有提高了数据集特征重排序的准确度和效率,为工控数据的异常检测提供了保证等特点。

根据本发明的

具体实施方式

的一种工控数据特征重排序算法的自适应确定方法,包括:

基于不同特征选择算法对数据集进行特征重排序;

基于机器学习算法对重排序后的数据集进行训练记录准确率、召回率和时间,并对数据集计算预设评价指标,以生成相应的指标数据集合;

基于所述指标数据集合使用机器学习算法建立选择最优重排序算法的决策树;

基于所述决策树对输入的目标数据集的指标数据进行判断,以得到和所述目标数据集相匹配的特征重排序算法。

进一步的,基于机器学习算法对重排序后的数据集进行训练记录Acc、Recall和时间,并对数据集计算预设评价指标,以生成相应的指标数据集合包括:

基于预设数据集相关参数对数据集进行计算,基于特征选择结果参数对特征选择结果进行计算以生成所述指标数据集合。

进一步的,所述数据集相关参数包括:数据集维度、分类数量、各类数据量分布不平衡度、KL散度、数据拟合度、方差和方差膨胀系数。

进一步的,所述特征选择结果参数包括特征选择数量和特征评分分布不平衡度。

进一步的,所述基于所述指标数据集合使用机器学习算法建立选择最优重排序算法的决策树包括:

分别计算根据每个特征划分所述指标数据集合后的信息熵,并选择信息增益最大的特征作为数据划分节点来划分所述指标数据集合;

递归处理被划分后的所有子数据集,以选择出最优数据划分特征来划分子数据集。

进一步的,所述基于所述指标数据集合使用机器学习算法建立选择最优重排序算法的决策树还包括:

对所述决策树进行剪枝以提高所述决策树的分类速度和分类精度。

本发明的有益效果为:通过基于不同特征重排序算法对数据集进行特征选择;然后基于预设评价指标对数据集和相应的特征选择结果进行评价,并生成相应的指标数据集合;对指标数据集合使用机器学习算法建立选择最优重排序算法的决策树;并使用决策树对输入的目标数据集的指标数据进行处理,以得到和目标数据集相匹配的特征重排序算法。实现了能够自动挑选出和目标数据集匹配度最好的特征重排序算法,从而提高了数据集特征重排序的准确度和效率,为工控数据的异常检测提供了保证。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据一示例性实施例提供的工控数据特征重排序算法的自适应确定方法的流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。

参照图1所示,本发明的实施例提供了一种工控数据特征重排序算法的自适应确定方法,具体包括以下步骤:

101、基于不同特征选择算法对数据集进行特征重排序;

常见的排序方法包含特征选择方法、正则化方法、随机森林方法、顶层选择方法等。现在用不同特征选择方法找对于不同工控数据集适用的方法其中包括:

Pearson相关系数(Pearson Correlation Coefficient)是用来衡量两个数据集合是否在一条线上面,它用来衡量定距变量间的线性关系[28]。如果两个变量的变化趋于一致,表明两组结果越相似。

最大信息系数(maximal information coefficient)是用于衡量两个维度X、Y的线性或非线性的强度。通过计算两个维度不同情况发生的概率计算得到信息量。MIC具有普适性,在样本量足够大时,能均衡覆盖所有的函数关系。MIC具有公平性,是指在样本量足够大时能为不同类型单噪声程度相似的相关关系给出相近的系数。

距离相关系数dCor(X,Y)研究两维度X和Y的独立性,当距离相关系数越趋近于0则相互之间越独立,反之越大则相互之间关联性越强。

L1正则化将系数θ的L1范数作为惩罚项加到损失函数上,由于正则项非零,这就迫使那些弱的特征所对应的系数变成0。因此L1正则化往往会使学到的模型很稀疏,这个特性使得L1正则化成为一种很好的特征选择方法。

L2正则化将系数向量的L2范数添加到了损失函数中。由于L2惩罚项中系数是二次方的,这使得L2和L1有着诸多差异,最明显的一点就是,L2正则化会让系数的取值变得平均。对于关联特征,这意味着他们能够获得更相近的对应系数。其公式与L1正则化相同,但是损失函数替换为系数θ的L2范数。公式与L1范数相同。

随机森林由多棵CART决策树构成,决策树中的每一个节点都是关于某个特征的条件,为的是将数据集按照不同的响应变量一分为二,对于分类问题,通常采用基尼不纯度。

当训练决策树的时候,可以计算出每个特征减少了多少树的不纯度。对于一个决策树森林来说,可以算出每个特征平均减少了多少不纯度,并把它平均减少的不纯度作为特征选择的值。

另一种常用的特征选择方法就是直接度量每个特征对模型精确率的影响。主要思路是打乱每个特征的特征值顺序,并且度量顺序变动对模型的精确率的影响。很明显,对于不重要的变量来说,打乱顺序对模型的精确率影响不会太大,但是对于重要的变量来说,打乱顺序就会降低模型的精确率。

稳定性选择是一种基于二次抽样和选择算法相结合较新的方法,选择算法可以是回归、SVM或其他类似的方法。

它的在不同的数据子集和特征子集上运行特征选择算法,不断的重复,最终汇总特征选择结果。比如可以统计某个特征被认为是重要特征的频率(被选为重要特征的次数除以它所在的子集被测试的次数)。

递归特征消除顶层选择算法,此算法是用来进行特征选择,属于包装法特征选择算法的其中一种。递归消除特征法使用一个机器学习模型来进行多轮训练,每轮训练结束后,消除若干权值系数对应的特征,再基于新的特征集进行下一轮训练。

102、基于机器学习算法对重排序后的数据集进行训练记录准确率、召回率和时间,并对数据集计算预设评价指标,以生成相应的指标数据集合;

针对不同数据集和不同特征重排序算法,使用评价指标对数据集和特征选择结果进行计算如:

基于预设数据集相关参数对数据集进行计算,基于特征选择结果参数对特征选择结果进行评价以生成指标数据集合。

其中数据集相关参数包括:数据集维度、分类数量、各类数据量分布不平衡度、KL散度、数据拟合度、方差和方差膨胀系数。

特征选择结果参数包括特征选择数量和特征评分分布不平衡度。

数据集维度多少体现数据集数据的复杂程度。一般来说数据集维度越多,数据集所包含的信息越多。

分类数量:不同的数据集分类数目是不一样的,数据集的分类数目直接影响算法检测数据集的效果,因此数据集分类数目也作为数据集的评价指标。

各类数据量分布不平衡度:多分类数据集,每个类别的数量不一定一样,这就导致数据类别的分布不平衡,衡量不平衡的程度用一个不平衡比来衡量:

其中,IR为不平衡比,N=nmajority为多数类集合,P=nminority为少数类集合。不平衡比的数值越大,意味着样本数据的类别分布越不平衡,容易影响到分类准确率。

KL散度用来计算真实事件的信息熵和理论拟合出来的信息熵之间的累计差,可以用来衡量两个维度分布之间的距离。当两个维度分布相同时,它们的KL散度为零;当两个维度分布的差别增大时,它们的KL散度也会增大:

式中p(xi)为在第一个维度中xi的概率分布,q(xi)为在第二个维度中xi的概率分布。

数据拟合度:数据集变化趋势相似也是数据重复的一种体现,数据拟合度可以对数据进行数据趋势的重复成都进行度量:

D=X'

Rsqured为数据拟合度,D为数据集按列求导的结果,m为数据求导后每列数据的数量,n为数据维度数,d为求导后数据集中的数据,r(a,b)为a在b中出现的次数。工控数据中数据拟合度可以从趋势的角度计算出数据集中数据的冗余程度。

方差是在概率论和统计方差衡量随机变量或一组数据时离散程度的度量。实际工作中,总体均数难以得到时,应用样本统计量代替总体参数,经校正后,样本方差计算公式:

S2为样本方差,X为变量,为样本均值,n为维度中数据数量。在衡量工控数据集时,计算工控数据的每个维度方差Si 2,然后把各个维度方差组合成新的一维数组[S1 2,S2 2,S3 2,...],再计算新的一维数组的方差为数据集的整体方差,从而衡量数据集的离散程度。

方差膨胀系数VIF,检验数据集的特征之间的线性相关性,选出独立性强的特征,增加模型的可解释性。方差膨胀系数的计算公式:

其中Ri为第i个维度Xi与其他全部维度Xj(i,j=1,2,...,k j≠i)的复相关系数,|P|是对相关系数矩阵求行列式,Mii则指的是将相关系数矩阵P的第i行i列去掉,剩下的部分计算行列式。

每种特征选择算法都是依据自身的规则,所以根据不同特征选择方法,分别计算结果参数,作为特征重排序后数据集的评价指标:

特征选择数量:采用特征选择方法对数据集进行特征筛选,不同的数据集保留的特征个数是不一样的。如采用Lasso算法对密西西比州立大学数据集进行特征选择,最后只保留4个特征,删除22个特征;采用同样的特征选择方法对CICIDOS2019数据集进行特征选择,保留34个特征删除4个特征。相同的特征选择方法在数据集中删除特征的比例差距明显,由此可知,特征选择保留的特征数量跟数据集的特性有直接关系,可以用来衡量数据集之间的差距。

特征评分分布不平衡度:采用特征选择方法选择出来的特征,都是在计算特征评分以后,特征系数的绝对值不为零的特征。但是在特征评分绝对值不为零的特征中,评分的分布也能反映数据集的特性。例如评分高的特征对响应的影响比较大,评分低的对响应的影响比较弱,通过看特征评分分布情况来判断一个数据集中对响应影响大的特征的个数。

这样对每个数据集分别使用不同方法进行特征重排序,然后计算上述评价指标。将所有指标作为横坐标,每个数据集采用不同方法的指标结果作为纵坐标,然后就可以构建通过特征重排序方法处理数据的指标数据集合。如:本文共采用10种特征重排序算法,那么如果采用n个数据集,就会有10*n条数据,每条数据包含9个评价指标。这样的数据集可以满足后续决策树的创建与验证。

103、基于指标数据集合使用机器学习算法建立选择最优重排序算法的决策树;

决策树可以使用复杂的非线性模型拟合数据,通过改变不纯度的度量方法用于回归分析。类似线性回归模型使用对应的损失函数,决策树用于回归时使用不纯度度量方法。

以每个数据集评价指标作为节点构建决策树,数据集在机器学习算法上运行计算出召回率和精确度,通过输入多组数据找出召回率和精确度最好的一组作为最终的结果,为不同数据集选出最适合的特征选择算法,具体步骤如下:

特征分裂节点:遍历所有的特征,通过计算划分数据集前后信息熵的变化值,然后选择信息熵变化幅度最大的那个特征作为数据集划分依据,即选择信息增益最大的特征作为分裂节点:

H(X)=-∑p(x)logp(x)

式中p(x)表示维度中元素x出现的概率,当概率p(x)越接近0或越接近1时,信息熵的值越小。当概率值为1时信息熵为0,此时数据类别单一。在选择特征时,选择信息增益最大的特征,物理上即让数据尽量往更单一的方向上变换。因此信息增益是用来衡量数据变得更有序的程度指标。

决策树构建:构建决策树首先计算数据集划分前的信息熵;其次遍历所有为作为划分条件的特征,分别计算根据每个特征划分数据集后的信息熵,选择信息增益最大的特征作为数据划分节点来划分数据;最后递归处理被划分后的所有子数据集,从未被选择的特征里继续重复以上步骤,选择出最优数据划分特征来划分子数据集。

递归结束的条件一般有两个:一是所有的特征都已经使用;一是划分后的信息熵增益足够小,即划分的数据集尽可能的都属于同一类。

由于噪声等因素的影响,会使得样本某些特征的取值与样本自身的类别不相匹配的情况,基于这些数据生成的决策树的某些枝叶会产生一些错误;尤其是在决策树靠近枝叶的末端,由于样本变少,这种无关因素的干扰就会突显出来;由此产生的决策树可能存在过拟合的现象,因此通过剪枝的方法删除不可靠的分支,使得整个决策树的分类速度和分类精度得到提高。决策树剪枝策略有前剪枝和后剪枝。

104、基于决策树对输入的目标数据集的指标数据进行判断,以得到和所述目标数据集相匹配的特征重排序算法。

决策树建立完成以后,只需要输入一个数据集的评价指标数据,就会输出一个与之匹配的特征选择算法。

这样通过计算数据集之间存在的一些固有特点和数据集经过不同特征选择算法结果,建立数据集指标体系。其次根据指标体系构建指标数据集合,最后把指标数据集合和机器学习相结合,构建决策树,为不同的数据集找出适用的特征选择方法找出不同类别的数据集适用的特征重排序算法,实现通过数据集指标参数可以找到最适与处理算法的自适应算法,从而可以挑选出可以使异常检测算法准确率提高或用时减少效果最好的特征重排序算法,提高了特征选择算法针对工控数据集和简单数据集的准确率和效率。

下面将结合具体的实时方式进行相应的说明,其中采用CICDDoS2017、密西西比数据集、新加坡水厂数据集、邮件数据集、水质数据集、mnist数据集等11个数据集进行数据的处理,数据集情况如下表:

名称 维度数量 分类数量
新加坡水厂数据集 124 2
CICDDoS2017 79 6
密西西比数据集 27 8
自建油库数据集 126 11
csgo数据集 95 2
邮件数据集 3000 2
水质数据集 10 2
酒类数据集 12 2
手机价格数据集 21 4
mnist数据集 784 10
音乐流派数据集 26 10

然后建立指标数据集合包括:

201、下载数据集,并进行数据清洗;

202、使用特征重排序算法分别对11个数据集进行预处理,每种特征重排序算法根据原始数据集生成一个排序后的数据集;

203、排序后的数据使用异常检测算法进行分类计算,得出准确率和运行时间。为验证算法的有效性,采用四种分类算法随机森林算法、SVM算法、AlexNet神经网络和ResNet神经网络进行实验;

204、计算排序后数据集指标;

205、将步骤204中指标作为特征,并根据步骤204结果作为参考,对各数据集进行最优项标注,作为标签;

206、整理完成指标数据集合构建。

构建决策树模型及结果分析:将准备数据集分为测试集和验证集,其中测试集包含新加坡水厂数据集、自建油库数据集、mnist数据集、邮件数据集、水质数据集、手机价格数据集、音乐流派数据集、csgo数据集,测试集包含CICDDoS2017、密西西比数据集、酒类数据集。根据构建的指标数据集合,选择训练集进行决策树生成,并用生成模型对测试集进行特征重排序算法选择。

采用SVM、Random-Forest、ResNet、AlexNet5四种异常检测算法,所有数据集都使用以上四种异常检测算法进行分类,下表展示随机森林算法的结果,结果如下表所示:

实验结果表明4种算法分类结果一致性较强,准确率基本一致,用时存在一定差异但不同特征重排序算法用时排序基本一致,其中Accuracy为随机森林分类结果准确率,Time为分类用时,其中加粗部分为最优项标签。在确认训练集后,将训练集输入决策树中,完成决策树的构建。然后再讲测试集数据输入,得到决策树对测试集结果。下表为3个测试集在使用不同特征重排序算方法进行预处理后,使用随机森林算法进行分类的准确率和用时结果。其中加粗部分为决策树模型决策结果,从选出的结果和其他方法的对比结果可以看出,模型在三个测试集上锁选择的特征重排序算法是最优或较为优秀的。

将自适应算法选择最适特征重排序算法进行重排序后,经过异常检测算法的结果与重排序前进行比较,结果如下表所示:

表中加粗部分为重排序前后对比较优项,可见11个数据集中,共有10个数据集特征重排序后结果普遍优于排序前。从而验证了本发明上述实施例所提供的方法可以挑选出可以使异常检测算法准确率提高或用时减少效果最好的特征重排序算法,提高了特征选择算法针对工控数据集和简单数据集的准确率和效率。

本发明上述实施例所提供的工控数据特征重排序算法的自适应确定方法,通过对工控数据集和一些简单数据集采用不同特征重排序算法进行预处理,并根据预处理后数据集的基本属性构建评价数据集;然后采用不同特征选择算法对预处理后数据集进行分类计算,并根据计算结果对对应重排序算法进行标注;最够根据评价数据集和标注,构建训练集和测试集,进行决策树生成和验证。可以挑选出可以使异常检测算法准确率提高或用时减少效果最好的特征重排序算法,提高了特征选择算法针对工控数据集和简单数据集的准确率和效率。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:全自动机器人零点标定的系统内置测量相对精度方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类