主要内容

incrementalRegressionLinear

ンクリメンタル学習用の線形回帰モデル

説明

incrementalRegressionLinearincrementalRegressionLinearモデルオブジェクトを作成します。これは,回帰問題用の。サポトされる学習器には、サポート ベクター マシン (SVM) と最小二乗が含まれます。

他の统计和机器学习工具箱™モデルオブジェクトとは異なり,incrementalRegressionLinearは直接呼び出すことができます。また,モデルをデータに当てはめる前に,パフォーマンスメトリクス構成,パラメーター値,および目的ソルバーなどの学習オプションを指定できます。incrementalRegressionLinearオブジェクトを作成すると,ンクリメンタル学習用に準備されます。

incrementalRegressionLinearは,电子邮件ンクリメンタル学習に最適です。SVMまたは線形回帰モデルに学習させるための従来のアプローチ(データへの当てはめによるモデルの作成,交差検証の実行,ハイパーパラメーターの調整など)については,fitrsvmまたはfitrlinearを参照してください。

作成

incrementalRegressionLinearモデルオブジェクトは,次のいくかの方法で作成できます。

  • 関数の直接呼び出し-电子邮箱ンクリメンタル学習オプションを構成するか,incrementalRegressionLinearを直接呼び出して,線形モデルパラメタとハパパラメタの初期値を指定します。このアプロチは,デタがまだない場合やンクリメンタル学習をすぐに開始したい場合に最適です。

  • 従来式の学習済みモデルの変換——学習済みモデルオブジェクトのモデル係数およびハイパーパラメーターを使用して,インクリメンタル学習用の線形回帰モデルを初期化するには,従来式の学習済みモデルを関数incrementalLearnerに渡してincrementalRegressionLinearモデルオブジェクトに変換できます。この表には,適切なリファレンスペ,ジへのリンクが含まれています。

    変換可能なモデルオブジェクト 変換関数
    RegressionSVMまたはCompactRegressionSVM incrementalLearner
    RegressionLinear incrementalLearner

  • ンクリメンタル学習関数の呼び出し- - - - - -适合updateMetrics,およびupdateMetricsAndFitは,構成済みのincrementalRegressionLinearモデルオブジェクトおよびデータを入力として受け入れ,入力モデルとデータから学習した情報で更新されたincrementalRegressionLinearモデルオブジェクトを返します。

説明

Mdl= incrementalRegressionLinear ()は線形回帰用の既定の@ @ンクリメンタルモデルオブジェクトMdlを返します。既定のモデルのプロパティには,未知のモデルパラメ,タ,用のプレ,スホルダ,が含まれています。既定のモデルは,パフォ,マンスを追跡したり,予測を生成したりする前に学習させなければなりません。

