1.一种用于文本错误检测的高维数据异常检测方法,其特征在于,在高维数据上随机选择单个或多个属性,选择的单个属性或多个属性的组合作为异常点检测的特征,在每个特征上运行异常检测方法,得到每个数据点的异常值打分,运用各个数据点的异常值打分的和作为判断异常数据的标准;
具体包括:
随机在高维数据集上选择一个或多个属性,作为原始数据集的一次抽样,第i次抽样记为si,每个si称为原始数据集的一个样本,每个样本中包含原始数据集中的一个属性或多个属性的组合;
在每个样本上进行异常检测:若样本si抽取的数值属性,则对该样本中的数据进行排序,求得si中记录2范数的最大值maxi和最小值mini,把区间[mini,maxi]平均分成kn个子区间,kn是随机从区间[|si|/20,|si|/10]随机选择的整数,|si|表示样本中记录的个数;统计
2范数落在kn个子区间的记录数 作为该区间内包含记录的异常值打分;
若样本si抽取的非数值属性,则首先随机选择一个记录作为基准记录r0,计算所有记录到该基准记录的距离,dmax表示距离样本si中记录距离r0的最大距离,kc是从区间[|si|/20,|si|/10]随机选择的整数,把区间[0,dmax]平均分成kc个子区间,根据记录与r0的距离所在的子区间,把样本si划分成kc个子类,计算每个子类的信息熵,作为该子类中包含元素的异常值打分;
由不同的样本,得到数据集中每条记录的多个异常值打分,求解异常值打分的加权和,作为判定数据集中每条记录是不是异常值的依据;
进一步,在高维数据上随机选择属性,具体包括:输入:原始数据集r是数据集D中记录,r包含a1,a2,…,am个属性输出:抽样样本集算法:(1)S为空集
(2)for i=1to Ns其中Ns表示需要产生的样本数(3)对数据集D中每记录r,随机选择a1,a2,…,am中一个或多个属性作为该记录的抽样记录(4)把所有抽样记录放入si
(5)把si放入S
(6)Endfor
(7)返回S
进一步,样本si抽取的数值属性,在每个样本上进行异常检测,具体包括:输入:样本si
输出:数据集中每条记录的异常值打分
算法:
(1)计算si中每条记录的2范数,2范数的最大值和最小值分别记为maxi,mini(2)For i=1to N(3)随机从区间[|si|/20,|si|/10]随机选择的整数kn(4)把区间[mini,maxi]平均分成kn个子区间(5)根据每条记录的2范数所在的子区间,把记录分开成kn个簇(6)计算每个簇中记录的个数ci,1/ci为该簇中每条记录的异常打分值(7)Endfor
(8)计算每个记录的∑1/ci作为记录的异常值最终打分;
进一步,样本si抽取的非数值属性,在每个样本上进行异常检测,具体包括:输入:样本si
输出:数据集中每条记录的异常值打分
算法:
(1) For i=1 to N
0
(2)随机选择si中一条记录ri
0
(3)计算其他记录与ri的距离
(4)kc是从区间[|si|/20,|si|/10]随机选择的整数0
(5)根据其他记录与ri的距离,把si中数据划分成kc簇(6)计算各簇的信息熵entri,
(7)Endfor
(8)计算各记录对应的entr=∑entri(9)每条记录的entr即为异常打分值
进一步,在不同的样本上,在得到数据集中每条记录的多个异常值打分后,求解异常值打分的加权和,作为最终确定每条记录是否为异常值的依据;这里权值的确定有两种方法,一种是由专家设定,另一种是利用带标签的样本学习获得。
2.根据权利要求1所述的一种用于文本错误检测的高维数据异常检测方法,其特征在于,对于数值属性,以概率P1t选取第t个数值属性,对于非数值属性,以概率P2j选取第j个非数值属性,P1t的值与对应数值属性的方差和极差正相关,P2j的值与对应非数值属性的信息熵正相关,选择的单个属性或多个属性的组合称为该数据集的一个特征,在各个特征上运行异常检测方法。
3.根据权利要求1所述的一种用于文本错误检测的高维数据异常检测方法,其特征在于,对于数值属性和数值属性的组合,把最小值到最大值之间,均匀的划分成几个区间,每个区间中包含数据记录数的倒数作为该区间内的每条记录的异常值打分;对于非数值属性和包含非数字属性的组合,把所有记录均匀的划分成几组,计算每个分组中数据的熵,熵的值作为该组数据中各个记录的异常值打分。
4.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1所述的一种用于文本错误检测的高维数据异常检测方法。
5.一种实现权利要求1所述的一种用于文本错误检测的高维数据异常检测方法的高维数据异常检测实现控制系统。