主要内容

增量学习概述

增量学习是什么?

增量学习,或在线学习是机器学习的一个分支,涉及到处理传入的数据从数据stream-continuously和实际time-possibly没有知识分布的预测变量、样本大小、方面的预测或目标函数(包括适当的调优参数值),并观察是否有标签。

增量学习算法灵活、高效和适应。以下特征区分增量学习和传统的机器学习:

  • 增量模型适合数据快速有效地,这意味着它可以适应,实时(或变化在数据分布)。

  • 因为观察标签可以失踪时,相应的预测数据是可用的,该算法必须能够生成预测模型的最新版本,并推迟培训模型。

  • 信息可能是知之甚少的人口增量学习开始之前。因此,该算法可以与运行冷启动。例如,对于分类问题,类名可能不知道,直到模型过程的观察。当足够的信息是已知的学习开始之前(例如,你有良好的线性模型的估计系数),您可以指定为模型提供此类信息温暖的开始

  • 因为观测可以抵达一个流,样本量可能未知的和可能很大,这使得数据存储效率低下或不可能的。因此,该算法必须过程观测系统在可用时丢弃它们。这种增量学习的特点使得hyperparameter调谐困难或不可能的。

在传统的机器学习中,一批标签数据可用来执行交叉验证来估计泛化误差和调优hyperparameters,推断预测变量分布和适应模型。然而,由此产生的模型必须从一开始就接受再培训,如果底层分布漂移或降解的模型。尽管执行交叉验证来优化hyperparameters在增量学习环境是困难的,增量学习方法是灵活的,因为它们可以适应分布实时漂移,与预测精度接近传统的训练模型作为模型火车更多的数据。

假设一个增量式模型准备生成预测,其预测性能测量。给定的输入块的观测,增量学习计划过程实时数据在下列方面,但通常在指定的顺序:

  1. 评估模型:跟踪模型的预测性能,当真正的标签,在传入的数据,在一个滑动窗口的观察,或在整个模型用于增量学习的历史。

  2. 检测漂移:检查结构性突变或分布漂移。例如,确定任何预测变量的分布是否足够改变。

  3. 火车模型:更新模型通过训练在传入的观察,当真正的标签是可用的或当前模型具有足够的退化。

  4. 生成预测从最新的模型:预测标签。

这个过程是一种特殊的增量学习的情况下,所有的块被视为测试(抵抗)集。过程被称为交叉test-then-trainprequential评价[1]

如果信息不足存在的增量式模型来生成预测,或者你不想跟踪模型的预测性能,因为它没有足够训练,您可以包括一个可选的初始步骤为hyperparameters找到适当的值,模型,支持一个(金宝app估计时间),或者最初的训练阶段之前模型评价(度量预热期)。

在增量学习问题的一个例子,考虑一个智能自动调温器,自动设置一个温度考虑到环境温度,相对湿度,每天的时间,和其他的测量,可以了解用户的室内温度的偏好。假设制造商准备设备通过嵌入一个已知的模型,该模型描述了一般人的喜好的测量。安装后,设备每分钟收集一次数据,并调整其预设温度。恒温器调整嵌入模型,或通过本身,基于用户与设备的行动或不行动都有关系。这个循环可以继续下去。如果温控器有限的磁盘空间来存储历史数据,它需要重新培训。如果厂家没有准备设备与一个已知的模型,通过设备本身。

增量学习MATLAB

统计和机器学习工具箱™功能使您能够实现增量学习分类或回归。像其他统计和机器学习工具箱机器学习功能,入口增量学习是一个渐进的学习对象,传递给函数的数据实现增量学习。与其他机器学习功能,数据不需要创建一个增量学习对象。然而,增量学习对象指定如何处理传入的数据,例如当以适应模型,测量性能指标,或执行这两个操作,除了模型的参数形式和问题特定的选项。

增量学习模型对象

此表包含可用的入口点增量学习模型对象和他们的支持机器学习目标,模型类型,需要在创建的任何信息。金宝app

模型对象 客观的 模型类型 必需的信息
incrementalClassificationLinear 二元分类 线性支持向量机和逻辑回归 没有一个
incrementalClassificationNaiveBayes 多类分类 正常的朴素贝叶斯、多项或多元多项式预测条件分布 最大数量的类将在所有预期的数据在增量学习或名称类
incrementalRegressionLinear 回归 线性 没有一个

增量学习模型对象指定的属性:

  • 数据特征,如预测变量的数量NumPredictors和他们的第一次和第二次的时刻。

  • 模型特征,例如,对于线性模型,学习者类型学习者,线性系数β,拦截偏见

  • 培训的选项,例如,对于线性模型,客观的解决者解算器和solver-specific hyperparameters岭等处罚λ标准和平均随机梯度下降法(SGD和ASGD)

  • 模型性能评估特征和选项,比如模型是否温暖IsWarm性能指标来跟踪指标和最新的值的性能指标

不像使用其他机器学习模型对象时,您可以创建模型通过直接调用对象并指定属性值使用名称-值参数的选择;您不需要创建一个数据模型。这个功能很方便当你有小的信息数据或模型在培训之前。根据您的规格,软件可以执行评估和度量热身时间,在此期间增量拟合函数推断数据特征,然后培训绩效评估模型。默认情况下,线性模型,软件使用自适应尺度不变的解算器解决了目标函数,而不需要调优,并对预测变量尺度[2]

