Lemma

応用数理·目安:学部 2〜4 年

最適化

最適性条件、凸解析、線形計画と双対定理、KKT 条件とラグランジュ双対、勾配法の収束解析、ニュートン法と準ニュートン法、確率的勾配法と離散最適化

章
7
目安
60〜80 時間
演習
47 問

まだ始めていません

前提となる科目01微分積分02線形代数
この科目の先に24機械学習

目次

  1. 1最適化問題とは生産計画・輸送・ポートフォリオ・最小二乗・ロジスティック回帰・最短路の定式化、最小値の存在(ワイエルシュトラスの定理と強圧性)、局所最適と大域最適、制約なし問題の 1 次・2 次の最適性条件、凸性への導入。7〜9 時間 · 演習 6 問
  2. 2凸集合と凸関数凸集合・凸包・錐・多面体、射影定理、分離定理と支持超平面定理、凸関数の 1 次・2 次条件、局所最適は大域最適、凸性を保つ演算、強凸性と LL-平滑性、劣勾配、共役関数。8〜11 時間 · 演習 6 問
  3. 3線形計画法標準形、実行可能領域の頂点と基底解、単体法(退化と巡回、ブランドの規則)、ファルカスの補題、双対定理と相補性条件、シャドウプライスと感度分析、輸送問題・割当問題、内点法。10〜14 時間 · 演習 8 問
  4. 4制約付き最適化と双対性ラグランジュの未定乗数法の復習、KKT 条件(必要条件と十分条件)、ラグランジュ双対と弱双対性、スレーター条件のもとでの強双対性、二次計画・ポートフォリオ最適化・サポートベクターマシン・water-filling の例。9〜12 時間 · 演習 8 問
  5. 5勾配法最急降下法とアルミホ条件、LL-平滑な凸関数での O(1/k)O(1/k) 収束と強凸での線形収束、条件数、ネステロフの加速法、射影勾配法、近接勾配法とラッソ、共役勾配法。8〜11 時間 · 演習 6 問
  6. 6ニュートン法と準ニュートン法ニュートン法の局所 2 次収束、減衰ニュートン法、ガウス–ニュートン法とレーベンバーグ–マーカート法、BFGS 更新と正定値性の保存、L-BFGS、内点法・バリア法の考え方。8〜11 時間 · 演習 7 問
  7. 7確率的最適化と離散最適化確率的勾配降下法の O(1/k)O(1/\sqrt{k}) 収束、ミニバッチ・モメンタム・Adam、非凸最適化の難しさ、整数計画と分枝限定法、ダイクストラ法と最小全域木の貪欲法、動的計画法、NP 困難性。10〜13 時間 · 演習 6 問

科目の概要

工場で何をどれだけ作るか(生産計画)、トラックでどの倉庫からどの店へ運ぶか(配送)、資金をどの資産にどれだけ配分するか(ポートフォリオ)、データに合うようにモデルのパラメータをどう決めるか(機械学習の学習)。見かけはまったく違うが、これらはすべて「決定変数 xx を制約 x∈Xx \in X のもとで選び、目的関数 f(x)f(x) を最小(または最大)にする」という同じ枠組みで書ける。最適化(数理最適化)は、この形の問題を数学として扱い、解き、得られた答えが本当に最良であることを確かめる分野である。

この科目では次の三つの問いを軸にする。最良の選択は存在するか。ある候補が最良であることをどう確かめるか(最適性条件と、双対性による最適性の「証明書」)。最良の選択をどう計算するか(アルゴリズムと、その収束の速さ)。

三つの問いのすべてで鍵になるのが凸性である。凸な問題では、局所的に最良な点が全体でも最良になり、勾配が 00 という 1 次の条件だけで最適性が判定できる。線形計画・最小二乗法・ロジスティック回帰・平均分散ポートフォリオはどれも凸であり、規模が大きくても信頼できる解法がある。一方、整数変数を含む問題(配送経路、スケジューリング)やニューラルネットワークの学習は凸でなく、大域的に最良な解を求めることは一般に難しい(0-1 整数計画は NP 困難な問題を含む)。おおまかには凸性が「解ける問題」と「難しい問題」を分けるので、実務では、問題を凸に定式化できるか、凸な問題で近似できるかが最も重要な判断の一つになる(最短路問題のように、凸でなくても特別な構造のおかげで効率よく解ける問題もある)。

この科目で学ぶことは次のとおりである。

  • 定式化、最小値の存在(コンパクト性と強圧性)、制約なし問題の最適性条件
  • 凸集合と凸関数:射影定理・分離定理、凸性の判定、強凸性と LL-平滑性、劣勾配
  • 線形計画:単体法、ファルカスの補題、双対定理とシャドウプライス
  • 制約付き最適化:KKT 条件、ラグランジュ双対、スレーター条件と強双対性
  • アルゴリズム:勾配法・加速法・近接勾配法、ニュートン法・準ニュートン法とその収束解析
  • 確率的勾配降下法と、整数計画・組合せ最適化

