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

『機械学習のための連続最適化』 補題2.10の証明

352
0

はじめに

『機械学習のための連続最適化』 p.30には補題 2.10として以下の補題が記述されている。

SRnを任意の集合とし、cRn, aRとすると
inf{cx+axS}=inf{cx+axconv(S)}
が成り立つ。

ここでconv(S)は集合Sの凸包を表し、infは集合の下限を表す。1次関数の最適値は凸包で探しても変わらないことを主張している。しかしながら、同書では本補題の証明が省略されていたため、それを補ってみようというのが本記事の主旨である。できるだけself-containedとするため、冗長さを厭わずに説明を書く方針である。

前提知識

凸集合について

まずは凸集合を定義する。

凸集合

空でない集合SRnにおいて、以下が成り立つとき、Sを凸集合とよぶ。
(1α)x+αySxS,yS,α[0,1]

要するに2点を結ぶ線分が「すっかりSに含まれる」ということである。続いて凸集合の共通部分に関する補題を述べる。

凸集合の共通部分はまた凸集合

S,Tを凸集合とすると、その共通部分STも凸集合である。

x,ySTを任意にとり、α[0,1]を任意にとる。示すべきは
(1α)x+αyST
である。
x,ySであるから、Sは凸集合という仮定より(1α)x+αySとなる。またx,yTであるから、Tは凸集合という仮定より(1α)x+αyTとなる。
したがって
(1α)x+αyST
が言えて、補題が示された。

任意個数の凸集合の共通部分について同様のことが成り立つ。

任意個の凸集合の共通部分はまた凸集合

Λを有限濃度の添字集合とし、凸集合の族を
{Sλ|Sλ,λΛ}
とする。このとき各凸集合の共通部分
λΛSλ={xSλ,λΛ}
も凸集合である。

補題1を繰り返し用いると、3つの凸集合についてその共通部分が凸集合であることがいえる。つまりR, S, Tをそれぞれ凸集合とすればRSが凸集合であり、(RS)Tが凸集合であることが補題1からいえる。以降、4つの凸集合の共通部分、5つの凸集合の共通部分、のように同様の手続きをΛの要素数(=濃度)まで繰り返せば補題が示される。

数学的帰納法を用いれば以下も成り立つ。

任意個の凸集合の共通部分はまた凸集合

Λを可算濃度の添字集合とし、凸集合の族を
{Sλ|Sλ,λΛ}
とする。このとき各凸集合の共通部分
λΛSλ={xSλ,λΛ}
も凸集合である。

添字集合が非可算無限のときも同様の補題が成り立つ。

Λを非可算濃度の添字集合とし、凸集合の族を
{Sλ|Sλ,λΛ}
とする。このとき各凸集合の共通部分
λΛSλ={xSλ,λΛ}
も凸集合である。

ただし選択公理は仮定している。

x,yλΛSλを任意にとり、α[0,1]を任意にとる。各λについて、x,ySλであるから、Sλは凸集合という仮定より(1α)x+αySλとなる。したがって
(1α)x+αyλΛSλ
が言えて、補題が示された。

凸包について

凸集合を用いて、凸包を定義することができる。

凸包

空でない集合SRnについて、Sを含む最小の凸集合を凸包とよぶ。

本記事ではSの凸包をconv(S)と書く。凸包の最小性を明示的に書くと以下を得る。

凸包

空でない集合SRnについて、Sを含む全ての凸集合の族をCとし、その添字集合をΛとする。すなわち
C={TλTλS,λΛ}
凸包はCに属する各凸集合Tλ (λΛ) の共通部分として
conv(S)=λΛTλ
と書くことができる。

Cに属する各集合はSを含むから、右辺もまたSを含む。補題1から4により、右辺もまた凸集合である。したがって凸包の最小性により
conv(S)λΛTλ
が成り立つ。一方、凸包もまたSを含む凸集合であるからconv(S)Cである。つまりあるλΛが存在してconv(S)=Tλである。ゆえに、
λΛTλconv(S)
が成り立つ。よって補題は示された。

凸集合の定義に現れた「二点を結ぶ線分」を複数点に一般化することで、凸結合が定義される。

凸結合

K(>0)個の実数α1,α2,,αKi=1Kαi=1を満たすようにとる。ただしα10,α20,,αK0である。対応してx1,x2,,xKRnとする。このとき、次式で定義されるxRnx1,x2,,xKの凸結合という。

x=α1x1+α2x2++αKxK

K=2の場合が上で述べた「二点を結ぶ線分」であり、K=3の場合が「三角形の周および内部」である。

さて凸包は凸結合を用いて書くこともできる。補題2.10を示すときのカギとなる定理である。

凸結合による凸包の表現

空でない集合SRnをとる。Sの凸包conv(S)Sに属する有限個の点の凸結合全体の集合に等しい。すなわち、
conv(S)=KN(x1,x2,,xK)SK{α1x1+α2x2++αKxK|i=1Kαi=1,αi0}

右辺はSから取ってくる点の個数をK=1,2,3,としたときの各凸結合から和集合をつくる、という意味である。またSKSの直積集合であり、「Sから点を(一斉に)K個選びだすこと」はSKから1点を選び出すことに等しい。本定理は『機械学習のための連続最適化』においては補題2.6として紹介されていたが、あいにく証明は省略されている。よってここで証明をつける。

定理の右辺で表される集合をRとする。conv(S)=Rを示したい。

(i)conv(S)Rについて:
SRは明らかである(K=1)。Rが凸集合であることを示せば、conv(S)の最小性によりconv(S)Rが言える。以下はその証明である。

