十六、异常检测

简介: 十六、异常检测

1、异常检测(Anormly Detection)介绍



异常检测是指在给定的一组无标签数据集 {x(1),x(2),...,x(m)},针对这组数据集训练一个模型p(x),来判定某个数据和数据集中大多数数据之间的相似程度(某个数据落在给定数据集中心区域的概率),若某个数据xtest和大多数给定数据之间很相似,则  p(xtest)≥ϵ,说明数据无明显异常情况;否则  p(xtest)<ϵ,说明数据 xtest和大多数数据之间差异很大,说明给定的数据可能是一个异常数据。


4b4bd62965d24ef5b562a0648fe826e1.png

即若某个数据不落在大多数数据所在的范围之内,则这种数据出现的概率比较小,将检测出的这种数据视为异常数据。



2、异常检测算法



首先针对m个数据样本选择出 n个可能出现异常的特征  xj,j∈n;之后针对所有样本计算每一个特征的均值  μj,j∈n和方差  σj2,j∈n;针对新给定的某个数据 x计算 p(x),若p(x)<ϵ,则判定数据为异常数据。异常检测算法流程如下所示:

f6f935e5932a466988d462f42c785b17.png


二维特征的异常检测的直观表示如下所示:

067b4b9843c44ca3862cae66058fa5d3.png




3、评估异常检测算法


下面通过飞机引擎异常检测的例子来说明异常检测算法的评估方法:


9563250fa3a54053817af876b089c600.png


首先将原始数据划分为训练数据集,交叉验证数据集和测试数据集;将少部分的已知的异常数据划分到交叉验证数据集和测试数据集中,所以CV set和test set可以看做是拥有了标签的数据。

8c01cc30ca9f4b0c829dc97b0d5c62b6.png



之后根据2中介绍的高斯模型将选定的特征对训练数据集进行异常检测模型  p(x)的拟合;之后将拟合出的模型  p(x)针对CV set进行模型检测,这个检测类似于skewed data检测标准,之后根据计算出来的 F1值来判定模型的好坏,同时可以调整模型选定的特征种类和 ϵ值的大小。最终将训练好的模型使用测试集test set来验证模型的好坏。




3.1 使用异常检测还是使用监督学习


通常当异常样本数量很少(e.g., 0-20),但是正常样本数量很多时,适合使用异常检测;同时当不能确定异常出现的特征时,通常使用异常检测,如零部件异常检测,数据中心计算机监督;而当正常样本和异常样本数量均很多时,样本中包含充分的异常样本信息,则适合使用监督学习,如垃圾邮件检测,天气预测,疾病检测等。




4、处理异常检测的特征向量



要使用gaussian分布来拟合异常检测模型,需要保证特征向量的数据分布满足近似高斯分布,若初始数据的特征向量不满足高斯分布,需要对数据进行变换处理,使其近似满足高斯分布,从而使算法达到更好的效果。处理方式可以取对数,取  α∈(0,1)次方等。


选择特征的方法,是可以首先选取一些特征,针对训练数据训练出一个异常检测模型,之后将模型在交叉验证数据集上进行验证,通过验证效果来增加或者减少特征数量。同时,通常选取那些在异常点取值较大或者较小的特征。




5、多元(multivariate)高斯分布



假如有n维特征向量 x∈Rn,多元高斯分布并非将每一维特征向量进行分别拟合  p(x1)和 p(x2),而是将所有的特征向量拟合成一个概率函数 p(x)。集合形式的高斯异常检测模型需要使用参数  μ∈Rn, Σ∈R(n∗n)(协方差矩阵),则

image.png

几种多元高斯分布的图像随着  μ和 Σ的变化情况如下所示:


c6963b6574234346bb04ee8ba0cc3a03.png

e531561133484faf826898dd59e41573.png


7b282b2b57634f96875e03f5e85924ff.png


6b6548e1f1c24861ad5c32644f51ab1e.png



5.1 利用多元高斯分布开发异常检测模型


给定训练集 x(1),x(2),...,x(m),利用多元高斯分布构建异常检测模型的方法如下所示:


6ffbdba157c94bcda2559f17daeac518.png



5.2 原始模型和多元高斯分布模型的区别


将多元高斯分布模型的协方差矩阵除对角线元素外的其他元素均设置为0之后,多元高斯模型即为原模型。


b4d19fc10fce40ccb6813e0c97cfcb7f.png



5.3 选择使用原始模型 / 多元高斯模型


原始模型需要手动选择某些特征之间的组合值异常,但多元高斯模型可以自动捕捉特征之间的相互关系;原始模型相对于多元高斯模型计算效率更高;多元高斯模型必须满足训练数据数量  m大于特征数量  n,这样才能协方差矩阵 Σ才是可逆的。


020b5f28747f434790830a4923c65b98.png

协方差矩阵在以下两种情况下回出现不可逆的情况:若训练集中训练数据的数量少于特征数量;若特征之间有线性相关性,即有冗余特征存在。









相关文章
|
4月前
|
机器学习/深度学习 传感器 监控
【图像处理】图像变暗、变亮和去模糊研究(Matlab代码实现)
【图像处理】图像变暗、变亮和去模糊研究(Matlab代码实现)
259 1
|
机器学习/深度学习 运维 监控
深度学习之异常检测
基于深度学习的异常检测是一项重要的研究领域,主要用于识别数据中的异常样本或行为。异常检测广泛应用于多个领域,如网络安全、金融欺诈检测、工业设备预测性维护、医疗诊断等。
1044 2
|
7月前
|
API Python
利用openvino模型推理图片
本文介绍了如何使用 OpenVINO 格式模型文件对图片进行推理。通过将训练好的模型转换为 OpenVINO 格式,可实现跨设备部署。文中详细展示了利用 Python 和 OpenVINO API 完成模型加载、编译及推理的步骤。核心代码包括初始化 OpenVINO 模型、设置预测参数(如置信度和 IoU 阈值)以及对图片进行检测并显示结果。注意:OpenVINO 模型文件需完整存放于同一目录下,路径需正确配置,参数可根据模型性能调整。
|
机器学习/深度学习 运维 监控
检测异常活动
【8月更文挑战第19天】
234 9
|
存储 JavaScript 开发者
Vue 3 组件通信方式总结
Vue 3 组件通信方式总结
|
监控 API 开发工具
ARMS性能分析
【8月更文挑战第22天】
375 4
|
存储 边缘计算 物联网
边缘计算的类型及应用概述
边缘计算将计算力移至网络边缘,提升响应速度,降低带宽需求。主要类型包括:边缘设备(如传感器、手机),边缘数据中心(靠近数据源,适用于视频监控等)、边缘云(分布式小型云服务器,支持智能交通等)、边缘服务器(优化网络资源)和云计算型边缘计算(资源共享,安全隐私需关注)。应用广泛,涵盖智能家居、物联网、工业自动化和智能医疗等领域。随着技术发展,边缘计算将持续影响数字化进程。
边缘计算的类型及应用概述
|
存储 数据采集 数据处理
DataFrame赋值技巧:让数据处理更高效
DataFrame赋值技巧:让数据处理更高效
1328 0
|
机器学习/深度学习 人工智能 安全
人工智能在网络安全中的入侵检测与防御
人工智能在网络安全中的入侵检测与防御
|
关系型数据库 MySQL
13. Mysql 使用WITH进行复杂和递归查询
13. Mysql 使用WITH进行复杂和递归查询
1438 4