0
大学数学基礎解説
文献あり

凸関数の性質

469
0

はじめに

主成分分析を勉強している中で, 最小性について気になったのでまとめた.
一通り書いた後に凸関数使わなくてもいけるなと思ったけど備忘録.

ゴールは次の命題である((1), (2)は同じことを述べている).

お気持ち命題
  1. C2級凸関数において, 最小値を求めたければ微分して0となる点を求めればよい.
  2. f:RnRC2級でHfが半正定値なら, 最小値を求めたければ微分して0となる点を求めればよい.

微分して0になる点を停留点と呼ぶが、一般に停留点は極値点になるとは限らない.
極値であっても極大値か極小値かは分からないし、最大値か最小値かはもっと分からない.
しかし上に挙げた条件を満たせば, 停留点は直ちに最小値を取る点になる(すごい).

凸関数の定義

  1. f:RnRが凸関数であるとは,
    任意のu,vRn,λ(0,1)に対し, 以下が成り立つ:
    f((1λ)u+λv)(1λ)f(u)+λf(v)
  2. f:RnRが狭義凸関数であるとは,
    任意のuvRn,λ(0,1)に対し, 以下が成り立つ:
    f((1λ)u+λv)<(1λ)f(u)+λf(v)

一変数における判定条件

一変数凸関数には次の判定条件がある.

f:RRC2級であるとき, 以下は同値.
(1) f: 凸関数
(2) f: 非減少関数, すなわちt1t2R,f(t1)f(t2)
(3) tR,f(t)0

証明の流れは主に凸関数に倣う.
(1)(2). t1<t2に対し, x(t1,t2)について, x=(1λ)t1+λt2,(λ(0,1))と表せることに注意する. 実際, x(t1,t2)について, s(0,t2t1),x=t1+s. これより λ=st2t1(0,1)とおけばよい. このとき,
f(x)f(t1)xt1=f((1λ)t1+λt2)f(t1)((1λ)t1+λt2)t1((1λ)f(t1)+λf(t2))f(t1)λ(t2t1)=λ(f(t2)f(t1))λ(t2t1)=f(t2)f(t1)t2t1
xt1として, f(t1)f(t2)f(t1)t2t1. 同様に
f(t2)f(x)t2xf(t2)f(t1)t2t1
xt2として, f(t2)f(t2)f(t1)t2t1. よって, f(t1)f(t2)よりfは非減少である.
(2)(3). 明らか. 実際にx<yについてf(x)f(y)より,
f(y)f(x)yx0.
yxとすればf(x)0を得る.
(3)(1). テイラーの定理(杉浦解析I, 定理2.10)により, z,wR, cR,s.t.
f(w)=f(z)+f(z)(wz)+f(c)(wz)22.
f(c)0から,
f(w)f(z)+f(z)(wz).
特にw=a,b,z=(1t)a+tb,t(0,1)について,
f(a)f(z)+f(z)(az)f(b)f(z)+f(z)(bz).
が成り立つ. このとき,
(1t)f(a)+tf(b)(1t){f(z)+f(z)(az)}+t{f(z)+f(z)(bz)}={f(z)+f(z)(az)}+t{{f(z)+f(z)(az)}+{f(z)+f(z)(bz)}}={f(z)+f(z)(az)}+tf(z){(az)+(bz)}=f(z)+f(z){a{(1t)a+tb}}+tf(z)(ba)=f(z)+f(z)t(ab)+tf(z)(ba)=f(z)=f((1t)a+tb).
よって定義よりfは凸関数である.

狭義凸関数についても一部類似の命題が成り立つ. (スキップしてもゴールの命題には影響ない)

f:RRC2級とする. 命題
(1) f: 狭義凸関数
(2) f: 狭義単調増加関数, すなわちt1<t2R,f(t1)<f(t2)
(3) tR,f(t)>0
に対し, (1)(2), (3)(1)が成り立つ.

