机器学习里的 kernel 是指什么?

  • Post author:
  • Post category:其他


转自我的知乎回答:

机器学习里的 kernel 是指什么?

我换个角度来解释这个问题。

机器学习在做回归或者分类时有一个很朴实的想法:

预测 x 的值,那就在训练集 X 中寻找那些与 x 相似的样本,再把这些样本的值加权作为预测值。

这里有两个问题:

  1. 如何度量样本之间的相似性?
  2. 如何加权?

下面先看三个例子:


  1. k近邻

    。这个很熟悉,一般用欧式距离寻找离 x 最近的 k 个点,然后把对应的 y 等权重加权作为预测值。

  2. Nadaraya-Watson估计

    。在非参数估计中经常看到,距离越近的点,权重越大。




    f

    ^

    (

    x

    )

    =

    i

    =

    1

    n

    ω

    i

    y

    i

    \hat{f}(x_\star) = \sum_{i=1}^{n}\omega_iy_i














    f







    ^
















    (



    x





























    )




    =





















    i


    =


    1










    n






















    ω










    i



















    y










    i






















    其中



    w

    i

    =

    k

    i

    j

    =

    1

    n

    k

    j

    w_i = \frac{k_i}{\sum_{j=1}^{n}k_j}







    w










    i




















    =

































    j


    =


    1










    n






















    k










    j

































    k










    i








































    ,



    k

    i

    =

    d

    (

    x

    i

    ,

    x

    j

    )

    k_i = d(x_i,x_j)







    k










    i




















    =








    d


    (



    x










    i


















    ,





    x










    j


















    )







    这里的



    d

    (

    x

    i

    ,

    x

    j

    )

    d(x_i,x_j)






    d


    (



    x










    i


















    ,





    x










    j


















    )





    通常叫做核函数,但在这里无妨称之为距离函数。


  3. 线性回归


    这个有必要好好解释下。设训练集为 (X,y) ,则回归参数是



    β

    ^

    =

    (

    X

    T

    X

    )

    1

    X

    T

    y

    \hat{\beta} = (X^TX)^{-1}X^Ty














    β







    ^


















    =








    (



    X










    T









    X



    )














    1











    X










    T









    y





    。新样本 x 的预测值为:




    f

    (

    x

    )

    =

    x

    T

    β

    ^

    f(x) = x^T\hat{\beta}






    f


    (


    x


    )




    =









    x










    T

















    β







    ^























    =

    x

    T

    (

    X

    1

    X

    )

    T

    X

    T

    y

    = x^T(X^{-1}X)^{T}X^Ty






    =









    x










    T









    (



    X














    1










    X



    )











    T











    X










    T









    y









    =

    x

    T

    (

    X

    1

    X

    )

    T

    (

    x

    1

    ,


     

    ,

    x

    n

    )

    y

    = x^T(X^{-1}X)^{T}(x_1,\cdots,x_n)y






    =









    x










    T









    (



    X














    1










    X



    )











    T










    (



    x










    1


















    ,











    ,





    x










    n


















    )


    y









    =

    i

    =

    1

    n

    x

    T

    (

    X

    1

    X

    )

    T

    x

    i

    y

    i

    = \sum_{i=1}^n x^T(X^{-1}X)^{T}x_iy_i






    =





















    i


    =


    1









    n





















    x










    T









    (



    X














    1










    X



    )











    T











    x










    i



















    y










    i

























    =

    i

    =

    1

    n

    ω

    i

    y

    i

    =\sum_{i=1}^{n}\omega_iy_i






    =





















    i


    =


    1










    n






















    ω










    i



















    y










    i























    这不就是“加权”的形式么???

    。两点说明:

    1、



    i

    =

    1

    n

    ω

    i

    1

    \sum_{i=1}^n\omega_i \neq 1



















    i


    =


    1









    n





















    ω










    i

































    ̸





















    =









    1





    ,因此它不是一种通常意义上的权重。一般的权重有什么局限性?既然是 n 个值的加权平均,那预测值一定不会比样本最大值更大。

    2、



    ω

    i

    =

    x

    T

    (

    X

    T

    X

    )

    1

    x

    i

    T

    \omega_i = x^T(X^TX)^{-1}x_i^T







    ω










    i




















    =









    x










    T









    (



    X










    T









    X



    )














    1











    x










    i








    T





















    , X 中心化后,



    (

    X

    T

    X

    )

    1

    (X^TX)^{-1}






    (



    X










    T









    X



    )














    1













    是协方差矩阵。这其实就是将 x 和



    x

    i

    x_i







    x










    i





















    标准化,再求内积。内积越大,表明两个样本越相似,因此权重越大。



    ω

    i

    \omega_i







    ω










    i





















    不满足



    0

    \geq0















    0






现在看到了,这三个模型,最关键的就是计算样本之间的距离。

最常用的是欧氏距离。如果欧式距离的效果不好,通常我们会进行特征工程,新增或删除一些特征。特征向量变长或缩短,重新计算的距离就变化了。对于特征工程,可以参考我的另一个回答:

特征工程到底是什么?


核方法提供了另一个思维角度,跳过了对特征做处理,而是在原特征的基础上,构造一个新的距离

。距离解决了,其它的就水到渠成了。

从空间映射的角度讲,核函数对应了一个再生核希尔伯特空间(RKHS),原空间中的向量在RKHS中变成了一个函数。核函数度量的距离就是RKHS空间中函数之间距离,等价于函数在RKHS基函数上的投影构成的向量的欧式距离。

其实,特征工程对核方法也有作用,这一点很少有人提。前面不少回答都举了类似于下面这样例子,二维空间中不可分的点到了三维空间就可分了。

在这里插入图片描述

这种情况是相当理想了,很多时候你根本不知道核函数将数据映射成了什么样子,映射后的数据变得更差也有可能。

以squared exponential核为例:




k

(

x

i

,

x

j

)

=

exp

(

x

i

x

j

2

2

l

2

)

k(x_i,x_j)=\exp(-\frac{\vert\vert x_i-x_j\vert\vert^2}{2l^2})






k


(



x










i


















,





x










j


















)




=








exp


(

















2



l










2






























x










i






















x










j

































2




























)




可以看到核函数 k 等权重依赖于每一个特征,如果



x

i

x_i







x










i

























x

j

x_j







x










j





















的某个特征相差很大,但其实这个特征与 y 没有关系,是不是就出问题了?

一个办法是先筛选那些与 y 相关的特征(注意是相关,不只是线性相关),例如用distance corelation,然后再选择核函数和相关参数。



版权声明:本文为zhanshirj原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。