zoukankan      html  css  js  c++  java
  • Kernel Ridge Regression

    回顾一下岭回归,岭回归的目的是学习得到特征和因变量之间的映射关系,由于特征可能很高维,所以需要正则化

    岭回归的目标函数是

    $$ sum_{i=1}^n left|y-Xeta ight|^2+lambdaeta^Teta $$

    由于数据可能是非线性的,单纯的线性回归效果可能不是很好,因此可以把数据映射到一个核空间,使得数据在这个核空间里面线性可分。

    设核函数为$Phi_i=Phi(x_i)$,$Phi_i$是一个$d$维空间中的向量,通常$d$比原来的维数高,甚至可以到无穷维。可以认为$Phi_i$是核空间中$x_i$的一组特征,我们在核空间里对这组特征进行线性回归,原理和岭回归是一样的,因此可以直接套用岭回归的目标函数

    $$ sum_{i=1}^n left|y-Phieta ight|^2+lambdaeta^Teta $$

    由正规方程解得$eta=(Phi^TPhi+lambda I_d)^{-1}Phi^Ty$

    由于$Phi_i$可能达到无穷维,直接求逆比较困难,且效率较低。因此需要用到下面的小技巧

    $$ (P^{-1}+B^TR^{-1}B)^{-1}B^TR^{-1}=PB^T(BPB^T+R)^{-1}$$

    上式中,令$B=Phi,P=frac{1}{lambda}I_d,R=I_n$,则有

    $$egin{align*} eta &= frac{1}{lambda}Phi^T(frac{1}{lambda}PhiPhi^T+I_n)^{-1}y\&=frac{1}{lambda}Phi(frac{1}{lambda}[PhiPhi^T+lambda I_n])^{-1}y\&=frac{1}{lambda}Phi^T(frac{1}{lambda})^{-1}(PhiPhi^T+lambda I_n)^{-1}y\&=Phi^T(PhiPhi^T+lambda I_n)^{-1}y end{align*}$$

    令$alpha=(PhiPhi^T+lambda I_n)^{-1}yquadinmathbb{R}^{n imes 1}$,则$eta=Phi^Talpha=[Phi_1,Phi_2,...,Phi_n]alpha=sum_{i=1}^n alpha_iPhi_i$

    $K=PhiPhi^Tinmathbb{R}^{n imes n}$称为gram矩阵,且$K_{ij}=Phi_i^TPhi_j$。

    $$ y_i=eta^TPhi_i=y^T(K+lambda I_n)^{-1}PhiPhi_i = y^T(K+lambda I_n)^{-1}K_i $$

    其中$K_i$是$K$的第$i$列

  • 相关阅读:
    GFS读后笔记
    BigTable读后笔记
    恢复系统基础理论
    事务基础理论
    ARIES算法简介
    怎么快速构建自己的C/C++程序?——有关编译、静态链接和SCons
    lua学习笔记
    运行时动态伪造vsprintf的va_list
    11月30日站立会议
    11月29号站立会议
  • 原文地址:https://www.cnblogs.com/wacc/p/3751632.html
Copyright © 2011-2022 走看看