ドキュメンテーションヘルプ センター
bayesopt またはその他のオプティマイザーの変数の説明
bayesopt
オプティマイザーの変数を作成します。
variable = optimizableVariable(Name,Range)
variable = optimizableVariable(Name,Range,Name,Value)
例
variable = optimizableVariable(Name,Range) は、指定された名前および値の範囲を使用して変数を作成します。
Name
Range
variable = optimizableVariable(Name,Range,Name,Value) は、名前と値のペアの引数を使用してプロパティを設定します。たとえば、optimizableVariable('xvar',[1 1000],'Type','integer') は、1 ~ 1000 の整数変数を作成します。複数の名前と値のペアの引数を指定できます。各プロパティ名は引用符で囲みます。
optimizableVariable('xvar',[1 1000],'Type','integer')
すべて展開する
変数名。文字ベクトルまたは string スカラーを指定します。名前は一意でなければなりません。つまり、最適化に含まれている他の変数の名前と異なっていなければなりません。
メモ
optimizableVariable には 2 つの名前が関連付けられます。
optimizableVariable
MATLAB® のワークスペース変数名
最適化における変数の名前
たとえば、以下のようにします。
xvar = optimizableVariable('spacevar',[1,100]);
xvar は MATLAB のワークスペース変数、'spacevar' は最適化における変数です。
xvar
'spacevar'
これらの名前は次のように使用します。
xvar は、bayesopt に渡す変数のベクトルの要素として使用します。たとえば、以下のようにします。
results = bayesopt(fun,[xvar,tvar])
'spacevar' は、最適化における変数の名前として使用します。たとえば、目的関数で次のようにします。
function objective = mysvmfun(x,cdata,grp) SVMModel = fitcsvm(cdata,grp,'KernelFunction','rbf',... 'BoxConstraint',x.spacevar,... 'KernelScale',x.tvar); objective = kfoldLoss(crossval(SVMModel));
例: 'X1'
'X1'
データ型: char | string
char
string
変数の範囲。2 要素の増加する有限実数ベクトル、またはカテゴリカル変数の名前の cell 配列または string 配列を指定します。
実数または整数変数の場合、Range はその変数の下限と上限を与えます。
カテゴリカル変数の場合、Range は可能な値を与えます。
例: [-10,1]
[-10,1]
例: {'red','blue','black'}
{'red','blue','black'}
データ型: double | string | cell
double
cell
Type
'real'
'integer'
'categorical'
変数の型。'real' (実数変数)、'integer' (整数変数) または 'categorical' (カテゴリカル変数) を指定します。
'real' と 'integer' の変数の MATLAB データ型は、どちらも標準的な倍精度浮動小数点数です。'categorical' の変数のデータ型はカテゴリカルです。したがって、たとえば、x という名前のテーブル変数に含まれている 'colorv' という名前のカテゴリカル変数の値を読み取るには、char(x.colorv) コマンドを使用します。例については、カスタム出力関数の目的関数を参照してください。
x
'colorv'
char(x.colorv)
例: 'Type','categorical'
'Type','categorical'
Transform
'none'
'log'
変数に適用する変換。'none' (変換なし) または 'log' (対数変換) を指定します。
'log' の場合、変数は 'real' または 'integer' であり、正でなければなりません。変数の探索とモデル化が対数スケールで行われます。
例: 'Transform','log'
'Transform','log'
Optimize
true
false
最適化における変数の使用の指示。true (変数を使用する) または false (変数を使用しない) を指定します。
例: 'Optimize',false
'Optimize',false
データ型: logical
logical
以下のプロパティは、作成後にドット表記を使用して変更できます。
実数または整数の変数の Range。たとえば、以下のようにします。
xvar = optimizableVariable('x',[-10,10]); % Modify the range: xvar.Range = [1,5];
'integer' と 'real' の Type。たとえば、以下のようにします。
xvar.Type = 'integer';
実数または整数の変数の、'log' と 'none' の間での Transform。たとえば、以下のようにします。
xvar.Transform = 'log';
この柔軟性により、たとえば、続行する最適化を微調整できます。ドット表記を使用して範囲または変換を更新してから resume を呼び出します。
resume
すべて折りたたむ
0 から 1 までの実数変数:
var1 = optimizableVariable('xvar',[0 1])
var1 = optimizableVariable with properties: Name: 'xvar' Range: [0 1] Type: 'real' Transform: 'none' Optimize: 1
1 から 1000 までの対数スケールの整数変数:
var2 = optimizableVariable('ivar',[1 1000],'Type','integer','Transform','log')
var2 = optimizableVariable with properties: Name: 'ivar' Range: [1 1000] Type: 'integer' Transform: 'log' Optimize: 1
虹の色のカテゴリカル変数:
var3 = optimizableVariable('rvar',{'r' 'o' 'y' 'g' 'b' 'i' 'v'},'Type','categorical')
var3 = optimizableVariable with properties: Name: 'rvar' Range: {'r' 'o' 'y' 'g' 'b' 'i' 'v'} Type: 'categorical' Transform: 'none' Optimize: 1
BayesianOptimization | bayesopt
BayesianOptimization
この例の変更されたバージョンがシステム上にあります。代わりにこのバージョンを開きますか?
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
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:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Contact your local office