6.1 对偶表示

来源:互联网 发布:小世界网络 netlogo 编辑:程序博客网 时间:2024/05/23 13:47

6.1 对偶表示

机器学习模型可以大致分为两类。
一种类似于神经网络、线性回归等,我们选用一些数学函数,通过在训练集上迭代训练以调节参数,最终我们得到这个包含数学函数和参数的模型,预测新数据时只需将数据传入模型。
另一种方法类似最近邻和这一章的向量机,我们保留训练集的一部分,每当预测新数据时,使用某种度量方法,用存储的训练集数据预测新数据。这种方法往往训练速度很快或者根本不需要训练,然而预测可能会比较慢。
许多线性参数模型可以被转化为一个等价的“对偶表示”。对偶表示中,预测的基础也是在训练数据点处计算的核函数的线性组合。对于基于固定非线性特征空间映射ϕ(x)的模型来说,核函数形式为:

k(x,x)=ϕ(x)Tϕ(x)

ϕ(x)=x,就得到了最简单的核函数 k(x,x)=xTx,我们称之为线性核。
通过使用对偶表示的形式,核函数可以自然地产生。考虑一个线性模型,它的参数通过最小化正则化的平方和误差函数来确定。正则化的平方和误差函数为:
J(ω)=12n=1N{ωTϕ(xn)tn}2+λ2ωTω

J(ω)关于ω的梯度等于零,可以看到ω的解是向量ϕ(xn)的线性组合的形式,系数aω的函数,形式为:
ω=1λn=1N{ωTϕ(xn)tn}ϕ(xn)=n=1Nanϕ(xn)=ΦTa

我们现在不直接对参数向量 ω 进行操作,而是使用参数向量a重新整理最小平方算法,得到⼀个对偶表示(dual representation)。将 ω=ΦTa 代⼊J(ω),可以得到:
J(a)=12aTΦΦTΦΦTaaTΦΦTt+12tTt+12aTΦΦTa

定义Gram矩阵 K=ΦΦT ,它是⼀个 NxN 的对称矩阵,元素为:
Knm=ϕ(xn)Tϕ(xm)=k(xn,xm)

这里引入了上述核函数的表示,使用Gram矩阵,平方和误差函数可以写为:
J(ω)=12aTKKaaTKt+12tTt+12aTKa

求解 a ,得到:a=(K+λIN)1t
将该结果代⼊线性回归模型中,对于新的输⼊x,我们得到了下面预测:
y(x)=ωTϕ(x)=aTΦϕ(x)=k(x)T(K+λIN)1t

其中我们定义了向量 k(x),它的元素为 kn(x)=k(xn,x) 。因此我们看到对偶公式使得最小平方问题的解完全通过核函数表⽰。这被称为对偶公式,因为a的解可以被表示为 ϕ(x) 的线性组合,从⽽我们可以使⽤参数向量 ω 恢复出原始的公式。
在对偶公式中,我们通过对⼀个N x N的矩阵求逆来确定参数向量a,⽽在原始参数空间公
式中,我们要对⼀个M x M的矩阵求逆来确定ω。由于N通常远⼤于M,因此对偶公式似乎没有实际⽤处。然而对偶公式的优点是,它可以完全通过核函数 k(x,x) 来表⽰。于是,我们可以直接针对核函数进行计算,避免了显式地引⼊特征向量 ϕ(x),这使得我们可以隐式地使用高维特征空间,甚至无限维特征空间。

1 0
原创粉丝点击