模型优化算法二:最陡峭下降(梯度下降)

一、梯度下降算法简介

机器学习的套路就是我交给机器一堆数据,然后告诉它什么样的学习方式是对的(目标函数),然后让它朝着这个方向去做。

 

二、梯队下降算法求线性回归参数

目标函数:

      (推导过程可参照线性回归部分)

下山的步骤(更新参数)

  • 找到 当前最合适的方向(偏导)
  • 走一小步,快了容易跌倒(步长,又叫学习率,对结果会产生巨大的影响)
  • 按照方向与步伐去更新我们的参数

 

三种不同的停止策略:

  • 迭代次数(参数更新次数)
  • 损失:目标函数的损失值之间差异小,则停止
  • 梯度:梯度变化小

 

二、常用梯队下降算法

1.批量梯度下降(所有样本)

容易得到最优解,精度高,但是由于每次考虑所有样本,速度很慢。

    

   

 

2.随机梯度下降(一个样本)

 每次找到一个样本,迭代速度快,但不一定每次都朝着收敛的方向。

      

损失值忽上忽下,学习率改小,会慢慢收敛。(速度快,但是稳定性差,需要很小的学习率)

 

3.小批量梯度下降(小部分数据)

每次更新选择一小部分数据来算,实用!

     (此处算了10个样本)

 浮动仍然比较大,我们来尝试下对数据进行标准化 将数据按其属性(按列进行)减去其均值,然后除以其方差。

最后得到的结果是,对每个属性/每列来说所有数据都聚集在0附近,方差值为1

 

转载于:https://www.cnblogs.com/xyp666/p/9044817.html

THE END
< <上一篇
下一篇>>