templateKernel
内核模型模板
描述
templateKernel
创建一个适合拟合非线性分类高斯核模型的模板。
该模板指定了二元学习器模型、扩展空间的维数、核尺度、盒约束和正则化强度等参数。创建模板后,通过将模板和数据传递给fitcecoc
.
例子
创建默认内核模型模板
创建一个默认内核模型模板,并使用它来训练一个纠错输出代码(ECOC)多类模型。
加载费雪的虹膜数据集。
负载fisheriris
创建一个默认内核模型模板。
t = templateKernel()
t =适合分类内核的模板。BetaTolerance: [] BlockSize: [] BoxConstraint: [] Epsilon: [] NumExpansionDimensions: [] GradientTolerance: [] HessianHistorySize: [] IterationLimit: [] KernelScale: [] Lambda: [] Learner: 'svm' LossFunction: [] Stream: [] VerbosityLevel: [] Version: 1 Method: 'Kernel' Type: 'classification'
在训练期间,软件用各自的默认值填充空属性。
指定t
作为ECOC多类模型的二元学习器。
Mdl = fitcecoc(meas,species,“学习者”, t)
Mdl = CompactClassificationECOC ResponseName: 'Y' ClassNames: {'setosa' 'versicolor' 'virginica'} ScoreTransform: 'none' BinaryLearners: {3x1 cell} CodingMatrix: [3x3 double]属性,方法
Mdl
是一个CompactClassificationECOC
多类分类器。
指定内核模型模板选项
创建一个具有附加选项的内核模型模板,以实现由启发式过程选择的内核尺度参数的逻辑回归。
t = templateKernel(“学习者”,“物流”,“KernelScale”,“汽车”)
t =适合分类内核的模板。BetaTolerance: [] BlockSize: [] BoxConstraint: [] Epsilon: [] NumExpansionDimensions: [] GradientTolerance: [] HessianHistorySize: [] IterationLimit: [] KernelScale: 'auto' Lambda: [] Learner: 'logistic' LossFunction: [] Stream: [] VerbosityLevel: [] Version: 1 Method: 'Kernel' Type: 'classification'
输入参数
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:“学习者”,“物流”、“NumExpansionDimensions”,2 ^ 15,“KernelScale”、“汽车”
指定在将预测器数据映射到对象后实现逻辑回归2 ^ 15
采用启发式方法选择核尺度参数进行特征展开的维度空间。
学习者
- - - - - -线性分类模型类型
“支持向量机”
(默认)|“物流”
线性分类模型类型,指定为由逗号分隔的对组成“学习者”
而且“支持向量机”
或“物流”
.
在下表中,
x观察值(行向量)是从p预测变量。
是用于特征展开的观测值(行向量)的变换。T(x)地图x在 到高维空间( ).
β是一个系数向量。
b是标量偏置。
价值 | 算法 | 响应范围 | 损失函数 |
---|---|---|---|
“支持向量机” |
金宝app支持向量机 | y∊{1};正类为1,其他为-1 | 铰链: |
“物流” |
逻辑回归 | 一样“支持向量机” |
异常(物流): |
例子:“学习者”,“物流”
NumExpansionDimensions
- - - - - -扩展空间的维数
“汽车”
(默认)|正整数
扩展空间的维数,指定为由逗号分隔的对组成“NumExpansionDimensions”
而且“汽车”
或者一个正整数。为“汽车”
,templateKernel
函数选择使用的维数2 . ^装天花板(最低(log2 (p) + 5、15))
,在那里p
是预测因子的数量。
详细信息请参见随机特征扩展.
例子:“NumExpansionDimensions”、2 ^ 15
数据类型:字符
|字符串
|单
|双
BoxConstraint
- - - - - -箱约束
1(默认)|积极的标量
框约束,指定为逗号分隔的对,由“BoxConstraint”
一个正标量。
此论点仅当“学习者”
是“支持向量机”
(默认值),并且不指定正则化术语强度的值“λ”
.你可以指定“BoxConstraint”
或“λ”
因为方框约束(C)和正则化项强度(λ)是由C= 1 / (λn),在那里n是观测的数量。
例子:“BoxConstraint”,100年
数据类型:单
|双
λ
- - - - - -正则化项强度
“汽车”
(默认)|负的标量
正则化术语的强度,指定为由逗号分隔的对组成“λ”
而且“汽车”
或者一个非负标量。
为“汽车”
的值。λ
是1 /n,在那里n是观测的数量。
当学习者
是“支持向量机”
,您可以指定任何一个BoxConstraint
或λ
因为方框约束(C)和正则化项强度(λ)是由C= 1 / (λn).
例子:“λ”,0.01
数据类型:字符
|字符串
|单
|双
BetaTolerance
- - - - - -线性系数和偏置项的相对公差
1的军医
(默认)|负的标量
线性系数和偏置项(截距)的相对公差,指定为非负标量。
让 ,即优化迭代时的系数向量和偏置项t.如果 ,则优化终止。
如果你还指定GradientTolerance
,当软件满足任意一个停止条件时,优化终止。
例子:BetaTolerance = 1 e-6
数据类型:单
|双
GradientTolerance
- - - - - -绝对梯度公差
1 e-6
(默认)|负的标量
绝对梯度公差,指定为非负标量。
让 为目标函数相对于优化迭代时的系数和偏差项的梯度向量t.如果 ,则优化终止。
如果你还指定BetaTolerance
,当软件满足任意一个停止条件时,优化终止。
例子:GradientTolerance = 1 e-5
数据类型:单
|双
IterationLimit
- - - - - -优化迭代的最大次数
正整数
优化迭代的最大次数,指定为正整数。
类所指定的,如果转换后的数据适合内存,则默认值为1000BlockSize
名称-值参数。否则,默认值为100。
例子:IterationLimit = 500
数据类型:单
|双
BlockSize
- - - - - -已分配的最大内存量
4 e ^ 3
(4 gb)(默认)|积极的标量
分配的最大内存量(以兆字节为单位),由逗号分隔的对组成“BlockSize”
一个正标量。
如果templateKernel
所需的内存大于的值“BlockSize”
为了保存转换后的预测器数据,该软件使用一种块明智的策略。有关分区策略的详细信息,请参见算法.
例子:e4 BlockSize, 1
数据类型:单
|双
RandomStream
- - - - - -随机数流
全球流(默认)|随机流对象
用于数据转换再现性的随机数流,指定为随机流对象。详细信息请参见随机特征扩展.
使用RandomStream
来再现所使用的随机基函数templateKernel
将预测数据转换到高维空间。详细信息请参见使用RandStream管理全局流而且创建和控制随机数流.
例子:RandomStream = RandStream(“mlfg6331_64”)
HessianHistorySize
- - - - - -黑森近似的历史缓冲区大小
15
(默认)|正整数
黑森近似的历史缓冲区大小,指定为逗号分隔的对,由“HessianHistorySize”
一个正整数。在每次迭代中,templateKernel
用最新的统计数据构成了黑森近似HessianHistorySize
迭代。
例子:“HessianHistorySize”,10
数据类型:单
|双
详细的
- - - - - -冗长的水平
0
(默认)|1
详细级别,指定为逗号分隔的对,由“详细”
,要么0
或1
.详细的
控制在命令行上显示诊断信息。
价值 | 描述 |
---|---|
0 |
templateKernel 不显示诊断信息。 |
1 |
templateKernel 显示目标函数、梯度幅度和其他诊断信息的值。 |
例子:“详细”,1
数据类型:单
|双
输出参数
更多关于
随机特征扩展
随机扩展功能,如随机厨房水槽[1]或快餐[2],是一种近似高斯核的核分类算法,以计算效率高的方式用于大数据。随机特征扩展对于拥有大型训练集的大数据应用更为实用,但也可以应用于适合内存的较小数据集。
内核分类算法在将特征映射到高维空间后,寻找一个最优超平面,将数据分成两类。在低维空间中不可线性分离的非线性特征可以在扩展的高维空间中被分离。超平面分类的所有计算都只使用点积。下载188bet金宝搏你可以通过替换点积得到一个非线性分类模型x1x2'用非线性核函数 ,在那里x我是我观测值(行向量)和φ(x我)是映射的变换吗x我到高维空间(称为“核技巧”)。然而,评估G(x1,x2)(克矩阵)对于一个大数据集(大n).
随机特征展开方案寻找一个随机变换,使其点积近似于高斯核。也就是说,
在哪里T(x)地图x在 到高维空间( ).随机厨房水槽方案使用随机转换
在哪里 样品是从哪里抽取的 而且σ是核标度。这个方案需要O(米p)计算和存储。
快餐计划引入了另一种随机基础V而不是Z使用阿达玛矩阵结合高斯尺度矩阵。这种随机基将计算成本降低到O(米日志
p)并将存储减少到O(米).
可以为指定值米而且σ使用NumExpansionDimensions
而且KernelScale
的名称-值参数templateKernel
,分别。
的templateKernel
函数使用Fastfood格式进行随机特征扩展,并使用线性分类训练高斯核分类模型。不像求解器templateSVM
函数,这需要计算n——- - - - - -n克矩阵,解算器templateKernel
只需要形成一个大小的矩阵n——- - - - - -米,米通常比n对于大数据。
箱约束
盒子约束是一个参数,它控制对违反边距的观测值施加的最大惩罚,并有助于防止过拟合(正则化)。增加框约束可以导致更长的训练时间。
方框约束(C)和正则化项强度(λ)是由C= 1 / (λn),在那里n是观测的数量。
算法
templateKernel
利用有限内存Broyden-Fletcher-Goldfarb-Shanno (LBFGS)求解器使正则化目标函数最小化。l2)正规化。要查找用于训练的LBFGS求解器的类型,请键入FitInfo。解算器
在命令窗口。
“LBFGS-fast”
- LBFGS求解器。“LBFGS-blockwise”
- LBFGS求解器与块明智的策略。如果templateKernel
所需的内存大于的值BlockSize
为了保存转换后的预测器数据,该函数使用块策略。“LBFGS-tall”
- LBFGS求解器与块明智的策略高阵列。
当templateKernel
它采用块策略,通过在每次迭代中将损失和梯度的计算分布到数据的不同部分来实现LBFGS。同时,templateKernel
通过将模型局部拟合到部分数据并通过平均将系数组合,改进线性系数和偏置项的初始估计。如果你指定“详细”,1
,然后templateKernel
显示每个数据传递的诊断信息,并将信息存储在历史
领域的FitInfo
.
当templateKernel
不使用区块策略,初始估计值为零。如果你指定“详细”,1
,然后templateKernel
控件中显示每次迭代的诊断信息并将信息存储在历史
领域的FitInfo
.
参考文献
[1]拉希米,A.和B.雷希特。大规模核机器的随机特征。神经信息处理系统研究进展.Vol. 20, 2008, pp. 1177-1184。
[2] Le, Q, T. Sarlós和A. Smola。“快餐-在对数线性时间内近似核扩展。”第30届机器学习国际会议论文集.Vol. 28 No. 3, 2013, pp. 244-252。
[3]黄,P. S., H. Avron, T. N. Sainath, V. Sindhwani和B. Ramabhadran。“核方法匹配TIMIT上的深度神经网络。”2014年IEEE声学、语音和信号处理国际会议.2014,第205-209页。
扩展功能
高大的数组
使用行数超过内存容量的数组进行计算。
通过传递内核模型模板和tall数组来训练模型时的使用注意事项和限制fitcecoc
:
当您使用高数组时,这些名称-值对参数的默认值是不同的。
“详细”
—默认值为1
.“BetaTolerance”
—将默认值放宽为1 e - 3
.“GradientTolerance”
—将默认值放宽为1 e-5
.“IterationLimit”
—将默认值放宽为20.
.
如果
“KernelScale”
是“汽车”
,然后templateKernel
所控制的随机流tallrng
二次抽样。为了重现性,您必须为全局流和受控的随机流设置随机数种子tallrng
.如果
“λ”
是“汽车”
,然后templateKernel
可能需要额外的遍历数据来计算观测的次数。templateKernel
使用块明智的策略。详细信息请参见算法.
有关更多信息,请参见高大的数组.
版本历史
在R2018b中引入
另请参阅
Abrir比如
Tiene una versión modificada de este ejemplo。¿Desea abrir este ejemplo con sus modificaciones?
MATLAB突击队
Ha hecho clic en unenlace que对应一个este commando de MATLAB:
弹射突击队introduciéndolo en la ventana de commandos de MATLAB。Los navegadores web no permission comandos de MATLAB。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。