- 机器学习的算法分析和实践
- 孙健编著
- 468字
- 2024-12-31 20:03:19
3.1 最小二乘法原理
在监督式学习的模式下,给出样本内的一组数据,总共有n个数据点,每个数据点都由数据和标签组成,即
(x1,y1),(x2,y2),···,(xn,yn)
其中,代表了具有k个特征的数据,
代表了连续变量的标签。寻找线性函数,使得
f(x)=wTx+b=xTw+b
在L2意义下逼近原来的函数,即让

达到最小,其中,参数。如果使用扩展的向量

那么就可以使用简化的符号,而不需要引进单独的常数b。从而优化问题就变为

然后使用矩阵的语言,令X是一个n×k的矩阵,w是一个k×1的向量,y是一个n维向量,有

采用线性代数中矩阵乘法的写法可以把上述问题重新表述为

展开可得
f(w)=(wTXT−yT)(Xw−y)=wTXXTw−yTXw−wTXTy+yTy
根据本书最后一章线性代数基础内容可知,此函数f(w)如果取到极小值,其梯度函数就可以通过将上式右边对w求导得到,即
∇f(w)=2XXTw−2XTy=0
从而最小值在
XXTw=XTy
取得,所以有
w=(XTX)−1XTy
这样,对于任意由给出点集构成的矩阵X,都有

作为原来y的L2的最佳逼近。
在上述推导过程中,其实用到了以下两个梯度的计算方法

那么就有梯度的计算
∇wf=x, ∇wg=2Ωw
读者也可以自行验证。
线性回归的效果如图3.1所示。

图3.1 线性回归