Mdl= incrementalRegressionLinear (的名字价值は,名前と値の引数を使用して,プロパティと追加のオプションを設定します。それぞれの名前は引用符で囲みます。たとえば,incrementalRegressionLinear(“Beta”,[0.1 - 0.3],“偏见”,1,“MetricsWarmupPeriod”,100年)は,線形モデル係数βのベクトルを(0.1 - 0.3)に,バ01に,およびメトリクスのウォ,ムアップ期間をOne hundred.に設定します。

入力引数

すべて展開する

名前と値の引数

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

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

例:“标准化”,真的は,推定期間中に推定された予測子の平均と標準偏差を使用して,予測子デ,タを標準化します。

ンクリメンタル学習中に追跡するモデルのパフォ,マンスメトリクス。組み込みの損失関数の名前,名前の字符串ベクトル,関数ハンドル(@metricName),関数ハンドルの構造体配列,または名前,関数ハンドル,構造体配列の细胞ベクトルとして指定します。

Mdl“ウォ,ム”のとき(IsWarmを参照),updateMetricsおよびupdateMetricsAndFitMdl指标プロパティのパフォ,マンスメトリクスを追跡します。

次の表は,組み込みの損失関数名と,それらをサポ,トする学習器(学习者で指定)の一覧です。字符串ベクトルを使用して、複数の損失関数を指定できます。

名前 説明 メトリクスをサポ,トする学習器
“epsiloninsensitive” プシロン不感応損失 “支持向量机”
“mse” 重み付けされた平均二乗誤差 “支持向量机”および“leastsquares”

組み込み損失関数の詳細にいては,损失を参照してください。

例:“指标”,(“epsiloninsensitive”“mse”)

パフォ,マンスメトリクスを返すカスタム関数を指定するには,関数ハンドル表記を使用します。関数は次の形式でなければなりません。

度量= customMetric(Y,YFit)

  • 出力引数度规はn行1列の数値ベクトルです。ここで,各要素は、学習サイクル中にインクリメンタル学習関数によって処理されたデータの対応する観測値の損失です。

  • 関数名 (customMetric)を指定します。

  • Yは,観測応答の長さnの数値ベクトルです。ここで,nは標本サescズです。

  • YFitは,対応する予測応答の長さnの数値ベクトルです。

複数のカスタムメトリクスを指定し,それぞれにカスタム名を割り当てるには,構造体配列を使用します。組み込みメトリクスとカスタムメトリクスの組み合わせを指定するには,细胞ベクトルを使用します。

例:“指标”,结构(‘Metric2’,‘Metric1’,@customMetric1 @customMetric2)

例:'Metrics',{@customMetric1 @customMetric2 'mse' struct('Metric3',@customMetric3)}

updateMetricsおよびupdateMetricsAndFitは,表で指定したメトリクスをプロパティ指标に保存します。指标のデ,タ型によって,表の行名が決まります。

“指标”値のデ,タ型 指标プロパティの行名の説明
字符串または文字ベクトル 対応する組み込みメトリクスの名前 “epsiloninsensitive”の行名は“EpsilonInsensitiveLoss”
構造体配列 フィ,ルド名 结构(Metric1, @customMetric1)の行名は“Metric1”
プログラムファ@ @ルに格納されている関数への関数ハンドル 関数名 @customMetricの行名は“customMetric”
無名関数 CustomMetric_j。ここで,j指标のメトリクスj @ (Y, YFit) customMetric (Y, YFit)…の行名はCustomMetric_1

既定の設定では,次のようになります。

  • 学习者“支持向量机”の場合,指标“epsiloninsensitive”です。

  • 学习者“leastsquares”の場合,指标“mse”です。

パフォマンスメトリクスオプションの詳細にいては,パフォ,マンスメトリクスを参照してください。

デ,タ型:字符|字符串|结构体|细胞|function_handle

予測子デ,タを標準化するためのフラグ。次の表の値として指定します。

説明
“汽车” incrementalRegressionLinearが予測子変数を標準化する必要があるかどうかを決定します。デ,タの標準化を参照してください。
真正的 ソフトウェアが予測子デ,タを標準化します。詳細は,デ,タの標準化を参照してください。
ソフトウェアが予測子デ,タを標準化しません。

例:“标准化”,真的

デ,タ型:逻辑|字符|字符串

各反復での観測値のシャッフルフラグ。次の表の値として指定します。

説明
真正的 ソフトウェアが,関数适合でモデルを当てはめる前に,デ,タの入力チャンク内の観測値をシャッフルします。このアクションにより,抽出スキ,ムによって誘発されるバ,アスが低減されます。
ソフトウェアが,受信した順序でデ,タを処理します。

このオプションは,解算器“扇区”である場合のみ有効です。解算器“sgd”または“asgd”である場合は,デ,タを処理する前に,デ,タの入力チャンク内の観測値が常にシャッフルされます。

例:“洗牌”,假的

デ,タ型:逻辑

プロパティ

すべて展開する

incrementalRegressionLinearを呼び出すときに名前と値の引数の構文のみを使用して,ほとんどのプロパティを設定できます。incrementalLearnerを呼び出して従来式の学習済みモデルを変換するときに,いくかのプロパティを設定できます。プロパティFittedLossNumTrainingObservationsμσSolverOptions,およびIsWarmは設定できません。

回帰モデルのパラメタ

このプロパティは読み取り専用です。

線形モデル係数β。NumPredictors行1列の数値ベクトルとして指定します。

ンクリメンタル近似関数は学習中にβを推定します。βの既定の初期値は,モデルの作成方法に応じて異なります。

  • 従来式の学習済みモデルを変換してMdlを作成する場合,初期値は従来式の学習済みモデルの対応するプロパティによって指定されます。

  • それ以外の場合,初期値は0 (NumPredictors, 1)です。

デ,タ型:|

このプロパティは読み取り専用です。

モデル切片β0またはバ@ @アス項。数値スカラとして指定します。

ンクリメンタル近似関数は学習中に偏见を推定します。偏见の既定の初期値は,モデルの作成方法に応じて異なります。

  • 従来式の学習済みモデルを変換してMdlを作成する場合,初期値は従来式の学習済みモデルの対応するプロパティによって指定されます。

  • それ以外の場合,初期値は0です。

デ,タ型:|

このプロパティは読み取り専用です。

プシロン不感応区間の幅の半分。“汽车”または非負のスカラ,として指定します。incrementalRegressionLinearε値を数値スカラ,として格納します。

incrementalRegressionLinearを呼び出すときに“汽车”を指定した場合,电子邮件ンクリメンタル近似関数は次の手順を使用して,EstimationPeriodで指定される推定期間中にεを推定します。

  • 差(Y)≠0の場合,ε差(Y) / 13.49です。ここで,Yは推定期間の応答デ,タです。

  • 差(Y)= 0であるかMdlをデ,タに当てはめる前の場合,ε0.1です。

εの既定値は,モデルの作成方法に応じて異なります。

  • 従来式の学習済み支持向量机回帰モデルを変換する場合(学习者“支持向量机”)、εは従来式の学習済みモデルの対応するプロパティによって指定されます。

  • それ以外の場合,既定値は“汽车”です。

学习者“leastsquares”の場合,εを設定することはできず,その値はになります。

デ,タ型:|

このプロパティは読み取り専用です。

線形モデルの当てはめに使用する損失関数。“epsiloninsensitive”またはmse的を指定します。

アルゴリズム 損失関数 学习者の値
“epsiloninsensitive” サポ,トベクタ,マシン回帰 プシロン不感応: y f x 马克斯 0 | y f x | ε “支持向量机”
mse的 通常の最小二乗による線形回帰 平均二乗誤差(mse): y f x 1 2 y f x 2 “leastsquares”

このプロパティは読み取り専用です。

線形回帰モデルのタ@ @プ。“支持向量机”または“leastsquares”を指定します。incrementalRegressionLinear学习者値を文字ベクトルとして格納します。

次の表では f x x β + b です。

  • βはβです。

  • Xはp個の予測子変数による観測値です。

  • β0偏见です。

アルゴリズム 損失関数 FittedLossの値
“支持向量机” サポ,トベクタ,マシン回帰 プシロン不感応: y f x 马克斯 0 | y f x | ε “epsiloninsensitive”
“leastsquares” 通常の最小二乗による線形回帰 平均二乗誤差(mse): y f x 1 2 y f x 2 mse的

学习者の既定値は,モデルの作成方法に応じて異なります。

  • 従来式の学習済みモデルを変換してMdlを作成する場合,次のようになります。

    • 従来式の学習済みモデルがRegressionSVMまたはCompactRegressionSVMの場合,学习者“支持向量机”です。

    • 従来式の学習済みモデルがRegressionLinearの場合,学习者は従来式の学習済みモデルの対応するプロパティによって指定されます。

  • それ以外の場合,既定値は“支持向量机”です。

デ,タ型:字符|字符串

このプロパティは読み取り専用です。

予測子変数の数。非負の数値スカラ,として指定します。

NumPredictorsの既定値は,モデルの作成方法に応じて異なります。

  • 従来式の学習済みモデルを変換してMdlを作成する場合,NumPredictorsは従来式の学習済みモデルの対応するプロパティによって指定されます。

  • incrementalRegressionLinearを直接呼び出してMdlを作成する場合,NumPredictorsは名前と値の引数の構文を使用して指定できます。値を指定しない場合,既定値は0で,NumPredictorsを推測します。

デ,タ型:

このプロパティは読み取り専用です。

ンクリメンタルモデルMdlに当てはめる観測値の数。非負の数値スカラとして指定します。NumTrainingObservationsは,Mdlおよび学習デ,タを适合またはupdateMetricsAndFitに渡すときに増加します。

メモ

従来式の学習済みモデルを変換してMdlを作成する場合,incrementalRegressionLinearは,従来式の学習済みモデルに当てはめる観測値の数をNumTrainingObservationsに追加しません。

デ,タ型:

このプロパティは読み取り専用です。

応答変換関数。“没有”または関数ハンドルとして指定します。incrementalRegressionLinearResponseTransform値を文字ベクトルまたは関数ハンドルとして格納します。

ResponseTransformは,电子邮件ンクリメンタル学習関数が生の応答値を変換する方法を記述します。

MATLAB®関数やユ,ザ,定義関数の場合は,関数ハンドルを入力します。たとえば,ResponseTransform, @functionでは,函数がn行1列のベクトル(元の応答)を受け入れ,同じ長さのベクトル(変換された応答)を返します。

ResponseTransformの既定値は,モデルの作成方法に応じて異なります。

  • 従来式の学習済みモデルを変換してMdlを作成する場合,ResponseTransformは従来式の学習済みモデルの対応するプロパティによって指定されます。

  • それ以外の場合,既定値は“没有”です。

デ,タ型:字符|字符串|function_handle

学習パラメタ

このプロパティは読み取り専用です。

ハイパーパラメーターの推定のために,パフォーマンスメトリクスの学習または追跡の前にインクリメンタルモデルが処理する観測値の数。非負の整数として指定します。

メモ

  • Mdlをインクリメンタル学習用に準備する場合(学習に必要なすべてのハイパーパラメーターを指定する必要があります),incrementalRegressionLinearEstimationPeriod0に強制します。

  • Mdlを电子邮箱ンクリメンタル学習用に準備しない場合,incrementalRegressionLinearEstimationPeriod1000に設定します。

詳細は,推定期間を参照してください。

デ,タ型:|

このプロパティは読み取り専用です。

線形モデルの切片使用フラグ。真正的またはとして指定します。

説明
真正的 incrementalRegressionLinearは,バ0を,。
incrementalRegressionLinearはβ0= 0に設定します。

偏见≠0の場合,FitBias真正的でなければなりません。まり,incrementalRegressionLinearはβ0の等式制約をサポ,トしません。

FitBiasの既定値は,モデルの作成方法に応じて異なります。

  • 従来式の学習済み線形回帰モデル(RegressionLinear)を変換してMdlを作成する場合,FitBiasは従来式の学習済みモデルのModelParametersプロパティのFitBias値によって指定されます。

  • それ以外の場合,既定値は真正的です。

デ,タ型:逻辑

このプロパティは読み取り専用です。

予測子の平均。数値ベクトルを指定します。

μが空の配列[]で,“标准化”,真的が指定されている場合,电子邮件ンクリメンタル近似関数は,μEstimationPeriodで指定された推定期間中に推定された予測子変数の平均に設定します。

μを直接指定することはできません。

デ,タ型:|

このプロパティは読み取り専用です。

予測子の標準偏差。数値ベクトルを指定します。

σが空の配列[]で,“标准化”,真的が指定されている場合,电子邮件ンクリメンタル近似関数は,σEstimationPeriodで指定された推定期間中に推定された予測子変数の標準偏差に設定します。

σを直接指定することはできません。

デ,タ型:|

このプロパティは読み取り専用です。

目的関数の最小化手法。“扇区”“sgd”または“asgd”を指定します。incrementalRegressionLinear解算器値を文字ベクトルとして格納します。

説明 メモ:
“扇区”

ンクリメンタル学習用の適応型スケル不変ソルバ[1]

  • このアルゴリズムはパラメ,タ,を持たず,予測子のスケ,ルの違いに適応できます。SGDまたはasgdを使用する前に,このアルゴリズムを試してください。

  • 関数适合でモデルを当てはめる前にデ,タの入力チャンクをシャッフルするには,洗牌真正的に設定します。

“sgd” 確率的勾配降下法(sgd)[3][2]

  • SGDで効果的に学習させるには,デ,タを標準化し,SGDおよびasgdソルバのパラメタにリストされているオプションを使用してハパパラメタの適切な値を指定します。

  • 関数适合でモデルを当てはめる前にデ,タの入力チャンクが常にシャッフルされます。

“asgd” 平均化確率的勾配降下法(asgd)[4]

  • Asgdで効果的に学習させるには,デ,タを標準化し,SGDおよびasgdソルバのパラメタにリストされているオプションを使用してハパパラメタの適切な値を指定します。

  • 関数适合でモデルを当てはめる前にデ,タの入力チャンクが常にシャッフルされます。

解算器の既定値は,モデルの作成方法に応じて異なります。

  • incrementalRegressionLinearを直接呼び出してMdlを作成する場合,既定値は“扇区”です。

  • 従来式の学習済み線形回帰モデル(RegressionLinear)を変換してMdlを作成するときに,従来式の学習済みモデルの正则化プロパティが“岭(L2)”ModelParameters。解算器“sgd”または“asgd”の場合,解算器は従来式の学習済みモデルのModelParametersプロパティの解算器値によって指定されます。

  • それ以外の場合,このプロパティの設定は関数incrementalLearnerの名前と値の引数解算器で行います。この引数の既定値は“扇区”です。

デ,タ型:字符|字符串

このプロパティは読み取り専用です。

目的ソルバ,の構成。構造体配列として指定します。SolverOptionsのフィ,ルドは,指定したソルバ,解算器固有のプロパティです。

デ,タ型:结构体

SGDおよびasgdソルバのパラメタ

このプロパティは読み取り専用です。

ミニバッチのサ@ @ズ。正の整数として指定します。学習中の各学習サイクルで、incrementalRegressionLinearBatchSize個の観測値を使用して劣勾配を計算します。

最後のミニバッチ(适合またはupdateMetricsAndFitの各関数呼び出しにおける最後の学習サ电子邮箱クル)に使用する観測値の数は,BatchSizeより小さくてもかまいません。たとえば,适合またはupdateMetricsAndFitに25個の観測値を指定した場合,関数は最初の2つの学習サイクルに10個の観測値を使用し,最後の学習サイクルに5の観測値を使用します。

BatchSizeの既定値は,モデルの作成方法に応じて異なります。

  • incrementalRegressionLinearを直接呼び出してMdlを作成する場合,既定値は10です。

  • 従来式の学習済み線形回帰モデル(RegressionLinear)を変換してMdlを作成するときに,従来式の学習済みモデルの正则化プロパティが“岭(L2)”ModelParameters。解算器“sgd”または“asgd”の場合,BatchSizeは従来式の学習済みモデルのModelParametersプロパティのBatchSize値によって指定されます。

  • それ以外の場合,このプロパティの設定は関数incrementalLearnerの名前と値の引数BatchSizeで行います。この引数の既定値は10です。

デ,タ型:|

このプロパティは読み取り専用です。

リッジ(l2)正則化項の強度。非負のスカラ,として指定します。

λの既定値は,モデルの作成方法に応じて異なります。

  • incrementalRegressionLinearを直接呼び出してMdlを作成する場合,既定値は1 e-5です。

  • 従来式の学習済み線形回帰モデル(RegressionLinear)を変換してMdlを作成するときに,従来式の学習済みモデルの正则化プロパティが“岭(L2)”ModelParameters。解算器“sgd”または“asgd”の場合,λは従来式の学習済みモデルの対応するプロパティによって指定されます。

  • それ以外の場合,このプロパティの設定は関数incrementalLearnerの名前と値の引数λで行います。この引数の既定値は1 e-5です。

デ,タ型:|

このプロパティは読み取り専用です。

初期学習率。“汽车”または正のスカラ,として指定します。incrementalRegressionLinearLearnRate値を正のスカラ,として格納します。

学習率は,目的の劣勾配をスケ,ルすることによって最適化のステップサ,ズを制御します。LearnRateは学習率の初期値を指定し,LearnRateScheduleによって後続の学習サ@ @クルの学習率が決まります。

“汽车”を指定した場合,次のようになります。

  • 初期学習率は0.7となります。

  • EstimationPeriod>0の場合,适合およびupdateMetricsAndFitは,EstimationPeriodの最後にこの比率を1 /√(1 + max (sum (x ^ 2, obsDim)))に変更します。obsDim値は,観測値が予測子デ,タの列から構成されている場合は1,それ以外の場合は2です。

LearnRateの既定値は,モデルの作成方法に応じて異なります。

  • incrementalRegressionLinearを直接呼び出してMdlを作成する場合,既定値は“汽车”です。

  • 従来式の学習済み線形回帰モデル(RegressionLinear)を変換してMdlを作成するときに,従来式の学習済みモデルの正则化プロパティが“岭(L2)”ModelParameters。解算器“sgd”または“asgd”の場合,LearnRateは従来式の学習済みモデルのModelParametersプロパティのLearnRate値によって指定されます。

  • それ以外の場合,このプロパティの設定は関数incrementalLearnerの名前と値の引数LearnRateで行います。この引数の既定値は“汽车”です。

例:“LearnRate”,0.001

デ,タ型:||字符|字符串

このプロパティは読み取り専用です。

学習率スケジュ,ル。次の表の値として指定します。ここで,LearnRateは初期学習率ɣ0を指定します。incrementalRegressionLinearLearnRateSchedule値を文字ベクトルとして格納します。

説明
“不变” すべての学習サ@ @クルの学習率をɣ0とする。
“腐烂”

学習サesc escクルtでの学習率を次とする。

γ t γ 0 1 + λ γ 0 t c

  • λはλの値です。

  • 解算器“sgd”の場合,c =1です。

  • 解算器“asgd”の場合,次のようになります。

    • 学习者“leastsquares”の場合はc =2/3

    • 学习者“支持向量机”の場合はc =3/4[4]

LearnRateScheduleの既定値は,モデルの作成方法に応じて異なります。

  • 従来式の学習済みモデルを変換してMdlを作成する場合,このプロパティの設定は関数incrementalLearnerの名前と値の引数LearnRateScheduleで行います。この引数の既定値は“腐烂”です。

  • それ以外の場合,既定値は“腐烂”です。

デ,タ型:字符|字符串

パフォマンスメトリクスパラメタ

このプロパティは読み取り専用です。

ンクリメンタルモデルがパフォ,マンスメトリクスを追跡するかどうかを示すフラグ。逻辑0)または1真正的)として指定します。

