主要内容

incrementalLearner

线性模型转换为二进制增量学习分类

自从R2020b

描述

例子

IncrementalMdl= incrementalLearner (Mdl)返回一个二进制分类线性模型增量学习,IncrementalMdl使用传统的线性模型训练对象或对象线性模型模板Mdl

如果你指定一个传统的训练模式,那么它的属性值反映而获得的知识Mdl(模型的参数和hyperparameters)。因此,IncrementalMdl可以预测标签给新观测,它是什么温暖的,这意味着其预测性能跟踪。

例子

IncrementalMdl= incrementalLearner (Mdl,名称,值)使用附加选项指定一个或多个名称参数。一些选项需要你火车IncrementalMdl之前预测性能跟踪。例如,“MetricsWarmupPeriod”, 50岁,“MetricsWindowSize”, 100指定了一个初步的增量训练时期的前50观测性能指标跟踪,并指定处理100年观测之前更新窗口性能指标。

例子

全部折叠

火车二进制线性分类模型学习使用fitclinear,然后把它转换成一个增量学习。

加载和数据预处理

载入人类活动数据集。

负载humanactivity

细节的数据集,输入描述在命令行中。

响应可以是五类:坐着,,,运行,或跳舞。二分响应通过识别主题是否移动(actid> 2)。

Y = actid > 2;

火车线性分类模型

适合一个线性分类模型对整个数据集。

TTMdl = fitclinear(壮举,Y)
TTMdl = ClassificationLinear ResponseName:“Y”类名:[0 1]ScoreTransform:“没有一个”测试:[60 x1双]偏见:-0.2005λ:4.1537 e-05学习者:“支持向量机”属性,方法

TTMdl是一个ClassificationLinear模型对象代表了一个传统上训练有素的线性分类模型。

转换训练模型

传统训练线性分类模型转换为一个二进制分类线性模型的增量学习。

IncrementalMdl = incrementalLearner (TTMdl)
IncrementalMdl = incrementalClassificationLinear IsWarm: 1指标:[1 x2表]一会:[0 1]ScoreTransform:“没有一个”测试:[60 x1双]偏见:-0.2005学习者:“支持向量机”属性,方法

IncrementalMdl是一个incrementalClassificationLinear模型对象准备使用SVM增量学习。

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

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

  • incrementalClassificationLinear火车模型使用自适应尺度不变的解决者,而fitclinear训练有素的TTMdl用高炉煤气的能手。

预测的反应

增量学习者从转换创建一个传统训练模型可以生成预测没有进一步处理。

所有观测使用这两种模型预测分类得分。

[~,ttscores] =预测(TTMdl壮举);[~,ilscores] =预测(IncrementalMdl壮举);compareScores =规范(ttscores (: 1)——ilscores (: 1))
compareScores = 0

之间的差异模型产生的分数是0。

如果你训练一个线性分类模型使用SGD或ASGD解算器,incrementalLearner保存解算器、线性模型类型和相关hyperparameter值时将线性分类模型。

载入人类活动数据集。

负载humanactivity

细节的数据集,输入描述在命令行中。

响应可以是五类:坐着,站着,散步,跑步,或者跳舞。二分响应通过识别主题是否移动(actid> 2)。

Y = actid > 2;

随机把数据分成两半:上半年培训模式传统,下半年的增量学习。

n =元素个数(Y);rng (1)%的再现性本量利= cvpartition (n,“坚持”,0.5);idxtt =培训(cvp);idxil =测试(cvp);%上半年的数据Xtt =壮举(idxtt:);Ytt = Y (idxtt);%下半年的数据自=壮举(idxil:);Yil = Y (idxil);

创建一组11对数间隔的正则化的优势 10 - - - - - - 6 通过 10 - - - - - - 0 5

-0.5λ= logspace(6日,11);

因为不同尺度变量,使用隐式扩张标准化预测数据。

