您的位置:首页 > 其它

线性最小二乘回归和核岭回归

2017-01-04 22:29 176 查看

一般线性回归最小二乘法推导

原理,求平方误差最小

假设有k个观测值Xi,Yi,有关系Y=f(X|θ),其中θ=(θ1,θ2,...,θl)

平方误差和为:

Λ=12∑i=1k[f(Xi|θ)−Yi]2

要求误差平方和关于θ的函数在极值点前后接近单调

∂Λ∂θj=∑i=1k[f(Xi|θ)−Yi]∂f(Xi|θ)∂θj

一般情况各参数之间是线性关系,以二项式为例,

f(Xi|θ)==θ1+θ2Xi+θ3X2i+...+θlXl−1i∑j=1lθjXj−1i

带入上式,得

∂Λ∂θj=∑i=1k[∑j=1lθjXj−1i−Yi]Xj−1i

显然多项式关于参数的函数是开口向上的二次函数,是满足极值条件的,令导数为零,则零点即为最小值点

多参数联立,有:

∂Λ∂θ1∂Λ∂θ2∂Λ∂θl==⋮=∑i=1k[∑j=1lθjXj−1i−Yi]X0i∑i=1k[∑j=1lθjXj−1i−Yi]X1i∑i=1k[∑j=1lθjXj−1i−Yi]Xl−1i==⋮=000

整理得:

θ1∑i=1kX0iθ1∑i=1kX1iθ1∑i=1kXl−1i++⋮+θ2∑i=1kX1iθ2∑i=1kX2iθ2∑i=1kXli++⋮+.........++⋮+θl∑i=1kXl−1iθl∑i=1kXliθl∑i=1kX2l−2i−−⋮−∑i=1kYiX0i∑i=1kYiX1i∑i=1kYiXl−1i==⋮=000

写成矩阵形式:

⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢∑i=1kX0i∑i=1kX1i⋮∑i=1kXl−1i∑i=1kX1i∑i=1kX2i⋮∑i=1kXli……⋱…∑i=1kXl−1i∑i=1kXli⋮∑i=1kX2l−2i⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎡⎣⎢⎢⎢⎢θ1θ2⋮θl⎤⎦⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢∑i=1kYiX0i∑i=1kYiX1i⋮∑i=1kYiXl−1i⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

可以得:

∑i=1k⎡⎣⎢⎢⎢⎢⎢⎢X0iX1i⋮Xl−1iX1iX2i⋮Xli……⋱…Xl−1iXli⋮X2l−2i⎤⎦⎥⎥⎥⎥⎥⎥⎡⎣⎢⎢⎢⎢θ1θ2⋮θl⎤⎦⎥⎥⎥⎥=∑i=1k⎡⎣⎢⎢⎢⎢⎢YiX0iYiX1i⋮YiXl−1i⎤⎦⎥⎥⎥⎥⎥

假设k=1,即只有一组观测值有:

⎡⎣⎢⎢⎢⎢⎢⎢X0iX1i⋮Xl−1i
66b91
X1iX2i⋮Xli……⋱…Xl−1iXli⋮X2l−2i⎤⎦⎥⎥⎥⎥⎥⎥⎡⎣⎢⎢⎢⎢θ1θ2⋮θl⎤⎦⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢YiX0iYiX1i⋮YiXl−1i⎤⎦⎥⎥⎥⎥⎥==>[X0iX1i…Xl−1i]⎡⎣⎢⎢⎢⎢θ1θ2⋮θl⎤⎦⎥⎥⎥⎥=[Yi]对所有的观测值都成立,由每一组观测值得出的方程,有

⎡⎣⎢⎢⎢⎢⎢⎢X01X02⋮X0kX11X12⋮X1k……⋱…Xl−11Xl−12⋮Xl−1k⎤⎦⎥⎥⎥⎥⎥⎥⎡⎣⎢⎢⎢⎢θ1θ2⋮θl⎤⎦⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢Y1Y2⋮Yk⎤⎦⎥⎥⎥⎥

即:Xk×lθl×1=Yk×1XTl×kXk×lθl×1=XTl×kYk×1θl×1=(XTl×kXk×l)−1XTl×kYk×1

假设X和Y分别为m和n维的向量(一般m>=n),模型采用一阶线性回归,则可直接由上面的方法得到:

⎡⎣⎢⎢⎢⎢⎢X11X12⋮X1kX21X22⋮X2k……⋱…Xm1Xm2⋮Xmk⎤⎦⎥⎥⎥⎥⎥⎡⎣⎢⎢⎢⎢⎢⎢θ11θ12⋮θ1mθ21θ22⋮θ2m……⋱…θn1θn2⋮θnm⎤⎦⎥⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢Y11Y12⋮Y1kY21Y22⋮Y2k……⋱…Yn1Yn2⋮Ynk⎤⎦⎥⎥⎥⎥⎥

即:Xk×mθm×n=Yk×nXTm×kXk×mθm×n=XTm×kYk×nθm×n=(XTm×kXk×m)−1XTm×kYk×n

对偶表达

θm×n=XTm×kXk×m(XTm×kXk×m)−2XTm×kYk×n=XTm×kαk×n

岭回归和核技巧

在上面的基础上,当k<m的时候,即样本数不足的情况下,在求逆的时候会发生问题,此时在求逆时减去一个λI来使得求逆可行

得θm×n=(XTm×kXk×m−λIm×m)−1XTm×kYk×n(XTm×kXk×m−λIm×m)θm×n=XTm×kYk×nXTm×kXk×mθm×n−λIm×mθm×n=XTm×kYk×nλθm×n=XTm×kXk×mθm×n−XTm×kYk×nθm×n=λ−1XTm×k(Xk×mθm×n−Yk×n)=XTm×kαk×n

得αk×n=λ−1(Xk×mθm×n−Yk×n)==>λαk×n=Xk×mXTm×kαk×n−Yk×n==>(Xk×mXTm×k−λIk×k)αk×n=Yk×n==>αk×n=(Xk×mXTm×k−λIk×k)−1Yk×n

遇到不可线性回归的情况,考虑核方法,由于预测时并不用求出具体的值,假设预测时有q组观测值,则预测值Ypq×n,在线性条件下有Ypq×n=Xpq×mθm×n=Xpq×mXTm×k(Xk×mXTm×k−λIk×k)−1Yk×n

变换到这个等式,形成了训练集的內积,就可以使用核技巧了.

定义核函数K(X1,X2)=<Φ(X1),Φ(X2)>,其中Φ为空间变换函数,不需要指明.

则Ypq×n=⎡⎣⎢⎢⎢⎢⎢K(Xp1,X1)K(Xp2,X1)⋮K(Xpq,X1)K(Xp1,X2)K(Xp2,X2)⋮K(Xpq,X2)……⋱…K(Xp1,Xk)K(Xp2,Xk)⋮K(Xpq,Xk)⎤⎦⎥⎥⎥⎥⎥⎛⎝⎜⎜⎜⎜⎜⎡⎣⎢⎢⎢⎢⎢K(X1,X1)K(X2,X1)⋮K(Xk,X1)K(X1,X2)K(X2,X2)⋮K(Xk,X2)……⋱…K(X1,Xk)K(X2,Xk)⋮K(Xk,Xk)⎤⎦⎥⎥⎥⎥⎥−λIk×k⎞⎠⎟⎟⎟⎟⎟Yk×n

核岭回归适用于解决小样本的非线性回归问题,随着问题规模的扩大不再适用,而且抗噪声能力不强,多用于手机定位的计算
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息