基于高斯分布的异常检测算法 项目描述



异常检测项目整理
基于高斯分布的异常检测算法
收集特征:电机轴1到6,问问剑桥,那份文档每个参数啥意思。
假设机器数据符合高斯分布,如果不符合,就用对数函数转化为高斯分布。
一个机器的1轴和2轴分别作为特征点,在直角坐标系中形成了一个点,m个机器就会形成m个点,画图。对于一个新的机器,如果新机器的特征点偏离了这块区域,我们就说异常了。

具体实现算法:计算每个特征的平均值和方差,得到一个密度概率函数模型,对于新的特征点,可以根据模型求出对应概率,把这个概率和阈值比较,
小于阈值的概率就是异常。这个阈值可以用交叉验证法得到。具体就是1000个正常数据分为600个训练数据,200个正常数据和异常数据组成验证集,
另外200正常数据和10个异常数据构成测试集。阈值是通过多次尝试,人工得到的。

******************不重要东西******************

算法实现:对于每一个特征值,计算他的平均值和方差,得到一个概率密度函数,对于新的特征,
通过概率密度函数计算他的概率分布,小于就是异常,大于就是正常。

异常检测假设特征符合高斯分布,如果数据的分布不是高斯分布,异常检测算法也能够
工作,但是最好还是将数据转换成高斯分布,例如使用对数函数:


https://www.cnblogs.com/rhyswang/p/7076414.html
该算法是基于高斯分布的异常检测算法(Anomaly Detection Algorithm),在很多场景中被广泛使用。其算法的核心思想是:
给定一个m*n维训练集,将训练集转换为n为的高斯分布,通过对m个训练样例的分布分析,得出训练集的概率密度函数,
即得出训练集在各个维度上的数学期望μ和方差σ^2,并且利用少量的Cross Validation集来确定一个阈值ε。
当给定一个新的点,我们根据其在高斯分布上算出的概率,及阈值ε,判断当p<ε判定为异常,当p>ε判定为非异常。



异常检测可以用于防止欺诈,比如用于多久登陆一次账号,一般在哪里登陆,经常访问哪些网站,每个月流量多少,打字速度,论坛活跃度,写字风格,常用哪些字,口头禅
。我发现腾讯就有这个功能,
经常提示我qq在异地登录。

我们要构造一个模型,根据测试数据的位置告诉我们他属于哪一类的概率,属于密度估计。我们选择一个阈值ε,将阈值ε作为我们的判定边界。
概率小于阈值,就属于异常,大于阈值就属于正常

飞机引擎的热量和震动。分别放在xy轴,对应在坐标系中的点,如果有m个引擎,就在坐标系中形成了一大片点。每个点都是无标签数据。
如果有新的飞机引擎出来,我们把这个新的引擎叫做测试集,我们根据这个测试数据的坐标点判断他到底合格还是不合格。

你可能感兴趣的:(AI项目)