在学习SVDD的相关知识的时候,发现网上关于SVDD的中文资料不是很多,所以想和大家一下自己学习SVDD的学习历程。鉴于本人知识水平,文中写的可能有错漏,希望大家可以指出互相学习。
##1. SVM 支持向量机
在写SVDD之前,需要有SVM的相关基础,因为SVDD和SVM在公式推导上是很相像的。
SVM的核心是找一个有着最大间距的超平面实现二分类
目标函数是:
m a x d = ∣ 1 − ( − 1 ) ∣ ∣ ω ⃗ ∣ max~d=\frac{|1-(-1)|}{
{|\vec{\omega}|}} max d=∣ω∣∣1−(−1)∣
我们要使得目标函数最大化,等价于最小化
m i n ∣ ω ⃗ ∣ 2 2 min~\frac{|\vec{\omega}|^2}{2} min 2∣ω∣2
为了方便公式的求导这里加了一个平方。
然后至于怎样对这个函数进行优化,很多书上都有说,而且很详细,大家可以看书哈~
…(通过拉格朗日乘数法)
我们得到决策平面方程:
f ( z ⃗ ) = s i g n ( ∑ i = 1 N λ i y i x ⃗ i ⋅ z ⃗ + b ) f(\vec{z})=sign(\sum_{i=1}^N\lambda_iy_i\vec{x}_i\centerdot \vec{z}+b) f(z)=sign(i=1∑Nλiyix