(1)(2). 狭義凸関数は凸関数であるから, 命題2よりfは非減少. t1<t2で, f(t1)=f(t2)とすると, fの非減少性からx[t1,t2],f(x)=f(t1). すなわち[t1,t2]上でfは定数. よって(t1,t2)上でf=0. これよりテイラーの定理を用いるとx(t1,t2]R,c(t1,x)(t1,t2),
f(x)=f(t1)+f(t1)(xt1)+12!f(c)(xt1)2=f(t1)+f(t1)(xt1)f(t1)=f(x)f(t1)xt1
さて任意のx=(1λ)t1+λt2,(λ(0,1))に対して, 狭義凸性から
f(x)<(1λ)f(t1)+λf(t2).
このとき,
f(t1)=f(x)f(t1)xt1<(1λ)f(t1)+λf(t2)f(t1)(1λ)t1+λt2t1=λ(f(t2)f(t1))λ(t2t1)=f(t2)f(t1)t2t1=f(t1)
これは矛盾. よってfは狭義単調増加.
(2)(1). 対偶で示す.
xyR,λ(0,1),f((1λ)x+λy)=(1λ)f(x)+λf(y)
とする. 必要ならλ=1λとおくことでx<yとしてよい. c=(1λ)x+λyとおくと, f(y)f(x)yx=f(c)f(x)cxが成り立つ.
ここで, 平均値の定理(杉浦解析I, 定理2.3)よりそれぞれ
t1(x,y),f(t1)=f(y)f(x)yxt2(x,c),f(t2)=f(c)f(x)cxt3(c,y),f(t3)=f(y)f(c)yc
が成り立ち, f(t1)=f(t2)である. f(t1)を変形すると,
f(t1)=f(y)f(x)yx=(f(y)f(c))+(f(c)f(x))yx=f(y)f(c)yx+f(c)f(x)cxcxyx
したがって,
f(y)f(c)yx+f(t2)cxyx=f(t2)f(y)f(c)yx=f(t2)(1cxyx)f(y)f(c)=f(t2)((yx)(cx))=f(t2)(yc)f(y)f(c)yc=f(t2)f(t3)=f(t2)
ここでt2<t3であるからfは狭義単調増加でない.
(3)(1). 命題2の(3)(1)と同様にして, zwR,
f(w)>f(z)+f(z)(wz)
が成り立つ. あとは同様.

命題3において一般に(2)(3)は成り立たない.
実際にf(x)=x4を考えると, f(x)=4x3は狭義単調増加だが, f(x)=12x2f(0)=0となる.

続いて凸関数とヘッセ行列の関係性をみる.

ヘッセ行列と半正定値

ヘッセ行列

f:RnRC2級のとき, 2回偏導関数を成分に持つ行列
Hf(x)=(2fxixj(x))
をヘッセ行列と呼ぶ.

半正定値・正定値

B: n次対称行列に対し, 二次形式Q:RnR,xxtBxを考える.
(1) B:半正定値 defxRn,Q(x)0.
(2) B:正定値 def0xRn,Q(x)>0.

凸関数とヘッセ行列には次の関係性がある.

