베이즈최적화알고리즘
알고리즘개
베이즈최적화알고리즘은유계정의역에서x에대한스칼라목적함수f (x)를최소화하려고합니다。이함수는동일한지점x에서계산할때다른결과를반환할수있는확률적함수이거나결정적함수일수있습니다。X의성분은연속실수,정수또는범주형(이름으로구성된이산집합)일수있습니다。
참고
이설명에서D는x의성분수를나타냅니다。
최소화의핵심소는다음과같습니다。
알고리즘개:
변수범위내에서임의로취한
NumSeedPoints
점x我에 대해y我= f (x我)를계산합니다。NumSeedPoints
는bayesopt
설정입니다。계산오류가있는경우,NumSeedPoints
계산에성공할때까지임의의점을더많이취합니다。각성분의확률분포는optimizableVariable
의变换
값에따라균일하거나로그스케일입니다。
이어서다음단계를반복합니다。
함수问(f | x我y我对于I = 1,…,t)에대한사후분포를얻기위해f (x)의가우스과정모델을업데이트합니다。(내부적으로,
bayesopt
는가우스과정모델을데이터에피팅하기위해fitrgp
를사용합니다。)획득 함수(x)를최대화하는새점x를찾습니다。
다음중하나에도달하면알고리즘이중지됩니다。
병렬실행되는알고리즘의차이에대해서는并行贝叶斯算法항목을참조하십시오。
모델피팅을위한가우스과정회귀
목적함f수에대한기본확률적모델은관찰값에가우스잡음을추가한가우스과정사전분포입니다。따라서f (x)의사전분포는평균μ(x;θ)및공분산커널함수k (x, x ';θ)를가지는가우스과정입니다。여기서,θ는커널모수의벡터입니다。특정커널함수bayesopt
사용에대해서는커널 함수항목을참조하십시오。
좀더자세히설명하자면,점으로구성된집합X = X我와함께관련목적함수값F = F我를@ @시합니다。함수값F의사전결합분포는평균μ(X)및공분산행렬K (X, X)를가지는다변량정규분포이며여기서Kij= k (x我, xj)입니다。
일반성의손실없이사전평균은0
으로지정됩니다。
또한,분산이σ2가우스잡음이관측값에추가된것으로가정합니다。따라서사전분포는공분산K(x, x;θ) + σ2我를가집니다。
가우스과정회귀모델을관측값에피팅하려면잡음분산σ2값과커널모수θ값을찾아야합니다。이피팅은계산량이많은과정이며fitrgp
로수행합니다。
가우스과정을관측값에피팅하는방법에대한자세한내용은가우스과정회귀항목을참조하십시오。
커널 함수
커널 함수k (x, x ';θ)는가우스과정회귀의품질에상당한향을미칠수있습니다。bayesopt
는核(协方差)函数选项에정의된ARD Matérn 5/2커널을사용합니다。
斯努克,拉罗谢尔과亚当斯의문헌[3]을참조하십시오。
획득함수유형
bayesopt
에대해여섯가지획득함수를선택하여사용할수있습니다。기본유형은세가지이고,expected-improvement
를每秒
또는+
로수정할수도있습니다。
“expected-improvement-per-second-plus”
(디폴트값)“expected-improvement”
“expected-improvement-plus”
“expected-improvement-per-second”
“lower-confidence-bound”
“probability-of-improvement”
획득함수는사후분포함수Q를기반으로점x의"적합도"를평가합니다。오류제약조건(目标函数误差참조)을비롯하여연결된제약조건이있는경우,모든획득함수는基尔巴特,杖鱼및亚当斯의제안[2]에따라“적합도”추정을수정합니다。획득함수에도달하려면“적합도”에제약조건을만족하는확률추정값을곱합니다。
Ei(예상개선값)
“expected-improvement”
획득함수군은목적함수에서증가를초래하는값은무시하고목적함수에서예상되는개선값을평가합니다。다시말해,다음을정의합니다。
x最好的를사후평균최저값의위치로정의합니다。
μ问(x最好的)를사후평균의최저값으로정의합니다。
그러면예상개선값은다음과같이됩니다。
Poi(개선확률)
“probability-of-improvement”
획득함수는“expected-improvement”
와비슷하지만더간단한계산을수행합니다。두경우모두bayesopt
는먼저x最好的와μ问(x最好的)를계산합니다。그런 다음“probability-of-improvement”
를구하기위해bayesopt
는새점x에서더나은목적함수값이도출될확률π를계산하고이를”마진”모수m으로수정합니다。
bayesopt
는m을추정된잡음준편차로취합니다。bayesopt
는이확률을다음과같이평가합니다。
여기서
이때Φ(·)는단위법선cdf이고σ问는x에서가우스과정의사후@준편차입니다。
신뢰 하한
“lower-confidence-bound”
획득함수는각점에서사후평균미만곡선의두준편차를찾습니다。
G(x)는목적함수모델의2σ问신뢰하한포락선입니다。그런 다음bayesopt
는음의g를최대화합니다。
每秒
목적함수의계산시간이역에따라달라지는경우가있습니다。예를들어,많은서포트벡터머신은특정한점범위에대해계산시간에큰차이를보입니다。그렇다면bayesopt
는획득함수에시간가중치를사용함으로써초당더나은개선값을얻을수있습니다。비용가중획득함수는이름에每秒
라는문구가있습니다。
이러한획득함수는다음과같이작동합니다。목적함수를계산하는동,bayesopt
는또다른베이즈모델의목적함수계산시간을위치x의함수로유지합니다。획득함수가사용하는초당예상개선값은다음과같습니다。
여기서μ年代(x)는시간적가우스과정모델의사후평균입니다。
+
로컬목적함수의최소값을피하기위해,이름에+
가들어간획득함수는역을과다 사용한다고추정되면동작을수정합니다。과다사용을이해하기위해σF(x)가x에서사후목적함수의σ를가산성잡음의사후준편차로하여다음식을만듭니다。
σ问2(x) = σF2(x) + σ2.
tσ를ExplorationRatio
옵션의양수값으로정의합니다。각 반복 후bayesopt
+
획득함수는다음번점x가다음을만족하는지평가합니다。
σF(x) < tσσ。
만족하면알고리즘은x가과다사용되고있다고선언합니다。그런다음,획득함수는牛[1]이제한대로θ에반복횟수를곱해커널 함수를수정합니다。이렇게수정하면관측값사이의점에대한분산σ问가가합니다。그런다음새로피팅된커널함수를기반으로새로운점을생성합니다。새로운점x가다시과다사용되면획득함수는θ에인자10을추가로곱하고다시시도합니다。과다사용되지않는점x를생성하기위해이런식으로최대5회까지계속시도합니다。알고리즘은새로생성된x를다음점으로받아들입니다。
따라서ExplorationRatio
는더나은전역해를구하기위해새로운점을찾는방법과이미조사된가까운점에집중하는방법사이에서절충합니다。
획득함수최대화
내부적으로,bayesopt
는다음과같은일반적단계를사용하여획득함수를최대화합니다。
“probability-of-improvement”
및“expected-improvement”
로시작하는알고리즘의경우,bayesopt
는변수범위내에서수천개의점을추출하고그중에서최상의(낮은평균값)실현가능점을여러개취한다음로컬탐색으로이를개선하여표면적으로가장적합한실현가능점을찾아냄으로써사후분포μ问(x最好的)의실현가능한최소평균을추정합니다。실현가능점이란제약조건을만족하는점을의미합니다(贝叶斯优化中的约束참조)。bayesopt
는모든알고리즘에대해변수범위내에서수천개의점을추출하고그중에서최상의(높은획득함수)실현가능점을여러개취한다음로컬탐색으로이를개선하여표면적으로가장적합한실현가능점을찾습니다。획득함수값은목적함수의표본이아니라모델링된사후분포에따라달라지므로빠르게계산할수있습니다。
참고 문헌
[1] Bull, a.d.高效全局优化算法的收敛速度。https://arxiv.org/abs/1101.3501v3, 2011年。
[2] M.格巴特,J.斯努克,R. P.亚当斯。未知约束下的贝叶斯优化。https://arxiv.org/abs/1403.5607, 2014年。
[3] J.斯诺克,H.拉罗谢尔,R. P.亚当斯。机器学习算法的实用贝叶斯优化。https://arxiv.org/abs/1206.2944, 2012年。