主要内容

incrementallearner

转换支持向量机(金宝appSVM)回归模型来增量学习者

描述

例子

IncrementalMdl= increntmentallearner(Mdl的线性回归模型增量学习IncrementalMdl,利用传统训练的线性支持向量机模型的超参数和系数进行回归,Mdl。由于其属性值反映获得的知识MdlIncrementalMdl可以预测赋予了新的观察标签,它是温暖的,这意味着跟踪其预测性能。

例子

IncrementalMdl= increntmentallearner(Mdl名称,值使用由一个或多个名称-值对参数指定的附加选项。有些选择需要训练IncrementalMdl在跟踪预测性能之前。例如,'MetricsWarmupPeriod',50, 'MetricsWindowSize',100指定在跟踪性能指标之前的50个观察值的初步增量培训期,并指定在更新性能指标之前处理100个观察值。

例子

全部折叠

通过训练SVM回归模型fitrsvm,然后将其转化为增量式学习者。

加载和预处理数据

加载2015年NYC外壳数据集。有关数据的更多详细信息,请参阅纽约市公开的数据

负载NYCHousing2015

提取响应变量销售价格来自桌子。为了数值稳定性,尺度销售价格经过1E6.

Y = NYCHousing2015.SALEPRICE / 1 e6;NYCHousing2015。SALEPRICE = [];

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

catvars = [“BOROUGH”“BuildingClasscategory”“邻里”];dumvarstbl = varfun(@(x)dummyvar(分类(x)),nychousing2015,......'inputvariables',catvars);dumvarmat = table2array(dumvarstbl);Nychousing2015(:,Catvars)= [];

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

idxnum = varfun (@isnumeric NYCHousing2015,'输出格式''制服');X = [dumvarmat NYCHousing2015{:,idxnum}];

火车SVM回归模型

将SVM回归模型与数据集一起拟合到5000个随机绘制的观察。丢弃支持向量(金宝appΑ),以便软件使用线性系数(bet)用于预测。

N = numel(Y);N = 5000;RNG(1);%用于重现idx = randsample (N, N);TTMdl = fitrsvm (X (idx:), Y (idx));TTMdl = discard金宝appSupportVectors (TTMdl)
TTMdl = RegressionSVM ResponseName: 'Y' CategoricalPredictors:[] ResponseTransform: '无' 贝塔:[312x1双]偏压:-3.2469e + 11个KernelParameters:[1x1的结构] NumObservations:5000个BoxConstraints:[5000x1双] ConvergenceInfo:[1x1的结构] Is金宝appSupportVector:[5000x1逻辑]求解: 'SMO' 的属性,方法

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

转换受训模型

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

increntmentalmdl = increntmentallerner(ttmdl)
IncrementalMdl = incrementalRegressionLinear IsWarm: 1 Metrics: [1x2 table] ResponseTransform: 'none' Beta: [312x1 double] Bias: -3.2469e+11 Learner: 'svm'属性,方法

IncrementalMdl是一个incrementalregressionlinear.模型对象准备的增量学习使用支持向量机。

  • incrementallearner初始化增量学习者通过传递学习系数,以及其他信息TTMdl从训练数据中提取。

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

  • incrementallearner功能训练使用自适应比例不变求解器模型,而fitrsvm训练有素的TTMdl使用SMO求解器。

预测回应

从转换传统培训的模型创建的增量学习者可以在不进一步处理的情况下生成预测。

预计销售价格为使用这两种模式的所有观测。

ttyfit =预测(TTMdl X);ilyfit =预测(IncrementalMdl X);Compareyfit = norm(ttyfit - ilyfit)
compareyfit = 0.

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

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

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

负载NYCHousing2015RNG(1)%用于重现n =尺寸(核静音2015,1);shuffidx = randsample(n,n);nychousing2015 =尼奇宁2015(Shuffidx,:);

提取响应变量销售价格来自桌子。为了数值稳定性,尺度销售价格经过1E6.

Y = NYCHousing2015.SALEPRICE / 1 e6;NYCHousing2015。SALEPRICE = [];

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

catvars = [“BOROUGH”“BuildingClasscategory”“邻里”];dumvarstbl = varfun(@(x)dummyvar(分类(x)),nychousing2015,......'inputvariables',catvars);dumvarmat = table2array(dumvarstbl);Nychousing2015(:,Catvars)= [];

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

idxnum = varfun (@isnumeric NYCHousing2015,'输出格式''制服');X = [dumvarmat NYCHousing2015{:,idxnum}];

随机将数据分组为5%和95%的设置:传统上培训模型的第一个设置,第二组用于增量学习。

本量利= cvpartition (n,'坚持',0.95);idxtt =培训(CVP);IDXIL =测试(CVP);%5%为传统培训设定Xtt = X (idxtt:);Ytt = Y (idxtt);%95%为增量学习设置自= X (idxil:);Yil = Y (idxil);

将SVM回归模型适合5%的数据。

ttmdl = fitrsvm(xtt,ytt);

将传统训练的SVM回归模型转换为增量学习的线性回归模型。指定标准SGD求解器和估计期2E4.观察(默认值是1000当需要学习率)。

increntmentalmdl = incrementallearner(ttmdl,“规划求解”'SGD''估计period',2e4);

IncrementalMdl是一个incrementalregressionlinear.模型对象。

将增量模型与其余数据进行拟合合身功能。在每次迭代:

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

  • 用拟合传入观察的新一个覆盖以前的增量模型。

  • 存储学习率和 β 1 看看系数在训练期间如何发展。

%preallocation.nil = numel(yil);numObsPerChunk = 10;nchunk =地板(零/ numobsperchunk);learnrate = [IncrementalMdl.LearnRate;零(nchunk,1)];β1的= [IncrementalMdl.Beta(1);零(nchunk,1)];%增量配件j = 1:nchunk ibegin = min(nil,numobsperchunk *(j-1)+ 1);IEND = min(nil,numobsperchunk * j);Idx = Ibegin:Iend;increntmentalmdl = fit(increntmentalmdl,xil(idx,:),是(idx));beta1(j + 1)= increntmentalmdl.beta(1);学习(j + 1)= increntmentalmdl.learnrate;结束

IncrementalMdl是一个incrementalregressionlinear.模型对象在流中的所有数据上培训。

要了解如何学习率和 β 1 在训练期间进化,将它们绘制在单独的子尺上。

副区(2,1,1)图(β1的)保持ylabel ('\ beta_1')参照线(IncrementalMdl。EstimationPeriod/numObsPerChunk,'R-'。);子图(2,1,2)绘图(学习)ylabel(学习速率的)参照线(IncrementalMdl。EstimationPeriod/numObsPerChunk,'R-'。);Xlabel(“迭代”

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

在估计期后,学习率跳跃到其自动调谐值。

因为合身在估计期间,模型不适合流数据, β 1 对于前2000次迭代(20,000次观察)是不变的。然后, β 1 变化稍微变化合身将模型与10个新观测数据块进行匹配。

使用训练有素的SVM回归模型初始化增量学习者。通过指定度量预热期间,准备增量学习者,在此期间updateMetricsAndFit功能仅适合模型。指定度量窗口大小为500个观察。

加载机器人臂数据集。

负载Robotarm.

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

随机将数据分组为5%和95%的设置:传统上培训模型的第一个设置,第二组用于增量学习。

n = numel(ytrain);RNG(1)%用于重现本量利= cvpartition (n,'坚持',0.95);idxtt =培训(CVP);IDXIL =测试(CVP);%5%为传统培训设定Xtt = Xtrain (idxtt:);Ytt = ytrain (idxtt);%95%为增量学习设置可可西里= Xtrain(idxil,:);YIL = ytrain(idxil);

将SVM回归模型适合第一个组。

ttmdl = fitrsvm(xtt,ytt);

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

  • 绩效指标热身2000个观察期。

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

  • 使用不敏感损耗、MSE和平均绝对误差(MAE)来衡量模型的性能。该软件支持epsilon不金宝app敏感损耗和MSE。创建一个匿名函数来测量每个新观测的绝对误差。创建包含名称的结构数组意思是ab及其相应的功能。

Maefcn = @(z,zfit)abs(z - zfit);maemetric =结构(“意思是贝蒂尔罗”,茂福人);increntmentalmdl = incrementallearner(ttmdl,'MetricsWarmupPeriod',2000年,'metricswindowsize',500,......“指标”,{“epsiloninsensitive”'MSE'maemetric});

将增量模型与其余数据进行拟合updateMetricsAndfit功能。在每次迭代:

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

  • 用拟合传入观察的新一个覆盖以前的增量模型。

  • 存储的估计系数 β 10. ,累积度量和窗口指标,以了解它们在增量学习期间的发展方式。

%preallocation.nil = numel(yil);numobsperchunk = 50;nchunk =地板(零/ numobsperchunk);EI = Array2table(零(nchunk,2),'variablenames',[“累积”“窗户”]);(nchunk mse = array2table (0, 2),'variablenames',[“累积”“窗户”]);湄= array2table(零(nchunk,2),'variablenames',[“累积”“窗户”]);beta1 =零(nchunk,1);%增量配件j = 1:nchunk ibegin = min(nil,numobsperchunk *(j-1)+ 1);IEND = min(nil,numobsperchunk * j);Idx = Ibegin:Iend;increntmentalmdl = updatemetricsandfit(increntmentalmdl,xil(idx,:),是(idx));ei {j ,:} = increntmentalmdl.metrics {“epsiloninsensitiveLoss”,:};mse {j ,:} = increntmentalmdl.metrics {“含义”,:};湄{Ĵ,:} = {IncrementalMdl.Metrics“意思是贝蒂尔罗”,:};beta1(j + 1) = IncrementalMdl.Beta(10);结束

IncrementalMdl是一个incrementalregressionlinear.模型对象在流中的所有数据上培训。在增量学习期间和模型预热后,updateMetricsAndFit检查模型对传入观察的性能,然后将模型适合该观察。

看看性能指标如何 β 10. 在训练期间进化,将它们绘制在单独的子尺上。

数字;子图(2,2,1)绘图(beta1)ylabel(“\ beta_{10}”)XLIM([0 nchunk]);构造线(IncrementalMdl.MetricsWarmupPeriod / numObsPerChunk,'R-'。);Xlabel(“迭代”) subplot(2,2,2) h = plot(i. variables);xlim ([0 nchunk]);ylabel ('epsilon不敏感损失')参照线(IncrementalMdl。metricswarmupperiod./numObsPerChunk,'R-'。);图例(H,ei.Properties.VariableNames)xlabel(“迭代”) subplot(2,2,3) h = plot(mse.Variables);xlim ([0 nchunk]);ylabel ('妈妈')参照线(IncrementalMdl。metricswarmupperiod./numObsPerChunk,'R-'。);图例(H,mse.Properties.VariableNames)xlabel(“迭代”) subplot(2,2,4) h = plot(mae.Variables);xlim ([0 nchunk]);ylabel (“美”)参照线(IncrementalMdl。metricswarmupperiod./numObsPerChunk,'R-'。);传奇(h, mae.Properties.VariableNames)包含(“迭代”

图中包含4个轴。坐标轴1包含两个类型为line、constantline的对象。坐标轴2包含3个类型为line、constantline的对象。这些对象表示累积、窗口。坐标轴3包含3个类型为line、constantline的对象。这些对象表示累积、窗口。轴4包含3个对象的类型线,常量线。这些对象表示累积、窗口。

这个情节表明updateMetricsAndFit是否有以下操作:

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

  • 仅在指标预热时间后计算性能指标。

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

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

输入参数

全部折叠

传统上训练回归线性SVM模型,指定为通过其训练或处理函数返回的模型对象。

模型对象 培训或处理功能
RegressionSVM fitrsvm
compactregressionsvm. fitrsvm或者袖珍的

笔记

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

名称-值对的观点

指定可选的逗号分隔的对名称,值参数。姓名参数名和价值为对应值。姓名必须出现在引号内。可以以任意顺序指定多个名称和值对参数名1,值1,...,NameN,值N

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

全部折叠

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

价值 描述 笔记
'Scale-Invariant'

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

  • 该算法是无参数的,可以适应预测尺度的差异。在使用SGD或ASGD之前请尝试此算法。

  • 将进货批次在合身功能适合模型,设置洗牌真正的

'SGD' 随机梯度下降(SGD)[3][2]

  • 与SGD有效地训练,规范的数据,并指定适当的值,使用列出的选项超参数SGD和ASGD解决方案选项

  • 合身函数总是拟合模型之前洗牌传入批次的数据。

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

  • 要使用ASGD有效培训,标准化数据并使用列出的选项指定超级参数的适当值SGD和ASGD解决方案选项

  • 合身函数总是拟合模型之前洗牌传入批次的数据。

例子:“求解”,“新元”

数据类型:char|细绳

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

笔记

  • 如果Mdl为增量学习做好准备(指定培训所需的所有超参数),incrementallearner势力'估计period'0.

  • 如果Mdl没有增量学习准备,incrementallearner'估计period'1000

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

例子:“EstimationPeriod”,100年

数据类型:单身的|双倍的

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

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

在某些条件下,incrementallearner可以重写您的规范。有关详细信息,请参见标准化数据

例子:'标准化',真实

数据类型:逻辑|char|细绳

SGD和ASGD解决方案选项

全部折叠

迷你批量大小,指定为逗号分隔对组成“BatchSize”一个正整数。在训练的每一次迭代中,incrementallearner使用分钟(BATCHSIZE,numObs)计算次梯度的观测值,其中numObs是观测的传递给训练数据的数量合身或者updateMetricsAndFit

例子:“BatchSize”,1

数据类型:单身的|双倍的

脊(L.2)正规化术语力量,指定为逗号分隔对组成'lambda'和一个非负标量。

例子:'lambda',0.01

数据类型:单身的|双倍的

学习率,指定为逗号分隔对组成'学习''汽车'或正标量。LearnRate控制通过缩放目标梯度优化步长。

'汽车'

  • 如果EstimationPeriod0.,最初的学习速度0.7

  • 如果EstimationPeriod>0.,最初的学习速度1 / sqrt(1 + max(sum(x. ^ 2,obsdim))))), 在哪里僵局1如果观察结果构成了预测器数据的列,并且2除此以外。合身updateMetricsAndFit将模型和培训数据传递给任一函数时设置值。

的名称 - 值对参数'LearnRateSchedule'决定后续学习周期的学习率。

例子:“LearnRate”,0.001

数据类型:单身的|双倍的|char|细绳

学习率计划,指定为逗号分隔的配对组成'LearnRateSchedule'和这个表中的一个值,在哪里LearnRate指定初始学习率ɣ0.

价值 描述
'持续的' 学习率是ɣ0.对于所有的学习周期。
“腐烂”

学习周期的学习率T.

γ T. = γ 0. 1 + λ. γ 0. T. C

  • λ.是值的价值λ

  • 如果求解器'SGD',然后C= 1。

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

例子:'学习Chedule','常数'

数据类型:char|细绳

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

全部折叠

用于在每次迭代的批处理中洗牌观测的标志,指定为逗号分隔对'洗牌'和这个表中的值。

价值 描述
真正的 软件在处理集之前在每个输入批次数据中减速观察。该动作减少了采样方案引起的偏差。
软件处理收到的顺序中的数据。

例子:“洗牌”,假

数据类型:逻辑

性能指标选项

全部折叠

型号性能指标,增量学习过程中跟踪UpdateMetrics.updateMetricsAndFit,指定为逗号分隔的对,由“指标”和一个内置丢失函数名称,字符串矢量名称,功能句柄(@metricname.)、函数句柄的结构数组,或名称、函数句柄或结构数组的单元向量。

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

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

有关内置损失功能的更多详细信息,请参阅损失

例子:'指标',[“epsiloninsensitive”“mse”]

要指定返回性能度量的自定义函数,请使用函数句柄表示法。该函数必须具有此表单:

度量= CustomMetric(y,Yfit)

  • 输出参数公制是一个N-1号数字矢量,其中每个元素是在学习周期期间由增量学习功能处理的数据中的相应观察的丢失。

  • 您选择函数名称(定制)。

  • y是一个长度N观察到的数字矢量,在哪里N为样本量。

  • YFit是一个长度N相应预测响应的数字矢量。

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

例子:'指标',struct('metric1',@ custommetric1,'metric2',@ custommetric2)

例子:'metrics',{@ custommetric1 @ compoemetric2'mse'struct('metric3',@ custommetric3)}

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

“指标”价值数据类型 描述指标属性行名称 例子
字符串或字符向量 相应的内置度量标准名称 行名称“epsiloninsensitive”“epsiloninsensitiveLoss”
结构阵列 字段名称 行名称结构(Metric1, @customMetric1)“Metric1”
存储在程序文件中的函数句柄 功能名称 行名称@Custommetric.“customMetric”
匿名函数 CustomMetric_j, 在哪里j为公制j指标 行名称@(y,Yfit)CustomMetric(Y,Yfit)......CustomMetric_1.

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

数据类型:char|细绳|结构体|细胞|function_handle.

观察数增量模型必须是适合它跟踪性能指标在其前指标属性,指定为逗号分隔对组成'MetricsWarmupPeriod'和一个非负整数。增量模型在增量拟合功能适合后是温暖的metricswarmupperiod.对增量模型的观察(EstimationPeriod+metricswarmupperiod.观察)。

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

数据类型:单身的|双倍的

用于计算窗口性能度量的观察次数,指定为正整数。

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

数据类型:单身的|双倍的

输出参数

全部折叠

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

要初始化IncrementalMdl为了增量学习,incrementallearner通过了价值Mdl此表中的属性到一致的属性IncrementalMdl

财产 描述
bet 线性模型系数,数字矢量
偏见 模型拦截,数字标量
ε 不敏感带宽度的一半,一个非负标量
μ 预测器变量意味着数字矢量
σ 预测变量标准偏差,数字矢量

更多关于

全部折叠

增量学习

增量学习, 或者在线学习,是从数据流处理传入数据的机器学习的分支,可能仅仅给出了预测变量的分布,预测或目标函数的方面(包括调谐参数值),或者观察是否都不了解标记。增量学习与传统机器学习的不同之处,其中有足够的标记数据可适合模型,执行交叉验证以调整超公数,并推断出预测器分布。

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

  • 预测标签。

  • 测量预测性能。

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

  • 将模型适合入射观察。

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

增量学习的自适应比例不变求解器,介绍[1],是一种用于训练线性预测模型的基于梯度的下降的目标求解器。求解器是自由的,对预测器变量尺度的差异不敏感,并且不需要先前了解预测变量的分布。这些特征使其适合增量学习。

标准SGD和ASGD溶剂对预测变量之间的不同尺度敏感,导致模型可以表现不佳。为了实现使用SGD和ASGD的更好的准确性,您可以标准化预测器数据,并调整正常化和学习率参数可能需要调谐。对于传统的机器学习,可以通过交叉验证和预测标准化启用HyperParameter调整的足够数据。但是,对于增量学习,可能不可用的数据可能不可用(例如,观察可能一次可用),并且预测器的分布可能是未知的。这些特征使参数调整和预测标准化难以或不可能在增量学习期间进行。

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

算法

全部折叠

估计期

在估计期间,增量拟合函数合身updateMetricsAndFit使用第一个传入EstimationPeriod估计(调谐)增量培训所需的估计(调谐)的观察结果。此表描述了估计或调整它们时的超参数。

Hyperparameter 模型属性 使用 Hyperparameters估计
预测指标手段和标准偏差

μσ

标准化预测数据

当这两个条件同时适用时:

  • 当你设置时'标准化',真实(看标准化数据

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

学习率 LearnRate 调整求解器步长

当上述两个条件同时适用时:

  • 你改变求解器Mdl到SGD或ASGD(见求解器)。

  • 你没有设置'学习'名称值对参数。

该功能只适合最后估计期观察增量模型,他们不使用任何观测的追踪模型的性能。在估计周期结束时,这些功能更新存储超参数的属性。

标准化数据

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

  • 如果您在培训输入模型时标准化了预测仪数据Mdl通过使用fitrsvm,须符合下列条件:

    • incrementallearner通过在装置mdl.mu.的标准差mdl.sigma.到一致的增量学习模型属性。

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

  • 当你设置时'标准化',真实,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

    • W.j是观察重量j

性能指标

  • UpdateMetrics.updateMetricsAndFit函数是跟踪模型性能指标的增量学习功能(“指标”)的新数据时,增量模型温暖的温暖属性)。然后是一个增量模型合身或者updateMetricsAndFit使增量模型适合于'MetricsWarmupPeriod'观察结果,即度量预热期

    如果'估计period'> 0,函数在将模型拟合到数据之前估算超参数。因此,函数必须额外处理EstimationPeriod在模型开始度量预热期之前的观察。

  • 指标增量模型的属性将每个性能指标的两种形式存储为表的变量(列),累积窗户,具有行中的各个度量。当增量模型温暖时,UpdateMetrics.updateMetricsAndFit以下列频率更新度量标准:

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

    • 窗户- 函数基于由窗口内的所有观测计算指标'metricswindowsize'名称值对参数。'metricswindowsize'还确定软件更新的频率窗户指标。例如,如果MetricsWindowsize.是20,函数基于所提供的数据中的最后20个观察计算度量(X((终端 - 20 + 1):结束,:)Y((结束 - 20 + 1):结束))。

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

      1. 对于每个指定的度量标准,存储长度的缓冲区MetricsWindowsize.和一个观察重量的缓冲。

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

      3. 填充缓冲区时,覆盖increntmentalmdl.metrics.window.在度量窗口中的加权平均性能。如果在函数处理批次观察时过满缓冲区,则最新的传入MetricsWindowsize.观测数据进入缓冲区,最早的观测数据从缓冲区中删除。例如,假设MetricsWindowsize.为20,从缓冲先前处理的批次具有10个值和15倍的值是传入的指标。以构成长度为20的窗口时,该功能使用来自传入15个观察和来自先前批的最新5次测量的测量结果。

参考文献

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

李磊,张涛。“基于截断梯度的稀疏在线学习”。j·马赫。学习。Res。, 2009年第10卷,第777-801页。

[3] Shalev-Shwartz,S.,Y.歌手和N. Srebro。“PEGASOS:SVM的原始估计子梯度求解器。”第24届国际机器学习会议论文集,ICML’07, 2007,第807-814页。

[4]徐,魏。“朝着最佳的一个通过平均随机梯度血统来通过大规模学习。”相关系数、abs / 1107.2490, 2011年。

介绍了R2020b