基于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
相关推荐
Warren2Lynch2 小时前
利用 AI 协作优化软件更新逻辑:构建清晰的 UML 顺序图指南
人工智能·uml
ModelWhale2 小时前
当“AI+制造”遇上商业航天:和鲸助力头部企业,构建火箭研发 AI 中台
人工智能
沐知全栈开发2 小时前
Perl 数据库连接
开发语言
ATMQuant2 小时前
量化指标解码13:WaveTrend波浪趋势 - 震荡行情的超买超卖捕手
人工智能·ai·金融·区块链·量化交易·vnpy
weixin_509138342 小时前
语义流形探索:大型语言模型中可控涌现路径的实证证据
人工智能·语义空间
soldierluo2 小时前
大模型的召回率
人工智能·机器学习
Gofarlic_oms12 小时前
Windchill用户登录与模块访问失败问题排查与许可证诊断
大数据·运维·网络·数据库·人工智能
童话名剑2 小时前
人脸识别(吴恩达深度学习笔记)
人工智能·深度学习·人脸识别·siamese网络·三元组损失函数
_YiFei3 小时前
2026年AIGC检测通关攻略:降ai率工具深度测评(含免费降ai率方案)
人工智能·aigc
森叶3 小时前
Java 比 Python 高性能的原因:重点在高并发方面
java·开发语言·python