Convex Function

突然理解一些作者该写的不写,摸鱼的却写完的心情了……

Definition

这里的定义非常友好,国内外正好相反。所以这里不会说函数的凹凸性,统一说 convexconcave

这里,我们参考外文书中的规范,t(0,1),f(tx+(1t)y)tf(x)+(1t)f(y) 定义了 convex function。不等号反向的是 concave function

有几个等价的定义

f(x+y2)f(x)+f(y)2f(x)0

首先证明这样的定义是等价的。

1

t(0,1),f(tx+(1t)y)tf(x)+(1t)f(y)f(x+y2)f(x)+f(y)2

左边推出右边是显然的,取 t=12 即可。

右边推出左边的一个自然的想法是用二进制逼近。

发现

f(12nx+(112n)y)=f((12n1x+(112n1)y)+y2)12(f(12n1x+(112n1)y)+f(y))..(归纳)12nf(x)+(112n)f(y)

接下来处理分子就可以了。

首先,和上面一样,一个分子 S 如果对某个 n 成立,对于更大的也成立。

可以发现,n=1 的时候 0,1 是成立的,可以考虑证明对于任意 n2n1+k 还是成立的。

于是,取 1k<2n1k=0 的情况是显然的)

f(k+2n12nx+2n1k2ny)=f(x+(k2n1x+2n1k2n1y)2)12(f(x)+f(k2n1x+2n1k2n1y))..(归纳)k+2n12nf(x)+2n1k2nf(y)

然后用二进制逼近任意实数就可以了。

# 这个做法有点蠢,等会给个更好的做法。

2

t(0,1),f(tx+(1t)y)tf(x)+(1t)f(y)f(x)0

考虑证明,x<y,f(x)f(y)

一个直观的想法是证明 m:=12x+12y,f(m)f(x)mxf(y)f(x)yxf(y)f(m)ym

这个其实比较容易,只需要注意到 mx=12(yx)=ym 然后取 t=12 即可。

重复使用这个不等式,可以得到 a=(112n)x+12ny,b=12nx+(112n)y,f(a)f(x)axf(y)f(x)yxf(y)f(b)yb,这个就是左右导数的定义,然后你都二阶导了一阶导肯定是存在的,于是就得证了。

3

f(x)0f(x+y2)f(x)+f(y)2

不妨设 x<y,记 u=x+y2,在 (x,u),(u,y) 上分别用一下拉格朗日中值定理。

η1(x,u),f(η1)(ux)=f(u)f(x)η2(u,y),f(η2)(yu)=f(y)f(u)

于是就有

f(η1)=f(u)f(x)uxf(η2)=f(y)f(u)yu

注意到 ux=yu 就结束了。

4

现在给出 1 中所说更好的做法。

直观地看,函数是 convex 的等价于函数图像在弦下面,弦方程显然是 l(x)=f(a)+f(b)f(a)ba(xa)

考虑 g(x)=f(x)l(x),证明 g(x)max0 即可。

因为 l(x) 是一个线性函数,容易发现 f(x+y2)f(x)+f(y)2g(x+y2)g(x)+g(y)2

如果最大值在端点处取到,因为 g(a)=g(b)=0,那就做完了。

考虑在 x0(a,b) 处取到最大值,不失一般性,x0(a,a+b2)

这时有

g(x0)=g((2x0a)+a2)12(g(2x0a)g(x)max=g(x0)+g(a)=0)12g(x0)

于是 g(x)max=g(x0)0。得证。

连续性

convex function 在内闭区间上是 Lipschitz 连续的。也就是 x,y[a,b],|f(x)f(y)|=O(|xy|)

这里好像需要介绍一下内闭区间,首先 [a,b] 这样是闭区间,然后内的意思是 [a,b] 中都是定义域 I 的内点,也就是 x[a,b],存在一个 x 的邻域其中都是 I 中的点。

这里就是考虑定义 2 中证明的不等式:m:=12x+12y,f(m)f(x)mxf(y)f(x)yxf(y)f(m)ym,容易发现取 m=tx+(1t)y 也是对的,之前只是我懒了。

然后取 A,BI[a,b]s.t.A<a<b<B,可以知道

x,y[a,b],f(a)f(A)aAf(x)f(y)xyf(B)f(b)Bb

于是 |f(x)f(y)|M|xy|,其中 M=max{|f(a)f(A)aA|,|f(B)f(b)Bb|}

posted @   嘉年华_efX  阅读(57)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示

目录导航