首页 > 编程语言 >非监督异常点检测算法总结——没有想到矩阵分解和编码解码器也是一种思路

非监督异常点检测算法总结——没有想到矩阵分解和编码解码器也是一种思路

时间:2023-06-02 23:05:28浏览次数:54  
标签:编码 Nk 矩阵 邻域 距离 解码器 密度 异常 lrdk

非监督异常点检测算法总结

 

一、基于密度

1) d(p,o):两点p和o之间的距离;

2) k-distance:第k距离 

对于点p的第k距离dk(p)定义如下:

p的第k距离,也就是距离p第k远的点的距离,如图。

 

 

3) k-distance neighborhood of p:第k距离邻域 

点p的第k距离邻域Nk(p),就是p的第k距离即以内的所有点,包括第k距离。

因此p的第k邻域点的个数 |Nk(p)|≥k。 上图中,p的第k邻域就是圆里面的点,包括边界上的点。

4) reach-distance:可达距离 

点o到点p的第k可达距离定义为:

reachdistancek(p,o)=max{k−distance(o),d(p,o)} 

也就是,点o到点p的第k可达距离,至少是o的第k距离,或者为o、p间的真实距离。

这也意味着,离点o最近的k个点,o到它们的可达距离被认为相等,且都等于dk(o)。

如图,o1到p的第5可达距离为d(p,o1),o2到p的第5可达距离为d5(o2)。

 

 

5) local reachability density:局部可达密度 

点p的局部可达密度表示为:

lrdk(p)=1/(∑o∈Nk(p)reach−distk(p,o)|Nk(p)|)

表示点p的第k邻域内所有点到p的可达距离的平均数的倒数。 (其实也就是用平均举例的倒数作为密度)

这个值的含义可以这样理解,首先这代表一个密度,密度越高,我们认为越可能属于同一簇,密度越低,越可能是离群点。如果p和周围邻域点是同一簇,那么可达距离越可能为较小的dk(o),导致可达距离之和较小,密度值较高;如果p和周围邻居点较远,那么可达距离可能都会取较大值d(p,o),导致密度较小,越可能是离群点。

6) local outlier factor:局部离群因子 (score)

点p的局部离群因子表示为:

LOFk(p)=∑o∈Nk(p)lrdk(o)lrdk(p)|Nk(p)|=∑o∈Nk(p)lrdk(o)|Nk(p)|/lrdk(p)

表示点p的邻域点Nk(p)的局部可达密度与点p的局部可达密度之比的平均数。 

如果这个比值越接近1,说明p的其邻域点密度差不多,p可能和邻域同属一簇;如果这个比值越小于1,说明p的密度高于其邻域点密度,p为密集点;如果这个比值越大于1,说明p的密度小于其邻域点密度,p越可能是异常点。 

主要是通过比较每个点p和其邻域点的密度来判断该点是否为异常点,如果点p的密度越低,越可能被认定是异常点。至于密度,是通过点之间的距离来计算的,点之间距离越远,密度越低,距离越近,密度越高,完全符合我们的理解。而且,因为lof对密度的是通过点的第k邻域来计算,而不是全局计算,因此得名为“局部”异常因子,这样,对于分散度不同的聚类,lof完全可以正确处理,而不会因为数据密度分散情况不同而错误的将正常点判定为异常点。 

 

 

二、基于矩阵分解

思路:选取特征主成分,将原数据映射到主成分坐标系实现降维。再把降维后的数据映射回原数据的坐标系

主成分:数据差异性大的方向

先计算不同特征的方差,第一个主成分方向就是方差最大的特征的方向,方差从大到小排列取前N,构成N维新坐标系,

 

 

 

 

 

 

 

 

 

根据重构之后的数据和原数据比较,得到误差score作为异常点的评价分数

 

 

三、Replicator Neural Network

 

输入和输出是一样的,都是每条数据的特征值

整个流程相当于把数据先压缩再恢复。

在神经网络传输的时候,中间使用了

第二层和第四层的激活函数都是tanh

第三层是一个阶梯函数,图像如下

 

 

 

  

 参考资料:

