incrementalLearner
描述
返回一个朴素贝叶斯分类模型增量学习,IncrementalMdl
= incrementalLearner (Mdl
)IncrementalMdl
,使用传统的hyperparameters训练朴素贝叶斯分类模型Mdl
。因为它的属性值反映而获得的知识Mdl
,IncrementalMdl
可以预测标签给新观测,它是什么温暖的,这意味着其预测性能跟踪。
使用附加选项指定一个或多个名称参数。一些选项需要你火车IncrementalMdl
= incrementalLearner (Mdl
,名称,值
)IncrementalMdl
之前预测性能跟踪。例如,“MetricsWarmupPeriod”, 50岁,“MetricsWindowSize”, 100
指定了一个初步的增量训练时期的前50观测性能指标跟踪,并指定处理100年观测之前更新窗口性能指标。
例子
传统培训模式转换为增量学习
火车通过使用朴素贝叶斯模型fitcnb
,然后把它转换成一个增量学习。
加载和数据预处理
载入人类活动数据集。
负载humanactivity
细节的数据集,输入描述
在命令行中。
火车朴素贝叶斯模型
适合朴素贝叶斯分类模型对整个数据集。
TTMdl = fitcnb(壮举,actid);
TTMdl
是一个ClassificationNaiveBayes
模型对象代表了传统训练朴素贝叶斯分类模型。
转换训练模型
传统训练朴素贝叶斯分类模型转换为一个适合增量学习。
IncrementalMdl = incrementalLearner (TTMdl)
IncrementalMdl = incrementalClassificationNaiveBayes IsWarm: 1指标:[1 x2表]一会:(1 2 3 4 5)ScoreTransform:“没有一个”DistributionNames: {1} x60细胞DistributionParameters: {5} x60细胞属性,方法
IncrementalMdl
是一个incrementalClassificationNaiveBayes
使用朴素贝叶斯分类模型对象准备增量学习。
的
incrementalLearner
函数初始化增量学习者通过学习条件预测分布参数,以及其他信息TTMdl
从训练数据提取出来的。IncrementalMdl
是温暖的IsWarm
是1
),这意味着增量学习函数可以跟踪性能指标和作出预测。
预测的反应
增量学习者从转换创建一个传统训练模型可以生成预测没有进一步处理。
预测分类评分(类的后验概率)观测使用这两种模型。
[~,ttscores] =预测(TTMdl壮举);[~,简称ilcor] =预测(IncrementalMdl壮举);compareScores =规范(ttscores -简称ilcor)
compareScores = 0
之间的差异模型产生的分数是0。
配置性能指标选项
使用一个训练有素的朴素贝叶斯模型初始化增量学习。准备学习者通过指定一个增量指标预热期,在此期间updateMetricsAndFit
功能只适合模型。指定一个指标500观察的窗口大小。
载入人类活动数据集。
负载humanactivity
细节的数据集,输入描述
在命令行
随机把数据分成两半:上半年培训模式传统,下半年的增量学习。
n =元素个数(actid);rng (1)%的再现性本量利= cvpartition (n,“坚持”,0.5);idxtt =培训(cvp);idxil =测试(cvp);%上半年的数据Xtt =壮举(idxtt:);Ytt = actid (idxtt);%下半年的数据自=壮举(idxil:);Yil = actid (idxil);
朴素贝叶斯模型适合上半年的数据。假设您想加倍处罚分类器时,错误地分类类2。
C =的眼睛(5)- (5);C (2, 1 3 4 5) = 2;Ytt TTMdl = fitcnb (Xtt,“成本”C);
传统训练朴素贝叶斯模型转换为一个朴素贝叶斯分类模型的增量学习。指定以下:
一个性能指标预热期2000年的观察。
一个指标500观察的窗口大小。
使用分类误差和最小的成本来衡量模型的性能。你不需要指定
“mincost”
为指标
因为incrementalClassificationNaiveBayes
一直跟踪这个指标。
IncrementalMdl = incrementalLearner (TTMdl,“MetricsWarmupPeriod”,2000,“MetricsWindowSize”,500,…“指标”,“classiferror”);
下半年适合增量模型使用的数据updateMetricsAndFit
函数。在每一次迭代:
模拟数据流处理20观测一次。
覆盖前面的增量式模型与一个新安装的观察。
商店内的第二个预测均值头等舱 、累积度量和窗口指标增量学习期间看到他们如何演变。
%预先配置nil =元素个数(Yil);numObsPerChunk = 20;nchunk =装天花板(nil / numObsPerChunk);ce = array2table (0 (nchunk, 2),“VariableNames”,(“累积”“窗口”]);(nchunk mc = array2table (0, 2),“VariableNames”,(“累积”“窗口”]);mu12 = [IncrementalMdl.DistributionParameters {1,2} (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”,:};mc {j:} = IncrementalMdl.Metrics {“MinimalCost”,:};mu12 (j + 1) = IncrementalMdl.DistributionParameters {1,2} (1);结束
IncrementalMdl
是一个incrementalClassificationNaiveBayes
模型对象培训中的所有数据流。在增量学习模型是热身之后,updateMetricsAndFit
检查模型的性能的观察,然后符合观测模型。
性能指标和 进化在训练,放到单独的瓷砖。
t = tiledlayout (3,1);nexttile情节(mu12) ylabel (“\ mu_ {12}”)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 =情节(mc.Variables);xlim ([0 nchunk]);ylabel (“最小成本”)参照线(IncrementalMdl.MetricsWarmupPeriod / numObsPerChunk,r -。);传奇(h, mc.Properties.VariableNames“位置”,“西北”)包含(t)“迭代”)
故事情节表明updateMetricsAndFit
执行以下操作:
适合 在增量学习迭代。
计算后的性能指标度量预热期(红色垂直线)。
在每一次迭代计算累积度量。
计算窗口指标500年处理后观察迭代(25)。
因为数据是活动,下令均值和性能指标定期突然改变。
输入参数
Mdl
- - - - - -传统的多级分类训练朴素贝叶斯模型
ClassificationNaiveBayes
模型对象
传统训练朴素贝叶斯模型多级分类,指定为一个ClassificationNaiveBayes
模型对象返回的fitcnb
。每个预测变量的条件分布,存储在Mdl.DistributionNames
不能一个内核分布。
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:“指标”,“classiferror”“mincost”,“MetricsWindowSize”, 100年
指定跟踪误分类率和最小成本,并指定处理100年观测之前更新窗口性能指标。
指标
- - - - - -在增量学习模型性能指标来跟踪
“mincost”
(默认)|“classiferror”
|“枢纽”
|“分对数”
|字符串向量|函数处理|结构数组|……
模型性能指标来跟踪在增量学习的updateMetrics
或updateMetricsAndFit
函数,指定为一个内置的损失函数的名字,名字,函数的字符串向量处理(例如,@metricName
)、结构的功能处理或细胞向量的名字,函数处理,或结构数组。
下表列出了内置的损失函数的名字。您可以指定多个通过使用一个字符串向量。
的名字 | 描述 |
---|---|
“binodeviance” |
二项异常 |
“classiferror” |
分类错误 |
“指数” |
指数 |
“枢纽” |
铰链 |
“分对数” |
物流 |
“mincost” |
最小的预期的误分类代价(后验概率的分类评分) |
“二次” |
二次 |
内置的损失函数的更多细节,请参阅损失
。
例子:“指标”,(“classiferror”“mincost”)
指定一个自定义函数,返回一个性能指标,使用函数处理符号。函数必须有这种形式。
度量= customMetric (C、S、成本)
输出参数
度规
是一个n1数字向量,其中每个元素是损失相应的观测数据处理的增量学习函数在一个学习周期。你选择函数名(这里,
customMetric
)。C
是一个n——- - - - - -K逻辑矩阵行指示类对应的观测所属,K类的数量。列顺序对应于类秩序一会
财产。创建C
通过设置C (
=p
,问
)1
,如果观察
是在课堂上p
指定的数据,对于每一个观察。设置行中的其他元素问
来p
0
。年代
是一个n——- - - - - -K数字矩阵的预测分类的分数。年代
类似于分数
的输出预测
,行对应于观测数据和列顺序对应于类秩序一会
财产。S (
分类的观察吗p
,问
)
在课堂上被分类p
。问
成本
是一个K——- - - - - -K数字矩阵的误分类代价。看到“成本”
名称-值参数。
指定多个自定义指标和分配自定义名称,使用结构数组。指定一个内置的和自定义指标的组合,使用细胞向量。
例子:“指标”,结构(‘Metric2’,‘Metric1’, @customMetric1 @customMetric2)
例子:“指标”,{@customMetric1 @customMetric2分对数的结构(Metric3, @customMetric3)}
updateMetrics
和updateMetricsAndFit
在属性存储表中指定的度量IncrementalMdl.Metrics
。的数据类型指标
决定了行表的名称。
“指标” 值数据类型 |
的描述指标 属性行名称 |
例子 |
---|---|---|
字符串或字符向量 | 相应的内置的度量 | 行名称“classiferror” 是“ClassificationError” |
结构数组 | 字段名 | 行名称结构(Metric1, @customMetric1) 是“Metric1” |
函数句柄函数存储在程序文件中 | 函数的名字 | 行名称@customMetric 是“customMetric” |
匿名函数 | CustomMetric_ ,在那里 是度量 在指标 |
行名称@ (C、S、成本)customMetric (C、S、成本)… 是CustomMetric_1 |
性能指标选择的更多细节,请参阅性能指标。
数据类型:字符
|字符串
|结构体
|细胞
|function_handle
MetricsWarmupPeriod
- - - - - -数量的观测符合之前跟踪性能指标
0
(默认)|非负整数
数量的观察增量式模型之前必须适合其跟踪性能指标指标
属性,指定为一个非负整数。增量模型是适合温暖的增量后拟合函数MetricsWarmupPeriod
观察到增量模型。
性能指标选择的更多细节,请参阅性能指标。
例子:“MetricsWarmupPeriod”, 50岁
数据类型:单
|双
MetricsWindowSize
- - - - - -数量的观察使用性能指标计算窗口
200年
(默认)|正整数
输出参数
IncrementalMdl
——朴素贝叶斯分类的增量学习
incrementalClassificationNaiveBayes
模型对象
朴素贝叶斯分类模型的增量学习,作为一个返回incrementalClassificationNaiveBayes
模型对象。IncrementalMdl
也配置为生成了新的预测数据(看到了吗预测
)。
incrementalLearner
初始化IncrementalMdl
增量学习使用的模型信息Mdl
。下面的表显示了Mdl
属性,incrementalLearner
通过相应的属性IncrementalMdl
。所需的函数也使用其他模型属性初始化IncrementalMdl
,如Y
(类标签)W
(观察权重)。
财产 | 描述 |
---|---|
CategoricalLevels |
多元多项式预测水平,与长度等于单元阵列 |
CategoricalPredictors |
分类预测指标,一个向量的正整数 |
一会 |
类标签二进制分类、名称的列表 |
成本 |
误分类代价,一个数字矩阵 |
DistributionNames |
条件分布的预测变量的名字,一个单元,每个单元格包含数组“正常” 或“mvmn” ,或者是价值“锰” |
DistributionParameters |
参数值的条件分布的预测变量,一个细胞数组长度2数值向量(详情,请参阅DistributionParameters ) |
NumPredictors |
数量的预测,一个正整数 |
之前 |
前类标签分布,数值向量 |
ScoreTransform |
分数转换函数,函数名或函数句柄 |
更多关于
算法
性能指标
的
updateMetrics
和updateMetricsAndFit
函数跟踪模型性能指标(指标
)新数据只有当增量模型温暖的(IsWarm
属性是真正的
)。如果你创建一个增量式模型使用
incrementalLearner
和MetricsWarmupPeriod
是0(默认incrementalLearner
),模型是温暖的在创建。否则,增量模型后变得温暖
适合
或updateMetricsAndFit
执行这两种操作:增量模型
MetricsWarmupPeriod
观察,这是度量预热期。适合所有预期的增量式模型类(请参阅
MaxNumClasses
和一会
参数的incrementalClassificationNaiveBayes
)。
的
指标
增量模型的属性存储两种形式的各性能指标作为一个表的变量(列),累积
和窗口
行,个别指标。当增量模型是温暖的,updateMetrics
和updateMetricsAndFit
更新后频率的指标:累积
——函数计算累积度量模型以来的跟踪性能。更新指标的函数每次调用函数和基地提供的计算对整个数据集。窗口
——函数计算基于一个窗口内的所有观测指标决定的MetricsWindowSize
名称-值参数。MetricsWindowSize
也决定了软件更新的频率窗口
指标。例如,如果MetricsWindowSize
是20,函数计算指标根据过去的20的观察提供的数据(X((结束- 20 + 1):,:)
和Y((- 20 + 1)结束:结束)
)。增量跟踪性能指标的函数在一个窗口中使用以下过程:
存储一个缓冲区的长度
MetricsWindowSize
为每个指定的度量,并存储一个缓冲区的观察权重。填充的元素指标基于批次缓冲与模型性能的观察,并存储相应的权重观察权重缓冲区。
当缓冲区满了,覆盖
Mdl.Metrics.Window
窗口的加权平均性能指标。如果缓冲区满溢,当函数处理一批观察,最新的传入MetricsWindowSize
观察输入缓冲区,和最早的观察从缓冲区中删除。例如,假设MetricsWindowSize
是20,缓冲区的指标有10个值从一个以前批处理,和15值传入的。组成20窗口长度的函数使用15传入的观察和测量的最新5测量前一批。
省略了一个观察的软件
南
分数计算时累积
和窗口
性能度量值。
版本历史
介绍了R2021a
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。