异常检测 | SVDD支持向量数据描述异常数据检测(Matlab)
目录
- 异常检测 | 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