• 学习笔记:机器学习之支持向量机(七、求核函数)


    活动地址:CSDN21天学习挑战赛

    ​1 简介

      求和函数可以通过求映射函数 φ \varphi φ,再求 φ ( x ) \varphi(x) φ(x) φ ( z ) \varphi(z) φ(z)之间的内积即可得到核函数 K ( x , z ) K(x,z) K(x,z),但是实际应用中可以不直接定义映射函数 φ \varphi φ,而是直接计算核函数 K ( x , z ) K(x,z) K(x,z)

    概念介绍

    1.Gram矩阵介绍

       n维欧氏空间中任意k(k α 1 , α 2 , . . . , α k \alpha_1,\alpha_2,...,\alpha_k α1,α2,...,αk内积组成的矩阵。
    Δ ( α 1 , α 2 , ⋯   , α k ) = ( ( α 1 , α 1 ) ( α 1 , α 2 ) ⋯ ( α 1 , α k ) ( α 2 , α 1 ) ( α 2 , α 2 ) ⋯ ( α 2 , α k ) ⋯ ⋯ ⋯ ⋯ ( α k , α 1 ) ( α k , α 2 ) ⋯ ( α k , α k ) ) \Delta\left(\alpha_{1}, \alpha_{2}, \cdots, \alpha_{\mathrm{k}}\right)=\left(

    (α1,α1)(α1,α2)(α1,αk)(α2,α1)(α2,α2)(α2,αk)(αk,α1)(αk,α2)(αk,αk)" role="presentation">(α1,α1)(α1,α2)(α1,αk)(α2,α1)(α2,α2)(α2,αk)(αk,α1)(αk,α2)(αk,αk)
    \right) Δ(α1,α2,,αk)= (α1,α1)(α2,α1)(αk,α1)(α1,α2)(α2,α2)(αk,α2)(α1,αk)(α2,αk)(αk,αk)

    2.对称函数

       在对称函数中,函数的输出值不随输入变数的排列而改变。从函数的形式中可以看出若输入变量排列后,方程式不会改变。例如: c a 2 + 3 a b + c b 2 ca^2 + 3ab+ cb^2 ca2+3ab+cb2,在a和b对调后其值不变。

    2 怎么找核函数

    核函数满足的特征:

    1. 核函数应该是对称函数
         φ ( x i ) ⋅ φ ( x j ) = K ( x i , x j ) \varphi(x_i)\cdot \varphi(x_j)=K(x_i,x_j) φ(xi)φ(xj)=K(xi,xj),核函数变量对调后值不变,所以核函数应该是对称函数。
    2. K ( x i , x j ) K(x_i,x_j) K(xi,xj)对应的Gram矩阵半正定
         核函数是内积的形式,所以其值大于等于0。

    得到核函数 K ( x i , x j ) K(x_i,x_j) K(xi,xj)之后构成一个希尔伯特空间(Hilbert Space)。
    步骤为:
      1.定义映射φ ,并构成向量空间S;
        映射关系: ϕ : x → K ( ⋅ , x ) \phi: x \rightarrow K(\cdot, x) ϕ:xK(,x)
        定义线性组合: f ( ⋅ ) = ∑ i = 1 m α i K ( ⋅ , x i ) f(\cdot)=\sum_{i=1}^{m} \alpha_{i} K\left(\cdot, x_{i}\right) f()=i=1mαiK(,xi)
        此时就构成了一个向量空间S。
      2.在S上定义内积构成内积空间;
        定义一个运算*, f ∗ g = ∑ i = 1 m ∑ j = 1 l α i β j K ( x i , z j ) f * g = \sum_{i=1}^{m} \sum_{j=1}^{l} \alpha_{i} \beta_{j} K\left(x_{i}, z_{j}\right) fg=i=1mj=1lαiβjK(xi,zj),再证明*是空间S的内积。
      3.最后将S完备化构成希尔伯特空间.

    3 引入和函数后的非线性支持向量机

    输入:训练集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } , y i ∈ − 1 , + 1 , i = 1 , 2 , . . . , N T=\left\{\left(x_{1}, y_{1}\right),\left(x_{2}, y_{2}\right), \cdots,\left(x_{N}, y_{N}\right)\right\},y_i \in{-1,+1},i=1,2,...,N T={(x1,y1),(x2,y2),,(xN,yN)},yi1,+1,i=1,2,...,N
    构造最优化问题:
    min ⁡ α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j K ( x i , x j ) − ∑ i = 1 N α i \min _{\alpha} \frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_{i} \alpha_{j} y_{i} y_{j} K\left(x_{i}, x_{j}\right)-\sum_{i=1}^{N} \alpha_{i} minα21i=1Nj=1NαiαjyiyjK(xi,xj)i=1Nαi
    s . t . ∑ i = 1 N α i y i = 0 , 0 ⩽ α i ⩽ C , i = 1 , 2 , ⋯   , N s.t. \quad \sum_{i=1}^{N} \alpha_{i} y_{i}=0 ,\qquad 0 \leqslant \alpha_{i} \leqslant C, \quad i=1,2, \cdots, N s.t.i=1Nαiyi=0,0αiC,i=1,2,,N
    得到最优解 α ∗ \alpha^* α.
    计算 b ∗ = y j − ∑ i = 1 N α i ∗ y i K ( x i ⋅ x j ) b^*=y_{j}-\sum_{i=1}^{N} \alpha_{i}^{*} y_{i} K\left(x_{i} \cdot x_{j}\right) b=yji=1NαiyiK(xixj)
    构造决策函数:
    f ( x ) = sign ⁡ ( ∑ i = 1 N α i ∗ y i K ( x ⋅ x i ) + b ∗ ) f(x)=\operatorname{sign}\left(\sum_{i=1}^{N} \alpha_{i}^{*} y_{i} K\left(x \cdot x_{i}\right)+b^{*}\right) f(x)=sign(i=1NαiyiK(xxi)+b)

    输出:分类决策函数

    参考

    1.《统计学习方法》——李航
    2.https://zh.m.wikipedia.org/zh-cn/%E5%AF%B9%E7%A7%B0_(%E6%95%B0%E5%AD%A6)

  • 相关阅读:
    r语言plot函数
    看了《我的白大褂》才明白,原来平安是福
    球差产生的原因、定量分析和校正方法(zemax)
    @ConditionalOnProperty注解作用
    HTTP协议,HTTP模块,express框架
    智能指针小记
    隧道人员定位解决方案,好用到离谱
    Java精进-手写持久层框架
    用Acceldata数据可观测性方案管理云数据平台Snowflake
    GLUE 数据下载与提交
  • 原文地址:https://blog.csdn.net/qq_44635691/article/details/126450191