https://zr9558.com/2016/06/23/outlierdetectiontwo/

https://zr9558.com/2016/06/12/replicator-neural-networks/

 

 

 

 

标签:编码,Nk,矩阵,邻域,距离,解码器,密度,异常,lrdk
From: https://blog.51cto.com/u_11908275/6405471

相关文章

  • Solution Set - 矩阵加速
    A[洛谷P4719]一棵树,点有权,单点修改,求最大权独立集。B[洛谷P6021]一棵树,点有权,单点修改,求在某棵子树中选出一些点,使得所有叶子与根不连通的最小权值和。C[洛谷P5024]一棵树,点有权,给定某两个点的选择状况,求最小权覆盖集。动态DP:(通常在树上)用矩阵刻画DP转移。做树链剖分,然后对每......
  • 动态规划基础之矩阵取数问题 51nod1083
    题目地址:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1083题目:1083 矩阵取数问题基准时间限制:1 秒空间限制:131072 KB分值: 5 难度:1级算法题例如:3*3的方格。133213221......
  • ACM暑假训练 中石油oj 3737: 礼物(矩阵快速幂)
    3737:礼物时间限制:5Sec  内存限制:512MB提交:46  解决:12[提交][状态][讨论版]题目描述热情好客的小猴请森林中的朋友们吃饭,他的朋友被编号为1∼N,每个到来的朋友都会带给他一些礼物:香蕉。其中,第一个朋友会带给他1个香蕉,之后,每一个朋友到来以后,都会带给他之前所有......
  • 最大子矩阵和问题 动态规划 51nod1051
    1051 最大子矩阵和基准时间限制:2 秒空间限制:131072 KB分值: 40 难度:4级算法题例如:3*3的矩阵:-13-12-13-312和最大的子矩阵是:3-1-1312Input......
  • 对jks签名文件进行Base64编码
    使用GithubActions构建Android项目需要签名,而jks文件又无法私密保存,故可以将其转为base64格式再设置安全变量(https://github.com/{...}/settings/secrets/actions)opensslbase64<key.jks|tr-d'\r\n'|teekey.jks.base64.txt</p>.github\workflows\release.yml:......
  • 斯坦福大学李飞飞团队新作:孪生掩码自编码器SiamMAE,刷榜视觉自监督方法
    前言 只需一个简单操作扩展MAE,即可实现自监督学习新sota!本文转载自新智元仅用于学术分享,若侵权请联系删除欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。CV各大方向专栏与各个部署框架最全教程整理【CV技术指南】CV全栈指......
  • 6 个技巧可让你高效的方式开始学习如何编码并坚持下去!
    你决定开始学习如何编码,太棒了!但是有这么多内容可供您开始学习,它很快就会变得不知所措。学习编码可能是一项艰巨的任务,尤其是当您刚刚起步并且不知道从哪里开始时。背景故事……当我刚开始的时候,我找到了一堆在线资源来学习并开始观看和学习教程。一开始很棒,但几周后我发现自己越来......
  • 一图归纳三大种类矩阵范数:诱导范数,元素范数,Schatten范数,涵盖谱范数,2范数
    转载自:https://blog.csdn.net/qq_27261889/article/details/87902480......
  • 一文读懂责任分配矩阵,解决你80%的项目难题
    成功的项目管理取决于整个团队对角色和职责的理解,使用责任分配矩阵分配和定义角色是使项目保持在正轨并为成功做好准备的好方法。如果设计得当,责任分配矩阵能够促进项目的成功交付。一、什么是责任分配矩阵责任分配(RACI)矩阵是项目管理工具,用于定义和跟踪团队成员在项目中的角色......
  • 矩阵快速幂加速递推
    矩阵优化递推的思想在于把递推的层数化为矩阵的幂数,也就是说设计一个矩阵\(A\),使得\(A^n\)中的某个元素就是递推的第\(n\)项,即\(f_n\)。这么做就可以将\(O(n)\)的递推优化为\(O(\log_2n)\)的矩阵快速幂(矩阵\(A\)的行列数为常数,因此快速幂中的矩阵乘法复杂度为常数),本质......