基于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
相关推荐
AI_Auto7 小时前
智能制造 - 人工智能、隐私保护、信息安全
人工智能·制造
郑州光合科技余经理7 小时前
同城系统海外版:一站式多语种O2O系统源码
java·开发语言·git·mysql·uni-app·go·phpstorm
yLDeveloper7 小时前
一只菜鸟学深度学习的日记:入门卷积
机器学习·dive into deep learning
一只乔哇噻7 小时前
java后端工程师+AI大模型开发进修ing(研一版‖day60)
java·开发语言·人工智能·学习·语言模型
LNN20227 小时前
Linuxfb+Qt 输入设备踩坑记:解决 “节点存在却无法读取“ 问题
开发语言·qt
千里码aicood7 小时前
计算机大数据、人工智能与智能系统开发定制开发
大数据·人工智能·深度学习·决策树·机器学习·森林树
币圈菜头7 小时前
【空投速递】GAEA项目解析:首个集成人类情感数据的去中心化AI训练网络
人工智能·web3·去中心化·区块链
foxsen_xia8 小时前
go(基础06)——结构体取代类
开发语言·算法·golang
巨人张8 小时前
C++火柴人跑酷
开发语言·c++
ID_180079054738 小时前
基于 Python 的 Cdiscount 商品详情 API 调用与 JSON 核心字段解析(含多规格 SKU 提取)
开发语言·python·json