主要内容

损失

朴素贝叶斯分类器的分类损失

描述

l=损失(MDL.,资源描述,ResponseVarName返回分类损失表示训练有素的朴素贝叶斯分类器性能的标量MDL.对表中的预测数据进行分类资源描述与中真正的类标签相比资源描述。ResponseVarName

损失中的类概率正常化资源描述。ResponseVarName到之前的类概率fitcnb用于培训,存储在之前的属性MDL.

l=损失(MDL.,资源描述,Y返回表中预测器数据的分类丢失资源描述和真正的类标签Y

例子

l=损失(MDL.,X,Y返回基于矩阵中预测数据的分类损失X与中真正的类标签相比Y

例子

l=损失(___,名称,价值除了前面语法中的任何输入参数组合外,还使用一个或多个名称-值对参数指定选项。例如,可以指定损失函数和分类权重。

例子

崩溃

确定朴素贝叶斯分类器的测试样本分类误差(损失)。当你在许多模型中比较同一类型的损失时,损失越低表明预测模型越好。

加载渔民数据集。创造X作为一个用于150虹膜的四个花瓣测量的数字矩阵。创造Y作为包含相应的IRIS物种的字符向量的单元阵列。

负载渔民x = meas;y =物种;RNG(“默认”%的再现性

利用系统中的类信息,将观测数据随机划分为训练集和测试集,并进行分层Y.指定30%HoldOut样本进行测试。

简历= cvpartition (Y,“坚持”, 0.30);

提取培训和测试指数。

训练=训练(简介);testinds =测试(CV);

指定训练和测试数据集。

xtrain = x(训练,:);ytrain = y(训练器);xtest = x(testinds,:);ytest = y(testinds);

使用预测器训练朴素贝叶斯分类器XTrain和类标签ytrain..推荐的做法是指定类名。fitcnb假设每个预测器都是有条件的正态分布。

mdl = fitcnb(xtrain,ytrain,“类名”,{“setosa”,'versicolor',“virginica”})
mdl = classificationnaivebayes racitalebame:'y'pationoricalpricictors:[] classnames:{'setosa''versicolor''virginica'} scoreTransform:'无'numobservations:105分发NumObes:{'正常''正常'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':{3x4 Cell}属性,方法

MDL.是一个培训ClassificationNaiveBayes分类器。

通过估计测试样本分类误差来确定算法概括的程度。

L =损失(Mdl XTest、欧美)
L = 0.0444.

朴素贝叶斯分类器误分类了大约4%的测试样本。

您可以通过在训练分类器时指定更好的预测器分布来减少分类错误fitcnb

加载渔民数据集。创造X作为一个用于150虹膜的四个花瓣测量的数字矩阵。创造Y作为包含相应的IRIS物种的字符向量的单元阵列。

负载渔民x = meas;y =物种;RNG(“默认”%的再现性

利用系统中的类信息,将观测数据随机划分为训练集和测试集,并进行分层Y.指定30%HoldOut样本进行测试。

简历= cvpartition (Y,“坚持”, 0.30);

提取培训和测试指数。

训练=训练(简介);testinds =测试(CV);

指定训练和测试数据集。

xtrain = x(训练,:);ytrain = y(训练器);xtest = x(testinds,:);ytest = y(testinds);

使用预测器训练朴素贝叶斯分类器XTrain和类标签ytrain..推荐的做法是指定类名。fitcnb假设每个预测器都是有条件的正态分布。

mdl = fitcnb(xtrain,ytrain,“类名”,{“setosa”,'versicolor',“virginica”});

MDL.是一个培训ClassificationNaiveBayes分类器。

通过估计测试样本的logit损失来确定算法的泛化程度。

L =损失(Mdl XTest,欧美,“LossFun”,分对数的
L = 0.3359

logit损耗约为0.34。

输入参数

崩溃

朴素贝叶斯分类模型,指定为ClassificationNaiveBayes模型对象或CompactClassificaNiveBayes.返回的模型对象fitcnb或者紧凑的,分别。

用于训练模型的样本数据,指定为表。每一排资源描述对应一个观察值,每一列对应一个预测变量。资源描述必须包含所有用于训练的预测因子吗MDL..除了字符向量的单元格数组之外,不允许使用多列变量和单元格数组。可选地,资源描述可以包含响应变量和观察权重的附加列。

如果你训练MDL.使用表中包含的样例数据,然后输入数据损失也必须在表中。

响应变量名称,指定为变量的名称资源描述

您必须指定ResponseVarName作为字符矢量或字符串标量。例如,如果响应变量y存储为tbl.y,则指定为'是'.否则,软件将对所有列进行处理资源描述,包括y作为预测因素。

如果资源描述包含用于训练的响应变量MDL.,那么你不需要指定ResponseVarName

响应变量必须是分类,字符或字符串阵列,逻辑或数字矢量或字符向量的单元格数组。如果响应变量是字符数组,则每个元素必须对应于数组的一行。

数据类型:字符|字符串

预测器数据,指定为数字矩阵。

每一排X对应于一个观察结果(也称为an实例或者例子),每一列对应一个变量(也称为a功能).列中的变量X必须和训练MDL.分类器。

的长度Y和行的数量X必须是相等的。

数据类型:|

类标签,指定为类别、字符或字符串数组、逻辑或数字向量或字符向量的单元格数组。Y必须具有相同的数据类型mdl.classnames.(该软件将字符串数组视为字符向量的单元格数组。)

的长度Y必须等于资源描述或者X

数据类型:分类|字符|字符串|逻辑|||细胞

名称值对参数

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

例子:损失(MDL,TBL,Y,'重量',W)权衡每一行的观察结果资源描述在变量的每一行中使用相应的权重W

损失函数,指定为逗号分隔对组成“LossFun”以及内置的损失函数名或函数句柄。

  • 下表列出了可用的损耗函数。使用其对应的字符向量或字符串标量指定一个。

    价值 描述
    “binodeviance” 二项式偏差
    “classiferror” 小数点被错误分类
    “指数” 指数损失
    '铰链' 铰链的损失
    分对数的 物流损失
    'Mincost' 最小的预期误分类成本(用于后验概率的分类分数)
    “二次” 二次损失

    'Mincost'适用于后验概率的分类评分。默认情况下,天真的贝叶斯模型将后续概率作为分类分数返回(见预测).

  • 使用函数句柄表示法指定自己的函数。

    假设n观察的次数在吗XK为不同类别的数目(numel(mdl.classnames),在那里MDL.是输入模型)。您的函数必须有这个签名

    lossvalue =lossfun(C、S、W、成本)
    地点:

    • 输出参数失值是一个标量。

    • 您指定函数名称(lossfun).

    • C是一个n——- - - - - -K逻辑矩阵,其行表示相应的观测所属的类。中的列顺序对应于类的顺序mdl.classnames.

      创造C通过设置c(p,q)= 1如果观察p是在课堂上每行。设置行的所有其他元素p0

    • 年代是一个n——- - - - - -K分类分数的数值矩阵。中的列顺序对应于类的顺序mdl.classnames.年代是一个矩阵的分类分数,类似于输出预测

    • W是一个n-乘1数值向量的观测权值。如果你通过W,软件将权重归一化1

    • 成本是一个K——- - - - - -K误分类代价的数值矩阵。例如,成本=(k) - 眼睛(k)指定0正确分类和1误分类。

    使用以下命令指定函数“LossFun”@lossfun

有关损失函数的详细信息,请参见分类损失

数据类型:字符|字符串|function_handle

中指定为数值向量或变量名的观测权值资源描述.该软件对每一行的观察结果进行权衡X或者资源描述有相应的权重权重

如果您指定权重作为一个数字向量,然后是权重必须等于X或者资源描述

如果您指定权重中的变量名资源描述,则名称必须是字符向量或字符串标量。例如,如果权重存储为tbl.w,然后指定权重作为' w '.否则,软件将对所有列进行处理资源描述,包括tbl.w作为预测因素。

如果您不指定损失函数,则软件将正常化权重合计为1

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

输出参数

崩溃

分类丢失,返回为标量。l是一种泛化或再替代质量度量。其解释取决于损失函数和加权方案;一般来说,更好的分类器产生更小的损失值。

更多关于

崩溃

分类损失

分类损失函数测量分类模型的预测不准确性。当你在许多模型中比较同一类型的损失时,损失越低表明预测模型越好。

考虑以下场景。

  • l为加权平均分类损失。

  • n为样本量。

  • 对于二进制分类:

    • yj是观察到的类标签。软件将其代码为-1或1,表示负类或正类(或第一个或第二类一会分别属性)。

    • fXj)为观察(行)的阳性分类评分j预测数据的X

    • jyjfXj)为分类观察的分类评分j对应的类yj.积极的价值观j表明正确的分类,并没有为平均损失贡献。负值j指出错误的分类,并对平均损失有很大的贡献。

  • 对于支持多类分类的算法(即,万博1manbetxK≥3):

    • yj是一个矢量K- 1个零,1在对应于真实的,观察类的位置yj.例如,如果第二个观察的真正类是第三类和K= 4,然后y2= [0 0 1 0] '.类的顺序对应于一会输入模型的属性。

    • fXj)为长度K课程的传染媒介观察的j预测数据的X.分数的顺序与表中班级的顺序相对应一会输入模型的属性。

    • jyjfXj).因此,j是模型对真实的、观察到的类所预测的标量分类分数。

  • 观测权重jwj.该软件将观测权值归一化,使其和为相应的先验类别概率。软件还将先验概率归一化,使其和为1。因此,

    σ. j 1 n w j 1。

给定此场景,下表描述了支持的损失函数,可以使用万博1manbetx“LossFun”名称-值对的论点。

损失函数 的价值LossFun 方程式
二项式偏差 “binodeviance” l σ. j 1 n w j 日志 1 + exp. - 2 j
小数点被错误分类 “classiferror”

l σ. j 1 n w j y j y j

y j 为得分最大的类对应的类标签。·}是指示函数。

交叉熵损失 'forrorentropy'

'forrorentropy'仅适用于神经网络模型。

加权交叉熵损失是

l - σ. j 1 n w ˜ j 日志 j K n ,

的权重 w ˜ j 都归一化为n而不是1。

指数损失 “指数” l σ. j 1 n w j exp. - j
铰链的损失 '铰链' l σ. j 1 n w j 最大 0 , 1 - j
分对数损失 分对数的 l σ. j 1 n w j 日志 1 + exp. - j
最小预期错误分类费用 'Mincost'

'Mincost'只有当分类分数是后验概率时才合适。

该软件计算加权最小期望分类成本使用这一程序的观察j= 1,…,n

  1. 估计分类观察的预期错误分类成本Xj进入课堂k

    γ j k f X j C k

    fXj)为观测的二值和多类分类的类后验概率列向量XjC成本矩阵存储在成本模型的财产。

  2. 对于观察j,预测与最小预期误分类成本相对应的类别标签:

    y j argmin k 1 , ... , K γ j k

  3. 使用C,确认已发生的成本(cj)做了预测。

最小预期错误分类成本损失的加权平均值是

l σ. j 1 n w j c j

如果使用默认代价矩阵(其元素值为0表示正确分类,1表示不正确分类),则'Mincost'损失相当于“classiferror”的损失。

二次损失 “二次” l σ. j 1 n w j 1 - j 2

该图比较了损耗功能(除了'forrorentropy''Mincost'超过分数一个观察。某些功能被归一化以通过点(0,1)。

不同损失函数分类损失的比较

误分类代价

一个误分类代价是分类器的相对严重性标记为错误类别的观察。

错误分类的代价有两种:真实的和预期的。让K是类的数量。

  • 真正的误分类代价——一个K——- - - - - -K矩阵,其中元素(,j)表示预测观察到课程的错误分类成本j如果它真正的阶级是.软件将误分类成本储存在物业中Mdl。成本,并将其用于计算。默认情况下,Mdl.Cost (i, j)= 1,如果j,和Mdl.Cost (i, j)= 0,如果j.换句话说,成本是0正确分类和1任何不正确的分类。

  • 预期的误分类代价——一个K- 二维载体,其中元素k将观察结果分类的加权平均误分类成本是多少k,由类后概率加权。

    c k σ. j 1 K P Y j | x 1 , ... , x P C o 年代 t j k

    换句话说,该软件将观察结果分类到与预期误分类成本最低相对应的类别。

后验概率

后验概率是在给定数据的情况下,某一观察结果属于某一类的概率。

对于天真的贝叶斯,分类是的后验概率k对于给定的观测(x1、……xP)是

P Y k | x 1 , .. , x P P X 1 , ... , X P | y k π Y k P X 1 , ... , X P ,

地点:

  • P X 1 , ... , X P | y k 在课堂上给出预测器的条件关节密度吗kMdl。DistributionNames存储预测器的分发名称。

  • πYk)为类先验概率分布。mdl.prior.存储先验分布。

  • P X 1 , .. , X P 为预测者的联合密度。这些类是离散的,所以 P X 1 , ... , X P σ. k 1 K P X 1 , ... , X P | y k π Y k

先验概率

先验概率某一类的相对频率是该一类观察结果在总体中出现的相对频率。

扩展功能

在R2014B中介绍