基于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
相关推荐
NOCSAH3 分钟前
统好AI:以长期主义践行能力持续进化
人工智能
跨境卫士-小汪3 分钟前
旺季前成本项变多跨境卖家如何设定更稳的备货优先级
大数据·人工智能·产品运营·跨境电商·亚马逊
点云侠8 分钟前
最小二乘拟合椭圆
线性代数·机器学习·概率论
人工智能AI技术9 分钟前
Git 基础:分支、提交、合并、回滚完整教程
人工智能
逍遥德9 分钟前
skill模板-基于java maven项目
java·人工智能·自然语言处理·maven
兩尛13 分钟前
c++面试常问2
开发语言·c++·面试
GitCode官方14 分钟前
Qwen3.6-27B 开源:昇腾适配已到位,AtomGit AI 开放体验
人工智能·开源
Swift社区16 分钟前
如何设计 Agent 的权限系统与业务系统解耦?
人工智能·agent
地球资源数据云21 分钟前
1951-2025年中国逐年1千米逐月总降水量区域统计数据集_年表_县
大数据·数据结构·数据库·数据仓库·人工智能
Rust研习社24 分钟前
添加依赖库时的 features 是什么?优雅实现编译期条件编译与模块化开发
开发语言·后端·rust