用随机特征展开拟合高斯核分类模型
菲克内尔
训练或交叉验证二元高斯核分类模型的非线性分类。菲克内尔
对于具有大型训练集的大数据应用程序更为实用,但也可以应用于适合内存的较小数据集。
菲克内尔
将低维空间中的数据映射到高维空间,然后通过最小化正则化目标函数在高维空间中拟合线性模型。在高维空间中获得线性模型相当于将高斯核应用于低维空间中的模型。可用的线性分类n模型包括正则化支持向量机(SVM)和logistic回归模型。金宝app
要训练用于内存数据二进制分类的非线性SVM模型,请参阅fitcsvm
.
返回内核分类模型Mdl
= fitckernel (资源描述
,ResponseVarName
)Mdl
使用表中包含的预测变量进行培训资源描述
和类标签Tbl.ResponseVarName
.
[
还返回超参数优化结果Mdl
,FitInfo
,HyperparameterOptimizationResults
]=菲克内尔(___)HyperparameterOptimizationResults
方法优化超参数“OptimizeHyperparameters”
名称-值对的论点。
使用支持向量机训练二值核分类模型。
加载电离层
数据集。这个数据集有34个预测器和351个雷达回波的二进制响应,或者是坏的(“b”
)或好(‘g’
).
负载电离层(氮、磷)大小(X) =
n=351
p=34
resp=唯一(Y)
resp =2x1电池{'b'}{'g'}
训练二元核分类模型,识别雷达回波是否不良(“b”
)或好(‘g’
)。提取拟合摘要,以确定优化算法使模型与数据拟合的程度。
rng (“默认”)%的再现性[Mdl, FitInfo] = fitckernel (X, Y)
Mdl=ClassificationKernel ResponseName:'Y'类名称:{'b''g'}学习者:'svm'NumExpansionDimensions:2048内核尺度:1 Lambda:0.0028 BoxConstraint:1属性、方法
FitInfo=带字段的结构:Solver: 'LBFGS-fast' LossFunction: 'hinge' Lambda: 0.0028 betaterance: 1.0000e-04 GradientTolerance: 1.0000e-06 objectivvalue: 0.2604 GradientMagnitude: 0.0028 RelativeChangeInBeta: 8.2512e-05 FitTime: 0.1526 History: []
Mdl
是一个ClassificationKernel
模型。检查样本内分类误差,可以通过Mdl
和培训数据或新数据损失
函数。或者,你可以不去Mdl
和新的预测数据预测
用于预测新观测值的类标签的函数。你也可以通过Mdl
并将训练数据发送到的简历
继续培训的职能。
FitInfo
是包含优化信息的结构数组。请使用FitInfo
确定优化终止测量是否令人满意。
为了获得更好的准确性,您可以增加优化迭代的最大次数(“IterationLimit”
)并减小公差值(“BetaTolerance”
和“GradientTolerance”
),使用名称-值对参数。这样做可以改善诸如客观价值
和RelativeChangeInBeta
在FitInfo
。您还可以使用优化模型参数“OptimizeHyperparameters”
名称-值对的论点。
加载电离层
数据集。这个数据集有34个预测器和351个雷达回波的二进制响应,或者是坏的(“b”
)或好(‘g’
).
负载电离层rng (“默认”)%的再现性
交叉验证二进制内核分类模型。默认情况下,软件使用10倍交叉验证。
CVMdl = fitckernel (X, Y,“CrossVal”,“上”)
CVMdl=ClassificationPartitionedKernel CrossValidatedModel:'Kernel'ResponseName:'Y'NumObservations:351 KFold:10 Partition:[1x1 cvpartition]类名:{'b'g'}ScoreTransform:'none'属性、方法
numel(CVMdl.培训)
ans=10
CVMdl
是一个ClassificationPartitionedKernel
模型。因为菲克内尔
实现了10倍交叉验证,CVMdl
包含10ClassificationKernel
软件在训练折叠(in-fold)观察中训练的模型。
估计交叉验证的分类误差。
kfoldLoss(CVMdl)
ans=0.0940
分类错误率约为9%。
使用“OptimizeHyperparameters”
名称-值对的论点。
加载电离层
数据集。这个数据集有34个预测器和351个雷达回波的二进制响应,或者是坏的(“b”
)或好(‘g’
).
负载电离层
通过使用自动超参数优化,找到最小化五倍交叉验证损失的超参数。指定“OptimizeHyperparameters”
作为“汽车”
以便菲克内尔
的最优值“内核尺度”
和“λ”
名称-值对参数。为了再现性,设置随机种子并使用“expected-improvement-plus”
采集功能。
rng (“默认”)[Mdl,FitInfo,HyperparameterOptimizationResults]=fitckernel(X,Y,“OptimizeHyperparameters”,“汽车”,...“HyperparameterOptimizationOptions”结构(“AcquisitionFunctionName”,“expected-improvement-plus”))
|=====================================================================================================| | Iter | Eval客观客观| | | BestSoFar | BestSoFar | KernelScaleλ| | | | |结果运行时| | | (estim(观察) .) | | | |=====================================================================================================| |最好1 | | 0.35897 | 0.61226 | 0.35897 | 0.35897 | 64.836 | 4.4811 e-06 | | 2 |接受| 0.35897 | 0.89723 | 0.35897 | 0.35897 | 0.036335 | 0.015885 | | 3 |接受| 0.39601 | 1.0719 | 0.35897 | 0.36053 | 0.0022147 | 6.8254 e-06 | | 4 |接受| 0.35897 | 0.51388 | 0.35897 | 0.35898 | 5.1259 | 0.28097 | | 5 |接受| 0.35897 | 0.87527 | 0.35897 |0.35897 | 0.24853 | 0.10828 | | 6 |接受| 0.35897 | 0.33667 | 0.35897 | 0.35897 | 885.09 | 0.00057316 | | 7最好| | 0.10826 | 1.4449 | 0.10826 | 0.10833 | 8.0346 | 0.0048286 | | 8最好| | 0.076923 | 0.60785 | 0.076923 | 0.076999 | 7.0902 | 0.0034068 | | | 9日接受| 0.091168 | 0.7268 | 0.076923 | 0.077059 | 9.1504 | 0.0020604 | | 10 | |最好0.062678 | 0.88783 | 0.062678 | 0.062723 | 3.5487 | 0.0025912 | | | 11日接受| 0.062678 | 0.90467 | 0.062678 | 0.062741 | 2.3869 | 0.003321 | | | 12日接受| 0.41026 | 0.76809 | 0.062678 | 0.062536 | 0.14075 | 0.0022499 | | | 13日接受| 0.062678 | 1.1677 | 0.062678 | 0.062532 | 3.4215 | 0.0036803 | | | 14日接受| 0.062678 | 1.1586 | 0.062678 |最好15 | 0.061956 | 3.2928 | 0.0030533 | | | 0.05698 | 0.95405 | 0.05698 | 0.057204 | 5.0598 | 0.0025499 | | | 16日接受| 0.062678 | 1.0064 | 0.05698 | 0.057186 | 5.3401 | 0.0015096 | | | 17日接受| 0.05698 | 0.70785 | 0.05698 | 0.057118 | 1.813 | 0.0069209 | | | 18日接受| 0.059829 | 0.6706 | 0.05698 | 0.057092 | 1.5122 | 0.0046637 | | |接受| 0.059829 | 0.80386 | 0.05698 | 0.05718 | 1.9277 | 0.0056364 | | |接受20 | 0.065527 | 0.76025 | 0.05698 | 0.057189 | 1.4064 | 0.0094306 | |=====================================================================================================| | Iter | Eval客观客观| | | BestSoFar | BestSoFar | KernelScaleλ| | | |运行结果| | | | (estim(观察) .) | | | |=====================================================================================================| | 21日|接受| 0.05698 | 1.1415 | 0.05698 | 0.057033 | 5.1719 | 0.0023614 | | 22最好| | 0.054131 | 2.5181 | 0.054131 | 0.054176 | 1.9618 | 6.5704 e-05 | | 23最好| | 0.042735 | 0.7694 | 0.042735|0.042763 | 1.9463 | 1.0169e-05 | | 24 | Accept | 0.082621 | 1.2229 | 0.042735 | 0.042775 | 1.0661 | 1.3245e-05 | | 25 | Accept | 0.054131 | 2.0186 | 0.042735 | 0.042789 | 3.288 | 2.0035e-05 | | 26 | Accept | 0.062678 | 1.393 | 0.042735 | 0.042769 | 2.657 | 3.0334e-06 | | 27 | Accept | 0.059829 | 1.1079 | 0.042735 | 0.043054 | 2.0381 | 1.9791e-05 | | 28 | Accept | 0.042735 | 2.2283 | 0.042735 | 0.042764 | 3.5043 | 0.0001237 | | 29 | Accept | 0.054131 | 0.89117 | 0.042735 | 0.042764 | 1.3897 | 3.2288e-06 | | 30 | Accept | 0.062678 | 1.2096 | 0.042735 | 0.042792 | 2.2414 | 0.0002259 |
__________________________________________________________ 优化完成。maxobjective达到30个。总函数计算:30总运行时间:69.4698秒总目标函数计算时间:31.3772最佳观测可行点:KernelScale Lambda ___________ __________ 1.9463 1.0169e-05观测目标函数值= 0.042735估计目标函数值= 0.043106函数计算时间= 0.7694最佳估计可行点(根据模型):KernelScale Lambda ___________ _________ 3.5043 0.0001237估计的目标函数值= 0.042792估计的函数计算时间= 1.6119
Mdl=ClassificationKernel ResponseName:'Y'类名称:{'b'g'}学习者:'svm'NumeExpansionDimensions:2048内核规模:3.5043 Lambda:1.2370e-04 BoxConstraint:23.0320属性、方法
FitInfo=带字段的结构:Solver: 'LBFGS-fast' LossFunction: 'hinge' Lambda: 1.2370e-04 betaterance: 1.0000e-04 GradientTolerance: 1.0000e-06 objectivvalue: 0.0426 GradientMagnitude: 0.0028 RelativeChangeInBeta: 8.9154e-05 FitTime: 0.3753 History: []
HyperparameterOptimizationResults = BayesianOptimization属性:ObjectiveFcn: @createObjFcn / inMemoryObjFcn VariableDescriptions: [4 x1 optimizableVariable]选项:[1 x1 struct] MinObjective: 0.0427 XAtMinObjective: [1 x2表]MinEstimatedObjective: 0.0428 XAtMinEstimatedObjective: [1 x2表]NumObjectiveEvaluations:30 TotalElapsedTime: 69.4698 NextPoint: [1x2 table] XTrace: [30x2 table] ObjectiveTrace: [30x1 double] ConstraintsTrace: [] UserDataTrace: {30x1 cell} ObjectiveEvaluationTimeTrace: [30x1 double] IterationTimeTrace: [30x1 double] ErrorTrace: [30x1 double]可行性跟踪:[30x1 logical]可行性概率跟踪:[30x1 double] IndexOfMinimumTrace: [30x1 double] objectivminimimumtrace: [30x1 double] estimatedobjectivminimimumtrace: [30x1 double]
对于大数据,优化过程可能需要很长时间。如果数据集太大,无法运行优化过程,可以尝试仅使用部分数据优化参数。使用datasample
函数并指定“替换”、“假”
抽样数据而不进行替换。
X
- - - - - -预测数据Y
- - - - - -类标签类标签,指定为类别、字符或字符串数组、逻辑或数字向量或字符向量的单元格数组。
菲克内尔
金宝app仅支持二进制分类。要么Y
必须正好包含两个不同的类,或者必须使用一会
名称-值对的论点。
如果Y
是字符数组,则每个元素必须与数组的一行相对应。
的长度Y
必须等于中的观察数X
或资源描述
.
一个好的实践是使用一会
名称-值对的论点。
数据类型:分类
|烧焦
|一串
|逻辑
|单
|双重的
|细胞
资源描述
- - - - - -样本数据用于训练模型的样本数据,以表格形式指定。每行资源描述
对应一个观察值,每一列对应一个预测变量。可选地,资源描述
可以为响应变量包含一个额外的列。除了字符向量的单元格数组之外,不允许使用多列变量和单元格数组。
如果资源描述
包含响应变量,并且您希望使用中的所有剩余变量资源描述
作为预测器,然后使用ResponseVarName
.
如果资源描述
包含响应变量,并且您只希望使用中剩余变量的子集资源描述
作为预测器,然后通过使用公式
.
如果资源描述
不包含响应变量,则使用Y
.长度the response variable and the number of rows in资源描述
必须是相等的。
数据类型:表格
公式
- - - - - -反应变量和预测变量子集的解释模型解释模型的响应变量和预测变量的子集,指定为字符向量或字符串标量的形式“Y ~ x1 + x2 + x3”
.在本表格中,Y
表示响应变量,和x1
,x2
,及x3
表示预测变量。
中指定变量的子集资源描述
作为训练模型的预测器,请使用公式。如果指定公式,则软件不会在中使用任何变量资源描述
没有出现在公式
.
公式中的变量名必须是其中的两个变量名资源描述
(Tbl.Properties.VariableNames
)并且是有效的MATLAB®标识符。您可以验证变量名资源描述
通过使用伊斯瓦名称
如果变量名无效,则可以使用matlab.lang.makeValidName
函数。
数据类型:烧焦
|一串
请注意
该软件将南
,空字符向量(''
),空字符串(""
),< >失踪
,及<未定义>
元素作为缺失值,并删除具有以下特征的观察值:
响应变量中缺少值
在预测器观察中至少有一个缺失值X
或资源描述
)
南
价值或0
重量(“重量”
)
指定可选的逗号分隔的对名称、值
参数。的名字
参数名和价值
是对应的值。的名字
必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家
.
Mdl=Fitchernel(X,Y,'Learner','logistic','NumExpansionDimensions',2^15,'KernelScale','auto')
在将预测数据映射到2^15
通过启发式程序选择核尺度参数,使用特征展开的维空间。
请注意
的参数不能同时使用任何交叉验证的名称-值对参数“OptimizeHyperparameters”
名称-值对的论点。可以为。修改交叉验证“OptimizeHyperparameters”
只有使用“HyperparameterOptimizationOptions”
名称-值对的论点。
“学习者”
- - - - - -线性分类模型型“svm”
(默认)|“物流”
线性分类模型类型,指定为逗号分隔对组成“学习者”
和“svm”
或“物流”
.
在下表中,
x观察(行向量)来自哪里
是用于特征扩展的观察值(行向量)的变换。T(
β是向量
b为标量偏差。
价值 | 算法 | 响应范围 | 损失函数 |
---|---|---|---|
“svm” |
金宝app支持向量机 | y∊ {-1,1};正类为1,否则为-1 | 铰链: |
“物流” |
逻辑回归 | 一样“svm” |
偏差(逻辑): |
例子:“学习者”,“物流”
“NumeExpansionDimensions”
- - - - - -膨胀空间的维数“汽车”
(默认)|正整数扩展空间的维数,指定为由逗号分隔的对组成“NumeExpansionDimensions”
和“汽车”
或正整数。对于“汽车”
,菲克内尔
函数选择使用的维度数2 . ^装天花板(最低(log2 (p) + 5、15))
哪里p
是预测器的数量。
有关详细信息,请参见随机特性扩张.
例子:“NumExpansionDimensions”、2 ^ 15
数据类型:烧焦
|一串
|单
|双重的
“BoxConstraint”
- - - - - -框约束框约束,指定为逗号分隔的对,由“BoxConstraint”
和一个正标量。
此参数仅在以下情况下有效:“学习者”
是“svm”
(默认)并且不指定正则化项“强度”的值“λ”
。您可以指定其中一个“BoxConstraint”
或“λ”
因为方框约束(
例子:“BoxConstraint”,100年
数据类型:单
|双重的
“λ”
- - - - - -正则化项强度“汽车”
(默认)|负的标量正则化项强度,指定为逗号分隔对组成“λ”
和“汽车”
或非负标量。
为“汽车”
的价值“λ”
是1 /
您可以指定“BoxConstraint”
或“λ”
因为方框约束(
例子:“λ”,0.01
数据类型:烧焦
|一串
|单
|双重的
“CrossVal”
- - - - - -标记来训练交叉验证分类器“关闭”
(默认)|“上”
标记来训练交叉验证的分类器,指定为逗号分隔对,由“克罗斯瓦尔”
和“上”
或“关闭”
.
如果您指定“上”
然后,软件以10倍的倍数训练交叉验证分类器。
控件可以覆盖此交叉验证设置CVPartition
,坚持
,KFold
或Leaveout
名称-值对参数。一次只能使用一个交叉验证名称-值对参数来创建交叉验证模型。
例子:“Crossval”,“on”
“CVPartition”
- - - - - -交叉验证分区[]
(默认)|cvpartition
分区对象交叉验证分区,指定为cvpartition
分区对象由cvpartition
. 分区对象指定交叉验证的类型以及训练集和验证集的索引。
要创建交叉验证模型,只能指定以下四个名称值参数之一:CVPartition
,坚持
,KFold
或Leaveout
.
例子:假设您使用以下方法创建了一个随机分区,用于对500个观测数据进行5倍交叉验证本量利= cvpartition(500年,“KFold”,5)
。然后,您可以使用指定交叉验证模型“CVPartition”,本量利
.
“坚持”
- - - - - -用于抵抗验证的数据部分用于抵抗验证的数据的一部分,指定为范围(0,1)中的标量值。如果您指定“坚持”,p
,则软件完成以下步骤:
随机选择和保留p * 100
%将这些数据作为验证数据,并使用其余数据对模型进行训练。
将经过训练的小型模型存储在训练有素的
交叉验证模型的属性。
要创建交叉验证模型,只能指定以下四个名称值参数之一:CVPartition
,坚持
,KFold
或Leaveout
.
例子:“坚持”,0.1
数据类型:双重的
|单
“KFold”
- - - - - -折叠次数10
(默认)|大于1的正整数在交叉验证模型中使用的折叠数,指定为大于1的正整数。如果您指定“KFold”,k
,则软件完成以下步骤:
将数据随机划分为k
集。
对于每个集合,保留该集合作为验证数据,并使用另一个来训练模型k
– 1集。
存储k
紧凑,训练模型在k
-by-1细胞载体训练有素的
交叉验证模型的属性。
要创建交叉验证模型,只能指定以下四个名称值参数之一:CVPartition
,坚持
,KFold
或Leaveout
.
例子:“KFold”,5
数据类型:单
|双重的
“Leaveout”
- - - - - -省略一个交叉验证标志“关闭”
(默认)|“上”
省略一交叉验证标志,指定为逗号分隔的对,由“Leaveout”
和“上”
或“关闭”
.如果you specify“Leaveout”,“上”
,那么,对于每一个
保留观测数据作为验证数据,并使用其他数据训练模型
存储训练有素的
交叉验证模型的属性。
要创建一个交叉验证的模型,您只能使用以下四个名称-值对参数之一:CVPartition
,坚持
,KFold
或Leaveout
.
例子:“Leaveout”,“上”
“BetaTolerance”
- - - - - -线性系数和偏差项的相对公差1 e-5
(默认)|负的标量线性系数和偏差项(截距)的相对公差,指定为逗号分隔对,包括“BetaTolerance”
一个非负标量。
让
,即优化迭代时的系数向量和偏差项
如果您还指定GradientTolerance
,则当软件满足任一停止条件时,优化终止。
例子:e-6 BetaTolerance, 1
数据类型:单
|双重的
“GradientTolerance”
- - - - - -绝对梯度宽容1 e-6
(默认)|负的标量绝对梯度容差,指定为逗号分隔对,由“GradientTolerance”
一个非负标量。
让
是目标函数在优化迭代时相对于系数和偏差项的梯度向量
如果您还指定BetaTolerance
,则当软件满足任一停止条件时,优化终止。
例子:“梯度公差”,1e–5
数据类型:单
|双重的
“IterationLimit”
- - - - - -最大优化迭代次数最大优化迭代次数,指定为逗号分隔对组成“IterationLimit”
一个正整数。
如果转换的数据适合内存,则默认值为1000,如块大小
名称-值对的论点。否则,默认值为100。
例子:“IterationLimit”,500年
数据类型:单
|双重的
“块大小”
- - - - - -分配的最大内存量4e^3
(4 gb)(默认)|积极的标量最大分配内存量(兆字节),指定为逗号分隔对,由“块大小”
和一个正标量。
如果菲克内尔
需要比价值更多的内存“块大小”
为了保存转换后的预测数据,软件使用分块策略。有关分块策略的详细信息,请参阅算法.
例子:“块大小”,1e4
数据类型:单
|双重的
“RandomStream”
- - - - - -随机数流用于再现数据转换的随机数流,指定为逗号分隔对组成“RandomStream”
和一个随机流对象。有关详细信息,请参见随机特性扩张.
使用“RandomStream”
为了重现随机基函数菲克内尔
用于将预测数据转换为高维空间。有关详细信息,请参见使用RandStream管理全局流和创建和控制随机数流.
例子:RandomStream, RandStream(“mlfg6331_64”)
“HessianHistorySize”
- - - - - -Hessian近似的历史缓冲区大小15
(默认)|正整数用于Hessian近似的历史缓冲区的大小,指定为逗号分隔对组成“HessianHistorySize”
一个正整数。在每一次迭代,菲克内尔
利用最新的统计数据组成了海森近似HessianHistorySize
迭代。
例子:“HessianHistorySize”,10
数据类型:单
|双重的
“详细”
- - - - - -详细程度0
(默认)|1
详细程度,指定为逗号分隔对,由“详细”
,要么0
或1
.冗长的
控制命令行中诊断信息的显示。
价值 | 描述 |
---|---|
0 |
菲克内尔 不显示诊断信息。 |
1 |
菲克内尔 显示并存储目标函数值、梯度幅值和其他诊断信息。FitInfo.历史 包含诊断信息。 |
例子:“冗长”,1
数据类型:单
|双重的
“CategoricalPredictors”
- - - - - -分类预测列表“所有”
分类预测器列表,指定为该表中的值之一。
价值 | 描述 |
---|---|
正整数向量 | 向量中的每个条目都是一个索引值,对应于包含分类变量的预测数据列。索引值介于1和1之间 如果 |
逻辑向量 | 一个 |
字符矩阵 | 矩阵的每一行都是一个预测变量的名称。名称必须与里面的条目相匹配PredictorNames .用额外的空格填充名称,使字符矩阵的每一行具有相同的长度。 |
字符向量的字符串数组或单元格数组 | 数组中的每个元素都是预测变量的名称。名称必须与中的条目匹配PredictorNames . |
“所有” |
所有的预测都是绝对的。 |
默认情况下,如果预测器数据在表中(资源描述
),菲克内尔
如果一个变量是逻辑向量、分类向量、字符数组、字符串数组或字符向量的单元格数组,则假设它是类别变量。如果预测数据是一个矩阵(X
),菲克内尔
假设所有预测值都是连续的。要将任何其他预测值识别为分类预测值,请使用“CategoricalPredictors”
名称值参数。
对于已识别的分类预测因子,菲克内尔
根据分类变量是无序的还是有序的,使用两种不同的方案创建虚拟变量。对于无序分类变量,菲克内尔
为分类变量的每一级创建一个虚拟变量。对于有序分类变量,菲克内尔
创建的虚拟变量少于类别数。有关详细信息,请参阅虚拟变量的自动创建.
例子:“分类预测因子”,“全部”
数据类型:单
|双重的
|逻辑
|烧焦
|一串
|细胞
“类名”
- - - - - -用于培训的课程名称用于训练的类名,指定为分类数组、字符数组或字符串数组;逻辑或数字向量;或者字符向量的单元格数组。一会
中的响应变量必须具有相同的数据类型资源描述
或Y
.
如果一会
是字符数组,则每个元素必须与数组的一行相对应。
使用一会
致:
在培训期间指定课程的顺序。
指定与类顺序相对应的任何输入或输出参数维的顺序。例如,使用一会
指定尺寸的顺序成本
或返回的分类分数的列顺序预测
.
选择用于培训的类的子集。例如,假设集合中所有不同的类名Y
是{' a ', ' b ', ' c '}
. 使用课堂观察训练模型“a”
和“c”
只是,指定“类名”,{' a ', ' c '}
.
的默认值一会
中响应变量中所有不同类名的集合资源描述
或Y
.
例子:“类名”,{' b ', ' g '}
数据类型:分类
|烧焦
|一串
|逻辑
|单
|双重的
|细胞
“成本”
- - - - - -误分类成本误分类成本,指定为逗号分隔对,由“成本”
和一个正方形矩阵或结构。
的默认值成本
是(
哪里K
)-眼睛(K
)K
是不同类的数目。
菲克内尔
使用成本
调整中指定的先验类概率先前的
.然后,菲克内尔
使用调整后的先验概率进行训练,并将代价矩阵重置为默认值。
例子:“成本”[02;10]
数据类型:单
|双重的
|结构
“预测器名称”
- - - - - -预测变量的名字预测器变量名,指定为唯一名称的字符串数组或唯一字符向量的单元格数组PredictorNames
这取决于你提供培训数据的方式。
如果你提供X
和Y
,则可以使用PredictorNames
为中的预测变量指定名称X
.
名字的顺序PredictorNames
必须对应于的列顺序X
. 就是,PredictorNames {1}
是X (: 1)
,PredictorNames {2}
是X (:, 2)
,等等。还有,尺寸(X,2)
和元素个数(PredictorNames)
必须是相等的。
默认情况下,PredictorNames
是{x1, x2,…}
.
如果你提供资源描述
,则可以使用PredictorNames
选择在训练中使用的预测变量。即,菲克内尔
仅使用中的预测变量PredictorNames
以及训练过程中的反应变量。
PredictorNames
一定是?的子集Tbl.Properties.VariableNames
并且不能包含响应变量的名称。
默认情况下,PredictorNames
包含所有预测变量的名称。
一个好的实践是使用以下两种方法指定训练预测值:“预测器名称”
或公式
,但不是两者都有。
例子:PredictorNames,{‘SepalLength’,‘SepalWidth’,‘PetalLength’,‘PetalWidth}
数据类型:一串
|细胞
“之前”
- - - - - -事前机率“经验的”
(默认)|“制服”
|数值向量|结构数组每个类别的先验概率,指定为逗号分隔对,由“之前”
和“经验的”
,“制服”
、数字向量或结构数组。
此表总结了设置先验概率的可用选项。
价值 | 描述 |
---|---|
“经验的” |
类先验概率是类的相对频率Y . |
“制服” |
所有类先验概率都等于1/K 哪里K 为类数。 |
数值向量 | 每个元素都是一个类先验概率。根据元素的顺序排序Y . 如果使用“类名” 名称-值对参数,然后对元素进行相应的排序。 |
结构数组 | 建筑物
|
菲克内尔
中的先验概率归一化先前的
总计为1。
例子:'previor',struct('ClassNames',{{'setosa','versicolor'}},'ClassProbs',1:2)
数据类型:烧焦
|一串
|双重的
|单
|结构
“ResponseName”
- - - - - -响应变量名“Y”
(默认)|特征向量|字符串标量响应变量名,指定为字符向量或字符串标量。
如果你提供Y
,则可以使用“ResponseName”
为响应变量指定名称。
如果你提供ResponseVarName
或公式
,则不能使用“ResponseName”
.
例子:“ResponseName”,“response”
数据类型:烧焦
|一串
“ScoreTransform”
- - - - - -分数变换“没有”
(默认)|“双重逻辑”
|“因弗罗吉特”
|“ismax”
|分对数的
|函数处理| ...分数转换,指定为字符向量、字符串标量或函数句柄。
此表总结了可用的字符向量和字符串标量。
价值 | 描述 |
---|---|
“双重逻辑” |
1 / (1 + |
“因弗罗吉特” |
日志( |
“ismax” |
将得分最高的类的分数设置为1,并将所有其他类的分数设置为0 |
分对数的 |
1 / (1 + |
“没有” 或“身份” |
x(无转换) |
“标志” |
–1人 0代表 1为 |
“对称” |
2 |
“symmetricismax” |
将分数最大的班级的分数设置为1,并将所有其他班级的分数设置为-1 |
“symmetriclogit” |
2 / (1 + |
对于MATLAB函数或您定义的函数,使用其函数句柄进行分数变换。函数句柄必须接受一个矩阵(原始分数)并返回相同大小的矩阵(转换后的分数)。
例子:“ScoreTransform”、“分对数的
数据类型:烧焦
|一串
|function_handle
“重量”
- - - - - -观测权重资源描述
“OptimizeHyperparameters”
- - - - - -参数优化“没有”
(默认)|“汽车”
|“所有”
|符合条件的参数名称的字符串数组或单元格数组|向量的optimizableVariable
对象要优化的参数,指定为逗号分隔的对“OptimizeHyperparameters”
其中一个价值观是:
“没有”
-不要优化。
“汽车”
-使用{'KernelScale','Lambda'}
.
“所有”
-优化所有符合条件的参数。
符合条件的参数名称的单元格数组。
向量optimizableVariable
对象,通常是hyperparameters
.
优化尝试最小化交叉验证损失(错误)菲克内尔
通过改变参数。要控制交叉验证类型和其他方面的优化,请使用超参数优化选项
名称-值对的论点。
请注意
“OptimizeHyperparameters”
值覆盖使用其他名称-值对参数设置的任何值。例如,设置“OptimizeHyperparameters”
来“汽车”
导致“汽车”
要应用的值。
符合条件的参数菲克内尔
是:
核尺度
- - - - - -菲克内尔
在正值中搜索,默认在范围内按对数缩放(1 e - 3, 1 e3)
.
兰姆达
- - - - - -菲克内尔
在正值中搜索,默认在范围内按对数缩放[1e-3,1e3]/n
哪里n
为观察次数。
学习者
- - - - - -菲克内尔
搜索“svm”
和“物流”
.
NumExpansionDimensions
- - - - - -菲克内尔
在正整数之间搜索,默认情况下在范围内按对数缩放[100,10000]
.
通过传递optimizableVariable
具有非默认值的对象。例如:
负载鱼腥草params = hyperparameters (“菲克内尔”,meas,物种);参数(2)。范围=[1e-4,1e6];
通过参数个数
的价值“OptimizeHyperparameters”
.
默认情况下,在命令行出现迭代显示,并根据优化中超参数的数量出现绘图。对于优化和绘图,目标函数为日志(1+交叉验证丢失)用于回归和分类的误分类率。要控制迭代显示,请设置冗长的
场的“HyperparameterOptimizationOptions”
名称-值对的论点。要控制情节,设置ShowPlots
场的“HyperparameterOptimizationOptions”
名称-值对的论点。
有关示例,请参见优化核分类器.
例子:“优化超参数”,“自动”
“HyperparameterOptimizationOptions”
- - - - - -选择优化用于优化的选项,指定为逗号分隔的对,由“HyperparameterOptimizationOptions”
和一个结构。此参数修改了优化超参数
名称-值对参数。结构中的所有字段都是可选的。
字段名 | 价值观 | 违约 |
---|---|---|
优化器 |
|
“bayesopt” |
AcquisitionFunctionName |
获取函数的名称包括 |
“每秒的预期改进数加上” |
MaxObjectiveEvaluations |
目标函数评估的最大数量。 | 30 为“bayesopt” 或“随机搜索” ,以及“gridsearch” |
MaxTime |
正 |
|
NumGridDivisions |
为“gridsearch” ,每个维度中的值数。该值可以是正整数向量,给出每个维度的值数,也可以是适用于所有维度的标量。对于分类变量,此字段被忽略。 |
10 |
ShowPlots |
指示是否显示绘图的逻辑值。如果真的 ,此字段根据迭代次数绘制最佳目标函数值。如果有一个或两个优化参数,如果优化器 是“bayesopt” ,然后ShowPlots 还根据参数绘制了目标函数的模型。 |
真的 |
保存中间结果 |
表示是否保存结果的逻辑值优化器 是“bayesopt” .如果真的 ,此字段将覆盖名为“BayeSotResults” 在每次迭代中,变量是一个贝叶斯优化 对象 |
假 |
冗长的 |
显示到命令行。
具体操作请参见 |
1 |
UseParallel |
指示是否并行运行贝叶斯优化的逻辑值,这需要并行计算工具箱™。由于并行时序的不可再现性,并行贝叶斯优化并不一定产生可再现的结果。有关详细信息,请参见平行的贝叶斯优化. | 假 |
再分配 |
指示是否在每次迭代时重新划分交叉验证的逻辑值。如果
|
假 |
使用以下三个字段名中的一个。 | ||
CVPartition |
一个cvpartition 对象,如所创建的cvpartition . |
“Kfold”,5 如果未指定任何交叉验证字段 |
坚持 |
范围内的标量(0,1) 表示坚持不懈的分数。 |
|
肯福尔德 |
大于1的整数。 |
例子:“HyperparameterOptimizationOptions”,结构('MaxObjectiveEvaluations',60)
数据类型:结构
Mdl
-训练核分类模型ClassificationKernel
模型对象|ClassificationPartitionedKernel
旨在模型对象训练的核分类模型,返回为ClassificationKernel
模型对象或ClassificationPartitionedKernel
交叉验证模型对象。
如果您设置任何名称-值对参数CrossVal
,CVPartition
,坚持
,KFold
或Leaveout
,然后Mdl
是一个ClassificationPartitionedKernel
旨在分类器。否则,Mdl
是一个ClassificationKernel
分类器。
引用Mdl
,使用点符号。例如,输入Mdl。NumExpansionDimensions
,以显示展开空间的维度数。
请注意
与其他分类模型不同,为了节省内存使用ClassificationKernel
模型对象不存储训练数据或训练过程详细信息(例如,收敛历史)。
FitInfo
——优化细节优化详细信息,作为结构数组返回,包括此表中描述的字段。这些字段包含最终值或名称-值对参数规范。
场 | 描述 |
---|---|
解算器 |
目标函数最小化技术: |
损失函数 |
损失函数。要么“铰链” 或分对数的 取决于线性分类模型的类型。请参阅学习者 . |
兰姆达 |
正则化项的力量。看到兰姆达 . |
BetaTolerance |
线性系数的相对容差和偏差项。看到BetaTolerance . |
GradientTolerance |
绝对梯度宽容。看到GradientTolerance . |
客观价值 |
优化终止时的目标函数值。分类损失加上正则化项构成目标函数。 |
GradientMagnitude |
优化终止时目标函数梯度向量的无穷范数。看见GradientTolerance . |
RelativeChangeInBeta |
优化结束时线性系数和偏差项的相对变化。看到BetaTolerance . |
睿健时代 |
使模型适合数据所需的已用挂钟时间(秒)。 |
历史 |
优化信息的历史。此字段为空([] )如果您指定“详细”,0 。有关详情,请参阅冗长的 和算法. |
要访问字段,请使用点符号。例如,要访问每次迭代的目标函数值向量,输入FitInfo。ObjectiveValue
在命令窗口中。
一个好的做法是检查FitInfo
评估趋同是否令人满意。
HyperparameterOptimizationResults
-超参数的交叉验证优化贝叶斯优化
对象|超参数和关联值表超参数的交叉验证优化,作为贝叶斯优化
对象或超参数和关联值的表。当“OptimizeHyperparameters”
不是“没有”
.输出值取决于优化器
字段的字段值“HyperparameterOptimizationOptions”
名称-值对论点:
的价值优化器 场 |
的价值HyperparameterOptimizationResults |
---|---|
“bayesopt” (默认) |
对象的类贝叶斯优化 |
“gridsearch” 或“随机搜索” |
使用的超参数表,观测到的目标函数值(交叉验证损失),以及观测值从最低(最好)到最高(最差)的排序 |
菲克内尔
不接受系数β向量的初始条件(
菲克内尔
不支持标准化。金宝app
随机功能扩展,例如随机厨房水槽[1]和快餐[2],是一种近似高斯核的核分类算法,用于计算效率高的大数据。随机特征扩展对于拥有大型训练集的大数据应用程序更实用,但也可以应用于适合内存的较小数据集。
核分类算法在将特征映射到高维空间后寻找一个最佳超平面,将数据分成两类。在低维空间中不可线性分离的非线性特征可以在扩展的高维空间中被分离。超平面分类的所有计算都只使用点积。下载188bet金宝搏通过替换点积,可以得到一个非线性分类模型x1x2'用非线性核函数
哪里
随机特征扩展方案找到一个随机变换,使其点积近似于高斯核。就是,
哪里T(
哪里
是从中国抽取的样本吗
和σ2是内核规模。这个计划需要O(日志
p)并将存储空间减少到O(
的菲克内尔
函数使用快餐方案进行随机特征扩展,并使用线性分类来训练高斯核分类模型。与中的解算器不同fitcsvm
函数,它需要计算菲克内尔
只需要形成一个大小矩阵
框约束是一个参数,它控制对违反边际的观测值施加的最大惩罚,并有助于防止过拟合(正则化)。增加方框限制可以导致更长的训练时间。
方框约束(
菲克内尔
使用带脊的有限记忆Broyden-Fletcher-Goldfarb-Shanno (LBFGS)求解器最小化正则化目标函数FitInfo.Solver
在命令窗口中。
“LBFGS-fast”
-LBFGS解算器。
“LBFGS-blockwise”
-具有分块策略的LBFGS解算器。如果菲克内尔
需要比价值更多的内存块大小
为了保存转换后的预测器数据,它使用按块划分的策略。
“LBFGS高”
- LBFGS求解器与块的策略,高阵列。
当菲克内尔
使用区块策略,菲克内尔
通过在每次迭代时将损失和梯度的计算分布到数据的不同部分来实现LBFGS。同时,菲克内尔
通过将模型局部拟合到部分数据中,并通过平均结合系数来改进线性系数和偏差项的初始估计。如果您指定“冗长”,1
,然后菲克内尔
显示每个数据通道的诊断信息,并将信息存储在历史
领域FitInfo
.
当菲克内尔
不使用分块策略,初始估计值为零。如果您指定“冗长”,1
,然后菲克内尔
显示每个迭代的诊断信息,并将信息存储在历史
领域FitInfo
.
[1] 拉希米,A.和B.雷希特。“大型内核计算机的随机功能。”
[2] Le, Q., T. Sarlós和A. Smola。快餐-在对数线性时间内近似核展开
[3] Huang, P. S., H. Avron, T. N. Sainath, V. Sindhwani,和B. Ramabhadran。核方法与TIMIT上的深度神经网络匹配。
使用说明和限制:
菲克内尔
不支持高金宝app表格
数据。
与内存中的默认值相比,某些名称-值对参数具有不同的默认值菲克内尔
函数。支持的名称-值金宝app对参数以及任何差异如下:
“学习者”
“NumeExpansionDimensions”
“内核尺度”
“BoxConstraint”
“λ”
“BetaTolerance”
—默认值为1 e - 3
.
“GradientTolerance”
—默认值为1 e-5
.
“IterationLimit”
—默认值为20
.
“块大小”
“RandomStream”
“HessianHistorySize”
“详细”
—默认值为1
.
“类名”
“成本”
“之前”
“ScoreTransform”
“重量”
—Value必须为高数组。
“OptimizeHyperparameters”
“HyperparameterOptimizationOptions”
-对于交叉验证,只支持高优化金宝app“坚持”
验证。默认情况下,软件选择并保留20%的数据作为保留验证数据,并使用其余数据训练模型。您可以使用此参数为保留分数指定其他值。例如,指定“HyperparameterOptimizationOptions”、结构(“抵抗”,0.3)
保留30%的数据作为验证数据。
如果“内核尺度”
是“汽车”
,然后菲克内尔
使用由控制的随机流塔林
二次抽样。为了重现性,必须为全局流和由塔林
.
如果“λ”
是“汽车”
,然后菲克内尔
可能需要对数据进行额外的遍历来计算观测的次数X
.
菲克内尔
使用区块策略。有关详细信息,请参见算法.
有关详细信息,请参阅高阵.
要执行并行超参数优化,请使用“HyperparameterOptimizationOptions”,结构('UseParallel',true)
调用此函数时的名称-值参数。
有关并行超参数优化的详细信息,请参见平行的贝叶斯优化.
有关并行计算的一般信息,请参见使用自动并行支持运行MATLAB函数金宝app(并行计算工具箱).
bayesopt
|最佳点
|ClassificationKernel
|ClassificationPartitionedKernel
|fitclinear
|fitcsvm
|预测
|的简历
|模板核
在进入该项目之前,您必须遵守以下规定:
Führen Sie den Befehl durch Eingabe in das MATLAB-Befehlsfenster aus。Webbrowser unterstützen keine MATLAB-Befehle。
您还可以从以下列表中选择网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。