zoukankan      html  css  js  c++  java
  • 斯坦福2014机器学习笔记二----梯度下降法

    一、纲要

       梯度下降法的可视化理解

      梯度下降法的公式

      参数的更新方法

      梯度下降算法最小化代价函数

    二、内容介绍

      1、梯度下降法的可视化理解

      

      在上篇文章中我说了代价函数的最小化就是要寻找该函数的最小值,或者说是局部最小值。如上图,我们假设红色的为两个山峰,那么蓝色的就是我们要找的最小值。这个过程我们可以想象成某个人下山的过程。当给参数不同的初值。相当于选择了不同的下山起点位置,梯度下降法的过程就相当于一次次的迭代,即对于下山来说,就是每走一步,就停下来观察并选择可以最快下山的路,然后再走一步,然后再次重复这个过程。当然,图上显而易见的是,当我们选择的起点位置不同,就会得到不同的下山路线,最终会到达一个看起来最小的值,所以这也就是我之前为什么说是局部最小值。这样理解梯度下降法看起来更浅显易懂!

      2、梯度下降法的公式 

      ,这里的Alpha称为学习速率(learning rate),就是我们下山时的步伐,是大步流星还是小碎步下山,这当然也决定了下降的速率

      我们用一个较为简单的代价函数来解释一下这个公式:J(θ)

      

      对J的微分就是在该点的斜率,可以很容易的看出不管是该点(起始点)在最低点的左边还是右边,经过数次迭代之后参数θ总是向着J的最低点逼近。

      3、参数的更新方法

        正确的更新方法:                                                                                      错误的更新方法:

                                                               

      注:这里的theta0和theta1是要同时更新的,如果计算了theta0之后就直接更新theta0的值的话,公式右边的代价函数J就会发生变化,所以需要计算完所有参数的值之后再同时进行更新。

       3、用梯度下降法最小化代价函数J

      接着上篇的线性回归问题,

      

      所以,梯度下降方程为:

      

      事实证明,如果你的成本函数进行线性回归,他的代价函数将成碗状,即不存在局部最优解,局部最优解自动转化为全局最优。

      

      

  • 相关阅读:
    CSU 1505: 酷酷的单词【字符串】
    HDU 2036 改革春风吹满地【计算几何/叉乘求多边形面积】
    HDU 2034 人见人爱A-B【STL/set】
    HDU 2031 进制转换
    HDU 1020 Encoding【连续的计数器重置】
    HDU 1999 不可摸数【类似筛法求真因子和】
    动态规划总结
    CSU 1785: 又一道简单题
    CSU 1779: 错误的算法【矩阵/模拟】
    CSU 1777: 大还是小?【模拟/后导0】
  • 原文地址:https://www.cnblogs.com/kl2blog/p/7691757.html
Copyright © 2011-2022 走看看