【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.

🌈4 Matlab代码实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值