一个增量学习模型对象完全指定了函数如何实现增量拟合和模型性能评价。要配置(或准备)一个增量学习模型,可以通过直接调用对象或将传统训练的模型转换为其中一个对象来创建一个增量学习模型。下表列出了对应机器学习目标的可用对象、转换函数和支持的学习者。金宝app
客观的 | 创建方法 | 函数 | 金宝app支持学习者 |
---|---|---|---|
二元分类 | 调用对象 | incrementalClassificationLinear |
线性支持向量机 逻辑回归 |
转换模型 |
|
||
多类分类 | 调用对象 | incrementalClassificationNaiveBayes |
朴素贝叶斯分类与正规,多项式,或多元多项式预测分布,条件上的类 |
转换模型 |
|
||
回归 | 调用对象 | incrementalRegressionLinear |
线性支持向量机回归 最小二乘 |
转换模型 |
|
您选择的创建方法取决于您所拥有的信息和您的偏好。
调用对象:通过直接调用对象,为您的规范创建一个增量模型。这种方法很灵活,允许您指定大多数选项以适合您的首选项,并且生成的模型提供合理的默认值。然而:
对于线性分类或回归模型,您的规范可能需要一个估计周期。
对于朴素贝叶斯分类模型,必须指定增量学习期间数据中期望的最大类数或所有类名。
有关详细信息,请参见直接调用对象.
转换模型:将传统训练模型转换为增量学习者,初始化增量学习模型。incrementalLearner
传递传统训练模型从数据中学习到的信息。对于线性模型,传递的信息包括优化的系数估计、数据特征和适用的超参数值。对于朴素贝叶斯分类模型,传递的信息包括数据特征,如所有期望的类名和条件预测器分布的拟合参数。然而,要转换传统训练的模型,您必须有一组标记的数据,以便您能够适合于模型。
当你使用incrementalLearner
,您可以指定所有性能评估选项,只指定转换期间未知的培训、模型和数据选项。有关详细信息,请参见转换传统训练模式.
不管您使用的是增量模型创建方法,请考虑以下配置:
对性能评估设置进行建模,例如要度量的性能指标
线性模型:
模型类型,如SVM
系数初始值
目标函数求解器,如标准随机梯度下降(SGD)
解算器超参数值,如SGD解算器的学习率
对于朴素贝叶斯模型,预测变量的条件分布。在数据集中,您可以指定实值预测器是正态分布的,而分类预测器(级别是数字标量)是多元多项式的。对于令牌包模型,其中每个预测器都是一个计数,您可以指定所有预测器都是联合多项式的。
与使用其他机器学习模型对象不同,您可以通过直接调用相应的对象来创建增量学习模型,而不需要对数据有任何了解。对于线性模型,直接创建模型所需的唯一信息是机器学习问题,无论是分类还是回归,而朴素贝叶斯分类模型需要数据中期望的最大类数或所有类名。例如,以下代码为线性回归创建默认增量模型,为包含5个类的数据流创建朴素贝叶斯分类模型。
MdlLR = incrementalRegressionLinear ();MdlNB = incrementalClassificationNaiveBayes (“MaxNumClasses”5)
如果您有关于要指定的数据的信息,或者您希望配置模型选项或性能评估设置,则在调用对象时使用名称-值参数。(所有模型属性都是只读的;你不能使用点符号来调整它们。)例如,下面的伪代码为二进制分类创建增量逻辑回归模型,初始化线性模型系数β
和偏见偏见
(从问题的先验知识中获得),并将性能指标的预热期设置为500
观察。
Mdl = incrementalClassificationLinear (“学习者”,“物流”,...“β”,β,“偏见”偏见,“MetricsWarmupPeriod”, 500);
下表简要描述了增量学习的主要方面的值得注意的选项。有关所有选项的详细信息,请参见incrementalRegressionLinear
,incrementalClassificationLinear
,或incrementalClassificationNaiveBayes
.
该表包含显著的模型选项和数据特征。
模型类型 | 模型选项和数据属性 | 描述 |
---|---|---|
线性分类或回归 | “β” |
作为增量拟合的初始值的线性系数 |
“偏见” |
模型截距,也作为增量拟合的初始值 | |
“学习者” |
模型类型,如线性支持向量机或最小二乘 | |
朴素贝叶斯分类 | “成本” |
误分类代价矩阵 |
分类 | “类名” |
为了分类,期望的类名在观察标签中 |
该表包含显著的训练和求解器选项和属性。
模型类型 | 训练和求解器选项和属性 | 描述 |
---|---|---|
线性分类或回归 | “EstimationPeriod” |
Pretraining估计时间 |
“规划求解” |
目标函数优化算法 | |
“标准化” |
标志标准化预测器数据 | |
“λ” |
Ridge惩罚,一个需要调优SGD优化的模型超参数 | |
“BatchSize” |
小批量大小,一个SGD超参数 | |
“LearnRate” |
学习率,SGD超参数 | |
“亩” |
只读属性,包含预测变量的方法 | |
“σ” |
只读属性,包含预测变量标准差 | |
朴素贝叶斯分类 | “DistributionParameters” |
只读属性,包含学习到的分布参数。
|
对于线性分类和回归模型:
估计周期,由观测次数确定EstimationPeriod
,发生在训练开始前(见增量学习时期).在估计期间,采用增量拟合函数适合
或updateMetricsAndFit
计算未知训练所需的数量。例如,如果你设置“标准化”,真的
,增量学习函数需要预测器均值和标准差来标准化预测器数据。因此,增量模型需要一个正的估计周期(默认为1000
).
默认解算器是自适应比例不变解算器“扇区”
[2],超参数自由,对预测变量尺度不敏感;因此,不需要对预测数据进行标准化。你可以指定标准SGD或平均SGD,“sgd”
或“asgd”
.然而,SGD对预测变量的尺度非常敏感,需要超参数调整,这在增量学习中很难或不可能做到。如果您计划使用SGD求解器,请完成以下步骤:
获得带安全标签的数据。
传统上通过调用来训练线性分类或回归模型fitclinear
或fitrlinear
,分别。指定您计划用于增量学习的SGD求解器,交叉验证以确定一组合适的超参数,并标准化预测器数据。
使用指定的超参数集在整个样本上训练模型。
将结果模型转换为增量学习者使用incrementalLearner
.
性能评估属性和选项使您能够配置增量学习功能如何以及何时测量模型性能updateMetrics
或updateMetricsAndFit
.不管你选择什么选项,首先要熟悉增量学习时期.
该表包含所有性能评估选项和属性。
性能评估选项和属性 | 描述 |
---|---|
“指标” |
要增量度量的性能指标或损失函数的列表 |
“MetricsWarmupPeiod” |
增量模型在跟踪性能指标之前必须符合的观察数 |
“MetricsWindowSize” |
用于计算窗口性能指标的观察数 |
“IsWarm” |
只读属性,指示模型是否为热状态(度量性能指标) |
“指标” |
只读属性,包含跟踪的累积指标和窗口指标的表 |
指定的度量“指标”
属性中存储的名称-值表指标
模型的属性。例如,如果指定“指标”,(“Metric1”“Metric2”)
当您创建增量模型时Mdl
,指标
属性是
> > Mdl。Metrics ans = 2×2 table累积窗口__________ ______ Metric1 NaN NaN Metric2 NaN NaN
指定一个积极的度量热身期,当您认为模型是低质量的,需要在功能之前进行训练updateMetrics
或updateMetricsAndFit
跟踪性能指标指标
财产。在这种情况下IsWarm
属性是假
,必须将传入的数据和模型传递给增量拟合函数适合
或updateMetricsAndFit
.
当增量拟合函数处理足够的数据以满足估计(对于线性模型)和度量指标的预热期时IsWarm
房地产成为真正的
,您可以在传入数据上度量模型性能,并可选地训练模型。对于朴素贝叶斯分类模型,增量拟合函数必须额外地将模型拟合到所有期望的类中,才会变得温暖。
当模型变暖时,updateMetrics
或updateMetricsAndFit
累积地(从评估开始)跟踪所有指定的度量标准,并在指定的观察窗口内MetricsWindowSize
财产。累积指标反映了模型在整个渐进学习历史中的表现;绩效评估期1开始后,累计指标独立于评估期。窗口度量仅反映每个性能评估期间指定的窗口大小范围内的模型性能。
incrementalLearner
使您能够使用从传统训练的模型中学到的信息初始化增量模型。转换后的模型可以生成预测,它是温暖的,这意味着增量学习函数可以从数据流的一开始就测量模型的性能指标。换句话说,增量学习并不需要评估和性能指标的预热期。
要将传统训练的模型转换为增量学习器,请将模型和由名称-值参数指定的任何选项传递给incrementalLearner
.例如,下面的伪代码使用用于二进制分类的线性SVM模型从一批数据中学习到的所有信息初始化增量分类模型。
Mdl = fitcsvm (X, Y);IncrementalMdl = incrementalLearner (Mdl、名称、值);
IncrementalMdl
是与机器学习目标相关联的增量学习对象。
增量模型创建和初始化的简单性被降低的灵活性所抵消。软件假设拟合参数、超参数值和传统训练中学习到的数据特征适合增量学习。因此,在调用时无法设置相应的学习或调优选项incrementalLearner
.的重要只读属性IncrementalMdl
那incrementalLearner
转移Mdl
,或者函数从其他值推断。
模型类型 | 财产 | 描述 |
---|---|---|
所有 | NumPredictors |
预测变量数。对于伪代码分类预测变量的模型,NumPredictors 是元素个数(Mdl.ExpandedPredictorNames) ,增量学习中预期的预测变量与名称对应。有关详细信息,请参见虚拟变量. |
分类 | 一会 |
在渐进学习过程中,所有的班级标签都是需要的 |
之前 |
前类分布 | |
ScoreTransform |
用于分类分数的函数。例如,如果你配置一个支持向量机模型来计算后验类概率, |
|
回归 | ε |
对于支持向量机学习器来说,是不敏感频带宽度的一半 |
ResponseTransform |
用于预测响应的函数 | |
线性分类或回归 | β |
线性模型系数 |
偏见 |
模型的截距 | |
学习者 |
线性模型类型 | |
μ |
对于一个支持向量机模型对象,预测变量的均值 | |
σ |
对于一个支持向量机模型对象,预测器变量标准差 | |
朴素贝叶斯分类 | DistributionNames |
给定类的预测变量的条件分布,具有下列值之一:
如果你转换一个朴素的贝叶斯分类模型,其中至少包含一个具有核分布的预测器, |
DistributionParameters |
每一类条件预测器分布的拟合分布参数,a |
|
CategoricalPredictors |
分类预测指标的数值向量 | |
CategoricalLevels |
多元多项预测水平,一个细胞向量的长度NumPredictors |
请注意
的NumTrainingObservations
的属性IncrementalMdl
不包括训练时的观察结果吗Mdl
.
如果您指定“标准化”,真的
当你训练Mdl
,IncrementalMdl
默认情况下,配置为在增量学习期间标准化预测器。
当您转换线性分类或回归模型(ClassificationLinear
和RegressionLinear
分别为):
增量拟合函数仅支持脊(L2)正则化。金宝app
增量拟合函数只支持指定一个正则化值。金宝app因此,如果您在调用时指定正则化路径(正则化值的向量)fitclinear
或fitrlinear
,选择与一个惩罚相关的模型,将其传递给selectModels
.
如果你使用标准或平均SGD (“sgd”
或“asgd”
为“规划求解”
名称-值参数),这些条件在调用时应用incrementalLearner
:
incrementalLearner
传递用于优化的求解器Mdl
来IncrementalMdl
.
您可以指定自适应比例不变求解器“扇区”
但您不能指定不同的SGD求解器。
如果您没有指定自适应比例不变求解器,incrementalLearner
将模型和求解器超参数值传递到增量模型对象,如学习率LearnRate
mini-batch大小BatchSize
,和岭罚λ
.您不能修改传输的属性。
如果您在创建增量模型时需要更多的灵活性,您可以这样做直接调用对象并通过使用名称-值参数单独设置学到的信息来初始化模型。下面的伪代码显示了两个示例:
通过拟合用于二值分类的线性支持向量机模型,将学习到的系数和类名初始化为增量分类模型Xc
和Yc
.
通过将线性模型拟合到一批数据中,将学习到的系数初始化为增量回归模型Xr
和年
.
%线性分类Mdl = fitcsvm (Xc、Yc);IncrementalMdl = incrementalClassificationLinear (“β”Mdl。β,...“偏见”Mdl。偏见,“类名”, Mdl.ClassNames);%线性回归Mdl = fitlm (Xr,年);偏见= Mdl.Coefficients.Estimate (1);β= Mdl.Coefficients.Estimate(2:结束);IncrementalMdl = incrementalRegressionLinear (“学习者”,“leastsquares”,...“偏见”偏见,“β”,β);
对于朴素贝叶斯分类模型,不能指定每个预测变量的条件概率分布参数DistributionParameters
;它们必须符合数据,通过适合
,updateMetricsAndFit
,或fitcnb