ンクリメンタルモデルMdlは,电子邮箱ンクリメンタル近似関数が(EstimationPeriod+MetricsWarmupPeriod)個の観測値をleiンクリメンタルモデルに当てはめた後,“ウォ,ム”IsWarm真正的となる)になります。

説明
真正的または1 ンクリメンタルモデルMdlがウォ,ムです。この結果,updateMetricsおよびupdateMetricsAndFitMdl指标プロパティのパフォ,マンスメトリクスを追跡します。
または0 updateMetricsおよびupdateMetricsAndFitはパフォ,マンスメトリクスを追跡しません。

デ,タ型:逻辑

このプロパティは読み取り専用です。

updateMetricsおよびupdateMetricsAndFitによって▪▪ンクリメンタル学習中に更新されたモデルのパフォ▪▪マンスメトリクス。M行2列の表として指定します。ここで,mは,名前と値の引数指标によって指定されたメトリクスの数です。

指标の列には累积および窗口のラベルが付けられます。

  • 累积:要素jは,メトリクスjで測定される,モデルがウォ,ム(IsWarm1)になった時点からの,モデルの性能です。

  • 窗口:要素jは,メトリクスjで測定され,MetricsWindowSizeプロパティで指定されたウィンドウ内のすべての観測値に対して評価される,モデルの性能です。ソフトウェアはMetricsWindowSize個の観測値を処理した後,窗口を更新します。

