• 核方法


    核方法


    1 对偶表示


    1 我们从线性参数化模型推导演绎给出核函数的形式。考虑带L2正则项(参数平方误差项)的线性回归模型,误差函数由下式给出

    [J(mathbf w)=frac{1}{2}sumleft(mathbf w^ ext Toldsymbolphi(mathbf x_n)-t_n ight)^2+frac{lambda}{2}mathbf w^ ext Tmathbf w, ]

    该误差函数对 (mathbf w) 的梯度为

    [ abla_mathbf w J(mathbf w)=lambdamathbf w+sum oldsymbolphi(mathbf x_n)left(mathbf w^ ext Toldsymbolphi(mathbf x_n)-t_n ight), ]

    ( abla_mathbf w=0) ,得

    [mathbf w=sum a_noldsymbolphi(mathbf x_n)=mathbfPhi^ ext Tmathbf a, ]

    其中

    [mathbfPhi^ ext T=(oldsymbolphi(mathbf x_1),...,oldsymbolphi(mathbf x_n)), ]

    [a_n=-frac 1lambdaleft(mathbf w^ ext Toldsymbolphi(mathbf x_n)-t_n) ight), ]

    现在将误差项表示为 (mathbf a) 的函数,将 (mathbf w=mathbfPhi^ ext Tmathbf a) 回带误差函数,得到

    [egin{aligned} J(mathbf a)=&frac 1 2sum left(mathbf a^ ext TmathbfPhioldsymbolphi(mathbf x_n)-t_n ight)^2+fraclambda 2mathbf a^ ext TmathbfPhimathbfPhi^ ext Tmathbf a\=& fraclambda 2mathbf a^ ext TmathbfPhimathbfPhi^ ext Tmathbf a+frac 1 2(mathbf a^ ext TmathbfPhimathbfPhi^ ext T-mathbf t^ ext T)(mathbfPhimathbfPhi^ ext Tmathbf a-mathbf t)\=& fraclambda 2mathbf a^ ext TmathbfPhimathbfPhi^ ext Tmathbf a+frac 1 2left(mathbf a^ ext TmathbfPhimathbfPhi^ ext TmathbfPhimathbfPhi^ ext Tmathbf a-mathbf a^ ext TmathbfPhimathbfPhi^ ext Tmathbf t-mathbf t^ ext TmathbfPhimathbfPhi^ ext Tmathbf a+mathbf t^ ext Tmathbf t ight), end{aligned}]

    现在记格莱姆/Gram矩阵为 (mathbf K=mathbfPhimathbfPhi^ ext T) ,从而 (K_{ij}=oldsymbolphi(mathbf x_i)^ ext Toldsymbolphi(mathbf x_j)=k(mathbf x_i,mathbf x_j)=K_{ji}) ,重写误差函数为

    [J(mathbf a)=fraclambda 2mathbf a^ ext Tmathbf Kmathbf a+frac 1 2left(mathbf a^ ext Tmathbf Kmathbf Kmathbf a-2mathbf a^ ext Tmathbf Kmathbf t+mathbf t^ ext Tmathbf t ight), ]

    令其关于 (mathbf a) 的梯度为零

    [ abla_mathbf aJ(mathbf a)=lambdamathbf Kmathbf a+mathbf Kmathbf Kmathbf a-mathbf Kmathbf t=0, ]

    得到

    [mathbf a=left(mathbf K+lambdamathbf I ight)^{-1}mathbf t, ]

    由于模型输出

    [y(mathbf w)=mathbf w^ ext Toldsymbolphi(mathbf x), ]

    (mathbf a) 替换 (mathbf w) 并利用上述结论,有

    [egin{aligned} y(mathbf a)=&mathbf a^ ext TmathbfPhioldsymbolphi(mathbf x)\=& oldsymbolphi(mathbf x)^ ext TmathbfPhi^ ext Tmathbf a\=& oldsymbolphi(mathbf x)^ ext Tleft(oldsymbolphi(mathbf x_1),...,oldsymbolphi(mathbf x_n) ight)left(mathbf K+lambdamathbf I ight)^{-1}mathbf t\=& mathbf k(mathbf x)^ ext Tleft(mathbf K+lambdamathbf I ight)^{-1}mathbf t. end{aligned}]

    需要注意的是,为了求 (mathbf a),我们需要计算一个 (N imes N)矩阵的逆, (N) 是样本个数;而如果直接求 (mathbf w) ,需要在特征空间中对一个(M imes M)的矩阵求逆,这里 (M) 是特征空间维数;一般来说 (Mll N) ,因此看起来计算量反而增大了,但是新的模型输入完全依赖于核函数 (k(mathbf x, mathbf x^prime)) (除输入数据本身外),从而可以跳过特征向量 (oldsymbolphi(mathbf x)) ,不受特征维数的制约。

    2 构造核函数


    1 核函数有两种构造方法,其一是使用特征函数 (mathbfphi(cdot)) 函数间接表示核函数 (k(cdot)) ,这里 (k(mathbf x,mathbf x^prime)=oldsymbolphi(mathbf x)^ ext Toldsymbolphi(mathbf x^prime)) ;另一种途径是直接构造核函数,但是核函数的选取不是随意的,它需要隐式决定某个特征函数。例如考虑核函数

    [k(mathbf x,mathbf z)=left(mathbf x^ ext Tmathbf z ight)^2, ]

    简便起见,考虑输入空间维数为2的情况,即 (mathbf x = (x_1,x_2)^ ext T) ,从而

    [egin{aligned} k(mathbf x, mathbf z) =&left(mathbf x^ ext Tmathbf z ight)^2\=& left(x_1z_1+x_2z_2 ight)^2\=& x_1^2z_1^2+x_2^2z_2^2+2x_1x_2z_1z_2\=& x_1^2cdot z_1^2+x_2^2cdot z_2^2+sqrt 2x_1x_2cdot sqrt 2z_1z_2\=& oldsymbolphi(x)^ ext Toldsymbolphi(z), end{aligned}]

    其中 (oldsymbolphi(mathbf x)=left(x_1^2, x_2^2,sqrt 2x_2x_2 ight)^ ext T) ,显然特征向量包含原输入向量的所有二次项。

    当两个输入向量相等时,核函数表示该向量在特征空间中的规范二次型。
    当特征向量是规范的(模长为1)时,核函数表示两个向量间的余弦距离。

    判定某个核函数是否可取有一个充分必要条件(Shawe Taylor and Cristianini, 2004),核函数可取当且仅当格莱姆/Gram矩阵在输入空间上是半正定的(回忆Gram矩阵 (K_{ij}=k(mathbf x_i,mathbf x_j)) )。核函数表示两个输入向量之间的相似度度量(similarity),实际构造核函数时可在现有核函数的基础上构造新的核函数,有若干准则可保证构造后的新核函数是可取的。

    我们已经观察到核函数 (k(mathbf x, mathbf z)=left(mathbf x^ ext Tmathbf z ight)^2) 对应的特征向量只包含二次项。此外我们还有,若 (c>0) ,则核函数 (k(mathbf x, mathbf z)=left(mathbf x^ ext Tmathbf z+c ight)^2) 对应的特征向量包含0、1、2次项;此结论可推广至 (k(mathbf x,mathbf z)=left(mathbf x^ ext Tmathbf z+c ight)^M)

    高斯核函数形式为

    [k(mathbf x, mathbf z)=expleft(-frac{||mathbf x-mathbf z||^2}{2sigma^2} ight), ]

    其可取性证明略,这里高斯核函数对应的特征向量维数为无穷。

    我们知道在判别问题中判别模型会比生成模型表现更好,但生成模型可处理缺失数据等问题,核方法提供了一种将二者结合的途径。首先使用生成模型得到核函数,再在判别模型中使用该核函数。例如对于生成模型得到的概率密度 (p(mathbf x)),定义如下核函数

    [k(mathbf x,mathbf z)=p(mathbf x)p(mathbf z), ]

    考虑将 (p(cdot)) 作为特征函数,显然该核函数是可取的(valid)。容易说明,以下核函数也是可取的

    [k(mathbf x,mathbf z)=sum p(mathbf x|i)p(mathbf z|i)p(i), ]

    此时我们只需将特征函数 (phi_j(mathbf x)) 看成是 (sqrt{p(j)}p(mathbf x|j)) 即可。

    现在假设有长度为 (L) 的有序观测序列 (mathbf X={mathbf x_1,...,mathbf x_L}) ,隐马尔科夫模型是一种常见的序列生成模型,它将 (p(mathbf X)) 表示为对应有序隐藏状态序列 (mathbf Z = {mathbf z_1,...,mathbf z_L}) 的边缘概率。使用核函数表示两个序列之间的相似度

    [p(mathbf X,mathbf X^prime)=sum_mathbf Z p(mathbf X|mathbf Z)p(mathbf X^prime|mathbf Z)p(mathbf Z), ]

    从而上面两个观测序列 (mathbf X)(mathbf X^prime) 均由隐含状态序列 (mathbf Z) 生成。

    另一种使用生成模型定义核函数的是Fisher核。使用 (p(mathbf x |oldsymbol heta)) 表示参数化生成模型,为了衡量两个向量之间的相似度,首先定义Fisher得分(Fisher score)为对数概率的梯度

    [mathbf g(oldsymbol heta,mathbf x)= abla_oldsymbol hetaln p(mathbf x|mathbf heta), ]

    Fisher核为该Fisher得分的类二次型

    [k(mathbf x,mathbf x^prime)=mathbf g(oldsymbol heta, mathbf x)^ ext Tmathbf F^{-1}mathbf g(oldsymbol heta, mathbf x^prime), ]

    其中 (mathbf F) 是 Fisher 信息矩阵

    [mathbf F=mathbb E_mathbf x[mathbf g(oldsymbol heta, mathbf x)mathbf g(oldsymbol heta, mathbf x)^ ext T], ]

    这里Fisher矩阵使得Fisher核不受生成模型参数(非线性)变换的影响(例如 (oldsymbol heta ightarrowoldsymbolpsi( heta)))。

    S型(sigmoid)高斯核函数形式为

    [k(mathbf x,mathbf x^prime)= anhleft(amathbf x^ ext Tmathbf x+b ight), ]

    这种形式的核函数对应的Gram矩阵一般来说不满足半正定的条件。

    3 径向基函数网络


    1 推导Nadaraya-Watson模型。假设训练数据为 ({mathbf x_n,t_n}) ,使用Parzen密度估计对联合分布 (p(mathbf x,t)) 建模

    [p(mathbf x, t)=frac{1}{N}sum f(mathbf x-mathbf x_n,t-t_n), ]

    其中 (f(mathbf x,t)) 是成分密度函数。使用条件期望作为回归输出

    [egin{aligned} y(mathbf x)=&mathbb E[t|mathbf x]\=& int tp(t|mathbf x) ext{ d}t\=& frac{1/Nint tsum f(mathbf x -mathbf x_n,t-t_n) ext{ d}t}{1/Nint sum f(mathbf x-mathbf x_n,t-t_n) ext{ d}t}\=& frac{sum int tf(mathbf x-mathbf x_n,t-t_n) ext{ d}t}{sum int f(mathbf x-mathbf x_n,t-t_n) ext{ d}t}, end{aligned}]

    假设对于任意的 (mathbf x)(t) 的期望为(0),从而

    [int tf(mathbf x,t) ext{ d}t = 0, ]

    [egin{aligned} y(mathbf x)=&frac{sum t_nint f(mathbf x-mathbf x_n,t) ext{ d}t}{sumint f(mathbf x-mathbf x_n,t) ext{ d}t}\=& frac{sum t_n g(mathbf x-mathbf x_n)}{sum g(mathbf x-mathbf x_n)}\=& sum t_n k(mathbf x,mathbf x_n), end{aligned}]

    其中

    [k(mathbf x,mathbf x_n)=frac{g(mathbf x-mathbf x_n)}{sum g(mathbf x-mathbf x_n)}, ]

    [g(mathbf x)=int f(mathbf x,t) ext{ d}t, ]

    且核函数满足约束

    [sum k(mathbf x,mathbf x_n) = 1. ]

    4 高斯过程


    1 对于如下的线性回归模型

    [y(mathbf x)=mathbf w^ ext Toldsymbolphi(mathbf x), ]

    特征向量由 (M) 个固定的基函数得到;假设 (mathbf w) 的先验分布为同心高斯型

    [p(mathbf w)=mathcal N(mathbf w|mathbf 0,alpha^{-1}mathbf I), ]

    考察在训练集样本点上函数值的联合分布,向量 (mathbf y=(y(mathbf x_1),...,y(mathbf x_N))^ ext T) 满足

    [mathbf y = mathbfPhi mathbf w, ]

    其中 (mathbf Phi) 是设计矩阵, (mathbfPhi_{n,cdot}=oldsymbolphi(mathbf x_n)^ ext T) ,从而 (mathbf y) 服从高斯分布,且

    [mathbb E[mathbf y]=mathbfPhimathbb E[mathbf w]=mathbf 0, ]

    [ ext{cov}[mathbf y]=mathbb E[mathbf ymathbf y^ ext T]=mathbfPhimathbb E[mathbf wmathbf w^ ext T]mathbfPhi^ ext T=frac{1}{alpha}mathbfPhimathbfPhi^ ext T=mathbf K, ]

    这里 (K) 作为Gram矩阵,其元素为核函数的值

    [K_{nm}=k(mathbf x_n,mathbf x_m)=frac{1}{alpha}oldsymbolphi(mathbf x_n)^ ext Toldsymbolphi(mathbf x_m). ]

    2 考虑将高斯过程应用到回归问题,考虑有噪的观测目标变量

    [t_n=y_n+epsilon_n, ]

    这里考虑服从高斯分布的噪声过程

    [p(t_n|y_n)=mathcal N(t_n|y_n, eta^{-1}), ]

    假设每个样本点上的噪声是独立的,从而

    [p(mathbf t|mathbf y)=mathcal N(mathbf t|mathbf y,eta^{-1}mathbf I_N), ]

    由高斯过程的定义,(mathbf y) 的边缘分布满足

    [p(mathbf y)=mathcal N(mathbf y|mathbf 0, mathbf K), ]

    积分消去 (mathbf y) ,得到 (mathbf t) 的边缘分布

    [p(mathbf t) = int ext{ d}mathbf yp(mathbf{t|y})p(mathbf y)=mathcal N(mathbf t|mathbf 0, mathbf K+eta^{-1}mathbf I_N)=mathcal N(mathbf t|mathbf0, mathbf C). ]

    由于来自 (y(mathbf x))(epsilon) 的两个高斯噪声相独立,因此协方差可直接相加。
    一种常用的高斯过程回归核函数具有如下形式

    [k(mathbf x_n,mathbf x_m)= heta_0expleft{-frac{ heta_1} 2||mathbf x_n-mathbf x_m||^2 ight}+ heta_2+ heta_3mathbf x_n^ ext Tmathbf x_m. ]

    对于新输入 (mathbf x_{N+1}) ,高斯过程回归模型给出预测条件分布 (p(t_{N+1}|mathbf t_N;mathbf x_1,...mathbf x_N,mathbf x_{N+1})) ,由于

    [p(mathbf t_{N+1})=mathcal N(mathbf t_{N+1}|mathbf 0, mathbf C_{N+1}), ]

    分解该协方差矩阵

    [mathbf C_{N+1} = left(egin{array}\ mathbf C_N &mathbf k\ mathbf k^ ext T &c end{array} ight),]

    这里 (mathbf k)(k(mathbf x_n,mathbf x_{N+1})) 组成,且 (c=k(mathbf x_{N+1},mathbf x_{N+1})+eta^{-1},) 应用在前序章节中的结论可知 (p(t_{N+1}|mathbf t)) 服从高斯分布,且其数值特征为

    [m(mathbf x_{N+1})=mathbf k^ ext Tmathbf C_N^{-1}mathbf t, ]

    [sigma^2(mathbf x_{N+1})=c-mathbf k^ ext Tmathbf C_N^{-1}mathbf k, ]

  • 相关阅读:
    android progressbar 水平进度条
    jquery 下拉自动加载
    jquery ajax
    input 数字,字母汉字的限制方法(转帖)
    Jquery checkbox
    js运用6
    js运用5
    js运用4
    js运用3
    js运用2
  • 原文地址:https://www.cnblogs.com/astoninfer/p/10341691.html
Copyright © 2020-2023  润新知