您的位置:首页 > 其它

核方法(kernel method)超简说明

2016-03-12 12:59 337 查看
本文不做数学推导,仅从最简单的概念上讲解核方法。

问题

有训练样本xix_i,其标定yiy_i, i=1,2…N。

欲求解一个回归函数f(z)f(z),希望f(xi)=yif(x_i)=y_i。

线性回归

使用线性函数来预测,即f(z)=wTzf(z)=w^Tz。

求解方法有许多种,以脊回归(Ridge Regression)为例,最小化下列函数即可:

λ||w||2+∑i(wTxi−yi)2\lambda||w||^2+\sum_i(w^Tx_i-y_i)^2

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

w=(XTX+λI)−1XTyw=(X^T X+\lambda I)^{-1}X^Ty

其中,XX的第i行为xix_i,列向量yy的第i元素为yiy_i。

非线性回归

使用非线性函数来预测,即f(z)f(z)是关于zz的非线性函数。

非线性函数能够处理线性函数搞不定的分类问题。

非线性函数的估计较难,为了提高效率,引入了核方法。

核方法

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

f(z)=wTψ(z)f(z)=w^T\psi(z)

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

w=∑iαiψ(xi)w=\sum_i\alpha_i\psi(x_i)

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

f(z)=[∑iαiψ(xi)]ψ(z)=∑i[αiψ(xi)ψ(z)]f(z)=\left[ \sum_i\alpha_i\psi(x_i) \right] \psi(z)=
\sum_i\left[ \alpha_i\psi(x_i)\psi(z)\right]

记κ(xi,xj)=ψ(xi)ψ(xj)\kappa(x_i,x_j)=\psi(x_i)\psi(x_j),称为核函数。则:

f(z)=∑iαiκ(z,xi)=αTκ(z)f(z)=\sum_i\alpha_i\kappa(z,x_i)=\alpha^T\kappa(z)

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

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

同样以脊回归为例:

α=(K+λI)−1y\alpha = (K+\lambda I)^{-1}y

注:这个解对于原问题相当于w=X−1yw=X^{-1}y,不过原问题中XX不是方阵,所以要写成矩阵伪逆的形式。

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

和真正的线性方法比起来,核方法在估计每一个zz的标签时,需要计算zz和训练集中每一个样本xix_i的核函数κ(z,xi)\kappa(z,x_i)。其复杂度和训练集大小相关。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: