• 梯度下降法和随机梯度下降法


    (1)梯度下降法

    在迭代问题中,每一次更新w的值,更新的增量为ηv,其中η表示的是步长,v表示的是方向

    要寻找目标函数曲线的波谷,采用贪心法:想象一个小人站在半山腰,他朝哪个方向跨一步,可以使他距离谷底更近(位置更低),就朝这个方向前进。这个方向可以通过微分得到。选择足够小的一段曲线,可以将这段看做直线段,那么有:

     

    其中η表示的是步长,v表示的是方向,而梯度下降的精髓是:

    通过上边的例子可以看出,只要找到了后边这项的最小值即可,因此当vT与Δ的方向相反时,该值最小,因此,最优的V的值的求法如下:

    显然上边解决了方向问题,但是还存在步长问题,步子太小的话,速度太慢;过大的话,容易发生抖动,可能到不了谷底。

    解决方案:距离谷底较远(位置较高)时,步幅大些比较好;接近谷底时,步幅小些比较好(以免跨过界)。距离谷底的远近可以通过梯度(斜率)的数值大小间接反映,接近谷底时,坡度会减小。设置步幅与梯度数值大小正相关。

     

    根据上边优化完成的梯度下降算法,可以得到完整的Logistic Regression Algorithm:

     

    值得注意的是,梯度下降法,需要同时更新θ1,θ2,...,θn,的值

    (2)随机梯度下降法

    传统的随机梯度下降更新方法:

    问题:每次更新都需要遍历所有data,当数据量太大或者一次无法获取全部数据时,这种方法并不可行。
    解决这个问题基本思路是:只通过一个随机选取的数据(xn,yn) 来获取“梯度”,以此对w 进行更新。这种优化方法叫做随机梯度下降。

     


     关于梯度下降法的几点说明:

    对于n》=1的梯度下降规则,n表示的是特征的数目

    参考自:http://studyai.site/2016/07/29/%E6%96%AF%E5%9D%A6%E7%A6%8F%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%AF%BE%E7%A8%8B%20%E7%AC%AC%E4%BA%8C%E5%91%A8%20(2)%E5%A4%9A%E5%85%83%E7%BA%BF%E6%80%A7%E5%9B%9E%E5%BD%92%E5%88%86%E6%9E%90/

  • 相关阅读:
    滚屏到相应位置才加载图片
    cs文件编译成dll文件
    SPAM搜索引擎垃圾技术
    新HTML元素:Canonical Link(权威链接),解决网络复制内容
    Asp.Net 文件操作基类(读取,删除,批量拷贝,删除,写入,获取文件夹大小,文件属性,遍历目录)
    VS2005发布网站项目时整个站点生成为一个自定义名称的dll文件
    301转向代码合集
    区别不同浏览器,CSS hack写法
    教你识别交换购买友情链接里的八种骗局真相!
    C#中Cookies的存取
  • 原文地址:https://www.cnblogs.com/nolonely/p/6184196.html
Copyright © 2020-2023  润新知