講座の趣旨
- データ分析の手法の多くに考え方や解法が用いられている最適化の基本的な概念や計算法について、数学的知識に基づいて解説し、Pythonによる演習を行います。
到達目標
- 数理最適化とはどのような処理で、それによってどのようなことができるのかを把握します。
- どのような現実課題を解決するのに数理最適化が有用なのかを把握します。
- 数理最適化を用いるために、現実の課題をどのようにとらえて条件設定し、どのように定式化するのかを学びます。
- 定式化した条件における最適解を数学的にどのように導くのか、また、数学的に解けない問題についてコンピュータを用いてどのように近似解を導くのかを学びます。
数学レベル
- 高校までの理系数学と大学1・2年生レベルの偏微分と行列について、あらかじめある程度知っていることが望ましいです。
プログラミング知識
- コースではなく本講座単体(単科)で受講される場合には、Pythonの基本的な操作について、あらかじめある程度知っていることが望ましいです。
カリキュラム
-
最適化問題とは
- 三つの要素(決定変数、目的関数、制約条件)
- 最適化問題の具体例(乗換ルートや輸送計画など)
-
線形計画
- 問題の記述
- 演習:CVXPY を用いた線形計画問題の解き方(Pythonを使用)
- 双対定理
-
非線形計画
- 勾配とヘッセ行列
- 最適性条件
- 勾配法とニュートン法
- 等式制約とラグランジュ乗数法
-
2次計画と凸計画
- 対称行列の正定値性
- 2次計画問題とは
- 大域的最適解と局所最適解
- 凸集合と凸関数
- 凸計画問題とは
- 2次計画の応用(回帰分析とその正則化)
-
解法の演習
- 無制約最適化の解法を実装する(Pythonを使用)
-
(寒野 善博 教授)