机器学习笔记(VI)线性模型(II)多维最小二乘法

来源:互联网 发布:大话设计模式java源码 编辑:程序博客网 时间:2024/06/05 16:29

数据集是

D={(x1,y1),(x2,y2),,(xm,ym)}xi=(xi1;xi2;;xid),yiR

此时试图学得
f(xi)=wTxi+b,使f(xi)yi

也称为多元线性回归
此时可以使用最小二乘法来对wb进行估计
步骤:
1:将wb吸入向量形式w^=(w;b),
2:将数据集D表示为一个m×(d+1)大小的矩阵X
X=x11x21xm1x12x22xm2x1dx2dxmd111=xT1xT2xTm111

3:把标记写成向量形式
y=(y1;y2;;ym)

于是类似一维形式
w^=argminw^(yXw^)T(yXw^)

4:令Ew^=(yXw^)T(yXw^),对w^进行求导
Ew^w^

展开
(yXw^)T(yXw^)=(yTw^TXT)(yXw^)=yTyyTXw^w^TXTy+w^TXTXw^(1)

如何对式1进行化简
yTyyTXw^w^TXTy+w^TXTXw^(yTy)(yTXw^+w^TXTy)+(w^TXTXw^)

一共有三个部分
第一个部分:

yTyw^=0

因为对w^求导,yTy相当于常数,因此求偏导的结果是0
第二个部分:
对于
yTXw^+w^TXTy(2)

在这里yTXw^w^TXTy都是1×1的矩阵此时
yTXw^=(w^TXTy)T

对于1×1的矩阵AAT=A
因此对于式(2)
(2)=2(yTXw^)

于是
yTXw^w^=?

分开来看
yT=(y1,y2,,ym);X=x11x21xm1x12x22xm2x1dx2dxmd111;w^=(w1;w2;;wd;b);

相乘的结果
yTX=(i=1mxi1yi,i=1mxi2yi,i=1mxidyi,i=1myi)(part1)

(part1)w^=(i=1mxi1yi,i=1mxi2yi,i=1mxidyi,i=1myi)×(w1;w2;;wd;b)=j=1di=1mxijyiwj+bi=1myi(part1sum)

求导
part1sumw^=part1sumw1part1sumw2part1sumwdpart1sumb=i=1mxi1yii=1mxi2yii=1mxidyii=1myi

结果是一个(d+1)×1的矩阵也就是列向量
XTy=x11x12x1d1x21x22x2d1xm1xm2xmd1×y1y2ym=i=1mxi1yii=1mxi2yii=1mxidyii=1myi=part1sumw^

同样的方法可以得到
(w^TXTXw^)w^=2XTXw^

于是得到最终结果
Ew^w^=2XT(Xw^y)

5:令求导结果等于0
Ew^w^=2XT(Xw^y)XTXw^=0=XTy

此时如果有解则:XTX必须是可逆矩阵
所以得到:
w^=(XTX)1XTy

因为我们试图学得
f(xi)=wTxi+b,使f(xi)yi

但是我们在前面做出了一些调整:将wb吸入向量形式w^=(w;b),
此时可以令x^i=(xi;1)可以得到学得的模型是
f(xi)=(w;b)T(xi;1)f(x^i)=w^Tx^i

然后将w^代入
得到:
f(x^i)=((XTX)1XTy)Tx^if(x^i)=x^Ti(XTX)1XTy

阅读全文
0 0
原创粉丝点击