R语言最优化问题中的共轭函数

2021-01-13 14:49:28 浏览数 (1)

原文链接:http://tecdat.cn/?p=18993

在回归模型研究中,我们将讨论优化,而经典工具就是所谓的共轭。给定函数f:Rp→R,其共轭值为函数f ⋆:Rp→R使得

可视化考虑一个简单的抛物线函数(在维度1中)f(x)= x ^ 2 / 2,然后f ⋆(2)是线x↦2x与函数f(x)之间的最大距离。

代码语言:javascript复制

f = function(x) x^2/2fstar = function(y) max(y*x-vf)

我们可以在下图上看到。

代码语言:javascript复制


polygon(c(x[idx2],rev(x[idx2])),c(vf[idx2],rev(x0*x[idx2],col=rgb(0,1,0,.3,border=NA)abline(a=0,b=x0,col="red")segments(x[i],x0*x[i],x[i],f(x[i]),lwd=3,col="red")

在这种情况下,我们实际上可以计算f⋆,因为

一阶条件是x⋆= y,因此

实际上,对于ℓp的共轭,我们可以使用以下代码对其进行可视化

代码语言:javascript复制


f = function(x) abs(x)^p/pfstar = function(y) max(y*x-vf)vi(1.5)
代码语言:javascript复制


f = function(x) abs(x)^p/pfstar = function(y) max(y*x-vf)vi(1, YL=c(0,10))

在那种情况下,如果f(x)= ∣x∣则

另一种情况是

我们可以在下面看到

代码语言:javascript复制

f = function(x) exp(x)fstar = function(y) max(y*x-vf)vi(1,YL=c(-3,3))

0 人点赞