导数、梯度、最优化方法|学习笔记

简介: 快速学习导数、梯度、最优化方法

开发者学堂课程【大数据学习 - 数学基础及应用导数、梯度、最优化方法】学习笔记,与课程紧密联系,让用户快速学习知识。  

课程地址:https://developer.aliyun.com/learning/course/519/detail/7037


导数、梯度、最优化方法


内容介绍:

一、导数、梯度介绍

二、最优化方法及其应用


一、导数、梯度介绍

1、导数

导数( Derivative )是微积分学中重要的基础概念。一个函数在某一点的导数描述了这个函数在这一点附近的变化率。(函数变化的速度)导数的本质是通过极限的概念对函数进行局部的线性逼近。

当函数 f 的自变量在一点 x 上产生一个增量 h 时,函数输出值的增量与自变量增量 h 的比值在 h 趋于 0 时的极限如果存在,即为f  x 处的导数,记作 f'(xo)。

也可写作:

图片1.png

2、偏导数

一个多变量的函数的偏导数是它关于其中一个变量的导数,而保持其他变量恒定。

曲面上的每一点都有无穷多条切线,描述这种函数的导数相当困难。偏导数就是选择其中一条切线,并求出它的斜率。

图片2.png

几何意义上偏导数即为函数在坐标轴方向上的变化率。

3、方向导数

对于多变量函数,自变量有多个,表示自变量的点在一个区域内变

动,不仅可以移动距离,而且可以按任意的方向来移动同一段距离。因此,函数的变化不仅与移动的距离有关,而且与移动的方向有关函数的变化率是与方向有关的,这也才有了方向导数的定义,即某一点在某一趋近方向上的导数值。

图片3.png

几何意义上方向导数为函数在某点沿着其他特定方向上的变化率。(方向不一定是坐标轴的方向)

4、梯度

函数在某一点处的方向导数在其梯度方向上达到最大值此最大值即梯度的范数。沿梯度方向,函数值增加最快。

图片4.png

 

二、最优化方法及其应用

最优化方法:研究在给定约束或者无约束情况之下如何寻求某些因素(的量)(决策变量),以使某一(或某些)指标(目标量)达到最优的一些学科的总称。

大部分的机器学习算法的本质都是建立优化模型。通过最优化方法对目标函数(或损失函数)进行优化,从而训练出最好的模型。常见最优化算法:

梯度下降法 (Gradient Descent)

