梯度下降的参数更新公式是如何确定的

1.在吴恩达的CS229的讲义的第四页直接给出参数迭代公式
在这里插入图片描述

2.在UFLDL中反向传导算法一节也是直接给出的公式
在这里插入图片描述

为什么损失函数沿着梯度下降体现成参数更新的时候是这样的?中间是如何推导的?
答:

这里我相信题主对梯度下降法的整体理念是认可的,只是不清楚这个更新公式的实质含义。

首先这个梯度更新公式确实不是推导而是创造出来的,所以只能从概念上去理解。

设想下有个函数,你的目标是:找到一个参数 [公式] 使得它的值 [公式] 最小。但它很复杂,你无法找到这个参数的解析解,所以你希望通过梯度下降法去猜这个参数。 问题是怎么猜?

对于多数有连续性的函数来说,显然不可能把每个 [公式] 都试一遍。所以只能先随机取一个 [公式] ,然后看看怎么调整它最有可能使得 [公式] 变小。把这个过程重复n遍,自然最后得到的 [公式] 的估值会越来越小。

现在问题是怎么调整?既然要调整,肯定是基于当前我们拥有的那个参数 [公式] ,所以有了:

[公式]

那现在问题是每次更新的时候这个 [公式] 应该取什么值?

我们知道关于某变量的(偏)导数的概念是指当(仅仅)该变量往正向的变化量趋向于0时的其函数值变化量的极限。 所以现在若求 [公式] 关于[公式]的导数,得到一个值比如:5,那就说明若现在我们把 [公式] 往正向(即增大)一点点, [公式] 的值会变大,但不一定是正好+5。同理若现在导数是-5,那么把 [公式] 增大一点点 [公式] 值会变小。 这里我们发现不管导数值 [公式] 是正的还是负的(正负即导数的方向),对于 [公式] 来说,[公式] 的最终方向(即最终的正负号,决定是增(+)还是减(-))一定是能将Y值变小的方向(除非导数为0)。所以有了:

[公式]

但是说到底, [公式] 的绝对值只是个关于Y的变化率,本质上和 [公式] 没关系。所以为了抹去 [公式] 在幅度上对 [公式] 的影响,需要一个学习率来控制: [公式] 。所以有了:

[公式]


而这里的 [公式] 就是你1式中的那个偏导,而对于2式,就是有多少个参数,就有多少个不同的 [公式]

现在分析在梯度下降法中最常听到的一句话:梯度下降法就是朝着梯度的反方向迭代地调整参数直到收敛。这里的梯度就是 [公式] ,而梯度的反方向就是 [公式] 的符号方向---梯度实际上是个向量。所以这个角度来说,即使我们只有一个参数需要调整,也可以认为它是个一维的向量。 整个过程你可以想象自己站在一个山坡上,准备走到山脚下(最小值的地方),于是很自然地你会考虑朝着哪个方向走,方向由 [公式]方向给出,而至于一次走多远,由 [公式] 来控制。 这种方式相信你应该能理解其只能找到局部最小值,而不是全局的。


参考:

[机器学习] ML重要概念:梯度(Gradient)与梯度下降法(Gradient Descent)

五步解析机器学习难点—梯度下降

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值