RegressionKernel
ランダムな特徴量拡張を使用したガウス カーネル回帰モデル
説明
RegressionKernel
は、ランダムな特徴量拡張を使用した、ガウス カーネル回帰モデルの学習済みモデル オブジェクトです。RegressionKernel
は、大規模な学習セットが含まれているビッグ データ事例への適用の方がより有用ですが、メモリに収まる小規模なデータ セットにも適用できます。
他の回帰モデルとは異なり、また、メモリ消費を節約するため、RegressionKernel
モデル オブジェクトには学習データが格納されません。ただし、拡張空間の次元、カーネル スケール パラメーター、正則化強度などの情報は格納されます。
学習済みの RegressionKernel
モデルを使用すると、学習データによる学習の続行、新しいデータに対する応答の予測、および平均二乗誤差やイプシロン不感応損失の計算を行うことができます。詳細については、resume
、predict
および loss
を参照してください。
作成
関数 fitrkernel
を使用して RegressionKernel
オブジェクトを作成します。この関数は、低次元空間のデータを高次元空間にマッピングしてから、正則化された目的関数を最小化することによって高次元空間で線形モデルを当てはめます。高次元空間で線形モデルを取得することは、低次元空間におけるモデルへのガウス カーネルの適用と等価です。使用可能な線形回帰モデルには、正則化されたサポート ベクター マシン (SVM) と最小二乗回帰モデルがあります。
プロパティ
カーネル回帰のプロパティ
Epsilon
— イプシロン不感応区間の幅の半分
非負のスカラー
イプシロン不感応区間の幅の半分。非負のスカラーを指定します。
Learner
が 'svm'
ではない場合、Epsilon
は空の文字列 ([]
) です。
データ型: single
| double
Learner
— 線形回帰モデルのタイプ
'svm'
(既定値) | 'leastsquares'
線形回帰モデルのタイプ。'leastsquares'
または 'svm'
を指定します。
次の表では です。
x は p 個の予測子変数による観測値 (行ベクトル) です。
は特徴量を拡張するための観測値 (行ベクトル) の変換です。T(x) は の x を高次元空間 () にマッピングします。
β は係数のベクトルです。
b はスカラー バイアスです。
値 | アルゴリズム | 損失関数 | FittedLoss の値 |
---|---|---|---|
'svm' | サポート ベクター マシン回帰 | イプシロン不感応: | 'epsiloninsensitive' |
'leastsquares' | 通常の最小二乗による線形回帰 | 平均二乗誤差 (MSE): | 'mse' |
NumExpansionDimensions
— 拡張空間の次元数
正の整数
拡張空間の次元数。正の整数を指定します。
データ型: single
| double
KernelScale
— カーネル スケール パラメーター
正のスカラー
カーネル スケール パラメーター。正のスカラーを指定します。
データ型: single
| double
BoxConstraint
— ボックス制約
正のスカラー
ボックス制約。正のスカラーを指定します。
データ型: double
| single
Lambda
— 正則化項の強度
非負のスカラー
正則化項の強度。非負のスカラーを指定します。
データ型: single
| double
Mu
— 予測子の平均
数値ベクトル | []
R2023b 以降
この プロパティ は読み取り専用です。
予測子の平均。数値ベクトルを指定します。カーネル モデルに学習させるときに Standardize
を 1
または true
として指定した場合、ベクトル Mu
の長さは展開された予測子の数と等しくなります (ExpandedPredictorNames
を参照)。展開されたカテゴリカル予測子に対応するダミー変数については、ベクトルに値 0
が格納されます。
カーネル モデルに学習させるときに Standardize
を 0
または false
に設定した場合、Mu
の値は空ベクトル ([]
) になります。
データ型: double
Sigma
— 予測子の標準偏差
数値ベクトル | []
R2023b 以降
この プロパティ は読み取り専用です。
予測子の標準偏差。数値ベクトルを指定します。カーネル モデルに学習させるときに Standardize
を 1
または true
として指定した場合、ベクトル Sigma
の長さは展開された予測子の数と等しくなります (ExpandedPredictorNames
を参照)。展開されたカテゴリカル予測子に対応するダミー変数については、ベクトルに値 1
が格納されます。
カーネル モデルに学習させるときに Standardize
を 0
または false
に設定した場合、Sigma
の値は空ベクトル ([]
) になります。
データ型: double
FittedLoss
— 線形モデルの当てはめに使用する損失関数
'epsiloninsensitive'
| 'mse'
線形モデルの当てはめに使用する損失関数。'epsiloninsensitive'
または 'mse'
を指定します。
値 | アルゴリズム | 損失関数 | Learner の値 |
---|---|---|---|
'epsiloninsensitive' | サポート ベクター マシン回帰 | イプシロン不感応: | 'svm' |
'mse' | 通常の最小二乗による線形回帰 | 平均二乗誤差 (MSE): | 'leastsquares' |
Regularization
— 複雑度ペナルティのタイプ
'lasso (L1)'
| 'ridge (L2)'
複雑度ペナルティのタイプ。'lasso (L1)'
または 'ridge (L2)'
を指定します。
最小化のための目的関数は、平均損失関数 (FittedLoss
を参照) と次の表の正則化値を加算することにより作成されます。
値 | 説明 |
---|---|
'lasso (L1)' | LASSO (L1) ペナルティ: |
'ridge (L2)' | リッジ (L2) ペナルティ: |
λ は、正則化項の強度を規定します (Lambda
を参照)。
バイアス項 (β0) は正則化ペナルティから除外されます。
他の回帰のプロパティ
CategoricalPredictors
— カテゴリカル予測子のインデックス
正の整数のベクトル | []
カテゴリカル予測子のインデックス。正の整数のベクトルとして指定します。CategoricalPredictors
には、対応する予測子がカテゴリカルであることを示すインデックス値が格納されます。インデックス値の範囲は 1 ~ p
です。p
はモデルの学習に使用した予測子の数です。どの予測子もカテゴリカルではない場合、このプロパティは空 ([]
) になります。
データ型: single
| double
ModelParameters
— モデルに学習をさせるために使用されたパラメーター
構造体
RegressionKernel
モデルに学習をさせるために使用したパラメーター。構造体を指定します。
ModelParameters
のフィールドにはドット表記でアクセスします。たとえば、線形係数およびバイアス項の相対許容誤差にアクセスするには Mdl.ModelParameters.BetaTolerance
を使用します。
データ型: struct
PredictorNames
— 予測子名
文字ベクトルの cell 配列
予測子データに現れる順序で並んでいる予測子名。文字ベクトルの cell 配列として指定します。PredictorNames
の長さは、学習データ X
または Tbl
で予測子変数として使用される列の数と等しくなります。
データ型: cell
ExpandedPredictorNames
— 展開された予測子名
文字ベクトルの cell 配列
展開された予測子名。文字ベクトルの cell 配列を指定します。
モデルがカテゴリカル変数用のエンコーディングを使用している場合、ExpandedPredictorNames
には展開された変数を表す名前が格納されます。それ以外の場合、ExpandedPredictorNames
は PredictorNames
と同じです。
データ型: cell
ResponseName
— 応答変数名
文字ベクトル
応答変数名。文字ベクトルを指定します。
データ型: char
ResponseTransform
— 予測された応答に適用する応答変換関数
'none'
| 関数ハンドル
予測された応答に適用する応答変換関数。'none'
または関数ハンドルを指定します。
カーネル回帰モデルで応答変換前の場合、観測値 x (行ベクトル) について予測される応答は です。
は特徴量を拡張するための観測値の変換です。
β は
Mdl.Beta
に対応します。b は
Mdl.Bias
に対応します。
MATLAB® 関数やユーザー定義関数の場合は、関数ハンドルを入力します。たとえば、Mdl.ResponseTransform = @function
を入力できます。ここで function
は、元の応答の数値ベクトルを受け入れ、変換した応答が格納されている同じサイズの数値ベクトルを返します。
データ型: char
| function_handle
オブジェクト関数
incrementalLearner | カーネル回帰モデルのインクリメンタル学習器への変換 |
lime | Local Interpretable Model-agnostic Explanations (LIME) |
loss | ガウス カーネル回帰モデルの回帰損失 |
partialDependence | 部分依存の計算 |
plotPartialDependence | 部分依存プロット (PDP) および個別条件付き期待値 (ICE) プロットの作成 |
predict | ガウス カーネル回帰モデルの応答を予測 |
resume | ガウス カーネル回帰モデルの学習の再開 |
shapley | シャープレイ値 |
例
ガウス カーネル回帰モデルの学習
SVM を使用して、tall 配列についてカーネル回帰モデルに学習をさせます。
tall 配列に対する計算を実行する場合、MATLAB® は並列プール (Parallel Computing Toolbox™ がある場合は既定) またはローカルの MATLAB セッションを使用します。Parallel Computing Toolbox がある場合にローカルの MATLAB セッションを使用して例を実行するには、関数 mapreducer
を使用してグローバルな実行環境を変更します。
mapreducer(0)
データがあるフォルダーの場所を参照するデータストアを作成します。データは、単一のファイル、ファイルの集まり、またはフォルダー全体のどれに含まれていてもかまいません。datastore
によって NaN
値に置き換えられるようにするため、'NA'
値を欠損データとして扱います。使用する変数のサブセットを選択します。データストアの先頭に tall table を作成します。
varnames = {'ArrTime','DepTime','ActualElapsedTime'}; ds = datastore('airlinesmall.csv','TreatAsMissing','NA',... 'SelectedVariableNames',varnames); t = tall(ds);
予測子変数 (X
) として DepTime
と ArrTime
を、応答変数 (Y
) として ActualElapsedTime
を指定します。ArrTime
が DepTime
より遅い観測値を選択します。
daytime = t.ArrTime>t.DepTime; Y = t.ActualElapsedTime(daytime); % Response data X = t{daytime,{'DepTime' 'ArrTime'}}; % Predictor data
予測子変数を標準化します。
Z = zscore(X); % Standardize the data
標準化された予測子を使用して、既定のガウス カーネル回帰モデルに学習をさせます。当てはめの要約を抽出して、最適化アルゴリズムによりモデルがどの程度適切にデータに当てはめられたかを判断します。
[Mdl,FitInfo] = fitrkernel(Z,Y)
Found 6 chunks. |========================================================================= | Solver | Iteration / | Objective | Gradient | Beta relative | | | Data Pass | | magnitude | change | |========================================================================= | INIT | 0 / 1 | 4.307833e+01 | 9.925486e-02 | NaN | | LBFGS | 0 / 2 | 2.782790e+01 | 7.202403e-03 | 9.891473e-01 | | LBFGS | 1 / 3 | 2.781351e+01 | 1.806211e-02 | 3.220672e-03 | | LBFGS | 2 / 4 | 2.777773e+01 | 2.727737e-02 | 9.309939e-03 | | LBFGS | 3 / 5 | 2.768591e+01 | 2.951422e-02 | 2.833343e-02 | | LBFGS | 4 / 6 | 2.755857e+01 | 5.124144e-02 | 7.935278e-02 | | LBFGS | 5 / 7 | 2.738896e+01 | 3.089571e-02 | 4.644920e-02 | | LBFGS | 6 / 8 | 2.716704e+01 | 2.552696e-02 | 8.596406e-02 | | LBFGS | 7 / 9 | 2.696409e+01 | 3.088621e-02 | 1.263589e-01 | | LBFGS | 8 / 10 | 2.676203e+01 | 2.021303e-02 | 1.533927e-01 | | LBFGS | 9 / 11 | 2.660322e+01 | 1.221361e-02 | 1.351968e-01 | | LBFGS | 10 / 12 | 2.645504e+01 | 1.486501e-02 | 1.175476e-01 | | LBFGS | 11 / 13 | 2.631323e+01 | 1.772835e-02 | 1.161909e-01 | | LBFGS | 12 / 14 | 2.625264e+01 | 5.837906e-02 | 1.422851e-01 | | LBFGS | 13 / 15 | 2.619281e+01 | 1.294441e-02 | 2.966283e-02 | | LBFGS | 14 / 16 | 2.618220e+01 | 3.791806e-03 | 9.051274e-03 | | LBFGS | 15 / 17 | 2.617989e+01 | 3.689255e-03 | 6.364132e-03 | | LBFGS | 16 / 18 | 2.617426e+01 | 4.200232e-03 | 1.213026e-02 | | LBFGS | 17 / 19 | 2.615914e+01 | 7.339928e-03 | 2.803348e-02 | | LBFGS | 18 / 20 | 2.620704e+01 | 2.298098e-02 | 1.749830e-01 | |========================================================================= | Solver | Iteration / | Objective | Gradient | Beta relative | | | Data Pass | | magnitude | change | |========================================================================= | LBFGS | 18 / 21 | 2.615554e+01 | 1.164689e-02 | 8.580878e-02 | | LBFGS | 19 / 22 | 2.614367e+01 | 3.395507e-03 | 3.938314e-02 | | LBFGS | 20 / 23 | 2.614090e+01 | 2.349246e-03 | 1.495049e-02 | |========================================================================|
Mdl = RegressionKernel ResponseName: 'Y' Learner: 'svm' NumExpansionDimensions: 64 KernelScale: 1 Lambda: 8.5385e-06 BoxConstraint: 1 Epsilon: 5.9303
FitInfo = struct with fields:
Solver: 'LBFGS-tall'
LossFunction: 'epsiloninsensitive'
Lambda: 8.5385e-06
BetaTolerance: 1.0000e-03
GradientTolerance: 1.0000e-05
ObjectiveValue: 26.1409
GradientMagnitude: 0.0023
RelativeChangeInBeta: 0.0150
FitTime: 17.9573
History: [1x1 struct]
Mdl
は RegressionKernel
モデルです。回帰誤差を調べるには、Mdl
と学習データまたは新しいデータを関数 loss
に渡すことができます。または、Mdl
と新しい予測子データを関数 predict
に渡して、新しい観測値の応答を予測することができます。また、Mdl
と学習データを関数 resume
に渡して学習を続行することもできます。
FitInfo
は、最適化情報が格納されている構造体配列です。最適化終了時の結果が満足できるものであるかどうかを判断するには、FitInfo
を使用します。
精度を向上させるため、fitrkernel
の名前と値のペアの引数を使用して、最適化反復の最大回数 ('IterationLimit'
) を増やしたり、許容誤差の値 ('BetaTolerance'
および 'GradientTolerance'
) を小さくしたりすることができます。このようにすると、FitInfo
の ObjectiveValue
や RelativeChangeInBeta
などの尺度が向上します。名前と値のペアの引数 'OptimizeHyperparameters'
を使用してモデル パラメーターを最適化することもできます。
標本損失の推定と学習の再開
反復回数を増やしてガウス カーネル回帰モデルの学習を再開し、回帰損失を向上させます。
carbig
データ セットを読み込みます。
load carbig
予測子変数 (X
) と応答変数 (Y
) を指定します。
X = [Acceleration,Cylinders,Displacement,Horsepower,Weight]; Y = MPG;
配列 X
および Y
から、それぞれの配列で NaN
値が含まれている行を削除します。NaN
値が含まれている行を削除してからデータを fitrkernel
に渡すと、学習が高速化され、メモリ使用量が少なくなります。
R = rmmissing([X Y]); % Data with missing entries removed
X = R(:,1:5);
Y = R(:,end);
観測値の 10% をホールドアウト標本として予約します。学習インデックスとテスト インデックスを分割の定義から抽出します。
rng(10) % For reproducibility N = length(Y); cvp = cvpartition(N,'Holdout',0.1); idxTrn = training(cvp); % Training set indices idxTest = test(cvp); % Test set indices
カーネル回帰モデルに学習をさせます。学習データを標準化し、反復制限を 5 回に設定して、さらに 'Verbose',1
を指定し、診断情報を表示します。
Xtrain = X(idxTrn,:); Ytrain = Y(idxTrn); Mdl = fitrkernel(Xtrain,Ytrain,'Standardize',true, ... 'IterationLimit',5,'Verbose',1)
|=================================================================================================================| | Solver | Pass | Iteration | Objective | Step | Gradient | Relative | sum(beta~=0) | | | | | | | magnitude | change in Beta | | |=================================================================================================================| | LBFGS | 1 | 0 | 5.691016e+00 | 0.000000e+00 | 5.852758e-02 | | 0 | | LBFGS | 1 | 1 | 5.086537e+00 | 8.000000e+00 | 5.220869e-02 | 9.846711e-02 | 256 | | LBFGS | 1 | 2 | 3.862301e+00 | 5.000000e-01 | 3.796034e-01 | 5.998808e-01 | 256 | | LBFGS | 1 | 3 | 3.460613e+00 | 1.000000e+00 | 3.257790e-01 | 1.615091e-01 | 256 | | LBFGS | 1 | 4 | 3.136228e+00 | 1.000000e+00 | 2.832861e-02 | 8.006254e-02 | 256 | | LBFGS | 1 | 5 | 3.063978e+00 | 1.000000e+00 | 1.475038e-02 | 3.314455e-02 | 256 | |=================================================================================================================|
Mdl = RegressionKernel ResponseName: 'Y' Learner: 'svm' NumExpansionDimensions: 256 KernelScale: 1 Lambda: 0.0028 BoxConstraint: 1 Epsilon: 0.8617
Mdl
は RegressionKernel
モデルです。
テスト セットについてイプシロン不感応誤差を推定します。
Xtest = X(idxTest,:); Ytest = Y(idxTest); L = loss(Mdl,Xtest,Ytest,'LossFun','epsiloninsensitive')
L = 2.0674
resume
を使用して、モデルの学習を続行します。この関数は、Mdl
の学習に使用したものと同じ学習オプションによって学習を続行します。
UpdatedMdl = resume(Mdl,Xtrain,Ytrain);
|=================================================================================================================| | Solver | Pass | Iteration | Objective | Step | Gradient | Relative | sum(beta~=0) | | | | | | | magnitude | change in Beta | | |=================================================================================================================| | LBFGS | 1 | 0 | 3.063978e+00 | 0.000000e+00 | 1.475038e-02 | | 256 | | LBFGS | 1 | 1 | 3.007822e+00 | 8.000000e+00 | 1.391637e-02 | 2.603966e-02 | 256 | | LBFGS | 1 | 2 | 2.817171e+00 | 5.000000e-01 | 5.949008e-02 | 1.918084e-01 | 256 | | LBFGS | 1 | 3 | 2.807294e+00 | 2.500000e-01 | 6.798867e-02 | 2.973097e-02 | 256 | | LBFGS | 1 | 4 | 2.791060e+00 | 1.000000e+00 | 2.549575e-02 | 1.639328e-02 | 256 | | LBFGS | 1 | 5 | 2.767821e+00 | 1.000000e+00 | 6.154419e-03 | 2.468903e-02 | 256 | | LBFGS | 1 | 6 | 2.738163e+00 | 1.000000e+00 | 5.949008e-02 | 9.476263e-02 | 256 | | LBFGS | 1 | 7 | 2.719146e+00 | 1.000000e+00 | 1.699717e-02 | 1.849972e-02 | 256 | | LBFGS | 1 | 8 | 2.705941e+00 | 1.000000e+00 | 3.116147e-02 | 4.152590e-02 | 256 | | LBFGS | 1 | 9 | 2.701162e+00 | 1.000000e+00 | 5.665722e-03 | 9.401466e-03 | 256 | | LBFGS | 1 | 10 | 2.695341e+00 | 5.000000e-01 | 3.116147e-02 | 4.968046e-02 | 256 | | LBFGS | 1 | 11 | 2.691277e+00 | 1.000000e+00 | 8.498584e-03 | 1.017446e-02 | 256 | | LBFGS | 1 | 12 | 2.689972e+00 | 1.000000e+00 | 1.983003e-02 | 9.938921e-03 | 256 | | LBFGS | 1 | 13 | 2.688979e+00 | 1.000000e+00 | 1.416431e-02 | 6.606316e-03 | 256 | | LBFGS | 1 | 14 | 2.687787e+00 | 1.000000e+00 | 1.621956e-03 | 7.089542e-03 | 256 | | LBFGS | 1 | 15 | 2.686539e+00 | 1.000000e+00 | 1.699717e-02 | 1.169701e-02 | 256 | | LBFGS | 1 | 16 | 2.685356e+00 | 1.000000e+00 | 1.133144e-02 | 1.069310e-02 | 256 | | LBFGS | 1 | 17 | 2.685021e+00 | 5.000000e-01 | 1.133144e-02 | 2.104248e-02 | 256 | | LBFGS | 1 | 18 | 2.684002e+00 | 1.000000e+00 | 2.832861e-03 | 6.175231e-03 | 256 | | LBFGS | 1 | 19 | 2.683507e+00 | 1.000000e+00 | 5.665722e-03 | 3.724026e-03 | 256 | | LBFGS | 1 | 20 | 2.683343e+00 | 5.000000e-01 | 5.665722e-03 | 9.549119e-03 | 256 | |=================================================================================================================| | Solver | Pass | Iteration | Objective | Step | Gradient | Relative | sum(beta~=0) | | | | | | | magnitude | change in Beta | | |=================================================================================================================| | LBFGS | 1 | 21 | 2.682897e+00 | 1.000000e+00 | 5.665722e-03 | 7.172867e-03 | 256 | | LBFGS | 1 | 22 | 2.682682e+00 | 1.000000e+00 | 2.832861e-03 | 2.587726e-03 | 256 | | LBFGS | 1 | 23 | 2.682485e+00 | 1.000000e+00 | 2.832861e-03 | 2.953648e-03 | 256 | | LBFGS | 1 | 24 | 2.682326e+00 | 1.000000e+00 | 2.832861e-03 | 7.777294e-03 | 256 | | LBFGS | 1 | 25 | 2.681914e+00 | 1.000000e+00 | 2.832861e-03 | 2.778555e-03 | 256 | | LBFGS | 1 | 26 | 2.681867e+00 | 5.000000e-01 | 1.031085e-03 | 3.638352e-03 | 256 | | LBFGS | 1 | 27 | 2.681725e+00 | 1.000000e+00 | 5.665722e-03 | 1.515199e-03 | 256 | | LBFGS | 1 | 28 | 2.681692e+00 | 5.000000e-01 | 1.314940e-03 | 1.850055e-03 | 256 | | LBFGS | 1 | 29 | 2.681625e+00 | 1.000000e+00 | 2.832861e-03 | 1.456903e-03 | 256 | | LBFGS | 1 | 30 | 2.681594e+00 | 5.000000e-01 | 2.832861e-03 | 8.704875e-04 | 256 | | LBFGS | 1 | 31 | 2.681581e+00 | 5.000000e-01 | 8.498584e-03 | 3.934768e-04 | 256 | | LBFGS | 1 | 32 | 2.681579e+00 | 1.000000e+00 | 8.498584e-03 | 1.847866e-03 | 256 | | LBFGS | 1 | 33 | 2.681553e+00 | 1.000000e+00 | 9.857038e-04 | 6.509825e-04 | 256 | | LBFGS | 1 | 34 | 2.681541e+00 | 5.000000e-01 | 8.498584e-03 | 6.635528e-04 | 256 | | LBFGS | 1 | 35 | 2.681499e+00 | 1.000000e+00 | 5.665722e-03 | 6.194735e-04 | 256 | | LBFGS | 1 | 36 | 2.681493e+00 | 5.000000e-01 | 1.133144e-02 | 1.617763e-03 | 256 | | LBFGS | 1 | 37 | 2.681473e+00 | 1.000000e+00 | 9.869233e-04 | 8.418484e-04 | 256 | | LBFGS | 1 | 38 | 2.681469e+00 | 1.000000e+00 | 5.665722e-03 | 1.069722e-03 | 256 | | LBFGS | 1 | 39 | 2.681432e+00 | 1.000000e+00 | 2.832861e-03 | 8.501930e-04 | 256 | | LBFGS | 1 | 40 | 2.681423e+00 | 2.500000e-01 | 1.133144e-02 | 9.543716e-04 | 256 | |=================================================================================================================| | Solver | Pass | Iteration | Objective | Step | Gradient | Relative | sum(beta~=0) | | | | | | | magnitude | change in Beta | | |=================================================================================================================| | LBFGS | 1 | 41 | 2.681416e+00 | 1.000000e+00 | 2.832861e-03 | 8.763251e-04 | 256 | | LBFGS | 1 | 42 | 2.681413e+00 | 5.000000e-01 | 2.832861e-03 | 4.101888e-04 | 256 | | LBFGS | 1 | 43 | 2.681403e+00 | 1.000000e+00 | 5.665722e-03 | 2.713209e-04 | 256 | | LBFGS | 1 | 44 | 2.681392e+00 | 1.000000e+00 | 2.832861e-03 | 2.115241e-04 | 256 | | LBFGS | 1 | 45 | 2.681383e+00 | 1.000000e+00 | 2.832861e-03 | 2.872858e-04 | 256 | | LBFGS | 1 | 46 | 2.681374e+00 | 1.000000e+00 | 8.498584e-03 | 5.771001e-04 | 256 | | LBFGS | 1 | 47 | 2.681353e+00 | 1.000000e+00 | 2.832861e-03 | 3.160871e-04 | 256 | | LBFGS | 1 | 48 | 2.681334e+00 | 5.000000e-01 | 8.498584e-03 | 1.045502e-03 | 256 | | LBFGS | 1 | 49 | 2.681314e+00 | 1.000000e+00 | 7.878714e-04 | 1.505118e-03 | 256 | | LBFGS | 1 | 50 | 2.681306e+00 | 1.000000e+00 | 2.832861e-03 | 4.756894e-04 | 256 | | LBFGS | 1 | 51 | 2.681301e+00 | 1.000000e+00 | 1.133144e-02 | 3.664873e-04 | 256 | | LBFGS | 1 | 52 | 2.681288e+00 | 1.000000e+00 | 2.832861e-03 | 1.449821e-04 | 256 | | LBFGS | 1 | 53 | 2.681287e+00 | 2.500000e-01 | 1.699717e-02 | 2.357176e-04 | 256 | | LBFGS | 1 | 54 | 2.681282e+00 | 1.000000e+00 | 5.665722e-03 | 2.046663e-04 | 256 | | LBFGS | 1 | 55 | 2.681278e+00 | 1.000000e+00 | 2.832861e-03 | 2.546349e-04 | 256 | | LBFGS | 1 | 56 | 2.681276e+00 | 2.500000e-01 | 1.307940e-03 | 1.966786e-04 | 256 | | LBFGS | 1 | 57 | 2.681274e+00 | 5.000000e-01 | 1.416431e-02 | 1.005310e-04 | 256 | | LBFGS | 1 | 58 | 2.681271e+00 | 5.000000e-01 | 1.118892e-03 | 1.147324e-04 | 256 | | LBFGS | 1 | 59 | 2.681269e+00 | 1.000000e+00 | 2.832861e-03 | 1.332914e-04 | 256 | | LBFGS | 1 | 60 | 2.681268e+00 | 2.500000e-01 | 1.132045e-03 | 5.441369e-05 | 256 | |=================================================================================================================|
更新されたモデルを使用して、テスト セットについてイプシロン不感応誤差を推定します。
UpdatedL = loss(UpdatedMdl,Xtest,Ytest,'LossFun','epsiloninsensitive')
UpdatedL = 1.8933
反復回数を増やして resume
で回帰モデルを更新すると、約 0.08
倍だけ回帰誤差が減少します。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。 (R2023a 以降)
使用上の注意事項および制限事項:
関数
predict
はコード生成をサポートします。fitrkernel
を使用してカーネル回帰モデルに学習させる場合、名前と値の引数ResponseTransform
の値を無名関数にすることはできません。
詳細は、コード生成の紹介を参照してください。
バージョン履歴
R2018a で導入R2023b: カーネル モデルで予測子の標準化をサポート
関数 fitckernel
および fitrkernel
で数値予測子の標準化がサポートされます。つまり、いずれかの関数の呼び出しで Standardize
の値を true
として指定することで、各数値予測子変数をセンタリングおよびスケーリングできます。カーネル モデルに含まれる Mu
プロパティと Sigma
プロパティに、学習前の予測子の標準化に使用される平均と標準偏差がそれぞれ格納されます。これらのプロパティは、近似関数で標準化が一切実行されない場合は空になります。
R2023a: 予測用の C/C++ コードの生成
関数 predict
に対する C/C++ コードを生成できます。
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)