最適化は、微分積分(01)と線形代数(02)の上に立つ応用数学であり、統計学(最尤推定・回帰)、機械学習(学習とは損失関数の最小化である)、オペレーションズ・リサーチ、制御、金融工学の共通言語である。関数を変数とする無限次元の最適化は、変分法や関数解析につながる。

前提知識

  • 多変数の微分:01-calculus 第7章(勾配・ヘッセ行列・多変数のテイラーの定理、Rn\mathbb{R}^n のコンパクト集合と最大値・最小値の定理)。全章で使う。
  • 陰関数定理とラグランジュの未定乗数法:01-calculus 第8章。第4章で使う。
  • 1 変数の凸関数(01-calculus 第4章 4.7 節)と微分積分学の基本定理(第5章)。第2章で使う。
  • 線形代数:固有値(02-linear-algebra 第5章)、内積・直交射影・最小二乗法・実対称行列の直交対角化(第7章)、正定値性・特異値分解・レイリー商(第8章)。全章で使う。
  • コンパクト性:03-topology 第5章。第1章の最小値の存在で少し使うが、Rn\mathbb{R}^n の中の話なので 01-calculus 第7章の範囲で足りる。
  • 確率:第7章の確率的勾配降下法で、期待値と分散の基本的な性質を使う(22 統計学 第1章程度。測度論は使わない)。

この科目の記法

NOTATION.md に加えて、次の記法を使う。

記号 意味
x∈Rnx \in \mathbb{R}^n 縦ベクトル(太字にしない)
A⊤A^{\top} 転置(02-linear-algebra の tA{}^tA と同じもの)
⟨x,y⟩=x⊤y\langle x, y \rangle = x^{\top}y, ∥x∥\lVert x \rVert 標準内積とユークリッドノルム(特に断らなければ ℓ2\ell^2)
x≥0x \geq 0 各成分が 00 以上であること
∇f(x)\nabla f(x), ∇2f(x)\nabla^2 f(x) 勾配(縦ベクトル)とヘッセ行列
A⪰BA \succeq B, A≻BA \succ B 対称行列 A−BA - B が半正定値、正定値であること
p∗p^{\ast}, x∗x^{\ast} 最適値と最適解
argmin⁡x∈Xf(x)\operatorname{argmin}_{x \in X} f(x) 最適解の全体
PC(x)P_C(x) 閉凸集合 CC への射影
∂f(x)\partial f(x) 劣微分(劣勾配の全体)
f∗f^{\ast} 共役関数(最適値 p∗p^{\ast} と区別する)
1\mathbf{1} すべての成分が 11 のベクトル(定義関数 1A\mathbf{1}_A とは添字の有無で区別する)

到達目標

  • 生産計画・輸送・ポートフォリオ・回帰・分類・最短路などの問題を、決定変数・目的関数・制約で定式化し、線形計画・二次計画・凸計画・整数計画のどれにあたるか判定できる
  • 最小値の存在をコンパクト性や強圧性で示し、最適値が有限でも最適解が存在しない例を挙げられる
  • 制約なし問題の 1 次・2 次の必要条件と 2 次の十分条件を証明し、半正定値と正定値の違いを例で説明できる
  • 射影定理・分離定理・支持超平面定理を証明し、仮定(閉・コンパクト・開)の役割を説明できる
  • 凸性を 1 次・2 次条件と凸性を保つ演算で判定し、凸最適化では局所最適が大域最適になることを証明できる
  • 強凸性と LL-平滑性の同値な特徴づけを使って条件数の意味を説明でき、劣勾配を計算できる
  • 線形計画を単体法で解き、双対問題を作って双対定理と相補性条件で最適性を確かめ、双対変数をシャドウプライスとして解釈できる
  • KKT 条件を書き下し、制約想定のもとでの必要性と凸問題での十分性を証明できる。ラグランジュ双対問題を作り、スレーター条件のもとでの強双対性を示せる
  • 勾配法の収束率(LL-平滑な凸関数で O(1/k)O(1/k)、強凸で線形収束)を仮定とともに証明し、加速法・射影勾配法・近接勾配法の考え方を説明できる
  • ニュートン法の局所 2 次収束を証明し、減衰ニュートン法・ガウス–ニュートン法・BFGS 更新の考え方を説明できる
  • 確率的勾配降下法の収束を凸の場合に証明し、ミニバッチ・モメンタム・Adam の更新式を読める
  • 整数計画・最短路・最小全域木・ナップサック問題を扱い、分枝限定法・ダイクストラ法・貪欲法・動的計画法の考え方と正しさを説明できる

