金宝app支持向量机模板
用Templatesvm.
指定默认的SVM模板。
t = templatesvm()
t =适合分类支持向量机的模板。α:[0 x1双]BoxConstraint: [] CacheSize: [] CachingMethod:“ClipAlphas: [] DeltaGradientTolerance:[]ε:[]GapTolerance: [] KKTTolerance: [] IterationLimit: [] KernelFunction:“KernelScale: [] KernelOffset: [] KernelPolynomialOrder: [] NumPrint:[]ν:[]OutlierFraction: [] RemoveDuplicates: [] ShrinkagePeriod:[]解算器:" standzedata: [] SaveSuppo金宝apprtVectors: [] VerbosityLevel: [] Version: 2 Method: 'SVM' Type: 'classification'
模板对象的所有属性都为空,除了方法
和类型
.当你通过t
对于训练函数,软件填充了它们各自的默认值的空的属性。例如,软件填充凯恩机组
财产与'线性'
.有关其他默认值的详细信息,请参阅fitcsvm
.
t
是SVM学习者的计划,在指定它时不会发生计算。你可以通过t
到Fitcecoc.
为Ecoc Multiclass学习指定SVM二进制学习者。但是,默认情况下,Fitcecoc.
使用默认的SVM二进制学习器。
创建一个非默认的支持向量机模板Fitcecoc.
.
载入费雪的虹膜数据集。
负载渔民
为SVM二进制分类器创建模板,并指定使用高斯内核功能。
t = templateSVM ('骨箱','高斯')
t =适合分类支持向量机的模板。α:[0 x1双]BoxConstraint: [] CacheSize: [] CachingMethod:“ClipAlphas: [] DeltaGradientTolerance:[]ε:[]GapTolerance: [] KKTTolerance: [] IterationLimit: [] KernelFunction:“高斯”KernelScale: [] KernelOffset: [] KernelPolynomialOrder: [] NumPrint:[]ν:[]OutlierFraction: [] RemoveDuplicates: [] ShrinkagePeriod:[]解决方案:"标准化数据:[]SaveSupportVectors: []金宝app VerbosityLevel: [] Version: 2方法:'SVM'类型:'classification'
模板对象的所有属性都为空,除了分发名称
,方法
, 和类型
.培训时,软件将填充空属性,其中包含各自的默认值。
指定t
作为ECOC多类模型的二元学习者。
Mdl = fitcecoc(量、种类、“学习者”t);
MDL.
是A.ClassificationECOC
多条分类器。默认情况下,软件列车MDL.
使用一个与一个编码设计。
显示样本内(再替换)误分类错误。
L = resubLoss (Mdl,'lockfun',“classiferror”)
L = 0.0200.
当您使用线性SVM二进制学习者培训ECOC模型时,Fitcecoc.
清空了Α
,金宝appSupportVectorLabels.
, 和金宝app支持监视器
二进制学习器的默认属性。相反,您可以选择保留支持向量和相关值,然后从模型中丢弃它们。金宝app
载入费雪的虹膜数据集。
负载渔民rng (1);%的再现性
使用整个数据集列车ecoc模型。通过通过相应的SVM模板指定保留支持向量。金宝app
t = templateSVM ('save金宝appsupportVectors',真的);mdlsv = fitcecoc(meas,speies,“学习者”t);
mdlsv.
是训练有素的ClassificationECOC
模型与线性SVM二进制学习者。默认情况下,Fitcecoc.
实现了一对一的编码设计,这需要三个二进制学习者进行三班学习。
访问估计 (alpha)值使用点符号。
alpha = cell(3,1);alpha {1} = mdlsv.binarylearners {1} .alpha;alpha {2} = mdlsv.binarylearners {2} .alpha;alpha {3} = mdlsv.binarylearners {3} .alpha;α
alpha =3×1个单元阵列{3x1 double} {3x1 double} {23x1 double}
α
是一个3×1个单元格数组,存储估计值
.
丢弃ECOC模型中的支持金宝app向量和相关值。
mdl = discard金宝appsupportvectors(mdlsv);
MDL.
类似于mdlsv.
,除了Α
,金宝appSupportVectorLabels.
, 和金宝app支持监视器
所有线性SVM二进制学习者的属性是空的([]
).
areAllEmpty = @ isempty ([x (x)。Αx。金宝app支持监视器x。金宝appSupportVectorLabels.]); cellfun(areAllEmpty,Mdl.BinaryLearners)
ans =3 x1逻辑阵列1 1 1
比较两个ECOC模型的大小。
var =谁(“Mdl”,“MdlSV”);100 * (1 - var (1) .bytes / var (2) .bytes)
ANS = 4.7075.
MDL.
大约比mdlsv.
.
通过压缩来降低内存使用情况MDL.
然后清理MDL.
和mdlsv.
从工作空间。
CompactMDL = Compact(MDL);清除MDL.mdlsv.;
使用更有效的支持向量机模型预测训练数据的随机行标签。
IDX = RANDSAMPLE(大小(MEA,1),1)
Idx = 63.
predictedLabel =预测(CompactMdl量(idx,:))
predictedLabel =1 x1单元阵列{“癣”}
Truilabel =物种(IDX)
truilabel =1 x1单元阵列{“癣”}
指定可选的逗号分隔的对名称,值
参数。姓名
参数名和价值
是相应的价值。姓名
必须出现在引号内。您可以以任何顺序指定多个名称和值对参数Name1, Value1,…,的家
.
'boxconstraint',0.1,'ernelfunction','高斯','标准化',1
指定一个框限制0.1
,使用高斯(RBF)核函数,并对预测器进行标准化。
“CacheSize”
- - - - - -缓存大小1000
(默认)|“最大”
|积极的标量缓存大小,指定为逗号分隔对组成“CacheSize”
和“最大”
或正标量。
如果CacheSize
是“最大”
,然后软件储备足够的内存以保持整个内存n——- - - - - -n格拉姆矩阵.
如果CacheSize
是一个正标量,然后是软件储备CacheSize
用于训练模型的兆字节内存。
例子:“CacheSize”、“最大”
数据类型:双倍的
|单身的
|字符
|细绳
'clipalphas'
- - - - - -旗帜剪辑alpha系数真的
(默认)|假
标志到剪辑alpha系数,指定为逗号分隔的配对'clipalphas'
,要么真的
或者假
.
假设观察的alpha系数j是αj和盒子的约束观察j是Cj,j= 1,......,n, 在哪里n是训练样本大小。
价值 | 描述 |
---|---|
真的 |
在每次迭代时,如果αj是接近0还是接近Cj,然后matlab.®集αj到0或Cj,分别。 |
假 |
MATLAB在优化期间不会更改alpha系数。 |
Matlab存储最终价值α在Α
培训的SVM模型对象的属性。
ClipAlphas
会影响SMO和ISDA的收敛。
例子:“ClipAlphas”,假的
数据类型:逻辑
'deltagradienttolerance'
- - - - - -梯度差公差通过顺序最小优化(SMO)或迭代单数据算法(ISDA)获得的上部和下部违规者之间的梯度差异(ISDA),指定为包括逗号分隔的对'deltagradienttolerance'
一个非负标量。
如果DeltaGradientTolerance
是0
,则该软件不使用梯度差公差来检查优化收敛性。
默认值为:
1E-3
如果求解器是SMO(例如,您设置“规划求解”、“SMO的
)
0
如果解算器是ISDA(例如,您设置“规划求解”、“ISDA的
)
例子:'deltagrienttolerance',1e-2
数据类型:双倍的
|单身的
'gaptolerance'
- - - - - -可行性差距容差0
(默认)|非负标量通过SMO或ISDA获得的可行性差距耐受,指定为逗号分离的对组成'gaptolerance'
一个非负标量。
如果GapTolerance
是0
,则软件不使用间隙公差的可行性进行优化收敛性检查。
例子:'gaptolerance',1e-2
数据类型:双倍的
|单身的
“IterationLimit”
- - - - - -最大数值优化迭代次数1 e6
(默认)|正整数最大数量的数字优化迭代,指定为逗号分隔的对组成“IterationLimit”
一个正整数。
不管优化程序是否成功收敛,软件都会返回一个训练过的模型。Mdl。ConvergenceInfo
包含收敛信息。
例子:'iterationlimit',1e8
数据类型:双倍的
|单身的
'骨箱'
- - - - - -核函数'线性'
|'高斯'
|“rbf”
|'多项式'
|函数名核函数用来计算的元素格拉姆矩阵,指定为逗号分隔的配对组成'骨箱'
和内核函数名称。认为G(xj,xk)是元素(j,k)克矩阵,在哪里xj和xk是p-表示观测值的维向量j和k在X
.该表描述了支持的内核函数名称及其函数形式。金宝app
内核函数名 | 描述 | 公式 |
---|---|---|
'高斯' 或者“rbf” |
高斯或径向基函数(RBF)核,默认为单类学习 |
|
'线性' |
线性内核,默认为两类学习 |
|
'多项式' |
多项式的内核。用“PolynomialOrder”, 指定多项式内核问 . |
|
例如,您可以设置自己的内核函数,内核
, 通过设置“KernelFunction”、“内核”
.价值内核
必须具备这种形式。
功能G =内核(U, V)
U
是一个米——- - - - - -p矩阵。列对应预测变量,行对应观察值。
V
是一个n——- - - - - -p矩阵。列对应预测变量,行对应观察值。
G
是一个米——- - - - - -n格拉姆矩阵一排排的U
和V
.
kernel.m
必须在MATLAB路径上。
避免为内核函数使用通用名称是一个很好的实践。例如,调用一个sigmoid内核函数'mysigmoid'
而不是“乙状结肠”
.
例子:“KernelFunction”、“高斯”
数据类型:字符
|细绳
'kerneloffset'
- - - - - -内核偏移参数内核偏移量参数,指定为逗号分隔对,由'kerneloffset'
一个非负标量。
软件增加了Kerneloffset.
到克矩阵的每个元素。
默认值为:
0
如果解算器是SMO(即,您设置“规划求解”、“SMO的
)
0.1
如果解算器是ISDA(即,您设置“规划求解”、“ISDA的
)
例子:'kerneloffset',0
数据类型:双倍的
|单身的
'kernelscale'
- - - - - -内核比例参数1
(默认)|“汽车”
|积极的标量内核尺度参数,指定为逗号分隔对组成'kernelscale'
和“汽车”
或正标量。该软件划分预测器矩阵的所有元素X
通过价值KernelScale
.然后,软件应用合适的核范数来计算Gram矩阵。
如果您指定“汽车”
然后,软件使用启发式程序选择适当的比例因子。这种启发式程序使用分列,因此估计可能因对另一个呼叫而异。因此,要重现结果,请使用随机数种子使用RNG.
在培训之前。
如果您指定KernelScale
例如,您自己的内核功能,“KernelFunction”、“内核”
,则软件抛出错误。您必须在内部应用伸缩内核
.
例子:“KernelScale”、“汽车”
数据类型:双倍的
|单身的
|字符
|细绳
“KKTTolerance”
- - - - - -卡鲁什-库恩-塔克互补条件违背容忍Karush-Kuhn-Tucker (KKT)互补条件违规容限,指定为逗号分隔对,由“KKTTolerance”
一个非负标量。
如果kkttolerance.
是0
,然后该软件不使用KKT互补条件违规公差来检查优化融合。
默认值为:
0
如果求解器是SMO(例如,您设置“规划求解”、“SMO的
)
1E-3
如果解算器是ISDA(例如,您设置“规划求解”、“ISDA的
)
例子:'kkttolerance',1e-2
数据类型:双倍的
|单身的
“NumPrint”
- - - - - -优化诊断消息输出之间的迭代次数1000
(默认)|非负整数优化诊断消息输出之间的迭代次数,指定为逗号分隔对组成“NumPrint”
和一个非负整数。
如果您指定'verbose',1
和'numprint',numprint
,则该软件每次显示来自SMO和ISDA的所有优化诊断消息Numprint.
命令窗口中的迭代。
例子:“NumPrint”,500年
数据类型:双倍的
|单身的
'OutlierFraction'
- - - - - -训练数据中异常值的预期比例0
(默认)|间隔中的数字标量[0,1)预期比例的培训数据中的异常值,指定为逗号分隔对'OutlierFraction'
和间隔中的数字标量[0,1)。
假设你设置了'OutlierFraction',OutlieSfraction
, 在哪里outlierfraction
是一个大于0的值。
对于两班学习,软件实现强劲的学习.换句话说,软件尝试删除100 *outlierfraction
%的观测值时,优化算法收敛。被移走的观测值对应的是幅度很大的梯度。
对于单级学习,该软件发现了适当的偏见术语,以便outlierfraction
培训集中的观察结果具有负分数。
例子:'OutlierFraction',0.01
数据类型:双倍的
|单身的
'polynomialOrder'
- - - - - -多项式内核功能顺序3.
(默认)|正整数多项式内核功能订单,指定为逗号分隔对组成'polynomialOrder'
一个正整数。
如果你设置了'polynomialOrder'
和凯恩机组
不是'多项式'
,则软件抛出错误。
例子:“PolynomialOrder”,2
数据类型:双倍的
|单身的
'save金宝appsupportVectors'
- - - - - -存储支持向量金宝app、它们的标签和估计值α系数真的
|假
存储支持向量金宝app、它们的标签和估计值α系数作为所得模型的属性,指定为逗号分隔对组成'save金宝appsupportVectors'
和真的
或者假
.
如果Save金宝appSupportVectors
是真的
,得到的模型将支持向量存储在金宝app金宝app支持监视器
属性中的标签金宝appSupportVectorLabels.
财产和估计α系数在Α
Compact,SVM学习者的财产。
如果Save金宝appSupportVectors
是假
和凯恩机组
是'线性'
,生成的模型不存储支持向量和相关估计。金宝app
为了减少紧凑的支持向量机模型的内存消耗,指定Save金宝appSupportVectors
.
对于ecoC模型中的线性,SVM二进制学习者,默认值是假
.否则,默认值是真的
.
例子:'save金宝appsupportvectors',true
数据类型:逻辑
“ShrinkagePeriod”
- - - - - -活动集约简之间的迭代次数0
(默认)|非负整数活动集缩减之间的迭代次数,指定为由逗号分隔的对组成“ShrinkagePeriod”
和一个非负整数。
如果你设置了“ShrinkagePeriod”,0
,然后软件不会缩小活动集。
例子:'shrinkateperiod',1000
数据类型:双倍的
|单身的
“标准化”
- - - - - -标志为标准化预测器数据假
(默认)|真的
标志为标准化预测的数据,指定为逗号分隔的配对“标准化”
和真的
(1
) 或者假
(0)
.
如果你设置了“标准化”,真的
:
软件中心并缩放预测器数据的每列(X
)的加权列均值和标准差(加权标准化详情见算法).MATLAB没有标准化为分类预测器生成的虚拟变量列中包含的数据。
该软件利用标准化的预测矩阵训练分类器,但将未标准化的数据存储在分类器属性中X
.
例子:“标准化”,真的
数据类型:逻辑
'verbose'
- - - - - -冗长水平0
(默认)|1
|2
详细级别,指定为逗号分隔对组成'verbose'
和0
,1
, 或者2
.的价值verb
控制软件在命令窗口中显示的优化信息的数量,并将信息保存为要保存的结构mdl.convergenceinfo.history.
.
该表总结了可用的冗长级别选项。
价值 | 描述 |
---|---|
0 |
该软件不显示或保存收敛信息。 |
1 |
该软件显示诊断信息,并保存收敛准则Numprint. 迭代,Numprint. 名称-值对参数的值“NumPrint” . |
2 |
该软件显示诊断消息,并在每次迭代中保存收敛标准。 |
例子:'verbose',1
数据类型:双倍的
|单身的
默认情况下以及效率,Fitcecoc.
清空了Α
,金宝appSupportVectorLabels.
, 和金宝app支持监视器
所有线性SVM二进制学习者的属性。Fitcecoc.
清单bet
,而不是Α
,显示在模型中。
储藏Α
,金宝appSupportVectorLabels.
, 和金宝app支持监视器
,传递一个指定存储支持向量的线性SVM模板金宝appFitcecoc.
.例如,输入:
t = templateSVM ('save金宝appsupportVectors'Mdl = fitcecoc(X,Y,“学习者”t);
您可以通过传递结果来删除支持向量和相关金宝app值ClassificationECOC
模型到discard金宝appSupportVectors
.
克里斯汀尼尼,N。c。肖-泰勒。支持向量机和其他基于核的学习方法简介金宝app.英国剑桥:剑桥大学出版社,2000年。
[2]风扇,R.-e.,P.-h。陈和C.-J.林。“使用用于培训支持向量机的二阶信息的第二个订单信息进行工作选择。”金宝app机器学习研究杂志, 2005年第6卷,1889-1918页。
[3] Hastie,T.,R. Tibshirani和J. Friedman。统计学习的要素, 第二版。纽约:斯普林斯,2008年。
[4] Kecman V.,T. -M。黄,和M. Vogt。“巨大数据集训练内核机器的迭代单数据算法:理论与性能。”在金宝app支持向量机:理论与应用.由Lipo Wang编辑,255-274。柏林:Springer-Verlag,2005。
[5] Scholkopf,B.,J.C.C.C.Clatt,J.C. Shawe-Taylor,A. J. Smola和R. C. Williamson。“估计高维分布的支持。”金宝app神经第一版。,卷。13,第7号,2001号,第1443-1471页。
[6] Scholkopf, B.和A. Smola。核学习:支持向量机,正则化,优化和超越,自适应金宝app计算和机器学习.剑桥,马:2002年的麻省理工学院新闻。
你点击一个链接对应于这个MATLAB命令:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。金宝app
您还可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。