机器学习笔记(二)——多变量最小二乘法

来源:互联网 发布:四知文言文阅读答案 编辑:程序博客网 时间:2024/05/17 20:24

在上一节中,我们介绍了最简单的学习算法——最小二乘法去预测奥运会男子100米时间。但是可以发现,它的自变量只有一个:年份。通常,我们所面对的数据集往往不是单个特征,而是有成千上万个特征组成。那么我们就引入特征的向量来表示,这里涉及到矩阵的乘法,向量,矩阵求导等一些线性代数的知识。


一. 将拟合函数由单变量改写为多变量

设我们的拟合函数

f(xi;ω)=ωTxi

其中, w表示拟合函数的参数,xi表示数据集中第i条数据。

对于上节中的f(x;a,b)=ax+b,我们可以令

ω=[ab],xi=[x1]

则这两个函数等价。为了方便推导,我们在损失函数前边加上1N,由于N是定值,它代表数据集的记录数。那么,损失函数可以写为:

L=1Ni=1N(yiωTxi)2=1N(yXω)T(yXω)1

那么上式的推导过程也很简单,令
X=xT1xT2xTn=111x1x2xn

y=y1y2yn,ω=[ω0ω1]

带入(1)式即可得证,此处略过。

二.多特征下求解参数 ω

L=1N(yXω)T(yXω)=1N(yTωTXT)(yXω)=1N(yTyyTXωωTXTy+ωTXTXω)=1N(ωTXTXω2ωTXTy+yTy)(2)

我们的目标是让损失函数最小,即求(2)的最小值,我们对ω求偏导数,令其等于0,就可以求出L取得极小值时参数ω的值。
Lω=1N(2XTXω2XTy)=0(3)XTXω=XTyω=(XTX)1XTy

至此,我们已经求出了参数值,接下来就可以预测了。

至于(3)的求导,注意以下求导公式即可:

f(w) fw wTx x xTw x wTw 2w wTCw 2Cw
0 0