templateSVM
金宝app支持向量机模板
描述
例子
创建一个默认支持向量机模板金宝app
使用templateSVM
指定一个默认的支持向量机模板。
t = templateSVM ()
t =适合分类支持向量机的模板。α:[0 x1双]BoxConstraint: [] CacheSize: [] CachingMethod:“ClipAlphas: [] DeltaGradientTolerance:[]ε:[]GapTolerance: [] KKTTolerance: [] IterationLimit: [] KernelFunction:“KernelScale: [] KernelOffset: [] KernelPolynomialOrder: [] NumPrint:[]ν:[]OutlierFraction: [] RemoveDuplicates: [] ShrinkagePeriod:[]解算器:“StandardizeData: [] SaveSupportVectors: [] VerbosityLevel:[]版本:2金宝app方法:“支持向量机”类型:“分类”
模板对象的所有属性都是空的,除了方法
和类型
。当你通过t
训练函数,软件填写空的属性与各自的默认值。例如,软件填充KernelFunction
财产与“线性”
。其他默认值的详细信息,请参见fitcsvm
。
t
是一个计划,一个支持向量机学习,没有计算发生在你指定它。你可以通过t
来fitcecoc
为ECOC指定二进制学习者SVM多类学习。然而,默认情况下,fitcecoc
使用默认的SVM二进制学习者。
创建一个支持向量机模板ECOC多级学习
创建一个默认的支持向量机中使用的模板fitcecoc
。
加载费雪的虹膜数据集。
负载fisheriris
为支持向量机二元分类器创建一个模板,并指定使用高斯核函数。
t = templateSVM (“KernelFunction”,“高斯”)
t =适合分类支持向量机的模板。α:[0 x1双]BoxConstraint: [] CacheSize: [] CachingMethod:“ClipAlphas: [] DeltaGradientTolerance:[]ε:[]GapTolerance: [] KKTTolerance: [] IterationLimit: [] KernelFunction:“高斯”KernelScale: [] KernelOffset: [] KernelPolynomialOrder: [] NumPrint:[]ν:[]OutlierFraction: [] RemoveDuplicates: [] ShrinkagePeriod:[]解算器:“StandardizeData: [] SaveSupportVectors: [] VerbosityLevel:[]版本:2方法:“支金宝app持向量机”类型:“分类”
模板对象的所有属性都是空的,除了DistributionNames
,方法
,类型
。训练时,软件填写空的属性与各自的默认值。
指定t
作为一个二进制学习者ECOC多级模型。
Mdl = fitcecoc(量、种类、“学习者”t);
Mdl
是一个ClassificationECOC
多类分类器。默认情况下,软件培训Mdl
使用one-versus-one编码设计。
显示分类(resubstitution)误分类错误。
L = resubLoss (Mdl,“LossFun”,“classiferror”)
L = 0.0200
保留和丢弃支持向量的SVM二进制学习者金宝app
当你训练一个ECOC模型与线性SVM二进制学习者,fitcecoc
清空了α
,金宝appSupportVectorLabels
,金宝appSupportVectors
二进制学习者默认的属性。你可以选择而不是保留支持向量和相关值,然后从模型后丢弃。金宝app
加载费雪的虹膜数据集。
负载fisheririsrng (1);%的再现性
火车ECOC模型使用整个数据集。指定适当保留支持向量通过SVM模板。金宝app
t = templateSVM (“Save金宝appSupportVectors”,真正的);MdlSV = fitcecoc(量、种类、“学习者”t);
MdlSV
是一个培训ClassificationECOC
模型与线性SVM二进制学习者。默认情况下,fitcecoc
实现了一个one-versus-one编码设计,这就需要三个二进制三级学习的学习者。
访问估计 使用点符号(α)值。
α=细胞(3,1);α{1}= MdlSV.BinaryLearners {1} .Alpha;α{2}= MdlSV.BinaryLearners {2} .Alpha;α{3}= MdlSV.BinaryLearners {3} .Alpha;α
α=3×1单元阵列{3 x1双}{3 x1双}{23 x1双}
α
是一个3×1单元阵列存储的估计价值
。
丢弃的支持向量从ECOC金宝app模型和相关的值。
Mdl = discard金宝appSupportVectors (MdlSV);
Mdl
类似于MdlSV
,除了α
,金宝appSupportVectorLabels
,金宝appSupportVectors
属性的所有线性SVM二进制学习者是空的([]
)。
areAllEmpty = @ isempty ([x (x)。αx。金宝appSupportVectors x.SupportVectorLabels]);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
小于5%MdlSV
。
减少内存使用压实Mdl
然后清理Mdl
和MdlSV
从工作空间。
CompactMdl =紧凑(Mdl);清晰的MdlMdlSV;
预测的随机的标签行训练数据使用更有效的支持向量机模型。
idx = randsample(大小(量,1),1)
idx = 63
predictedLabel =预测(CompactMdl量(idx,:))
predictedLabel =1 x1单元阵列{“癣”}
trueLabel =物种(idx)
trueLabel =1 x1单元阵列{“癣”}
输入参数
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:“BoxConstraint”, 0.1,“KernelFunction”、“高斯”,“标准化”,1
指定了一个盒子的约束0.1
,使用高斯(RBF)内核,标准化预测。
CacheSize
- - - - - -缓存大小
1000年
(默认)|“最大”
|积极的标量
缓存大小,指定为逗号分隔组成的“CacheSize”
和“最大”
或积极的标量。
如果CacheSize
是“最大”
软件储备足够的内存,那么整个n——- - - - - -n格拉姆矩阵。
如果CacheSize
是一个积极的标量,那么软件储备CacheSize
mb的内存用于训练模型。
例子:“CacheSize”、“最大”
数据类型:双
|单
|字符
|字符串
ClipAlphas
- - - - - -国旗剪辑α系数
真正的
(默认)|假
国旗剪辑α系数,指定为逗号分隔组成的“ClipAlphas”
,要么真正的
或假
。
假设观察α系数j是αj和盒子约束的观察j是Cj,j= 1,…,n,在那里n是训练样本大小。
价值 | 描述 |
---|---|
真正的 |
在每个迭代中,如果αj0或接近附近是吗Cj,然后用MATLAB®集αj0或Cj,分别。 |
假 |
MATLAB优化期间不会改变α系数。 |
MATLAB商店的最终值α在α
训练支持向量机模型的属性对象。
ClipAlphas
会影响到SMO, ISDA收敛。
例子:“ClipAlphas”,假的
数据类型:逻辑
DeltaGradientTolerance
- - - - - -对梯度差异
负的标量
对上部和下部之间的梯度差异违规者通过序列最小优化算法(SMO)或迭代单一的数据(ISDA),指定为逗号分隔组成的“DeltaGradientTolerance”
和一个负的标量。
如果DeltaGradientTolerance
是0
,那么软件不使用梯度差异的宽容来检查优化收敛。
默认值是:
1 e - 3
如果解决SMO(例如,设置“规划求解”、“SMO的
)0
如果ISDA解算器(例如,设置“规划求解”、“ISDA的
)
例子:依照“DeltaGradientTolerance”, 1
数据类型:双
|单
GapTolerance
- - - - - -可行性间隙公差
0
(默认)|负的标量
可行性差距宽容了SMO或ISDA,指定为逗号分隔组成的“GapTolerance”
和一个负的标量。
如果GapTolerance
是0
,那么软件不使用公差检查的可行性差距优化收敛。
例子:依照“GapTolerance”, 1
数据类型:双
|单
IterationLimit
- - - - - -最大数量的数值优化迭代
1 e6
(默认)|正整数
最大数量的数值优化迭代,指定为逗号分隔组成的“IterationLimit”
和一个正整数。
无论软件返回训练模型优化程序成功地收敛。Mdl.ConvergenceInfo
包含聚合信息。
例子:“IterationLimit”, 1 e8
数据类型:双
|单
KernelFunction
- - - - - -核函数
“线性”
|“高斯”
|“rbf”
|多项式的
|函数名
核函数用于计算的元素格拉姆矩阵,指定为逗号分隔两人组成的“KernelFunction”
和核函数名称。假设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的道路。
这是一个很好的实践为内核函数避免使用通用名称。例如,调用一个s形的内核函数“mysigmoid”
而不是“乙状结肠”
。
例子:“KernelFunction”、“高斯”
数据类型:字符
|字符串
KernelOffset
- - - - - -内核偏移参数
负的标量
内核补偿参数,指定为逗号分隔组成的“KernelOffset”
和一个负的标量。
软件增加了KernelOffset
格拉姆矩阵的每个元素。
默认值是:
0
如果解决SMO(即设置“规划求解”、“SMO的
)0.1
如果ISDA解算器(即设置“规划求解”、“ISDA的
)
例子:“KernelOffset”, 0
数据类型:双
|单
KernelScale
- - - - - -内核尺度参数
1
(默认)|“汽车”
|积极的标量
内核尺度参数,指定为逗号分隔组成的“KernelScale”
和“汽车”
或积极的标量。预测软件将所有元素的矩阵X
的价值KernelScale
。然后,软件应用适当的内核规范计算格拉姆矩阵。
如果您指定
“汽车”
,那么软件使用启发式程序选择合适的比例因子。这种启发式程序使用二次抽样,所以估计可以改变从一个调用到另一个。因此,为了繁殖的结果,设置一个随机数种子使用rng
前培训。如果您指定
KernelScale
例如,和你自己的内核函数“KernelFunction”、“内核”
,那么软件将抛出一个错误。你必须申请比例内内核
。
例子:“KernelScale”、“汽车”
数据类型:双
|单
|字符
|字符串
KKTTolerance
- - - - - -违反宽容Karush-Kuhn-Tucker互补条件
负的标量
Karush-Kuhn-Tucker(马)互补条件违反宽容,指定为逗号分隔组成的“KKTTolerance”
和一个负的标量。
如果KKTTolerance
是0
,然后软件不使用马互补条件违反公差检查优化收敛。
默认值是:
0
如果解决SMO(例如,设置“规划求解”、“SMO的
)1 e - 3
如果ISDA解算器(例如,设置“规划求解”、“ISDA的
)
例子:依照“KKTTolerance”, 1
数据类型:双
|单
NumPrint
- - - - - -迭代次数之间的优化诊断消息输出
1000年
(默认)|非负整数
优化诊断消息输出之间的迭代次数,指定为逗号分隔组成的“NumPrint”
和一个非负整数。
如果您指定“详细”,1
和NumPrint, NumPrint
,那么软件显示所有从SMO, ISDA每个优化诊断消息numprint
在命令窗口迭代。
例子:“NumPrint”, 500年
数据类型:双
|单
OutlierFraction
- - - - - -预期的比例在训练数据异常值
0
(默认)|数字的标量区间[0,- 1)
预计比例的训练数据中的异常值,指定为逗号分隔组成的“OutlierFraction”
和一个数字标量区间[0,1)。
假设您设置OutlierFraction, OutlierFraction
,在那里outlierfraction
是一个大于0的值。
两种学习的软件实现强劲的学习。换句话说,软件试图删除100 *
outlierfraction
%的观察时,优化算法是收敛的。删除观察对应梯度大的大小。看到下面成了学习,软件术语,找到一个合适的偏见
outlierfraction
观察的训练集有负的成绩。
例子:“OutlierFraction”, 0.01
数据类型:双
|单
PolynomialOrder
- - - - - -多项式核函数的顺序
3
(默认)|正整数
多项式核函数,指定为逗号分隔组成的“PolynomialOrder”
和一个正整数。
如果你设置“PolynomialOrder”
和KernelFunction
不是多项式的
,那么软件将抛出一个错误。
例子:“PolynomialOrder”, 2
数据类型:双
|单
Save金宝appSupportVectors
- - - - - -商店的支持向金宝app量,其标签,和估计α系数
真正的
|假
商店的支持向金宝app量,其标签,和估计α结果模型的系数作为属性,指定为逗号分隔组成的“Save金宝appSupportVectors”
和真正的
或假
。
如果Save金宝appSupportVectors
是真正的
,由此产生的模型存储支持向量金宝app金宝appSupportVectors
财产,他们的标签金宝appSupportVectorLabels
财产,估计α系数的α
财产的紧凑,SVM的学习者。
如果Save金宝appSupportVectors
是假
和KernelFunction
是“线性”
,由此产生的模型并不存储支持向量和相关估计。金宝app
减少内存消耗,紧凑的SVM模型,指定Save金宝appSupportVectors
。
线性支持向量机的二进制学习者ECOC模型,默认值是假
。否则,默认值是真正的
。
例子:“Save金宝appSupportVectors”,真的
数据类型:逻辑
ShrinkagePeriod
- - - - - -减少活动组之间的迭代次数
0
(默认)|非负整数
设置迭代次数减少之间的活跃,指定为逗号分隔组成的“ShrinkagePeriod”
和一个非负整数。
如果你设置“ShrinkagePeriod”, 0
,那么软件不收缩活动集。
例子:“ShrinkagePeriod”, 1000年
数据类型:双
|单
标准化
- - - - - -国旗标准化预测数据
假
(默认)|真正的
标志标准化预测数据,指定为逗号分隔组成的“标准化”
和真正的
(1
)或假
(0)
。
如果你设置“标准化”,真的
:
软件中心和尺度预测数据的每一列(
X
)的加权平均值和标准偏差列,分别(加权标准化的细节,请参阅算法)。MATLAB哑变量中包含的不规范数据列生成的分类预测。使用标准化的软件训练分类器预测矩阵,但商店unstandardized分类器中的数据属性
X
。
例子:“标准化”,真的
数据类型:逻辑
详细的
- - - - - -冗长的水平
0
(默认)|1
|2
冗长的层面上,指定为逗号分隔组成的“详细”
和0
,1
,或2
。的价值详细的
控制软件的优化信息显示在命令窗口并保存的信息结构Mdl.ConvergenceInfo.History
。
这个表总结了冗长级别选项可用。
价值 | 描述 |
---|---|
0 |
软件不显示或保存融合信息。 |
1 |
软件显示诊断消息并保存每一个收敛标准numprint 迭代,numprint 名称-值对参数的值是“NumPrint” 。 |
2 |
软件显示诊断消息并保存在每一个迭代收敛标准。 |
例子:“详细”,1
数据类型:双
|单
输出参数
提示
默认情况下,为了提高效率,fitcecoc
清空了α
,金宝appSupportVectorLabels
,金宝appSupportVectors
属性对所有线性SVM二进制学习者。fitcecoc
列表β
,而不是α
,在模型中显示。
来存储α
,金宝appSupportVectorLabels
,金宝appSupportVectors
,通过一个线性支持向量机模板,指定存储支持向量金宝appfitcecoc
。例如,输入:
t = templateSVM (“Save金宝appSupportVectors”,真正的)Mdl = fitcecoc (X, Y,“学习者”t);
你可以把支持向量和相关值通过产生的金宝appClassificationECOC
模型discard金宝appSupportVectors
。
引用
[1]Christianini, N。,J. C. Shawe-Taylor.介绍支持向量机和其他基于学习的方法金宝app。英国剑桥:剑桥大学出版社,2000年。
[2]球迷,R.-E。,林志信。陈,C.-J。林。“工作集选择使用二阶信息训练支持向量机。”金宝app机器学习研究杂志》上6卷,2005年,页1889 - 1918。
[3]Hastie, T。,R. Tibshirani, and J. Friedman.统计学习的元素,第二版。纽约:施普林格出版社,2008年。
[4]Kecman V。,t - m。黄,m·沃格特。“迭代单一数据训练算法内核机器从巨大的数据集:理论和性能。“在金宝app支持向量机:理论和应用程序。由脂肪编辑,255 - 274。柏林:斯普林格出版社,2005年版。
[5]Scholkopf B。,J. C. Platt, J. C. Shawe-Taylor, A. J. Smola, and R. C. Williamson. “Estimating the Support of a High-Dimensional Distribution.”神经第一版第7卷。13日,2001年,页1443 - 1471。
[6]Scholkopf B。答:Smola。学习与内核:支持向量机,正则化优化,自适应计算金宝app和机器学习。剑桥,麻州:麻省理工学院出版社,2002年。
版本历史
介绍了R2014b
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。