x, yをそれぞれRの元とし,λ[0,1]とする。(1λ)x+λyRを示したい。
まずx=i=1Mαixiy=j=1Nβjyjとしてそれぞれの凸結合の表現を得る。各αi,βj,xi,yjRの制約に従う。すると
(1λ)x+λy=l=1Lγlzl
のように書ける。ただしL=M+Nであり、
{γ1,γ2,,,γL}={(1λ)α1,(1λ)α2,,,(1λ)αM,λβ1,λβ2,,,λβN}
である。各zlxiyjのいずれかでありzlSである。また各γl0であることも明らかである。さらに
l=1Lγl=(1λ)i=1Mαi+λj=1Nβj=(1λ)1+λ1=1
をも満たしている。よってl=1Lγlzlは凸結合であり、(1λ)x+λyRの元であることがわかった。

(ii)Rconv(S)について:
Kについての数学的帰納法により示す。

  • K=1のとき
    任意のxSがまたxconv(S)を満たすことは明らかである。

  • K=Nのとき成り立つと仮定する。
    すなわち、任意のx1,x2,,xNSについて、その凸結合がconv(S)に属すると仮定する。このとき任意のN+1個の点x1,x2,,xN,xN+1Sの凸結合がconv(S)に属することを示したい。
    いま、x1,x2,,xN,xN+1の凸結合が
    i=1N+1αixi
    と書けたとする。ただしαi0(i=1,2,,N+1)でありi=1N+1αi=1である。もしαN+1=1ならば、ほかのαi0になってしまうが、1xN+1=xN+1SとなるからK=N+1のときも成り立つ。よって以降は0αN+1<1と仮定する。
    上記の凸結合の式を変形すると
    i=1N+1αixi=i=1Nαixi+αN+1xN+1=(1αN+1)i=1Nαi1αN+1xi+αN+1xN+1
    を得る。i=1N+1αi=1であるからi=1Nαi=1αN+1であり、両辺を1αN+1>0で割ると
    i=1Nαi1αN+1=1
    である。またαi1αN+10は仮定より明らかである。ゆえに
    i=1Nαi1αN+1xi
    は凸結合であり、帰納法の仮定からconv(S)に属する。よって
    (1αN+1)i=1Nαi1αN+1xi+αN+1xN+1
    は二つのconv(S)の点に関する凸結合であり、conv(S)に属することがいえる。なぜならばK=1のときxN+1conv(S)の点であり、conv(S)はその定義により凸集合である(K=2のときの凸結合は凸集合の定義そのもの)。

以上により、任意のKNと任意のx1,x2,,xKSについて、その凸結合がconv(S)に含まれることが示された。(i)と(ii)によりconv(S)=Rがいえて、証明が終わる。

補題2.10の証明

以上の長い前置きを経て、ようやく本記事の目的である補題2.10の証明に入ることができる(メインパートなので定理扱い)。

『機械学習のための連続最適化』 補題2.10

SRnを任意の集合とし、cRn, aRとすると
inf{cx+axS}=inf{cx+axconv(S)}
が成り立つ。

左辺をα、右辺をβと置く。αβかつαβをそれぞれ示すことでα=βを証明する方針を取ることにする。

(i)αβ
βに関する下限の定義により、任意の実数ϵ>0に対してあるxconv(S)が存在し、
cx+a<β+ϵ
が成り立つ。このとき補題6により、あるKNi=1Kγi=1を満たす実数γi0i=1,2,,K)が存在して
x=i=1Kγixi,
と書けるから、
i=1Kγi(cxi+a)<β+ϵ
が成り立つ。左辺の各cxi+aの下限がαであるから
α<β+ϵ
である(i=1Kγi=1)。さてϵは任意だったから、特にnを自然数として右辺をbn=β+1/nと置いてみる。するとbnは単調減少数列で下に有界だからある極限値に収束するが、これがβに他ならない。α{bn}に対する1つの下界であり、βは最大下界の意味でαβが成り立つ。

(ii)βα
αに関する下限の定義より、任意の実数ϵ>0に対してあるxSが存在し、
cx+a<α+ϵ
が成り立つ。凸包の定義よりxconv(S)であり、左辺の下限がβであるから
β<α+ϵ
である。あとは(i)の最後と同じ論法でβαが示されるわけだが、背理法で示すこともできる。仮にβ>αとしてϵ=(βα)/2としてみる。するとβ<α+ϵ=(β+α)/2<βとなり、矛盾するのである。

以上、(i)と(ii)により、補題2.10が示された。

おわりに

本記事では『機械学習のための連続最適化』 補題2.10に証明をつけることを目的として、凸集合や凸結合の定義や補題をいくつか紹介した。それらの補題をもとにして一応の証明をつけることができ、当初の目的は達成されたと考えている。

肝心の「補題2.10」が、このあと補題としてどのように用いられるかについては、場所を改めて説明する機会を持ちたい(先延ばし!)。

参考文献

[1]
金森敬文、鈴木大慈、竹内一郎、佐藤一誠, 機械学習のための連続最適化, 機械学習プロフェッショナルシリーズ, 講談社, 2016
[2]
福島 雅夫, 非線形最適化の理論, 講座・数理計画法, 産業図書, 1980
投稿日:2021222
OptHub AI Competition

この記事を高評価した人

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

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

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

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

投稿者

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. はじめに
  2. 前提知識
  3. 凸集合について
  4. 凸包について
  5. 補題2.10の証明
  6. おわりに
  7. 参考文献