机器学习笔记(二)——多变量最小二乘法
机器学习笔记(二)——多变量最小二乘法在上一节中,我们介绍了最简单的学习算法——最小二乘法去预测奥运会男子100米时间。但是可以发现,它的自变量只有一个:年份。通常,我们所面对的数据集往往不是单个特征,而是有成千上万个特征组成。那么我们就引入特征的向量来表示,这里涉及到矩阵的乘法,向量,矩阵求导等一些线性代数的知识。一. 将拟合函数由单变量改写为多变量设我们的拟合函数f(xi;ω)=ωTxif
·
在上一节中,我们介绍了最简单的学习算法——最小二乘法去预测奥运会男子100米时间。但是可以发现,它的自变量只有一个:年份。通常,我们所面对的数据集往往不是单个特征,而是有成千上万个特征组成。那么我们就引入特征的向量来表示,这里涉及到矩阵的乘法,向量,矩阵求导等一些线性代数的知识。
一. 将拟合函数由单变量改写为多变量
设我们的拟合函数
f(xi;ω)=ωTxi
其中, w 表示拟合函数的参数, xi 表示数据集中第i条数据。
对于上节中的
f(x;a,b)=ax+b
,我们可以令
ω=[ab],xi=[x1]
则这两个函数等价。为了方便推导,我们在损失函数前边加上
1N
,由于N是定值,它代表数据集的记录数。那么,损失函数可以写为:
L=1N∑i=1N(yi−ωTxi)2=1N(y−Xω)T(y−Xω)(1)
那么上式的推导过程也很简单,令
X=⎡⎣⎢⎢⎢⎢⎢xT1xT2⋮xTn⎤⎦⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢11⋮1x1x2⋮xn⎤⎦⎥⎥⎥⎥
y=⎡⎣⎢⎢⎢⎢⎢y1y2⋮yn⎤⎦⎥⎥⎥⎥⎥,ω=[ω0ω1]
带入(1)式即可得证,此处略过。
二.多特征下求解参数 ω
L=1N(y−Xω)T(y−Xω)=1N(yT−ωTXT)(y−Xω)=1N(yTy−yTXω−ωTXTy+ωTXTXω)=1N(ωTXTXω−2ωTXTy+yTy)(2)
我们的目标是让损失函数最小,即求(2)的最小值,我们对 ω 求偏导数,令其等于0,就可以求出 L 取得极小值时参数
∂L∂ω=1N(2XTXω−2XTy)=0(3)⇒XTXω=XTy⇒ω=(XTX)−1XTy
至此,我们已经求出了参数值,接下来就可以预测了。
至于(3)的求导,注意以下求导公式即可:
f(w) | ∂f∂w |
---|---|
wTx | x |
xTw | x |
wTw | 2w |
wTCw | 2Cw |
更多推荐
所有评论(0)