一般线性回归最小二乘法推导
原理,求平方误差最小
假设有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−1iX1iX2i⋮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
和
⎡⎣⎢⎢⎢⎢⎢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
核岭回归适用于解决小样本的非线性回归问题,随着问题规模的扩大不再适用,而且抗噪声能力不强,多用于手机定位的计算