机器学习--梯度下降法(Gradient Descent)

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

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} { xf,yf}=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)={ xf,yf}=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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值