主要内容

执行条件在增量学习培训

这个例子展示了如何训练朴素贝叶斯多类分类模型的增量学习只有当模型性能不理想。

灵活的增量学习工作流程使您训练增量模型传入批数据只有当培训(见是必要的增量学习是什么?)。例如,如果满意的模型的性能指标,然后,提高效率,你可以跳过培训传入的批次,直到指标成为令人不满意的。

加载数据

载入人类活动数据集。随机洗牌数据。

负载humanactivityn =元素个数(actid);rng (1)%的再现性idx = randsample (n, n);X =壮举(idx:);Y = actid (idx);

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

朴素贝叶斯分类模型进行训练

配置一个朴素贝叶斯分类模型的增量学习通过设置:

  • 预期的最大数量为5类

  • 误分类错误率的跟踪性能指标,包括最小成本

  • 指标窗口大小为1000

  • 度量预热期到50

initobs = 50;Mdl = incrementalClassificationNaiveBayes (“MaxNumClasses”5,“MetricsWindowSize”,1000,“指标”,“classiferror”,“MetricsWarmupPeriod”,initobs);

符合配置的模型前50的观察。

Mdl =适合(Mdl X (1: initobs,:), Y (1: initobs))
Mdl = incrementalClassificationNaiveBayes IsWarm: 1指标:[2 x2表]一会:(1 2 3 4 5)ScoreTransform:“没有一个”DistributionNames: {1} x60细胞DistributionParameters: {5} x60细胞属性,方法
haveTrainedAllClasses =元素个数(独特(Y (1: initobs))) = = 5
haveTrainedAllClasses =逻辑1

Mdl是一个incrementalClassificationNaiveBayes模型对象。模型是温暖(IsWarm1),因为所有下列条件:

  • 最初的训练数据包含所有预期的类(haveTrainedAllClasses真正的)。

  • Mdl适合Mdl.MetricsWarmupPeriod观察。

因此,模型准备生成预测,和增量学习功能测量模型中的性能指标。

执行增量学习和训练条件

假设你想训练模型只有在最近1000年观察误分类误差大于5%。

执行增量学习,有条件的培训,为每个迭代遵循这个过程:

  1. 模拟数据流处理一块100年的观察。

  2. 更新模型性能通过模型和当前块的数据updateMetrics。覆盖输入模型输出模型。

  3. 存储错误分类错误率的意思是第二等的预测 μ 21 看他们如何训练中发展。

  4. 符合模型的数据块只有当误分类错误率大于0.05。覆盖输入模型输出模型训练时发生。

  5. 跟踪时适合火车模型。

%预先配置numObsPerChunk = 100;地板nchunk = ((n - initobs) / numObsPerChunk);mu21 = 0 (nchunk, 1);ce = array2table (nan (nchunk, 2),“VariableNames”,(“累积”“窗口”]);训练= false (nchunk, 1);%增量式拟合j = 1: nchunk ibegin = min (n, numObsPerChunk * (j - 1) + 1 + initobs);iend = min (n, numObsPerChunk * j + initobs);idx = ibegin: iend;Mdl = updateMetrics (Mdl X (idx:), Y (idx));ce {j:} = Mdl.Metrics {“ClassificationError”,:};如果ce {j,“窗口”}> 0.05 Mdl =适合(Mdl X (idx:), Y (idx));训练(j) = true;结束mu21 (j) = Mdl.DistributionParameters {1}, (1);结束

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

模型的性能和 μ 21 进化在训练,放到单独的瓷砖。在模型的训练识别时间。

t = tiledlayout (2, 1);nexttile情节(mu21)情节(找到(训练),mu21(训练),“r”。)ylabel (“\ mu_ {21}”)传说(“\ mu_ {21}”,培训发生的,“位置”,“最佳”)举行nexttile情节(ce.Variables) ylabel (“误分类错误率”)传说(ce.Properties.VariableNames“位置”,“最佳”)包含(t)“迭代”)

图包含2轴对象。坐标轴对象1 ylabel \ mu_{21}包含2线类型的对象。一个或多个行显示的值只使用这些对象标记代表\ mu_{21},培训。坐标轴对象2 ylabel误分类错误率包含2线类型的对象。这些对象代表累积,窗口。

跟踪的情节 μ 21 显示时间的常量值,在此期间,先前的观察窗内的模型性能最多是0.05。

另请参阅

对象

功能

相关的话题