文章目录
- 一、上篇博文复习
- 二、Separable Case
- 三、Non-separable Case
- 四、Considering Errors
- 五、Regularization
- 六、Structured SVM
- 七、Cutting Plane Algorithm for Structured SVM
- 八、Multi-class and binary SVM
- 九、Beyond Structured SVM
一、上篇博文复习
图中x表示输入的图片,y表示边界框, ϕ ( x , y ) \phi (x,y) ϕ(x,y)表示由x,y确定的特征强度,w表示需要训练学习的权重,
F(x,y)如果是线性的,是有很大的局限性。但如果F(x,y)不是线性的,本篇文章的后续推论,可能都不成立。所以这是一个尚待解决的问题。
二、Separable Case
也就是和y的个数没有关系。
ρ \rho ρ是两个向量的夹角,范围是[0, π \pi π],所以 ρ \rho ρ越小, cos ρ \cos \rho cosρ就越大。
这里只证明的 cos ρ \cos \rho cosρ的分子随着k的增大而增大,还需要看看分母是什么情况。
所有feature扩大两边,并不能加快训练。因为 δ \delta δ扩大两倍的同时,R也扩大了两倍。
三、Non-separable Case
在实际问题中很难找到Separable case的情况,即很难找到feature可以让正确和错误的分离,也不知道怎么找到它,所以要考虑Non-separable Case。
C的最小值是零。
除了边界值不能微分,其他地方都能微分。
四、Considering Errors
我们希望所选的 w w w, 使得y与正确的那个越接近,计算的 x ⋅ ϕ x \cdot \phi x⋅ϕ ,越大,即与正确的越接近。
这样做的好处是,即使testing和training有一些差距,即使testing的第一名不是正确的,但是所输出的第一名和正确的差距不会很大。
上界 C 变小,可能会使 C’ 随之也变小。
五、Regularization
六、Structured SVM
因为我们要最小化C,所以上图中的倒数第三行和倒数第二行等价的。
习惯上,这时我们就把 C n C^n Cn写为 ε n \varepsilon^n εn
本来是找w,去最小化C。即找到w后, C n C^n Cn就被决定了。
但是在黄色框中,定好w后, ε n \varepsilon^n εn并不能确定。所以条件要改成:Find w , ε 1 , ⋯ , ε n w,\varepsilon^1,\cdots,\varepsilon^n w,ε1,⋯,εn minimizing C
由于约束条件,即不等式太多,可能会令w找不到,所以要放宽条件,不等式右边减去一个 ε \varepsilon ε ( ε ≥ 0 \varepsilon \ge0 ε≥0)。但 ε \varepsilon ε又不能太大,否则w取任何值都能满足不等式,约束条件就失去意义了。
七、Cutting Plane Algorithm for Structured SVM
下面以 object detection 为例:
这里相当于 y ˉ \bar y yˉ是有个函数公式,给定w后,直接能算出来哪个y最大。
八、Multi-class and binary SVM
这里y代表类别。y为哪个类别,就把 x ⃗ \vec x x放在 ϕ ( x , y ) \phi(x,y) ϕ(x,y)对应的维度上。
这里我们可以定义,只要类别不一样就定义为 Δ ( y ^ n , y ) = 1 \Delta (\widehat y^n,y)=1 Δ(y n,y)=1