机器学习----支持向量机(软间隔与正则化)

版权声明:本文为博主原创文章,转载请标明出处~ https://blog.csdn.net/Love_wanling/article/details/69397828

Soft Margin

前面的假设一直都是线性可分,可是如果对所有样本不能线性可分(比如有noisy)怎么办?或者过拟合怎么办?

缓解该问题的一个方法就是允许支持向量机在一些样本上出错,为此引入软间隔(soft margin)这个概念。即允许在一些样本上出错,可以有些样本不满足:

yi(θTxi+b)1

所以优化目标写成:
minθ,b12||θ||2+Ci=1p0/1(yi(θTxi+b)1)   

其中C>0是个常数,0/1是“0/1损失函数”。0/1(z)在z小于0时候为1,其余为0.

然而0/1非凸,非连续,数学性质不好,常用其他函数替代。如

  • hinge损失:hinge(z)=max(0,1z)
  • 指数损失(exponential loss):exp(z)=exp(z)
  • 对率损失(logistic loss):log(1+expz)

若采用hinge loss,则✿变成:

minθ,b12||θ||2+Ci=1pmax(0,1(yi(θTxi+b))

引入“松弛变量”ξ0,重写成:
minθ,b,ξi12||θ||2+C1pξis.t. yi(θTxi+b)1ξiξi0, i=1,2,...,p

这就是常用的“软间隔支持向量机”。求解过程略。

Regularization

我们把✿写成一般的形式:

minf Ω(f)+Ci=1p(f(xi),yi)

其实这是机器学习的一个通式,整个统计机器学习都是在玩这个。是logistic loss就是logistic回归,是hinge loss就是SVM。我们把pi=1(f(xi),yi)叫做“经验风险”(empirical risk),用于描述模型与训练数据的切合程度。
Ω(f)叫做“结构风险”(structural risk),用与描述模型f的某些性质,一般成为正则化项,表述我们希望获得具有何种性质的模型(例如希望获得复杂度较小的模型),这为引入领域知识和用户意图提供了途径。C称为正则化常数,平衡结构风险和经验风险。Lp 范数是常用的正则化项,其中L2范数倾向与θ的分量取值尽量均衡,即非零分量个数尽量稠密,而L0L1范数则倾向于θ的分量尽量稀疏,即非零个数尽量少。

展开阅读全文

没有更多推荐了,返回首页