optimizableVariable
bayesopt
またはその他のオプティマイザーの変数の説明
説明
オプティマイザーの変数を作成します。
作成
プロパティ
Name
— 変数名
文字ベクトル | string スカラー
変数名。文字ベクトルまたは string スカラーを指定します。名前は一意でなければなりません。つまり、最適化に含まれている他の変数の名前と異なっていなければなりません。
メモ
optimizableVariable
には 2 つの名前が関連付けられます。MATLAB® のワークスペース変数名
最適化における変数の名前
たとえば、以下のようにします。
xvar = optimizableVariable('spacevar',[1,100]);
xvar
は MATLAB のワークスペース変数、'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'
データ型: char
| string
Range
— 変数の範囲
2 要素の増加する実数ベクトル | カテゴリカル変数の名前の cell 配列または string 配列
変数の範囲。2 要素の増加する有限実数ベクトル、またはカテゴリカル変数の名前の cell 配列または string 配列を指定します。
実数または整数変数の場合、
Range
はその変数の下限と上限を与えます。カテゴリカル変数の場合、
Range
は可能な値を与えます。
例: [-10,1]
例: {'red','blue','black'}
データ型: double
| string
| cell
Type
— 変数の型
'real'
(既定値) | 'integer'
| 'categorical'
変数の型。'real'
(実数変数)、'integer'
(整数変数) または 'categorical'
(カテゴリカル変数) を指定します。
メモ
'real'
と 'integer'
の変数の MATLAB データ型は、どちらも標準的な倍精度浮動小数点数です。'categorical'
の変数のデータ型はカテゴリカルです。したがって、たとえば、x
という名前のテーブル変数に含まれている 'colorv'
という名前のカテゴリカル変数の値を読み取るには、char(x.colorv)
コマンドを使用します。例については、カスタム出力関数の目的関数を参照してください。
例: 'Type','categorical'
Transform
— 変数に適用する変換
'none'
(既定値) | 'log'
変数に適用する変換。'none'
(変換なし) または 'log'
(対数変換) を指定します。
'log'
の場合、変数は正の実数変数 ('Type','real'
) または非負の整数変数 ('Type','integer'
) でなければなりません。変数の探索とモデル化が対数スケールで行われます。
例: 'Transform','log'
Optimize
— 最適化における変数の使用の指示
true
(既定値) | false
最適化における変数の使用の指示。true
(変数を使用する) または false
(変数を使用しない) を指定します。
例: 'Optimize',false
データ型: 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
を呼び出します。
オブジェクト関数
bayesopt | ベイズ最適化を使用した最適な機械学習のハイパーパラメーターの選択 |
例
最適化用の変数の例
0 から 1 までの実数変数:
var1 = optimizableVariable('xvar',[0 1])
var1 = optimizableVariable with properties: Name: 'xvar' Range: [0 1] Type: 'real' Transform: 'none' Optimize: 1
0 から 1000 までの対数スケールの整数変数:
var2 = optimizableVariable('ivar',[0 1000],'Type','integer','Transform','log')
var2 = optimizableVariable with properties: Name: 'ivar' Range: [0 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
バージョン履歴
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)