Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

resubLoss

クラス: RegressionSVM

サポート ベクター マシン回帰モデルの再代入損失

構文

L = resubLoss(mdl)
L = resubLoss(mdl,Name,Value)

説明

L = resubLoss(mdl) は、mdl.X に格納されている学習データと mdl.Y に格納されている対応する応答値を使用して、サポート ベクター マシン (SVM) 回帰モデル mdl の再代入損失を返します。

L = resubLoss(mdl,Name,Value) では、1 つ以上の名前と値の引数を使用して追加オプションを指定します。たとえば、再代入損失の計算に使用する損失関数を指定します。

入力引数

すべて展開する

完全な学習済み SVM 回帰モデル。fitrsvm によって返される RegressionSVM モデルとして指定します。

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。

R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name を引用符で囲みます。

例: resubLoss(Mdl,"LossFun","epsiloninsensitive") は、再代入損失の計算にイプシロン不感応損失関数を使用するように指定します。

損失関数。"mse""epsiloninsensitive"、または関数ハンドルとして指定します。

  • 次の表は、使用可能な損失関数の一覧です。対応する値を使用していずれかを指定します。

    損失関数
    "mse"平均二乗誤差
    "epsiloninsensitive"イプシロン不感応損失関数
  • 関数ハンドル表記を使用して独自の関数を指定します。

    n = size(X,1) が標本サイズであるとします。関数には署名 lossvalue = lossfun(Y,Yfit,W) がなければなりません。ここで、次のようになります。

    • 出力引数 lossvalue は数値です。

    • 関数名 (lossfun) を選択します。

    • Y は、観測された応答値が含まれている n 行 1 列の数値ベクトルです。

    • Yfit は、予測した応答値が含まれている n 行 1 列の数値ベクトルです。(predict の出力と同じように) X の対応する予測子の値を使用して計算されます。

    • W は、観測値の重みの n 行 1 列の数値ベクトルです。

    "LossFun",@lossfun を使用して独自の関数を指定します。

例: "LossFun","epsiloninsensitive"

データ型: char | string | function_handle

R2023b 以降

予測子に欠損値がある観測値に使用する予測した応答値。"median""mean""omitted"、または数値スカラーとして指定します。

説明
"median"resubLoss は、予測子に欠損値がある観測値について予測した応答値として、学習データ内の観測された応答値の中央値を使用します。
"mean"resubLoss は、予測子に欠損値がある観測値について予測した応答値として、学習データ内の観測された応答値の平均値を使用します。
"omitted"resubLoss は、予測子に欠損値がある観測値を損失の計算から除外します。
数値スカラーresubLoss は、予測子に欠損値がある観測値について予測した応答値として、この値を使用します。

すべての予測子の値、観測された応答値、または観測値の重みが観測値にない場合、その観測値は resubLoss での損失の計算に使用されません。

例: "PredictionForMissingValue","omitted"

データ型: single | double | char | string

出力引数

すべて展開する

再代入損失。スカラー値として返されます。

再代入損失は、入力された学習データに基づいて、応答学習データとモデルの予測応答値の間で計算されます。

再代入損失は、新しいデータに対する予測誤差の推定として過度に楽観的なものになる可能性があります。再代入損失が大きい場合、モデルの予測があまり適切ではないと考えられます。しかし、再代入損失が低くても、新しいデータが適切に予測されるという保証はありません。

モデルの予測精度をより適切に評価するには、crossval を使用して交差検証を行います。

すべて展開する

この例では、SVM 回帰モデルを学習させてから平均二乗誤差 (MSE) とイプシロン不感応損失を使用して再代入損失を計算する方法を示します。

この例では、UCI Machine Learning Repository にあるアワビのデータを使用します。データをダウンロードして、'abalone.data' という名前で現在のディレクトリに保存します。

データを table に読み込みます。

tbl = readtable('abalone.data','Filetype','text', ...
    'ReadVariableNames',false);
rng default  % for reproducibility

標本データには 4177 個の観測値が含まれています。sex を除くすべての予測子変数は連続です。この変数はカテゴリカル変数で、可能な値は 'M' (雄)、'F' (雌) および 'I' (稚貝) です。目標は、物理的な測定値を使用してアワビの輪の数を予測し、年齢を決定することです。

自動カーネル スケールのガウス カーネル関数を使用して、SVM 回帰モデルをデータに対して学習させます。データを標準化します。

mdl = fitrsvm(tbl,'Var9','KernelFunction','gaussian', ...
    'KernelScale','auto','Standardize',true);

二乗平均誤差 (MSE) を使用して、再代入損失を計算します。

mse_loss = resubLoss(mdl)
mse_loss =

    4.0603

イプシロン不感応損失を計算します。

eps_loss = resubLoss(mdl,'LossFun','epsiloninsensitive')
eps_loss =

    1.1027

詳細

すべて展開する

参考文献

[1] Nash, W.J., T. L. Sellers, S. R. Talbot, A. J. Cawthorn, and W. B. Ford. "The Population Biology of Abalone (Haliotis species) in Tasmania. I. Blacklip Abalone (H. rubra) from the North Coast and Islands of Bass Strait." Sea Fisheries Division, Technical Report No. 48, 1994.

[2] Waugh, S. "Extending and Benchmarking Cascade-Correlation: Extensions to the Cascade-Correlation Architecture and Benchmarking of Feed-forward Supervised Artificial Neural Networks." University of Tasmania Department of Computer Science thesis, 1995.

[3] Clark, D., Z. Schreter, A. Adams. "A Quantitative Comparison of Dystal and Backpropagation." submitted to the Australian Conference on Neural Networks, 1996.

[4] Lichman, M. UCI Machine Learning Repository, [http://archive.ics.uci.edu/ml]. Irvine, CA: University of California, School of Information and Computer Science.

拡張機能

バージョン履歴

R2015b で導入

すべて展開する