f:RnRに対し, 次が成り立つ.
(1) f:凸関数uRn, ヘッセ行列Hf(u): 半正定値
(2) f:狭義凸関数uRn, ヘッセ行列Hf(u): 正定値

  1. b,cRnに対し一変数関数hb,c
    hb,c:RR,tf((1t)b+tc)
    で定める(以降添え字を省略してたりする). まず次が成り立つ.
    f:凸関数b,cRn,hb,c:C2級凸関数
    証明

    (). t1,t2R,λ(0,1),
    hb,c((1λ)t1+λt2)=f({1((1λ)t1+λt2)}b+((1λ)t1+λt2)c)=f((1λ)(t1b+t1c)+λ(t2b+t2c)+b)=f((1λ)((1t1)b+t1c)+λ((1t2)b+t2c))(1λ)f((1t1)b+t1c)+λf((1t2)b+t2c)=(1λ)hb,c(t1)+λhb,c(t2)
    よって, hb,cは凸関数. またfC2級であることからhb,cC2級.
    (). b,cRnに対して, hb,cを考えるとhb,c(0)=f(b),hb,c(1)=f(c)より, t(0,1),
    f((1t)b+tc)=hb,c(t)=hb,c((1t)0+t1)(1t)hb,c(0)+thb,c(1)=(1t)f(b)+tf(c)
    よって, fは凸関数.


    また命題2より,
    b,cRn,hb,c:C2級凸関数b,cRn,tR,hb,c(t)0
    さらに任意のb,cRn,tRに対し, u=cb,y=(1t)b+tcと置くと, hb,c(t)=uTHf(y)uが成り立つ. 実際,
    gb,c:RRn,t(1t)b+tc
    とおくと, h=fgと書ける. gi=πigi番目の射影, y=g(t)とおくと, h(t),h(t)は連鎖率によって,
    h(t)=f(y)g(t)=[fx1fxn][g1tgnt]=i(cibi)fxi(y)=i(cibi)fxig(t)h(t)=i(cibi)(fxig(t))=i(cibi)[fxix1fxixn][c1b1cnbn]=i(cibi)j(cjbj)fxixj(y)=i,j(cibi)(cjbj)fxixj(y)=uTHf(y)u
    よって,
    b,cRn,hb,c(t)0yRn,Hf(y):半正定値
    (). y,uRnに対しt=0,b=y,c=y+uとおくと, 0hb,c(t)=uTHf(y)u. よって任意のyRnに対し, Hf(y)は半正定値.
    (). 明らか.
    以上をまとめて(1)を得る.
  2. hb,c(t)=uTHf(y)uであることから同様に
    bcRn,hb,c(t)>0yRn,Hf(y):正定値
    が成り立つ. よって同様にしてHf(y)が正定値なら命題3と合わせて, fは狭義凸.

凸関数の最小性に関する性質

  1. C2級凸関数における停留点は最小点
  2. 狭義凸関数において最小値を持てばただ一つ
  1. 多変数のテイラーの定理(杉浦解析I, 定理7.2) より, y,xRn,h:=yx,θ(0,1)s.t.
    f(y)=f(x)+(df)x(h)+12!(d2f)(x+θh)(h)=f(x)+f(x)h+hTHf(x+θh)h
    命題3(1)より凸関数のヘッセ行列は半正定値であるからhTHf(x+θh)h0. よって,
    f(y)f(x)+f(x)h
    ここでxfの停留点とするとf(x)=0からf(y)f(x)を得る.
    したがって, fxにおいて最小値を取りxは最小点である.

  2. fx,y(xy)において最小値f(x)=f(y)を取るとする. 狭義凸性からλ(0,1),
    f((1λ)x+λy)<(1λ)f(x)+λf(y)=f(x)
    これはf(x)の最小性に矛盾. よって最小値を取る点は唯一つ.

命題5

f:C2級でHf:半正定値なら, fの停留点はfの最小点.

命題3(1)から直ちに従う. (というか命題4の証明は半正定値であることを用いている).

まとめ

以上よりゴールとなるお気持ちの系を得る.

命題5
  1. C2級凸関数において, 最小値を求めたければ微分して0となる点を求めればよい.
  2. f:RnRC2級でHfが半正定値なら, 最小値を求めたければ微分して0となる点を求めればよい.

ちなみに関連話題としてvariantcovariantにあるように分散共分散行列が半正定値というのがあるらしい. これについては今後書き留めたい.

参考文献

投稿日:20241224
更新日:313
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

Rinake
1
519

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. はじめに
  2. 凸関数の定義
  3. 一変数における判定条件
  4. ヘッセ行列と半正定値
  5. 凸関数の最小性に関する性質
  6. まとめ
  7. 参考文献