核方法(kernel method)超简说明
2016-03-12 12:59
337 查看
本文不做数学推导,仅从最简单的概念上讲解核方法。
欲求解一个回归函数f(z)f(z),希望f(xi)=yif(x_i)=y_i。
求解方法有许多种,以脊回归(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)=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)。其复杂度和训练集大小相关。
问题
有训练样本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)。其复杂度和训练集大小相关。
相关文章推荐
- 矩阵乘法
- 【机房重构】方法调用---再小也要理解
- 同批号不同批次同一单据中出现数量不限制
- java创建的对象存储在哪儿
- OGC
- 李白打酒
- 关于现行电商的几个问题
- ubuntu操作系统安装(三) 更改软件源
- SQOOP --hive-import 错误(Sqoop Hive exited with status 1)及解决
- 二进制取值
- 软件工程个人作业01
- 坐标系梳理
- hadoop之VMware下centos的系统安装及虚拟机网络配置(第一讲笔记)
- 汉诺塔的实现
- 人工智能——神经网络算法初体验
- static、auto、register、extern
- leetcode随笔VIII
- cocos2d-x 2.2.3 之菜单分析(1)
- x86 spinlock实现分析
- extern "C"