Main Content

reset

インクリメンタル分類モデルのリセット

R2022a 以降

    説明

    Mdl = reset(Mdl) は、学習したパラメーターがリセットされたインクリメンタル モデル Mdl を返します。インクリメンタル学習中に Mdl のハイパーパラメーターが推定される場合、関数 reset はこれらのハイパーパラメーターもリセットします。resetMdl.Numpredictors プロパティを常に保持します。

    インクリメンタル分類モデルの場合、resetMdl.ClassNames プロパティを常に保持し、Mdl.Prior"empirical" の場合にリセットします。

    すべて折りたたむ

    人の行動のデータ セットを読み込みます。データをランダムにシャッフルします。

    load humanactivity
    n = numel(actid);
    rng(1); % For reproducibility
    idx = randsample(n,n);
    X = feat(idx,:);
    Y = actid(idx);

    データ セットの詳細については、コマンド ラインで Description を入力してください。

    応答は、次の 5 つのクラスのいずれかになります。座る、立つ、歩く、走る、または踊る。被験者が移動しているかどうか (actid > 2) を基準に、応答を二分します。

    Y = Y > 2;

    バイナリ分類用のインクリメンタル線形 SVM モデルを作成します。クラス名、事前クラス分布 (一様)、および任意の係数とバイアス値を指定して損失用にモデルを構成します。メトリクス ウィンドウ サイズを観測値 1000 個に指定します。

    p = size(X,2);
    Beta = randn(p,1);
    Bias = randn(1);
    Mdl = incrementalClassificationLinear('Beta',Beta,'Bias',Bias,...
        'ClassNames',unique(Y),'Prior','uniform','MetricsWindowSize',1000,'Metrics','classiferror');

    MdlincrementalClassificationLinear モデルです。そのプロパティはすべて読み取り専用です。

    それぞれ 50 個の観測値の入力チャンクを使用して、データ ストリームをシミュレートします。

    1. updateMetricsAndFit を呼び出してパフォーマンス メトリクスを更新し、モデルをデータの入力ウィンドウに当てはめます。前のインクリメンタル モデルを新しいモデルで上書きします。

    2. モデルを調べます。

    3. reset を呼び出して学習したパラメーターをリセットし、前のモデルと比較してリセットされたパラメーターを確認します。

    numObsPerChunk = 50;
    nchunk = floor(n/numObsPerChunk);
    
    for j = 1:nchunk
        ibegin = min(n,numObsPerChunk*(j-1) + 1);
        iend   = min(n,numObsPerChunk*j);
        idx = ibegin:iend;    
        Mdl = updateMetricsAndFit(Mdl,X(idx,:),Y(idx));
    end

    モデル パラメーターの一部を表示します。

    Mdl
    Mdl = 
      incrementalClassificationLinear
    
                IsWarm: 1
               Metrics: [1x2 table]
            ClassNames: [0 1]
        ScoreTransform: 'none'
                  Beta: [60x1 double]
                  Bias: -0.9069
               Learner: 'svm'
    
    
    
    Mdl.Metrics
    ans=1×2 table
                               Cumulative    Window
                               __________    ______
    
        ClassificationError    0.0018185       0   
    
    
    Mdl.Beta(1:10)
    ans = 10×1
    
       -0.8806
       -0.0259
        1.6498
       12.0393
        0.4948
        8.9050
        0.1317
        0.0006
        0.1071
        0.0092
    
    

    モデルはウォーム (IsWarm=1) で、パフォーマンス メトリクス ClassificationError の値やモデル パラメーター Bias および Beta の推定値を確認できます。

    モデルをリセットし、同じパラメーターを表示します。

    newMdl = reset(Mdl)
    newMdl = 
      incrementalClassificationLinear
    
                IsWarm: 0
               Metrics: [1x2 table]
            ClassNames: [0 1]
        ScoreTransform: 'none'
                  Beta: [60x1 double]
                  Bias: 0
               Learner: 'svm'
    
    
    
    newMdl.Metrics
    ans=1×2 table
                               Cumulative    Window
                               __________    ______
    
        ClassificationError       NaN         NaN  
    
    
    newMdl.Beta(1:10)
    ans = 10×1
    
         0
         0
         0
         0
         0
         0
         0
         0
         0
         0
    
    

    関数 reset は、モデルのウォームアップ ステータス (IsWarm = 0)、パフォーマンス メトリクスの値、および推定されたモデル パラメーターをリセットします。これらに加えて、各反復で更新される NumTrainingObservations などのプロパティもリセットします。

    入力引数

    すべて折りたたむ

    インクリメンタル学習モデル。incrementalClassificationKernelincrementalClassificationLinearincrementalClassificationECOC、または incrementalClassificationNaiveBayes のいずれかのモデル オブジェクトとして指定します。Mdl は、直接作成することも、サポートされている従来式の学習済み機械学習モデルを関数 incrementalLearner によって変換して作成することもできます。詳細については、対応するオブジェクトのページを参照してください。

    バージョン履歴

    R2022a で導入