主要内容

incrementalLearner

将支持向量机(S万博1manbetxVM)回归模型转化为增量学习模型

描述

例子

IncrementalMdl= incrementalLearner (Mdl的线性回归模型增量学习,IncrementalMdl,利用传统训练的线性支持向量机模型的超参数和系数进行回归;Mdl。因为它的属性值反映了从中获得的知识Mdl,IncrementalMdl可以根据新的观察结果预测标签,是吗温暖的这意味着它的预测性能会被跟踪。

例子

IncrementalMdl= incrementalLearner (Mdl,名称,值使用由一个或多个名称-值对参数指定的附加选项。有些选项需要你进行训练IncrementalMdl在它的预测性能被跟踪之前。例如,“MetricsWarmupPeriod”,50岁,“MetricsWindowSize”,100指定在跟踪性能指标之前的初始增量训练周期为50个观察值,并指定在更新性能指标之前处理100个观察值。

例子

全部折叠

训练支持向量机回归模型fitrsvm,然后将其转化为增量学习算法。

加载和预处理数据

加载2015年纽约市住房数据集。有关数据的更多详细信息,请参见纽约市开放数据

负载NYCHousing2015

提取响应变量SALEPRICE从桌子上。为了数值稳定性,刻度SALEPRICE通过1 e6

Y = nyhousing2015 . saleprice /1e6;NYCHousing2015。salesprice = [];

从分类预测器创建虚拟变量矩阵。

猫= [“区”“BUILDINGCLASSCATEGORY”“社区”];dumvarstbl = varfun(@(x)dummyvar(分类(x)), nyhousing2015,“数据源”, catvars);Dumvarmat = table2array(dumvarstbl);nyhousing2015 (:,catvars) = [];

将表中的所有其他数值变量视为销售价格的线性预测因子。将虚拟变量矩阵连接到预测器数据的其余部分。

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

训练SVM回归模型

从数据集中随机抽取5000个观测值,拟合SVM回归模型。抛弃支持向量(万博1manbetxα),以便软件使用线性系数(β)进行预测。

N = nummel (Y);N = 5000;rng (1);%为了重现性idx = randsample(N, N);TTMdl = fitrsvm(X(idx,:),Y(idx));TTMdl = discard万博1manbetxSupportVectors(TTMdl)
TTMdl = RegressionSVM responsenname: 'Y' CategoricalPredictors: [] ResponseTransform: 'none' Beta: [312x1 double] Bias: -3.2469e+11 KernelParameters: [1x1 struct] NumObservations: 5000 BoxConstraints: [5000x1 double] ConvergenceInfo: [1x1 struct] I万博1manbetxsSupportVector: [5000x1 logical] Solver: 'SMO'属性,方法

TTMdl是一个RegressionSVM模型对象表示传统训练的SVM回归模型。

转换训练模型

将传统训练的SVM回归模型转化为线性回归模型进行增量学习。

IncrementalMdl =增量学习者(TTMdl)
IncrementalMdl = incrementalRegressionLinear IsWarm: 1 Metrics: [1x2 table] ResponseTransform: 'none' Beta: [312x1 double] Bias: -3.2469e+11 Learner: 'svm' Properties, Methods

IncrementalMdl是一个incrementalRegressionLinear利用支持向量机为增量学习准备模型对象。

  • incrementalLearner通过传递学习系数和其他信息来初始化增量学习器TTMdl从训练数据中提取。

  • IncrementalMdl是温暖的(IsWarm1),这意味着增量学习函数可以开始跟踪性能指标。

  • incrementalLearner函数使用自适应尺度不变求解器训练模型,而fitrsvm训练有素的TTMdl使用SMO求解器。

预测的反应

通过转换传统训练模型创建的增量学习器无需进一步处理即可生成预测。

使用两种模型预测所有观测值的销售价格。

ttyfit = predict(TTMdl,X);ilyfit = predict(IncrementalMdl,X);Compareyfit = norm(ttyfit - ilyfit)
Compareyfit = 0

模型生成的拟合值之差为0。

默认解算器是自适应尺度不变解算器。如果您指定此求解器,则不需要为训练调整任何参数。然而,如果您指定标准SGD或ASGD求解器,您还可以指定一个估计周期,在此期间,增量拟合函数将调整学习率。

加载和洗牌2015年纽约市住房数据集。有关数据的更多详细信息,请参见纽约市开放数据

负载NYCHousing2015rng (1)%为了重现性n = size(nyhousing2015,1);Shuffidx = randsample(n,n);NYCHousing2015 = NYCHousing2015(shuffidx,:);

提取响应变量SALEPRICE从桌子上。为了数值稳定性,刻度SALEPRICE通过1 e6

Y = nyhousing2015 . saleprice /1e6;NYCHousing2015。salesprice = [];

从分类预测器创建虚拟变量矩阵。

猫= [“区”“BUILDINGCLASSCATEGORY”“社区”];dumvarstbl = varfun(@(x)dummyvar(分类(x)), nyhousing2015,“数据源”, catvars);Dumvarmat = table2array(dumvarstbl);nyhousing2015 (:,catvars) = [];

将表中的所有其他数值变量视为销售价格的线性预测因子。将虚拟变量矩阵连接到预测器数据的其余部分。

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

将数据随机分为5%和95%两组:第一组用于传统训练模型,第二组用于增量学习。

CVP = cvpartition(n,“坚持”, 0.95);Idxtt = training(cvp);Idxil = test(cvp);% 5%为传统培训Xtt = X(idxtt,:);Ytt = Y(idxtt);95%设置为增量学习Xil = X(idxil,:);Yil = Y(idxil);

对5%的数据拟合SVM回归模型。

TTMdl = fitrsvm(Xtt,Ytt);

将传统训练的SVM回归模型转化为线性回归模型进行增量学习。指定标准SGD求解器和的估计周期2 e4观察值(默认为1000当需要一个学习率时)。

增量学习器(增量学习器)“规划求解”,“sgd”,“EstimationPeriod”2 e4);

IncrementalMdl是一个incrementalRegressionLinear模型对象。

将增量模型拟合到其余数据中适合函数。在每次迭代中:

  • 通过一次处理10个观测值来模拟数据流。

  • 用一个新的拟合进入观测值的增量模型覆盖先前的增量模型。

  • 存储学习率和 β 1 看看系数和学习率在训练过程中是如何演变的。

%预先配置nil = null (nil);numObsPerChunk = 10;nchunk = floor(nil/numObsPerChunk);learnrate = [IncrementalMdl.LearnRate;0 (nchunk 1)];beta1 = [IncrementalMdl.Beta(1)];0 (nchunk 1)];%增量拟合j = 1:nchunk ibegin = min(nil,numObsPerChunk*(j-1) + 1);iend = min(nil,numObsPerChunk*j);Idx = ibegin:iend;IncrementalMdl = fit(IncrementalMdl,Xil(idx,:), Xil(idx));bet1 (j + 1) = IncrementalMdl.Beta(1);learnrate(j + 1) = IncrementalMdl.LearnRate;结束

