kfoldLoss
交差検証済みカーネル回帰モデルの回帰損失
説明
例
標本データをシミュレートします。
rng(0,'twister'); % For reproducibility n = 1000; x = linspace(-10,10,n)'; y = 1 + x*2e-2 + sin(x)./x + 0.2*randn(n,1);
カーネル回帰モデルを交差検証します。
CVMdl = fitrkernel(x,y,'Kfold',5);fitrkernel は 5 分割の交差検証を実施します。CVMdl は RegressionPartitionedKernel モデルです。このモデルに含まれている Trained プロパティは、学習セットを使用して学習を行った 5 個の RegressionKernel モデルが格納されている 5 行 1 列の cell 配列です。
分割の学習に fitrkernel が使用しなかった観測値について、各分割のイプシロン不感応損失を計算します。
L = kfoldLoss(CVMdl,'LossFun','epsiloninsensitive','Mode','individual')
L = 5×1
0.1261
0.1247
0.1107
0.1237
0.1131
入力引数
交差検証済みのカーネル回帰モデル。RegressionPartitionedKernel モデル オブジェクトを指定します。RegressionPartitionedKernel モデルは、fitrkernel を使用し、交差検証に関する名前と値のペアの引数 (CrossVal など) を指定することにより作成できます。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name を引用符で囲みます。
例: 'LossFun','epsiloninsensitive','Mode','individual' は、各分割のイプシロン不感応損失を返すよう kfoldLoss に指定します。
応答の予測に使用する分割のインデックス。正の整数の数値ベクトルとして指定します。Folds の要素は 1 から CVMdl.KFold の範囲でなければなりません。
例: Folds=[1 4 10]
データ型: single | double
損失関数。'LossFun' と組み込み損失関数名または関数ハンドルから構成されるコンマ区切りのペアとして指定します。
次の表は、使用可能な損失関数の一覧です。対応する文字ベクトルまたは string スカラーを使用して、いずれかを指定します。また、この表では です。
β は p 個の係数のベクトルです。
x は p 個の予測子変数による観測値です。
b はスカラー バイアスです。
値 説明 'epsiloninsensitive'イプシロン不感応損失: 'mse'MSE: 'epsiloninsensitive'は SVM 学習器のみに適しています。関数ハンドル表記を使用して独自の関数を指定します。
nはX内の観測値の個数であると仮定します。使用する関数のシグネチャは次のようになっていなければなりません。ここでlossvalue =lossfun(Y,Yhat,W)出力引数
lossvalueはスカラーです。関数名 (
lossfun) を指定します。Yは観測された応答のn次元ベクトルです。kfoldLossには入力引数YでYを渡します。Yhatは予測された応答のn次元ベクトルです。これはpredictの出力と同様です。Wは、観測値の重みのn行 1 列の数値ベクトルです。
データ型: char | string | function_handle
損失の集約レベル。"average" または "individual" として指定します。
| 値 | 説明 |
|---|---|
"average" | 分割全体で平均した損失を返す |
"individual" | 各分割について損失を返す |
例: Mode="individual"
R2023b 以降
予測子に欠損値がある観測値に使用する予測した応答値。"median"、"mean"、"omitted"、または数値スカラーとして指定します。
| 値 | 説明 |
|---|---|
"median" | kfoldLoss は、予測子に欠損値がある観測値について予測した応答値として、学習分割データ内の観測された応答値の中央値を使用します。 |
"mean" | kfoldLoss は、予測子に欠損値がある観測値について予測した応答値として、学習分割データ内の観測された応答値の平均値を使用します。 |
"omitted" | kfoldLoss は、予測子に欠損値がある観測値を損失の計算から除外します。 |
| 数値スカラー | kfoldLoss は、予測子に欠損値がある観測値について予測した応答値として、この値を使用します。 |
観測された応答値または観測値の重みが観測値にない場合、その観測値は kfoldLoss による損失の計算に使用されません。
例: "PredictionForMissingValue","omitted"
データ型: single | double | char | string
出力引数
拡張機能
この関数は、GPU 配列を完全にサポートします。詳細は、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2018b で導入kfoldLoss は GPU 配列を完全にサポートします。
R2023b 以降で損失を予測または計算する際、一部の回帰モデルでは、予測子に欠損値がある観測値について予測した応答値を指定できます。名前と値の引数 PredictionForMissingValue を指定して、予測値として数値スカラー、学習セットの中央値、または学習セットの平均値を使用します。損失を計算するときに、予測子に欠損値がある観測値を省略するように指定することもできます。
次の表は、名前と値の引数 PredictionForMissingValue をサポートするオブジェクト関数の一覧です。既定では、これらの関数は、予測子に欠損値がある観測値について予測した応答値として、学習セットの中央値を使用します。
| モデル タイプ | モデル オブジェクト | オブジェクト関数 |
|---|---|---|
| ガウス過程回帰 (GPR) モデル | RegressionGP, CompactRegressionGP | loss, predict, resubLoss, resubPredict |
RegressionPartitionedGP | kfoldLoss, kfoldPredict | |
| ガウス カーネル回帰モデル | RegressionKernel | loss, predict |
RegressionPartitionedKernel | kfoldLoss, kfoldPredict | |
| 線形回帰モデル | RegressionLinear | loss, predict |
RegressionPartitionedLinear | kfoldLoss, kfoldPredict | |
| ニューラル ネットワーク回帰モデル | RegressionNeuralNetwork, CompactRegressionNeuralNetwork | loss, predict, resubLoss, resubPredict |
RegressionPartitionedNeuralNetwork | kfoldLoss, kfoldPredict | |
| サポート ベクター マシン (SVM) 回帰モデル | RegressionSVM, CompactRegressionSVM | loss, predict, resubLoss, resubPredict |
RegressionPartitionedSVM | kfoldLoss, kfoldPredict |
以前のリリースでは、上記の回帰モデル関数 loss および predict は、予測子に欠損値がある観測値について予測した応答値として NaN を使用していました。予測子に欠損値がある観測値は、予測と損失の再代入 ("resub") と交差検証 ("kfold") の計算で省略されていました。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)