第 2 章 代表的なメタヒューリスティクスとそのパラメータ調整法 9
2.4 Differential Evolution の原理とそのパラメータ調整
2.4.2 Differential Evolution のパラメータ調整法
DE
の大域的探索性能は,PSO
よりも優れているとされている.しかし,変異点生成の ための突然変異の(2.44)
〜(2.48)
式の演算に含まれる係数c
,c
1,c
2や,一様交叉の乱数の 閾値パラメータθ
がその大域的探索性能に大きく影響する.文献[53]
によると,パラメー タの推奨値はP = 10N
,c ∈ [0.5, 1.0]
,θ ∈ [0.8, 1.0]
程度とされている.文献[54]
では,最大エントロピー法を用いた分布解析により,
DE
の探索点の初期収束を防いで持続探索 をするためのパラメータの範囲が示されている.しかし,統計的に十分大きな個数の探索 点や1
変数を前提とした解析であり,実用上の課題が残されている.最近では,
DE
の探索性能を向上させるため,更新式中のパラメータc
,θ
をイテレー ション経過とともに変動させる調整法を用いる改良手法が提案されている.それらを分類 すると以下のとおりである.(1)
探索点の挙動とは関係なく乱数を用いて完全に試行錯誤的にパラメータを揺動させ る(
文献[55][56]
など)
.(2)
目的関数の改善の成否などの探索点の挙動を,乱数を用いたパラメータの揺動に対 して反映させる(
文献[57][58]
など)
.(3)
探索点の挙動特性を示す指標の目標とする経時的変化を規定し,それに追従するよ うにパラメータ調整を行う(
文献[59]
など)
.まず,
(1)
の代表例には,文献[55]
で提案された後にjDE
と呼称されるようになった手 法と,それを改良した自己適応型DE (Self-Adaptive DE:
以降SDE
と略記する)
[56]とよば れる手法がある.まず,jDE
の調整則は,パラメータc
やθ
を探索点ごとに用意し,一様 乱数r
(p)1(k)
,r
2(p)(k)
,r
(p)3(k)
,r
(p)4(k)
と閾値θ
1′,θ
′2を用いて,c
(p)(k + 1) = {
c
l+ c
u· r
(p)1(k), if r
(p)2(k) < θ
′1c
(p)(k), otherwise (2.53)
θ
(p)(k + 1) = {
r
3(p)(k), if r
(p)4(k) < θ
2′θ
(p)(k), otherwise (2.54)
と経時的に変動させる手法である.イテレーション過程において,
θ
1′ の頻度で区間[c
l, c
u]
の一様乱数r
1(p)(k)
による揺動によりc
(p)(k + 1)
を与え,(1 − θ
1′)
頻度で前イテレーション の値を引き継ぐというもので,θ
(p)(k + 1)
についても同様である.探索点の状態をまった く考慮しないきわめて単純な調整則であるが,それらのパラメータに上付き添字(p)
が付 されているように,探索点ごとに調整される.これらのパラメータの値については,文献[55]
においてはc
l= 0.1
,c
u= 0.9
,θ
1= θ
2= 0.1
が使用されている.これに対して
SDE
は,係数パラメータc
(p)の方をCauchy
分布C(µ, δ
(p))
で与え,さらにその
Cauchy
分布のスケールパラメータδ
(p)を探索点ごとに一様乱数を用いて,δ
(p)(k + 1) = δ
l+ δ
u· r
(p)1(k) (2.55)
c
(p)(k + 1) = {
C(µ, δ
(p)(k + 1)), if r
2(p)(k) < θ
′1C(µ, δ
(p)(k)), otherwise (2.56)
θ
(p)(k + 1) = {
r
3(p)(k), if r
(p)4(k) < θ
2′θ
(p)(k), otherwise (2.57)
と与える手法で,そのパラメータ調整の設計思想は
jDE
と同じである.文献[56]
では,パ ラメータとしてµ = 0.5, 0.8, 0.9
の3
種類,δ
l= 0.1
,δ
u= 0.9
,θ
1′= 0.1
,θ
2′= 0.1
を使 用している.以上の手法は
DE/rand/1
の変異点生成公式を用い,探索点の挙動とは無関係にパラメー タを揺動させて調整する手法であるが,探索点の挙動に応じてパラメータを揺動させる(2)
に分類される手法として,(2.44)
〜(2.48)
式とは別の変異点生成公式を用いて改良し たJADE
[57]と呼ばれる手法がある.この手法では,過去の探索点や,(2.52)
式においてE(u
(p)(k)) < E(x
(p)(k))
となり目的関数値を改善する試験点u
(p)(k)
を生成したパラメータ
c
,θ
が記憶され,新たなパラメータと探索点の生成に使われる.この手法における変 異点生成式は,v
(p)(k) = x
(p)(k) + c
(p)(k)(x
(bestρ)(k) − x
(p)(k)) + c
(p)(k)(x
(q1(p))(k) − x
(q(p)2 )(k)) (2.58)
である.ここで,x
(bestρ)(k)
は第k
イテレーションにおける目的関数値の小さい順の上位100ρ%
からランダムに選ばれた探索点,x
(q1(p))(k)
は第k
イテレーションにおいてランダ ムに選ばれたx
(p)(k)
と異なる探索点で,x
(q(p)2 )(k)
は探索履歴の中で優秀とみなされた探 索点の集合S
x(k)
からランダムに選ばれたx
(p)(k)
やx
(q1(p))(k)
と異なる探索点である.ま た,パラメータc
,θ
の更新則は,それぞれCauchy
分布と正規分布を用いてc
(p)(k) ∼ C
(p)(µ
c(k), 0.1)
θ
(p)(k) ∼ N
(p)(µ
θ(k), 0.1) (2.59)
とランダムに選ばれるが,それらの分布の平均値はそれぞれ
µ
c(k + 1) = (1 − ϵ)µ
c(k) + ϵ · mean
L(S
c(k))
µ
θ(k + 1) = (1 − ϵ)µ
θ(k) + ϵ · mean(S
θ(k)) (2.60)
で更新される.集合S
x(k)
,S
c(k)
,S
θ(k)
については,(2.52)
式において目的関数値を改 善する試験点u
(p)(k)
が採用された場合,その試験点生成に用いられた探索点x
(p)(k)
を集 合S
x(k)
に記憶し,またその変位点v
(p)(k)
を与えた(2.58)
式のc
(p)を集合S
cに,(2.57)
式のθ
(p)を集合S
θに加える.これらを用いて,(2.59)
式によりパラメータを更新する.ま た,それらは(2.60)
式により決まるパラメータにより,徐々に低い値を取る.なお,mean
は算術平均であるのに対し,mean
Lは非調和平均と呼ばれるもので,mean
L(S
c) = ∑
c∈Sc
c
2/ ∑
c∈Sc
c (2.61)
によって計算される.非調和平均は算術平均より大きな値を取るため,アルゴリズムの収 束に寄与するとされている.
Step 2
においてはまず(2.59)
式によりパラメータc
(p),θ
(p)を更新し,
Step 5
において(2.60)
式によりCauchy
分布や正規分布の平均値のパラメータµ
c,µ
θを更新する.なお,過去の優秀な探索点の集合S
xの要素数が,探索点数P
より大きく なったら,ランダムに一つ削除する操作が行われる.パラメータの推奨値は,µ
c(0) = 0.5
,µ
θ(0) = 0.5
,1/ϵ ∈ [5, 20]
,ρ ∈ [0.05, 0.2]
とされている.実装上の注意点として,(2.59)
式により生成されるパラメータc
(p)(k)
は稀に大きな値を取るため,c
(p)(k)
が1.0
を超えた場合は
c
(p)(k) = 1.0
とし,負の値を取った場合は再度乱数を割り当てる.(2)
に分類される別の手法として,試験点の目的関数値の評価による探索点更新の成否 を考慮したパラメータ調整をjDE
の調整則に付加する手法として,Adapt-DE
がある.こ の調整則は,c
(p)(k + 1) = {
r
1(p)(k), if E(u
(p)(k)) > E(x
(p)(k)) and r
(p)2(k) < θ
1′c
(p)(k), otherwise (2.62)
θ
(p)(k + 1) = {
r
3(p)(k), if E(u
(p)(k)) > E (x
(p)(k)) and r
(p)4(k) < θ
′2θ
(p)(k), otherwise (2.63)
であり,試験点
u
(p)(k)
が探索点x
(p)(k)
より目的関数値を改善しない場合に,一定の頻度θ
1′ やθ
′2でパラメータc
(p)やθ
(p)を選びなおす調整則である.しかしながら,目的関数値 の改善を考慮するにしても,探索点の状態に応じてより能動的にパラメータを調整するよ うな機能はないといえる.また,探索点の挙動に応じてより能動的にパラメータ調整を行う
(3)
に類する手法とし て,適応的パラメータ調整型DE (Adaptive Parameter Adjustment of Differential Evolution:
APADE)
[59]と称されている手法を示しておく.まず,(2.44)
式の変異点生成式のパラメータ
c
の更新のために,探索点の挙動特性を示す指標として,x
(best)(k)
を除くすべての探 索点間の距離の平均値L
group(k) =
P∑
−1i,i̸=(best)
∑
P j>i,j̸=(best)|| x
(i)(k) − x
(j)(k) ||
/ ( 1
2 P (1 − P ) )
(2.64)
を用いた探索点の群れの密集状態の指標としてI
di(k + 1) = c(k) · L
group(k + 1) (2.65)
を考える.
(2.64)
式はx
(best)(k)
を除いたP − 1
個の探索点間の平均距離である.これを 用いた探索状態I
diの目標= I
targetを最終イテレーションK
までI
target(k + 1) = I
target(k)
( I
target(K) I
target(0)
)
1/K= I
target(0)
( I
target(K) I
target(0)
)
k+1/K(2.66)
と等比的に減少するよう規定し,探索点群が経時的にこの目標に可能な限り追従するよう,
DE/best/1
による変異点生成のパラメータ調整を行う.具体的には,指標I
diが目標値I
targetを下回ったら探索点の多様化のためにパラメータc
を増加させ,そうでなければ探索点の集中化のため,パラメータ
c
を減少させるようにc(k + 1) =
{
min(c(k) + ∆c, c
max), if I
target(k + 1) > I
di(k + 1)
max(c(k) − ∆c, c
min), otherwise (2.67)
と調整する手法である.つぎに,交叉確率
θ
の調節については別のパラメータC
max,θ
Cmaxや
P (k)
に依存させて行う.θ
Cmaxの調整のため,探索点の群れとしての目的関数値の改善 度合いをC(k + 1) =
∑
Pp=1
E(x
(p)(k)) − ∑
Pp=1
E(x
(p)(k + 1))
| ∑
Pp=1
E(x
(p)(k + 1)) | (2.68)
と定義し,
C(k + 1)
がC
max(k)
より大きい時にC
max(k + 1) = C(k + 1), if C(k + 1) > C
max(k) (2.69) θ
Cmax(k + 1) = θ(k + 1), if C(k + 1) > C
max(k) (2.70)
により更新する.P (k)
の調整はI
di(k + 1) = c(k)L
group(k + 1)
がc(k)
を更新することに よりc(k + 1)L
group(k + 1)
がI
target(k + 1)
に追従できたならP (k + 1) = 1
とし,それ以 外の場合はP (k + 1) = P (k) + 1
とする.P(k) ≤ 2
の場合はθ(k + 1) = {
min(θ
Cmax+ s(k) · ∆θ, θ
max), if I
target(k) > I
dimax(θ + s(k) · ∆θ, θ ), otherwise (2.71)
とし,
P(k) > 2
の場合はθ(k + 1) = {
min(θ(k) + t(k) · ∆θ, θ
max), if I
target(k) > I
dimax(θ(k) + t(k) · ∆θ, θ
min), otherwise (2.72)
とする.ただしs(k)
とt(k)
の更新式は省略する.これらの調整はStep 5
において付加的 に行われる.
ドキュメント内
メタヒューリスティクスに対する遺伝的プログラミングによる創発的パラメータ調整則の自動設計(本文)
(ページ 38-42)