×

PyTorch教程12.2之凸度

消耗积分:0 | 格式:pdf | 大小:0.26 MB | 2023-06-05

李雪

分享资料个

凸性在优化算法的设计中起着至关重要的作用。这主要是因为在这种情况下分析和测试算法要容易得多。换句话说,如果算法即使在凸设置中也表现不佳,通常我们不应该希望在其他情况下看到很好的结果。此外,尽管深度学习中的优化问题通常是非凸的,但它们通常在局部最小值附近表现出凸问题的某些性质。这可能会导致令人兴奋的新优化变体,例如 ( Izmailov et al. , 2018 )

%matplotlib inline
import numpy as np
import torch
from mpl_toolkits import mplot3d
from d2l import torch as d2l
%matplotlib inline
from mpl_toolkits import mplot3d
from mxnet import np, npx
from d2l import mxnet as d2l

npx.set_np()
%matplotlib inline
import numpy as np
import tensorflow as tf
from mpl_toolkits import mplot3d
from d2l import tensorflow as d2l

12.2.1。定义

在凸分析之前,我们需要定义凸集凸函数它们导致了通常应用于机器学习的数学工具。

12.2.1.1。凸集

集合是凸性的基础。简单的说,一套X 在向量空间中是凸的,如果对于任何a,b∈X 连接的线段ab也在 X. 用数学术语来说,这意味着对于所有 λ∈[0,1]我们有

(12.2.1)λa+(1−λ)b∈X whenever a,b∈X.

这听起来有点抽象。考虑图 12.2.1第一组不是凸的,因为存在不包含在其中的线段。其他两组没有这样的问题。

https://file.elecfans.com/web2/M00/A9/CA/poYBAGR9ONiAbXl9AAAV34UF81I581.svg

图 12.2.1第一组是非凸的,另外两组是凸的。

定义本身并不是特别有用,除非您可以对它们做些什么。在这种情况下,我们可以查看如图 12.2.2所示的交叉点。假使,假设XY是凸集。然后 X∩Y也是凸的。要看到这一点,请考虑任何a,b∈X∩Y. 自从 XY是凸的,连接的线段ab都包含在 XY. 鉴于此,它们还需要包含在X∩Y,从而证明了我们的定理。

../_images/凸相交.svg

图 12.2.2两个凸集的交集是凸的。

我们可以毫不费力地加强这个结果:给定凸集 Xi, 他们的交集∩iXi 是凸的。要看到相反的情况不成立,请考虑两个不相交的集合X∩Y=∅. 现在挑 a∈Xb∈Y. 图 12.2.3中的线段连接ab 需要包含一些既不在X也不在 Y, 因为我们假设 X∩Y=∅. 因此线段不在X∪Y要么,从而证明通常凸集的并集不一定是凸的。

https://file.elecfans.com/web2/M00/A9/CA/poYBAGR9ONuAbQvuAAAPn5BHPpQ030.svg

图 12.2.3两个凸集的并集不一定是凸集。

通常,深度学习中的问题是在凸集上定义的。例如,Rd, 的集合d维实数向量,是一个凸集(毕竟,在任何两点之间的线Rd留在

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !