线性分类模型分类损失
MDL
-二,线性分类模型ClassificationLinear
模型对象二元的,线性分类模型,指定为ClassificationLinear
模型对象。您可以创建一个ClassificationLinear
使用模型对象fitclinear
。
X
-预测数据预测数据,指定为ñ-通过-p全或稀疏矩阵。的这种取向X
表明行对应于个人的观察,以及列对应于个体预测变量。
如果你的定位预测矩阵,以便观察对应的列,并指定'ObservationsIn', '列'
,那么你可能会遇到在计算时间减少显著。
长度ÿ
和观察的数量X
必须相等。
数据类型:单
|双
ÿ
-类标签类标签,指定为分类,字符或字符串数组,逻辑或数字载体,或字符向量的单元阵列。
的数据类型ÿ
必须是相同的数据类型Mdl.ClassNames
。(该软件把字符串数组作为字符向量的单元阵列。)
在不同的类中ÿ
必须是一个子集Mdl.ClassNames
。
如果ÿ
是一个字符阵列,则每个元素必须对应于所述阵列的一行。
长度ÿ
和观察的数量X
必须相等。
数据类型:明确的
|烧焦
|串
|合乎逻辑
|单
|双
|细胞
指定可选的用逗号分隔的对名称,值
参数。名称
是参数的名称和值
是对应的值。名称
必须出现引号内。您可以按照任何顺序指定多个名称和值对参数名1,值1,...,NameN,值N
。
'LossFun'
-损失函数'classiferror'
(默认)|'binodeviance'
|“指数”
|'合页'
|'Logit模型'
|'mincost'
|“二次”
|功能手柄损耗函数,指定为逗号分隔的一对组成的'LossFun'
和一个内置的,亏损函数名或函数句柄。
下表列出了可用的损失函数。利用其对应的字符向量或标量的字符串指定一个。
值 | 描述 |
---|---|
'binodeviance' |
二项式越轨 |
'classiferror' |
分类错误 |
“指数” |
指数 |
'合页' |
合页 |
'Logit模型' |
物流 |
'mincost' |
最小预期误判成本(对于那些后验概率分类分) |
“二次” |
二次 |
'mincost'
适合于那些后验概率分类分数。对于线性分类模型,回归学生返回后验概率为默认分类分数,但SVM学习者不(见预测
)。
通过使用功能手柄符号指定自己的函数。
让ñ
是观察在数X
和ķ
是不同的类的数量(numel(Mdl.ClassNames)
,其中MDL
是输入模型)。你的函数必须有这样的签名:
lossvalue =lossfun
(C,S,W,成本)
输出参数lossvalue
是一个标量。
你选择的函数名(lossfun
)。
C
是一个ñ
-通过-ķ
与指示所述对应的观测所属的类的行逻辑矩阵。列顺序对应于类顺序Mdl.ClassNames
。
构造C
通过设置C(P,Q)= 1
如果观察p
在类q
,对于每一行。组行的所有其他元素p
至0
。
小号
是一个ñ
-通过-ķ
分类评分的数值矩阵。列顺序对应于类顺序Mdl.ClassNames
。小号
是分类分数的矩阵,类似于的输出预测
。
w ^
是一个ñ
×1观察权重的数值向量。如果您通过w ^
,软件标准化的权重总和为1
。
成本
是ķ
-通过-ķ
误判成本数字矩阵。例如,成本=酮(K) - 眼(K)
指定的成本0
正确分类,1
对于错误分类。
例:'LossFun',@
lossfun
数据类型:烧焦
|串
|function_handle
'ObservationsIn'
-预测数据的观察维度“行”
(默认)|'列'
预测数据观测尺寸,指定为逗号分隔的一对组成的'ObservationsIn'
和'列'
要么“行”
。
如果你的定位预测矩阵,以便观察对应的列,并指定'ObservationsIn', '列'
,那么你可能会遇到的优化,执行时间显著减少。
“权重”
-观察权重观察权重,指定为逗号分隔的一对组成的“权重”
和正值的数值向量。如果您提供的权重,失利
计算的加权分类损失。
让ñ
是观察在数X
。
numel(重量)
一定是ñ
。
默认,权重
是那些(
。ñ
,1)
失利
规格化权重
总结在相应类的先验概率的值。
数据类型:双
|单
加载NLP的数据集。
加载nlpdata
X
是预测数据的稀疏矩阵,并且ÿ
是类别标签的分类矢量。有超过两个班中的数据。
该模型应标识在网页中的字数是否来自统计和机器学习工具箱™文档。因此,识别标签对应于统计和机器学习工具箱™文档网页。
Ystats = Y ==“统计”;
培养出二元线性分类模型,它可以识别在文档网页中的字数是否来自统计和机器学习工具箱™文档。指定要持币观察的30%。优化利用SpaRSA目标函数。
RNG(1);%用于重现CVMdl = fitclinear(X,Ystats,“求解”,'sparsa','坚持',0.30);CMDL = CVMdl.Trained {1};
CVMdl
是ClassificationPartitionedLinear
模型。它包含属性熟练
,这是一个1×1单元阵列保持ClassificationLinear
模型,使用软件中的训练集训练。
提取分区定义的训练和测试数据。
trainIdx =训练(CVMdl.Partition);testIdx =试验(CVMdl.Partition);
估计训练 - 和测试样品分类误差。
ceTrain =损耗(CMDL,X(trainIdx,:),Ystats(trainIdx))
ceTrain = 1.3572e-04
ceTest =损耗(CMDL,X(testIdx,:),Ystats(testIdx))
ceTest = 5.2804e-04
因为在一个正则强CMDL
,ceTrain
和ceTest
是数字标量。
加载NLP的数据集。预处理的数据作为估计试验样本分类损失,和转置预测数据。
加载nlpdataYstats = Y ==“统计”;X = X';
培养出二元线性分类模型。指定要持币观察的30%。优化利用SpaRSA目标函数。指定预测意见对应的列。
RNG(1);%用于重现CVMdl = fitclinear(X,Ystats,“求解”,'sparsa','坚持',0.30,...'ObservationsIn','列');CMDL = CVMdl.Trained {1};
CVMdl
是ClassificationPartitionedLinear
模型。它包含属性熟练
,这是一个1×1单元阵列保持ClassificationLinear
模型,使用软件中的训练集训练。
提取分区定义的训练和测试数据。
trainIdx =训练(CVMdl.Partition);testIdx =试验(CVMdl.Partition);
创建一个匿名函数,线性措施的损失,也就是说,
是用于观察的重量Ĵ,
为响应Ĵ(-1为负类,否则为1),和
是原始分类评分的观察Ĵ。自定义损失函数必须写在一个特定的形式。有关编写自定义的损失函数的规则,请参见LossFun
名称 - 值对的参数。
linearloss = @(C,S,W,成本)和(。* -W总和(S. * C,2))/总和(W);
估计使用线性损失函数的训练 - 和测试样品分类损失。
ceTrain =损耗(CMDL,X(:,trainIdx),Ystats(trainIdx),'LossFun',linearloss,...'ObservationsIn','列')
ceTrain = -7.8330
ceTest =损耗(CMDL,X(:,testIdx),Ystats(testIdx),'LossFun',linearloss,...'ObservationsIn','列')
ceTest = -7.7383
要确定使用逻辑回归学习线性分类模型良好的套索刑罚强度,比较试验样品的分类错误率。
加载NLP的数据集。预处理的数据作为指定自定义分类损失。
加载nlpdataYstats = Y ==“统计”;X = X';RNG(10);%用于重现分区= cvpartition(Ystats,'坚持',0.30);testIdx =试验(分区);XTEST = X(:,testIdx);YTest = Ystats(testIdx);
创建从一组11对数间隔的正规化优势 通过 。
波长= LOGSPACE(-6,-0.5,11);
火车二进制使用每个正规化的优势,线性分类模型。优化利用SpaRSA目标函数。降低目标函数的梯度公差1E-8
。
CVMdl = fitclinear(X,Ystats,'ObservationsIn','列',...'CVPartition',划分,'学习者',“物流”,“求解”,'sparsa',...“正规化”,'套索',“拉姆达”,λ,'GradientTolerance',1E-8)
CVMdl = classreg.learning.partition.ClassificationPartitionedLinear CrossValidatedModel: '线性' ResponseName: 'Y' NumObservations:31572 KFold:1个分区:[1x1的cvpartition]类名:[0 1] ScoreTransform: '无' 的属性,方法
提取训练的线性分类模型。
MDL = CVMdl.Trained {1}
MDL = ClassificationLinear ResponseName: 'Y' 的类名:[0 1] ScoreTransform: '分对数' 贝塔:[34023x11双]偏压:[1x11双] LAMBDA:[1x11双]学习者: '物流' 的属性,方法
MDL
是ClassificationLinear
模型对象。因为LAMBDA
是正规化的优势序列,你能想到的MDL
作为11款车型,一个在每个正规化强度LAMBDA
。
估计测试样品分类误差。
CE =损失(MDL,X(:,testIdx),Ystats(testIdx),'ObservationsIn','列');
因为有11分正规化的优势,CE
是分类错误率的1×11矢量。
值越大,LAMBDA
导致预测变量稀疏,这是一个分类的优良品质。对于每一个正规化的强度,使用整个数据集和,当您交叉验证模型相同的选项列车线性分类模型。确定每个模型的非零系数的数量。
MDL = fitclinear(X,Ystats,'ObservationsIn','列',...'学习者',“物流”,“求解”,'sparsa',“正规化”,'套索',...“拉姆达”,λ,'GradientTolerance',1E-8);numNZCoeff =总和(Mdl.Beta〜= 0);
在同一图中,画出测试样品错误率以及对于每个正则化强度的非零系数的频率。绘制对数刻度的所有变量。
数字;并[h,HL1,HL2] = plotyy(日志10(LAMBDA),日志10(CE),...日志10(LAMBDA),日志10(numNZCoeff + 1));hL1.Marker ='O';hL2.Marker ='O';ylabel(H(1),'LOG_ {10}分类错误')ylabel(H(2),“LOG_ {10}的非零系数频率”)xlabel('LOG_ {10} LAMBDA')标题(“试验采样统计信息”)保持离
选择正规化强度指数是平衡预测变量的稀疏性和低分类误差。在这种情况下,之间的值 至 应该足够了。
idxFinal = 7;
从模型MDL
与所选择的正则化强度。
MdlFinal = selectModels(MDL,idxFinal);
MdlFinal
是ClassificationLinear
建模含有一个正则化强度。为了估计新的观察标签,合格MdlFinal
和新数据预测
。
分类损失测量功能分类模型的预测不准确。当你比较同类型的众多车型中的损失,更低的损耗表示更好的预测模型。
请考虑以下情形。
大号是加权平均分类损失。
ñ是样本大小。
对于二元分类:
ÿĴ是所观察到的类的标签。软件代码作为-1或1,分别表示负的或正的类。
F(XĴ)是原始分类评分观察(行)Ĵ预测数据X。
米Ĵ=ÿĴF(XĴ)是分类评分观察分类Ĵ成对应于类ÿĴ。为正值米Ĵ表明正确分类,也没有太多的平均损失作出贡献。的负值米Ĵ表明不正确的分类和平均损失显著贡献。
对于算法,支持多类分类(即,万博1manbetxķ≥3):
ÿĴ*是的向量ķ- 1个零,1中的位置对应于所述真实的,观察到的类ÿĴ。举例来说,如果真类的第二观察是第三类和ķ= 4,然后ÿ*2= [0 0 1 0]'。类的顺序对应于订单类名
输入模型的属性。
F(XĴ)是长度ķ级得分进行观察的矢量Ĵ预测数据X。分数的顺序对应于类的顺序类名
输入模型的属性。
米Ĵ=ÿĴ*“F(XĴ)。因此,米Ĵ是标分类评分模型预测为真,观察到的类。
观察权重Ĵ是w ^Ĵ。让他们总结到相应的现有类概率软件标准化观察权重。该软件还规范了先验概率,使他们和为1。因此,
鉴于这种情况下,下表描述了支持的损失的功能,你可以通过使用指定万博1manbetx'LossFun'
名称 - 值对的参数。
损失函数 | 的价值LossFun |
方程 |
---|---|---|
二项式越轨 | 'binodeviance' |
|
指数损失 | “指数” |
|
分类错误 | 'classiferror' |
它是错误分类的观察,其中的加权分数 是对应于具有最大后验概率的类的类的标签。一世{X}是指示符函数。 |
铰链损失 | '合页' |
|
Logit模型损失 | 'Logit模型' |
|
最低的成本 | 'mincost' |
最小成本。该软件计算使用此过程的观测加权最小代价Ĵ= 1,...,ñ。
加权平均,最小成本损失是
|
二次损失 | “二次” |
该图比较了损失功能(除了'mincost'
)为一个以上的观察米。一些功能被归一化到穿过[0,1]。
默认情况下,观察权重是事先类概率。如果您在使用供应权权重
,那么软件标准化它们总和为在各自的类中的先验概率。该软件使用权重整化来估计加权分类损失。
此功能完全支持高大的阵列。万博1manbetx您可以使用培训了无论是在内存或使用此功能高大的数据模型。
欲了解更多信息,请参阅高大的数组(MATLAB)。
您单击对应于该MATLAB命令的链接:
在MATLAB命令窗口中输入它运行的命令。Web浏览器不支持MATLAB的命令。万博1manbetx
您还可以选择从下面的列表中的网站:
选择最佳的网站性能的中国网站(在中国或英文)。其他MathWorks的国家网站都没有从您的位置访问进行了优化。