美文网首页
机器学习day8-SVM的训练误差为0的解存在问题

机器学习day8-SVM的训练误差为0的解存在问题

作者: rivrui | 来源:发表于2020-06-15 19:07 被阅读0次

    训练误差为0的SVM分类器一定存在吗

    理论上,存在一组参数\{a_1,...,a_m,b\}以及\gamma使得SVM训练误差为0,但是这个参数不一定是满足SVM条件的一个解,在实际训练SVM模型时,会加入一个松弛变量,那么还能够保证得到的SVM分类器满足训练误差为0吗?
    因此,我们需要找到一组参数,使得满足训练误差为0,且是SVM模型的解。
    SVM模型解的限制条件是
    y^{(i)}f(x^{(j)})\ge 1
    目前我们得到的一组参数可以使得,当y^{(i)}=1时,f(x^{(j)})> 0;当y(j)=-1时,f(x^{(j)})<0
    因此,我们还需要满足的条件,
    y^{(j)}.f(x^{(j)})\ge1
    因此,对于公式,首先令b=0,则
    f(x)=\sum_{i=1}^m\alpha_iy^{(i)}K(x^{(i)},x)
    因此,
    y^{(j)}f(x^{(j)})=y^{(j)}\sum_{i=1}^m\alpha_iy^{(i)}K(x^{(i)},x^{(j)})
    =a_jy^{(j)}y^{(j)}K(x^{(j)},x^{(j)})+\sum_{i=1,i\ne j}^m\alpha_iy^{(i)}y(j)K(x^{(i)},x^{(j)})
    a_j+\sum_{i=1,i\ne j}^m\alpha_iy^{(i)}K(x^{(i)},x^{(j)})
    这里,y^{(j)}y^{(j)}=1,K(x^{(j)},x^{(j)})=1\gamma取值非常小,也就满足了y^{(j)}f(x^{(j)})>1。此时满足了SVM的解条件,同时此时模型误差也为0。

    加入松弛变量,SVM的训练误差可以为0吗

    实际中使用SMO算法来训练加入松弛变量的线性SVM模型,并且惩罚因子为任一未知常数,也不一定可以得到训练误差为0的模型。
    带松弛变量的SVM模型的目标函数包含这两项:
    C\sum_{i=1}^m\xi_i和\frac{1}{2}||\omega||^2
    当C=0,\omega=0,达到了优化目标,此时训练误差不一定为0。

    相关文章

      网友评论

          本文标题:机器学习day8-SVM的训练误差为0的解存在问题

          本文链接:https://www.haomeiwen.com/subject/iyvnzhtx.html