学習時間の目安と進め方

  • 全体で 60〜80 時間(1 章あたり演習を含めて 8〜12 時間)が目安である。学部 2〜4 年の講義 1〜2 科目分に相当する。
  • 第1章と第2章が土台である。第3章(線形計画)と第4章(KKT 条件と双対性)は第2章の分離定理を、第5章(勾配法)と第6章(ニュートン法)は第2章の強凸性と LL-平滑性を使う。第7章の前半は第5章を、後半は第1章と第3章を使う。
  • 目的に応じて読む順を変えてよい。機械学習のためなら「第1章 → 第2章 → 第5章 → 第4章 → 第7章 → 第6章」、生産・物流などのオペレーションズ・リサーチのためなら「第1章 → 第2章(2.1〜2.5 節)→ 第3章 → 第4章 → 第7章」が一つの目安である。
  • 理論と計算を往復すること。各章の小さな数値例は、NumPy で実装して確かめられる。収束率や条件数の影響のような理論の予言を、実際の反復の様子と比べてみるとよい。
  • 「得られた答えが本当に最良か」を確かめる習慣をつけること。最適性条件・双対問題による証明書(第1章 例 1.2、第3章・第4章)は、そのための道具である。
  • 仮定を外すと何が起こるかを反例で確かめること。本科目の主な反例:最適値が達成されない exe^x や完全分離のロジスティック回帰(第1章)、ヘッセ行列が半正定値でも局所最小でない x3x^3(第1章)、コンパクト性がないと強分離できない 2 つの閉凸集合(第2章)、定義域が開でないと 2 次条件が成り立たない例(第2章)、劣勾配の逆向きに進んでも値が下がらない例(第2章)。

参考文献

日本語

  • 福島雅夫『非線形最適化の基礎』(朝倉書店)— 非線形最適化の理論(凸解析、最適性条件、双対性)と基本的なアルゴリズムを、証明つきで体系的に述べた教科書。第1・2・4章の参照先。
  • 久野誉人・繁野麻衣子・後藤順哉『数理最適化』(オーム社)— 線形計画・非線形計画・組合せ最適化を一冊で学べる教科書。科目全体の副読本に向く。
  • 金森敬文・鈴木大慈・竹内一郎・佐藤一誠『機械学習のための連続最適化』(講談社)— 機械学習で使われる連続最適化(凸解析、勾配法、近接勾配法、確率的最適化など)を扱う。第2・5・7章の先を学ぶために。

英語

  • S. Boyd, L. Vandenberghe, Convex Optimization (Cambridge University Press) — 凸集合・凸関数・双対性の理論から、近似・統計的推定・幾何の応用、ニュートン法・内点法のアルゴリズムまでを扱う凸最適化の標準的な教科書。第2・4・6章の主な参照先。
  • J. Nocedal, S. J. Wright, Numerical Optimization (Springer) — 直線探索・信頼領域法・準ニュートン法・非線形最小二乗・制約付き最適化のアルゴリズムを、実用上の工夫を含めて詳しく扱う。第5・6章の参照先。
  • Y. Nesterov, Lectures on Convex Optimization (Springer) — LL-平滑性・強凸性のもとでの勾配法の収束率、加速法、計算量の下界などを厳密に扱う。第2章 2.7 節と第5章の参照先。
  • D. P. Bertsekas, Nonlinear Programming (Athena Scientific) — 最適性条件・ラグランジュ乗数・双対性・アルゴリズムを厳密に論じた教科書。
  • V. Chvátal, Linear Programming (W. H. Freeman) — 単体法と双対定理を中心に線形計画を丁寧に解説した古典。第3章の参照先。
  • A. Schrijver, Theory of Linear and Integer Programming (Wiley) — 多面体・線形計画・整数計画の理論を網羅した専門書。
  • B. Korte, J. Vygen, Combinatorial Optimization: Theory and Algorithms (Springer) — 最短路・最小全域木・ネットワークフロー・マッチング・NP 完全性などを扱う組合せ最適化の標準的な教科書。第7章の参照先。

次に学ぶもの

  • 24 機械学習の数理 — サポートベクターマシンの双対問題(第4章)、正則化と勾配法・確率的勾配法(第5章・第7章)が直接使われる。
  • 22 統計学 — 最尤推定・線形回帰・一般化線形モデルは最適化問題であり、一般化線形モデルの計算に使う IRLS(反復重み付き最小二乗法)は、正準リンクの場合はニュートン法(第6章)そのものである(22-statistics 第6章 定理 6.7)。
  • 10 関数解析 — 無限次元の最適化の基礎。ヒルベルト空間の最近点定理(第2章 定理 2.6)とハーン–バナッハの定理の幾何形(第4章)は、本科目第2章の射影定理と分離定理の無限次元版である。
  • 18 偏微分方程式論 第6章 — 変分法の直接法。強圧性と下半連続性による最小点の存在(本科目第1章)の無限次元版である。
  • 11 確率論 第5章 — 確率的勾配降下法のほとんど確実な収束などの精密な解析には、マルチンゲールの理論が使われる。