IncrementalMdl是一个incrementalRegressionLinear在流中的所有数据上训练的模型对象。

看看学习速度和 β 1 在训练中进化,把它们画在单独的子图上。

Subplot (2,1,1) plot(beta1) hold住ylabel (“\ beta_1”)参照线(IncrementalMdl。EstimationPeriod/numObsPerChunk,r -。);Subplot (2,1,2) plot(learnrate) ylabel(学习速率的)参照线(IncrementalMdl。EstimationPeriod/numObsPerChunk,r -。);包含(“迭代”

图中包含2个轴对象。坐标轴对象1包含2个类型为line, constantline的对象。坐标轴对象2包含2个类型为line, constantline的对象。

学习率在估计周期后跳转到其自动调整值。

因为适合在估计期间,模型不能与流数据拟合, β 1 对于前2000次迭代(20,000个观察值)是常数。然后, β 1 略有变化适合将模型与10个观测值中的每一个新块相匹配。

使用训练好的SVM回归模型初始化增量学习器。通过指定一个指标预热期来准备增量学习器,在此期间updateMetricsAndFit函数只适合模型。指定500个观测值的度量窗口大小。

加载机械臂数据集。

负载robotarm

有关数据集的详细信息,请输入描述在命令行。

将数据随机分为5%和95%两组:第一组用于传统训练模型,第二组用于增量学习。

N = nummel (ytrain);rng (1)%为了重现性CVP = cvpartition(n,“坚持”, 0.95);Idxtt = training(cvp);Idxil = test(cvp);% 5%为传统培训Xtt = Xtrain(idxtt,:);Ytt = ytrain(idxtt);95%设置为增量学习Xil = Xtrain(idxil,:);Yil = ytrain(idxil);

对第一组进行SVM回归模型拟合。

TTMdl = fitrsvm(Xtt,Ytt);

将传统训练的SVM回归模型转化为线性回归模型进行增量学习。请指定以下内容:

  • 性能指标预热期为2000个观察值。

  • 指标窗口大小为500个观察值。

  • 使用epsilon不敏感损失、MSE和平均绝对误差(MAE)来衡量模型的性能。该软件支持epsilon不万博1manbetx敏感损失和MSE。创建一个匿名函数来测量每个新观测值的绝对误差。创建包含该名称的结构数组MeanAbsoluteError以及它对应的函数。

Maefcn = @(z,zfit)abs(z - zfit);memetric = struct(“MeanAbsoluteError”, maefcn);增量学习器(增量学习器)“MetricsWarmupPeriod”, 2000,“MetricsWindowSize”, 500,“指标”, {“epsiloninsensitive”mse的maemetric});