行には,指定したメトリクスのラベルが付けられます。詳細にいては,incrementalLearnerまたはincrementalRegressionLinearの名前と値の引数指标を参照してください。

デ,タ型:表格

このプロパティは読み取り専用です。

ンクリメンタルモデルが指标プロパティのパフォ,マンスメトリクスを追跡する前に当てはめなければならない観測値の数。非負の整数として指定します。

MetricsWarmupPeriodの既定値は,モデルの作成方法に応じて異なります。

  • 従来式の学習済みモデルを変換してMdlを作成する場合,このプロパティの設定は関数incrementalLearnerの名前と値の引数MetricsWarmupPeriodで行います。この引数の既定値は0です。

  • それ以外の場合,既定値は1000です。

詳細にいては,パフォ,マンスメトリクスを参照してください。

デ,タ型:|

このプロパティは読み取り専用です。

ウィンドウパフォ,マンスメトリクスの計算に使用する観測値の数。正の整数として指定します。

MetricsWindowSizeの既定値は,モデルの作成方法に応じて異なります。

  • 従来式の学習済みモデルを変換してMdlを作成する場合,このプロパティの設定は関数incrementalLearnerの名前と値の引数MetricsWindowSizeで行います。この引数の既定値は200です。

  • それ以外の場合,既定値は200です。

