异常检测算法

一、异常检测算法

1.使用高斯正态分布

例子:

###问题:x_{test}带入公式中后,我不清楚他如何用到计算中,我感觉都一样。

二.开发和评估异常检测算法

1.实数评估的重要性

        当我们为某个应用开发一个学习算法时,需要进行一系列的选择(比如,选择特征等)。如果我们有某种方法,通过返回一个实数来评估我们的算法,那么对这些选择做出决定往往会更容易的多。

2. 

异常检测算法是一个非监督学习算法,意味着我们无法根据结果变量y的值来告诉我们数据是否真的是异常的。我们需要另一种方法来帮助检验算法是否有效。所以我们可以假设y=0或y-1。有异常y=1。

例子:

我们通常在数据集中有少量的异常例子。我们可以分为正常的训练集,带有异常的验证集和测试集。

然后设置\varepsilon,验证准确度。

对于数据分布非常倾斜时(y=1有2000个,y=0有10个)还可以使用一下方法。

三、 异常检测与监督学习对比

什么情况下,能让我们把某个学习问题当做是一个异常检测,或者是一个监督学习的问题?
  对于一个学习问题,如果正样本的数量很少,甚至有时候是0,也就是说出现了太多没见过的不同的异常类型,那么对于这些问题,通常应该使用的算法就是异常检测算法;而如果正负样本数量都很多的话,则可以使用监督学习算法。例如,如果网络有很多诈骗用户,则可以变为监督学习;如果只有少量诈骗用户,则为异常检测。
————————————————                     
                        
原文链接:https://blog.csdn.net/HUAI_BI_TONG/article/details/115426449

四、选择特征
  

当应用异常检测时,选择什么特征对运行有很大影响。
  异常检测假设特征符合高斯分布,如果数据的分布不是高斯分布,异常检测算法也能够工作,但是最好还是将数据转换成高斯分布,例如使用对数函数:x = l o g ( x + c ) ,其中x=x^{a},a为0-1的分数。

如何得到异常检测算法的特征?进行误差分析。
  一个常见的问题是一些异常的数据可能也会有较高的p ( x ) p(x)p(x)值,因而被算法认为是正常的。这种情况下误差分析能够帮助我们,我们可以分析那些被算法错误预测为正常的数据,观察能否找出一些问题。我们可能能从问题中发现我们需要增加一些新的特征,增加这些新特征后获得的新算法能够帮助我们更好地进行异常检测。
  我们通常可以通过将一些相关的特征进行组合,来获得一些新的更好的特征(异常数据的该特征值异常地大或小)。

如x5和x6将其他特征结合起来效果更好。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值