梯度下降原理及理解

本文深入探讨梯度下降在神经网络中的应用,解释为什么使用梯度下降来最小化代价函数,以及批处理梯度下降(BGD)和随机梯度下降(SGD)的工作原理。通过讨论学习速率的影响,阐述了如何选择合适的梯度下降策略以优化模型性能。
摘要由CSDN通过智能技术生成


梯度下降是神经网络中最常用的求极值点(鞍点)的方法,本文以BP神经网络为例,介绍梯度下降的数学原理及推广。

代价函数

为了量化我们神经网络的拟合效果,我们定义一个代价函数:

C(w,b)=12nx||y(x)a||2 C ( w , b ) = 1 2 n ∑ x | | y ( x ) − a | | 2

我们训练算法的目的,就是最小化权值和偏置的代价函数 C(w,b) C ( w , b )

针对代价函数,我们试着回答以下两个问题:

  1. 为什么不直接采用分类(识别)正确的数量作为评价指标呢?

    这是因为在神经网络中,被正确分类的图像数量所关于权值和偏置的函数并不是一个平滑的函数。

    大多数情况下,对权值和偏置的微小变动完全不会影响被正确分类的图像数量,这让我们很难去解决如何改变权重和偏置来取得进改进的性能。

  2. 为什么要用二次函数呢?

    代价函数并不是唯一的,不同的代价函数的评价指标也是不同的。但二次函数是使用得最广泛的,并且具有特殊的语义–均方误差(MSE)。我们接下来还会看到更多的代价函数,在计算时就会知道二次函数的优越性了。

为什么要梯度下降?

我们现在的目标是想要找到 C C 的全局最小值。当然,对于简单的二次型函数,我们很快就能找到最小值。但回想一下我们是怎么做的呢?

一种方法就是直接用偏导去找极值点。但如果变量很多,比如神经网络至少有上千个变量和偏置,计算非常复杂。

另外一种方法是使用梯度下降。考虑我们目前有两个变量 v 1 v 2 ,当我们在 v1v2 v 1 和 v 2 方向分别移动一个很小的量(沿着梯度方向),这时候会发生如下变化:

ΔCCv1Δv1+Cv2Δv2 Δ C ≈ ∂ C ∂ v 1 Δ v 1 + ∂ C ∂ v 2 Δ v 2

我们需要使用一种方法选择

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值