分类线性类

高维数据二元分类的线性模型

描述

分类线性是用于二元分类的训练线性模型对象;线性模型是支持向量机(SVM)或逻辑回归模型。万博1manbetxfitclinear适合分类线性通过使用减少高维数据集计算时间的技术(例如,随机梯度下降)最小化目标函数来建立模型。分类损失加上正则化项构成目标函数。

与其他分类模型不同,为了节省内存使用,分类线性模型对象不存储训练数据。但是,它们确实存储,例如,估计的线性模型系数、先验类概率和正则化强度。

你可以使用训练有素的分类线性用于预测新数据的标签或分类分数的模型。有关详细信息,请参见预测

建设

创建一个分类线性通过使用fitclinear

性质

全部展开

线性分类特性

正则化项强度,指定为非负值的标量或向量。

数据类型:双重的|仅有一个的

线性分类模型类型,指定为“物流”“svm”

在这个表中, f x x β + b

  • β是向量p系数。

  • x是来自p预测变量。

  • b为标量偏差。

价值 算法 损失函数 FittedLoss价值
“物流” 逻辑回归 偏差(逻辑): y f x 日志 1 + 经验 y f x 分对数的
“svm” 万博1manbetx支持向量机 铰链: y f x 马克斯 0 1 y f x “铰链”

线性系数估计,指定为长度等于预测数的数字向量。

数据类型:双重的

估计偏差项或模型截距,指定为数值标量。

数据类型:双重的

用于拟合线性模型的损失函数,指定为“铰链”分对数的

价值 算法 损失函数 学习者价值
“铰链” 万博1manbetx支持向量机 铰链: y f x 马克斯 0 1 y f x “svm”
分对数的 逻辑回归 偏差(逻辑): y f x 日志 1 + 经验 y f x “物流”

复杂度惩罚类型,指定为'套索(L1)'"屋脊(L2)"

软件根据平均损失函数之和构成最小化目标函数(参见FittedLoss)和该表的正则化值。

价值 描述
'套索(L1)' 套索(l1)罚款: λ j 1 p | β j |
"屋脊(L2)" 脊(l2)罚款: λ 2 j 1 p β j 2

λ指定正则化项强度(请参见λ).

该软件排除了偏差项(β0)从正规化处罚。

其他分类属性

分类预测值的索引,其值始终为空([]),因为一个分类线性模型不支持分类预测。万博1manbetx

训练中使用的唯一类标签,指定为类别或字符数组、逻辑或数字向量或字符向量的单元格数组。一会具有与类标签相同的数据类型Y(该软件将字符串数组视为字符向量的单元格数组。)一会还确定类的顺序。

数据类型:明确的|烧焦|逻辑|仅有一个的|双重的|细胞

此属性是只读的。

错误分类成本,指定为平方数字矩阵。费用K行和列,其中K为类数。

成本(j是将一个点分类为类的成本j如果它的真实类别是。的行和列的顺序费用中类的顺序一会

数据类型:双重的

用于训练的参数分类线性模型,指定为结构。

访问字段ModelParameters使用点表示法。例如,使用Mdl.ModelParameters.BetatoResistance

数据类型:结构体

预测器名称按其在预测器数据中的出现顺序排列X,指定为字符向量的单元格数组。的长度预测器名称等于中的列数X

数据类型:细胞

扩展的预测器名称,指定为字符向量的单元格数组。

因为分类线性模型不支持分类预测,万博1manbetx扩展预测器名称预测器名称他们是平等的。

数据类型:细胞

此属性是只读的。

先验类概率,指定为数字向量。先前的具有与中的类一样多的元素一会,元素的顺序对应于一会

数据类型:双重的

用于预测分数的分数转换函数,指定为函数名或函数句柄。

对于线性分类模型和转换前,预测的分类分数用于观察x(行向量)是fx) =xβ+b哪里βb对应于Mdl。βMdl。偏见,分别。

