基于Maximin的异常检测方法(MATLAB)

异常存在于各个应用领域之中,往往比正常所携带的信息更多也更为重要。例如医疗系统中疾病模式,信用卡消费中的欺诈行为,数据库中数据泄露,大型机器故障,网络入侵行为等。大数据技术体系的快速兴起与发展,加快了搜集,分析这些系统数据的步伐。在这些系统中,一般存在两种运行状态。系统正常运行时,表明整个系统处于健康状态。但是在不正常运行时,往往会携带一些重要信息,这些信息可能是灾难性后果的预警或者标记。例如医疗指标的异常预兆着人体组织器官的病变,银行信用卡的欺诈意味着巨大的经济损失,机器的不正常运转表示机器存在部件故障,而互联网中网络流量的异常可能意味着有主机将被恶意攻击,从而出现信息泄露等问题。因此对于这些系统来说,及时的检测出系统中的异常是尤为重要的。

大量应用场景对快速有效检测异常的需求以及异常检测场景相较于其他场景的特殊性,促使异常检测问题的研究具有极大的应用和研究价值。ACM SIGKDD国际会议更是将异常检测技术描述成现代数据挖掘技术的关键支柱之一,并成立专题用于异常检测技术的学习与交流。近年来在 IEEE ICDM、ACM SIGKDD、PAKDD、PKDD 等国际会议,DMKD(Data Mining and Knowledge Discovery)、IKDE(IEEE Transaction on Knowledge and Data Engineering)等重要学术期刊上,涌现了大量异常检测方法的研究成果。国际上,慕尼黑大学 Hans-Peter Kriegel 团队开发了专注于异常检测的算法工具 ELKI。UC Berkeley,IBM Almaden 等都在异常检测领域开展了各种各样的研究计划。

鉴于此,采用一种基于Maximin的异常检测方法,运行环境为MATLAB R2018A,算法伪代码如下:

复制代码
% MM sampling
[~,idx] = min(pdist2(median(S,1),S));
[~,I_CRS(1)] = max(D(idx,:));
maximinD = D(I_CRS(1),:);
for i = 2:floor(0.4*n_S)
    [~,I_CRS(i)] = max(maximinD);
    maximinD = bsxfun(@min,maximinD,D(I_CRS(i),:));
    % Computing the Silhouette index 
    [~,U] = min(D(I_CRS,:),[],1);
    U = I_CRS(U);
    % Compute Silhouette index for current MMs
    silh(i-1) = mean(computeSilhouette(D,U));
end
复制代码
擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。
完整数据和代码通过知乎学术咨询获得:https://www.zhihu.com/consult/people/792359672131756032?isMe=1
相关推荐
收破烂的小熊猫~几秒前
《Java修仙传:从凡胎到码帝》第四章:设计模式破万法
java·开发语言·设计模式
产品经理独孤虾2 分钟前
人工智能大模型如何助力电商产品经理打造高效的商品工业属性画像
人工智能·机器学习·ai·大模型·产品经理·商品画像·商品工业属性
老任与码13 分钟前
Spring AI Alibaba(1)——基本使用
java·人工智能·后端·springaialibaba
蹦蹦跳跳真可爱58926 分钟前
Python----OpenCV(图像増强——高通滤波(索贝尔算子、沙尔算子、拉普拉斯算子),图像浮雕与特效处理)
人工智能·python·opencv·计算机视觉
nananaij30 分钟前
【Python进阶篇 面向对象程序设计(3) 继承】
开发语言·python·神经网络·pycharm
雷羿 LexChien36 分钟前
从 Prompt 管理到人格稳定:探索 Cursor AI 编辑器如何赋能 Prompt 工程与人格风格设计(上)
人工智能·python·llm·编辑器·prompt
阿蒙Amon40 分钟前
为什么 12 版仍封神?《C# 高级编程》:从.NET 5 到实战架构,进阶者绕不开的必修课
开发语言·c#
无小道42 分钟前
c++-引用(包括完美转发,移动构造,万能引用)
c语言·开发语言·汇编·c++
爱莉希雅&&&1 小时前
技术面试题,HR面试题
开发语言·学习·面试
两棵雪松1 小时前
如何通过向量化技术比较两段文本是否相似?
人工智能