このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
incrementalLearner
単純ベ▪▪ズ分類モデルの▪▪ンクリメンタル学習器への変換
説明
は,従来式の学習済み単純ベIncrementalMdl
= incrementalLearner (Mdl
)Mdl
のハパパラメタを使用して,ンクリメンタル学習用の単純ベ@ @ズ分類モデルIncrementalMdl
を返します。プロパティ値はMdl
から得られた知識を反映しているため,IncrementalMdl
は新しい観測値に対してラベルの予測を行うことができます。また“ウォ,ム”となるため,予測性能が追跡されます。
は,1以上の名前と値のペアの引数によって指定された追加オプションを使用します。一部のオプションでは,予測パフォ,マンスの追跡を行う前にIncrementalMdl
= incrementalLearner (Mdl
,名称,值
)IncrementalMdl
に学習させる必要があります。たとえば,“MetricsWarmupPeriod”,50岁,“MetricsWindowSize”,100
は50個の観測値から成る,パフォーマンスメトリクスの追跡前のインクリメンタル学習の予備期間を指定し,パフォーマンスメトリクスを更新する前に100個の観測値を処理することを指定します。
例
従来式の学習済みモデルの@ @ンクリメンタル学習器への変換
fitcnb
を使用して単純ベaapl . exeズモデルに学習させ,それをaapl . exeンクリメンタル学習器に変換します。
デ,タの読み込みと前処理
人の行動のデ,タセットを読み込みます。
负载humanactivity
デタセットの詳細にいては,コマンドランで描述
を入力してください。
単純ベ@ @ズモデルの学習
単純ベ▪▪ズ分類モデルをデ▪▪タセット全体にあてはめます。
TTMdl = fitcnb(feat,actid);
TTMdl
は従来式の学習済み単純ベ@ @ズ分類モデルを表すClassificationNaiveBayes
モデルオブジェクトです。
学習済みモデルの変換
従来式の学習済み単純ベ▪▪ズ分類モデルを▪▪ンクリメンタル学習用に変換します。
IncrementalMdl =增量学习者(TTMdl)
IncrementalMdl = incrementalClassificationNaiveBayes IsWarm: 1 Metrics: [1x2 table] ClassNames: [1 2 3 4 5] ScoreTransform: 'none' DistributionNames: {1x60 cell} DistributionParameters: {5x60 cell}属性,方法
IncrementalMdl
は,単純ベaaplズ分類を使用するaaplンクリメンタル学習用に準備されたincrementalClassificationNaiveBayes
モデルオブジェクトです。
関数
incrementalLearner
は,学習した条件付き予測子分布パラメ,タ,を,TTMdl
が学習デタから抽出した他の情報と共に渡して,ンクリメンタル学習器を初期化します。IncrementalMdl
はウォム(IsWarm
が1
)です。これは,インクリメンタル学習関数がパフォーマンスメトリクスの追跡と予測を実行できることを意味します。
応答予測
従来式の学習済みモデルから変換して作成したインクリメンタル学習器は,追加の処理なしで予測を生成できます。
両方のモデルを使用して,すべての観測値の分類スコア(クラス事後確率)を予測します。
[~,ttscores] = predict(TTMdl,feat);[~,ilcores] = predict(IncrementalMdl,feat);compareScores = norm(ttscores - ilcores)
compareScores = 0
モデルによって生成されたスコアの差は0です。
パフォ,マンスメトリクスオプションの構成
学習済みの単純ベaapl . aapl .ズモデルを使用して,aapl .ンクリメンタル学習器を初期化します。メトリクスのウォムアップ期間を指定して,ンクリメンタル学習器を準備します。その間,関数updateMetricsAndFit
はモデルのあてはめのみを行います。メトリクスウィンドウサesc escズを観測値500個に指定します。
人の行動のデ,タセットを読み込みます。
负载humanactivity
デタセットの詳細にいては,コマンドランで描述
を入力してください。
デタをランダムに2分割します。最初の半分は従来式のモデルの学習用,残りの半分は。
N = numel(actid);rng (1)%用于再现性CVP = cvpartition(n,“坚持”, 0.5);Idxtt =训练(cvp);Idxil = test(cvp);数据的前半部分Xtt = feat(idxtt,:);Ytt = actid(idxtt);数据的后半部分Xil = feat(idxil,:);Yil = actid(idxil);
デタの最初の半分に単純ベズモデルを当てはめます。
TTMdl = fitcnb(Xtt,Ytt);
従来式の学習済み単純ベ▪▪ズモデルを▪▪ンクリメンタル学習用の単純ベ▪▪ズ分類モデルに変換します。次を指定します。
メトリクスのウォムアップ期間は観測値2000個
メトリクスウィンドウサesc escズは観測値500個
分類誤差および最小コストを使用してモデルの性能を測定
增量mdl =增量学习者(TTMdl,“MetricsWarmupPeriod”, 2000,“MetricsWindowSize”, 500,...“指标”, (“classiferror”“枢纽”]);
関数updateMetricsAndfit
を使用して,。各反復で次を行います。
20 .個の観測値を一度に処理して,デ,タストリ,ムをシミュレ,ト。
前のesc escンクリメンタルモデルを,入力観測値に当てはめた新しいモデルで上書き。
1番目のクラス内の2番目の予測子の平均 ,累積メトリクス,およびウィンドウメトリクスを保存し,インクリメンタル学習中にそれらがどのように進化するかを確認。
%预先配置nil =数字(Yil);numObsPerChunk = 20;nchunk = cell (nil/numObsPerChunk);Ce = array2table(0 (nchunk,2),“VariableNames”, (“累积”“窗口”]);MC = array2table(0 (nchunk,2),“VariableNames”, (“累积”“窗口”]);Mu12 = 0 (nchunk,1);%增量拟合为j = 1:nchunk ibegin = min(nil,numObsPerChunk*(j-1) + 1);iend = min(nil,numObsPerChunk*j);Idx = ibegin:iend;IncrementalMdl = updateMetricsAndFit(增量mdl,Xil(idx,:),Yil(idx));ce{j,:} = IncrementalMdl。指标{“ClassificationError”,:};mc{j,:} = IncrementalMdl。指标{“MinimalCost”,:};mu12(j + 1) = incrementalmld . distributionparameters {1,2}(1);结束
IncrementalMdl
は,ストリ,ム内のすべてのデ,タで学習させたincrementalClassificationNaiveBayes
モデルオブジェクトです。ンクリメンタル学習中およびモデルがウォームアップされた後、updateMetricsAndFit
は入力観測値でのモデルの性能をチェックし,モデルをその観測値にあてはめます。
パフォ,マンスメトリクスと が学習中にどのように進化したかを確認するには,それらを別々のサブプロットにプロットします。
图;Subplot (3,1,1) plot(mu12) ylabel(“\ mu_{12}”) xlim([0 nchunk]);参照线(IncrementalMdl。MetricsWarmupPeriod/numObsPerChunk,r -。);subplot(3,1,2) h = plot(ce.Variables);xlim ([0 nchunk]);ylabel (分类错误的)参照线(IncrementalMdl。MetricsWarmupPeriod/numObsPerChunk,r -。);传奇(h, ce.Properties.VariableNames“位置”,“西北”) subplot(3,1,3) h = plot(mc.Variables);xlim ([0 nchunk]);ylabel (“最小成本”)参照线(IncrementalMdl。MetricsWarmupPeriod/numObsPerChunk,r -。);传奇(h, mc.Properties.VariableNames“位置”,“西北”)包含(“迭代”)
プロットは,updateMetricsAndFit
が次を行うことを示しています。
を@ @ンクリメンタル学習のすべての反復で当てはめ。
パフォ,マンスメトリクスをメトリクスのウォ,ムアップ期間後にのみ計算。
累積メトリクスを各反復中に計算。
ウィンドウメトリクスを500個の観測値(25回の反復)の処理後に計算。
デ,タは行動で順序付けされるため,平均とパフォ,マンスメトリクスは定期的に急激に変動します。
入力引数
Mdl
- - - - - -マルチクラス分類用の従来式の学習済み単純ベ@ @ズモデル
ClassificationNaiveBayes
モデルオブジェクト
マルチクラス分類用の従来式の学習済み単純ベ@ @ズモデル。fitcnb
によって返されるClassificationNaiveBayes
モデルオブジェクトとして指定します。Mdl。DistributionNames
に格納される各予測子変数の条件付き分布は正規でなければなりません。
名前と値のペアの引数
オプションの名称,值
引数のコンマ区切りペアを指定します。的名字
は引数名で,价值
は対応する値です。的名字
は引用符で囲まなければなりません。Name1, Value1,…,的家
のように,複数の名前と値のペアの引数を,任意の順番で指定できます。
“指标”,“classiferror”“mincost”,“MetricsWindowSize”,100年
は,誤分類率と最小コストを追跡することを指定し,パフォーマンスメトリクスを更新する前に100個の観測値を処理することを指定します。
指标
- - - - - -ンクリメンタル学習中に追跡するモデルのパフォ,マンスメトリクス
“mincost”
(既定値) |“classiferror”
|字符串ベクトル|関数ハンドル|细胞ベクトル|構造体配列|“binodeviance”
|“指数”
|“枢纽”
|“分对数”
|“二次”
|……
関数updateMetrics
またはupdateMetricsAndFit
を使って▪▪ンクリメンタル学習中に追跡するモデルのパフォ▪▪マンスメトリクス。組み込みの損失関数の名前,名前の字符串ベクトル,関数ハンドル(@metricName
),関数ハンドルの構造体配列,または名前,関数ハンドル,構造体配列の细胞ベクトルとして指定します。
次の表は,組み込みの損失関数名の一覧です。字符串ベクトルを使用して、複数指定できます。
名前 | 説明 |
---|---|
“binodeviance” |
二項分布からの逸脱度 |
“classiferror” |
分類誤差 |
“指数” |
指数 |
“枢纽” |
ヒンジ |
“分对数” |
ロジスティック |
'“mincost” |
最小予測誤分類コスト(事後確率である分類スコアの場合) |
“二次” |
2 次 |
組み込み損失関数の詳細にいては,损失
を参照してください。
例:“指标”,(“classiferror”“mincost”)
パフォ,マンスメトリクスを返すカスタム関数を指定するには,関数ハンドル表記を使用します。関数は次の形式でなければなりません。
度量= customMetric(C,S,成本)
出力引数
度规
はn行1列の数値ベクトルです。ここで,各要素は、学習サイクル中にインクリメンタル学習関数によって処理されたデータの対応する観測値の損失です。関数名 (
customMetric
)を選択します。C
はn行K列の逻辑行列であり,対応する観測値が属するクラスを各行が示します。Kはクラスの数です。列の順序は一会
プロパティのクラスの順序に対応します。C
を作成するには,指定されたデ,タの各観測値に,いて観測値
がクラスp
に属する場合に问
C (
=p
,问
)1
を設定します。行
の他の要素をp
0
に設定します。年代
は,予測分類スコアのn行K列の数値行列です。年代
は预测
の出力分数
に似ています。ここで,行はデータの観測値に対応し、列の順序は一会
プロパティのクラスの順序に対応しています。S (
は,クラスp
,问
)
に分類されている観測値问
の分類スコアです。p
成本
は,誤分類コストの,k行k列の数値行列です。名前と値の引数“成本”
を参照してください。
複数のカスタムメトリクスを指定し,それぞれにカスタム名を割り当てるには,構造体配列を使用します。組み込みメトリクスとカスタムメトリクスの組み合わせを指定するには,细胞ベクトルを使用します。
例:“指标”,结构(‘Metric2’,‘Metric1’,@customMetric1 @customMetric2)
例:'Metrics',{@customMetric1 @customeMetric2 'logit' struct('Metric3',@customMetric3)}
updateMetrics
およびupdateMetricsAndFit
は,表で指定したメトリクスをプロパティIncrementalMdl。指标
に保存します。指标
のデ,タ型によって,表の行名が決まります。
“指标” 値のデ,タ型 |
指标 プロパティの行名の説明 |
例 |
---|---|---|
字符串または文字ベクトル | 対応する組み込みメトリクスの名前 | “classiferror” の行名は“ClassificationError” |
構造体配列 | フィ,ルド名 | 结构(Metric1, @customMetric1) の行名は“Metric1” |
プログラムファ@ @ルに格納されている関数への関数ハンドル | 関数名 | @customMetric の行名は“customMetric” |
無名関数 | CustomMetric_ 。ここで, は指标 のメトリクス
|
@ (C、S、成本)customMetric (C、S、成本)… の行名はCustomMetric_1 |
パフォマンスメトリクスオプションの詳細にいては,パフォ,マンスメトリクスを参照してください。
デ,タ型:字符
|字符串
|结构体
|细胞
|function_handle
MetricsWarmupPeriod
- - - - - -パフォ,マンスメトリクスを追跡する前にあてはめる観測値の数
1000
(既定値) |非負の整数
このプロパティは読み取り専用です。
ンクリメンタルモデルが指标
プロパティのパフォ,マンスメトリクスを追跡する前にあてはめなければならない観測値の数。非負の整数として指定します。
詳細にいては,パフォ,マンスメトリクスを参照してください。
デ,タ型:单
|双
MetricsWindowSize
- - - - - -ウィンドウパフォ,マンスメトリクスの計算に使用する観測値の数
200
(既定値) |正の整数
このプロパティは読み取り専用です。
ウィンドウパフォ,マンスメトリクスの計算に使用する観測値の数。正の整数として指定します。
パフォマンスメトリクスオプションの詳細にいては,パフォ,マンスメトリクスを参照してください。
デ,タ型:单
|双
出力引数
IncrementalMdl
—econpンクリメンタル学習用の単純ベeconpズ分類
incrementalClassificationNaiveBayes
モデルオブジェクト
▪▪▪▪ンクリメンタル学習用の単純ベ▪▪▪▪ズ分類モデル。incrementalClassificationNaiveBayes
モデルオブジェクトとして返されます。IncrementalMdl
は新しいデタに基づいて予測を生成するようにも構成されます(预测
を参照)。
ンクリメンタル学習用にIncrementalMdl
を初期化するために,incrementalLearner
は,この表に示すMdl
のプロパティの値をIncrementalMdl
の対応するプロパティに渡します。
プロパティ | 説明 |
---|---|
一会 |
バ@ @ナリ分類のクラスラベル。名前のリスト |
成本 |
誤分類コスト。数値行列 |
DistributionNames |
予測子変数の条件付き分布の名前。各セルに“正常 を含むcell配列 |
DistributionParameters |
予測子変数の条件付き分布のパラメ,タ,値。長さ2の数値ベクトルのcell配列(詳細にいてはDistributionParameters を参照) |
之前 |
前のクラスラベルの分布。数値ベクトル |
ScoreTransform |
スコア変換関数。名前または関数ハンドル。 |
Y |
ンクリメンタル学習用のクラスの重みに従った計算のためにfitcnb に提供されたクラスラベル。ラベルの配列として格納(Y を参照) |
詳細
ンクリメンタル学習
“蓉城ンクリメンタル学習”(“オンラ电子邮箱ン学習”)は予測子変数の分布,予測関数や目的関数の要素(調整パラメーターの値を含む),観測値のラベル付けなどがほとんど未知,またはまったく未知の可能性のある,データストリームからの入力データの処理に着目した,機械学習の一分野です。インクリメンタル学習が従来の機械学習と異なっているのは,モデルへのあてはめ,ハイパーパラメーター調整のための交差検証の実行,および予測子の分布の推測を行うために,十分にラベル付けされたデータを使用できるということです。
入力観測値に対し,インクリメンタル学習モデルは,次のいずれかの方法(通常はこの順序)でデータを処理します。
ラベルの予測。
予測性能の測定。
モデルの構造的な破綻やドリフトにいてのチェック。
入力観測値へのモデルのあてはめ。
アルゴリズム
パフォ,マンスメトリクス
関数
updateMetrics
およびupdateMetricsAndFit
は,电子邮件ンクリメンタルモデルが“ウォ,ム”(IsWarm
プロパティ)のときに,新しいデ,タからモデルのパフォ,マンスメトリクス(“指标”
)を追跡します。ンクリメンタルモデルは,适合
またはupdateMetricsAndFit
で次の両方のアクションを実行するとウォ,ムになります。ンクリメンタルモデルをMetricsWarmupPeriodの観測値(“メトリクスのウォ,ムアップ期間”)に当てはめる。
MaxNumClasses
のクラス,または名前と値の引数一会
で指定されたすべてのクラス名を処理する。
ンクリメンタルモデルの
指标
プロパティは,各パフォ,マンスメトリクスの2の形式を表の変数(列)累积
および窗口
とし,個々のメトリクスを行に格納します。ンクリメンタルモデルがウォームになると、updateMetrics
およびupdateMetricsAndFit
は次の頻度でメトリクスを更新します。累积
-関数は、モデルの性能追跡の開始以降の累積メトリクスを計算します。関数は、関数が呼び出されるたびにメトリクスを更新し、提供されたデータ セット全体に基づいて計算を行います。窗口
-関数は、名前と値のペアの引数MetricsWindowSizeによって決定されたウィンドウ内のすべての観測値に基づいてメトリクスを計算します。MetricsWindowSize
によってソフトウェアが窗口
メトリクスを更新する頻度も決まります。たとえば,MetricsWindowSize
が20の場合,関数は提供されたデータの最後の20個の観測値に基づいてメトリクスを計算します(X((end - 20 + 1):end,:)
およびY((end - 20 + 1):end)
)。ウィンドウ内のパフォーマンスメトリクスを追跡するインクリメンタル関数は,次のプロセスを使用します。
指定された各メトリクスにいて,長さ
MetricsWindowSize
のバッファ,および観測値の重みのバッファ,を保存します。入力観測値のバッチに基づくモデル性能をメトリクスバッファーの要素に入力し,対応する観測値の重みを重みバッファーに格納します。
バッファ,がいっぱいになると,
Mdl.Metrics.Window
をメトリクスウィンドウの性能の加重平均で上書きします。関数が観測値のバッチを処理するときにバッファーがあふれる場合、最新の入力観測値MetricsWindowSize
がバッファ,に入り,最も古い観測値がバッファ,から削除されます。たとえば,MetricsWindowSize
が20でメトリクスバッファーには前に処理されたバッチからの10個の値が存在し,15個の値が入力されるとします。長さ20のウィンドウを構成するため,関数は15個の入力観測値からの測定値と前のバッチからの最新の5個の測定値を使用します。
参考
オブジェクト
関数
Matlabコマンド
次のmatlabコマンドに対応するリンクがクリックされました。
コマンドをmatlabコマンドウィンドウに入力して実行してください。Webブラウザ,はMATLABコマンドをサポ,トしていません。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。