要将分数转换函数更改为,例如,作用,使用点表示法。

  • 对于内置函数,输入此代码并替换作用表中有一个值。

    Mdl.ScoreTransform作用';

    价值 描述
    “双重逻辑” 1/(1 +e–2x
    “因弗罗吉特” 日志(x/ (1 –x))
    “ismax” 将得分最高的类的分数设置为1,并将所有其他类的分数设置为0
    分对数的 1/(1 +e- - - - - -x
    “没有”“身份” x(转换)
    “标志” –1人x< 0
    0代表x= 0
    1为x> 0
    “对称” 2x– 1
    “symmetricismax” 将得分最高的类的分数设置为1,并将所有其他类的分数设置为-1
    “symmetriclogit” 2 / (1 +e- - - - - -x) - 1

  • 对于一个MATLAB®函数或您定义的函数,输入其函数句柄。

    Mdl.ScoreTransform=@作用

    作用必须接受每个类的原始分数矩阵,然后返回一个大小相同的矩阵,表示每个类的转换分数。

数据类型:烧焦|function_handle

响应变量名称,指定为字符向量。

数据类型:烧焦

方法

线性分类模型的分类边缘
丧失 线性分类模型的分类损失
边缘 线性分类模型的分类裕度
预测 预测线性分类模型的标签
选择模型 选择正则化二元线性分类模型的子集

复制语义

价值要了解值类如何影响复制操作,请参见复制对象(MATLAB)。

例子

全部折叠

使用支持向量机、双SGD和脊正则化训练二元线性分类模型。万博1manbetx

加载NLP数据集。

负载nlpdata

X是预测数据的稀疏矩阵,以及Y是类标签的分类向量。数据中有两个以上的类。

识别与统计和机器学习工具箱相对应的标签™ 文档网页。

Y=Y==“统计数据”

训练一个二元线性分类模型,可以识别文档网页中的单词计数是否来自统计学和机器学习工具箱™文档。使用整个数据集训练模型。通过提取一个拟合摘要,确定优化算法将模型与数据拟合的程度。

rng(1);%为了再现性[Mdl, FitInfo] = fitclinear (X, Ystats)
Mdl = classficationlinear ResponseName: 'Y' ClassNames: [0 1] ScoreTransform: 'none' Beta: [34023x1 double] Bias: -1.0059 Lambda: 3.1674e-05 Learner: 'svm'属性,方法
FitInfo=结构体字段:Lambda:3.1674e-05目标:5.3783e-04通过限制:10个数值:10个批次限制:[]数值限制:238561梯度规范:NaN梯度公差:0相对变化贝塔:0.0562贝塔公差:1.0000e-04 DeltagRadiant公差:1.4582 DeltagRadiant公差:1终止代码:0终止状态:{超过迭代限制。}Alpha:[31572x1 double]历史:[]FitTime:0.1603解算器:{'dual'}

Mdl是一个分类线性模型。你可以通过Mdl以及培训或新数据丧失检查样本内分类错误。或者,你可以通过Mdl和新的预测数据预测预测新观测值的类别标签。

FitInfo是一个结构数组,其中包含终止状态(终结状态)以及解算器将模型拟合到数据所需的时间(睿健时代).这是一个很好的习惯FitInfo确定优化终止度量是否令人满意。由于训练时间很短,您可以尝试重新训练模型,但增加通过数据的次数。这可以改进如下度量三角洲半径

加载NLP数据集。

负载nlpdatan=尺寸(X,1);%观察次数

识别与统计和机器学习工具箱相对应的标签™ 文档网页。

Y=Y==“统计数据”

保留5%的数据。

rng(1);%为了再现性本量利= cvpartition (n,“坚持”,0.05)
nummobations: 31572 NumTestSets: 1 TrainSize: 29994 TestSize: 1578

cvp是一个CVD分区对象的随机分区n将数据输入训练集和测试集。

使用训练集训练一个二元线性分类模型,该训练集可以识别文档网页中的单词计数是否来自Statistics和Machine Learning Toolbox™文档。为了更快的训练时间,对预测器数据矩阵进行定向,使观察结果在列中。

idxTrain=培训(cvp);%提取训练集索引X = X ';Mdl = fitclinear (X (:, idxTrain) Ystats (idxTrain),“观测信号”“列”);

预测保留样本的观测值和分类误差。

idxTest =测试(cvp);%提取测试集索引标签=预测(Mdl,X(:,idxTest),“观测信号”“列”);L =损失(Mdl X (:, idxTest) Ystats (idxTest),“观测信号”“列”
L=7.1753e-04

Mdl错误分类的样本外观察不到1%。

扩展能力

介绍了R2016a