【SVR-SVDD】基于支持向量-SVDD 进行异常检测研究(Matlab代码实现)

简介: 【SVR-SVDD】基于支持向量-SVDD 进行异常检测研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

💥1 概述

1.1 基于SVDD的故障检测

基于SVDD的故障检测方法是1种典型的单类划分方法。基本思想是在高维空间中找到1个中心为ap 半径为R的最小体积超球体包围尽可能多的目标数据,如图1所示。对于1个新样木,通过判断新样本是否在超球体内来实现分类,如果在超球内,则被接受,否则被拒绝。使用SVDD进行故障检测时[10],仅使用正常样本数据集对模型进行训练,获得包络最多正常样本数据点的最小体积超球体。

image.gif 编辑

image.gif 编辑式中: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 模型

image.gif 编辑

image.gif 编辑

image.gif 编辑

2.2 二分类SVDD 模型

image.gif 编辑

2.3 DimReduPCA

image.gif 编辑

image.gif 编辑

image.gif 编辑

2.4 HybridKernelSVDD

image.gif 编辑

image.gif 编辑

2.5 KernelFunction

image.gif 编辑

2.6 ObservationWeight

image.gif 编辑

image.gif 编辑

image.gif 编辑

2.7 ParameterOptimization

image.gif 编辑

image.gif 编辑 image.gif 编辑

image.gif 编辑

部分代码:

% 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代码实现

资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取【请看主页然后私信】

相关文章
|
4月前
|
机器学习/深度学习 数据采集 编解码
【STFT-CNN-BiGRU的故障诊断】基于短时傅里叶变换(STFT)结合卷积神经网络(CNN)与双向门控循环单元(BiGRU)的故障诊断研究(Matlab代码实现)
【STFT-CNN-BiGRU的故障诊断】基于短时傅里叶变换(STFT)结合卷积神经网络(CNN)与双向门控循环单元(BiGRU)的故障诊断研究(Matlab代码实现)
182 3
|
4月前
|
机器学习/深度学习 传感器 编解码
【基于STFT-CNN-SVM的故障诊断】一种融合短时傅里叶变换(STFT)、卷积神经网络(CNN)和支持向量机(SVM)的故障诊断研究(Matlab代码实现)
【基于STFT-CNN-SVM的故障诊断】一种融合短时傅里叶变换(STFT)、卷积神经网络(CNN)和支持向量机(SVM)的故障诊断研究(Matlab代码实现)
247 3
|
4月前
|
机器学习/深度学习 算法 调度
基于非对称纳什谈判的多微网电能共享运行优化策略(Matlab代码实现)
基于非对称纳什谈判的多微网电能共享运行优化策略(Matlab代码实现)
133 1
|
4月前
|
机器学习/深度学习 传感器 负载均衡
基于优化的启发式集成低能耗自适应集群层次结构协议(OHILEACH)(Matlab代码实现)
基于优化的启发式集成低能耗自适应集群层次结构协议(OHILEACH)(Matlab代码实现)
123 1
|
4月前
|
算法 新能源 Python
【并网光伏阵列】使用SimPowerSystems进行并网光伏阵列研究(Simulink仿真实现)
【并网光伏阵列】使用SimPowerSystems进行并网光伏阵列研究(Simulink仿真实现)
172 1
|
4月前
|
存储 人工智能 网络安全
OpenClaw(Clawdbot)阿里云零基础部署,打造QQ社群智能助手,自动化运营全攻略
社群运营常常陷入“重复劳动多、核心价值少”的困境:新人入群反复提问相同问题、高质量讨论被闲聊覆盖、活动报名统计耗时耗力、社群活跃度逐渐下滑。而OpenClaw(曾用名Clawdbot、Moltbot)作为功能强大的开源AI框架,搭配NapCat QQ协议层,能轻松打造一站式QQ社群智能助手,实现智能问答、精华沉淀、活动管理、互动活跃全自动化,让社群运营从“被动应对”变为“主动赋能”。
1067 18
|
4月前
|
监控 算法 计算机视觉
基于姿态估计与目标追踪的异常行为检测技术实现
本文提出端到端细粒度异常行为检测方案,融合人体姿态估计、物品轨迹追踪与手物交互建模,精准识别“拿取—遮挡—藏匿”等连续异常动作。支持高遮挡、弱动作、复杂光照场景,毫秒级响应,高召回低误报,适配普通摄像头大规模部署。
219 3
|
4月前
|
JSON 安全 API
Flask 入门指南
Flask是轻量级Python Web微框架,核心仅提供路由与模板功能,按需通过扩展集成数据库、认证等模块。学习曲线平缓、结构简洁、扩展灵活,适合从API、博客到企业应用的全阶段开发,是入门Web开发与构建定制化技术栈的理想起点。(239字)
|
4月前
|
数据采集 人工智能 安全
别再用ChatGPT群发祝福了!30分钟微调一个懂你关系的“人情味”拜年AI
春节祝福太难写?本文手把手教你用LoRA微调大模型,让AI学会“看人下菜”:识别关系、风格、细节,30分钟训练出懂人情世故的拜年助手。无需代码,量化+批处理保障秒级响应,让每条祝福都像你亲手写的。(239字)
521 35
|
4月前
|
存储 人工智能 JSON
32B大模型塞进消费级显卡?我用“人情味”做了场春节实验
本文分享用LoRA+量化在单卡/双卡上轻量微调Qwen3-32B,打造懂关系、有分寸的春节祝福助手。聚焦“人情世故”六要素填空式训练,自建3000+场景化数据,借助LLaMA-Factory Online实现低门槛实战,让AI从背模板转向调记忆。(239字)
541 16
32B大模型塞进消费级显卡?我用“人情味”做了场春节实验

热门文章

最新文章