zoukankan      html  css  js  c++  java
  • 2.3三种梯度下降法的原理介绍和比较

    自己开发了一个股票智能分析软件,功能很强大,需要的点击下面的链接获取:

    https://www.cnblogs.com/bclshuai/p/11380657.html

    1.1  梯度下降法

    1.1.1         简介

    定义:梯度下降法是定义目标函数,通过误差反向传播的方法对模型参数进行调整,使得目标函数值最小,不再增长,则认为找到了一组参数,构造了模型。梯度下降法沿着误差下降速度最快的方向调整参数,一般是目标函数对某个参数的偏导数乘以步长来调整参数,最后使得误差收敛于最小值。这种方法适合在特征个数非常多,训练实例非常多,内存无法满足要求的时候使用。

    梯度下降法考虑的问题

    (1)步长:在梯度下降中一个重要的参数是步长,超参数学习率的值决定了步长的大小。如果学习率太小,必须经过多次迭代,算法才能收敛,这是非常耗时的。如果学习率太大,你将跳过收敛点。

    (2)局部收敛点。并不是所有的损失函数看起来都像一个规则的碗。它们可能是洞,山脊,高原和各种 不规则的地形,使它们收敛到最小值非常的困难。

    1.1.2三种梯度下降法比较

    批量梯度

    每次运算采用全部的数据集,运算量大,速度慢,收敛于最优解,容易陷入局部最优解。

    随机梯度

    随机选取训练集中的一个样本进行训练,运算量小,速度快,由于随机性,损失函数忽高忽低,不规则, 在最优解附件跳动。无法收敛于最优解。可以采用步长由大到小的方法实现优化。

    小批量梯度

    使用K个小批量样本子集,计算每个样本子集的损失函数,在求 平均值,用这个平均值去调整参数,利用了计算机的并行能力,一次计算了K个子集,运算量比随机梯度大,比批量梯度小,比随机梯度训练效果好,更接近最优解。可以采用变步长实现优化。

    批量梯度参数迭代公式,对所有训练集N计算

     

    批量梯度算法的迭代过程如下:

     

    随机梯度参数迭代公式,选取小批量子集进行计算

     

    随机梯度下降法的迭代过程如下图所示,

     

    小批量梯度下降法参数迭代公式

     

  • 相关阅读:
    UVA 12338
    最短路问题
    菜鸟调错(十)——启动Tomcat报错“Unsupported major.minor version xxx ”
    Servlet总结(一)
    <html>
    Android Developer:Allocation Tracker演示
    H2数据库集群
    安卓通过广播自己主动回填短信验证码
    江湖问题研究-- intent传递有没有限制大小,是多少?
    spring 配置文件被加载两次
  • 原文地址:https://www.cnblogs.com/bclshuai/p/13997082.html
Copyright © 2011-2022 走看看