美文网首页
2018-12-05梯度下降-I

2018-12-05梯度下降-I

作者: 奈何qiao | 来源:发表于2018-12-05 14:49 被阅读0次

当我们有一个假设函数时,我们需要一种方法去衡量假设函数值与真实数据之间的匹配程度。如何估计得到一个合适的参数,这就需要梯度下降,实现最小化J函数。

梯度下降

梯度下降的算法可以用于多参数的函数,此处为了简化,只是使用了两个参数。不断地改变\theta _{0} \theta _{1} 的值,直到找到J的最小值或者局部最小值。

梯度下降1-局部最优1 梯度下降2-局部最优2 梯度下降对比(起始点不同)

 你的起始点偏移了一些 ,即起始点的位置略有不同,你会得到一个非常不同的局部最优解,这就是梯度下降算法的一个特点。

收敛

符号 :=表示赋值,这是一个赋值运算符 

等号 = ,这是一个判断为真的声明 

a:=a+1 这意味着将 a的值再加上1,但我不会写 a=a+1 因为这本来就是错误的。a 和 a+1 永远不会是同一个值。

 α表示学习速率。若把图片箭头走向看成下山,在梯度下降算法中,α控制了迈出多大的步子。因此如果 α值很大,那么相应的梯度下降过程中,我们会试图用大步子下山;如果α值很小,那么我们会迈着很小的小碎步下山。

设 temp0等于公式右边部分,设temp1等于公式右边部分,计算出公式右边这一部分,然后将计算出的结果一起存入 temp0和 temp1 之中,然后同时更新 θ0和θ1 。这才是正确的实现方法。

我们计算 temp0, 然后我们更新θ0 ,然后我们计算 temp1, 然后我们将 temp1 赋给θ1。右边的方法和左边的区别是,如果这个时候你已经更新了θ0,那么你会使用 θ0的新的值来计算这个微分项,所以由于你已经在这个公式中使用了新的 θ0的值 ,那么这会产生一个与左边不同的 temp1的值 。所以右边并不是正确地实现梯度下降的做法 。

同时更新是梯度下降中的一种常用方法,实际上同步更新是更自然的实现方法。当人们谈到梯度下降时,他们的意思就是同步更新。如果用非同步更新去实现算法,代码可能也会正确工作,但是右边的方法并不是人们所指的那个梯度下降算法,而是具有不同性质的其他算法。由于各种原因,这其中会表现出微小的差别。

相关文章

  • 2018-12-05梯度下降-I

    当我们有一个假设函数时,我们需要一种方法去衡量假设函数值与真实数据之间的匹配程度。如何估计得到一个合适的参数,这就...

  • (三)线性回归--梯度下降

    一、梯度下降 二、代码的实现 (一.梯度下降) 导包 构建数据 梯度下降 使用梯度下降,可视化 (二。梯度下降矩阵...

  • 神经网络优化2

    梯度下降 梯度下降法 批梯度下降法(Batch Gradient Descent,BGD)是最常用的梯度下降形式,...

  • 深入浅出--梯度下降法及其实现

    梯度下降的场景假设梯度梯度下降算法的数学解释梯度下降算法的实例梯度下降算法的实现Further reading 本...

  • 机器学习-常用优化方法

    一阶方法:梯度下降、随机梯度下降、mini 随机梯度下降降法。 随机梯度下降不但速度上比原始梯度下降要快,局部最优...

  • ML-梯度下降代码-线性回归为例

    梯度下降代码线性回归为例 bgd 批量梯度下降 sbd 随机梯度下降 mbfd 小批量随机梯度下降

  • 2020-08-19--梯度下降法01

    梯度下降法简介 多元线性回归中的梯度下降法 随机梯度下降法 梯度下降法 的调试 1.梯度下降法简介 不是一个机器学...

  • 机器学习笔记(六)—— 梯度下降

    梯度下降 批量梯度下降(Batch Gradient Descent,BGD) 批量梯度下降法是最原始的形式,它是...

  • 更新权重的方式

    1、SGD 梯度下降(收敛最慢稳定) 梯度下降:+=- * d J() 批量梯度下降:将数据集切分为多批次, 分别...

  • 随机梯度下降法与批量梯度下降法的区别

    批量梯度下降法(batch gradient decent)就是我们平时所说的梯度下降,也就是梯度下降过程中,每次...

网友评论

      本文标题:2018-12-05梯度下降-I

      本文链接:https://www.haomeiwen.com/subject/ubnicqtx.html