CN115879046B - 基于改进特征选择和分层模型的物联网异常数据检测方法 - Google Patents
基于改进特征选择和分层模型的物联网异常数据检测方法Info
- Publication number
- CN115879046B CN115879046B CN202211629425.XA CN202211629425A CN115879046B CN 115879046 B CN115879046 B CN 115879046B CN 202211629425 A CN202211629425 A CN 202211629425A CN 115879046 B CN115879046 B CN 115879046B
- Authority
- CN
- China
- Prior art keywords
- feature
- model
- train
- training
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于改进特征选择和分层模型的物联网异常数据检测方法,主要包括以下步骤:采集物联网数据,进行数据缺失值、异常值和Z‑score标准化数据预处理;将预处理后的数据,用基于改进的相关性特征选择算法剔除冗余特征,筛选出重要特征,进行数据的降维;将特征选择后的数据分为训练集和测试集;训练集进一步划分为一个子训练集和两个验证集;将子训练集输入多层分层模型中的进行训练,保存训练好的模型;得到最终的训练模型。最后,将测试集用于测试整体模型的效果,得到检测的结果。本发明将物联网数据进行有效特征选择、合理数据划分和分层模型融合,针对物联网异常数据的检测效果有了明显的提升。
Description
技术领域
本发明涉及物联网异常数据检测和机器学习领域,更具体地,涉及一种基于改进特征和分层模型的物联网异常数据检测方法。
背景技术
随着物联网技术的不断发展,连接到物联网的设备数量激增,数据数量和设备数量也呈爆炸式增长,这导致物联网系统呈现出:设备种类不一、设备数量过多、设备数据海量、交互十分复杂和运行状况监测难以有效进行的特点。针对海量物联网设备运行状态的监测显得尤为重要,有效及时的检测能够帮助管理人员及时发现排查物联网设备的错误,避免重大损失。针对物联网设备产生的大量数据,可以应用机器学习算法训练模型,用于异常数据的检测和判断。通过训练好的算法模型,将物联网设备数据输入模型,得出的分析结果能够帮助管理人员发现设备是否异常,以便进行设备的运行状况监测。在传统的检测技术中,面临单一的算法构建模型存在检测效果低等问题。虽然现有研究表明,通过模型融合的方式能够改善这种问题,但是传统的融合模型方式,比如Stacking由于采用K折交叉验证,大量样本的情况下训练时间和复杂度较高;如Blending不需要K折交叉验证,虽然解决了Stacking的训练慢的问题,但它对数据集的使用有很大的浪费;同时在大多数机器学习任务中,如何选择合理的特征是影响学习的主要因素之一,使用高维数据集来训练分类模型可能会导致学习模型与训练数据的过拟合,所以需要一种特征选择的算法加入到学习模型中来解决此类问题。综上所述,这些异常数据检测方法仍存在一些缺点,还不能全面和准确的对各种类型的异常数据进行有效的检测,特别是针对物联网设备产生的数据进行有效检测。
发明内容
鉴于现有技术的以上缺点或改进需求,本发明提供一种基于改进特征选择和分层模型的物联网异常数据检测方法,其目的在于,解决现有机器学习算法中的物联网异常数据方法存在的维数高、检测准确率低和效率慢的问题。
为实现上述目的,本发明提供一种基于改进特征选择和分层模型的物联网异常数据检测方法,包括如下步骤:
步骤A.获取物联网设备产生的数据,标记数据为集合S=[s1,s2,s3,…,sn]T,S∈Rn×m;其中n表示数据集S有n个样本,对于每个样本si=[xi1,xi2,xi3,…,xim,yi],i=1,2,3…m,表示si含有n维特征集合x=[xi1,xi2,xi3,…,xim]和一个标签类别yi;对数据集S进行缺失值、异常值和标准化数据预处理,得到处理后的数据集Snew,然后进入步骤B。
步骤B.将由步骤A得到的数据集 的特征集合和标签类别进行划分,得到总的特征集合和标签类别集合Y=[y1,y2,y3,…,yn]T;使用基于改进的相关性特征选择算法进行特征集合X的特征选择,剔除冗余特征,实现特征降维,得到最优特征子集其中c≤m,c表示筛选后每个样本的最优特征个数。
优选地,步骤A具体为,将待训练数据集S=[s1,s2,s3,…,sn]T,进行数据的缺失值处理,根据公式用平均数进行填补;如有异常值,则删除异常值,然后将待训练数据集S=[s1,s2,s3,…,sn]T,根据公式 计算标准差,然后根据公式进行Z-score标准化,得到最终数据集合Snew。
优选的,步骤B具体为,将数据集 的特征集合和标签类别进行划分,得到总的特征集合和标签类别集合Y=[y1,y2,y3,…,yn]T。
进一步的,定义空的已选特征集合待选特征集合Zm={X-Zs},Zm初始为特征集合X中的m个特征,给出基于改进的相关性特征选择算法:
其中,J(xj)中所涉及的公式为:
I(xj;xi;Y)=I(xj,xi;Y)-I(xj;Y)-I(xi;Y)
其中,xj表示待选特征,其来自于待选特征集合Zm;xi表示已选特征,其来自于已选特征集合Zs;Y表示标签,其来自于标签类别集合Y=[y1,y2,y3,…,yn]T;I(xj;Y|xi)为条件互信息,表示待选特征xj和标签类别Y在已选特征xi影响下的信息量度;I(xi;Y|xj)为条件互信息,表示已选特征xi和标签类别Y在待选特征xj影响下的信息量度;I(xj;xi;Y)为交互信息,表示已选特征xi、标签类别Y和待选特征xj三者的信息相关性;H(Y)为标签类别的信息熵;H(xj)为待选特征的信息熵;H(xi)为已选特征的信息熵;I(xj;xi)为互信息,表示已选特征xi和待选特征xj之间的信息相关性;对待选特征集合Zm中的所有特征使用基于改进的互信息特征选择算法J(xj)进行评价,得到集合Zm中每个待选特征的分数。
进一步的,从每个待选特征的分数中选择分数最高的特征,将其索引加入已选特征集合Zs中;同时更新待选特征集合Zm={X-Zs},即移除该特征;更新特征选择算法J(xj);然后,若已选特征集合Zs中的元素个数不等于设定的最优特征子集的个数c,则重复执行上诉步骤;否则,则停止整个算法流程;最终,将得到的已选特征集合Zs,遍历集合Zs;其中Zs保存的元素为待选特征集合Zm中每个特征的索引,根据其索引构建最优特征子集Z=[z1,z2,z3,…,zc]T,其中c≤m;然后进入步骤C。
步骤C.将步骤B得到的最优特征子集Z和对应的标签类别集合Y,进行数据划分。划分结果为:Z={Ztrain,Ztest},Y={Ytrain,Ytest},划分比例为8:2,其中Ztrain和Ytrain占比80%,Ztest和Ytest占比20%。
进一步的,为充分利用分层模型,训练集Ztrain和对应标签Ytrain被划分为三部分,表示为Ztrain={Ztrain1,Zval2,Zval3}和Ytrain={Ytrain1,Yval2,Yval3},其中Ztrain1为子训练集,对应标签Ytrain1;Zval2和Zval3为子验证集分别对应标签Yval2和Yval3;三者划分比例为2:1:1,其中Ztrain1和Ytrain1占比50%,Zval2和Yval2、Zval3和Yval3占比25%;然后进入步骤D。
步骤D.将步骤C中得到的Ztrain1和Ytrain1输入分层模型的第一层学习器T1={T1_M1,T1_M2,T1_M3,T1_M4,T1_M5}中进行训练,其中T1_M1为决策树,T1_M2为随机森林,T1_M3为梯度提升树,T1_M4为XGBoost,T1_M5为KNN,循环遍历T1,将Ztrain1和Ytrain1输入到T1中进行训练,然后将每次训练的模型保存到新的模型集合T1_train中,其中T1_train={T1_m1new,T1_m2new,T1_m3new,T1_m4new,T1_m5new},然后进入步骤E。
步骤E.将步骤B中得到子验证集Zval2输入步骤D中训练好的模型T1_train中进行验证,由于有5组学习器,故会得到5组预测结果,表示为 其中[a1,a2…ai]表示第一个学习器预测的结果,分别为概率表示的集合,其中a1+a2+…ai=1;如果异常种类只有一种,则i=2,表示预测结果为正常和异常的概率分别为a1和a2;若异常种类不止一种,则i>2,则[a1,a2…ai]表示模型预测的每种异常种类的概率;然后进入步骤F。
步骤F.将步骤C和E中得到的Yval2和Zpro2输入分层模型的第二层学习器集合T2={T2_M1,T2_M2}中进行训练,优选的,其中T2_M1为更换随机种子的决策树,T2_M2为更换随机种子的随机森林,然后将每次训练的新模型保存到新的模型集合T2_train中,其中T2_train={m1new,m2new}。决策树的参数为{n_estimators=100,max_features=16,random_state=4869};随机森林的参数为{n_estimators=100,max_features="sqrt",random_state=4869,n_jobs=8};然后将验证集在该层进行验证,进一步提高模型的训练能力;然后进入步骤G。
步骤G.将步骤C中得到的子验证集Zval3输入步骤F中训练好的模型T2_train中进行验证,由于有2组学习器,故会得到2组预测结果,将其2次结果合并为新的样本,表示为其中[a1,a2…ai]表示第一个样本预测的结果,分别为概率表示的集合,其中a1+a2+…ai=1;如果异常种类只有一种,则i=2,表示预测结果为正常和异常的概率分别为a1和a2;若异常种类不止一种,则i>2,则[a1,a2…ai]表示模型预测的每种异常种类的概率;然后进入步骤H。
步骤H.将步骤C和G中得到Yval3和Zpro3输入分层模型的第三层模型中进行训练,第3层采用算法CatBoost进行训练,保存整个训练模型,然后进入步骤I。
步骤I.将步骤C中得到的测试集Ztest和对应标签Ytest输入整体分层模型进行测试,设置最终测试准确率>=T%;如果不满足要求,则返回步骤D,将每层模型进行重新参数调优,直至最终测试结果满足要求,然后进入步骤J。
步骤J.将步骤I中训练好的分层模型用于物联网异常数据检测,模型部署于本地物联网设备检测端或云平台,将物联网设备采集的数据输入训练好的模型进行实时数据异常检测,得到最终检测结果。
如上所述,本发明的一种基于改进特征选择和分层模型的物联网异常数据检测方法与现有技术相比,具有以下技术效果:由于采用步骤A-C的方式,通过改进的相关性特征选择算法去除了不相关和冗余的数据,减少了模型计算时间,提高了学习精度;由于采用步骤D-H的方式,通过改进数据训练集和验证集的划分方式和改进的分层模型的方式,既融合了多个算法的优点,解决了单一模型准确率低的问题,也解决传统融合模型,如Stacking需要K折交叉验证导致的训练复杂高,Blending模型没有充分利用训练数据等问题。总之,采用本发明设计方法,能够有效解决现有物联网异常数据检测低和检测效率慢等问题。
附图说明
图1是本发明所设计基于改进特征选择和分层模型的物联网异常数据检测方法的流程图;
图2是本发明验证数据结果表。
具体实施方式
下面结合说明书附图对本发明的具体实施方式作进一步详细的说明。本发明的具体思路在于,针对物联网设备数据的海量性,利用机器学习算法的融合模型思想构建异常数据的检测模型,一方面,针对样本数据量大、维度高可能导致的模型算法精度和准确率差等问题,使用基于改进的特征选择算法对样本数据的特征进行了合理选择,选择出了最优特征子集;通过改进分层模型,同时对样本数据进行预处理和样本的训练集、验证集的合理划分,减少训练时间;另一方面,采用改进分层模型的方式,将划分的子训练集进行在第一层进行训练,子验证集在第一层进行验证,将验证的结果作为第二层的输入又进行训练,再将子验证集在第二层进行验证,最后在第三层进行训练输出,这种方法显著提高的异常检测的效果。
如图1所示,本发明提供的一种基于改进特征选择和分层模型的物联网异常数据检测方法,包括以下步骤:
步骤A.获取物联网设备产生的数据,标记数据为集合S=[s1,s2,s3,…,sn]T,S∈Rn×m;其中n表示数据集S有n个样本,对于每个样本si=[si1,xi2,xi3,…,xim,yi],i=1,2,3…m,表示si含有n维特征集合x=[xi1,xi2,xi3,…,xim]和一个标签类别yi;对数据集S进行缺失值、异常值和标准化数据预处理,得到处理后的数据集Snew,然后进入步骤B;
步骤B.将由步骤A得到的数据集的特征集合和标签类别进行划分,得到总的特征集合和标签类别集合Y=[y1,y2,y3,…,yn]T;使用改进的相关性特征选择算法进行特征集合X的特征选择,剔除冗余特征,实现特征降维,得到最优特征子集其中c≤m,c表示筛选后每个样本的最优特征个数。
优选地,步骤A具体为,将待训练数据集S=[s1,s2,s3,…,sn]T,进行数据的缺失值处理,根据公式用平均数进行填补;如有异常值,则删除异常值,然后将待训练数据集S=[s1,s2,s3,…,sn]T,根据公式 计算标准差,然后根据公式进行Z-score标准化,得到最终数据集合Snew。
优选的,步骤B具体为,将数据集 的特征集合和标签类别进行划分,得到总的特征集合和标签类别集合Y=[y1,y2,y3,…,yn]T。
进一步的,定义空的已选特征集合待选特征集合Zm={X-Zs},Zm初始为特征集合X中的m个特征,给出基于改进的相关性特征选择算法:
其中,J(xj)中所涉及的公式为:
I(xj;xi;Y)=I(xj,xi;Y)-I(xj;Y)-I(xi;Y)
其中,xj表示待选特征,其来自于待选特征集合Zm;xi表示已选特征,其来自于已选特征集合Zs;Y表示标签,其来自于标签类别集合Y=[y1,y2,y3,…,yn]T;I(xj;Y|xi)为条件互信息,表示待选特征xj和标签类别Y在已选特征xi影响下的信息量度;I(xi;Y|xj)为条件互信息,表示已选特征xi和标签类别Y在待选特征xj影响下的信息量度;I(xj;xi;Y)为交互信息,表示已选特征xi、标签类别Y和待选特征xj三者的信息相关性;H(Y)为标签类别的信息熵;H(xj)为待选特征的信息熵;H(xi)为已选特征的信息熵;I(xj;xi)为互信息,表示已选特征xi和待选特征xj之间的信息相关性;对待选特征集合Zm中的所有特征使用基于改进的互信息特征选择算法J(xj)进行评价,得到集合Zm中每个待选特征的分数。
进一步的,从每个待选特征的分数中选择分数最高的特征,将其索引加入已选特征集合Zs中;同时更新待选特征集合Zm={X-Zs},即移除该特征;更新特征选择算法J(xj);然后,若已选特征集合Zs中的元素个数不等于设定的最优特征子集的个数c,则重复执行上诉步骤;否则,则停止整个算法流程;最终,将得到的已选特征集合Zs,遍历集合Zs;其中Zs保存的元素为待选特征集合Zm中每个特征的索引,根据其索引构建最优特征子集Z=[z1,z2,z3,…,zc]T,其中c≤m;然后进入步骤C;
步骤C.将步骤B得到的最优特征子集Z和对应的标签类别集合Y,进行数据合理划分。划分结果为:Z={Ztrain,Ztest},Y={Ytrain,Ytest},划分比例为8:2,其中Ztrain和Ytrain占比80%,Ztest和Ytest占比20%;
进一步的,为充分利用分层模型,训练集Ztrain和对应标签Ytrain又被划分为三部分,表示为Ztrain={Ztrain1,Zval2,Zval3}和Ytrain={Ytrain1,Yval2,Yval3},其中Ztrain1为子训练集,对应标签Ytrain1;Zval2和Zval3为子验证集分别对应标签Yval2和Yval3;三者划分比例为2:1:1,其中Ztrain1和Ytrain1占比50%,Zval2和Yval2、Zval3和Yval3占比25%;然后进入步骤D;
步骤D.将步骤C中得到的Ztrain1和Ytrain1输入分层模型的第一层学习器T1={T1_M1,T1_M2,T1_M3,T1_M4,T1_M5}中进行训练,其中T1_M1为决策树,T1_M2为随机森林,T1_M3为梯度提升树,T1_M4为XGBoost,T1_M5为KNN,循环遍历T1,将Ztrain1和Ytrain1输入到T1中进行训练,然后将每次训练的模型保存到新的模型集合T1_train中,其中T1_train={T1_m1new,T1_m2new,T1_m3new,T1_m4new,T1_m5new},然后进入步骤E;
步骤E.将步骤B中得到子验证集Zval2输入步骤D中训练好的模型T1_train中进行验证,由于有5组学习器,故会得到5组预测结果,表示为 其中[a1,a2…ai]表示第一个学习器预测的结果,分别为概率表示的集合,其中a1+a2+…ai=1;如果异常种类只有一种,则i=2,表示预测结果为正常和异常的概率分别为a1和a2;若异常种类不止一种,则i>2,则[a1,a2…ai]表示模型预测的每种异常种类的概率;然后进入步骤F;
步骤F.将步骤C和E中得到的Yval2和Zpro2输入分层模型的第二层学习器集合T2={T2_M1,T2_M2}中进行训练,优选的,其中T2_M1为更换随机种子的决策树,T2_M2为更换随机种子的随机森林,然后将每次训练的新模型保存到新的模型集合T2_train中,其中T2_train={m1new,m2new}。决策树的参数为{n_estimators=100,max_features=16,random_state=4869};随机森林的参数为{n_estimators=100,max_features="sqrt",random_state=4869,n_jobs=8};然后将验证集在该层进行验证,进一步提高模型的训练能力;然后进入步骤G;
步骤G.将步骤C中得到的子验证集Zval3输入步骤F中训练好的模型T2_train中进行验证,由于有2组学习器,故会得到2组预测结果,将其2次结果合并为新的样本,表示为其中[a1,a2…ai]表示第一个样本预测的结果,分别为概率表示的集合,其中a1+a2+…ai=1;如果异常种类只有一种,则i=2,表示预测结果为正常和异常的概率分别为a1和a2;若异常种类不止一种,则i>2,则[a1,a2…ai表示模型预测的每种异常种类的概率;然后进入步骤H;
步骤H.将步骤C和G中得到Yval3和Zpro3输入分层模型的第三层模型中进行训练,第3层采用算法CatBoost进行训练,保存整个训练模型,然后进入步骤I;步骤I.将步骤C中得到的测试集Ztest和对应标签Ytest输入整体分层模型进行测试,设置最终测试准确率>=T%;如果不满足要求,则返回步骤D,将每层模型进行重新参数调优,直至最终测试结果满足要求,然后进入步骤J;
步骤J.将步骤I中训练好的分层模型用于物联网异常数据检测,模型部署于本地物联网设备检测端或云平台,将物联网设备采集的数据输入训练好的模型进行实时数据异常检测,得到最终检测结果。
为了说明本发明在物联网异常数据检测领域的检测效果,在公开数据集MQTTset上进行验证测试。本数据集的数据是从物联网设备内置的传感器采集的,其中数据异常种类含有5种,正常种类为1种。将本发明得到的测试与当前所用方法进行,评估结果如图2的表所示。
在数据集MQTTset上的实验对比下,本发明在准确率、召回率和F1上都优于传统的单个模型和传统的两个融合模型。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变动。
Claims (9)
1.基于改进特征选择和分层模型的物联网异常数据检测方法,其特征在于,包括如下步骤:
步骤A.获取物联网设备产生的数据,标记数据为集合S=[s1,s2,s3,…,sn]T,S∈Rn×m;其中n表示数据集S有n个样本,对于每个样本si=[xi1,xi2,xi3,…,xim,yi],i=1,2,3…m,表示si含有n维特征集合x=[xi1,xi2,xi3,…,xim]和一个标签类别yi;对数据集S进行缺失值、异常值和标准化数据预处理,得到处理后的数据集Snew,然后进入步骤B;
步骤B.将由步骤A得到的数据集的特征集合和标签类别进行划分,得到总的特征集合和标签类别集合Y=[y1,y2,y3,…,yn]T;使用基于改进的相关性特征选择算法进行特征集合X的特征选择,剔除冗余特征,实现特征降维,得到最优特征子集其中c≤m,c表示筛选后每个样本的最优特征个数,然后进入步骤C;
步骤C.将步骤B得到的最优特征子集Z和对应的标签类别集合Y,进行数据划分;
划分结果为:Z={Ztrain,Ztest},Y={Ytrain,Ytest};其中训练集Ztrain对应标签Ytrain,测试集Ztest对应标签Ytest;
训练集Ztrain和对应标签Ytrain被划分为三部分,表示为Ztrain={Ztrain1,Zval2,Zval3}和Ytrain={Ytrain1,Yval2,Yval3},其中Ztrain1为子训练集,对应标签Ytrain1;Zval2和Zval3为子验证集分别对应标签Yval2和Yval3;然后进入步骤D;
步骤D.将步骤C中得到的Ztrain1和Ytrain1输入分层模型的第一层学习器T1={T1_M1,T1_M2,T1_M3,T1_M4,T1_M5}中进行训练,其中T1_M1为决策树,T1_M2为随机森林,T1_M3为梯度提升树,T1_M4为XGBoost,T1_M5为KNN,保存为训练模型T1_train,然后进入步骤E;
步骤E.将步骤C中得到的子验证集Zval2输入步骤D中训练好的模型T1_train中进行验证,由于有5组学习器,故会得到5组预测结果,将5组预测结果合并为新样本数据Zpro2,然后进入步骤F;
步骤F.将步骤C和E中得到的Yval2和Zpro2输入分层模型的第二层学习器T2={T2_M1,T2_M2}中进行训练,保存训练模型T2_train,然后进入步骤G;
步骤G.将步骤C中得到的子验证集Zval3输入步骤F中训练好的模型T2_train中进行验证,由于有2组学习器,故会得到2组预测结果,将2组预测结果合并为新样本数据Zpro3,然后进入步骤H中;
步骤H.将步骤C和G中得到Yval3和Zpro3输入分层模型的第三层模型中进行训练,第3层采用算法CatBoost进行训练,保存整个训练模型,然后进入步骤I;
步骤I.将步骤C中得到的测试集Ztest和对应标签Ytest输入整体分层模型进行测试,设置最终测试准确率>=T%;如果不满足要求,则返回步骤D,将每层模型进行重新参数调优,直至最终测试结果满足要求,然后进入步骤J;
步骤J.将步骤I中训练好的分层模型用于物联网异常数据检测,模型部署于本地物联网设备检测端或云平台,将物联网设备采集的数据输入训练好的模型进行实时数据异常检测,得到最终检测结果。
2.根据权利要求1所述的基于改进特征选择和分层模型的物联网异常数据检测方法,其特征在于,步骤A包括如下子步骤:
步骤A1.将待训练数据集S=[s1,s2,s3,…,sn]T,进行数据的缺失值处理,根据公式用平均数进行填补;如有异常值,则删除异常值,然后进入步骤A2;
步骤A2.将待训练数据集S=[s1,s2,s3,…,sn]T,根据公式计算标准差,然后根据公式进行Z-score标准化,得到最终数据集合Snew,然后进入步骤B。
3.根据权利要求1所述的基于改进特征选择和分层模型的物联网异常数据检测方法,其特征在于,步骤B包括如下子步骤:
步骤B1.将数据集的特征集合和标签类别进行划分,得到总的特征集合和标签类别集合Y=[y1,y2,y3,…,yn]T;然后进入步骤B2;
步骤B2.定义空的已选特征集合待选特征集合Zm={X-Zs},Zm初始为特征集合X中的m个特征;给出基于改进的相关性特征选择算法:
其中xj表示待选特征,其来自于待选特征集合Zm;xi表示已选特征,其来自于已选特征集合Zs;Y表示标签,其来自于标签类别集合Y=[y1,y2,y3,…,yn]T;I(xj;Y|xi)为条件互信息,表示待选特征xj和标签类别Y在已选特征xi影响下的信息量度;I(xi;Y|xj)为条件互信息,表示已选特征xi和标签类别Y在待选特征xj影响下的信息量度;I(xj;xi;Y)为交互信息,表示已选特征xi、标签类别Y和待选特征xj三者的信息相关性;H(Y)为标签类别的信息熵;H(xj)为待选特征的信息熵;H(xi)为已选特征的信息熵;I(xj;xi)为互信息,表示已选特征xi和待选特征xj之间的信息相关性;对待选特征集合Zm中的所有特征使用基于改进的互信息特征选择算法J(xj)进行评价,得到集合Zm中每个待选特征的分数;然后进入步骤B3;
步骤B3.从步骤B2中每个待选特征的分数中选择分数最高的特征,将其索引加入已选特征集合Zs中;同时更新待选特征集合Zm={Z-Zs},即移除该特征;更新特征选择算法j(xj);然后进入步骤B4;
步骤B4.若已选特征集合Zs中的元素个数不等于设定的最优特征子集的个数c,则重复执行步骤B3;否则,则停止流程,然后进入步骤B5;
步骤B5.将步骤B4中得到的已选特征集合Zs,遍历集合Zs;其中Zs保存的元素为待选特征集合Zm中每个特征的索引,根据其索引构建最优特征子集Z=[z1,z2,z3,…,zc]T,其中c≤m;然后进入步骤C。
4.根据权利要求1所述的基于改进特征选择和分层模型的物联网异常数据检测方法,其特征在于,步骤C包括如下子步骤:
步骤C1.将步骤B得到的最优特征子集Z和对应的标签类别集合Y,进行数据划分;划分结果为:Z={Ztrain,Ztest},Y={Ytrain,Ytest},划分比例为8:2,其中Ztrain和Ytrain占比80%,Ztest和Ytest占比20%;然后进入步骤C2;
步骤C2.训练集Ztrain和对应标签Ytrain被划分为三部分,表示为Ztrain={Zxrain1,Zval2,Zval3}和Ytrain={Ytrain1,Yval2,Yval3},其中Ztrain1为子训练集,对应标签Ytrain1;Zval2和Zval3为子验证集分别对应标签Yval2和Yval3;三者划分比例为2:1:1,其中Ztrain1和Ytrain1占比50%,Zval2和Yval2、Zval3和Yval3占比25%;然后进入步骤D。
5.根据权利要求4所述的基于改进特征选择和分层模型的物联网异常数据检测方法,其特征在于,步骤D包括如下子步骤:
步骤D1.将步骤C中得到的Ztrain1和Ytrain1输入分层模型的第一层学习器T1={T1_M1,T1_M2,T1_M3,T1_M4,T1_M5}中进行训练,其中T1_M1为决策树,T1_M2为随机森林,T1_M3为梯度提升树,T1_M4为XGBoost,T1_M5为KNN,循环遍历T1,将Ztrain1和Ytrain1输入到M1中进行训练,然后进入步骤D2;
步骤D2.将步骤D1每次训练的模型保存到新的模型集合T1_train中,其中T1_train={T1_m1new,T1_m2new,T1_m3new,T1_m4new,T1_m5new},然后进入步骤E。
6.根据权利要求1所述的基于改进特征选择和分层模型的物联网异常数据检测方法,其特征在于,步骤E包括如下步骤:
步骤E1.将步骤B中得到子验证集Zval2输入步骤D中训练好的模型T1_train中进行验证,由于有5组学习器,故会得到5组预测结果,表示为 其中[a1,a2…ai]表示第一个学习器预测的结果,分别为概率表示的集合,其中a1+a2+…ai=1;如果异常种类只有一种,则i=2,表示预测结果为正常和异常的概率分别为a1和a2;若异常种类不止一种,则i>2,则[a1,a2…ai]表示模型预测的每种异常种类的概率;然后进入步骤F。
7.根据权利要求1所述的基于改进特征选择和分层模型的物联网异常数据检测方法,其特征在于,步骤F包括如下步骤:
步骤F1.将步骤C和E中得到的Yval2和Zpro2输入分层模型的第二层学习器集合T2={T2_M1,T2_M2}中进行训练,其中T2_M1为更换随机种子的决策树,T2_M2为更换随机种子的随机森林,然后进入步骤F2;
步骤F2.将步骤F1每次训练的新模型保存到新的模型集合T2_train中,其中T2_train={T2_m1new,T2_m2new},然后进入步骤G。
8.根据权利要求1所述的基于改进特征选择和分层模型的物联网异常数据检测方法,其特征在于,步骤G包括如下步骤:
步骤G1.将步骤C中得到的子验证集Zval3输入步骤F中训练好的模型T2_train中进行验证,由于有2组学习器,故会得到2组预测结果,将其2次结果合并为新的样本,表示为其中[a1,a2…ai]表示第一个样本预测的结果,分别为概率表示的集合,其中a1+a2+…ai=1;如果异常种类只有一种,则i=2,表示预测结果为正常和异常的概率分别为a1和a2;若异常种类不止一种,则i>2,则[a1,a2…ai]表示模型预测的每种异常种类的概率;然后进入步骤H。
9.根据权利要求1所述的基于改进特征选择和分层模型的物联网异常数据检测方法,其特征在于,步骤H包括如下步骤:
步骤H1.将步骤C和G中得到Yval3和Zpro3输入分层模型的第三层模型中进行训练,第3层采用算法CatBoost进行训练,保存整个训练模型。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211629425.XA CN115879046B (zh) | 2022-12-19 | 2022-12-19 | 基于改进特征选择和分层模型的物联网异常数据检测方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211629425.XA CN115879046B (zh) | 2022-12-19 | 2022-12-19 | 基于改进特征选择和分层模型的物联网异常数据检测方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN115879046A CN115879046A (zh) | 2023-03-31 |
| CN115879046B true CN115879046B (zh) | 2026-02-06 |
Family
ID=85755172
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202211629425.XA Active CN115879046B (zh) | 2022-12-19 | 2022-12-19 | 基于改进特征选择和分层模型的物联网异常数据检测方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN115879046B (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116543538B (zh) * | 2023-07-04 | 2023-08-25 | 深圳富华消防电力安全技术有限公司 | 一种物联网消防电气预警方法及预警系统 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113505826A (zh) * | 2021-07-08 | 2021-10-15 | 西安电子科技大学 | 基于联合特征选择的网络流量异常检测方法 |
| CN114462509A (zh) * | 2022-01-12 | 2022-05-10 | 重庆邮电大学 | 一种分布式物联网设备异常检测方法 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111797394B (zh) * | 2020-06-24 | 2021-06-08 | 广州大学 | 基于stacking集成的APT组织识别方法、系统及存储介质 |
-
2022
- 2022-12-19 CN CN202211629425.XA patent/CN115879046B/zh active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113505826A (zh) * | 2021-07-08 | 2021-10-15 | 西安电子科技大学 | 基于联合特征选择的网络流量异常检测方法 |
| CN114462509A (zh) * | 2022-01-12 | 2022-05-10 | 重庆邮电大学 | 一种分布式物联网设备异常检测方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN115879046A (zh) | 2023-03-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Perer et al. | Matrixflow: temporal network visual analytics to track symptom evolution during disease progression | |
| Gao et al. | A process fault diagnosis method using multi‐time scale dynamic feature extraction based on convolutional neural network | |
| CN111338950A (zh) | 一种基于谱聚类的软件缺陷特征选择方法 | |
| CN113343581B (zh) | 基于图马尔可夫神经网络的变压器故障的诊断方法 | |
| CN113551904B (zh) | 基于层次机器学习的齿轮箱多类型并发故障诊断方法 | |
| CN112487146A (zh) | 一种法律案件争议焦点获取方法、装置以及计算机设备 | |
| CN110297469A (zh) | 基于重采样的集成特征选择算法的生产线故障判断方法 | |
| US20230267302A1 (en) | Large-Scale Architecture Search in Graph Neural Networks via Synthetic Data | |
| CN113223701A (zh) | 基于Transformer-MHP模型的突发心脏病预测方法 | |
| CN118037332A (zh) | 一种管理营销数据的数据处理方法及系统 | |
| CN114612246B (zh) | 对象集合识别方法、装置、计算机设备及存储介质 | |
| CN115879046B (zh) | 基于改进特征选择和分层模型的物联网异常数据检测方法 | |
| Xing et al. | STCGCN: a spatio-temporal complete graph convolutional network for remaining useful life prediction of power transformer | |
| CN118521411A (zh) | 基于多种分类算法集成学习的智能医疗欺诈监测方法 | |
| CN120805068B (zh) | 齿轮箱复合故障诊断方法、存储介质 | |
| CN115688325A (zh) | 一种航空涡扇发动机剩余使用寿命预测方法及系统 | |
| CN116149895A (zh) | 大数据集群性能预测方法、装置和计算机设备 | |
| CN118940216A (zh) | 一种基于多源信号融合深度学习的感应电机故障诊断方法 | |
| CN119128725A (zh) | 一种知识数据双驱动的调水泵站机组健康评价方法 | |
| CN117635336A (zh) | 一种基于连续特征群的点击率预测方法 | |
| CN114493899A (zh) | 一种可认证状态的分类预测模型构建方法和系统 | |
| CN115099303A (zh) | 一种基于fcn神经网络的结构健康监测传感器异常分类的方法 | |
| CN120725096B (zh) | 用于大模型微调训练的数据混合方法、系统及计算机设备 | |
| CN114550941B (zh) | 基于狄克斯特拉算法的低冗余度动脉粥样硬化风险预测方法 | |
| CN119943427B (zh) | 一种基于监督学习预测患者辅助检查项目的方法和系统 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant |