多目的最適化問題:パレート最適化
定義
最適化問題で目的関数がベクトル関数に拡張された問題を 多目的最適化問題multi-objective optimization problem と呼び、このような問題を解くことを パレート最適化Pareto optimization と呼ぶ。
説明
最適化は通常損失関数と呼ばれ、$L : \mathbb{R}^{n} \to \mathbb{R}$のような形でその関数値を最小化する$x \in X$を求める問題とすることが多いが、もしその関数が同時に複数のタスクを行いベクトル関数$L = \left( L_{1} , \cdots , L_{m} \right)$として与えられるなら、$\mathbb{R}^{m}$において広く合意されるような順序の定義自体が存在しないため、単に一方向に最適化する意味も失われる。例えば、最適化の結果得られた関数が$L_{1}$を最小化することには優れているが$L_{2}$を最小化することにはひどい結果を出すなら、逆の場合も同様に、それらはそれぞれの領域でのみ最適化されているにすぎず、どちらが優れているとは言えない。
多目的最適化問題を一般的な最適化問題に変換する最も広く使われるアイデアは、次のようにそれらの重み和weighted sumによって新しい$L_{0}$を定義する方法がある。 $$ L_{0} = \sum_{k=1}^{m} \lambda_{k} L_{k} $$ 複数の目的関数があるという複雑さをハイパーパラメータの問題に転嫁したと見ることができる。皮肉なことに、この方法があまりに単純で直感的であるため、ベクトル目的関数がある場合でもパレート最適まで考える必要があるケースは思ったより多くない。
一方、パレート最適化において目的関数間のトレードオフtrade-offまで考慮したとき、有意義な解の集合を パレートフロント と呼ぶ。多目的最適化問題では、しばしばパレートフロントから最も意図に合った解を選択する過程が伴う。