将增量模型拟合到其余数据中updateMetricsAndfit函数。在每次迭代中:

  • 通过一次处理50个观测值来模拟数据流。

  • 用一个新的拟合进入观测值的增量模型覆盖先前的增量模型。

  • 存储估计的系数 β 10 ,累积度量,以及窗口度量,以查看它们在增量学习期间是如何演变的。

%预先配置nil = null (nil);numObsPerChunk = 50;nchunk = floor(nil/numObsPerChunk);Ei = array2table(0 (nchunk,2),“VariableNames”, (“累积”“窗口”]);Mse = array2table(0 (nchunk,2),“VariableNames”, (“累积”“窗口”]);Mae = array2table(0 (nchunk,2),“VariableNames”, (“累积”“窗口”]);bet1 = 0 (nchunk,1);%增量拟合j = 1:nchunk ibegin = min(nil,numObsPerChunk*(j-1) + 1);iend = min(nil,numObsPerChunk*j);Idx = ibegin:iend;IncrementalMdl = updateMetricsAndFit(IncrementalMdl,Xil(idx,:),Yil(idx));ei{j,:} = IncrementalMdl。指标{“EpsilonInsensitiveLoss”,:};mse{j,:} = IncrementalMdl。指标{“MeanSquaredError”,:};mae{j,:} = IncrementalMdl。指标{“MeanAbsoluteError”,:};bet1 (j + 1) = IncrementalMdl.Beta(10);结束

IncrementalMdl是一个incrementalRegressionLinear在流中的所有数据上训练的模型对象。在增量学习和模型预热过程中,updateMetricsAndFit检查模型对传入观测值的性能,然后将模型拟合到该观测值。

以了解性能指标和 β 10 在训练中进化,把它们画在单独的子图上。

