• 支持向量机背后的数学


    向量的内积(inner product)

    对于向量

    [egin{array}{l}
    u = left[ {egin{array}{*{20}{c}}
    {{u_1}}\
    {{u_2}}
    end{array}} ight]\
    v = left[ {egin{array}{*{20}{c}}
    {{v_1}}\
    {{v_2}}
    end{array}} ight]
    end{array}]

    它们的内积

    [{u^T}v = {u_1}{v_1} + {u_2}{v_2}]

    又有

    [left| u ight| = sqrt {u_1^2 + u_2^2} ]

    假设v在u上的投影距离为p,则

    [{u^T}v = pleft| u ight|]

    如果u和v的夹角大于90°则p是复数,小于90°为正数


    有了上面的基础,接下来看支持向量机的损是函数

    [underbrace {min }_ heta left{ {Cleft[ {sumlimits_{i = 1}^m {{y^{left( i ight)}}{mathop{ m Cos} olimits} {t_1}left( {{ heta ^T}{x^{left( i ight)}}} ight) + left( {1 - {y^{left( i ight)}}} ight){mathop{ m Cos} olimits} {t_0}left( {{ heta ^T}{x^{left( i ight)}}} ight)} } ight] + frac{1}{2}sumlimits_{j = 1}^n { heta _j^2} } ight}]

    支持向量机试图最小化这个公式,对于前半部分

    [{Cleft[ {sumlimits_{i = 1}^m {{y^{left( i ight)}}{mathop{ m Cos} olimits} {t_1}left( {{ heta ^T}{x^{left( i ight)}}} ight) + left( {1 - {y^{left( i ight)}}} ight){mathop{ m Cos} olimits} {t_0}left( {{ heta ^T}{x^{left( i ight)}}} ight)} } ight]}]

    当y=1时,θTx会朝着θTx≥1的趋势去优化θ

    当y=0时,θTx会朝着θTx≤-1的趋势去优化θ

    对于后半部分

    [{frac{1}{2}sumlimits_{j = 1}^n { heta _j^2} }]

    对于下面两种情况

    为方便理解,这里简化θ只有两个参数(θ1,θ2),且θ0=0,则

    [frac{1}{2}sumlimits_{j = 1}^n { heta _j^2}  = frac{1}{2}left( { heta _1^2 + heta _2^2} ight) = frac{1}{2}{left( {sqrt { heta _1^2 + heta _2^2} } ight)^2} = frac{1}{2}{left| heta  ight|^2}]

    可以看出,支持向量机为最小化这一部分,会试图最小化θ

    结合第一部分

    当y=1时,θTx会朝着θTx≥1的趋势去优化θ,加上第二部分的θ尽量小,则对于

    [{ heta ^T}{x^{left( i ight)}} = {p^{left( i ight)}}left| heta  ight|]

    p(i)需要尽量大

     

    支持向量机会选择后者,因为它有比较大的p。

  • 相关阅读:
    简单的排列问题的总结
    php学习
    入门shader,并实现normal mapping on earth
    github 操作查阅 创建仓库 代码更新
    Debian WSL desktop install on windows 10
    使用python三元运算if else
    搜索引擎语法整理
    个人小程序学习笔记,会持续学习并更新!
    Windows Form父子两个窗体之间的传值测试
    Asp.netCore 3.0 Web 实现Oauth2.0微信授权登陆的测试
  • 原文地址:https://www.cnblogs.com/qkloveslife/p/9898247.html
Copyright © 2020-2023  润新知