【优化】核方法(kernel method)超简说明

本文不做数学推导,仅从最简单的概念上讲解核方法。

问题

有训练样本 xi ,其标定 yi , i=1,2…N。
欲求解一个回归函数 f(z) ,希望 f(xi)=yi

线性回归

使用线性函数来预测,即 f(z)=wTz
求解方法有许多种,以脊回归(Ridge Regression)为例,最小化下列函数即可:

λ||w||2+i(wTxiyi)2

这个最小化问题有闭式解:

w=(XTX+λI)1XTy

其中, X 的第i行为 xi ,列向量 y 的第i元素为 yi

非线性回归

使用非线性函数来预测,即 f(z) 是关于 z 的非线性函数。
非线性函数能够处理线性函数搞不定的分类问题。
非线性函数的估计较难,为了提高效率,引入了核方法。

核方法

z 进行一个非线性变换 ψ f(z) 是变换结果的线性函数:

f(z)=wTψ(z)

w 由训练样本的非线性变换 ψ(xi) 的线性组合构成:

w=iαiψ(xi)

两者结合,得到完整形式:

f(z)=[iαiψ(xi)]ψ(z)=i[αiψ(xi)ψ(z)]

κ(xi,xj)=ψ(xi)ψ(xj) ,称为核函数。则:

f(z)=iαiκ(z,xi)=αTκ(z)

α N×1 矢量, κ(z) N×1 ,第i个元素为训练样本 xi 和测试样本 z 的核函数值。

f(z) 是关于 z 的非线性函数,但却是关于 κ(z) 的线性函数,可以使用线性函数的优化方法求解 α

同样以脊回归为例:

α=(K+λI)1y

注:这个解对于原问题相当于 w=X1y ,不过原问题中 X 不是方阵,所以要写成矩阵伪逆的形式。

我们称,原始参数 w 处于原空间prime space中,新参数 α 则处于对偶空间dual space中。

和真正的线性方法比起来,核方法在估计每一个 z 的标签时,需要计算 z 和训练集中每一个样本 xi 的核函数 κ(z,xi) 。其复杂度和训练集大小相关。

你可能感兴趣的:(机器学习算法)