【SVR-SVDD】基于支持向量-SVDD 进行异常检测研究(Matlab代码实现)
👨🎓个人主页:研学社的博客
💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
1.1 基于SVDD的故障检测
📚2 运行结果
2.1 基本SVDD 模型
2.2 二分类SVDD 模型
2.3 DimReduPCA
2.4 HybridKernelSVDD
2.5 KernelFunction
2.6 ObservationWeight
2.7 ParameterOptimization
🎉3 参考文献
🌈4 Matlab代码实现
💥1 概述
1.1 基于SVDD的故障检测
基于SVDD的故障检测方法是1种典型的单类划分方法。基本思想是在高维空间中找到1个中心为ap 半径为R的最小体积超球体包围尽可能多的目标数据,如图1所示。对于1个新样木,通过判断新样本是否在超球体内来实现分类,如果在超球内,则被接受,否则被拒绝。使用SVDD进行故障检测时[10],仅使用正常样本数据集对模型进行训练,获得包络最多正常样本数据点的最小体积超球体。
式中:x为测试样本;xk为训练样本中支持向量。使用基于SVDD方法,进行故障检测时,计算测试样本x至由正常样本数据集训练得到超球体中心αp的距离,若D(x) >R则样本x位于超球体之外,此时判定机组发生了故障,若D(x)≤R,则样本x位于超球体之内,此时判定机组正常运行。
- 用于单类或二元分类的 SVDD 模型
- 多种核函数(线性、高斯、多项式、Sigmoid、拉普拉斯函数)
- 可视化 2D 或 3D 数据的决策边界
- 使用贝叶斯优化、遗传算法和p粒子群优化的参数优化
- 加权 SVDD 模型
- 混合内核 SVDD 模型 (K =w1×K1+w2×K2+...+wn×Kn)
📚2 运行结果
2.1 基本SVDD 模型
2.2 二分类SVDD 模型
2.3 DimReduPCA
2.4 HybridKernelSVDD
2.5 KernelFunction
2.6 ObservationWeight
2.7 ParameterOptimization
部分代码:
% set parameter
cost = 0.9;
kernel = BaseKernel('type', 'gaussian', 'gamma', 1.5);
% optimization setting
opt.method = 'pso'; % bayes, ga pso
opt.variableName = { 'cost', 'gamma'};
opt.variableType = {'real', 'real'}; % 'integer' 'real'
opt.lowerBound = [10^-2, 2^-6];
opt.upperBound = [10^0, 2^6];
opt.maxIteration = 20;
opt.points = 3;
opt.display = 'on';
svddParameter = struct('cost', cost, ...
'kernelFunc', kernel, ...
'optimization', opt, ...
'KFold', 5);
% creat an SVDD object
svdd = BaseSVDD(svddParameter);
% train SVDD model
svdd.train(trainData, trainLabel);
% test SVDD model
results = svdd.test(testData, testLabel);
% Visualization
svplot = SvddVisualization();
svplot.boundary(svdd);
svplot.distance(svdd, results);
🎉3 参考文献
部分理论来源于网络,如有侵权请联系删除。
[1]张正智,周赛,王占伟,王林,谈莹莹,梁博阳.面向缺失数据基于SVR-SVDD的冷水机组故障检测方法[J].建筑科学,2023,39(02):193-201.DOI:10.13614/j.cnki.11-1962/tu.2023.02.23.
[2]田慧,刘维滨.基于单分类算法SVDD的柴油机故障预测研究[J].中国水运(下半月),2022,22(09):70-72.
[3]赖思银.基于PCA和改进SVDD的异常检测算法[J].微型电脑应用,2022,38(08):129-132.
猫头虎: 🌈🐅🌐 真心推荐这篇博客,对初学者帮助巨大。内容丰富,结构明确。猫头虎🐅期待更多佳作!🚀
码踏云端: 这篇文章实在是太棒了!内容丰富,论述清晰,代码实例更是琳琅满目,让人阅读起来津津有味。博主的专业素养和用心程度从中可见一斑,无疑为读者提供了一笔宝贵的知识财富。
青云交: 您好!有幸拜读了您的文章,顿觉如获至宝。文中细节之处的分析可谓丝丝入扣、精妙绝伦,实用性更是首屈一指。在此,我衷心地向您表达最诚挚的感谢,感谢您的无私奉献与倾心分享。我已对您的文章给予了点赞、收藏、评论三连支持,以表我对其的喜爱与赞赏。真心期待您能够持之以恒地输出高质量的精彩美文,继续为我们带来知识的盛宴与思想的启迪。同时,我热烈欢迎博主莅临我的小站一坐,共同交流探讨,分享彼此的心得与感悟。再次向您致以最崇高的敬意和最诚挚的谢意!
码踏云端: 一个字:好!博主的文章总是如一盏明灯,指引我前进,每一篇博文都是一次心灵的提升,你的分享总是如此珍贵,你的博文总是让我拓展了视野,增长了见识,感谢你一直以来的无私奉献。期待更多知识的分享。非常感激你的专业知识传授。
冬天vs不冷: 您的文章令人赞叹不已!文采飞扬,思路清晰,独到的观点与细腻的描绘相得益彰,展现了高超的写作技巧和丰富的情感表达力。语言精炼而意蕴深远,如同璀璨星光照亮思考的道路,让人沉浸其中,受益匪浅。实乃佳作!欢迎大佬来我这参观~