基于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
相关推荐
ykjhr_3d8 分钟前
AI 导游:开启智能旅游新时代
人工智能·旅游
獨枭12 分钟前
配置 macOS 上的 Ruby 开发环境
开发语言·macos·ruby
飞由于度18 分钟前
C#中清空DataGridView的方法
开发语言·c#
jndingxin23 分钟前
OpenCV CUDA模块光流计算-----实现Farneback光流算法的类cv::cuda::FarnebackOpticalFlow
人工智能·opencv·算法
marteker25 分钟前
HubSpot推出与ChatGPT的深度集成引发兴奋与担忧
人工智能
码上地球40 分钟前
卷积神经网络设计指南:从理论到实践的经验总结
人工智能·深度学习·cnn
朝朝又沐沐43 分钟前
基于算法竞赛的c++编程(18)string类细节问题
开发语言·c++·算法
余+185381628001 小时前
短视频矩阵系统文案创作功能开发实践,定制化开发
大数据·人工智能
MYH5161 小时前
神经网络 隐藏层
人工智能·深度学习·神经网络
晊恦X.1 小时前
第三章 k近邻法
人工智能