パフォマンスメトリクスオプションの詳細にいては,パフォ,マンスメトリクスを参照してください。

デ,タ型:|

オブジェクト関数

适合 ンクリメンタル学習用の線形モデルの学習
updateMetricsAndFit 線形ンクリメンタル学習モデルの新しいデタに基づくパフォマンスメトリクスの更新とモデルの学習
updateMetrics 線形ンクリメンタル学習モデルの新しいデタに基づくパフォマンスメトリクスの更新
损失 デタのバッチでの線形ンクリメンタル学習モデルの損失
预测 線形@ @ンクリメンタル学習モデルからの新しい観測の応答予測
perObservationLoss ンクリメンタル学習用モデルの観測値ごとの回帰誤差
重置 ンクリメンタル回帰モデルのリセット

すべて折りたたむ

回帰用の既定の@ @ンクリメンタル線形モデルを作成します。

Mdl = incrementalRegressionLinear()
Mdl = incrementalRegressionLinear IsWarm: 0 Metrics: [1x2 table] ResponseTransform: 'none' Beta: [0x1 double]偏差:0学习者:'svm'属性,方法
Mdl。EstimationPeriod
Ans = 1000

MdlincrementalRegressionLinearモデルオブジェクトです。そのプロパティはすべて読み取り専用です。

Mdlは,他の演算の実行に使用する前に,デ,タに当てはめなければなりません。推定期間は,电子邮件プシロン不感応区間εの幅の半分が不明であるため1000に設定されます。名前と値の引数εを使用してεを正の浮動小数点スカラ,に設定できます。このアクションにより,推定期間が既定の0になります。