或者,您可以将一个传统训练模型,模型通过使用incrementalLearner函数。可转换模型包括支持向量机(SVM)二元分类和回归,朴素金宝app贝叶斯分类、和线性回归模型。例如,incrementalLearner转换一个训练有素的线性分类模型的类型ClassificationLinear到一个incrementalClassificationLinear对象。默认情况下,软件认为转换模型为增量学习的各个方面做好准备(转换模型是温暖)。incrementalLearner携带数据特征(如类名),安装参数和选择增量学习的传统训练模式转换。例如:

  • 朴素贝叶斯分类,incrementalLearner携带所有类名的数据预计在增量学习,和安装条件预测分布的时刻(DistributionParameters)。

  • 对于线性模型,如果传统的客观解决SGD训练模型,incrementalLearner集SGD增量学习的能手。

增量学习功能

增量学习模型对象指定增量学习算法的各个方面,从训练和模型评估准备通过培训和评估模型。为了实现增量学习,您通过配置增量学习模型增量评价函数拟合函数或模型。统计和机器学习工具箱增量学习功能提供两个工作流非常适合prequential学习。为简单起见,下面的工作流描述假设模型准备评估模型的性能(换句话说,模型是温暖)。

  • 灵活的工作流——当一个数据块是可用的:

    1. 计算累积和窗口模型性能指标通过数据和当前的模型updateMetrics函数。数据被视为测试(抵抗)数据,因为模型尚未训练它。updateMetrics覆盖模型的性能与新值存储在模型中。对于线性模型,明白了updateMetrics朴素贝叶斯分类模型,明白了updateMetrics

    2. 可选检测分布漂移或模型是否已经退化。

    3. 火车模型通过传入的数据块和电流模型适合函数。的适合函数使用指定的解算器适合模型传入的数据块,并覆盖当前系数和偏见与新估计。对于线性模型,明白了适合朴素贝叶斯分类模型,明白了适合

    灵活的工作流使您能够执行自定义模型和数据质量评估,然后再决定是否训练模型。所有步骤是可选的,但是电话updateMetrics之前适合当你调用这两个函数的计划。

  • 简洁的工作流程——当一个数据块,供应的块和配置增量模型updateMetricsAndFit函数。updateMetricsAndFit调用updateMetrics立即紧随其后适合。简洁的工作流程使您能够实现增量学习prequential评价容易当你计划来跟踪模型性能和火车模型对所有传入的数据块。对于线性模型,明白了updateMetricsAndFit朴素贝叶斯分类模型,明白了updateMetricsAndFit

一旦你创建一个增量式模型对象和选择一个工作流,实现增量学习写一个循环:

  1. 阅读大量的观测数据流,当块是可用的。

  2. 实现灵活的或简洁的工作流。正确执行增量学习,覆盖输入模型输出模型。例如:

    %灵活的工作流Mdl = updateMetrics (Mdl, X, Y);%可选代码插入Mdl =适合(Mdl, X, Y);%简洁的工作流Mdl = updateMetricsAndFit (Mdl, X, Y);
    模型跟踪以来传入的数据逐步使用性能指标测量的开始训练(累积)和连续观测的指定窗口(窗口)。然而,您可以选择计算模型损失传入的块,然后通过传入的块和电流模型损失函数。损失返回标量损失;它不调整模型。对于线性模型,明白了损失朴素贝叶斯分类模型,明白了损失

    模型配置确定火车或增量学习功能评估模型的性能在每个迭代。配置可以改变函数过程数据。更多细节,请参阅增量学习时期

  3. (可选):

    • 生成预测通过块和最新的模型预测。对于线性模型,明白了预测朴素贝叶斯分类模型,明白了预测

    • 如果模型是适合的数据,计算出resubstitution损失通过块和最新的模型损失

    • 朴素贝叶斯分类模型,logp功能使您能够实时检测异常值。函数返回的日志无条件概率密度预测变量在每个块的观察。

增量学习时期

鉴于传入的数据块,增量学习函数执行的操作取决于模型的当前配置或状态。这图显示了时间(连续观察组)在增量学习函数执行特定的操作。

数轴上显示的时间增量学习函数执行某些操作

此表描述了每个时期行动由增量学习功能。

相关的模型属性 大小(观察) 行动
估计 EstimationPeriod,只适用于线性分类和回归模型

n1

在需要时,拟合函数选择基于估计hyperparameters段观测值。操作包括以下几点:

  • 估计预测时刻μσ数据标准化。

  • 调整学习速率LearnRate为解决SGD根据学习速率的时间表LearnRateSchedule

  • 支持向量机回归估计参数εε

  • 存储信息估计所需的缓冲区。

  • 更新对应属性的最后时期。

度量热身 MetricsWarmupPeriod

n2- - - - - -n1

当房地产IsWarm拟合函数执行以下动作:

  • 符合模型传入的数据块。

  • 更新相应的模型属性,如βDistributionParameters后,拟合模型。

  • 结束时,模型是温暖的IsWarm房地产成为真正的)。

绩效评估j 指标MetricsWindowSize
  • 在评估期间的表现1、函数开始累积累积和窗口窗口指标。窗口是一个向量的在这个时期。

  • 功能覆盖累积在每个迭代与更新的累积度量指标。在每个绩效评估期间,函数计算和覆盖窗口基于过去的指标观察。

  • 函数存储信息计算模型所需的缓冲性能。

引用

[1]Bifet,阿尔伯特·里卡德Gavalda,杰弗里·霍姆斯和Bernhard Pfahringer。机器学习的数据流在农业部实例。剑桥,麻州:麻省理工学院出版社,2007年。

[2]Kempka、MichałWojciech Kotłowski,曼弗雷德·k·Warmuth。“自适应尺度不变的在线学习算法的线性模型”。相关系数(2019年2月)。https://arxiv.org/abs/1902.07528

另请参阅

对象

相关的话题