目录
1.梯度
1.1.梯度的定义
梯度被定义为一维函数的导数在多维函数f上的泛化,表示为函数f的n个偏导教的向量。这对优化很有用,因为在该函数最大增长率方向上的梯度值相当于图中该方向上的斜率。
梯度下降使用导数计算损失函数的斜率,读者应该很熟悉“导数”这个微积分概念。在二维损失函数上,导数是抛物线上任意点的正切,也就是y的变化除以x的变化,上升除以前进。
正如从三角学中所知,正切是一个比率,它等于直角三角形的对边(它测量垂直变化)除以邻边(它测量水平变化)。
曲线的一个定义是一条斜率不断变化的线,线上每个点的斜率等于紧贴该点的正切。由于斜率是由两个点求出的,那么如何精确地找到曲线上一个点的斜率呢?通过计算曲线.上距离很小的两点之间连线的斜率,然后慢慢缩小距离直到接近零来求导数。在微积分运算中,这叫作极限。
不断重复计算误差并在低误差的方向修改权重的过程,直至权重到达误差最低的点,即准确度最高的点。使用凸损失函数(通常在线性建模)时,损失函数只有一个全局最小值。可以从求参数向量x的三个组件的角度来思考线性建模。
1.2.梯度的数学表示
设二元函数 z = f ( x , y ) z=f(x, y) z=f(x,y)在平面区域D上具有一阶连续偏导数,则对于每一个点P(x,y)都可定出一个向量 { ∂ f ∂ x , ∂ f ∂ y } = f x ( x , y ) i ˉ + f y ( x , y ) j ˉ \left\{\frac{\partial f}{\partial x}, \frac{\partial f}{\partial y}\right\}=f_{x}(x, y) \bar{i}+f_{y}(x, y) \bar{j} { ∂x∂f,∂y∂f}=fx(x,y)iˉ+fy(x,y)jˉ ,该函数就称为函数 z = f ( x , y ) z=f(x, y) z=f(x,y) 在点P(x,y)的梯度,记作gradf(x,y)或 ∇ f ( x , y ) \nabla f(x, y) ∇f(x,y) ,即有:gradf ( x , y ) = ∇ f ( x , y ) = { ∂ f ∂ x , ∂ f ∂ y } = f x ( x , y ) i ˉ + f y ( x , y ) j ˉ (\mathrm{x}, \mathrm{y})=\nabla f(x, y)=\left\{\frac{\partial f}{\partial x}, \frac{\partial f}{\partial y}\right\}=f_{x}(x, y) \bar{i}+f_{y}(x, y) \bar{j} (x,y)=∇f(x,y)={ ∂x∂f,∂y∂f}=fx(x,y)iˉ+fy(x,y)jˉ,其中 ∇ = ∂ ∂ x i ˉ + ∂ ∂ y j ˉ \nabla=\frac{\partial}{\partial x} \bar{i}+\frac{\partial}{\partial y} \bar{j} ∇=∂x

本文详细解析梯度的概念,包括梯度的数学表示,并深入探讨梯度下降法的原理、分类、影响因素及优化技巧。通过实例讲解学习率的选择和特征缩放对算法效率的影响,适用于线性回归等优化问题。
最低0.47元/天 解锁文章
3万+

被折叠的 条评论
为什么被折叠?



