异常检测算法

目录

一、异常检测算法功能:

异常检测算法用来检测数据集中的一些异常样本。

异常检测算法属于非监督模型,即没有明确的标签值。

二、正态(高斯)分布:

使用高斯分布来对数据集中的每个特征进行概率建模,每个特征xi各自生成一个高斯函数

对于特征xi,若输入x,高斯函数计算输出的是该取值x 在特征xi所有训练集值中出现的概率通过概率来检测该取值是否异常,从而判断该样本是否异常。

  • 参数μ(均值)控制分布的中心位置,而参数σ(标准差)控制分布的扁平度。
    • 当μ增大时,高斯分布整体向右平移。
    • 当σ增大时,高斯分布会变得更加扁平。

三、异常检测算法执行过程:

  • 1.选定可能会出现异常的n各特征xi。
  • 2.对每个特征xi单独计算其μ和σ构造高斯函数。
  • 3.输入待检测样本x,将样本的每个特征各自输入相应的高斯函数计算各特征的正常概率。
  • 4.各个特征的概率乘积即为该样本的正常概率。
  • 5.若正常概率小于预设值ε,则表明该样本中的特征值是异常的。

四、如何选择特征:

  • 选择尽量符合高斯分布(钟形曲线)的特征。
  • 对于不符合高斯分布的特征,通过线性或非线性变换将特征变换后的分布符合高斯分布。

五、评估异常检测算法:

尽管异常检测算法是非监督模型,但是我们可以通过引入标签值来进行算法的评估:

对于部分已经确定异常的样本,我们将其标签设为"异常1"。然后将这部分样本划分为测试集和交叉验证集,分别在算法训练时、训练后进行算法预测性能的评估,交叉验证算法还可以调整ε等参数的值。

相关推荐
AI慧聚堂4 分钟前
自动化 + 人工智能:投标行业的未来是什么样的?
运维·人工智能·自动化
盛世隐者5 分钟前
【pytorch】循环神经网络
人工智能·pytorch
游是水里的游5 分钟前
【算法day19】回溯:分割与子集问题
算法
不想当程序猿_6 分钟前
【蓝桥杯每日一题】分糖果——DFS
c++·算法·蓝桥杯·深度优先
cdut_suye17 分钟前
Linux工具使用指南:从apt管理、gcc编译到makefile构建与gdb调试
java·linux·运维·服务器·c++·人工智能·python
南城花随雪。25 分钟前
单片机:实现FFT快速傅里叶变换算法(附带源码)
单片机·嵌入式硬件·算法
开发者每周简报37 分钟前
微软的AI转型故事
人工智能·microsoft
dundunmm40 分钟前
机器学习之scikit-learn(简称 sklearn)
python·算法·机器学习·scikit-learn·sklearn·分类算法
古希腊掌管学习的神41 分钟前
[机器学习]sklearn入门指南(1)
人工智能·python·算法·机器学习·sklearn
波音彬要多做42 分钟前
41 stack类与queue类
开发语言·数据结构·c++·学习·算法