图;Subplot (2,2,1) plot(beta1) ylabel(“\ beta_{10}”) xlim([0 nchunk]);参照线(IncrementalMdl。MetricsWarmupPeriod/numObsPerChunk,r -。);包含(“迭代”) subplot(2,2,2) h = plot(ei.Variables);xlim ([0 nchunk]);ylabel (“不敏感损失”)参照线(IncrementalMdl。MetricsWarmupPeriod/numObsPerChunk,r -。);传奇(h, ei.Properties.VariableNames)包含(“迭代”) subplot(2,2,3) h = plot(mse.Variables);xlim ([0 nchunk]);ylabel (MSE的)参照线(IncrementalMdl。MetricsWarmupPeriod/numObsPerChunk,r -。);传奇(h, mse.Properties.VariableNames)包含(“迭代”) subplot(2,2,4) h = plot(mae.Variables);xlim ([0 nchunk]);ylabel (“美”)参照线(IncrementalMdl。MetricsWarmupPeriod/numObsPerChunk,r -。);传奇(h, mae.Properties.VariableNames)包含(“迭代”

图中包含4个轴对象。坐标轴对象1包含2个类型为line, constantline的对象。坐标轴对象2包含3个类型为line, constantline的对象。这些对象表示Cumulative, Window。坐标轴对象3包含3个类型为line, constantline的对象。这些对象表示Cumulative, Window。轴对象4包含3个类型为line, constantline的对象。这些对象表示Cumulative, Window。

情节表明updateMetricsAndFit做以下事情:

  • 适合 β 10 在所有增量学习迭代中。

  • 仅在指标预热期之后计算性能指标。

  • 计算每次迭代期间的累积度量。

  • 在处理500个观察值后计算窗口度量。

输入参数

全部折叠

传统训练的线性支持向量机模型用于回归,指定为其训练或处理函数返回的模型对象。

模型对象 训练或处理功能
RegressionSVM fitrsvm
CompactRegressionSVM fitrsvm紧凑的

请注意

增量学习功能只支持数字输入预测器数据。万博1manbetx如果Mdl是否适合分类数据dummyvar将每个分类变量转换为虚拟变量的数字矩阵,并将所有虚拟变量矩阵和任何其他数字预测符连接起来。有关详细信息,请参见虚拟变量

名称-值参数

指定可选的逗号分隔对名称,值参数。名字是参数名和吗价值是对应的值。名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数,如Name1, Value1,…,的家

例子:“规划求解”、“扇区”,“MetricsWindowSize”,100指定用于目标优化的自适应尺度不变求解器,并指定在更新性能指标之前处理100个观察值。
一般选择

全部折叠

目标函数最小化技术,指定为逗号分隔对组成“规划求解”和这个表中的一个值。

价值 描述 笔记
“扇区”

增量学习的自适应尺度不变解算器[1]

  • 该算法没有参数限制,能够适应预测尺度的差异。在使用SGD或ASGD之前,请先尝试此算法。

  • 在…之前对传入的批次进行洗牌适合函数拟合模型,设洗牌真正的

“sgd” 随机梯度下降法[3][2]

  • 为了有效地训练SGD,标准化数据并使用中列出的选项为超参数指定适当的值SGD和ASGD求解器选项

  • 适合函数总是在拟合模型之前对传入的一批数据进行洗牌。

“asgd” 平均随机梯度下降(ASGD)[4]

  • 为了有效地训练ASGD,标准化数据并使用中列出的选项为超参数指定适当的值SGD和ASGD求解器选项

  • 适合函数总是在拟合模型之前对传入的一批数据进行洗牌。

例子:“规划求解”、“sgd”

数据类型:字符|字符串

在训练或跟踪性能指标之前,增量模型为估计超参数而处理的观测数,指定为由逗号分隔的对组成“EstimationPeriod”一个非负整数。

请注意

  • 如果Mdl为增量学习准备(指定了训练所需的所有超参数),incrementalLearner部队“EstimationPeriod”0

  • 如果Mdl不准备渐进式学习,incrementalLearner“EstimationPeriod”1000

有关详细信息,请参见估计时间

例子:“EstimationPeriod”,100年

数据类型:|

标记,用于标准化预测器数据,指定为由逗号分隔的对“标准化”和这个表中的一个值。

价值 描述
“汽车” incrementalLearner确定预测变量是否需要标准化。看到标准化数据
真正的 该软件将预测数据标准化。
该软件没有标准化预测数据。

在某些情况下,incrementalLearner可以覆盖您的规范。有关详细信息,请参见标准化数据

例子:“标准化”,真的

数据类型:逻辑|字符|字符串

SGD和ASGD求解器选项

全部折叠

小批大小,指定为由逗号分隔的对“BatchSize”一个正整数。在训练的每次迭代中,incrementalLearner使用min (BatchSize numObs)观测值计算亚梯度,其中numObs训练数据中的观察值是否传递给适合updateMetricsAndFit

例子:“BatchSize”,1

数据类型:|

脊(l2正则化术语强度,指定为由逗号分隔的对组成“λ”一个非负的标量。

例子:“λ”,0.01

数据类型:|

学习率,指定为由逗号分隔的对组成“LearnRate”“汽车”或者一个正标量。LearnRate通过缩放目标子梯度来控制优化步长。

“汽车”

  • 如果EstimationPeriod0,初始学习率为0.7

  • 如果EstimationPeriod>0,初始学习率为1 /√(1 + max (sum (x ^ 2, obsDim))),在那里obsDim1如果观测值组成了预测数据的列,和2否则。适合updateMetricsAndFit在将模型和训练数据传递给任意一个函数时设置该值。

名称-值对参数“LearnRateSchedule”确定后续学习周期的学习率。

例子:“LearnRate”,0.001

数据类型:||字符|字符串

学习率时间表,指定为由逗号分隔的对组成“LearnRateSchedule”这个表中的一个值LearnRate初始学习率ɣ0

价值 描述
“不变” 学习率为ɣ0对于所有的学习周期。
“腐烂”

学习周期的学习率t

γ t = γ 0 1 + λ γ 0 t c

  • λ的值是λ

  • 如果解算器“sgd”,然后c= 1。

  • 如果解算器“asgd”,然后c是0.75[4]

例子:“LearnRateSchedule”、“不变”

数据类型:字符|字符串

自适应尺度不变求解器选项

全部折叠

标记,用于在每次迭代时对批处理中的观察值进行洗牌,指定为由“洗牌”和这个表中的一个值。

价值 描述
真正的 在处理数据集之前,软件会对每批输入数据中的观察结果进行洗牌。这种作用减少了抽样方案引起的偏差。
软件按照接收到的顺序处理数据。

例子:“洗牌”,假的

数据类型:逻辑

性能指标选项

全部折叠

为在增量学习期间跟踪的性能指标建模updateMetricsupdateMetricsAndFit,指定为由“指标”以及内置的损失函数名称,名称的字符串向量,函数handle (@metricName),函数句柄的结构数组,或名称、函数句柄或结构数组的单元格向量。

下表列出了内置的损失函数名称。可以使用字符串向量指定多个。

名字 描述
“epsiloninsensitive” 不敏感损失
“mse” 加权均方误差

有关内置损失函数的详细信息,请参见损失

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

若要指定返回性能指标的自定义函数,请使用函数句柄表示法。函数必须是这样的形式:

metric = customMetric(Y,YFit)

  • 输出参数度规是一个n- × 1数值向量,其中每个元素是增量学习函数在一个学习周期内处理的数据中相应观测值的损失。

  • 选择函数名(customMetric).

  • Y是长度n观测响应的数值向量,其中n是样本量。

  • YFit是长度n相应预测响应的数值向量。

要指定多个自定义指标并为每个指标分配自定义名称,请使用结构数组。要指定内置指标和自定义指标的组合,请使用单元格向量。

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

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

updateMetricsupdateMetricsAndFit将指定的指标存储在属性中的表中IncrementalMdl。指标。的数据类型指标确定表的行名。

“指标”数据类型 的描述指标属性行名称 例子
字符串或字符向量 对应的内置度量的名称 的行名“epsiloninsensitive”“EpsilonInsensitiveLoss”
结构数组 字段名 的行名结构(Metric1, @customMetric1)“Metric1”
函数句柄用于存储在程序文件中的函数 函数名称 的行名@customMetric“customMetric”
匿名函数 CustomMetric_j,在那里j是度量j指标 的行名@ (Y, YFit) customMetric (Y, YFit)…CustomMetric_1

有关性能指标选项的详细信息,请参见性能指标

数据类型:字符|字符串|结构体|细胞|function_handle

增量模型在跟踪其中的性能指标之前必须拟合的观测数指标属性,指定为由逗号分隔的对“MetricsWarmupPeriod”一个非负整数。增量拟合函数拟合后的增量模型是热的MetricsWarmupPeriod增量模型的观测结果(EstimationPeriod+MetricsWarmupPeriod观察)。

有关性能指标选项的详细信息,请参见性能指标

数据类型:|

用于计算窗口性能指标的观测数,指定为正整数。

有关性能指标选项的详细信息,请参见性能指标

数据类型:|

输出参数

全部折叠

增量学习的线性回归模型,返回为incrementalRegressionLinear模型对象。IncrementalMdl还配置为生成给定新数据的预测(参见预测).

初始化IncrementalMdl对于增量学习,incrementalLearner的值Mdl这张表的属性变成了IncrementalMdl

财产 描述
β 比例线性模型系数;Mdl.Beta / Mdl.KernelParameters.Scale,数值向量
偏见 模型截距,一个数字标量
ε 不敏感带宽度的一半,一个非负标量
μ 预测变量是指一个数值向量
σ 预测变量标准差,一个数值向量

更多关于

全部折叠

增量学习

增量学习,或在线学习是机器学习的一个分支,涉及处理来自数据流的传入数据,可能不知道预测变量的分布、预测或目标函数的各个方面(包括调优参数值),或者观察结果是否被标记。增量学习不同于传统的机器学习,在传统的机器学习中,有足够的标记数据可用于拟合模型,执行交叉验证以调整超参数,并推断预测器分布。

给定输入的观察值,增量学习模型以以下任何一种方式处理数据,但通常是按照这个顺序:

  • 预测标签。

  • 衡量预测性能。

  • 检查模型中的结构断裂或漂移。

  • 将模型与传入的观测结果拟合。

增量学习的自适应尺度不变求解器

增量学习的自适应尺度不变解算器,在[1]是一个基于梯度下降的目标求解器,用于训练线性预测模型。求解器是超参数自由的,对预测变量尺度的差异不敏感,并且不需要预测变量分布的先验知识。这些特点使它非常适合增量学习。

标准的SGD和ASGD求解器对预测变量之间的不同尺度很敏感,导致模型表现不佳。为了使用SGD和ASGD获得更好的准确性,您可以标准化预测器数据,并调优正则化和学习率参数。对于传统的机器学习,有足够的数据可以通过交叉验证和预测器标准化来实现超参数调优。然而,对于增量学习,可能没有足够的数据可用(例如,一次可能只有一个观测值可用),并且预测器的分布可能是未知的。这些特征使得在增量学习过程中难以或不可能进行参数调优和预测器标准化。

回归的增量拟合函数适合updateMetricsAndFit使用更保守的ScInOL1版本的算法。

算法

全部折叠

估计时间

在估计期间,增量拟合函数适合updateMetricsAndFit使用第一个输入EstimationPeriod通过观察来估计(调整)增量训练所需的超参数。该表描述了超参数以及何时对它们进行估计或调优。

Hyperparameter 模型属性 使用 Hyperparameters估计
预测均值和标准差

μσ

标准化预测数据

当这两个条件都适用时:

  • 当你设定“标准化”,真的(见标准化数据

  • IncrementalMdl。μIncrementalMdl。σ都是空数组[]

学习速率 LearnRate 调整求解器步长

当这两个条件同时存在时:

这些函数只将最后一个估计周期的观测值拟合到增量模型中,并且它们不使用任何观测值来跟踪模型的性能。在估计周期结束时,函数更新存储超参数的属性。

标准化数据

如果将增量学习函数配置为标准化预测变量,则使用存储在μσ增量学习模型的性质IncrementalMdl

  • 如果你在训练输入模型时标准化了预测器数据Mdl通过使用fitrsvm,下列条件适用:

    • incrementalLearner把手段传递进去Mdl。μ和标准差Mdl。σ对于同余增量学习模型的性质。

    • 增量学习函数总是标准化的预测数据,不管值“标准化”名称-值对参数。

  • 当你设定“标准化”,真的,IncrementalMdl。μIncrementalMdl。σ为空,则适用以下条件:

    • 如果估计周期为正(参见EstimationPeriod的属性IncrementalMdl),增量拟合函数使用估计期观测值估计均值和标准差。

    • 如果估计周期为0,incrementalLearner强制估计周期为1000。因此,在强制估计期间,增量拟合函数估计新的预测变量均值和标准差。

  • 如果你设置“标准化”、“汽车”(默认值),则应用以下条件。

    • 如果IncrementalMdl。μIncrementalMdl。σ是空的,增量学习函数不能标准化预测变量。

    • 否则,增量学习函数使用中的均值和标准差对预测变量进行标准化IncrementalMdl。μIncrementalMdl。σ,分别。增量拟合函数不估计新的均值和标准差,而不管估计周期的长短。

  • 当增量拟合函数估计预测均值和标准差时,该函数使用估计期观测值计算加权均值和加权标准差。具体来说,函数标准化预测器jxj)使用

    x j = x j μ j σ j

    • xj是预测j,xjk是观察k的预测j在估计期间。

    • μ j = 1 k w k k w k x j k

    • σ j 2 = 1 k w k k w k x j k μ j 2

    • wj是观察权重j

性能指标

  • updateMetricsupdateMetricsAndFit函数是跟踪模型性能指标的增量学习函数(“指标”),当增量模型为时温暖的IsWarm属性)。增量模型是热后的适合updateMetricsAndFit将增量模型拟合到“MetricsWarmupPeriod”观察,也就是指标预热期

    如果“EstimationPeriod”> 0,函数在拟合模型到数据之前估计超参数。因此,函数必须处理一个附加的EstimationPeriod模型开始指标预热期之前的观察。

  • 指标增量模型的属性将每个性能指标的两种形式存储为表的变量(列),累积窗口,以行表示单个指标。当增量模型为暖时,updateMetricsupdateMetricsAndFit按以下频率更新指标:

    • 累积—这些函数计算自模型性能跟踪开始以来的累积指标。每次调用函数时,函数都会更新度量,并根据所提供的整个数据集进行计算。

    • 窗口—该函数根据窗口内的所有观测值计算度量“MetricsWindowSize”名称-值对参数。“MetricsWindowSize”还决定了软件更新的频率窗口指标。例如,如果MetricsWindowSize= 20时,函数根据所提供数据中的最后20个观察值计算度量(X((end - 20 + 1):end,:)Y((end - 20 + 1):end)).

      跟踪窗口内性能指标的增量函数使用以下过程:

      1. 对于每个指定的度量,存储一个长度相同的缓冲区MetricsWindowSize还有一个观察权值的缓冲。

      2. 使用基于传入观察值批次的模型性能填充度量缓冲区的元素,并在权重缓冲区中存储相应的观察值权重。

      3. 当缓冲区被填满时,覆盖IncrementalMdl.Metrics.Window在指标窗口中显示加权平均性能。如果在函数处理一批观察值时缓冲区被填满,则最新传入的MetricsWindowSize观察值进入缓冲区,最早的观察值从缓冲区中删除。例如,假设MetricsWindowSize如果是20,则度量缓冲区有来自先前处理的批处理的10个值,还有15个值是传入的。为了组成长度为20的窗口,这些函数使用来自15个传入观测值的测量值和来自前一批的最新5个测量值。

参考文献

[1]肯普卡,米肖夫,沃伊切赫Kotłowski和曼弗雷德·k·沃姆斯。线性模型学习的自适应尺度不变在线算法相关系数(2019年2月)。https://arxiv.org/abs/1902.07528

[10]兰福德,李丽丽,张涛。“基于截断梯度的稀疏在线学习。”j·马赫。学习。Res。, Vol. 10, 2009, pp. 777-801。

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

[4]徐,魏。用平均随机梯度下降法实现最优一次大规模学习相关系数, abs/1107.2490, 2011。

在R2020b中引入