主要内容gydF4y2Ba

预测gydF4y2Ba

利用多类纠错输出码(ECOC)模型对观测数据进行分类gydF4y2Ba

描述gydF4y2Ba

例子gydF4y2Ba

标签gydF4y2Ba=预测(gydF4y2BaMdlgydF4y2Ba,gydF4y2BaXgydF4y2Ba)gydF4y2Ba返回预测类标签的向量(gydF4y2Ba标签gydF4y2Ba)为表格或矩阵中的预测器数据gydF4y2BaXgydF4y2Ba,基于训练好的多类纠错输出码(ECOC)模型gydF4y2BaMdlgydF4y2Ba.训练出来的ECOC模型可以是完整的,也可以是紧凑的。gydF4y2Ba

例子gydF4y2Ba

标签gydF4y2Ba=预测(gydF4y2BaMdlgydF4y2Ba,gydF4y2BaXgydF4y2Ba,gydF4y2Ba名称,值gydF4y2Ba)gydF4y2Ba使用由一个或多个名-值对参数指定的其他选项。例如,可以指定后验概率估计方法、解码方案和详细级别。gydF4y2Ba

例子gydF4y2Ba

[gydF4y2Ba标签gydF4y2Ba,gydF4y2BaNegLossgydF4y2Ba,gydF4y2BaPBScoregydF4y2Ba预测,预测gydF4y2Ba___gydF4y2Ba)gydF4y2Ba使用前面语法中的任何输入参数组合,并额外返回:gydF4y2Ba

  • 一个负平均值的数组gydF4y2Ba二进制的损失gydF4y2Ba(gydF4y2BaNegLossgydF4y2Ba).对于每一个观察gydF4y2BaXgydF4y2Ba,gydF4y2Ba预测gydF4y2Ba为产生最大的负平均二进制损失(或等效地,最小的平均二进制损失)的类分配标签。gydF4y2Ba

  • 一组积极的班级成绩(gydF4y2BaPBScoregydF4y2Ba)表示每个二元学习器所分类的观察值。gydF4y2Ba

例子gydF4y2Ba

[gydF4y2Ba标签gydF4y2Ba,gydF4y2BaNegLossgydF4y2Ba,gydF4y2BaPBScoregydF4y2Ba,gydF4y2Ba后gydF4y2Ba预测,预测gydF4y2Ba___gydF4y2Ba)gydF4y2Ba另外返回观测值的后验类概率估计值(gydF4y2Ba后gydF4y2Ba).gydF4y2Ba

要获得后验类概率,必须设置gydF4y2Ba“FitPosterior”,真的gydF4y2Ba训练ECOC模型时使用gydF4y2BafitcecocgydF4y2Ba.否则,gydF4y2Ba预测gydF4y2Ba抛出错误。gydF4y2Ba

例子gydF4y2Ba

全部折叠gydF4y2Ba

加载费雪的虹膜数据集。指定预测器数据gydF4y2BaXgydF4y2Ba,响应数据gydF4y2BaYgydF4y2Ba的课程顺序gydF4y2BaYgydF4y2Ba.gydF4y2Ba

负载gydF4y2BafisheririsgydF4y2BaX = meas;Y =分类(物种);classOrder =唯一的(Y);rng (1);gydF4y2Ba%用于再现性gydF4y2Ba

使用支持向量机二进制分类器训练ECOC模型。指定30%的保留样本,使用SVM模板标准化预测因子,并指定类顺序。gydF4y2Ba

t = templateSVM(gydF4y2Ba“标准化”gydF4y2Ba,真正的);PMdl = fitcecoc(X,Y,gydF4y2Ba“坚持”gydF4y2Ba, 0.30,gydF4y2Ba“学习者”gydF4y2BatgydF4y2Ba“类名”gydF4y2Ba, classOrder);Mdl = pmdl .训练{1};gydF4y2Ba%提取训练,紧凑的分类器gydF4y2Ba

PMdlgydF4y2Ba是一个gydF4y2BaClassificationPartitionedECOCgydF4y2Ba模型。它有这样的属性gydF4y2Ba训练有素的gydF4y2Ba的1 × 1单元格数组gydF4y2BaCompactClassificationECOCgydF4y2Ba软件使用训练集训练的模型。gydF4y2Ba

预测测试样本标签。打印真实标签和预测标签的随机子集。gydF4y2Ba

testInds = test(PMdl.Partition);gydF4y2Ba提取测试指标gydF4y2BaXTest = X(testInds,:);YTest = Y(testInds,:);标签=预测(Mdl,XTest);idx = randsample(sum(testInds),10);表(欧美(idx),标签(idx),gydF4y2Ba...gydF4y2Ba“VariableNames”gydF4y2Ba, {gydF4y2Ba“TrueLabels”gydF4y2Ba,gydF4y2Ba“PredictedLabels”gydF4y2Ba})gydF4y2Ba
ans =gydF4y2Ba10×2表gydF4y2BaTrueLabels PredictedLabels __________ _______________集色集色维珍集色集色维珍维珍集色集色维珍维珍集色集色维珍维珍集色集色集色gydF4y2Ba

MdlgydF4y2Ba正确地标记除一个测试样本观测值外的所有观测值gydF4y2BaidxgydF4y2Ba.gydF4y2Ba

加载费雪的虹膜数据集。指定预测器数据gydF4y2BaXgydF4y2Ba,响应数据gydF4y2BaYgydF4y2Ba的课程顺序gydF4y2BaYgydF4y2Ba.gydF4y2Ba

负载gydF4y2BafisheririsgydF4y2BaX = meas;Y =分类(物种);classOrder =唯一的(Y);gydF4y2Ba%等级订单gydF4y2Barng (1);gydF4y2Ba%用于再现性gydF4y2Ba

使用SVM二元分类器训练ECOC模型,并指定30%的保留样本。使用SVM模板标准化预测器,并指定类顺序。gydF4y2Ba

t = templateSVM(gydF4y2Ba“标准化”gydF4y2Ba,真正的);PMdl = fitcecoc(X,Y,gydF4y2Ba“坚持”gydF4y2Ba, 0.30,gydF4y2Ba“学习者”gydF4y2BatgydF4y2Ba“类名”gydF4y2Ba, classOrder);Mdl = pmdl .训练{1};gydF4y2Ba%提取训练,紧凑的分类器gydF4y2Ba

PMdlgydF4y2Ba是一个gydF4y2BaClassificationPartitionedECOCgydF4y2Ba模型。它有这样的属性gydF4y2Ba训练有素的gydF4y2Ba的1 × 1单元格数组gydF4y2BaCompactClassificationECOCgydF4y2Ba软件使用训练集训练的模型。gydF4y2Ba

支持向量机分数用符号表示从观测到决策边界的距离。因此,gydF4y2Ba (gydF4y2Ba -gydF4y2Ba ∞gydF4y2Ba ,gydF4y2Ba ∞gydF4y2Ba )gydF4y2Ba 是定义域。创建一个自定义的二进制损失函数,执行以下操作:gydF4y2Ba

  • 绘制编码设计矩阵(gydF4y2Ba米gydF4y2Ba)和正向分类分数(gydF4y2Ba年代gydF4y2Ba)对于每个学习器,到每个观察的二进制损失。gydF4y2Ba

  • 使用线性损耗。gydF4y2Ba

  • 使用中值聚合二元学习器损失。gydF4y2Ba

您可以为二进制损失函数创建一个单独的函数,然后将其保存在MATLAB®路径上。或者,您可以指定一个匿名二进制损失函数。在本例中,创建一个函数句柄(gydF4y2BacustomBLgydF4y2Ba)转换为匿名二进制损失函数。gydF4y2Ba

customBL = @(M,s) median(1 - bsxfun(@times,M,s),2,gydF4y2Ba“omitnan”gydF4y2Ba) / 2;gydF4y2Ba

预测测试样本标签并估计每个类的中位数二进制损失。打印10个随机测试样本观测值的每个类的负二进制损失中位数。gydF4y2Ba

testInds = test(PMdl.Partition);gydF4y2Ba提取测试指标gydF4y2BaXTest = X(testInds,:);YTest = Y(testInds,:);[label,NegLoss] = predict(Mdl,XTest,gydF4y2Ba“BinaryLoss”gydF4y2Ba, customBL);idx = randsample(sum(testInds),10);classOrdergydF4y2Ba
classOrder =gydF4y2Ba3 x1分类gydF4y2Ba锦绣花gydF4y2Ba
表(欧美(idx),标签(idx) NegLoss (idx:)gydF4y2Ba“VariableNames”gydF4y2Ba,gydF4y2Ba...gydF4y2Ba{gydF4y2Ba“TrueLabel”gydF4y2Ba,gydF4y2Ba“PredictedLabel”gydF4y2Ba,gydF4y2Ba“NegLoss”gydF4y2Ba})gydF4y2Ba
ans =gydF4y2Ba10×3表gydF4y2BaTrueLabel PredictedLabel NegLoss ________________________ __________________________________ settosa vericolor 0.18569 1.989 -3.6747 vericolor维珍-1.3316 -0.12346 -0.044933 vertosa vericolor 0.13897 1.9274 -3.5664维珍-1.5133 -0.38288 0.39616 vertosa vericolor 0.87209 0.74813 -1.376 vertosa vericolor 0.4838 1.9987 -3.9825维珍-1.9363 -0.67586 1.1122维珍-1.5789 -0.8337 0.91265 vertosa vericor 0.50999 -4.1323 setosa vericor0.36117 2.0608 -3.922

列的顺序对应于的元素gydF4y2BaclassOrdergydF4y2Ba.软件根据最大负损失预测标签。结果表明,线性损耗的中值可能不如其他损耗的性能好。gydF4y2Ba

使用支持向量机二元学习器训练ECOC分类器。首先预测训练样本标签和类后验概率。然后预测网格中每个点的最大类后验概率。可视化结果。gydF4y2Ba

加载费雪的虹膜数据集。指定花瓣尺寸作为预测器,指定物种名称作为响应。gydF4y2Ba

负载gydF4y2BafisheririsgydF4y2BaX = meas(:,3:4);Y =物种;rng (1);gydF4y2Ba%用于再现性gydF4y2Ba

创建SVM模板。标准化预测器,并指定高斯核。gydF4y2Ba

t = templateSVM(gydF4y2Ba“标准化”gydF4y2Ba,真的,gydF4y2Ba“KernelFunction”gydF4y2Ba,gydF4y2Ba“高斯”gydF4y2Ba);gydF4y2Ba

tgydF4y2Ba为支持向量机模板。它的大部分属性都是空的。当软件训练ECOC分类器时,它将适用的属性设置为默认值。gydF4y2Ba

使用SVM模板训练ECOC分类器。将分类分数转换为类后验概率(由gydF4y2Ba预测gydF4y2Ba或gydF4y2BaresubPredictgydF4y2Ba)使用gydF4y2Ba“FitPosterior”gydF4y2Ba名称-值对参数。类指定类顺序gydF4y2Ba“类名”gydF4y2Ba名称-值对参数。控件在培训期间显示诊断消息gydF4y2Ba“详细”gydF4y2Ba名称-值对参数。gydF4y2Ba

Mdl = fitcecoc(X,Y,gydF4y2Ba“学习者”gydF4y2BatgydF4y2Ba“FitPosterior”gydF4y2Ba,真的,gydF4y2Ba...gydF4y2Ba“类名”gydF4y2Ba, {gydF4y2Ba“setosa”gydF4y2Ba,gydF4y2Ba“多色的”gydF4y2Ba,gydF4y2Ba“virginica”gydF4y2Ba},gydF4y2Ba...gydF4y2Ba“详细”gydF4y2Ba2);gydF4y2Ba
用50个消极和50个积极的观察来训练二元学习者1 (SVM)。负类指标:2正类指标:1拟合学习者1的后验概率(SVM)。用50个消极和50个积极的观察来训练二元学习者2 (SVM)。负类指标:3正类指标:1拟合学习者2的后验概率(SVM)。用50个消极和50个积极的观察来训练二元学习者3 (SVM)。负类指标:3正类指标:2拟合学习者3的后验概率(SVM)。gydF4y2Ba

MdlgydF4y2Ba是一个gydF4y2BaClassificationECOCgydF4y2Ba模型。相同的SVM模板适用于每个二元学习器,但是您可以通过传入模板的单元格向量来调整每个二元学习器的选项。gydF4y2Ba

预测训练样本标签和类后验概率。方法在计算标签和类后验概率期间显示诊断消息gydF4y2Ba“详细”gydF4y2Ba名称-值对参数。gydF4y2Ba

[label,~,~,Posterior] = resubPredict(Mdl,gydF4y2Ba“详细”gydF4y2Ba1);gydF4y2Ba
所有学习者的预测都经过计算。已计算了所有观测值的损失。计算后验概率……gydF4y2Ba
Mdl。B我naryLoss
Ans = '二次元'gydF4y2Ba

该软件将观测值分配给产生最小平均二进制损失的类。因为所有二元学习器都在计算后验概率,所以二元损失函数为gydF4y2Ba二次gydF4y2Ba.gydF4y2Ba

显示一组随机结果。gydF4y2Ba

idx = randsample(size(X,1),10,1);Mdl。一会gydF4y2Ba
ans =gydF4y2Ba3 x1细胞gydF4y2Ba{'setosa'} {'versicolor'} {'virginica'}gydF4y2Ba
表(Y (idx)、标签(idx)、后(idx:)gydF4y2Ba...gydF4y2Ba“VariableNames”gydF4y2Ba, {gydF4y2Ba“TrueLabel”gydF4y2Ba,gydF4y2Ba“PredLabel”gydF4y2Ba,gydF4y2Ba“后”gydF4y2Ba})gydF4y2Ba
ans =gydF4y2Ba10×3表gydF4y2BaTrueLabel PredLabel后路____________________________ ______________________________________ {'virginica'} {'virginica'} 0.0039322 0.003987 0.99208 {'virginica'} 0.017067 0.018263 0.96467 {'virginica'} 0.014948 0.015856 0.9692 {' vericolor '} {' vericolor '} 0.02197e -14 0.87318 0.12682 {' settosa '} {' settosa '} 0.999 0.00025092 0.00074638 {'versicolor'} 2.2195e-14 0.05943 0.94057 {'versicolor'} {'versicolor'} 2.2194e-14 0.97001 0.029985 {' settosa '}} {'setosa' } 0.999 0.00024991 0.0007474 {'versicolor'} {'versicolor'} 0.0085642 0.98259 0.0088487 {'setosa' } {'setosa' } 0.999 0.00025013 0.00074717

的列gydF4y2Ba后gydF4y2Ba对应的类顺序gydF4y2BaMdl。一会gydF4y2Ba.gydF4y2Ba

在观察到的预测器空间中定义一个值网格。预测网格中每个实例的后验概率。gydF4y2Ba

xMax = max(X);xMin = min(X);x1Pts = linspace(xMin(1),xMax(1));x2Pts = linspace(xMin(2),xMax(2));[x1Grid,x2Grid] = meshgrid(x1Pts,x2Pts);[~, ~, ~, PosteriorRegion] =预测(Mdl, [x1Grid (:), x2Grid (:)));gydF4y2Ba

对于网格上的每个坐标,绘制所有类之间的最大类后验概率。gydF4y2Ba

contourf (x1Grid x2Grid,gydF4y2Ba...gydF4y2Ba重塑(max (PosteriorRegion[], 2),大小(x1Grid, 1),大小(x1Grid, 2)));H = colorbar;h.YLabel.String =gydF4y2Ba最大后验的gydF4y2Ba;h.YLabel.FontSize = 15;持有gydF4y2Ba在gydF4y2Bagh = gscatter(X(:,1),X(:,2),Y,gydF4y2Ba“krk”gydF4y2Ba,gydF4y2Ba‘* xd‘gydF4y2Ba8);gh(2)。l我neWidth = 2; gh(3).LineWidth = 2; title(“虹膜花瓣测量和最大后部”gydF4y2Ba)包含(gydF4y2Ba“花瓣长度(厘米)”gydF4y2Ba) ylabel (gydF4y2Ba“花瓣宽度(厘米)”gydF4y2Ba)轴gydF4y2Ba紧gydF4y2Ba传奇(gh,gydF4y2Ba“位置”gydF4y2Ba,gydF4y2Ba“西北”gydF4y2Ba)举行gydF4y2Ba从gydF4y2Ba

图中包含一个轴。标题为“虹膜花瓣测量”和“最大后验”的轴包含4个对象的类型轮廓线、线条。这些物品代表了setosa, versicolica, virgica。gydF4y2Ba

训练一个多类ECOC模型,并使用并行计算估计后验概率。gydF4y2Ba

加载gydF4y2Ba心律失常gydF4y2Ba数据集。检查响应数据gydF4y2BaYgydF4y2Ba,并确定类的数量。gydF4y2Ba

负载gydF4y2Ba心律失常gydF4y2BaY =分类(Y);汇总(Y)gydF4y2Ba
数值计数百分比1 245 54.20% 2 44 9.73% 3 15 3.32% 4 15 3.32% 5 13 2.88% 6 25 5.53% 73 0.66% 8 2 0.44% 99 1.99% 10 50 11.06% 14 4 0.88% 15 5 1.11% 16 22 4.87%gydF4y2Ba
K =数字(唯一的(Y));gydF4y2Ba

有几个类别没有在数据中表示,许多其他类别的相对频率较低。gydF4y2Ba

指定一个集成学习模板,使用GentleBoost方法和50个弱分类树学习器。gydF4y2Ba

t = templateEnsemble(gydF4y2Ba“GentleBoost”gydF4y2Ba, 50岁,gydF4y2Ba“树”gydF4y2Ba);gydF4y2Ba

tgydF4y2Ba模板对象。其大部分属性为空(gydF4y2Ba[]gydF4y2Ba).在训练期间,软件对所有空属性使用默认值。gydF4y2Ba

因为响应变量包含许多类,所以指定稀疏随机编码设计。gydF4y2Ba

rng (1);gydF4y2Ba%用于再现性gydF4y2Ba编码=设计ecoc(K,gydF4y2Ba“sparserandom”gydF4y2Ba);gydF4y2Ba

使用并行计算训练ECOC模型。指定15%的坚持样本,并拟合后验概率。gydF4y2Ba

Pool = parpool;gydF4y2Ba调用工作者gydF4y2Ba
使用“本地”配置文件启动并行池(parpool)…连接到并行池(工人数:6)。gydF4y2Ba
选项= statset(gydF4y2Ba“UseParallel”gydF4y2Ba,真正的);PMdl = fitcecoc(X,Y,gydF4y2Ba“学习者”gydF4y2BatgydF4y2Ba“选项”gydF4y2Ba选项,gydF4y2Ba“编码”gydF4y2Ba、编码、gydF4y2Ba...gydF4y2Ba“FitPosterior”gydF4y2Ba,真的,gydF4y2Ba“坚持”gydF4y2Ba, 0.15);Mdl = pmdl .训练{1};gydF4y2Ba%提取训练,紧凑的分类器gydF4y2Ba

PMdlgydF4y2Ba是一个gydF4y2BaClassificationPartitionedECOCgydF4y2Ba模型。它有这样的属性gydF4y2Ba训练有素的gydF4y2Ba的1 × 1单元格数组gydF4y2BaCompactClassificationECOCgydF4y2Ba软件使用训练集训练的模型。gydF4y2Ba

该池调用6个工作人员,尽管工作人员的数量可能因系统而异。gydF4y2Ba

估计后验概率,并给出随机测试样本观察数据,显示被分类为无心律失常(1类)的后验概率。gydF4y2Ba

testInds = test(PMdl.Partition);gydF4y2Ba提取测试指标gydF4y2BaXTest = X(testInds,:);YTest = Y(testInds,:);[~,~,~,后验]= predict(Mdl,XTest,gydF4y2Ba“选项”gydF4y2Ba、选择);idx = randsample(sum(testInds),10);表(idx,欧美(idx)、后(idx, 1),gydF4y2Ba...gydF4y2Ba“VariableNames”gydF4y2Ba, {gydF4y2Ba“TestSampleIndex”gydF4y2Ba,gydF4y2Ba“TrueLabel”gydF4y2Ba,gydF4y2Ba“PosteriorNoArrhythmia”gydF4y2Ba})gydF4y2Ba
ans =gydF4y2Ba10×3表gydF4y2BaTestSampleIndex TrueLabel posteriorno心律失常_______________ _________ _____________________ 11 6 0.60631 41 4 0.23674 512 0.13802 33 10 0.43831 12 1 0.94332 8 1 0.97278 37 1 0.62807 24 10 0.96876 56 16 0.29375 30 1 0.64512gydF4y2Ba

输入参数gydF4y2Ba

全部折叠gydF4y2Ba

完整或紧凑的多级ECOC模型,指定为gydF4y2BaClassificationECOCgydF4y2Ba或gydF4y2BaCompactClassificationECOCgydF4y2Ba模型对象。gydF4y2Ba

要创建完整或紧凑的ECOC模型,请参见gydF4y2BaClassificationECOCgydF4y2Ba或gydF4y2BaCompactClassificationECOCgydF4y2Ba.gydF4y2Ba

要分类的预测器数据,指定为数字矩阵或表格。gydF4y2Ba

默认情况下,每一行gydF4y2BaXgydF4y2Ba对应一个观察结果,每一列对应一个变量。gydF4y2Ba

  • 对于数值矩阵:gydF4y2Ba

    • 构成列的变量gydF4y2BaXgydF4y2Ba必须与训练的预测变量有相同的顺序gydF4y2BaMdlgydF4y2Ba.gydF4y2Ba

    • 如果你训练gydF4y2BaMdlgydF4y2Ba使用表格(例如,gydF4y2Ba资源描述gydF4y2Ba),然后gydF4y2BaXgydF4y2Ba可以是一个数字矩阵如果gydF4y2Ba资源描述gydF4y2Ba包含所有数值预测变量。处理中的数值预测器gydF4y2Ba资源描述gydF4y2Ba作为分类训练,识别分类预测器使用gydF4y2BaCategoricalPredictorsgydF4y2Ba的名称-值对参数gydF4y2BafitcecocgydF4y2Ba.如果gydF4y2Ba资源描述gydF4y2Ba包含异构预测变量(例如,数字和分类数据类型)和gydF4y2BaXgydF4y2Ba是数字矩阵吗gydF4y2Ba预测gydF4y2Ba抛出错误。gydF4y2Ba

  • 对于表格:gydF4y2Ba

    • 预测gydF4y2Ba不支持多列变量或除金宝app字符向量的单元格数组外的单元格数组。gydF4y2Ba

    • 如果你训练gydF4y2BaMdlgydF4y2Ba使用表格(例如,gydF4y2Ba资源描述gydF4y2Ba),然后输入所有预测变量gydF4y2BaXgydF4y2Ba必须具有与训练的预测变量相同的变量名称和数据类型gydF4y2BaMdlgydF4y2Ba(存储在gydF4y2BaMdl。PredictorNamesgydF4y2Ba).的列序gydF4y2BaXgydF4y2Ba是否需要对应的列顺序gydF4y2Ba资源描述gydF4y2Ba.这两个gydF4y2Ba资源描述gydF4y2Ba而且gydF4y2BaXgydF4y2Ba可以包含额外的变量(响应变量、观察权重等),但是gydF4y2Ba预测gydF4y2Ba忽略了它们。gydF4y2Ba

    • 如果你训练gydF4y2BaMdlgydF4y2Ba使用一个数字矩阵,然后预测器名称在gydF4y2BaMdl。PredictorNamesgydF4y2Ba和对应的预测变量名gydF4y2BaXgydF4y2Ba一定是一样的。若要在训练期间指定预测器名称,请参阅gydF4y2BaPredictorNamesgydF4y2Ba的名称-值对参数gydF4y2BafitcecocgydF4y2Ba.所有预测变量gydF4y2BaXgydF4y2Ba必须是数值向量。gydF4y2BaXgydF4y2Ba可以包含额外的变量(响应变量、观察权重等),但是gydF4y2Ba预测gydF4y2Ba忽略了它们。gydF4y2Ba

请注意gydF4y2Ba

如果gydF4y2BaMdl。B我naryLearners包含线性分类模型(gydF4y2BaClassificationLineargydF4y2Ba),然后您可以定位您的预测矩阵,使观察结果对应于列和指定gydF4y2Ba“ObservationsIn”、“列”gydF4y2Ba.但是,您不能指定gydF4y2Ba“ObservationsIn”、“列”gydF4y2Ba用于表中的预测器数据。gydF4y2Ba

当训练gydF4y2BaMdlgydF4y2Ba,假设你设gydF4y2Ba“标准化”,真的gydF4y2Ba属性中指定的模板对象gydF4y2Ba“学习者”gydF4y2Ba的名称-值对参数gydF4y2BafitcecocgydF4y2Ba.在这种情况下,为相应的二元学习器gydF4y2BajgydF4y2Ba时,软件用相应的方法对新预测数据的列进行标准化gydF4y2BaMdl.BinaryLearner {j} .MugydF4y2Ba的标准差gydF4y2BaMdl.BinaryLearner {j} .SigmagydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba表格gydF4y2Ba|gydF4y2Ba双gydF4y2Ba|gydF4y2Ba单gydF4y2Ba

名称-值对参数gydF4y2Ba

的可选逗号分隔对gydF4y2Ba名称,值gydF4y2Ba参数。gydF4y2Ba的名字gydF4y2Ba参数名称和gydF4y2Ba价值gydF4y2Ba对应的值。gydF4y2Ba的名字gydF4y2Ba必须出现在引号内。您可以以任意顺序指定多个名称和值对参数gydF4y2BaName1, Value1,…,的家gydF4y2Ba.gydF4y2Ba

例子:gydF4y2Ba预测(Mdl X,“BinaryLoss”,“二次”,“解码”,“lossbased”)gydF4y2Ba指定二次二进制学习器损耗函数和用于聚合二进制损耗的基于损耗的解码方案。gydF4y2Ba

