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

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

320
0
$$$$

はじめに

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

$S \subset \mathbb{R}^{n}$を任意の集合とし、$\mathbf{c}\in \mathbb{R}^{n}$, $a \in \mathbb{R}$とすると
\begin{equation} \mathrm{inf}\{ \mathbf{c}^{\top}\mathbf{x} + a \mid \mathbf{x} \in S \} = \mathrm{inf}\{ \mathbf{c}^{\top}\mathbf{x} + a \mid \mathbf{x} \in \mathrm{conv}(S) \} \end{equation}
が成り立つ。

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

前提知識

凸集合について

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

凸集合

空でない集合$S \subset \mathbb{R}^{n}$において、以下が成り立つとき、$S$を凸集合とよぶ。
\begin{equation} (1-\alpha)\mathbf{x} + \alpha \mathbf{y} \in S \; ただし\; \forall \mathbf{x} \in S, \forall \mathbf{y}\in S, \forall \alpha \in [0, 1] \end{equation}

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

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

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

$\mathbf{x}, \mathbf{y}\in S\cap T$を任意にとり、$\alpha \in [0, 1]$を任意にとる。示すべきは
\begin{equation} (1-\alpha)\mathbf{x} + \alpha \mathbf{y} \in S \cap T \end{equation}
である。
$\mathbf{x}, \mathbf{y}\in S$であるから、$S$は凸集合という仮定より$(1-\alpha)\mathbf{x} + \alpha \mathbf{y} \in S$となる。また$\mathbf{x}, \mathbf{y}\in T$であるから、$T$は凸集合という仮定より$(1-\alpha)\mathbf{x} + \alpha \mathbf{y} \in T$となる。
したがって
\begin{equation} (1-\alpha)\mathbf{x} + \alpha \mathbf{y} \in S \cap T \end{equation}
が言えて、補題が示された。

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

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

$\Lambda$を有限濃度の添字集合とし、凸集合の族を
\begin{equation} \{S_\lambda | S_\lambda は 凸集合, \lambda \in \Lambda\} \end{equation}
とする。このとき各凸集合の共通部分
\begin{equation} \bigcap_{\lambda\:\in\:\Lambda} S_\lambda = \{x \in S_\lambda, \forall \lambda \in \Lambda\} \end{equation}
も凸集合である。

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

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

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

$\Lambda$を可算濃度の添字集合とし、凸集合の族を
\begin{equation} \{S_\lambda | S_\lambda は 凸集合, \lambda \in \Lambda\} \end{equation}
とする。このとき各凸集合の共通部分
\begin{equation} \bigcap_{\lambda\:\in\:\Lambda} S_\lambda = \{x \in S_\lambda, \forall \lambda \in \Lambda\} \end{equation}
も凸集合である。

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

$\Lambda$を非可算濃度の添字集合とし、凸集合の族を
\begin{equation} \{S_\lambda | S_\lambda は 凸集合, \lambda \in \Lambda\} \end{equation}
とする。このとき各凸集合の共通部分
\begin{equation} \bigcap_{\lambda\:\in\:\Lambda} S_\lambda = \{x \in S_\lambda, \forall \lambda \in \Lambda\} \end{equation}
も凸集合である。

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

$\mathbf{x}, \mathbf{y}\in \bigcap_{\lambda\in\Lambda} S_{\lambda}$を任意にとり、$\alpha \in [0, 1]$を任意にとる。各$\lambda$について、$\mathbf{x}, \mathbf{y}\in S_\lambda$であるから、$S_\lambda$は凸集合という仮定より$(1-\alpha)\mathbf{x} + \alpha \mathbf{y} \in S_\lambda$となる。したがって
\begin{equation} (1-\alpha)\mathbf{x} + \alpha \mathbf{y} \in \bigcap_{\lambda\:\in\:\Lambda} S_\lambda \end{equation}
が言えて、補題が示された。

凸包について

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

凸包

空でない集合$S \subset \mathbb{R}^{n}$について、$S$を含む最小の凸集合を凸包とよぶ。

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

凸包