ロボットア,ムのデ,タセットを読み込みます。

负载robotarm

デタセットの詳細にいては,コマンドランで描述を入力してください。

関数updateMetricsAndFitを使用して,。一度に50個の観測値のチャンクをモデルに当てはめて,デタストリムをシミュレトします。各反復で次を行います。

  • 50個の観測値を処理。

  • 前のesc escンクリメンタルモデルを,入力観測値に当てはめた新しいモデルで上書き。

  • β 1 ,累積メトリクス,およびウィンドウメトリクスを保存し,インクリメンタル学習中にそれらがどのように進化するかを確認。

%预先配置N =数字(ytrain);numObsPerChunk = 50;nchunk = floor(n/numObsPerChunk);Ei = array2table(0 (nchunk,2),“VariableNames”,[“累积”“窗口”]);Beta1 = 0 (nchunk,1);%增量拟合rng (“默认”);%用于再现性j = 1:nchunk ibegin = min(n,numObsPerChunk*(j-1) + 1);iend = min(n,numObsPerChunk*j);Idx = ibegin:iend;Mdl = updateMetricsAndFit(Mdl,Xtrain(idx,:),ytrain(idx));ei{j,:} = Mdl。指标{“EpsilonInsensitiveLoss”,:};beta1(j + 1) = Mdl.Beta(1);结束

IncrementalMdlは,ストリ,ム内のすべてのデ,タで学習させたincrementalRegressionLinearモデルオブジェクトです。updateMetricsAndFitは,最初の1000個の観測値の処理でεを推定するための応答値を格納します。この推定期間が経過するまでは係数は当てはめられません。ンクリメンタル学習中およびモデルがウォームアップされた後、updateMetricsAndFitは入力観測値でモデルの性能をチェックし,モデルをその観測値に当てはめます。

パフォ,マンスメトリクスと β 1 が学習中にどのように進化するかを確認するには,それらを別々のタ。

