次梯度(subgradient)

次导数

设f在实数域上是一个凸函数,定义在数轴上的开区间内。
这种函数不一定是处处可导的,例如绝对值函数f(x) = |x| 。
对于下图来说,对于定义域中的任何x0,我们总可以作出一条直线,它通过点(x0, f(x0)),并且要么接触f的图像,要么在它的下方。
直线(红线)的斜率称为函数的次导数。次导数的集合称为函数f在x0处的次微分。

在这里插入图片描述

定义

对于所有x,我们可以证明在点x_0 的次导数的集合(这个集合里面的元素是无限多的,因为这里的红线可以不停地摇摆)是一个非空闭区间[a,b],其中a和b是单测极限。
a = lim ⁡ x − > x 0 − f ( x ) − f ( x 0 ) x − x 0 a = \lim_{x->x^-_0} \frac {f(x)- f(x_0)}{x-x_0} a=x>x0limxx0f(x)f(x0)
b = lim ⁡ x − > x 0 + f ( x ) − f ( x 0 ) x − x 0 b =\lim_{x->x^+_0} \frac {f(x)- f(x_0)}{x-x_0} b=x>x0+limxx0f(x)f(x0)
一定存在,且a<=b,在[a,b]内的所有次导数是f在x0的次微分。

例子

凸函数f(x)=|x|。在原点的次微分是[-1,1]。当x0<0时,次微分是单元素集合{-1},而x0>0时,次微分单元素集合是{1}。

性质

当函数在x0处可导时,次微分只有一个点组成,这个点就是函数在x0处的导数。

次梯度法

次梯度方法(subgradient method)是传统的梯度下降方法的拓展,用来处理不可导的凸函数。它的优势是比传统方法处理问题范围大,劣势是算法收敛速度慢。但它对不可导函数有很好的处理方法。
通过求函数在点的每一分量的次导数可以求出函数在该点的次梯度。


本文来自 changtingwai58 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/sinat_27612639/article/details/70049715?utm_source=copy

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值