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

拓端tecdat|R语言最优化问题中的共轭函数_数据

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

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

我们可以在下图上看到。

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

拓端tecdat|R语言最优化问题中的共轭函数_r语言_02

 

 

拓端tecdat|R语言最优化问题中的共轭函数_数据_03

 

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

拓端tecdat|R语言最优化问题中的共轭函数_数据_04

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

拓端tecdat|R语言最优化问题中的共轭函数_统计分析_05

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

  1.   
  2.  
    f = function(x) abs(x)^p/p
  3.  
    fstar = function(y) max(y*x-vf)
  4.  
    vi(1.5)

拓端tecdat|R语言最优化问题中的共轭函数_r语言_06

 

 

  1.   
  2.  
    f = function(x) abs(x)^p/p
  3.  
    fstar = function(y) max(y*x-vf)
  4.  
    vi(1, YL=c(0,10))

拓端tecdat|R语言最优化问题中的共轭函数_数据_07

 

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

拓端tecdat|R语言最优化问题中的共轭函数_r语言_08

 

另一种情况是 

拓端tecdat|R语言最优化问题中的共轭函数_统计分析_09

 

我们可以在下面看到

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

 

拓端tecdat|R语言最优化问题中的共轭函数_统计分析_10


拓端tecdat|R语言最优化问题中的共轭函数_数据_11