牛顿和拟牛顿法 (Newton's method &Quasi-Newton Methods)

1、梯度下降法

梯度下降法:最早最简单,也是最为常用的最优化方法。当目标函数是凸函数时,梯度下降法的解是全局解。一般情况下,不保证是全局最优解。

优化思想:用当前位置负梯度方向作为搜索方向,因为该方向为当前位置的最快下降方向,越接近目标值,步长越小,前进越慢。(在梯度下降运动过程中非常普遍的现象)

图片5.png

等梯度路线,从等梯度线的布局看函数是一个很标准的凸函数。

图中的 X0 到 X1 到 X2 的线性搜索过程是一个梯度下降的典型过程,可以看到中间的等梯度线代表的是梯度为零,找到函数值最优的时候。

2、两种衍生的梯度下降方法

在机器学习中,基于基本的梯度下降法发展了两种梯度下降方法,分别为批量梯度下降法和随机梯度下降法,以线性回归模型为例:

J(theta): 损失函数

theta: 参数,要迭代求解的值

i=0

m: 训练集的样本个数

n: 是特征的个数

图片6.png

 

(1)批量梯度下降的步骤

①将 J(theta) 对 theta 求偏导,得到每个 theta 对应的梯度:

图片7.png

②最小化风险函数,所以按每个参数 theta 的梯度负方向,来更新每个 theta:

图片8.png

Θj‘ 是要更新的参数,Θj 是当前的参数值,沿着参数的梯度方向对Θ求偏导,最终就加上这个量

③从上式可以看到,每迭代一步都要用到训练集所有的数据,如果 m 很大,那么可想而知这种方法的迭代速度会相当的慢。(m 代表数据样本个数)

(2)随机梯度下降的步骤

①损失函数对应的是训练集中每个样本的粒度:

图片9.png

②每个样本的损失函数,对 theta 求偏导得到对应梯度,来更新 theta:

图片10.png

③随机梯度下降是通过每个样本来选代更新一次,如果样本量很大,可能只用到其中几千或者几万条样本,就将 theta 更新到最优解了。

虽然不是每次迭代得到的损失函数都向着全局最优方向,但是大的整体的方向是向全局最优解的,最终的结果往往是在全局最优解附近,适用于大规模训练样本情况。

3、牛顿法

牛顿法是一种在实数域和复数域上近似求解方程的方法。方法使用函数 f(x) 的泰勒级数的前面几项来寻找方程 f(x)=0 的根。牛顿法最大的特点就在于它的收敛速度很快。

图片11.png

图片12.png

Newton 迭代公式:

图片13.png

展开了泰勒级数的二阶导数,所以收敛速度很快,因为在提供一阶导的前提下还提提供了二街道,所以在求解的时候在二阶导数的前提下进行求解速度比较快。

从几何上来看,牛顿法就是用一个二次曲面去拟合你当前所处位置的局部曲面,而梯度下降法是用一个平面去拟合当前的局部曲面;通常情况下,二次曲面的拟合会比平面更好所以牛顿法选择的下降路径会更符合真实的最优下降路径。

图片14.png

红色:牛顿法

绿色:梯度下降法

4、拟牛顿法

拟牛顿法:求解非线性优化问题最有效的方法之一。

本质思想是改善牛顿法每次需要求解复杂的 Hessian 矩阵的逆矩阵的缺陷,它使用正定矩阵来近似 Hessian 矩阵的逆,从而简化了运算的复杂度。

图片15.png

这里 Bk 是一个对称正定矩阵,取这个二次模型的最优解作为搜索方向,并且得到新的迭代点: (近似牛顿法里面的 Hessian 矩阵,大大降低存储和计算量)

Xk+1=Xk+akPk

常用的拟牛顿法有 DFP 算法和 BFGS/L-BFGS 算法

一般的牛顿法在泰勒级数展开的时候会展开到二阶导数,所以在求解过程中会计算并且保存非常复杂的 Hessian 矩阵,可以理解为是二阶导数导出为元素的一个矩阵,在计算量和存储量方面都带来了很大的挑战。

5、OWLQN 在 CTR 预测中的应用

逻辑回归模型:在线性回归基础上,套用了一个逻辑函数。

图片16.png

图片17.png

单个样本的后验概率:

图片18.png

CTR 是点击率,在计算广告领域中点击率是非常重要的指标,QWLQN 名字比较复杂中文翻译叫面向 LBFGS 算法,引出一个概念是逻辑回归模型,在点击率预测中尤其是在计算广告各个领域中,逻辑回归模型可以看作是明星模型,在计算广告中进行大量的应用,本质是在线性回归的基础上套用了一个逻辑函数。

逻辑回归模型的函数图的最大值是永远接近于一不等于一,最小值也是接近于零,天然的可以表示一个概率的值域范围零到一之间。P(y)等于一代表的是当点击的用户点击广告的概率,P(y)等于零是用户不点击广告的概率,后验概率的原理是用户点不点击这次广告,相当于伯努利分布的一种形式,所以后验概率是伯努利的概率密度函数。

逻辑回归模型的极大似然函数:

图片19.png

log 似然:

图片20.png

有概率密度函数要估计出参数 θ ,最经典的方法是最大似然方法,也是求概率的最大值,出现了函数值的求极值的情况,表示的是单个样本的后验概率,有一大堆的训练数据有 M 个样本的时候,要把每一个样本的后验概率连成起来,得到极大似然函数,为了便于计算对似然函数取了一个 log,把乘方改成了相乘的形式,并且在似然函数外侧加 log,最后的目标是要使 log 自然达到一个最大,通常的做法是对 log 自然取一个负值,把最大化改为最小化的方法,把自然最大化转化为风险最小化。

似然最大化可以转化为最小化这个问题:  J(x)=l(x)+r(x)

Regularization term,用来对模型空间进行限制,从而得到一个更“简单”的模型,

图片21.png

L1-norm 和 L2-norm 之间的一个最大区别在于前者可以产生稀疏解,这使它同时具有了特征选择的能力,此外,稀疏的特征权重更具有解释意义。

l(x)是刚才定义的 log 自然函数是负方向的 log 自然数,r(x)是加进去的一个正则项,正则项的目的是为了对模型空间进行一个限制从而得到一个更简单的模型,如果只用 l(x)去做模型参数,在有限数据量很大的情况下,模型很容易达到一个过拟合,再用新数据线上使用的时候预测效果会非常差,所以加一个正则项,正则项比较常用的有两种,一种是 L1 正则,一种是 L2 正则。L1 正则得到的模型参数服从 Laplace 分布,L2 正则参数服从 Gaussian 分布。

选择 L1 正则的话,有不可导点用一般的梯度下降法,假设函数的所有部分都是可导的情况是不成立的,所以要使用新的求解方法去对参数进行估计,引用 OWLQN 的原理。

(1)次导数及次微分

在点 x0 的次导数的集合是一个非空闭区间 [a,b],其中 a 和 b 是单侧极限

图片22.png

它们之间一定存在,且满足 a≤b。所有次导数的集合 [a,b]称为函数 f 在 x 0 的次微分。

图片23.png

X0 是函数的不可导点,假设 X0 次导数的集合是一个非空闭区间 AB,A 和 B 都是一个单侧极限,A 是 X 趋近于 X0 左侧的时候的极限,极限值可以描述为函数值,在 X 趋近于 X0 左侧的时候,函数值的变化比上 X 的值的变化,然后 B 是 X 趋近于 X0右侧的时候,函数值的变化比 X 值的变化,即使有不可导点两个极限也是一定存在的,而且满足于左极限 A 小于等于右极限 B 的条件,所以次导数从 A 到 B 的集合称为 f 在 X0 的次微分,存在不可导点的情况对 LBFGS 算法做延伸,用虚梯度来代替 LBFGS 中的梯度。

(2)求一维搜索的可行方向时用虚梯度来代替 L-BFGS 中的梯度

图片24.png

公式代表虚梯度的取值,取值有三种情况分别是磁梯度大于零,小于零以及其他情况。三种情况的话可以通过三个图进行表示出来。

对于非光滑函数,虚梯度的选择有三种情况:

图片25.png

第一个图是在左侧梯度下大于零的时候,X0 左侧梯度大于零,说明右侧梯度肯定也大于零,因为右侧梯度永远是大于左侧梯度的,所以虚梯度的值会选择为左侧季度,因为左侧梯度是向着梯度下降的方向去前进。第二张图是右侧梯度小于零的情况,虚梯度的值也会选择右侧梯度,如果不符合两个条件说明 X0 两侧的左侧梯度和右侧梯度的符号是相反的,已经找到函数值的最小点,在 X0 等于零的时候的点。

一维搜索要求不跨越象限:

要求更新前权重与更新后权重同方向

图片26.png

除用虚剃度代替梯度外,要求一维搜索不跨越象限,每次参数的迭代更新前的权重和更新后的权重必须是同方向,其中一个是因为用的是 L1 的范数,所以在坐标轴的时候参数可能会被吸收掉,也就是参数可能得到的是 0 值,如果跨越会违背 L1 算法的初衷。

 

相关文章
|
3月前
|
机器学习/深度学习 存储 人工智能
论文阅读——Agile-Quant:面向大语言模型边缘端更快推理的激活引导量化框架
Agile-Quant是一种针对大语言模型(LLMs)在边缘设备上高效推理的激活引导量化框架。它通过分析激活特性,提出了一种结合激活引导量化与token剪枝的优化策略,有效缓解了激活量化中的异常值问题,并提升了模型在边缘设备上的推理速度。该方法在LLaMA、OPT和BLOOM等主流LLMs上验证,实现了高达2.5倍的实际加速,同时保持了优异的模型性能。
333 3
|
11月前
|
SQL Java 数据库连接
对Spring、SpringMVC、MyBatis框架的介绍与解释
Spring 框架提供了全面的基础设施支持,Spring MVC 专注于 Web 层的开发,而 MyBatis 则是一个高效的持久层框架。这三个框架结合使用,可以显著提升 Java 企业级应用的开发效率和质量。通过理解它们的核心特性和使用方法,开发者可以更好地构建和维护复杂的应用程序。
631 29
|
机器学习/深度学习 算法 安全
从方向导数到梯度:深度学习中的关键数学概念详解
方向导数衡量函数在特定方向上的变化率,其值可通过梯度与方向向量的点积或构造辅助函数求得。梯度则是由偏导数组成的向量,指向函数值增长最快的方向,其模长等于最速上升方向上的方向导数。这两者的关系在多维函数分析中至关重要,广泛应用于优化算法等领域。
1001 36
从方向导数到梯度:深度学习中的关键数学概念详解
|
机器学习/深度学习 算法
深度学习中的优化算法及其应用
本文探讨了深度学习中常用的优化算法,包括梯度下降、随机梯度下降、动量方法和Adam方法。通过对比这些算法的优缺点及适用场景,帮助读者更好地理解和应用这些优化方法。
306 2
|
传感器 算法 机器人
机器人SLAM建图与自主导航
前言 这篇文章我开始和大家一起探讨机器人SLAM建图与自主导航 ,在前面的内容中,我们介绍了差速轮式机器人的概念及应用,谈到了使用Gazebo平台搭建仿真环境的教程,主要是利用gmapping slam算法,生成一张二维的仿真环境地图 。我们也会在这篇文章中继续介绍并使用这片二维的仿真环境地图,用于我们的演示。 教程 SLAM算法的引入 (1)SLAM:Simultaneous Localization and Mapping,中文是即时定位与地图构建,所谓的SLAM算法准确说是能实现SLAM功能的算法,而不是某一个具体算法。 (2)现在各种机器人研发和商用化非常火 ,所有的自主机器
685 9
|
域名解析 缓存 网络协议
关于错误ERR_NAME_NOT_RESOLVED
如果以上方法都未能解决问题,你可能需要联系你的网络管理员或互联网服务提供商以获取更多帮助,或者考虑尝试在不同的网络环境中访问网站。
6675 0
|
监控 安全 物联网安全
物联网安全与隐私保护技术
物联网安全与隐私保护技术
479 0
|
机器学习/深度学习 存储 传感器
足球黑科技之AI与足球智能分析
最近的足球盛宴引发了球迷的狂欢,阿根廷对沙特的越位,日本对西班牙的出界球,葡萄牙对乌拉圭C罗是否碰到了球等热点事件是否引发了你的关注呢。其实在这些热点背后,离不开足球智能裁判的辅助,足球作为全世界最受欢迎的运动,也一直致力于和高科技的结合。此篇文章,给大家带来了足球视频智能分析,让我们一起看看AI是如何在足球运动中大放光彩的的吧!
1899 3
足球黑科技之AI与足球智能分析
|
机器学习/深度学习 分布式计算 并行计算
算法金 | 再见!!!梯度下降(多图)
**梯度下降及其优化算法简述** 梯度下降是一种优化算法,广泛用于机器学习和深度学习,通过迭代更新模型参数以最小化损失函数。它有几种变体,包括批梯度下降(使用全部数据)、随机梯度下降(单个样本)和小批量梯度下降(小批量样本)。每种形式在计算效率和稳定性上各有优劣。
756 4
算法金 | 再见!!!梯度下降(多图)