bestPoint
基準に従った、ベイズ最適化における最良の点
構文
説明
では、名前と値のペアを使用して最良の点を修正します。x
= bestPoint(results
,Name,Value
)
[
は、任意の前の構文において、x
,CriterionValue
] = bestPoint(___)x
における基準の値も返します。
[
は、最良の点が返された反復回数も返します。名前と値のペア x
,CriterionValue
,iteration
] = bestPoint(___)Criterion
が 'min-observed'
、'min-visited-mean'
、または既定の 'min-visited-upper-confidence-interval'
である場合に適用されます。
例
最適化された KNN 分類器の最良の点
この例では、最適化された分類器の最良の点を取得する方法を示します。
ionosphere
データの KNN 分類器を最適化します。つまり、交差検証損失が最小になるパラメーターを求めます。1 ~ 30 の最近傍サイズと距離関数 'chebychev'
、'euclidean'
および 'minkowski'
に対して最小化を行います。
再現性を得るため、乱数シードを設定し、AcquisitionFunctionName
オプションを 'expected-improvement-plus'
に設定します。
load ionosphere rng(11) num = optimizableVariable('n',[1,30],'Type','integer'); dst = optimizableVariable('dst',{'chebychev','euclidean','minkowski'},'Type','categorical'); c = cvpartition(351,'Kfold',5); fun = @(x)kfoldLoss(fitcknn(X,Y,'CVPartition',c,'NumNeighbors',x.n,... 'Distance',char(x.dst),'NSMethod','exhaustive')); results = bayesopt(fun,[num,dst],'Verbose',0,... 'AcquisitionFunctionName','expected-improvement-plus');
既定の基準 'min-visited-upper-confidence-interval'
に従う最良の点を取得します。
x = bestPoint(results)
x=1×2 table
n dst
_ _________
1 chebychev
推定された交差検証損失は、1 個の最近傍および 'chebychev'
距離で最小になります。
目的関数モデルのプロットを慎重に調べると、2 つの最近傍、およびより小さな目的関数の値をもつ 'chebychev'
距離の点があることがわかります。別の基準を使用してこの点を求めます。
x = bestPoint(results,'Criterion','min-observed')
x=1×2 table
n dst
_ _________
2 chebychev
また、観測された目的関数の最小値と、この値が観測された反復回数を求めます。
[x,CriterionValue,iteration] = bestPoint(results,'Criterion','min-observed')
x=1×2 table
n dst
_ _________
2 chebychev
CriterionValue = 0.1054
iteration = 21
入力引数
results
— ベイズ最適化の結果
BayesianOptimization
オブジェクト
ベイズ最適化の結果。BayesianOptimization
オブジェクトを指定します。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名、Value
は対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。
R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name
を引用符で囲みます。
例: x = bestPoint(results,'Criterion','min-observed')
Criterion
— 最良の点の基準
'min-visited-upper-confidence-interval'
(既定値) | 'min-observed'
| 'min-mean'
| 'min-upper-confidence-interval'
| 'min-visited-mean'
最良の点の基準。'Criterion'
と基準名から構成されるコンマ区切りのペアとして指定します。名前では大文字と小文字が区別されず、文字 -
は必須ではなく、名前を一意に識別するために必要な文字のみが必須です。
基準名 | 意味 |
---|---|
'min-observed' | x は、観測された目的関数が最小になる実行可能点です。 |
'min-mean' | x は、目的関数モデルの平均が最小になる実行可能点です。 |
'min-upper-confidence-interval' | x は、目的関数モデルの信頼区間の上限を最小化する実行可能点です。alpha を参照してください。 |
'min-visited-mean' | x は、探索点内において目的関数モデルの平均が最小になる実行可能点です。 |
'min-visited-upper-confidence-interval' | x は、探索点内において目的関数モデルの信頼区間の上限を最小化する実行可能点です。alpha を参照してください。 |
例: 'Criterion','min-visited-mean'
alpha
— モデル化した目的関数の平均が CriterionValue
を超える確率
0.01
(既定値) | 0
~ 1
のスカラー
モデル化した目的関数の平均が CriterionValue
を超える確率。'alpha'
と 0
~ 1
のスカラーから構成されるコンマ区切りのペアとして指定します。alpha
は、Criterion
の値 'min-upper-confidence-interval'
および 'min-visited-upper-confidence-interval'
に関連します。信頼区間の上限の定義は値 Y
で、ここで
P(meanQ(fun
(x
)) > Y
) = alpha
fun
は目的関数です。平均は事後分布 Q に関して計算されます。
例: 'alpha',0.05
データ型: double
出力引数
x
— 最良の点
1
行 D
列のテーブル
最良の点。1
行 D
列のテーブルとして返されます。D は変数の個数です。"最良" とは、Criterion
に関して最良であるという意味です。
CriterionValue
— 基準の値
実数スカラー
基準の値。実数スカラーとして返されます。値は名前と値のペア Criterion
の設定 (既定値は 'min-visited-upper-confidence-interval'
) によって決まります。
基準名 | 意味 |
---|---|
'min-observed' | 観測された目的関数の最小値。 |
'min-mean' | モデル平均の最小。 |
'min-upper-confidence-interval' | 方程式 P(meanQ(fun (x )) > Y ) = alpha を満たす値 Y 。 |
'min-visited-mean' | 観測されたモデル平均の最小。 |
'min-visited-upper-confidence-interval' | 観測された点の中で方程式 P(meanQ(fun (x )) > Y ) = alpha を満たす値 Y 。 |
iteration
— 最良の点を観測した反復回数
正の整数
最良の点を観測した反復回数。正の整数として返されます。最良の点は CriterionValue
によって定義されます。
バージョン履歴
R2016b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)