空でない集合$S \subset \mathbb{R}^{n}$について、$S$を含む全ての凸集合の族を$\mathcal{C}$とし、その添字集合を$\Lambda$とする。すなわち
\begin{equation} \mathcal{C} = \{T_\lambda \mid T_\lambda はSを含む凸集合, \lambda \in \Lambda\} \end{equation}
凸包は$\mathcal{C}$に属する各凸集合$T_{\lambda}$ ($\lambda \in \Lambda$) の共通部分として
\begin{equation} \mathrm{conv}(S) = \bigcap_{\lambda\: \in\: \Lambda} T_{\lambda} \end{equation}
と書くことができる。

$\mathcal{C}$に属する各集合は$S$を含むから、右辺もまた$S$を含む。補題1から4により、右辺もまた凸集合である。したがって凸包の最小性により
\begin{equation} \mathrm{conv}(S) \subset \bigcap_{\lambda\: \in\: \Lambda} T_{\lambda} \end{equation}
が成り立つ。一方、凸包もまた$S$を含む凸集合であるから$\mathrm{conv}(S) \in \mathcal{C}$である。つまりある$\lambda^{\prime} \in \Lambda$が存在して$\mathrm{conv}(S) = T_{\lambda^{\prime}}$である。ゆえに、
\begin{equation} \bigcap_{\lambda\: \in\: \Lambda} T_{\lambda} \subset \mathrm{conv}(S) \end{equation}
が成り立つ。よって補題は示された。

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

凸結合

$K(>0)$個の実数$\alpha_1, \alpha_2, \ldots, \alpha_K$$\sum_{i=1}^{K}\alpha_i = 1$を満たすようにとる。ただし$\alpha_1\geq 0,\:\alpha_2\geq 0,\:\ldots,\:\alpha_K\geq 0$である。対応して$\mathbf{x}_1, \mathbf{x}_2, \ldots, \mathbf{x}_K \in \mathbb{R}^{n}$とする。このとき、次式で定義される$\mathbf{x}\in \mathbb{R}^{n}$$\mathbf{x}_1, \mathbf{x}_2, \ldots, \mathbf{x}_K$の凸結合という。

\begin{equation} \mathbf{x} = \alpha_1 \mathbf{x}_1 + \alpha_2 \mathbf{x}_2 + \ldots + \alpha_K \mathbf{x}_K \end{equation}

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

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

凸結合による凸包の表現

空でない集合$S \subset \mathbb{R}^{n}$をとる。$S$の凸包$\mathrm{conv}(S)$$S$に属する有限個の点の凸結合全体の集合に等しい。すなわち、
\begin{equation} \mathrm{conv}(S) = \bigcup_{K\in \mathbb{N}} \bigcup_{\forall(\mathbf{x}_1, \mathbf{x}_2, \ldots, \mathbf{x}_K)\in S^{K}}\left\{\alpha_1 \mathbf{x}_1 + \alpha_2 \mathbf{x}_2 + \ldots + \alpha_K \mathbf{x}_K \mathrel{}\middle|\mathrel{} \sum_{i=1}^{K}\alpha_i = 1, \;\alpha_{i} \geq 0\right\} \end{equation}

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

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

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

