次梯度、次梯度下降

 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家:点击跳转

目录

一,次梯度

1,次梯度、次微分

2,次梯度的性质

3,共轭函数和次梯度

(1)共轭函数和原函数次梯度的对偶

(2)原函数次梯度和共轭函数次梯度的对偶

(3)共轭函数和共轭函数次梯度的对偶

4,近端映射函数和次梯度

(1)近端映射函数和次梯度的对偶

(2)原函数的近端映射函数和共轭函数的近端映射函数的对偶

(3)广义Moreau 分解

二,次梯度下降

三,镜像次梯度下降算法

1,Bregman距离

2,镜像次梯度下降算法

3,实例


一,次梯度

1,次梯度、次微分

函数f的次微分:

集合中的每个g都称为次梯度。

2,次梯度的性质

PS:第(2)条的集合加法是A+B={x+y | x in A && y in B} 

(4)凸函数的次梯度是一个非空有界凸集。

(5)某点处的次梯度含有0则代表该点是极值点。

3,共轭函数和次梯度

(1)共轭函数和原函数次梯度的对偶

f^*(y)=y^Tx-f(x)\leftrightarrow y \in \delta f(x)

y^Tx-f(x)的上确界在x处能取到,等价于,y是f在x处的次微分。

(2)原函数次梯度和共轭函数次梯度的对偶

x是共轭函数在y处的次梯度,等价于y是原函数在x处的次梯度。

例子:

例1,f是一元可微函数 

f的次微分是单元素集合{f'},y是原函数在x处的次梯度即y=f'(x)

根据共轭函数的导数和原函数的导数互为反函数可得,x等于共轭函数的导数在y处的值,

即x是共轭函数在y处的次梯度。

例2,f(x) = |x| 即一阶范数

f的次微分∂f是个分段函数,x<0时∂f={-1},x=0时∂f=[-1,1], x>0时∂f={1}

f的共轭函数是f*(y)=0, y∈[-1,1],

f*的次微分∂f*是个分段函数,y=-1时∂f*=(-∞,0],  y∈(-1,1)时,∂f*={0},y=1时∂f*=[0,+∞)

显然2个次微分完全对应。

应用:

(3)共轭函数和共轭函数次梯度的对偶

 f^*(y)=y^Tx-f(x)\leftrightarrow x \in \delta f^*(y)   

y^Tx-f(x)的上确界在x处能取到,等价于,x是f*在y处的次微分。

4,近端映射函数和次梯度

(1)近端映射函数和次梯度的对偶

u=prox_f(x)\Leftrightarrow x-u \in \delta f(u)

推导:

(2)原函数的近端映射函数和共轭函数的近端映射函数的对偶

即Moreau 分解:

prox_f(x)+prox_{f^*}(x)=x

推导:

(3)广义Moreau 分解

prox_{af}(x)+a \, prox_{a^{-1}f^*}(a^{-1}x)=x

推导:

g(x)=af(x)\rightarrow \\prox_{g^*}(x)=a \, prox_{a^{-1}f^*}(a^{-1}x)\\prox_{g^*}(x)=x-prox_g(x)=x-prox_{af}(x)\\ \rightarrow a \, prox_{a^{-1}f^*}(a^{-1}x)=x-prox_{af}(x)\\\rightarrow prox_{af}(x)+a \, prox_{a^{-1}f^*}(a^{-1}x)=x

二,次梯度下降

在不可微分的场景下,用次梯度取代梯度做梯度下降。 

实际上,各种梯度下降可以对应各种次梯度下降(不一定所有的都能对应)。

比如:

普通梯度下降 对应 普通次梯度下降

投影梯度下降 对应 投影次梯度下降

三,镜像次梯度下降算法

来自这个学习资料

1,Bregman距离

2,镜像次梯度下降算法

迭代求解:

3,实例

比如:

4,收敛条件

  • 19
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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、付费专栏及课程。

余额充值