本发明是一种基于elm-hierarchicalclustering的离群点检测方法,涉及到数据挖掘领域。
背景技术:
当前飞速发展的现代科学技术与信息技术进程中,使得新的知识和信息量高速膨胀。再加上互联网和无线网络的普及,大大加快了信息传播和共享的速度及广度。在信息技术发展给我们带来巨大的好处的同时,如何迅速有效地从日益复杂的海量数据集中获取有用知识成为我们主要的问题和关注焦点。数据挖掘是一种常用的数据处理技术,它可以有效地帮助人们组织信息,它是知识发现的核心环节。
在实际应用中,数据往往来自不同的信息个体、部门、企业以及国家,在这些复杂异构的数据集中可能含有一些数据对象,它们与其它数据是显著相异的,表现为与数据的一般行为或模型不一致,这样的数据对象称为离群点。离群点挖掘就是从常规数据或模式中发现离群点的过程,它是数据挖掘的基本任务,也是数据挖掘中的重要研究方向。
数据集中离群点的产生原因往往是复杂多样的,其中一部分离群点可能是由于人为输入错误、测量时设备发生故障或存在噪音、过时旧数据或者数据缺失等错误所导致,这样的离群数据通常被认为是错误的,可以从数据集中提出或用其它方法进行变换;另一部分离群点可能是由数据本身的变化引起的,在一定程度上反映了整个数据的分布特征,如股票交易和外汇买卖等数据集,这类数据集中数据是随着时间不断变化的,在某些特殊的时间点,如开收盘或大盘动荡时,往往会出现大量或者异常的交易行为而形成离群点。还有一种产生离群点的原因可能是数据来源异常,如发生信用卡欺诈、网络入侵或发生灾难、疾病时的数据,相对于常规数据而言,这些数据来源于异常的行为或状态,并表现出与正常数据有明显区别。
不论是何种原因引起的离群点对以后的分析都会造成一定的影响。从造成分析的困难来看,我们不希望样本中出现离群点,离群点会直接影响模型的拟合精度,甚至会得到一些虚伪的信息。例如,两个相距很近的离群点将在谱分析中产生许多虚假的频率。因此,离群点往往被看作是一个“坏值”。
技术实现要素:
本发明的目的在于提出了一种基于elm-hierarchicalclustering的离群点检测方法,该方法运用elm非线性映射,将原始数据向量映射到elm特征空间当中,使得数据变得更加线性可分,然后利用hierarchicalclustering方法对样本进行聚类分析,进而筛选出离群点。
为了实现上述目的,本发明的方案是:
一种基于elm-hierarchicalclustering的离群点检测方法,运用elm特征映射,将样本数据从原始样本空间映射到一个更高维的随机特征空间,然后利用hierarchicalclustering方法对样本进行聚类分析,进而筛选出离群点。具体步骤如下:
(1)对于n个需要进行聚类的原始数据{x1,x2,…,xn}(xi∈rn),其中xi=[xi1,xi2,…,xin]∈rn,取定隐含层神经元个数为l;
(2)生成随机数输入权向量wi和偏置bi。wi和bi是隐层神经元的学习参数,其中wi=[wi1,wi2,…,win]t是第i个隐层神经元与输入神经元之间的权向量,bi是第i个隐层神经元的偏差,wi×x表示wi和x在rn的内积;
(3)选择激活函数g(x),如:sigmoid与threshold函数,g(wi,bi,x)是对应于输入x的第i个隐层神经元的输出,g(wi,bi,x)可以表示为:
当激活函数g(x)为rbf神经元时,g(wi,bi,x)可以表示为:
其中wi和bi是第i个rbf神经元的中心和宽度因子,r+是所有正实数的集合;
(4)计算神经网络的隐层输出矩阵h,
其中:h的第i列就是相对于输入x1,x2,…,xn的第i个隐层神经元输出向量,且h的第j行就是相对于输入xj的隐层权值输出向量;
(5)应用hierarchicalclustering方法对h进行聚类分析,首先计算在高维特征空间中样本点之间的邻近矩阵,每个点都是一个簇,然后合并两个最接近的簇,然后更新邻近矩阵,直到剩下一个簇为止,簇与簇间的相似性度量采用组平均法,样本间相似性度量选用欧式距离,欧式距离的公式为:
其中h(xi)为elm特征映射后的高维特征空间中的样本点,其具体表达式
为h(xi)=[h1(xi),h2(xi),…,hl(xi)]t=[g(w1,b1,xi),g(w2,b2,xi),…,g(wl,bl,xi)]t;
(6)筛选离群点,丢弃远离其他簇的小簇,首先需要设定最小簇大小和小簇与其他簇之间距离的阈值,然后丢弃小于该阈值的所有的簇。
本发明的有益效果是:
1、本发明通过elm特征映射,把样本空间映射到一个高维的特征空间中,使得在原来的样本空间中非线性可分的问题转化为在特征空间中的线性可分的问题,许多情况下,即使将原始数据通过elm特征映射到同维的空间中,也能使数据变得线性可分。
2、与svm核映射不同,elm特征映射是一种显示映射方法,更加简单。
3、在elm的实施过程中发现,当隐层节点的个数,即特征空间的维数为1000时,对于各种长度的训练数据,elm基本上能取得令人满意的结果,这使得elm映射生成的特征空间维数不至于过高,从而能够避免hierarchicalclustering方法的“维数灾难”,在提高原始数据的线性可分性和控制特征空间维数之间找到了一个很好的平衡点。
4、本发明可有效地提高检测精度。
附图说明:
图1是原始图像;
图2是阈值分割图像;
图3是形态学处理后图像;
图4是初步提取roi区域图;
图5是基于elm-hierarchicalclustering的聚类图;
图6是样本划分成18簇的结果。
具体实施方式
本发明在白细胞检测与识别中的应用,具体步骤是:
一、图像分割:利用最大类间方差法对原始图像进行阈值分割,然后对阈值分割后的图像进行形态学处理,删除二值图像中面积小于100的对象,利用中值滤波消除图像中的噪声,对图像进行闭操作与膨胀操作,进而提取可疑区域,对每个可疑区域进行特征提取。
二、特征提取:提取了白细胞的形态特征、lbp特征、灰度共生矩阵特征和颜色特征。
三、离群点检测:利用提取的特征数据和elm-hierarchicalclustering算法来检测离群点,依据以下步骤进行:
1、对于n个需要进行聚类的原始数据{x1,x2,…,xn}(xi∈rn),其中xi=[xi1,xi2,…,xin]∈rn,取定隐含层神经元个数为l。
2、生成随机数输入权向量wi和偏置bi。wi和bi是隐层神经元的学习参数,其中wi=[wi1,wi2,…,win]t是第i个隐层神经元与输入神经元之间的权向量,bi是第i个隐层神经元的偏差。wi×x表示wi和x在rn的内积。
3、选择激活函数g(x),如:sigmoid与threshold函数,g(wi,bi,x)是对应于输入x的第i个隐层神经元的输出。g(wi,bi,x)可以表示为
当激活函数g(x)为rbf神经元时,g(wi,bi,x)可以表示为:
其中wi和bi是第i个rbf神经元的中心和宽度因子。r+是所有正实数的集合。
4、计算神经网络的隐层输出矩阵h,
其中:h的第i列就是相对于输入x1,x2,…,xn的第i个隐层神经元输出向量,且h的第j行就是相对于输入xj的隐层权值输出向量。
5、应用hierarchicalclustering方法对h进行聚类分析。首先计算在高维特征空间中样本点之间的邻近矩阵,每个点都是一个簇,然后合并两个最接近的簇,然后更新邻近矩阵,直到剩下一个簇为止。簇与簇间的相似性度量采用组平均法,样本间相似性度量选用欧式距离,欧式距离的公式为:
其中h(xi)为elm特征映射后的高维特征空间中的样本点,其具体表达式
为h(xi)=[h1(xi),h2(xi),…,hl(xi)]t=[g(w1,b1,xi),g(w2,b2,xi),…,g(wl,bl,xi)]t。
6、筛选离群点,丢弃远离其他簇的小簇。首先需要设定最小簇大小和小簇与其他簇之间距离的阈值,然后丢弃小于该阈值的所有的簇。
丢弃远离其他簇的小簇。我们设定最小簇大小为2,即最小簇中最多包含两个样本,小簇与其他簇之间距离的阈值为71.2799,此时样本被聚为18簇,然后丢弃小于该阈值的所有的簇。
通过表1,我们需要丢弃第1簇、第5簇、第6簇、第7簇、第8簇、第12簇、第14簇、第18簇,即样本42、60、62、20、21、27、44、92、64、39。
四、方差分析:计算f统计量与概率p值,如果相伴概率p值小于显著性水平a,拒绝零假设,认为不同类型的白细胞各特征均值有显著差异,反之,认为不同类型的白细胞各特征均值没有显著差异。选择有显著性差异的特征,删除没有显著性差异的特征。
五、svm分类器:利用核函数将白细胞从原始样本空间映射到一个更高维的特征空间,然后在此特征空间建立一个最大边缘超平面,然后将各类分离开来。
经过基于elm-hierarchicalclustering算法的离群点检测之后,删除了10个离群点,使训练的模型不受离群点的影响,得到了更好的分类超平面,测试精度由82.42%提升到了87.21%。
需要说明的是,以上所述仅为本发明优选实施例,仅仅是解释本发明,并非因此限制本发明专利范围。对属于本发明技术构思而仅仅显而易见的改动,同样在本发明保护范围之内。