研究型论文_基于自编码器和集成学习的半监督异常检测算法
文章目录基于自编码器和集成学习的半监督异常检测算法论文摘要论文解决的问题1.算法原理2.算法设计算法的创新点参考资料基于自编码器和集成学习的半监督异常检测算法论文摘要异常检测用来预处理数据,挖掘异类数据信息,是数据挖掘的一种重要方法。近年来由于维度灾难问题,高维异常数据检测显得十分困难,针对上述问题提出一种基于自编码器和集成学习的半监督异常检测算法。首先利用自编码器降维,在编解码过程中异常数据的异
基于自编码器和集成学习的半监督异常检测算法
论文摘要
异常检测用来预处理数据,挖掘异类数据信息,是数据挖掘的一种重要方法。近年来由于维度灾难问题,高维异常数据检测显得十分困难,针对上述问题提出一种基于自编码器和集成学习的半监督异常检测算法。
- 首先利用自编码器降维,在编解码过程中异常数据的异常程度被增大。
- 然后在AdaBoost提升框架中融合iforest、LOF、K-means算法,基于3种算法对于不同异常类型的敏感性,提升异常检测的准确性。
- 选取UCI机器学习库中的高维异常数据集进行实验。
实验结果表明,该模型的准确性相较于目前主流的异常检测算法有显著提升。
论文解决的问题
解决维度灾难问题,降维。
1.算法原理
-
基于自编码器的降维
自编码器(AE)包含编码器、隐含层、解码器三部分。
训练过程中损失函数为:
Loss(X,X') = || X - X' ||^2
编码网络的激活函数为:
Z = sigmoid(WX + b)
解码网络的激活函数为:
X' = sigmoid'(W'Z + b')
通过最小化损失函数来优化编码器和解码器中的参数,等价为:
最终隐含层的数据是最后降维后的数据。 -
基于iforest、LOF、K-means的异常检测
孤立森林(iforest):在数据集中随机选择一个特征作为起始节点,并在此特征最大值和最小值之间随机取值作为分支点,重复上述步骤,直到子节点中只包含一个数据或者树的深度达到阈值,迭代完成后,计算数据点在树中的层数即高度,将叶到根的高度作为异常分数,分离一个点所需的维度越小,即高度越低,那么该点异常的可能性越大。不适合处理特别高维的数据,局部异常点检测效果差。
LOF:通过比较样本点与其邻域点的平均可达密度来判断样本是否为异常点。全局异常点检测效果差。
K-means:初始聚类中心包含离群点,则聚类效果差。
-
基于AdaBoost的提升框架
适合处理有标签的数据。
2.算法设计
算法分为两部分:自编码器降维、Adaboost提升框架的检测
-
自编码器降维
如上所述。
-
Adaboost提升框架的检测
首先初始化权值分布D1’,基于D1以最小化误差e1训练iforest,找出数据中的全局异常点,得到分类器G1及其权重系数a1,并增大未识别出的局部异常点和异常簇的权重,更新数据分布D2
进入下一个学习器LOF,基于D2以最小化误差e2,训练LOF,找出数据中的局部异常点,得到分类器G2及其权重系数a2,并增大未识别出的异常簇的权重,更新数据分布D3
进入下一个学习器K-means,基于D3以最小化误差e3,训练K-means,得到分类器G3及其权重系数a3,将3个分类器线性组合得到最终的强分类器。
强分类器 H ( x ) = s i g n ( a 1 ∗ h 1 ( x ) + a 2 ∗ h 2 ( x ) + a 3 ∗ h 3 ( x ) ) H(x) = sign(a_1*h_1(x) + a_2*h_2(x) + a_3*h_3(x)) H(x)=sign(a1∗h1(x)+a2∗h2(x)+a3∗h3(x))
算法的创新点
- 弱分类器使用了iforest和LOF,使得他们在检测全局异常点和局部异常点上互补
- 对于K-means初始聚类中心的选择上,可以选择前两个分类器检测出的正常点作为初始聚类中心,来解决初始聚类中心包含离群点,则聚类效果差的问题。
参考资料

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)