Deep SVDD

2023-10-18 15:40
文章标签 deep svdd

本文主要是介绍Deep SVDD,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

SVDD的基本原理是建立一个超球体去尽可能地包含所有数据,当数据在超球体外就将其作为异常点。

如图1所示:

                                                    

                                                              图1 SVDD原理示意图

在SVDD的原理(具体可参考上一篇博客)中,其优化过程如下:

                                                      min_{R,c,\xi} R^2 +C \sum_i \xi_i,

                                                      s.t. \|\phi_k(x_i) -c \|^2 \leq R^2+\xi_i, \xi_i \geq 0, \forall i.                                   (1)

通常,该优化问题求解与SVM的求解过程类似。在这里,我们可以通过神经网络去模拟这个过程,

具体地,可以建立如下性能函数(loss function/performance index):

                                                           (2)

该性能函数被称为:Soft-boundary Deep SVDD。在该式中,第一项与(1)式相同,都是约束的超球体

的半径,即希望所建立的超球体体积尽可能地小。在第二项中,其最小化超球体外的所有异常点到超球体

中心c的距离和,这部分与式(1)中的第二项约束其经验风险不为0的操作精神是一致的。最后一项约束

是对神经网络本身的权重W的大小进行约束,类似于L2约束,可将该约束看作结构风险。

在(2)的基础上,还可以构建出另外一种loss函数,如下所示:

                                                                (3)

该性能函数称为:One Class Deep SVDD。与(2)相比,其差异仅在于第二项中,统计了所有样本点

到超球体中心的距离。

无论是(2)还是(3)都需要单独求解超球体中心,半径。对于超球体中心,一种操作方案是在神经网络

训练时,输入部分样本,这部分样本通过神经网络可转换至某一特征空间中,在该特征空间中计算这些样本

的一个平均值作为超球体中心,也就是说,指定一个超球体中心,通过神经网络将数据尽可能地映射至该

中心周围。对于超球体半径,在指定超球体中心的情况下,对于所有样本,可以计算出多个超球体半径,

合适的半径选择可通过线搜索的方法进行确定。同时,优化神经网络过程中,也可参考交替优化的策略,即

可以先固定R,优化几个EOPOCH的权重,之后固定权重,选择合适的R。具体可参考文献[1]的做法。

参考文献:

[1] Lukas Ruff, Deep One-Class Classification, 2018.

 

这篇关于Deep SVDD的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/233530

相关文章

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

Deep Ocr

1.圈出内容,文本那里要有内容.然后你保存,并'导出数据集'. 2.找出deep_ocr_recognition_training_workflow.hdev 文件.修改“DatasetFilename := 'Test.hdict'” 310行 write_deep_ocr (DeepOcrHandle, BestModelDeepOCRFilename) 3.推理test.hdev

Introduction to Deep Learning with PyTorch

1、Introduction to PyTorch, a Deep Learning Library 1.1、Importing PyTorch and related packages import torch# supports:## image data with torchvision## audio data with torchaudio## text data with t

Face Recognition简记1-A Performance Comparison of Loss Functions for Deep Face Recognition

创新点 1.各种loss的比较 总结 很久没见到这么专业的比较了,好高兴。 好像印证了一句话,没有免费的午餐。。。。 ArcFace 和 Angular Margin Softmax是性能比较突出的

A fault diagnosis method of bearings based on deep transfer learning

A fault diagnosis method of bearings based on deep transfer learning 基于深度迁移学习的轴承故障诊断方法 ABSTRACT 近年来,许多深度迁移学习方法被广泛应用于不同工况下的轴承故障诊断,以解决数据分布移位问题。然而,在源域数据差异较大、特征分布不一致的情况下,深度迁移学习方法在轴承故障诊断中的准确率较低,因此本文提出了一种

Deep Learning Techniques for Medical Image Segmentation: Achievements and Challenges

前言: 该篇文章较为全面但稍偏简单的介绍医学图像分割的常见数据集、各种神经网络,以及常见的训练技巧等问题。 一、重点摘录 2.5D approaches are inspired by the fact that 2.5D has the richer spatial information of neighboing pixels wiht less computational costs t

Learning Policies for Adaptive Tracking with Deep Feature Cascades

Learning Policies for Adaptive Tracking with Deep Feature Cascades ICCV17 shotlight 作者:Chen Huang, CMU postdoctor,导师 Deva Ramanan summary 文章主要贡献在于速度与精度的权衡(AUC 0.638,fps 23),通过强化学习策略,来控制网络的深度,使得精度和

deep_thoughts

1.tensor tensor就是一个n维的数组。 import torchimport numpy as npdata = [[1, 2],[3, 4]]print(type(data))#<class 'list'>x_data = torch.tensor(data)print(type(x_data))#<class 'torch.Tensor'>print(x_data

java对象克隆之深度克隆 deep clone

克隆技术默认的是浅度克隆,对于包含在对象内部的对象并没有克隆,例如对象stdA包含对象x,克隆后得到对象stdB,也包含对象x,但两个x所指向的数据成员相同。 深度克隆实例如下: package com.demo;class Book implements Cloneable{private String name;private double price;public Book(Str

读Applying Deep Learning To Airbnb Search有感

读Applying Deep Learning To Airbnb Search有感 介绍 Airbnb的房屋预订系统对于房主和租客来说是一个双向的平台,房主想出租他们的空间,租客想预订房间。airbnb.com网站一开始是一个简单的根据一个特定的地理位置,召回一个酒店列表。 最初的搜索排序模型是人工评分的,后来梯度提升树(GBDT)代替了人工评分,这是房屋预订系统跨出的一大步,之后随之而来的