$\mathbf{x},$ $\mathbf{y}$をそれぞれ$R$の元とし,$\lambda \in [0, 1]$とする。$(1-\lambda)\mathbf{x} + \lambda \mathbf{y} \in R$を示したい。
まず$\mathbf{x} = \sum_{i=1}^{M}\alpha_i \mathbf{x}_i$$\mathbf{y} = \sum_{j=1}^{N}\beta_j \mathbf{y}_j$としてそれぞれの凸結合の表現を得る。各$\alpha_i,\;\beta_{j},\;\mathbf{x}_i,\;\mathbf{y}_j$$R$の制約に従う。すると
\begin{equation} (1-\lambda)\mathbf{x} + \lambda \mathbf{y} = \sum_{l=1}^{L} \gamma_{l}\mathbf{z}_l \end{equation}
のように書ける。ただし$L=M+N$であり、
\begin{equation} \{\gamma_1,\; \gamma_2,\;, \ldots,\; \gamma_L\} = \{(1-\lambda)\alpha_1,\; (1-\lambda)\alpha_2,\;, \ldots,\; (1-\lambda)\alpha_M, \; \lambda\beta_1,\; \lambda\beta_2,\;, \ldots,\; \lambda\beta_N\} \end{equation}
である。各$\mathbf{z}_l$$\mathbf{x}_i$$\mathbf{y}_j$のいずれかであり$\mathbf{z}_l\in S$である。また各$\gamma_l \geq 0$であることも明らかである。さらに
\begin{equation} \sum_{l=1}^{L}\gamma_l = (1-\lambda)\sum_{i=1}^{M} \alpha_i + \lambda\sum_{j=1}^{N}\beta_j= (1-\lambda) \cdot 1 + \lambda \cdot 1 = 1 \end{equation}
をも満たしている。よって$\sum_{l=1}^{L} \gamma_{l}\mathbf{z}_l$は凸結合であり、$(1-\lambda)\mathbf{x} + \lambda \mathbf{y}$$R$の元であることがわかった。

(ii)$R \subset \mathrm{conv}(S)$について:
$K$についての数学的帰納法により示す。

  • $K=1$のとき
    任意の$\mathbf{x}\in S$がまた$\mathbf{x}\in \mathrm{conv}(S)$を満たすことは明らかである。

  • $K=N$のとき成り立つと仮定する。
    すなわち、任意の$\mathbf{x}_1, \mathbf{x}_2, \ldots, \mathbf{x}_N \in S$について、その凸結合が$\mathrm{conv}(S)$に属すると仮定する。このとき任意の$N+1$個の点$\mathbf{x}_1, \mathbf{x}_2, \ldots, \mathbf{x}_N, \mathbf{x}_{N+1} \in S$の凸結合が$\mathrm{conv}(S)$に属することを示したい。
    いま、$\mathbf{x}_1, \mathbf{x}_2, \ldots, \mathbf{x}_N, \mathbf{x}_{N+1}$の凸結合が
    \begin{equation} \sum_{i=1}^{N+1}\alpha_i \mathbf{x}_i \end{equation}
    と書けたとする。ただし$\alpha_{i} \geq 0\;(i=1, 2, \ldots, N+1)$であり$\sum_{i=1}^{N+1}\alpha_i = 1$である。もし$\alpha_{N+1}=1$ならば、ほかの$\alpha_i$$0$になってしまうが、$1\cdot \mathbf{x}_{N+1} = \mathbf{x}_{N+1} \in S$となるから$K=N+1$のときも成り立つ。よって以降は$0\leq \alpha_{N+1} < 1$と仮定する。
    上記の凸結合の式を変形すると
    \begin{eqnarray} \sum_{i=1}^{N+1}\alpha_i \mathbf{x}_i &=& \sum_{i=1}^{N}\alpha_i \mathbf{x}_i + \alpha_{N+1}\mathbf{x}_{N+1} \\ &=& (1-\alpha_{N+1})\sum_{i=1}^{N}\frac{\alpha_i}{1-\alpha_{N+1}}\mathbf{x}_i + \alpha_{N+1}\mathbf{x}_{N+1} \end{eqnarray}
    を得る。$\sum_{i=1}^{N+1}\alpha_i = 1$であるから$\sum_{i=1}^{N}\alpha_i = 1 - \alpha_{N+1}$であり、両辺を$1 - \alpha_{N+1} > 0$で割ると
    \begin{equation} \sum_{i=1}^{N}\frac{\alpha_i}{1-\alpha_{N+1}} = 1 \end{equation}
    である。また$\frac{\alpha_i}{1-\alpha_{N+1}} \geq 0$は仮定より明らかである。ゆえに
    \begin{equation} \sum_{i=1}^{N}\frac{\alpha_i}{1-\alpha_{N+1}}\mathbf{x}_i \end{equation}
    は凸結合であり、帰納法の仮定から$\mathrm{conv}(S)$に属する。よって
    \begin{equation} (1-\alpha_{N+1})\sum_{i=1}^{N}\frac{\alpha_i}{1-\alpha_{N+1}}\mathbf{x}_i + \alpha_{N+1}\mathbf{x}_{N+1} \end{equation}
    は二つの$\mathrm{conv}(S)$の点に関する凸結合であり、$\mathrm{conv}(S)$に属することがいえる。なぜならば$K=1$のとき$\mathbf{x}_{N+1}$$\mathrm{conv}(S)$の点であり、$\mathrm{conv}(S)$はその定義により凸集合である($\because$$K=2$のときの凸結合は凸集合の定義そのもの)。

