导数、梯度、微分、次导数、次微分和次梯度的概念


首先感谢如下两位博主的精彩原创:
参考文献:
https://blog.csdn.net/bitcarmanlee/article/details/51896348
https://blog.csdn.net/qq_32742009/article/details/81704139
次导数、次微分和次梯度属于凸优化中的概念。在对三者进行阐述之前,先回顾下导数、微分、和梯度的概念。

导数

梯度在一元函数中的特例。

梯度

是一个向量,梯度的本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。计算时候,对每一维的方向求偏导。

微分

是一个增量

次导数

一元函数中的称呼
导数的泛化意义,如果函数f(x)在某点不可导,那么在该点函数f(x)就不存在导数,但在该点会存在次导数。
次导数,即通过该不可导点(x0,f(x0))的一条直线的斜率,该直线要在函数图像之下或者和函数图像重合,不能超过函数图像或与函数图像相交。即可以用下图来表示:
在这里插入图片描述

次微分

一元函数中的称呼
凸函数 f f f: I → R I→R IR在点 x 0 x_0 x0的次导数,是实数c使得:
f ( x ) − f ( x 0 ) ≥ c ( x − x 0 ) f(x) - f(x_0) \geq c(x - x_0) f(x)f(x0)c(xx0)
对于所有 I I I内的 x x x。我们可以证明,在点 x 0 x_0 x0的次导数的集合是一个非空闭区间[a, b],其中a和b是单侧极限
a = lim ⁡ x → x 0 − f ( x ) − f ( x 0 ) x − x 0 a = \lim_{ x \rightarrow x_0^-} \frac{f(x)-f(x_0)}{x - x_0} a=xx0limxx0f(x)f(x0)
b = lim ⁡ x → x 0 + f ( x ) − f ( x 0 ) x − x 0 b = \lim_{ x \rightarrow x_0^+} \frac{f(x)-f(x_0)}{x - x_0} b=xx0+limxx0f(x)f(x0)
它们一定存在,且满足a ≤ b。
所有次导数的集合[a,b][a,b]称为函数ff在x0x0的次微分。
例如:考虑凸函数f(x)=|x|f(x)=|x|。在原点的次微分是区间[−1, 1]。x0<0x0<0时,次微分是单元素集合{-1},而x0>0x0>0,则是单元素集合{1}。

次梯度

次导数在多元函数中的称呼
次导数和次微分的概念可以推广到多元函数。如果 f : U → R f:U→ R f:UR是一个实变量凸函数,定义在欧几里得空间 R n R^n Rn内的凸集,则该空间内的向量 v v v称为函数在点 x 0 x_0 x0的次梯度,如果对于所有 U U U内的 x x x,都有:
f ( x ) − f ( x 0 ) ≥ v ⋅ ( x − x 0 ) f(x)−f(x_0)≥v⋅(x−x_0) f(x)f(x0)v(xx0)
需要说明的是上面的概念是对一元函数的而言的,当然次导数和次微分也可以推广到多元函数。
结合上面梯度的定义来看,次导数是次梯度的一种特殊情况,即函数f只是一元函数。在忽略变量个数时,可以认为次导数和次梯度是一个概念。
一维次梯度称为次导数,通过求函数在某点的每一分量的次导数(对应可导中求对每个变量求偏导)可以求出函数在该点的次梯度。在一元函数中,某点所有次导数的集合被称为次微分,而在多元函数中,所有次梯度的集合被称为次微分。函数f在某不可微点的次梯度不唯一,特别的,当f可微的时候,次梯度和梯度等价。

次微分

次微分在多元函数中的称呼
所有次梯度的集合称为次微分,记为 ∂ f ( x 0 ) ∂f(x0) f(x0)。次微分总是非空的凸紧集。

Lasso(Least Absolute Shrinkage and Selection Operator)是一种用于线性回归问题的正则化方法,它通过加入L1惩罚项来约束模型的复杂度,从而实现特征选择和模型稀疏化。次梯度是对不可微函数的梯度的一种推广,可以用于求解Lasso问题。 求解Lasso问题的一种常见方法是使用次梯度下降算法。次梯度下降算法的基本思想是通过迭代的方式寻找函数的次梯度并进行优化次梯度是函数在某一点处的可微分下界,可以理解为函数的导数的推广。在Lasso问题中,我们需要求解的是如下形式的优化问题: minimize ||y - Xw||^2 + lambda * ||w||_1 其中,y是观测值,X是特征矩阵,w是待求解的参数向量,lambda是正则化参数。 通过使用次梯度下降算法,我们可以迭代地更新参数w的值。具体步骤如下: 1. 初始化参数向量w为0或随机值。 2. 根据当前w的值计算目标函数的次梯度值。 3. 根据次梯度的方向和步长更新参数w的值。 4. 重复步骤2和3,直到达到收敛条件(如目标函数值变化小于某个预定值)或达到最大迭代数。 通过以上过程,我们可以得到Lasso问题的次梯度最优解。 需要注意的是,Lasso问题可能存在多个次梯度最优解,因此在使用次梯度下降算法求解时,可能会得到不同的最优解。此外,次梯度下降算法的收敛速度相对较慢,可能需要较多的迭代数才能收敛。 综上所述,次梯度下降算法是一种求解Lasso问题的有效方法,它通过迭代地更新参数向量来寻找目标函数的次梯度最优解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值