异常检测 | SVDD支持向量数据描述异常数据检测(Matlab)

发布于:2024-04-23 ⋅ 阅读:(20) ⋅ 点赞:(0)

异常检测 | SVDD支持向量数据描述异常数据检测(Matlab)

效果一览

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

基本介绍

用于一类或二元分类的 SVDD 模型
多种核函数(线性、高斯、多项式、Sigmoid、拉普拉斯)
2D 或 3D 数据决策边界的可视化
使用贝叶斯优化、遗传算法和 pParticle 群优化进行参数优化
加权SVDD模型
混合内核 SVDD 模型 (K =w1×K1+w2×K2+…+wn×Kn)
定义了一个名为 SvddOptimization 的类来优化参数。 定义一个优化设置结构体,然后将其添加到svdd参数结构体中。多项式核函数的参数优化只能使用贝叶斯优化来实现,参见 demo_ParameterOptimization.m。

程序设计

  • 完整程序和数据私信博主回复:SVDD支持向量数据描述异常数据检测(Matlab)。
%{
    Demonstration of basic SVDD model.
%}

clc
close all
addpath(genpath(pwd))

% generate dataset
ocdata = BinaryDataset();
ocdata.generate;
[trainData, trainLabel, testData, testLabel] = ocdata.partition;

% set parameter
cost = 0.9;
kernel = BaseKernel('type', 'gaussian', 'gamma', 1.5);
svddParameter = struct('cost', cost, 'kernelFunc', kernel);

% 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);

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/124864369
[2] https://blog.csdn.net/kjm13182345320/article/details/127896974?spm=1001.2014.3001.5502


网站公告

今日签到

点亮在社区的每一天
去签到