以上により、任意の$K\in \mathbb{N}$と任意の$\mathbf{x}_1, \mathbf{x}_2, \ldots, \mathbf{x}_K \in S$について、その凸結合が$\mathrm{conv}(S)$に含まれることが示された。(i)と(ii)により$\mathrm{conv}(S)=R$がいえて、証明が終わる。

補題2.10の証明

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

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

$S \subset \mathbb{R}^{n}$を任意の集合とし、$\mathbf{c}\in \mathbb{R}^{n}$, $a \in \mathbb{R}$とすると
\begin{equation} \mathrm{inf}\{ \mathbf{c}^{\top}\mathbf{x} + a \mid \mathbf{x} \in S \} = \mathrm{inf}\{ \mathbf{c}^{\top}\mathbf{x} + a \mid \mathbf{x} \in \mathrm{conv}(S) \} \end{equation}
が成り立つ。

左辺を$\alpha$、右辺を$\beta$と置く。$\alpha \leq \beta$かつ$\alpha\geq \beta$をそれぞれ示すことで$\alpha=\beta$を証明する方針を取ることにする。

(i)$\alpha \leq \beta$
$\beta$に関する下限の定義により、任意の実数$\epsilon >0$に対してある$\mathbf{x} \in \mathrm{conv}(S)$が存在し、
\begin{equation} \mathbf{c}^{\top}\mathbf{x} + a < \beta + \epsilon \end{equation}
が成り立つ。このとき補題6により、ある$K \in \mathbb{N}$$\sum_{i=1}^{K}\gamma_{i} = 1$を満たす実数$\gamma_i \geq 0$$i=1,2,\ldots, K$)が存在して
\begin{equation} \mathbf{x} = \sum_{i=1}^{K}\gamma_{i}\mathbf{x}_{i}, \end{equation}
と書けるから、
\begin{equation} \sum_{i=1}^{K}\gamma_{i}(\mathbf{c}^{\top}\mathbf{x}_i + a) < \beta + \epsilon \end{equation}
が成り立つ。左辺の各$\mathbf{c}^{\top}\mathbf{x}_i + a$の下限が$\alpha$であるから
\begin{equation} \alpha < \beta + \epsilon \end{equation}
である($\because$$\sum_{i=1}^{K}\gamma_{i} = 1$)。さて$\epsilon$は任意だったから、特に$n$を自然数として右辺を$b_n = \beta + 1/n$と置いてみる。すると$b_n$は単調減少数列で下に有界だからある極限値に収束するが、これが$\beta$に他ならない。$\alpha$$\{b_n\}$に対する1つの下界であり、$\beta$は最大下界の意味で$\alpha \leq \beta$が成り立つ。

(ii)$\beta \leq \alpha$
$\alpha$に関する下限の定義より、任意の実数$\epsilon >0$に対してある$\mathbf{x} \in S$が存在し、
\begin{equation} \mathbf{c}^{\top}\mathbf{x} + a < \alpha + \epsilon \end{equation}
が成り立つ。凸包の定義より$\mathbf{x} \in \mathrm{conv}(S)$であり、左辺の下限が$\beta$であるから
\begin{equation} \beta < \alpha + \epsilon \end{equation}
である。あとは(i)の最後と同じ論法で$\beta \leq \alpha$が示されるわけだが、背理法で示すこともできる。仮に$\beta > \alpha$として$\epsilon = (\beta - \alpha) / 2$としてみる。すると$\beta < \alpha + \epsilon = (\beta + \alpha) / 2 < \beta$となり、矛盾するのである。

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

おわりに

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

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

参考文献

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

この記事を高評価した人

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

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

バッジはありません。

投稿者

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中