[机器学习]解决支持向量机线性不可分问题——核函数II

问题

之前在 支持向量机I 中介绍支持向量机通过在样本空间找到一个划分超平面实现将样本分类。但现实任务中,原始样本空间可能不存在一个能正确划分两类样本的超平面。

对于这种问题,可将样本从原始空间映射到一个更高维特征空间,使样本在该特征空间线性可分。

关键准则: 若原始空间是有限维,即属性数有限,那么一定存在一个高维特征空间使样本可分。

目标函数

  1. 划分超平面模型:
    f ( x ) = w T ϕ ( x ) + b f(x)=w^T\phi (x)+b f(x)=wTϕ(x)+b
  2. 目标函数:
    m i n w , b 1 2 ∥ w ∥ 2 s . t . y i ( w T ϕ ( x i ) + b ) ≥ 1 i = 1 , 2 , ⋯   , m \begin{array}{c} {min}_{w,b} \quad \frac{1}{2} \left \| w \right \|^2 \\ s.t.\quad y_i(w^T\phi(x_i)+b)\ge1\quad i=1,2,\cdots,m \end{array} minw,b21w2s.t.yi(wTϕ(xi)+b)1i=1,2,,m
    等价于:
    m a x α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j ϕ ( x i ) T ϕ ( x j ) s . t . α i y i = 0 α i ≥ 0 i = 1 , 2 , ⋯   , m \begin{array}{c} max_{\alpha}\quad \sum_{i=1}^{m}\alpha_i-\frac{1}{2} \sum_{i=1}^{m} \sum_{j=1}^{m} \alpha_i \alpha_jy_iy_j\phi(x_i)^T\phi(x_j) \\ s.t.\quad \alpha_iy_i=0 \\ \alpha_i\ge0 \quad i=1,2,\cdots,m \end{array} maxαi=1mαi21i=1mj=1mαiαjyiyjϕ(xi)Tϕ(xj)s.t.αiyi=0αi0i=1,2,,m

而计算 ϕ ( x i ) T ϕ ( x j ) \phi(x_i)^T\phi(x_j) ϕ(xi)Tϕ(xj) 涉及到映射特征空间的内积,往往很高维很难计算。

构造如下函数: k ( x i , x j ) = ⟨ ϕ ( x i ) , ϕ ( x j ) ⟩ = ϕ ( x i ) T ϕ ( x i ) k(x_i,x_j)=\left \langle \phi(x_i),\phi(x_j) \right \rangle=\phi(x_i)^T\phi(x_i) k(xi,xj)=ϕ(xi),ϕ(xj)=ϕ(xi)Tϕ(xi),即 x i x_i xi x j x_j xj在特征空间的内积等于它们在原始样本空间中通过函数 k ( ⋅ , ⋅ , ) k(\cdot,\cdot,) k(,,)计算的结果。

  1. 目标函数转化后形式:
    m a x α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j k ( x i , x j ) s . t . α i y i = 0 α i ≥ 0 i = 1 , 2 , ⋯   , m \begin{array}{c} max_{\alpha}\quad \sum_{i=1}^{m}\alpha_i-\frac{1}{2} \sum_{i=1}^{m} \sum_{j=1}^{m} \alpha_i \alpha_jy_iy_jk(x_i,x_j) \\ s.t.\quad \alpha_iy_i=0 \\ \alpha_i\ge0 \quad i=1,2,\cdots,m \end{array} maxαi=1mαi21i=1mj=1mαiαjyiyjk(xi,xj)s.t.αiyi=0αi0i=1,2,,m
    求解得:
    f ( x ) = w T ϕ ( x ) + b = ∑ i = 1 m α i y i ϕ ( x i ) T ϕ ( x i ) + b = ∑ i = 1 m α i y i k ( x i , x j ) + b f(x)=w^T\phi(x)+b= \sum_{i=1}^{m}\alpha_iy_i\phi(x_i)^T\phi(x_i)+b=\sum_{i=1}^{m}\alpha_iy_ik(x_i,x_j)+b f(x)=wTϕ(x)+b=i=1mαiyiϕ(xi)Tϕ(xi)+b=i=1mαiyik(xi,xj)+b

常用核函数

常用核函数
核函数线性组合:

  • 对任意正数 γ 1 \gamma_1 γ1 γ 2 \gamma_2 γ2 γ 1 k 1 + γ 2 k 2 \gamma_1k_1+\gamma_2k_2 γ1k1+γ2k2 也是核函数;
  • 核函数直积 k 1 ⊗ k 2 ( x , z ) = k 1 ( x , z ) k 2 ( x , z ) k_1\otimes k_2(x,z)=k_1(x,z)k_2(x,z) k1k2(x,z)=k1(x,z)k2(x,z) 也是核函数;
  • 对任意函数 g ( x ) g(x) g(x) k ( x , z ) = g ( x ) k 1 ( x , z ) g ( z ) k(x,z)=g(x)k_1(x,z)g(z) k(x,z)=g(x)k1(x,z)g(z) 也是核函数。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值