二元学习器损失函数,指定为逗号分隔的对,由gydF4y2Ba“BinaryLoss”gydF4y2Ba和内置的损失函数名或函数句柄。gydF4y2Ba

  • 该表描述了内置函数,其中gydF4y2BaygydF4y2BajgydF4y2Ba是特定二元学习器的类标签(在集合{- 1,1,0}中),gydF4y2Ba年代gydF4y2BajgydF4y2Ba这是观察分数吗gydF4y2BajgydF4y2Ba,gydF4y2BaggydF4y2Ba(gydF4y2BaygydF4y2BajgydF4y2Ba,gydF4y2Ba年代gydF4y2BajgydF4y2Ba)为二值损失公式。gydF4y2Ba

    价值gydF4y2Ba 描述gydF4y2Ba 分数域gydF4y2Ba ggydF4y2Ba(gydF4y2BaygydF4y2BajgydF4y2Ba,gydF4y2Ba年代gydF4y2BajgydF4y2Ba)gydF4y2Ba
    “binodeviance”gydF4y2Ba 二项异常gydF4y2Ba (-∞∞)gydF4y2Ba Log [1 + exp(-2gydF4y2BaygydF4y2BajgydF4y2Ba年代gydF4y2BajgydF4y2Ba日志(2)])]/ [2gydF4y2Ba
    “指数”gydF4y2Ba 指数gydF4y2Ba (-∞∞)gydF4y2Ba exp (-gydF4y2BaygydF4y2BajgydF4y2Ba年代gydF4y2BajgydF4y2Ba) / 2gydF4y2Ba
    “汉明”gydF4y2Ba 汉明gydF4y2Ba [0,1]或(-∞,∞)gydF4y2Ba [1 -符号(gydF4y2BaygydF4y2BajgydF4y2Ba年代gydF4y2BajgydF4y2Ba) / 2gydF4y2Ba
    “枢纽”gydF4y2Ba 铰链gydF4y2Ba (-∞∞)gydF4y2Ba 马克斯(0,1 -gydF4y2BaygydF4y2BajgydF4y2Ba年代gydF4y2BajgydF4y2Ba) / 2gydF4y2Ba
    “线性”gydF4y2Ba 线性gydF4y2Ba (-∞∞)gydF4y2Ba (1 -gydF4y2BaygydF4y2BajgydF4y2Ba年代gydF4y2BajgydF4y2Ba) / 2gydF4y2Ba
    分对数的gydF4y2Ba 物流gydF4y2Ba (-∞∞)gydF4y2Ba Log [1 + exp(-gydF4y2BaygydF4y2BajgydF4y2Ba年代gydF4y2BajgydF4y2Ba日志(2)])]/ [2gydF4y2Ba
    “二次”gydF4y2Ba 二次gydF4y2Ba [0, 1]gydF4y2Ba (1 -gydF4y2BaygydF4y2BajgydF4y2Ba(2gydF4y2Ba年代gydF4y2BajgydF4y2Ba- 1))gydF4y2Ba2gydF4y2Ba/ 2gydF4y2Ba

    该软件规范化二进制损耗,使损耗为0.5时gydF4y2BaygydF4y2BajgydF4y2Ba= 0。此外,该软件还计算每个类的平均二进制损失。gydF4y2Ba

  • 例如,对于自定义的二进制损失函数gydF4y2BacustomFunctiongydF4y2Ba,指定它的函数句柄gydF4y2BaBinaryLoss, @customFunctiongydF4y2Ba.gydF4y2Ba

    customFunctiongydF4y2Ba有这样的形式:gydF4y2Ba

    bLoss = customFunction(M,s)gydF4y2Ba
    地点:gydF4y2Ba

    • 米gydF4y2Ba是gydF4y2BaKgydF4y2Ba——- - - - - -gydF4y2BalgydF4y2Ba存储在gydF4y2BaMdl。CodingMatrixgydF4y2Ba.gydF4y2Ba

    • 年代gydF4y2Ba是1 × -吗gydF4y2BalgydF4y2Ba分类分数行向量。gydF4y2Ba

    • 布劳斯gydF4y2Ba是分类损失。这个标量聚合了特定类中每个学习者的二进制损失。例如,您可以使用平均二元损失来聚合每个类的学习器损失。gydF4y2Ba

    • KgydF4y2Ba是类的数量。gydF4y2Ba

    • lgydF4y2Ba是二元学习器的数目。gydF4y2Ba

    有关传递自定义二进制损失函数的示例,请参见gydF4y2Ba利用自定义二元损失函数预测ECOC模型的测试样本标签gydF4y2Ba.gydF4y2Ba

默认的gydF4y2BaBinaryLossgydF4y2Ba值取决于二进制学习器返回的分数范围。该表描述了一些默认值gydF4y2BaBinaryLossgydF4y2Ba基于给定假设的值。gydF4y2Ba

假设gydF4y2Ba 默认值gydF4y2Ba
所有二元学习器都是支持向量机,或者支持向量机学习器的线性分类模型或核分类模型。gydF4y2Ba “枢纽”gydF4y2Ba
所有二元学习器都是由gydF4y2BaAdaboostM1gydF4y2Ba或gydF4y2BaGentleBoostgydF4y2Ba.gydF4y2Ba “指数”gydF4y2Ba
所有二元学习器都是由gydF4y2BaLogitBoostgydF4y2Ba.gydF4y2Ba “binodeviance”gydF4y2Ba
所有二元学习器都是逻辑回归学习器的线性或核分类模型。或者,您指定通过设置来预测类后验概率gydF4y2Ba“FitPosterior”,真的gydF4y2Ba在gydF4y2BafitcecocgydF4y2Ba.gydF4y2Ba “二次”gydF4y2Ba

若要检查默认值,请使用点表示法显示gydF4y2BaBinaryLossgydF4y2Ba属性。gydF4y2Ba

例子:gydF4y2Ba“BinaryLoss”、“binodeviance”gydF4y2Ba

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

聚合二进制损耗的解码方案,指定为由逗号分隔的对组成gydF4y2Ba“解码”gydF4y2Ba而且gydF4y2Ba“lossweighted”gydF4y2Ba或gydF4y2Ba“lossbased”gydF4y2Ba.有关更多信息,请参见gydF4y2Ba二元损失gydF4y2Ba.gydF4y2Ba

例子:gydF4y2Ba“解码”、“lossbased”gydF4y2Ba

通过Kullback-Leibler散度最小化来拟合后验概率的随机初值的数目,指定为由逗号分隔的对组成gydF4y2Ba“NumKLInitializations”gydF4y2Ba和一个非负整数标量。gydF4y2Ba

如果您不请求第四个输出参数(gydF4y2Ba后gydF4y2Ba)和设置gydF4y2Ba“PosteriorMethod”、“kl的gydF4y2Ba(默认值),则软件忽略的值gydF4y2BaNumKLInitializationsgydF4y2Ba.gydF4y2Ba

详情请参见gydF4y2Ba利用Kullback-Leibler散度的后验估计gydF4y2Ba.gydF4y2Ba

例子:gydF4y2Ba“NumKLInitializations”,5gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba

预测器数据观测维数,由逗号分隔的对组成gydF4y2Ba“ObservationsIn”gydF4y2Ba而且gydF4y2Ba“列”gydF4y2Ba或gydF4y2Ba“行”gydF4y2Ba.gydF4y2BaMdl。B我naryLearners必须包含gydF4y2BaClassificationLineargydF4y2Ba模型。gydF4y2Ba

请注意gydF4y2Ba

如果你定位你的预测矩阵,使观察结果与列相对应,并指定gydF4y2Ba“ObservationsIn”、“列”gydF4y2Ba,您可以体验到执行时间的显著减少。你不能指定gydF4y2Ba“ObservationsIn”、“列”gydF4y2Ba用于表中的预测器数据。gydF4y2Ba

估计选项,指定为逗号分隔的对,由gydF4y2Ba“选项”gydF4y2Ba和返回的结构数组gydF4y2BastatsetgydF4y2Ba.gydF4y2Ba

调用并行计算:gydF4y2Ba

  • 您需要并行计算工具箱™许可证。gydF4y2Ba

  • 指定gydF4y2Ba“选项”,statset (UseParallel,真的)gydF4y2Ba.gydF4y2Ba

后验概率估计方法,指定为逗号分隔对组成gydF4y2Ba“PosteriorMethod”gydF4y2Ba而且gydF4y2Ba“吉隆坡”gydF4y2Ba或gydF4y2Ba“qp”gydF4y2Ba.gydF4y2Ba

  • 如果gydF4y2BaPosteriorMethodgydF4y2Ba是gydF4y2Ba“吉隆坡”gydF4y2Ba,然后软件通过最小化二元学习器返回的预测后验概率与期望后验概率之间的Kullback-Leibler散度来估计多类后验概率。详细信息请参见gydF4y2Ba利用Kullback-Leibler散度的后验估计gydF4y2Ba.gydF4y2Ba

  • 如果gydF4y2BaPosteriorMethodgydF4y2Ba是gydF4y2Ba“qp”gydF4y2Ba,然后该软件通过使用二次规划解决最小二乘问题来估计多类后验概率。您需要“优化工具箱”许可证才能使用此选项。详细信息请参见gydF4y2Ba利用二次规划的后验估计gydF4y2Ba.gydF4y2Ba

  • 如果您不请求第四个输出参数(gydF4y2Ba后gydF4y2Ba),则软件会忽略的值gydF4y2BaPosteriorMethodgydF4y2Ba.gydF4y2Ba

例子:gydF4y2Ba“PosteriorMethod”、“qp”gydF4y2Ba

详细级别,指定为逗号分隔的对,由gydF4y2Ba“详细”gydF4y2Ba而且gydF4y2Ba0gydF4y2Ba或gydF4y2Ba1gydF4y2Ba.gydF4y2Ba详细的gydF4y2Ba控制软件在命令窗口中显示的诊断消息的数量。gydF4y2Ba

如果gydF4y2Ba详细的gydF4y2Ba是gydF4y2Ba0gydF4y2Ba,则软件不显示诊断信息。否则,软件将显示诊断信息。gydF4y2Ba

例子:gydF4y2Ba“详细”,1gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba

输出参数gydF4y2Ba

全部折叠gydF4y2Ba

预测类标签,以类别、字符、逻辑或数字数组或字符向量单元格数组的形式返回。该软件通过将观测值分配给产生最大的负平均二进制损失(或等效地,最小的平均二进制损失)的类别来预测观测值的分类。gydF4y2Ba

标签gydF4y2Ba与用于训练的类标签具有相同的数据类型gydF4y2BaMdlgydF4y2Ba行数和gydF4y2BaXgydF4y2Ba.gydF4y2Ba(该软件将字符串数组视为字符向量的单元格数组。)gydF4y2Ba

如果gydF4y2BaMdl。B我naryLearners包含gydF4y2BaClassificationLineargydF4y2Ba模型,然后gydF4y2Ba标签gydF4y2Ba是一个gydF4y2Ba米gydF4y2Ba——- - - - - -gydF4y2BalgydF4y2Ba矩阵,gydF4y2Ba米gydF4y2Ba观察的数量在吗gydF4y2BaXgydF4y2Ba,gydF4y2BalgydF4y2Ba为线性分类模型中正则化强度的数目(gydF4y2Ba元素个数(Mdl.BinaryLearners {1} .Lambda)gydF4y2Ba).的值gydF4y2Ba标签(i, j)gydF4y2Ba预测是观察的标签吗gydF4y2Ba我gydF4y2Ba对于使用正则化强度训练的模型gydF4y2BaMdl.BinaryLearners {1} .Lambda (j)gydF4y2Ba.gydF4y2Ba

否则,gydF4y2Ba标签gydF4y2Ba列向量是长度吗gydF4y2Ba米gydF4y2Ba.gydF4y2Ba

否定平均gydF4y2Ba二进制的损失gydF4y2Ba,作为数字矩阵或数组返回。gydF4y2Ba

  • 如果gydF4y2BaMdl。B我naryLearners包含gydF4y2BaClassificationLineargydF4y2Ba模型,然后gydF4y2BaNegLossgydF4y2Ba是一个gydF4y2Ba米gydF4y2Ba——- - - - - -gydF4y2BaKgydF4y2Ba——- - - - - -gydF4y2BalgydF4y2Ba数组中。gydF4y2Ba

    • 米gydF4y2Ba观察的数量在吗gydF4y2BaXgydF4y2Ba.gydF4y2Ba

    • KgydF4y2Ba是训练数据中不同类的数量(gydF4y2Ba元素个数(Mdl.ClassNames)gydF4y2Ba).gydF4y2Ba

    • lgydF4y2Ba为线性分类模型中正则化强度的数目(gydF4y2Ba元素个数(Mdl.BinaryLearners {1} .Lambda)gydF4y2Ba).gydF4y2Ba

    NegLoss (k, j)gydF4y2Ba是否为观察的负平均二进制损失gydF4y2Ba我gydF4y2Ba,对应类gydF4y2BaMdl.ClassNames (k)gydF4y2Ba,对于使用正则化强度训练的模型gydF4y2BaMdl.BinaryLearners {1} .Lambda (j)gydF4y2Ba.gydF4y2Ba

  • 否则,gydF4y2BaNegLossgydF4y2Ba是一个gydF4y2Ba米gydF4y2Ba——- - - - - -gydF4y2BaKgydF4y2Ba矩阵。gydF4y2Ba

每个二进制学习者的正类分数,作为数字矩阵或数组返回。gydF4y2Ba

  • 如果gydF4y2BaMdl。B我naryLearners包含gydF4y2BaClassificationLineargydF4y2Ba模型,然后gydF4y2BaPBScoregydF4y2Ba是一个gydF4y2Ba米gydF4y2Ba——- - - - - -gydF4y2BaBgydF4y2Ba——- - - - - -gydF4y2BalgydF4y2Ba数组中。gydF4y2Ba

    • 米gydF4y2Ba观察的数量在吗gydF4y2BaXgydF4y2Ba.gydF4y2Ba

    • BgydF4y2Ba是二元学习器的数目(gydF4y2Ba元素个数(Mdl.BinaryLearners)gydF4y2Ba).gydF4y2Ba

    • lgydF4y2Ba为线性分类模型中正则化强度的数目(gydF4y2Ba元素个数(Mdl.BinaryLearners {1} .Lambda)gydF4y2Ba).gydF4y2Ba

    PBScore(我,b, j)gydF4y2Ba正班分数是用来观察的吗gydF4y2Ba我gydF4y2Ba,采用二元学习器gydF4y2BabgydF4y2Ba,对于使用正则化强度训练的模型gydF4y2BaMdl.BinaryLearners {1} .Lambda (j)gydF4y2Ba.gydF4y2Ba

  • 否则,gydF4y2BaPBScoregydF4y2Ba是一个gydF4y2Ba米gydF4y2Ba——- - - - - -gydF4y2BaBgydF4y2Ba矩阵。gydF4y2Ba

后验类概率,作为数字矩阵或数组返回。gydF4y2Ba

  • 如果gydF4y2BaMdl。B我naryLearners包含gydF4y2BaClassificationLineargydF4y2Ba模型,然后gydF4y2Ba后gydF4y2Ba是一个gydF4y2Ba米gydF4y2Ba——- - - - - -gydF4y2BaKgydF4y2Ba——- - - - - -gydF4y2BalgydF4y2Ba数组中。有关维度定义,请参见gydF4y2BaNegLossgydF4y2Ba.gydF4y2Ba后(k, j)gydF4y2Ba后验概率是观察到的吗gydF4y2Ba我gydF4y2Ba来自课堂gydF4y2BaMdl.ClassNames (k)gydF4y2Ba,对于使用正则化强度训练的模型gydF4y2BaMdl.BinaryLearners {1} .Lambda (j)gydF4y2Ba.gydF4y2Ba

  • 否则,gydF4y2Ba后gydF4y2Ba是一个gydF4y2Ba米gydF4y2Ba——- - - - - -gydF4y2BaKgydF4y2Ba矩阵。gydF4y2Ba

更多关于gydF4y2Ba

全部折叠gydF4y2Ba

二元损失gydF4y2Ba

一个gydF4y2Ba二元损失gydF4y2Ba是类和分类分数的函数,它决定二元学习者如何将观察结果分类到类中。gydF4y2Ba

假设如下:gydF4y2Ba

  • 米gydF4y2BakjgydF4y2Ba是元素(gydF4y2BakgydF4y2Ba,gydF4y2BajgydF4y2Ba)的编码设计矩阵gydF4y2Ba米gydF4y2Ba(即类对应的代码gydF4y2BakgydF4y2Ba二元学习者gydF4y2BajgydF4y2Ba).gydF4y2Ba

  • 年代gydF4y2BajgydF4y2Ba二元学习者的分数是多少gydF4y2BajgydF4y2Ba观察一下。gydF4y2Ba

  • ggydF4y2Ba是二值损失函数。gydF4y2Ba

  • kgydF4y2Ba ^gydF4y2Ba 是观测的预测类别。gydF4y2Ba

在gydF4y2Ba通过解码gydF4y2Ba[Escalera et al.]gydF4y2Ba时,在二元学习器上产生最小二值损失和的类别决定观测值的预测类别,即:gydF4y2Ba

kgydF4y2Ba ^gydF4y2Ba =gydF4y2Ba argmingydF4y2Ba kgydF4y2Ba ∑gydF4y2Ba jgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba lgydF4y2Ba |gydF4y2Ba 米gydF4y2Ba kgydF4y2Ba jgydF4y2Ba |gydF4y2Ba ggydF4y2Ba (gydF4y2Ba 米gydF4y2Ba kgydF4y2Ba jgydF4y2Ba ,gydF4y2Ba 年代gydF4y2Ba jgydF4y2Ba )gydF4y2Ba .gydF4y2Ba

在gydF4y2Baloss-weighted解码gydF4y2Ba[Escalera et al.]gydF4y2Ba时,在二元学习器上产生最小二元损失平均值的类别决定了观测结果的预测类别,即:gydF4y2Ba

kgydF4y2Ba ^gydF4y2Ba =gydF4y2Ba argmingydF4y2Ba kgydF4y2Ba ∑gydF4y2Ba jgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba lgydF4y2Ba |gydF4y2Ba 米gydF4y2Ba kgydF4y2Ba jgydF4y2Ba |gydF4y2Ba ggydF4y2Ba (gydF4y2Ba 米gydF4y2Ba kgydF4y2Ba jgydF4y2Ba ,gydF4y2Ba 年代gydF4y2Ba jgydF4y2Ba )gydF4y2Ba ∑gydF4y2Ba jgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba lgydF4y2Ba |gydF4y2Ba 米gydF4y2Ba kgydF4y2Ba jgydF4y2Ba |gydF4y2Ba .gydF4y2Ba

Allwein等人。gydF4y2Ba建议损耗加权解码通过将所有类的损耗值保持在相同的动态范围内来提高分类精度。gydF4y2Ba

下表总结了支持的损失函数,其中金宝appgydF4y2BaygydF4y2BajgydF4y2Ba是特定二元学习器的类标签(在集合{- 1,1,0}中),gydF4y2Ba年代gydF4y2BajgydF4y2Ba这是观察分数吗gydF4y2BajgydF4y2Ba,gydF4y2BaggydF4y2Ba(gydF4y2BaygydF4y2BajgydF4y2Ba,gydF4y2Ba年代gydF4y2BajgydF4y2Ba).gydF4y2Ba

价值gydF4y2Ba 描述gydF4y2Ba 分数域gydF4y2Ba ggydF4y2Ba(gydF4y2BaygydF4y2BajgydF4y2Ba,gydF4y2Ba年代gydF4y2BajgydF4y2Ba)gydF4y2Ba
“binodeviance”gydF4y2Ba 二项异常gydF4y2Ba (-∞∞)gydF4y2Ba Log [1 + exp(-2gydF4y2BaygydF4y2BajgydF4y2Ba年代gydF4y2BajgydF4y2Ba日志(2)])]/ [2gydF4y2Ba
“指数”gydF4y2Ba 指数gydF4y2Ba (-∞∞)gydF4y2Ba exp (-gydF4y2BaygydF4y2BajgydF4y2Ba年代gydF4y2BajgydF4y2Ba) / 2gydF4y2Ba
“汉明”gydF4y2Ba 汉明gydF4y2Ba [0,1]或(-∞,∞)gydF4y2Ba [1 -符号(gydF4y2BaygydF4y2BajgydF4y2Ba年代gydF4y2BajgydF4y2Ba) / 2gydF4y2Ba
“枢纽”gydF4y2Ba 铰链gydF4y2Ba (-∞∞)gydF4y2Ba 马克斯(0,1 -gydF4y2BaygydF4y2BajgydF4y2Ba年代gydF4y2BajgydF4y2Ba) / 2gydF4y2Ba
“线性”gydF4y2Ba 线性gydF4y2Ba (-∞∞)gydF4y2Ba (1 -gydF4y2BaygydF4y2BajgydF4y2Ba年代gydF4y2BajgydF4y2Ba) / 2gydF4y2Ba
分对数的gydF4y2Ba 物流gydF4y2Ba (-∞∞)gydF4y2Ba Log [1 + exp(-gydF4y2BaygydF4y2BajgydF4y2Ba年代gydF4y2BajgydF4y2Ba日志(2)])]/ [2gydF4y2Ba
“二次”gydF4y2Ba 二次gydF4y2Ba [0, 1]gydF4y2Ba (1 -gydF4y2BaygydF4y2BajgydF4y2Ba(2gydF4y2Ba年代gydF4y2BajgydF4y2Ba- 1))gydF4y2Ba2gydF4y2Ba/ 2gydF4y2Ba

该软件规范化二进制损耗,使损耗为0.5时gydF4y2BaygydF4y2BajgydF4y2Ba= 0,并使用二元学习器的平均值进行聚合gydF4y2Ba[Allwein等人]gydF4y2Ba.gydF4y2Ba

不要将二进制损失与总体分类损失(由gydF4y2Ba“LossFun”gydF4y2Ba的名称-值对参数gydF4y2Ba损失gydF4y2Ba而且gydF4y2Ba预测gydF4y2Ba对象函数),它衡量ECOC分类器作为一个整体执行的好坏。gydF4y2Ba

算法gydF4y2Ba

全部折叠gydF4y2Ba

该软件可以通过最小化Kullback-Leibler散度或使用二次规划来估计类后验概率。对于以下后验估计算法的描述,假设:gydF4y2Ba

  • 米gydF4y2BakjgydF4y2Ba元素(gydF4y2BakgydF4y2Ba,gydF4y2BajgydF4y2Ba)的编码设计矩阵gydF4y2Ba米gydF4y2Ba.gydF4y2Ba

  • 我gydF4y2Ba是指示器函数。gydF4y2Ba

  • pgydF4y2Ba ^gydF4y2Ba kgydF4y2Ba 类的后验概率是类的估计吗gydF4y2BakgydF4y2Ba一个观察,gydF4y2BakgydF4y2Ba= 1,…,gydF4y2BaKgydF4y2Ba.gydF4y2Ba

  • rgydF4y2BajgydF4y2Ba二元学习者的正类后验概率是gydF4y2BajgydF4y2Ba.也就是说,gydF4y2BargydF4y2BajgydF4y2Ba二元学习器的概率是多少gydF4y2BajgydF4y2Ba根据训练数据,将观察结果分类为正类。gydF4y2Ba

利用Kullback-Leibler散度的后验估计gydF4y2Ba

默认情况下,软件最小化Kullback-Leibler散度来估计类后验概率。预期和观察到的正类后验概率之间的Kullback-Leibler散度为gydF4y2Ba

ΔgydF4y2Ba (gydF4y2Ba rgydF4y2Ba ,gydF4y2Ba rgydF4y2Ba ^gydF4y2Ba )gydF4y2Ba =gydF4y2Ba ∑gydF4y2Ba jgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba lgydF4y2Ba wgydF4y2Ba jgydF4y2Ba [gydF4y2Ba rgydF4y2Ba jgydF4y2Ba 日志gydF4y2Ba rgydF4y2Ba jgydF4y2Ba rgydF4y2Ba ^gydF4y2Ba jgydF4y2Ba +gydF4y2Ba (gydF4y2Ba 1gydF4y2Ba −gydF4y2Ba rgydF4y2Ba jgydF4y2Ba )gydF4y2Ba 日志gydF4y2Ba 1gydF4y2Ba −gydF4y2Ba rgydF4y2Ba jgydF4y2Ba 1gydF4y2Ba −gydF4y2Ba rgydF4y2Ba ^gydF4y2Ba jgydF4y2Ba ]gydF4y2Ba ,gydF4y2Ba

在哪里gydF4y2Ba wgydF4y2Ba jgydF4y2Ba =gydF4y2Ba ∑gydF4y2Ba 年代gydF4y2Ba jgydF4y2Ba wgydF4y2Ba 我gydF4y2Ba ∗gydF4y2Ba 权重是二元学习器的吗gydF4y2BajgydF4y2Ba.gydF4y2Ba

  • 年代gydF4y2BajgydF4y2Ba观察指标集是关于哪一个二元学习者的gydF4y2BajgydF4y2Ba是训练有素的。gydF4y2Ba

  • wgydF4y2Ba 我gydF4y2Ba ∗gydF4y2Ba 是观察的重量吗gydF4y2Ba我gydF4y2Ba.gydF4y2Ba

该软件迭代地使散度最小化。第一步是选择初始值gydF4y2Ba pgydF4y2Ba ^gydF4y2Ba kgydF4y2Ba (gydF4y2Ba 0gydF4y2Ba )gydF4y2Ba ;gydF4y2Ba kgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba ,gydF4y2Ba ...gydF4y2Ba ,gydF4y2Ba KgydF4y2Ba 对于类后验概率。gydF4y2Ba

  • 如果您没有指定gydF4y2Ba“NumKLIterations”gydF4y2Ba,然后软件尝试下面描述的两组确定性初值,并选择使Δ最小的一组。gydF4y2Ba

    • pgydF4y2Ba ^gydF4y2Ba kgydF4y2Ba (gydF4y2Ba 0gydF4y2Ba )gydF4y2Ba =gydF4y2Ba 1gydF4y2Ba /gydF4y2Ba KgydF4y2Ba ;gydF4y2Ba kgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba ,gydF4y2Ba ...gydF4y2Ba ,gydF4y2Ba KgydF4y2Ba .gydF4y2Ba

    • pgydF4y2Ba ^gydF4y2Ba kgydF4y2Ba (gydF4y2Ba 0gydF4y2Ba )gydF4y2Ba ;gydF4y2Ba kgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba ,gydF4y2Ba ...gydF4y2Ba ,gydF4y2Ba KgydF4y2Ba 方程组的解是gydF4y2Ba

      米gydF4y2Ba 01gydF4y2Ba pgydF4y2Ba ^gydF4y2Ba (gydF4y2Ba 0gydF4y2Ba )gydF4y2Ba =gydF4y2Ba rgydF4y2Ba ,gydF4y2Ba

      在哪里gydF4y2Ba米gydF4y2Ba01gydF4y2Ba是gydF4y2Ba米gydF4y2Ba与所有gydF4y2Ba米gydF4y2BakjgydF4y2Ba= -1替换为0,并且gydF4y2BargydF4y2Ba是一个正类后验概率的向量gydF4y2BalgydF4y2Ba二进制学习者gydF4y2Ba[Dietterich等人]gydF4y2Ba.软件使用gydF4y2BalsqnonneggydF4y2Ba解方程组。gydF4y2Ba

  • 如果你指定gydF4y2Ba“NumKLIterations”,cgydF4y2Ba,在那里gydF4y2BacgydF4y2Ba是一个自然数,那么软件做下面的选择集gydF4y2Ba pgydF4y2Ba ^gydF4y2Ba kgydF4y2Ba (gydF4y2Ba 0gydF4y2Ba )gydF4y2Ba ;gydF4y2Ba kgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba ,gydF4y2Ba ...gydF4y2Ba ,gydF4y2Ba KgydF4y2Ba ,并选择使Δ最小的集合。gydF4y2Ba

    • 软件尝试前面描述的两组确定性初始值。gydF4y2Ba

    • 软件随机生成gydF4y2BacgydF4y2Ba长度向量gydF4y2BaKgydF4y2Ba使用gydF4y2Ba兰德gydF4y2Ba,然后将每个向量归一化为1。gydF4y2Ba

在迭代gydF4y2BatgydF4y2Ba,软件完成以下步骤:gydF4y2Ba

  1. 计算gydF4y2Ba

    rgydF4y2Ba ^gydF4y2Ba jgydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba =gydF4y2Ba ∑gydF4y2Ba kgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba KgydF4y2Ba pgydF4y2Ba ^gydF4y2Ba kgydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba 我gydF4y2Ba (gydF4y2Ba 米gydF4y2Ba kgydF4y2Ba jgydF4y2Ba =gydF4y2Ba +gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba ∑gydF4y2Ba kgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba KgydF4y2Ba pgydF4y2Ba ^gydF4y2Ba kgydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba 我gydF4y2Ba (gydF4y2Ba 米gydF4y2Ba kgydF4y2Ba jgydF4y2Ba =gydF4y2Ba +gydF4y2Ba 1gydF4y2Ba ∪gydF4y2Ba 米gydF4y2Ba kgydF4y2Ba jgydF4y2Ba =gydF4y2Ba −gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba .gydF4y2Ba

  2. 估计下一类后验概率使用gydF4y2Ba

    pgydF4y2Ba ^gydF4y2Ba kgydF4y2Ba (gydF4y2Ba tgydF4y2Ba +gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba =gydF4y2Ba pgydF4y2Ba ^gydF4y2Ba kgydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba ∑gydF4y2Ba jgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba lgydF4y2Ba wgydF4y2Ba jgydF4y2Ba [gydF4y2Ba rgydF4y2Ba jgydF4y2Ba 我gydF4y2Ba (gydF4y2Ba 米gydF4y2Ba kgydF4y2Ba jgydF4y2Ba =gydF4y2Ba +gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba +gydF4y2Ba (gydF4y2Ba 1gydF4y2Ba −gydF4y2Ba rgydF4y2Ba jgydF4y2Ba )gydF4y2Ba 我gydF4y2Ba (gydF4y2Ba 米gydF4y2Ba kgydF4y2Ba jgydF4y2Ba =gydF4y2Ba −gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba ]gydF4y2Ba ∑gydF4y2Ba jgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba lgydF4y2Ba wgydF4y2Ba jgydF4y2Ba [gydF4y2Ba rgydF4y2Ba ^gydF4y2Ba jgydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba 我gydF4y2Ba (gydF4y2Ba 米gydF4y2Ba kgydF4y2Ba jgydF4y2Ba =gydF4y2Ba +gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba +gydF4y2Ba (gydF4y2Ba 1gydF4y2Ba −gydF4y2Ba rgydF4y2Ba ^gydF4y2Ba jgydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba )gydF4y2Ba 我gydF4y2Ba (gydF4y2Ba 米gydF4y2Ba kgydF4y2Ba jgydF4y2Ba =gydF4y2Ba −gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba ]gydF4y2Ba .gydF4y2Ba

  3. 正常化gydF4y2Ba pgydF4y2Ba ^gydF4y2Ba kgydF4y2Ba (gydF4y2Ba tgydF4y2Ba +gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba ;gydF4y2Ba kgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba ,gydF4y2Ba ...gydF4y2Ba ,gydF4y2Ba KgydF4y2Ba 所以它们的和是1。gydF4y2Ba

  4. 检查收敛性。gydF4y2Ba

详情请参见gydF4y2Ba[哈斯蒂等人]gydF4y2Ba而且gydF4y2Ba(Zadrozny)gydF4y2Ba.gydF4y2Ba

利用二次规划的后验估计gydF4y2Ba

使用二次规划进行后验概率估计需要“优化工具箱”许可证。为了使用这种方法估计观测的后验概率,软件完成了以下步骤:gydF4y2Ba

  1. 估计正类后验概率,gydF4y2BargydF4y2BajgydF4y2Ba,用于二元学习者gydF4y2BajgydF4y2Ba= 1,…,gydF4y2BalgydF4y2Ba.gydF4y2Ba

  2. 之间的关系gydF4y2BargydF4y2BajgydF4y2Ba而且gydF4y2Ba pgydF4y2Ba ^gydF4y2Ba kgydF4y2Ba [吴等人]gydF4y2Ba,最大限度地减少gydF4y2Ba

    ∑gydF4y2Ba jgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba lgydF4y2Ba [gydF4y2Ba −gydF4y2Ba rgydF4y2Ba jgydF4y2Ba ∑gydF4y2Ba kgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba KgydF4y2Ba pgydF4y2Ba ^gydF4y2Ba kgydF4y2Ba 我gydF4y2Ba (gydF4y2Ba 米gydF4y2Ba kgydF4y2Ba jgydF4y2Ba =gydF4y2Ba −gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba +gydF4y2Ba (gydF4y2Ba 1gydF4y2Ba −gydF4y2Ba rgydF4y2Ba jgydF4y2Ba )gydF4y2Ba ∑gydF4y2Ba kgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba KgydF4y2Ba pgydF4y2Ba ^gydF4y2Ba kgydF4y2Ba 我gydF4y2Ba (gydF4y2Ba 米gydF4y2Ba kgydF4y2Ba jgydF4y2Ba =gydF4y2Ba +gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba ]gydF4y2Ba 2gydF4y2Ba

    关于gydF4y2Ba pgydF4y2Ba ^gydF4y2Ba kgydF4y2Ba 还有限制gydF4y2Ba

    0gydF4y2Ba ≤gydF4y2Ba pgydF4y2Ba ^gydF4y2Ba kgydF4y2Ba ≤gydF4y2Ba 1gydF4y2Ba ∑gydF4y2Ba kgydF4y2Ba pgydF4y2Ba ^gydF4y2Ba kgydF4y2Ba =gydF4y2Ba 1.gydF4y2Ba

    软件执行最小化使用gydF4y2BaquadproggydF4y2Ba(优化工具箱)gydF4y2Ba.gydF4y2Ba

参考文献gydF4y2Ba

[1]奥尔温,E., R. Schapire, Y. Singer。将多类简化为二进制:边距分类器的统一方法。gydF4y2Ba机器学习研究杂志gydF4y2Ba.Vol. 1, 2000, pp. 113-141。gydF4y2Ba

[2]迪特里希,T., G.巴基里。《通过纠错输出代码解决多类学习问题》gydF4y2Ba人工智能研究杂志gydF4y2Ba.第2卷,1995,第263-286页。gydF4y2Ba

[3] Escalera, S., O. Pujol, P. Radeva。三进制纠错输出码的解码过程。gydF4y2Ba模式分析与机器智能汇刊gydF4y2Ba.Vol. 32, Issue 7, 2010, pp. 120-134。gydF4y2Ba

[4] Escalera, S., O. Pujol, P. Radeva。纠错输出码的稀疏设计的三进制码的可分性。gydF4y2Ba模式识别gydF4y2Ba.第30卷,第3期,2009年,页285-297。gydF4y2Ba

[5]哈斯蒂,T.和R.蒂布谢拉尼。“成对耦合分类。”gydF4y2Ba统计年鉴gydF4y2Ba.第26卷,第2期,1998年,第451-471页。gydF4y2Ba

[6]吴廷峰,林昌杰,翁瑞麟。基于成对耦合的多类分类概率估计gydF4y2Ba机器学习研究杂志gydF4y2Ba.Vol. 5, 2004, pp. 975-1005。gydF4y2Ba

[7] Zadrozny, B.“通过耦合概率估计将多类简化为二进制”。gydF4y2BaNIPS 2001:神经信息处理系统进展gydF4y2Ba, 2001,第1041-1048页。gydF4y2Ba

扩展功能gydF4y2Ba

在R2014b中引入gydF4y2Ba