图解机器学习/第三章 最小二乘学习法

最小二乘学习法

 最小二乘学习法是对模型的输出$f_{\theta}(x_i)$和训练集输出$\lbrace y_i \rbrace_{i=1}^n$的平方误差

为最小时的参数$\theta$进行学习

平方误差$(f_{\theta}(x_i)-y_i)^2$是残差$f_{\theta}(x_i) - y_i$的$\mathcal{l}_2$范数,因此最小二乘学习法有时也称为$\mathcal{l}_2$损失最小化学习法。

 如果使用线性模型

训练样本的平方差

其中,$y=(y_1,\dots,y_n)^{\intercal}$是训练输出的$n$维向量,$\Phi$是下式中定义的$n\times b$阶矩阵,也称为设计矩阵

训练样本的平方差$J_{LS}$的参数向量$\theta$的偏微分

将其微分设置为0,则

对顺序为$i$的训练样本的平方差通过权重$\omega_i \ge 0$进行加权,然后采用最小二乘学习,这称为加权最小二乘学习法

最小二乘解的性质

 设计矩阵$\Phi$的奇异值分解

$\kappa_k、\psi_k、\varphi_k$分别称为奇异值、左奇异向量、右奇异向量。奇异值全部是非负的,奇异向量满足正交性。

线性模型的最小二乘学习法中,训练输出向量$y$是由$\Phi$的值域$\mathcal{R}(\Phi)$的正投影得到的。

大规模数据的学习算法

 随机梯度算法是指,沿着训练平方误差$J_{LS}$梯度下降,对参数$\theta$依次进行学习的算法。

  • 凸函数

对于任意的两点$\theta_1、\theta2$和任意的$t\in [0,1]$

凸函数是只有一个峰值的函数,所以通过梯度法就可以得到训练平方误差$J_{LS}$在值域范围内的最优解,即全局最优解。

  • 使用随机梯度算法对线性模型进行最小二乘学习算法
  1. 给$\theta$以适当的初值

  2. 随机选择一个训练样本

  3. 对于选定的训练样本,采用使其梯度下降的方式,对参数$\theta$进行更新

    在这里,$\epsilon$是名为学习系数的正标量,表示梯度下降的步幅。$\nabla J_{LS}^{(i)}(\theta)$是顺序为$i$的训练样本相对应的训练平方误差的梯度,表示梯度下降的方向。

  4. 直到解$\theta$达到收敛精度为止,重复上述2、3步的计算。

Comments