第 3 章 最適化アルゴリズムのパラメータ調整のためのメタ最適化 52
3.6 複数の適合関数を考慮した多目的メタ最適化問題
(a)
探索点変位および最良点との距離による調整則c(k + 1) = F (c(k), ||v(k)||, ∆
g(k)) (3.42)
(b)
イテレーション経過割合による調整則c(k + 1) = F (c(k), t(k)) (3.43)
(c)
目的関数改善割合による調整則c(k + 1) = F (c(k), p
s(k)) (3.44)
の
3
種類のフィードバック型動的調整則である.本論文では,与えられた解くべき最適化 問題と,それに適用したいアルゴリズムにとって,そのアルコリズム中のパラメータをイ テレーション経過とともに調整するための調整則をGP
により進化的に獲得した結果を次 章で示す.なる目的関数が存在する多目的最適化問題ではなく,異なる複数種の評価対象を同一の評 価関数で評価する多目的最適化問題であることに注意されたい.
一般に多目的最適化問題の合理解は,より優れた許容解が他に存在しない解である
Pareto
解(
非劣解)
とされるが,すべての目的関数に共通した最適解が存在しない場合,このPareto
解は一般に無限個の要素をもつ集合となる.目的関数の個数が2
,3
個の場合は,数多く の探索点からなる多点型探索法を用い,そのPareto
解集合全体を多くの探索点で被覆する 手法が登場している.しかし,目的関数の個数が比較的多い場合には,解集合全体を多く の探索点で被覆しても,その解集合の広さのために特定の解を選好することが困難となり 実用性に乏しい.このため一般的には,Pareto
解の集合内の限られた解を最適解として与 えるという意味で等価な単一目的関数最適化問題を,多目的最適化問題に代替させて定式 化して解くことが行われる.その代表例として,重み付け和最適化問題と重み付け最大成 分最小化問題をあげておく.前者は,F
min
(·,·)∑
R r=1w
rJ (x
∗(K); E
r) where x
∗( · ) solution to
{
x(k + 1) = A(χ(k), c(k); E
r) c(k + 1) = F (c(k), χ(k))
k = 0, 1, . . . , K − 1
χ(0); given, c(0); given, w
r; given r = 1, . . . , R
(3.46)
と定式化されるのに対して,後者は
F
min
(·,·)max
r
w
rJ (x
∗(K); E
r) where x
∗( · ) solution to
{
x(k + 1) = A(χ(k), c(k); E
r) c(k + 1) = F (c(k), χ(k))
k = 0, 1, . . . , K − 1
χ(0); given, c(0); given, w
r; given r = 1, . . . , R
(3.47)
と定式化される.ここで,重み係数
w
r, r = 1, . . . , R
は(w
1, . . . , w
R)
T∈ {w |
∑
R r=1w
r= 1, w
r≥ 0, r = 1, . . . , R} (3.48)
であり,
(3.48)
式を満たす重み係数に対して,重み付け和最適化問題(3.46)
や最大成分最小化問題
(3.47)
の最適解がPareto
解になる.しかし,重み付け和最適化問題(3.46)
では,その目的関数が非凸の場合,任意の
Pareto
解を与える重み係数が存在するのとは限らない 欠点,重み付け最大成分最小化問題(3.47)
では,最大値関数の最小化のために勾配を用い た簡易的計算手法の適用が容易でない欠点が存在する.ところで,複数の目的関数の関数形が陽に表現され,決定変数をそれに代入して評価を 行う場合,計算の手間は比較的要しない.しかし,本論文で定式化した問題のように,計 算機シミュレーションの実行結果・シミュレータや実システムの稼動結果を評価するとき に,異なる評価対象が複数の存在する場合,それらすべての実行や稼動を
1
イテレーショ ンの過程内においていわゆるバッチ処理で行うことは,著しく不効率になる場合がある.このことを問題
(3.46)
や(3.47)
において具体的に当てはめると,調整則F
を有するメタ ヒューリスティクスA
を目的関数E
rごとに動作させることを評価対象の種類数のR
回繰 り返し,それらの評価結果に対して重み付けして,問題(3.46)
や(3.47)
の目的関数値を求 めて,それらを減少させるようにイテレーションを初めて更新することになる.そこで,必ずしも多目的最適化問題の
Pareto
解が得られる保証はないが,イテレーショ ンごとに,複数の評価対象の中から単一の対象のみを選択し,それに対する評価値だけを 改善するように決定変数を微小幅だけ更新することを,イテレーションの更新ごとに選択 する評価対象を変更して繰り返す方式である.この場合,評価対象の選択は,複数の評価 対象から無作為に選択する方式と,評価対象に付された番号順に選択する方式がある.本 論文では,後者の方式を採用するものとする.多目的最適化問題(3.45)
をメタ最適化問題 として想定した場合,メタヒューリスティクスのアルゴリズムA
のイテレーション番号k
と区別して,メタ最適化問題を解く評価対象逐次選択型解法のアルゴリズムのイテレー ション番号にギリシャ文字K
を用いると,以下のように記述することができる.Step 1
評価対象の目的関数E
1を選択し,試行的な調整則F
(1)を設定し,K = 0
とおく.Step 2
第K
イテレーションに対応してr = ( K mod R) + 1
とおき,評価対象の目的関 数E
rを選択し,調整則F
(K)を有するメタアルゴリズムA
を目的関数E
rに対し て動作させる.すなわち{
x(k + 1) = A(χ(k), c(k); E
r) c(k + 1) = F
(K)(c(k), χ(k))
k = 0, 1, . . . , K − 1
を実行して解
x
∗(K)
を求め,その評価値J (x
∗(K ); E
r)
を得る.そして,この値 を改善する新調整則F
(K+1)の発見を試みて,その成否に関わらず,次のStep
へ 行く.Step 3
評価値J (x
∗(K); E
r)
を改善する新調整則F
(K+1)が発見できればK = K + 1
と し,そのような新調整則が発見できなければ,F
(K+1)= F
(K)とし,Step 2
へ戻 る.このような評価対象逐次選択型解法では,イテレーション番号
K
の更新と評価対象とし て選択される目的関数の添字番号r
の更新が同期し,イテレーション番号がR
回更新され るごとに同じ目的関数が評価対象として選択されることが繰り返される.3.7 遺伝的プログラミングによるメタ最適化問題の解法
前節で定式化した多目的メタ最適化問題
(3.45)
,あるいはその代替問題である単一目的 関数メタ最適化問題 , は,調整則を規定する関数 を生成する問題であり,関数空間内でこの最適な関数を直接探索することは容易でない.そこで,何らかの近似関 数を想定してこれを求めるいわゆる「関数近似問題」に置き換えて解くことが合理的であ る.パラメータ
c
の次元(
すなわち調整したいパラメータの個数)
をI
個とし,議論簡単 化のために,関数F
を単にc(k)
からc(k + 1)
への関数とみなすと,関数近似問題に対し ては,(1)
関数空間で互いに独立なM
個の基底関数f
m(c), m = 1, . . . , M
を用いて,F
i(c) =
∑
M m=1ω
imf
m(c), i = 1, . . . , I (3.49)
と関数空間で
1
次結合し,この1
次結合係数行列Ω =
ω
11ω
12. . . ω
1Mω
21ω
22. . . ω
2M.. . .. . . .. .. . ω
I1ω
I2. . . ω
IM
(3.50)
の最適な値を,たとえば最小自乗法を用いて決定する問題に置き換える.
という方法を採用するのが一般的である.この最小自乗法では,パラメータ
c
の値の空間 で,複数(
たとえばR
個の)
サンプル点c
(r), r = 1, . . . , R
とそれらの関数値F (c
(r)), r = 1, . . . , R
の所望値d
(r), r = 1, . . . , R
とが与えられ,評価対象とするR
個のサンプル点c
(r), r = 1, . . . , R
に共通の自乗誤差関数e(Ω; (c
(r), d
(r))) = 1 2
∑
M m=1ω
imf
m(c
(r)) − d
(r)2
= 1 2
∑
I i=1(
M∑
m=1
ω
imf
m(c
(r)) − d
i(r))
2, r = 1, . . . , R
(3.51)
を同時に結合係数行列
Ω
で最小化する多目的最適化問題を想定し,これを重みづけ和最適 化問題に変換して解くのが最小自乗法である.このような考え方を用いているのが,ニュー ラルネットワークやラジアル基底ネッワークの学習問題や,サポートベクターマシンの識 別問題といえる.この近似方法を本論文において採用すると,調整則を規定する関数
F
をその関数空間 で直接探索する代わりに,1
次結合係数行列Ω
の空間で探索することができるようになる が,本論文でのメタ最適化問題の場合は,1
次結合係数行列Ω
に対応して(3.49)
式で与え られる関数によって生成されるパラメータ時系列{ c(k) }
が与えるメタヒューリスティク スアルゴリズムA
による解x
∗(K )
を関数J (x
∗(K); E
r)
で評価することになる.具体的に は,基底関数f
m(c, χ), m = 1, . . . , M
をまとめて,f (c, χ) = (f
1(c, χ), . . . , f
M(c, χ))
T とするとき,(3.49)
式に相当する近似式をF (c, χ) = Ωf (c, χ) (3.52)
と表して,これを問題
(3.45)
に代入して得られる1
次結合係数行列Ω
を求める多目的問題min
Ω
J (x
∗(K); E
1) .. .
J (x
∗(K); E
R)
where x
∗( · ) solution to {
x(k + 1) = A(χ(k), c(k); E
r) c(k + 1) = Ωf (c(k), χ(k))
k = 0, 1, . . . , K − 1 χ(0); given, c(0); given r = 1, . . . , R
(3.53)
を想定することになるが,アルゴリズム
A
の実行によってその評価値J(x
∗(K); E
r)
は定 まるものの,その値が係数行列Ω
の関数として陽に表現できないことが大きな難点であ る.そこで,問題(3.53)
を解くためには,ヒューリスティックな手法を1
次結合係数Ω
の 空間で用いることになるが,もしメタヒューリスティクスを用いるとすると,そのために もさらにパラメータ調整という本論文が提起している課題が,再帰的に生じることにな る.また,この場合には,パラメータc
と,x
の時系列χ
の空間でどのような基底関数f
m(c, χ), m = 1, . . . , M
を設定すればよいか不明である.仮にこれらを設定したとしても,それらの基底関数の
1
次結合で生成される関数の空間は必ずしも広いものとはいえない.そこで,関数を近似的に生成する別の手法として,
(2)
何種類かの数値の集合B = { b
m1| m
1= 1, . . . , M
1}
や演算の集合O = { +, − , × , / }
お よび単純な関数の集合G = {exp, log, sin, cos, √ , sig}
などを用意し,それらの要素を 組み合わせた木構造T
i(B, O, G), i = 1, . . . , I
によって関数F
i, i = 1, . . . , I
を近似的 に表現し,この木構造を更新して茂らせることによって表現する関数F
i, i = 1, . . . , I
の近似精度をより高める.という方法を採用する.パラメータ
c
に関して定義された関数F (c) = (F
1(c), . . . , F
I(c))
T に対応して,複数の木構造をまとめてT (c; B, O, G) = (T
1(c; B, O, G), . . . , T
I(c; B, O, G))
T とおき,要素の集合(B, O, G)
のT
による写像として関数F (c)
を近似的にみなし,F (c) = T (c; B, O, G) (3.54)
とおく.パラメータ
c
の値の空間で,複数(
たとえばR
個の)
サンプル点c
(r), r = 1, . . . , R
とそれらの関数値F (c
(r)), r = 1, . . . , R
の所望値d
(r), r = 1, . . . , R
とが与えられ,評価 対象とするR
個のサンプル点c
(r), r = 1, . . . , R
に対する関数近似のための共通の自乗誤 差関数を考えるのであれば,e(T ; (c
(r), d
(r))) = 1 2
T (c
(r); B, O, G) − d
(r)2
= 1 2
∑
I i=1(
T
i(c
(r); B, O, G) − d
i(r))
2r = 1, . . . , R
(3.55)
と記述することができ,これらの自乗誤差関数を同時に木構造
T
の直接的な更新により 最小化する多目的最適化問題を想定し,これを重みづけ和最適化問題に変換して解くこと が,前述した最小自乗法に対応して考えることができる.このような近似方法は,最近で はたとえばランダムフォレスト[65]とよばれる識別関数の構成法がある.本論文では,多目的メタ最適化問題
(3.45)
を想定するため,(3.54 )
式の引数としてc
に 加えてχ
も引数に入れて,(3.54 )
式を問題(3.45)
に代入して得られる多目的問題min
T(·)
J (x
∗(K); E
1) .. .
J (x
∗(K); E
R)
where x
∗( · ) solution to {
x(k + 1) = A(χ(k), c(k); E
r) c(k + 1) = F (c(k), χ(k))
= T (c(k), χ(k); B, O, G) k = 0, 1, . . . , K − 1
χ(0); given, c(0); given r = 1, . . . , R
(3.56)
を想定する.ただし,記述簡略化のため,木構造
T (·)
の要素を表す(B, O, G)
は,木構造 に常に共通であるため省略する.本論文ではこの問題を前節で言及した「評価対象逐次選 択型解法」で解くために,木構造の空間において,そこで試行的にとられた木構造を更新 する有力な計算手法として,遺伝的プログラミング(
以降GP
と略記する)
を用いることに する.GP
は,木構造を変数とする最適化問題を解く唯一の計算手法といってよく,メタ ヒューリスティクスの一手法で多点型探索法であり,木構造の空間において複数種類の木 構造が試行的に設定され,遺伝的アルゴリズムから派生した木構造に対する突然変異や交 叉演算によって,新しい木構造の生成が繰り返される.したがって,その木構造に対応し た関数が関数空間において直接的に生成され,関数近似において大きな自由度を有するも のと考えられる.問題(3.56 )
を想定し,「評価対象逐次選択型解法」としてGP
を適用した 場合の計算手順は以下のようになる.Step 1
評価対象とする最適化問題の目的関数の集合{ E
1, . . . , E
R}
を設定し,木構造の 要素として数値の集合B
,演算の集合O = { +, − , × , / }
,G = { exp, log, √ , sig }
を用意する.Step 2
遺伝的プログラミングの最大イテレーションK
′を設定し,P
個(
複数個)
の木構造
T
(p)(0)
を初期化し,K = 0
とおく.Step 3
第K
イテレーションに対応してr = (K mod R) + 1
とおき,評価対象の目的関 数E
rを選択し,木構造T
(p)( K )
で表現した調整則F
(K)を有するメタアルゴリズ ムA
を目的関数E
rに対して動作させる.Step 5
評価結果をもとに,次世代の木構造T
(p)(K + 1)
を生成する.Step 6 K ≥ K
′ならば計算を終了し,そうでなければ,K = K + 1
としてStep 3
へ戻る.なお,第