监督学习的应用与梯度下降

监督学习的应用与梯度下降
    1. 监督学习

如上图所示,监督学习:对于给定的训练集合,按照某一学习算法学习之后,得到一种好的假设(Hypotheses)用于预测新的数据。

  1. 梯度下降

已知m组数据(x1,y1)…(xm, ym),其中xi是具有n维特征的向量,此外,我们设定xi(0) =1(即截距项)。我们做如下假设:

h(x) = = (此为回归模型的假设模型)

对于给定的训练集合,如何选择最优的θ(权重或参数)(这里的xn+1*m维矩阵)?一个合理的方法是:至少在训练集合上,θ会使预测值h(x)越接近实际值y越好。因此,我们定义一个成本函数(cost function) J(θ)

J(θ) =

该成本函数使用误差的平方和,类似于普通最小二乘法(没有平均化误差平方和)

  1. 最小均方算法

    给定的训练集合,如何选择最优的θ值使J(θ)?这里我们采用梯度下降法。梯度下降法的基本思想是在起始随机得到θ值后,之后每次更新θ值的方式如下:

    θj := θj− α*(其中α称之为学习速率)

    θ每次以一定的步伐按照J(θ)最快速下降的方向更新值。我们进一步分解参数更新公式的右边。

    = = *

    = (h(x)-y) * = (h(x)-y)*xi

    因此,参数更新的方式如下:

    θj := θj + α(y-h(xi))*xji

    该更新方法称之为LMS算法(least mean squares,最小均方法),也被称为Widrow-Hoff 学习算法。该方法显得很自然和直观化。比如,当误差(y-h(x))越大的时候,那么参数更新的步伐就越大。检测是否收敛的方法:1) 检测两次迭代θj的改变量,若不再变化,则判定收敛;2) 更常用的方法:检验J(θ),若不再变化,判定收敛。需要注意的是,学习系数一般为0.01或者0.005等,我们可以发现样本量越大,(y-h(xi))*xji会相对较大,所以在学习系数中用一个常数除以样本来定相对合理,即0.005/m

    对于LMS算法,刚才推导的公式是针对于一个样本,如果样本多于一个,那么我们可以有两种方式更新参数。一种是每一次更新都使用全部的训练集合,该方法称之为批量梯度下降(batch gradient descent)。需要注意的是,梯度下降法很可能得到局部最优解,而我们这里的回归分析模型仅有一个最优解,因此局部最优解就是最终的最优解。(成本函数为凸函数)。另外一种是针对训练集合中每一个样本,每次都更新所有的参数值,该方法称之为随机梯度下降(stochastic gradient descent)。当数据量很大的时候,批量梯度下降法计算量较大,而随机梯度下降方法往往相对较优。通常情况下,随机梯度下降比批量梯度下降能更快的接近最优值(但也许永远也得不到最优值),数据量大的情况下,通常选择使用随机梯度下降法。

    梯度下降法的缺点是:靠近极小值时速度减慢(极小值处梯度为0),直线搜索可能会产生一些问题(得到局部最优等),可能会'之字型'地下降(学习速率太大导致)

  2. 标准方程组推导

    最小化成本函数的方式不只是有梯度下降法,这里我们采用标准方程组的方式求解得到精确的解。对于成本函数J(θ) ,我们定义输入变量Xm*(n+1)维矩阵(包含了截距项),其中m表示样本数,n表示特征数。输出是m*1维矩阵,参数θn+1*1维矩阵,则J(θ)可以如下表示:

    J(θ) = (Xθ – )T * (Xθ-)

    要求解θ使得J(θ)最小,那么只需要求解J(θ)θ的偏微分方程即可。

    θJ(θ) = [(Xθ – )T * (Xθ-)]

    = T]*(Xθ – ) + (Xθ – )T ]*

         = XT*(Xθ – ) + XT*(Xθ – )

         = XT*(Xθ – )

         = XT*X*θ – XT*

    因此,令θJ(θ) = 0,即可求得使J(θ)最小的θ的值,因此:XT*X*θ – XT* = 0,得到 θ = (XT*X)-1 * (XT*)。在求解回归问题时候,可以直接使用该结果赋值于θ,不过这里存在的问题是对矩阵的求逆,该过程计算量较大,因此在训练集合样本较大的情况并不适合。

    注:θJ(θ)表示对J(θ)中的每一个θ参数求偏微分。这里化简的方式是矩阵偏微分注意:AT*B) = BT)*A, AT = (A)T, AT*B = (BT*A)T

  3. 概率解释

    对于回归问题,我们不禁要问为什么线性回归或者说为什么最小均方法是一个合理的选择呢?这里我们通过一系列的概率假设给出一个解释。(下一讲)

 
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
随机梯度下降法 (Stochastic Gradient Descent, SGD) 是一种常用的优化算法,用于训练机器学习模型。在每个训练迭代中,SGD会从训练集中选择一个样本,计算其梯度并更新模型参数。但是,SGD的停机准则对算法的收敛性和速度有很大的影响。下面介绍不同的停机准则下的SGD。 1. 固定迭代次数 最简单的停机准则是固定迭代次数。在训练开始时,我们设定一个固定的迭代次数,例如1000次,然后在每次迭代中更新模型参数。这种停机准则的缺点是,当模型已经收敛并且达到最优时,仍然会进行额外的迭代,浪费时间和计算资源。 2. 阈值停机准则 另一种常见的停机准则是阈值停机准则。在每次迭代中,我们计算模型的损失函数,并检查与之前迭代的差异是否小于一个预设的阈值。如果满足条件,则停止迭代。这种停机准则的优点是,当模型达到最优时,可以提前结束迭代,节省时间和计算资源。但是,阈值的选择可能会影响收敛速度和最终结果。 3. 验证集停机准则 验证集停机准则是一种更加普遍的停机准则,经常用于监督学习。在每次迭代中,我们将训练集分为两部分:训练集和验证集。然后,我们在训练集上更新模型参数,并在验证集上计算损失函数。如果验证集的损失函数开始增加,说明模型已经过拟合,应该停止迭代。这种停机准则的优点是,能够及时发现过拟合问题并停止训练,但需要额外的计算资源和时间来计算验证集的损失函数。 综上所述,不同的停机准则适用于不同的场景。在实际应用中,需要根据具体情况选择合适的停机准则。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值