Xtt = (Xtt -意味着(Xtt)。/性病(Xtt);

通过应用5倍交叉验证优化L2正则化参数。指定标准SGD解算器。

Ytt TTCVMdl = fitclinear (Xtt,“KFold”5,“学习者”,“物流”,“规划求解”,“sgd”,“λ”λ);

TTCVMdl是一个ClassificationPartitionedLinear模型代表的五个模型中创建交叉验证(见TTCVMdl.Trained)。交叉验证过程包括每个指定的正规化训练价值。

计算旨在为每个模型和正则化分类错误。

cvloss = kfoldLoss (TTCVMdl)
cvloss =1×110.0054 0.0039 0.0034 0.0033 0.0030 0.0027 0.0027 0.0031 0.0036 0.0056 0.0077

cvloss包含每个正则化的测试样本分类损失值

选择正则化值最小化分类误差。火车模型再次使用选定的正则化的价值。

[~,idxmin] = min (cvloss);Ytt TTMdl = fitclinear (Xtt,“学习者”,“物流”,“规划求解”,“sgd”,“λ”λ(idxmin));

TTMdl是一个ClassificationLinear模型。

传统训练线性分类模型转换为一个二进制分类线性模型的增量学习。指定标准SGD解算器。准备标准化预测增量学习功能。这个动作需要一个初期估算预测均值和标准差。指定一个估计的时期2000年观察(默认1000年当需要预测时刻)。

IncrementalMdl = incrementalLearner (TTMdl,“标准化”,真的,“EstimationPeriod”,2000);

IncrementalMdl是一个incrementalClassificationLinear模型对象。incrementalLearner通过解算器和正则化强度等信息从培训TTMdl,IncrementalMdl

下半年适合增量模型使用的数据适合函数。在每一次迭代:

  • 模拟数据流处理10观测一次。

  • 覆盖前面的增量式模型与一个新安装的观察。

  • 商店 β 1 培训期间看到它的发展。

%预先配置nil =元素个数(Yil);numObsPerChunk = 10;nchunk =地板(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 =适合(IncrementalMdl自(idx:), Yil (idx));beta1 (j + 1) = IncrementalMdl.Beta (1);结束

IncrementalMdl是一个incrementalClassificationLinear模型对象培训中的所有数据流。

情节 β 1 看到它是如何进化的。

情节(beta1) ylabel (“\ beta_1”)参照线(IncrementalMdl.EstimationPeriod / numObsPerChunk,r -。)包含(“迭代”)

图包含一个坐标轴对象。坐标轴对象包含迭代,ylabelβindexOf 1基线包含2线类型的对象,constantline。

因为适合不符合模型的流数据在评估期间, β 1 是恒定的第一200次迭代(2000观察)。然后, β 1 在增量的突然变化。

使用一个训练有素的线性分类模型初始化增量学习。准备学习者通过指定一个增量指标预热期,在此期间updateMetricsAndFit功能只适合模型。指定一个指标500观察的窗口大小。

载入人类活动数据集。

负载humanactivity

细节的数据集,输入描述在命令行中。

响应可以是五类:坐着,站着,散步、跑步、和跳舞。二分响应通过识别主题是否移动(actid> 2)。

Y = actid > 2;

因为数据集分组活动,改组为简单起见。然后,随机把数据分成两半:上半年培训模式传统,下半年的增量学习。

n =元素个数(Y);rng (1)%的再现性本量利= cvpartition (n,“坚持”,0.5);idxtt =培训(cvp);idxil =测试(cvp);shuffidx = randperm (n);X =壮举(shuffidx:);Y = Y (shuffidx);%上半年的数据Xtt = X (idxtt:);Ytt = Y (idxtt);%下半年的数据自= X (idxil:);Yil = Y (idxil);

线性分类模型适合上半年数据。

TTMdl = fitclinear (Xtt Ytt);

传统训练线性分类模型转换为一个二进制分类线性模型的增量学习。指定以下:

  • 一个性能指标预热期2000年的观察

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

  • 使用分类误差和铰链损失测量模型的性能

IncrementalMdl = incrementalLearner (TTMdl,“MetricsWarmupPeriod”,2000,“MetricsWindowSize”,500,“指标”,(“classiferror”“枢纽”]);

下半年适合增量模型使用的数据updateMetricsAndFit函数。在每一次迭代:

  • 模拟数据流处理一块20的观察。

  • 覆盖前面的增量式模型与一个新安装的观察。

  • 商店 β 1 、累积度量和窗口指标增量学习期间看到他们如何演变。

%预先配置nil =元素个数(Yil);numObsPerChunk = 20;nchunk =装天花板(nil / numObsPerChunk);ce = array2table (0 (nchunk, 2),“VariableNames”,(“累积”“窗口”]);铰链= array2table (0 (nchunk, 2),“VariableNames”,(“累积”“窗口”]);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 = updateMetricsAndFit (IncrementalMdl自(idx:), Yil (idx));ce {j:} = IncrementalMdl.Metrics {“ClassificationError”,:};铰链{j:} = IncrementalMdl.Metrics {“HingeLoss”,:};beta1 (j + 1) = IncrementalMdl.Beta (1);结束

IncrementalMdl是一个incrementalClassificationLinear模型训练的所有数据流。在增量学习模型是热身之后,updateMetricsAndFit检查模型的性能的观察,然后符合观测模型。

性能指标和 β 1 进化在训练,放到单独的瓷砖。

t = tiledlayout (3,1);nexttile情节(beta1) ylabel (“\ beta_1”)xlim ([0 nchunk])参照线(IncrementalMdl.MetricsWarmupPeriod / numObsPerChunk,r -。)nexttile h =情节(ce.Variables);xlim ([0 nchunk]) ylabel (分类错误的)参照线(IncrementalMdl.MetricsWarmupPeriod / numObsPerChunk,r -。)传说(h, ce.Properties.VariableNames“位置”,“西北”)nexttile h =情节(hinge.Variables);xlim ([0 nchunk]) ylabel (“铰链损失”)参照线(IncrementalMdl.MetricsWarmupPeriod / numObsPerChunk,r -。)传说(h, hinge.Properties.VariableNames“位置”,“西北”)包含(t)“迭代”)

图包含3轴对象。坐标轴对象1 2 ylabel \ beta_1包含对象类型的线,constantline。坐标轴对象2 ylabel分类错误包含3线类型的对象,constantline。这些对象代表累积,窗口。坐标轴对象3与ylabel铰链损失包含对象类型的线,constantline。这些对象代表累积,窗口。

情节表明updateMetricsAndFit以下:

  • 适合 β 1 在增量学习迭代。

  • 计算后的性能指标度量预热期。

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

  • 计算窗口指标500年处理后观察迭代(25)。

输入参数

全部折叠

传统训练的线性模型或线性模型模板,指定为一个ClassificationLinear模型对象返回的fitclinear或一个模板对象返回templateLinear,分别。

请注意

  • λ的属性Mdl必须是一个数字标量。如果λ是一个传统的数值向量训练有素的线性模型,您必须选择模型对应一个正则化强度在正则化路径通过使用吗selectModels

  • 增量学习功能只支持数字输入预测数据。万博1manbetx如果Mdl被训练在分类数据,您必须准备一个分类数据的编码版本使用增量学习功能。使用dummyvar每个分类变量转换为一个数字矩阵的虚变量。然后,连接所有哑变量矩阵和任何其他数值预测,以同样的方式训练函数编码分类数据。更多细节,请参阅虚拟变量

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:“规划求解”、“扇区”,“MetricsWindowSize”, 100指定为目标优化自适应尺度不变的解算器,并指定处理100年观测之前更新窗口性能指标。

一般选择

全部折叠

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

价值 描述 笔记
“扇区”

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

  • 该算法参数是免费的,可以适应不同的预测。试试这个算法使用SGD或ASGD之前。

  • 前洗牌传入的数据适合函数的模型,设置洗牌真正的

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

  • 培训有效地与SGD,标准化数据并指定适当的值hyperparameters使用选项中列出SGD和ASGD解算器选项

  • 适合之前总是打乱传入的数据拟合函数模型。

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

  • 培训有效地与ASGD,标准化数据并指定适当的值hyperparameters使用选项中列出SGD和ASGD解算器选项

  • 适合之前总是打乱传入的数据拟合函数模型。

默认的解算器价值取决于输入模型对象Mdl:

  • 如果Mdl使用脊正规化和SGD或ASGD解算器,IncrementalMdl使用相同的解决者。

    (如果Mdl是一个传统的训练模式,您可以查看吗解算器价值Mdl.ModelParameters.Solver。如果Mdl是一个模型模板,您可以查看吗解算器通过在命令窗口中显示对象或变量编辑器。)

  • 否则,默认解算器值是“扇区”

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

数据类型:字符|字符串

数量的观察处理的增量式模型来估计hyperparameters培训或跟踪性能指标之前,指定为逗号分隔组成的“EstimationPeriod”和一个非负整数。

请注意

  • 如果Mdl是准备增量学习(指定所有必需hyperparameters培训),incrementalLearner部队EstimationPeriod0

  • 如果Mdl不是准备增量学习,incrementalLearnerEstimationPeriod1000年

更多细节,请参阅估计时间

例子:“EstimationPeriod”, 100年

数据类型:|

标志标准化预测数据,指定为逗号分隔组成的“标准化”在这个表和一个值。

价值 描述
真正的 标准化的软件预测数据。更多细节,请参阅标准化数据
不规范的软件预测数据。

例子:“标准化”,真的

数据类型:逻辑

SGD和ASGD解算器选项

全部折叠

Mini-batch大小,指定为逗号分隔组成的“BatchSize”和一个正整数。在每一个学习周期训练,incrementalLearner使用BatchSize观察计算次梯度。

观测的数量在过去mini-batch(最后一个学习周期的每个函数调用适合updateMetricsAndFit可以小于)BatchSize。例如,如果您提供25观测适合updateMetricsAndFit,前两个函数使用10观察学习周期和使用5观察过去的学习周期。

默认的BatchSize价值取决于输入模型对象Mdl:

  • 如果Mdl使用脊正规化和SGD或ASGD解算器,你不能设置BatchSize。相反,incrementalLearnerBatchSizeMdl.ModelParameters.BatchSize传统的训练模式,或BatchSize属性模型的模板。

  • 否则,默认BatchSize值是10

例子:“BatchSize”, 1

数据类型:|

脊(l2)正则化项,指定为负的标量。

默认的λ价值取决于输入模型对象Mdl:

  • 如果Mdl使用脊正规化和SGD或ASGD解算器,你不能设置λ。相反,incrementalLearnerλλ的属性Mdl

  • 否则,默认λ值是1 e-5

请注意

incrementalLearner不支持套索正规化。万博1manbetx如果正则化的属性Mdl“套索(L1)”,incrementalLearner使用脊正规化相反,和设置解算器名称-值参数“扇区”默认情况下。

例子:“λ”,0.01

数据类型:|

最初的学习速率,指定为“汽车”或积极的标量。

学习速率控制的优化步长扩展目标次梯度。LearnRate指定一个初始值的学习速率,LearnRateSchedule决定了学习速率对后续学习周期。

当你指定“汽车”:

  • 最初的学习速率0.7

  • 如果EstimationPeriod>0,适合updateMetricsAndFit变化的速度1 /√(1 + max (sum (x ^ 2, obsDim)))结束的时候EstimationPeriod。的obsDim值是1如果观测组合预测的列数据;否则,该值2

默认的LearnRate价值取决于输入模型对象Mdl:

  • 如果Mdl使用脊正规化和SGD或ASGD解算器,你不能设置LearnRate。相反,incrementalLearnerLearnRateMdl.ModelParameters.LearnRate传统的训练模式,或LearnRate属性模型的模板。

  • 否则,默认LearnRate值是“汽车”

例子:“LearnRate”, 0.001

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

学习速率的时间表,指定为逗号分隔组成的“LearnRateSchedule”在这张桌子和一个值,LearnRate指定初始学习速率ɣ0

价值 描述
“不变” 学习速率是ɣ0学习周期。
“腐烂”

学习速率的学习周期t

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

  • λ的值是λ

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

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

如果Mdl使用脊正规化和SGD或ASGD解算器,你不能设置LearnRateSchedule。相反,incrementalLearnerLearnRateSchedule“腐烂”

例子:“LearnRateSchedule”、“不变”

数据类型:字符|字符串

自适应尺度不变的解算器选项

全部折叠

国旗洗牌的观察在批处理在每个迭代中,指定为逗号分隔组成的“洗牌”在这个表和一个值。

价值 描述
真正的 之前的软件打乱传入的数据适合函数的模型。这一行动减少偏见引起的抽样方案。
软件处理数据的顺序接收。

例子:“洗牌”,假的

数据类型:逻辑

性能指标的选择

全部折叠

模型性能指标来跟踪在增量学习的updateMetricsupdateMetricsAndFit函数,指定为一个内置的损失函数的名字,名字,函数的字符串向量处理(@metricName)、结构的功能处理或细胞向量的名字,函数处理,或结构数组。

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

的名字 描述
“binodeviance” 二项异常
“classiferror” 分类错误
“指数” 指数损失
“枢纽” 铰链的损失
“分对数” 物流损失
“二次” 二次损失

内置的损失函数的更多细节,请参阅损失

例子:“指标”,(“classiferror”“枢纽”)

指定一个自定义函数,返回一个性能指标,使用函数处理符号。函数必须有这种形式:

度量= customMetric (C, S)

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

  • 你指定函数名(customMetric)。

  • C是一个n2逻辑矩阵行指示相应的观察所属的类。列顺序对应于类顺序在增量学习模型。创建C通过设置C (p,)=1,如果观察p是在课堂上指定的数据,对于每一个观察。设置行中的其他元素p0

  • 年代是一个n2数值矩阵的预测分类的分数。年代类似于分数的输出预测行对应于观测数据,和列顺序对应于类顺序在增量学习模型。S (p,)分类的观察吗p在课堂上被分类

指定多个自定义指标和分配自定义名称,使用结构数组。指定一个内置的和自定义指标的组合,使用细胞向量。

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

例子:“指标”,{@customMetric1 @customMetric2分对数的结构(Metric3, @customMetric3)}

updateMetricsupdateMetricsAndFit在属性存储表中指定的度量IncrementalMdl.Metrics。的数据类型指标决定了行表的名称。

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

性能指标选择的更多细节,请参阅性能指标

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

数量的观察增量式模型之前必须适合其跟踪性能指标指标属性,指定为一个非负整数。增量模型是温暖的增量后拟合函数符合(EstimationPeriod+MetricsWarmupPeriod增量式模型)的观察。

性能指标选择的更多细节,请参阅性能指标

例子:“MetricsWarmupPeriod”, 50岁

数据类型:|

数量的观察使用性能指标计算窗口,指定为一个正整数。

性能指标选择的更多细节,请参阅性能指标

例子:“MetricsWindowSize”, 100年

数据类型:|

输出参数

全部折叠

二进制分类线性模型的增量学习,作为一个返回incrementalClassificationLinear模型对象。IncrementalMdl也配置为生成了新的预测数据(看到了吗预测)。

初始化IncrementalMdl增量学习,incrementalLearner传递的值Mdl属性表中相应的属性IncrementalMdl

输入对象Mdl类型 财产 描述
ClassificationLinear模型对象或对象线性模型模板 β 线性模型系数,数值向量
偏见 拦截模型,数字标量
学习者 线性分类模型类型,特征向量
ModelParameters.FitBias的一个对象或模型FitBias一个模板对象 线性模型拦截包含国旗,一个逻辑标量
ClassificationLinear模型对象 一会 类为二进制分类标签,一个双元素列表
NumPredictors 数量的预测,一个正整数
之前 前类标签分布,数值向量
ScoreTransform 分数转换函数,函数名或函数句柄

如果Mdl使用脊正规化和SGD或ASGD解算器,incrementalLearner也通过这个表的属性。

输入对象Mdl类型 财产 描述
ClassificationLinear模型对象或对象线性模型模板 λ 脊(l2)正则化项的力量,一个负的标量
ModelParameters.LearnRate的一个对象或模型LearnRate一个模板对象 学习,积极的标量
ModelParameters.BatchSize的一个对象或模型BatchSize一个模板对象 Mini-batch大小,一个正整数
ModelParameters.Solver的一个对象或模型解算器一个模板对象 目标函数最小化技术,一个特征向量

请注意,incrementalLearner不使用成本财产的传统训练模式Mdl因为incrementalClassificationLinear不支持此属性。万博1manbetx

更多关于

全部折叠

增量学习

增量学习,或在线学习,是机器学习的一个分支关心处理传入的数据从数据流,可能没有知识的预测变量的分布方面的预测或目标函数(包括调优参数值),或者观察是否标示。增量学习有别于传统机器学习,足够的标签数据可用来适应一个模型,优化hyperparameters进行交叉验证,推断预测分布。

鉴于传入的观察,增量学习模型处理数据在下列方面,但通常在这个顺序:

  • 预测标签。

  • 测量预测性能。

  • 检查结构性突变或漂移模型。

  • 符合模型的观测。

更多细节,请参阅增量学习概述

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

增量学习的自适应尺度不变的解算器,介绍了[1],是一个gradient-descent-based目标规划求解线性预测模型进行训练。解算器hyperparameter自由,对预测变量尺度上的差异,并且不需要先验知识的分布预测变量。这些特点使其适合增量学习。

标准SGD和ASGD动力学预测变量对不同尺度敏感,导致模型可以表现不佳。使用SGD和ASGD取得更好的精度,可以规范预测数据,和调优正则化和学习速率参数。对于传统的机器学习,足够的数据可以使hyperparameter调优交叉验证和预测标准化。然而,对于增量学习,足够的数据可能不可用(例如,观察可能只能一次一个),预测的分布可能是未知的。这些特征使参数优化和预测标准化在增量学习困难或不可能。

增量拟合函数的分类适合updateMetricsAndFit使用更激进ScInOL2版本的算法。

算法

全部折叠

估计时间

在评估期间,增量拟合函数适合updateMetricsAndFit使用第一个进来的EstimationPeriod观察评估(曲调)hyperparameters增量所需的培训。估计发生只有当EstimationPeriod是正的。此表描述了hyperparameters他们估计,或调整。

Hyperparameter 模型属性 使用 条件
预测均值和标准差

μσ

标准化预测数据

当您设置时hyperparameters估计“标准化”,真的(见标准化数据)

学习速率 LearnRate 调整大小的解决步骤

hyperparameter估计当这两个条件:

  • 你改变的解决者MdlSGD或ASGD(见解算器)。

  • 你不指定“LearnRate”名称-值参数作为一个积极的标量。

在评估期间,适合不符合模型,updateMetricsAndFit不符合模型或更新性能指标。在估计期的结束,更新的属性存储hyperparameters功能。

标准化数据

如果增量学习功能配置标准化预测变量,他们使用中存储的均值和标准差μσ增量学习模型的属性IncrementalMdl

  • 当您设置“标准化”,真的,IncrementalMdl.MuIncrementalMdl.Sigma是空的,适用下列条件:

    • 如果评估是积极的(参见时期EstimationPeriod的属性IncrementalMdl均值和标准差),增量式拟合函数估计使用评估期间的观察。

    • 如果估计时间为0,incrementalLearner部队估计时期1000年。因此,增量式拟合函数估计均值和标准差新预测变量强制评估期间。

  • 当增量拟合函数均值和标准差估计预测,计算加权手段和功能使用评估期间观察加权标准差。具体来说,功能规范预测j(xj)使用

    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 = w j j k w j p k , 在哪里

      • pk是类的先验概率k(之前增量模型)的属性。

      • wj是观察体重j

性能指标

  • updateMetricsupdateMetricsAndFit函数增量学习函数跟踪模型性能指标(“指标”从新的数据增量式模型时)温暖的(IsWarm属性)。增量模型后变得温暖适合updateMetricsAndFit增量模型“MetricsWarmupPeriod”观察,这是度量预热期

    如果“EstimationPeriod”> 0,hyperparameters估计函数拟合模型的数据。因此,必须处理一个额外的功能EstimationPeriod观察模型开始前预热期的指标。

  • 指标增量模型的属性存储两种形式的各性能指标作为一个表的变量(列),累积窗口行,个别指标。当增量模型是温暖的,updateMetricsupdateMetricsAndFit更新后频率的指标:

    • 累积——函数计算累积度量模型以来的跟踪性能。更新指标的函数每次调用函数和基地提供的计算对整个数据集。

    • 窗口——函数计算基于一个窗口内的所有观测指标决定的“MetricsWindowSize”名称-值对的论点。“MetricsWindowSize”也决定了软件更新的频率窗口指标。例如,如果MetricsWindowSize是20,函数计算指标根据过去的20的观察提供的数据(X((结束- 20 + 1):,:)Y((- 20 + 1)结束:结束))。

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

      1. 存储一个缓冲区的长度MetricsWindowSize为每个指定的度量,并存储一个缓冲区的观察权重。

      2. 填充的元素指标基于批次缓冲与模型性能的观察,并存储相应的权重观察权重缓冲区。

      3. 当缓冲区满,覆盖IncrementalMdl.Metrics.Window窗口的加权平均性能指标。如果缓冲区溢出时,函数过程一批观察,最新的传入MetricsWindowSize观察输入缓冲区,和最早的观察从缓冲区中删除。例如,假设MetricsWindowSize是20,缓冲区的指标有10个值从一个以前批处理,和15值传入的。组成20窗口长度的函数使用15传入的观察和测量的最新5测量前一批。

  • 省略了一个观察的软件分数计算时累积窗口性能度量值。

引用

[1]Kempka、MichałWojciech Kotłowski,曼弗雷德·k·Warmuth。“自适应尺度不变的在线学习算法的线性模型”。Preprint, submitted February 10, 2019.https://arxiv.org/abs/1902.07528

[2]兰福德,J。,l。li, and T. Zhang. “Sparse Online Learning Via Truncated Gradient.”j·马赫。学习。Res。10卷,2009年,页777 - 801。

[3]Shalev-Shwartz, S。,Y. Singer, and N. Srebro. “Pegasos: Primal Estimated Sub-Gradient Solver for SVM.”《24日国际会议在机器学习,ICML ' 07,2007年,页807 - 814。

[4]徐,魏。“对最优传递规模与平均随机梯度下降学习。”相关系数、abs / 1107.2490, 2011年。

版本历史

介绍了R2020b