本章主要介绍核方法相关的知识,包括对偶表示、构造核、常见的核函数以及将核方法应用于高斯过程
核方法介绍
许多线性参数模型可以被转化为一个等价的“对偶表示”。对偶表示中,预测的基础也是在训练数据点处计算的核函数的线性组合。对于基于固定非线性特征空间映射 ϕ(x) 的模型来说,核函数由下面的关系给出:
根据这个定义,核函数关于它的参数是对称的。
核替换:如果我们有一个算法,它的输入向量x只以标量积的形式出现,那么我们可以用一些其他的核来替换这个标量积
线性核:当
ϕ(x)=x
,
k(x,x′)=xTx′
,此为线性核
静止核:核函数只是参数的差值的函数,即
k(x,x′)=k(x−x′)
,它们对于输入空间的平移具有不变性
同质核:也被称为径向基函数,只依赖于参数间的距离大小,即
k(x,x′)=k(||x−x′||)
对偶表示
对偶表示本质就是将函数中的参数用已有数据表示
比如正则化的平方和误差函数:
求导求解最小值后,得:
则新的线性回归模型为:
其中, k=ΦΦT 是Gram矩阵, Φ 是设计矩阵,第n行为 ϕ(xn)T ,而k(x)就是对应的核函数
这里就消去了参数w,整个公式只用训练数据表示
对偶公式的优点是,它可以完全通过核函数来表示,于是,我们可以直接针对核函数进行计算,避免了显式引入特征向量,是的我们可以隐式地使用高位特征空间,甚至是无限维特征空间。
构造核
所谓的核替换就是考虑到目前的问题复杂,通过构造核函数取代问题中的复杂部分,形成相对简单的表达形式
为了利用核替换,我们需要构造合法的核函数。有三种方法。
方法一
第一种是选择一个特征空间映射 ϕ(x) ,然后使用这个映射寻找对应的核。如:
方法二
第二种是直接构造核函数,一般方法是使用简单的核函数作为基本的模块来构造,它有一些基本的公式:
给定合法的核 k1(x,x′) 和 k2(x,x′) ,则下面的新核也是合法的
其中, q(x) 是系数非负的多项式,A是对称半正定矩阵
方法三
第三种方法是从一个概率生成式模型开始构造,这使得我们可以在一个判别式的框架下使用生成式模型。生成式模型可以自然地处理缺失数据,并且在隐马尔科夫模型的情况下,可以处理长度变化的序列。相反,判别式模型在判别式的任务中通常会比生成式模型的表现更好。
下面举一个例子,给定一个生成式模型,可以定义一个核:
这个核函数可以看成由映射
p(x)
定义的⼀维特征空间中的⼀个内积。它表明,如果两个输⼊
x
和
则由基本构造核的方法,有:
这个核函数可以用于度量两个序列
X
和
提起核函数,还需要补充mercer定理:任何半正定的函数都可以作为核函数。所谓半正定的函数 f(xi,xj) ,是指拥有训练数据集合 (x1,x2,...xn) ,我们定义一个矩阵的元素 aij=f(xi,xj) ,这个矩阵式 n×n 的,如果这个矩阵是半正定的,那么 f(xi,xj) 就称为半正定的函数。这个mercer定理不是核函数必要条件,只是一个充分条件,即还有不满足mercer定理的函数也可以是核函数
径向基函数
径向基函数中,每个基函数只依赖于样本和中心
uj
之间的距离,即
考虑函数内插的问题。假设给定一组输入变量 {x1,x2,...,xN} ,以及对应的目标值 {t1,t2,...,tN} ,目标是找到函数f(x),能够精确你和每个目标值,即 f(xn)=tn 。可以定义这样的公式:
Nadaraya-Watson 模型(核回归):
核回归不同于线性回归,不对r(x)的形式做任何假定。而是参考核密度估计
的方法,利用点x附近的Y的甲醛平均得到r(x)的结果。
回忆回归方程的定义:
用核密度估计的方法,有:
这可以被看做是对y取一个加权平均,对x附近的值给予更高的权重
高斯过程
定义:一组随机变量的集合,集合里的任意有限个随机变量都服从联合高斯分布
从贝叶斯线性回归自然引出高斯过程,线性回归方程为
贝叶斯方法考虑参数w上的一个先验概率分布
这实质上导致了函数有一个预测分布,而且是高斯分布。它对应的均值为
方差为
这里K是gram矩阵,满足 Knm=k(xn,xm)=1αϕ(xn)Tϕ(xm) 。所以是一个核函数的形式。
总体而言,预测结果满足 p(y)=N(y|0,K)
用于回归的高斯过程
用高斯过程来做回归,则我们的观测目标值的噪声,形式为:
显然,有
因此,观测目标的边际分布为:
其中,矩阵C的元素满足 C(xn,xm)=k(xn,xm)+β−1δnm , δ 是单位矩阵。因此,本质上,估计t的值,只需要估计C的值就行,这包含了一个核矩阵。
对于⾼斯过程回归,⼀个⼴泛使⽤的核函数的形式为指数项的⼆次型加上常数和线性项,即:
下图给出了不同的参数 θ0,...,θ3 的情况下,这个先验的图像。
现在不难发现, p(tN+1)=N(tN+1|0,CN+1) ,所以现在只需要根据 CN 估计 CN+1 ,推导过程省略,最终结果为:
其中, CN 是⼀个 N×N 的协⽅差矩阵,向量k的元素为k(xn, xN+1),其中n = 1, … ,N,标量c = k(xN+1, xN+1) + β−1
我们最终的目的是得到 p(tN+1|t) ,这两个变量都是高斯分布,可以利用条件高斯分布的公式求解,最终得到的结果是这个概率分布是高斯分布,均值和协方差为:
注意,上面这两个结果对应了具有任意核函数 k(x,x′) 的高斯过程回归。
学习超参数
⾼斯过程模型的预测部分依赖于协⽅差函数的选择。我们不固定协⽅差函数,⽽是使⽤⼀组带有参数的函数,这些参数控制了相关性的长度缩放以及噪声的精度等等,对应于标准参数模型的超参数。下面说明求解这些超参的方法。
使⽤多元⾼斯分布的标准形式,对数似然函数的形式为:
直接对参数求导,取极值即可,求导结果如下:
用于分类的高斯过程
对于分类的高斯过程,只需在回归的高斯过程基础上套上logistic sigmoid即可。对于一个二分类问题,假设目标变量为 t∈{0,1} ,则对应的高斯过程为:
其中,函数
a(x)
是一个高斯过程。这里,
y(x)
是一个非高斯随机过程,其中
y∈(0,1)
。我们的目标是
t
,此时,
为了求得 p(tN+1|t) 的概率分布,我们引入 aN+1 上的高斯过程先验,形式为:
其中, C 为协方差矩阵,且有
这里, ν 是平衡参数,事先确定, δnm 是噪声方差, k(xn,xm) 是任意的半正定核函数。
则对于二分类问题,有:
下面就是求解对应的参数
C
和