T = tiledlayout(2,1);Nexttile plot(beta1) ylabel(“\ beta_1”) xlim([0 nchunk]) xline(Mdl. txt)EstimationPeriod/numObsPerChunk,r -。) nexttile h = plot(ei.Variables);Xlim ([0 nchunk]) ylabel(“不敏感损失”)参照线(Mdl。EstimationPeriod / numObsPerChunk,r -。((Mdl)参照线。估计周期+ Mdl.MetricsWarmupPeriod)/numObsPerChunk“g -”。xlabel(t, i. properties . variablenames)“迭代”

图中包含2个轴对象。坐标轴对象1包含2个line、constantline类型的对象。坐标轴对象2包含4个line、constantline类型的对象。这些对象代表累积、窗口。

プロットは,updateMetricsAndFitが次を行うことを示しています。

  • 推定期間(最初の20回の反復)の後, β 1 を@ @ンクリメンタル学習のすべての反復で当てはめる。

  • パフォ,マンスメトリクスをメトリクスのウォ,ムアップ期間後にのみ計算。

  • 累積メトリクスを各反復中に計算。

  • ウィンドウメトリクスを500個の観測値(4回の反復)の処理後に計算。

メトリクスのウォムアップ期間を指定して,ンクリメンタル回帰学習器を準備します。その間,関数updateMetricsAndFitはモデルの当てはめのみを行います。メトリクスウィンドウサesc escズを観測値500個に指定します。SGDを使用してモデルに学習させ,SGDバッチサイズ,学習率,および正則化パラメーターを調整します。

ロボットア,ムのデ,タセットを読み込みます。

负载robotarmN =数字(ytrain);

デタセットの詳細にいては,コマンドランで描述を入力してください。

回帰用の@ @ンクリメンタル線形モデルを作成します。次のようにモデルを構成します。

  • SGDソルバ,を指定。

  • リッジ正則化パラメーター値0.001,SGDバッチサイズ20日学習率0.002,およびSVMのイプシロン不感応区間の幅の半分0.05という設定で,問題に対して十分に機能すると仮定。

  • ンクリメンタル近似関数で生の(標準化されていない)。

  • メトリクスのウォムアップ期間を観測値1000個に指定。

  • メトリクスウィンドウサesc escズを観測値500個に指定。

  • ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `プシロン不感応損失,mse,および平均絶対誤差(mae)を追跡してモデルの性能を測定。ソフトウェアは,mse。新しい各観測値の絶対誤差を測定する無名関数を作成します。名前MeanAbsoluteErrorとそれに対応する関数を含む構造体配列を作成します。

Maefcn = @(z,zfit)abs(z - zfit);数学=结构(“MeanAbsoluteError”, maefcn);Mdl =增量回归线性(‘ε’, 0.05,...“规划求解”“sgd”“λ”, 0.001,“BatchSize”, 20岁,“LearnRate”, 0.002,...“标准化”假的,...“MetricsWarmupPeriod”, 1000,“MetricsWindowSize”, 500,...“指标”,{“epsiloninsensitive”mse的maemetric})
Mdl = incrementalRegressionLinear IsWarm: 0 Metrics: [3x2 table] ResponseTransform: 'none' Beta: [0x1 double]偏差:0学习者:'svm'属性,方法

Mdlは@ @ンクリメンタル学習用に推定期間なしで構成されたincrementalRegressionLinearモデルオブジェクトです。

関数updateMetricsAndFitを使用して,。各反復で次を行います。

  • 50個の観測値のチャンクを処理して,デ,タストリ,ムをシミュレ,ト。チャンクのサ▪▪ズとSGDバッチサ▪▪ズは異なることに注意してください。

  • 前のesc escンクリメンタルモデルを,入力観測値に当てはめた新しいモデルで上書き。

  • 推定係数 β 10 ,累積メトリクス,およびウィンドウメトリクスを保存し,インクリメンタル学習中にそれらがどのように進化するかを確認。

%预先配置numObsPerChunk = 50;nchunk = floor(n/numObsPerChunk);Ei = array2table(0 (nchunk,2),“VariableNames”,[“累积”“窗口”]);Mse = array2table(0 (nchunk,2),“VariableNames”,[“累积”“窗口”]);Mae = array2table(0 (nchunk,2),“VariableNames”,[“累积”“窗口”]);Beta10 = 0 (nchunk,1);%增量拟合rng (“默认”);%用于再现性j = 1:nchunk ibegin = min(n,numObsPerChunk*(j-1) + 1);iend = min(n,numObsPerChunk*j);Idx = ibegin:iend;Mdl = updateMetricsAndFit(Mdl,Xtrain(idx,:),ytrain(idx));ei{j,:} = Mdl。指标{“EpsilonInsensitiveLoss”,:};mse{j,:} = Mdl。指标{“MeanSquaredError”,:};mae{j,:} = Mdl。指标{“MeanAbsoluteError”,:};beta10(j + 1) = Mdl.Beta(10);结束

Mdlは,ストリ,ム内のすべてのデ,タで学習させたincrementalRegressionLinearモデルオブジェクトです。ンクリメンタル学習中およびモデルがウォームアップされた後、updateMetricsAndFitは入力観測値でモデルの性能をチェックし,モデルをその観測値に当てはめます。

パフォ,マンスメトリクスと β 10 が学習中にどのように進化するかを確認するには,それらを別々のタ。

Tiledlayout (2,2) nexttile plot(beta10) ylabel(“\ beta_{10}”) xlim([0 nchunk]) xline(Mdl. txt)MetricsWarmupPeriod/numObsPerChunk,“g -”。)包含(“迭代”) nexttile h = plot(ei.Variables);Xlim ([0 nchunk]) ylabel(“不敏感损失”)参照线(Mdl。指标WarmupPeriod/numObsPerChunk,“g -”。xlabel(i. properties . variable)“迭代”) nexttile h = plot(mse.Variables);Xlim ([0 nchunk]) ylabel(MSE的)参照线(Mdl。指标WarmupPeriod/numObsPerChunk,“g -”。xlabel(“迭代”nexttile h = plot(mae.Variables);Xlim ([0 nchunk]) ylabel(“美”)参照线(Mdl。指标WarmupPeriod/numObsPerChunk,“g -”。(h,mae.Properties.VariableNames)“迭代”

图中包含4个轴对象。坐标轴对象1包含2个line、constantline类型的对象。坐标轴对象2包含3个line、constantline类型的对象。这些对象代表累积、窗口。坐标轴对象3包含3个line、constantline类型的对象。这些对象代表累积、窗口。坐标轴对象4包含3个line、constantline类型的对象。这些对象代表累积、窗口。

プロットは,updateMetricsAndFitが次を行うことを示しています。

  • β 10 を@ @ンクリメンタル学習のすべての反復で当てはめる。

  • パフォ,マンスメトリクスをメトリクスのウォ,ムアップ期間後にのみ計算。

  • 累積メトリクスを各反復中に計算。

  • ウィンドウメトリクスを500個の観測値(10回の反復)の処理後に計算。

fitrlinearを使用して線形回帰モデルに学習させ,それをインクリメンタル学習器に変換し,その性能を追跡し,ストリーミングデータに当てはめます。学習オプションを従来式から@ @ンクリメンタル学習に引き継ぎます。

デ,タの読み込みと前処理

2015年のニュヨク市住宅デタセットを読み込み,デタをシャッフルします。このデタの詳細にいては,纽约市开放数据を参照してください。

负载NYCHousing2015rng (1);%用于再现性n = size(NYCHousing2015,1);idxshiff = randsample(n,n);NYCHousing2015 = NYCHousing2015(idxshiff,:);

マンハッタンから収集されたデタ(1)が,品質を2倍にする新しい方法を使用して収集されたとします。マンハッタンから収集した観測値に2を割り当て,その他すべての観測値に1を割り当てる重み変数を作成します。

NYCHousing2015。W = ones(n,1) + (NYCHousing2015.)1);

テ,ブルから応答変数SALEPRICEを抽出します。数値安定性を得るために,SALEPRICE1 e6の尺度でスケ,ルします。

Y = nychousing2015 . salesprice /1e6;NYCHousing2015。售价= [];

カテゴリカル予測子からダミ,変数メトリクスを作成します。

Catvars = [“区”“BUILDINGCLASSCATEGORY”“社区”];dumvarstbl = varfun(@(x)dummyvar(categorical(x)),NYCHousing2015,...“数据源”, catvars);Dumvarmat = table2array(dumvarstbl);NYCHousing2015(:,catvars) = [];

テ,ブル内の他のすべての数値変数を売価の線形予測子として扱います。ダミ,変数の行列を予測子デ,タの残りに連結します。結果の予測子行列を転置します。

idxnum = varfun(@isnumeric,NYCHousing2015,“OutputFormat”“统一”);X = [dumvarmat NYCHousing2015{:,idxnum}]';

線形回帰モデルの学習

線形回帰モデルを,デ,タの半分から取った無作為標本に当てはめます。

Idxtt = randsample([true false],n,true);TTMdl = fitrlinear(X(:,idxtt),Y(idxtt),“ObservationsIn”“列”...“重量”NYCHousing2015.W (idxtt))
TTMdl = RegressionLinear ResponseName: 'Y' ResponseTransform: 'none' Beta: [313x1 double]偏差:0.1116 Lambda: 2.1977e-05学习者:'svm'属性,方法

TTMdlは従来式の学習済み線形回帰モデルを表すRegressionLinearモデルオブジェクトです。

学習済みモデルの変換

従来式の学習済み線形回帰モデルを,电子邮件ンクリメンタル学習用の線形回帰モデルに変換します。

IncrementalMdl =增量学习者(TTMdl)
IncrementalMdl = incrementalRegressionLinear IsWarm: 1 Metrics: [1x2 table] ResponseTransform: 'none' Beta: [313x1 double]偏差:0.1116 Learner: 'svm'属性,方法

パフォ,マンスメトリクスの追跡とモデルの当てはめの個別の実行

関数updateMetricsおよび适合を使用して,残りのデ,タに対して,ンクリメンタル学習を実行します。500個の観測値を一度に処理して,デ,タストリ,ムをシミュレ,トします。各反復で次を行います。

  1. updateMetricsを呼び出し,観測値の入力チャンクを所与として,モデルのイプシロン不感応損失の累積とウィンドウを更新します。前の电子邮箱ンクリメンタルモデルを上書きして,指标プロパティ内の損失を更新します。関数がモデルをデータ チャンクに当てはめないことに注意してください。チャンクはモデルに対して "新しい" データです。観測値の向きを列方向に指定し、観測値の重みを指定します。

  2. 适合を呼び出して,観測値の入力チャンクにモデルを当てはめます。前の电子邮箱ンクリメンタルモデルを上書きして,モデル パラメーターを更新します。観測値の向きを列方向に指定し、観測値の重みを指定します。

  3. 損失および最後に推定された係数 β 313 を保存します。

%预先配置Idxil = ~idxtt;Nil = sum(idxil);numObsPerChunk = 500;nchunk = floor(nil/numObsPerChunk);Ei = array2table(0 (nchunk,2),“VariableNames”,[“累积”“窗口”]);beta313 = [incrementalmml . beta (end);0 (nchunk 1)];Xil = X(:,idxil);Yil = Y(idxil);Wil = NYCHousing2015.W(idxil);%增量拟合j = 1:nchunk ibegin = min(nil,numObsPerChunk*(j-1) + 1);iend = min(nil,numObsPerChunk*j);Idx = ibegin:iend;增量mdl = updateMetrics(增量mdl,Xil(:,idx),Yil(idx),...“ObservationsIn”“列”“重量”会(idx));ei{j,:} = IncrementalMdl。指标{“EpsilonInsensitiveLoss”,:};增量mdl = fit(增量mdl,Xil(:,idx),Yil(idx),“ObservationsIn”“列”...“重量”会(idx));beta313(j + 1) = incrementalmml . beta (end);结束

IncrementalMdlは,ストリ,ム内のすべてのデ,タで学習させたincrementalRegressionLinearモデルオブジェクトです。

あるいは,updateMetricsAndFitを使用して,新しいデータチャンクに対するモデルのパフォーマンスメトリクスを更新し,モデルをデータに当てはめることもできます。

パフォ,マンスメトリクスと推定された係数 β 313 のトレ,スプロットをプロットします。

T = tiledlayout(2,1);nexttile h = plot(ei.Variables);Xlim ([0 nchunk]) ylabel(“不敏感损失”nexttile plot(beta313) ylabel(“\ beta_”{313}xlim([0 nchunk]) xlabel(t,“迭代”

图中包含2个轴对象。坐标轴对象1包含2个line类型的对象。这些对象代表累积、窗口。坐标轴对象2包含一个line类型的对象。

累積の損失は各反復(500個の観測値のチャンク)ごとに徐々に変化しますが,ウィンドウの損失には急な変動があります。メトリクスウィンドウの既定値は200なので,updateMetricsは500個の観測値のチャンクごとに最新の200個の観測値に基づいて性能を測定します。

β 313 は急激に変動した後,适合が観測値のチャンクを処理するたびに平坦になります。

詳細

すべて展開する

ヒント

  • モデルを作成した後で,データストリームについてインクリメンタル学習を実行するC / c++コードを生成できます。C/ c++コ,ドの生成にはMATLAB编码器™が必要です。詳細については、コ,ド生成の紹介を参照してください。

アルゴリズム

すべて展開する

参照

[1]肯普卡,米夏拉,沃伊切赫·科茨沃斯基和曼弗雷德·k·瓦穆斯。线性模型学习的自适应比例不变在线算法预印本,提交于2019年2月10日。https://arxiv.org/abs/1902.07528

[2] Langford, J., Li ., and T. Zhang。“通过截断梯度的稀疏在线学习。”j·马赫。学习。Res. Vol. 10, 2009, pp. 777-801。

[3]沙利夫-施瓦兹,S. Y.辛格和N.斯雷布罗。Pegasos:支持向量机的原始估计次梯度求解器第24届机器学习国际会议论文集,ICML ' 07, 2007,第807-814页。

徐伟。“用平均随机梯度下降法实现最优一次大规模学习”防伪学报,abs/1107.2490, 2011。

拡張機能

バ,ジョン履歴

R2020bで導入