利用随机特征展开拟合高斯核分类模型
fitckernel
训练或交叉验证二元高斯核分类模型的非线性分类。fitckernel
对于具有大型训练集的大数据应用程序更实用,但也可以应用于适合内存的较小数据集。
fitckernel
将低维空间中的数据映射到高维空间,然后通过最小化正则化目标函数在高维空间中拟合线性模型。在高维空间中获取线性模型相当于在低维空间中将高斯核应用到模型中。现有的线性分类模型包括正则支持向量机(SVM)和logistic回归模型。万博1manbetx
训练非线性支持向量机模型用于内存数据的二值分类,请参见fitcsvm
.
[
还返回超参数优化结果Mdl
,FitInfo
,HyperparameterOptimizationResults
) = fitckernel (___)HyperparameterOptimizationResults
方法优化超参数“OptimizeHyperparameters”
名称-值对的论点。
使用支持向量机训练二值核分类模型。
加载电离层
数据集。该数据集有34个预测器和351个雷达返回的二进制响应,或坏(“b”
)或好(‘g’
).
负载电离层(氮、磷)大小(X) =
n = 351
p = 34
resp =独特(Y)
resp =2 x1细胞{b} {' g '}
训练二值核分类模型,识别雷达回波是否坏(“b”
)或好(‘g’
).提取一个合适的摘要,以确定优化算法将模型与数据相匹配的程度。
rng (“默认”)%的再现性[Mdl, FitInfo] = fitckernel (X, Y)
Mdl = ClassificationKernel ResponseName: 'Y' ClassNames: {'b' ' 'g'} Learner: 'svm' NumExpansionDimensions: 2048 KernelScale: 1 Lambda: 0.0028 BoxConstraint: 1 Properties, Methods .
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.1681 History: []
Mdl
是一个ClassificationKernel
模型。检查样本内分类误差,可以通过Mdl
和培训数据或新数据损失
函数。或者,你可以不去Mdl
和新的预测数据预测
函数来预测新的观察结果的类标签。你也可以通过Mdl
和训练数据的简历
职能继续培训。
FitInfo
是包含优化信息的结构数组。使用FitInfo
确定优化终止测量是否令人满意。
为了获得更好的准确性,您可以增加优化迭代的最大次数(“IterationLimit”
),并降低公差值(“BetaTolerance”
和“GradientTolerance”
),使用名称-值对参数。这样做可以改善诸如ObjectiveValue
和RelativeChangeInBeta
在FitInfo
.的方法也可以优化模型参数“OptimizeHyperparameters”
名称-值对的论点。
加载电离层
数据集。该数据集有34个预测器和351个雷达返回的二进制响应,或坏(“b”
)或好(‘g’
).
负载电离层rng (“默认”)%的再现性
交叉验证二进制内核分类模型。默认情况下,该软件使用10倍交叉验证。
CVMdl = fitckernel (X, Y,“CrossVal”,“上”)
CVMdl = classreg.learning.partition.ClassificationPartitionedKernel CrossValidatedModel: 'Kernel' ResponseName: 'Y' NumObservations: 351 KFold: 10 Partition: [1x1 cvpartition] ClassNames: {'b' ' 'g'} ScoreTransform: 'none'属性,方法
元素个数(CVMdl.Trained)
ans = 10
CVMdl
是一个ClassificationPartitionedKernel
模型。因为fitckernel
实现了10倍交叉验证,CVMdl
包含10ClassificationKernel
模型,软件训练训练折叠(折叠)观察。
估计交叉验证的分类误差。
kfoldLoss (CVMdl)
ans = 0.0940
分类错误率约为9%。
方法自动优化超参数“OptimizeHyperparameters”
名称-值对的论点。
加载电离层
数据集。该数据集有34个预测器和351个雷达返回的二进制响应,或坏(“b”
)或好(‘g’
).
负载电离层
通过使用自动超参数优化,找到最小化五倍交叉验证损失的超参数。指定“OptimizeHyperparameters”
作为“汽车”
这fitckernel
的最优值“KernelScale”
和“λ”
名称-值对参数。为了重现性,设置随机种子并使用“expected-improvement-plus”
采集功能。
rng (“默认”) [Mdl,FitInfo,HyperparameterOptimizationResults] = fitckernel(X,Y, X,Y)“OptimizeHyperparameters”,“汽车”,...“HyperparameterOptimizationOptions”结构(“AcquisitionFunctionName”,“expected-improvement-plus”))
|=====================================================================================================| | Iter | Eval客观客观| | | BestSoFar | BestSoFar | KernelScaleλ| | | | |结果运行时| | | (estim(观察) .) | | | |=====================================================================================================| |1 |最佳| 0.35897 | 0.23251 | 0.35897 | 0.35897 | 64.836 | 4.4811e-06 |
| 2 |接受| 0.35897 | 0.46344 | 0.35897 | 0.35897 | 0.036335 | 0.015885 |
| 3 |接受| 0.39601 | 0.44042 | 0.35897 | 0.36053 | 0.0022147 | 6.8254e-06 |
| 4 |接受| 0.35897 | 0.30382 | 0.35897 | 0.35898 | 5.1259 | 0.28097 |
| 5 |接受| 0.35897 | 0.32187 | 0.35897 | 0.35897 | 0.24853 | 0.10828 |
| 6 |接受| 0.35897 | 0.20379 | 0.35897 | 0.35897 | 885.09 | 0.00057316 |
| 7 |最佳| 0.10826 | 0.37693 | 0.10826 | 0.10833 | 8.0346 | 0.0048286 |
| 8 |最佳| 0.076923 | 0.39431 | 0.076923 | 0.076999 | 7.0902 | 0.0034068 |
| 9 |接受| 0.091168 | 0.43926 | 0.076923 | 0.077059 | 9.1504 | 0.0020604 |
| 10 |最佳| 0.062678 | 0.43402 | 0.062678 | 0.062723 | 3.5487 | 0.0025912 |
| 11 |接受| 0.062678 | 0.4986 | 0.062678 | 0.062741 | 2.3869 | 0.003321 |
| 12 |接受| 0.41026 | 0.44801 | 0.062678 | 0.062536 | 0.14075 | 0.0022499 |
| 13 |接受| 0.062678 | 0.4226 | 0.062678 | 0.062532 | 3.4215 | 0.0036803 |
| 14 |接受| 0.062678 | 0.4393 | 0.062678 | 0.061956 | 3.2928 | 0.0030533 |
| 15 |最佳| 0.05698 | 0.41997 | 0.05698 | 0.057204 | 5.0598 | 0.0025499 |
| 16 |接受| 0.062678 | 0.49607 | 0.05698 | 0.057186 | 5.3401 | 0.0015096 |
| 17 |接受| 0.05698 | 0.38304 | 0.05698 | 0.057118 | 1.813 | 0.0069209 |
| 18 |接受| 0.059829 | 0.4167 | 0.05698 | 0.057092 | 1.5122 | 0.0046637 |
| 19 |接受| 0.059829 | 0.41421 | 0.05698 | 0.05718 | 1.9277 | 0.0056364 |
| 20 |接受| 0.065527 | 0.39178 | 0.05698 | 0.057189 | 1.4064 | 0.0094306 |
|=====================================================================================================| | Iter | Eval客观客观| | | BestSoFar | BestSoFar | KernelScaleλ| | | | |结果运行时| | | (estim(观察) .) | | | |=====================================================================================================| |21 |接受| 0.05698 | 0.49652 | 0.05698 | 0.057033 | 5.1719 | 0.0023614 |
| 22 |最佳| 0.054131 | 0.92821 | 0.054131 | 0.054176 | 1.9618 | 6.5704e-05 |
| 23 |最佳| 0.042735 | 0.53104 | 0.042735 | 0.042763 | 1.9463 | 1.0169e-05 |
| 24 |接受| 0.082621 | 0.48698 | 0.042735 | 0.042775 | 1.0661 | 1.3245e-05 |
| 25 |接受| 0.054131 | 0.78627 | 0.042735 | 0.042789 | 3.288 | 2.0035e-05 |
| 26 |接受| 0.062678 | 0.53773 | 0.042735 | 0.042769 | 2.657 | 3.0334e-06 |
| 27 |接受| 0.059829 | 0.59272 | 0.042735 | 0.043054 | 2.0381 | 1.9791e-05 |
| 28 |接受| 0.042735 | 0.77684 | 0.042735 | 0.042764 | 3.5043 | 0.0001237 |
| 29 |接受| 0.054131 | 0.38161 | 0.042735 | 0.042764 | 1.3897 | 3.2288e-06 |
| 30 |接受| 0.062678 | 0.62915 | 0.042735 | 0.042792 | 2.2414 | 0.0002259 |
__________________________________________________________ 优化完成。maxobjective达到30个。总函数计算:30总运行时间:33.6885秒。总目标函数评估时间:14.0877最佳观测可行点:KernelScale Lambda ___________ __________ 1.9463 1.0169e-05观测目标函数值= 0.042735估计目标函数值= 0.043106函数评估时间= 0.53104最佳估计可行点(根据模型):KernelScale Lambda ___________ _________ 3.5043 0.0001237估计的目标函数值= 0.042792估计的函数计算时间= 0.77544
Mdl = ClassificationKernel ResponseName: 'Y' ClassNames: {'b' ' 'g'} Learner: 'svm' NumExpansionDimensions: 2048 KernelScale: 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.1379 History: []
HyperparameterOptimizationResults = BayesianOptimization属性:ObjectiveFcn: @createObjFcn / inMemoryObjFcn VariableDescriptions:[4×1 optimizableVariable]选项:[1×1 struct] MinObjective: 0.0427 XAtMinObjective:[1×2表]MinEstimatedObjective: 0.0428 XAtMinEstimatedObjective:[1×2表]NumObjectiveEvaluations:30 TotalElapsedTime: 33.6885 NextPoint: [1×2 table] XTrace: [30×2 table] ObjectiveTrace: [30×1 double] ConstraintsTrace: [] UserDataTrace: {30×1 cell} ObjectiveEvaluationTimeTrace: [30×1 double] IterationTimeTrace: [30×1 double] ErrorTrace: [30×1 double]可行性跟踪:[30×1 logical]可行性概率跟踪:[30×1 double] IndexOfMinimumTrace: [30×1 double] ObjectiveMinimumTrace: [30×1 double] EstimatedObjectiveMinimumTrace: [30×1 double]
对于大数据,优化过程可能需要很长时间。如果数据集太大,无法运行优化过程,可以尝试仅使用部分数据优化参数。使用datasample
功能和指定“替换”,“假”
抽样数据而不进行替换。
X
- - - - - -预测数据Y
- - - - - -类标签类标签,指定为类别、字符或字符串数组、逻辑或数字向量或字符向量的单元格数组。
fitckernel
万博1manbetx仅支持二进制分类。要么Y
必须包含两个完全不同的类,或者必须使用一会
名称-值对的论点。
如果Y
是字符数组,则每个元素必须与数组的一行相对应。
的长度Y
观察的次数X
必须是相等的。
方法指定类的顺序是一种好的实践一会
名称-值对的论点。
数据类型:分类
|字符
|字符串
|逻辑
|单
|双
|细胞
fitckernel
删除缺失的观测值,即具有以下任何特征的观测值:
南
,空字符向量(”
),空字符串(""
),<失踪>
,<定义>
响应中的元素(Y
)
至少有一个南
在预测器观察值(行X
)
南
值或0
体重(“重量”
)
指定可选的逗号分隔的对名称,值
参数。的名字
参数名和价值
为对应值。的名字
必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家
.
Mdl = fitckernel (X, Y,“学习者”,“物流”,“NumExpansionDimensions”、2 ^ 15,“KernelScale”、“汽车”)
实现逻辑回归后,将预测数据映射到2 ^ 15
用启发式方法选择核尺度参数进行特征扩展的维空间。
的参数不能同时使用任何交叉验证的名称-值对参数“OptimizeHyperparameters”
名称-值对的论点。可以为。修改交叉验证“OptimizeHyperparameters”
只有使用“HyperparameterOptimizationOptions”
名称-值对的论点。
“学习者”
- - - - - -线性分类模型型“支持向量机”
(默认)|“物流”
线性分类模型类型,指定为逗号分隔对组成“学习者”
和“支持向量机”
或“物流”
.
在下表中,
x观察(行向量)来自哪里
是用于特征展开的观测值(行向量)的变换。T(
β是向量
b为标量偏差。
价值 | 算法 | 响应范围 | 损失函数 |
---|---|---|---|
“支持向量机” |
万博1manbetx支持向量机 | y∊{1};正数为1,否则为-1 | 铰链: |
“物流” |
逻辑回归 | 一样“支持向量机” |
异常(物流): |
例子:“学习者”,“物流”
“NumExpansionDimensions”
- - - - - -膨胀空间的维数“汽车”
(默认)|正整数扩展空间的维数,指定为由逗号分隔的对组成“NumExpansionDimensions”
和“汽车”
或者一个正整数。为“汽车”
,fitckernel
函数选择使用的维度数2 . ^装天花板(最低(log2 (p) + 5、15))
,在那里p
是预测器的数量。
有关详细信息,请参见随机特性扩张.
例子:“NumExpansionDimensions”、2 ^ 15
数据类型:字符
|字符串
|单
|双
“BoxConstraint”
- - - - - -箱约束框约束,指定为逗号分隔的对,由“BoxConstraint”
一个正标量。
此参数仅在以下情况下有效“学习者”
是“支持向量机”
(默认值),并且不指定正则化项强度的值“λ”
.你可以指定“BoxConstraint”
或“λ”
因为方框约束(
例子:“BoxConstraint”,100年
数据类型:单
|双
“λ”
- - - - - -正则化项的力量“汽车”
(默认)|负的标量正则化项强度,指定为逗号分隔对组成“λ”
和“汽车”
或者一个非负标量。
为“汽车”
的价值“λ”
是1 /
你可以指定“BoxConstraint”
或“λ”
因为方框约束(
例子:“λ”,0.01
数据类型:字符
|字符串
|单
|双
“CrossVal”
- - - - - -标记来训练交叉验证分类器“关闭”
(默认)|“上”
标记来训练交叉验证的分类器,指定为逗号分隔对,由“Crossval”
和“上”
或“关闭”
.
如果您指定“上”
,然后该软件训练10倍交叉验证分类器。
控件可以覆盖此交叉验证设置CVPartition
,坚持
,KFold
,或Leaveout
名称-值对的论点。一次只能使用一个交叉验证的名称-值对参数来创建交叉验证的模型。
例子:“Crossval”,“上”
“CVPartition”
- - - - - -交叉验证分区[]
(默认)|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的正整数要在交叉验证的模型中使用的折叠数,指定为逗号分隔的对,由“KFold”
和一个大于1的正整数。如果您指定KFold, k
,则软件完成以下步骤:
将数据随机划分为k
集。
对于每个集合,保留该集合作为验证数据,并使用另一个来训练模型k
- 1集。
存储k
紧凑,训练有素的模型在细胞k
-by-1细胞载体训练有素的
交叉验证模型的性质。
要创建一个交叉验证的模型,您只能使用以下四个名称-值对参数之一:CVPartition
,坚持
,KFold
,或Leaveout
.
例子:“KFold”,5
数据类型:单
|双
“Leaveout”
- - - - - -分析交叉验证标志“关闭”
(默认)|“上”
省略一交叉验证标志,指定为逗号分隔的对,由“Leaveout”
和“上”
或“关闭”
.如果您指定“Leaveout”,“上”
,那么,对于每一个
保留观测数据作为验证数据,并使用其他数据训练模型
存储训练有素的
交叉验证模型的性质。
要创建一个交叉验证的模型,您只能使用以下四个名称-值对参数之一:CVPartition
,坚持
,KFold
,或Leaveout
.
例子:“Leaveout”,“上”
“BetaTolerance”
- - - - - -线性系数和偏差项的相对公差1 e-5
(默认)|负的标量相对公差对线性系数和偏差项(截距),指定为逗号分隔对组成“BetaTolerance”
一个非负标量。
让
,即优化迭代时系数和偏差项的向量
如果你也指定GradientTolerance
,则当软件满足任一停止条件时,优化终止。
例子:e-6 BetaTolerance, 1
数据类型:单
|双
“GradientTolerance”
- - - - - -绝对梯度宽容1 e-6
(默认)|负的标量绝对梯度容差,指定为逗号分隔对,由“GradientTolerance”
一个非负标量。
让
为优化迭代时目标函数相对于系数和偏差项的梯度向量
如果你也指定BetaTolerance
,则当软件满足任一停止条件时,优化终止。
例子:e-5 GradientTolerance, 1
数据类型:单
|双
“IterationLimit”
- - - - - -最大优化迭代次数最大优化迭代次数,指定为逗号分隔对组成“IterationLimit”
一个正整数。
的指定,如果转换后的数据适合内存,则默认值为1000BlockSize
名称-值对的论点。否则,默认值为100。
例子:“IterationLimit”,500年
数据类型:单
|双
“BlockSize”
- - - - - -分配的最大内存量4 e ^ 3
(4 gb)(默认)|积极的标量分配的最大内存量(以兆字节为单位),指定为逗号分隔的对,由“BlockSize”
一个正标量。
如果fitckernel
需要比价值更多的内存“BlockSize”
为了保存转换后的预测数据,软件会使用区块策略。分块策略的详细信息请参见算法.
例子:e4 BlockSize, 1
数据类型:单
|双
“HessianHistorySize”
- - - - - -用于Hessian近似的历史缓冲区的大小15
(默认)|正整数用于Hessian近似的历史缓冲区的大小,指定为逗号分隔对组成“HessianHistorySize”
一个正整数。在每一次迭代,fitckernel
利用最新的统计数据组成了海森近似HessianHistorySize
迭代。
例子:“HessianHistorySize”,10
数据类型:单
|双
“详细”
- - - - - -冗长的水平0
(默认)|1
详细程度,指定为逗号分隔对,由“详细”
,要么0
或1
.详细的
控制在命令行显示诊断信息。
价值 | 描述 |
---|---|
0 |
fitckernel 不显示诊断信息。 |
1 |
fitckernel 显示和存储目标函数的值、梯度大小和其他诊断信息。FitInfo。历史 包含诊断信息。 |
例子:“详细”,1
数据类型:单
|双
“类名”
- - - - - -用于培训的类名要用于训练的类名,指定为逗号分隔对,由“类名”
以及类别、字符或字符串数组、逻辑或数字向量或字符向量的单元格数组。一会
必须具有相同的数据类型Y
.
如果一会
是字符数组,则每个元素必须与数组的一行相对应。
使用“类名”
:
在培训期间安排课程。
指定与类顺序相对应的任何输入或输出参数维的顺序。例如,使用“类名”
指定尺寸的顺序成本
或返回的分类分数的列顺序预测
.
选择用于培训的类的子集。例如,假设集合中所有不同的类名Y
是{' a ', ' b ', ' c '}
.使用来自类的观察来训练模型“一个”
和“c”
只是,指定“类名”,{' a ', ' c '}
.
的默认值一会
是否包含所有不同的类名Y
.
例子:“类名”,{' b ', ' g '}
数据类型:分类
|字符
|字符串
|逻辑
|单
|双
|细胞
“成本”
- - - - - -误分类代价误分类代价,指定为逗号分隔对组成“成本”
方阵或方阵结构。
的默认值成本
是(
,在那里K
) - (K
)K
为不同类别的数量。
fitckernel
使用成本
调整中指定的先验类概率之前
.然后,fitckernel
使用调整后的先验概率进行训练,并将代价矩阵重置为默认值。
例子:“成本”,[0 2;1 0]
数据类型:单
|双
|结构体
“之前”
- - - - - -先验概率“经验”
(默认)|“统一”
|数值向量|结构数组每个类的先验概率,指定为逗号分隔对,由“之前”
和“经验”
,“统一”
、数字向量或结构数组。
该表总结了设置先验概率的可用选项。
价值 | 描述 |
---|---|
“经验” |
类先验概率是类的相对频率Y . |
“统一” |
所有类先验概率都等于1/K ,在那里K 为类数。 |
数值向量 | 每个元素都是一个类先验概率。根据元素的顺序排序Y .如果您使用“类名” 名称-值对参数,然后对元素进行相应的排序。 |
结构数组 | 一个结构
|
fitckernel
中的先验概率归一化之前
求和为1。
例子:“之前”,结构(“类名”,{{“setosa”、“癣”}},ClassProbs, 1:2)
数据类型:字符
|字符串
|双
|单
|结构体
“ScoreTransform”
- - - - - -分数转换“没有”
(默认)|“doublelogit”
|“invlogit”
|“ismax”
|分对数的
|函数处理|……分数转换,指定为逗号分隔的对,由“ScoreTransform”
以及字符向量、字符串标量或函数句柄。
该表总结了可用的字符向量和字符串标量。
价值 | 描述 |
---|---|
“doublelogit” |
1 / (1 + |
“invlogit” |
日志( |
“ismax” |
将分数最大的班级的分数设置为1,并将所有其他班级的分数设置为0 |
分对数的 |
1 / (1 + |
“没有” 或“身份” |
x(转换) |
“标志” |
1 为0 1 |
“对称” |
2 |
“symmetricismax” |
将分数最大的班级的分数设置为1,并将所有其他班级的分数设置为-1 |
“symmetriclogit” |
2 / (1 + |
对于一个MATLAB®函数或您定义的函数,将其函数句柄用于分数转换。函数句柄必须接受一个矩阵(原始分数)并返回相同大小的矩阵(转换后的分数)。
例子:“ScoreTransform”、“分对数的
数据类型:字符
|字符串
|function_handle
“重量”
- - - - - -观察权重观察权值,指定为逗号分隔的对,由“重量”
和一个长度为正的数值向量n
,在那里n
观察的次数在吗X
.的fitckernel
函数会考虑观察结果X
中的对应值权重
.
默认值为(
.n
, 1)
fitckernel
规范化权重
求和为各类的先验概率值。
例子:“重量”,w
数据类型:单
|双
“OptimizeHyperparameters”
- - - - - -参数优化“没有”
(默认)|“汽车”
|“所有”
|符合条件的参数名称的字符串数组或单元格数组|向量的optimizableVariable
对象要优化的参数,指定为逗号分隔的对“OptimizeHyperparameters”
其中一个价值观是:
“没有”
-不要优化。
“汽车”
——使用{“KernelScale”、“λ”}
.
“所有”
-优化所有符合条件的参数。
合格参数名称的单元格数组。
向量的optimizableVariable
对象的输出hyperparameters
.
优化尝试最小化交叉验证损失(错误)fitckernel
通过改变参数。要控制交叉验证类型和其他方面的优化,请使用HyperparameterOptimizationOptions
名称-值对的论点。
“OptimizeHyperparameters”
值覆盖使用其他名称-值对参数设置的任何值。例如,设置“OptimizeHyperparameters”
来“汽车”
导致“汽车”
值应用。
符合条件的参数fitckernel
是:
KernelScale
- - - - - -fitckernel
在正值中搜索,默认在范围内按对数缩放(1 e - 3, 1 e3)
.
λ
- - - - - -fitckernel
在正值中搜索,默认在范围内按对数缩放(1 e - 3, 1 e3) / n
,在那里n
为观察次数。
学习者
- - - - - -fitckernel
搜索中“支持向量机”
和“物流”
.
NumExpansionDimensions
- - - - - -fitckernel
在正整数中搜索,默认在范围内按对数缩放(100、10000)
.
通过传递的向量来设置非默认参数optimizableVariable
具有非默认值的对象。例如:
负载fisheririsparams = hyperparameters (“fitckernel”量,物种);参数(2)。范围=(1的军医,1 e6);
通过参数个数
的价值“OptimizeHyperparameters”
.
默认情况下,在命令行出现迭代显示,并根据优化中超参数的数量出现绘图。对于优化和绘图,目标函数为Log(1 +交叉验证损失)为回归和误分类率为分类。若要控制迭代显示,请设置详细的
场的“HyperparameterOptimizationOptions”
名称-值对的论点。要控制情节,设置ShowPlots
场的“HyperparameterOptimizationOptions”
名称-值对的论点。
例如,请参见内核优化分类器.
例子:“OptimizeHyperparameters”、“汽车”
“HyperparameterOptimizationOptions”
- - - - - -选择优化用于优化的选项,指定为逗号分隔的对,由“HyperparameterOptimizationOptions”
和结构。该参数修改OptimizeHyperparameters
名称-值对的论点。结构中的所有字段都是可选的。
字段名 | 值 | 默认的 |
---|---|---|
优化器 |
|
“bayesopt” |
AcquisitionFunctionName |
获取函数的名称包括 |
“expected-improvement-per-second-plus” |
MaxObjectiveEvaluations |
目标函数求值的最大次数。 | 30. 为“bayesopt” 或“randomsearch” ,和整个网格“gridsearch” |
MaxTime |
正 |
|
NumGridDivisions |
为“gridsearch” ,表示每个维度中值的数量。该值可以是一个给出每个维度值数量的正整数向量,也可以是适用于所有维度的标量。对于分类变量,该字段被忽略。 |
10 |
ShowPlots |
指示是否显示绘图的逻辑值。如果真正的 ,该域根据迭代次数绘制出最佳目标函数值。如果有一个或两个优化参数,如果优化器 是“bayesopt” ,然后ShowPlots 还根据参数绘制目标函数的模型。 |
真正的 |
SaveIntermediateResults |
表示是否保存结果的逻辑值优化器 是“bayesopt” .如果真正的 ,此字段将覆盖名为“BayesoptResults” 在每一个迭代。变量是aBayesianOptimization 对象。 |
假 |
详细的 |
显示到命令行。
具体操作请参见 |
1 |
UseParallel |
指示是否并行运行贝叶斯优化的逻辑值,这需要并行计算工具箱™。由于并行时序的不可再现性,并行贝叶斯优化并不一定产生可再现的结果。有关详细信息,请参见平行的贝叶斯优化. | 假 |
重新分区 |
指示是否在每次迭代时重新划分交叉验证的逻辑值。如果
|
假 |
使用以下三个字段名中的一个。 | ||
CVPartition |
一个cvpartition 对象创建的cvpartition . |
“Kfold”,5 如果您没有指定任何交叉验证字段 |
坚持 |
范围内的标量(0,1) 表示坚持不懈的分数。 |
|
Kfold |
大于1的整数。 |
例子:“HyperparameterOptimizationOptions”、结构(MaxObjectiveEvaluations, 60)
数据类型:结构体
Mdl
-训练的核分类模型ClassificationKernel
模型对象|ClassificationPartitionedKernel
旨在模型对象训练的核分类模型,返回为ClassificationKernel
模型对象或ClassificationPartitionedKernel
旨在模型对象。
如果您设置任何名称-值对参数CrossVal
,CVPartition
,坚持
,KFold
,或Leaveout
,然后Mdl
是一个ClassificationPartitionedKernel
旨在分类器。否则,Mdl
是一个ClassificationKernel
分类器。
引用Mdl
,使用点符号。例如,输入Mdl。NumExpansionDimensions
,以显示展开空间的维度数。
不同于其他分类模型,并为经济的内存使用,aClassificationKernel
模型对象不存储训练数据或训练过程细节(例如,收敛历史)。
FitInfo
——优化细节优化细节,作为结构数组返回,其中包括本表中描述的字段。字段包含最终值或名称-值对参数说明。
场 | 描述 |
---|---|
解算器 |
目标函数最小化技术: |
LossFunction |
损失函数。要么“枢纽” 或分对数的 取决于线性分类模型的类型。看到学习者 . |
λ |
正则化项的力量。看到λ . |
BetaTolerance |
线性系数的相对容差和偏差项。看到BetaTolerance . |
GradientTolerance |
绝对梯度宽容。看到GradientTolerance . |
ObjectiveValue |
优化结束时目标函数的值。分类损失加上正则化项构成目标函数。 |
GradientMagnitude |
优化终止时目标函数梯度向量的无穷范数。看到GradientTolerance . |
RelativeChangeInBeta |
优化结束时线性系数和偏差项的相对变化。看到BetaTolerance . |
FitTime |
使模型与数据相适应所需的挂钟时间(以秒为单位)。 |
历史 |
优化信息的历史。此字段为空([] ),如果指定“详细”,0 .有关详细信息,请参见详细的 和算法. |
要访问字段,请使用点符号。例如,要访问每次迭代的目标函数值向量,输入FitInfo。ObjectiveValue
在命令窗口。
一个好的做法是检查FitInfo
评估收敛是否令人满意。
HyperparameterOptimizationResults
-超参数的交叉验证优化BayesianOptimization
对象|超参数和关联值表超参数的交叉验证优化,作为BayesianOptimization
对象或包含超参数和关联值的表。的值时输出非空“OptimizeHyperparameters”
不是“没有”
.输出值取决于优化器
的字段值“HyperparameterOptimizationOptions”
名称-值对论点:
的价值优化器 场 |
的价值HyperparameterOptimizationResults |
---|---|
“bayesopt” (默认) |
对象的类BayesianOptimization |
“gridsearch” 或“randomsearch” |
使用的超参数表,观测到的目标函数值(交叉验证损失),以及观测值从最低(最好)到最高(最差)的排序 |
fitckernel
不接受系数向量的初始条件(
fitckernel
不支持标准化和交叉万博1manbetx验证选项。
fitckernel
不接受表输入。
随机功能扩展,如随机厨房水槽[1]和快餐[2],是一种近似高斯核的核分类算法,用于计算效率高的大数据。随机特征扩展对于拥有大型训练集的大数据应用程序更实用,但也可以应用于适合内存的较小数据集。
核分类算法在将特征映射到高维空间后寻找一个最佳超平面,将数据分成两类。在低维空间中不可线性分离的非线性特征可以在扩展的高维空间中被分离。超平面分类的所有计算都只使用点积。s manbetx 845通过替换点积,可以得到一个非线性分类模型x1x2'用非线性核函数
,在那里
随机特征展开格式找到一个随机变换,使其点积近似于高斯核。也就是说,
在哪里T(
在哪里
样品是从
和σ2是内核规模。这个计划需要O(日志
p)并将存储空间减少到O(
的fitckernel
函数使用快餐方案进行随机特征展开,使用线性分类训练高斯核分类模型。不像fitcsvm
函数,它需要计算fitckernel
只需要形成一个大小矩阵
框约束是一个参数,它控制对违反边际的观测值施加的最大惩罚,并有助于防止过拟合(正则化)。增加方框限制可以导致更长的训练时间。
方框约束(
fitckernel
使用带脊的有限记忆Broyden-Fletcher-Goldfarb-Shanno (LBFGS)求解器最小化正则化目标函数FitInfo。解算器
在命令窗口。
“LBFGS-fast”
——LBFGS解算器。
“LBFGS-blockwise”
- LBFGS求解器与方块策略。如果fitckernel
需要比价值更多的内存BlockSize
为了保存转换后的预测器数据,它使用按块划分的策略。
“LBFGS-tall”
- LBFGS求解器与块的策略,高阵列。
当fitckernel
使用区块策略,fitckernel
通过在每次迭代时将损失和梯度的计算分布到数据的不同部分来实现LBFGS。同时,fitckernel
通过将模型局部拟合到部分数据中,并通过平均结合系数来改进线性系数和偏差项的初始估计。如果您指定“详细”,1
,然后fitckernel
显示每个数据通道的诊断信息,并将信息存储在历史
领域的FitInfo
.
当fitckernel
不使用区块策略,初始估计为零。如果您指定“详细”,1
,然后fitckernel
显示每个迭代的诊断信息,并将信息存储在历史
领域的FitInfo
.
Rahimi, A.和B. Recht。《大规模内核机器的随机特性》
[2] Le, Q., T. Sarlós和A. Smola。快餐-在对数线性时间内近似核展开
[3] Huang, P. S., H. Avron, T. N. Sainath, V. Sindhwani,和B. Ramabhadran。核方法与TIMIT上的深度神经网络匹配。
使用注意事项及限制:
与内存中的默认值相比,一些名称-值对参数有不同的默认值fitckernel
函数。万博1manbetx受支持的名称-值对参数及其区别如下:
“学习者”
“NumExpansionDimensions”
“KernelScale”
“BoxConstraint”
“λ”
“BetaTolerance”
—默认值为1 e - 3
.
“GradientTolerance”
—默认值为1 e-5
.
“IterationLimit”
—默认值为20.
.
“BlockSize”
“RandomStream”
“HessianHistorySize”
“详细”
—默认值为1
.
“类名”
“成本”
“之前”
“ScoreTransform”
“重量”
—Value必须为高数组。
“OptimizeHyperparameters”
“HyperparameterOptimizationOptions”
-对于交叉验证,只支持高优化万博1manbetx“坚持”
验证。例如,可以指定fitckernel (X, Y,‘OptimizeHyperparameters’,‘汽车’,‘HyperparameterOptimizationOptions’,结构(“抵抗”,0.2))
.
如果“KernelScale”
是“汽车”
,然后fitckernel
使用由控制的随机流tallrng
二次抽样。为了重现性,必须为全局流和由tallrng
.
如果“λ”
是“汽车”
,然后fitckernel
可能需要对数据进行额外的遍历来计算观测的次数X
.
fitckernel
使用区块策略。有关详细信息,请参见算法.
有关更多信息,请参见高大的数组(MATLAB)。
要并行运行,请设置“UseParallel”
选项真正的
.
要执行并行超参数优化,请使用“HyperparameterOptions”、结构(UseParallel,真的)
调用此函数时的名称-值对参数。
有关并行超参数优化的更多信息,请参见平行的贝叶斯优化.
有关并行计算的更多通用信息,请参见运行MATLAB函数与自动并行支持万博1manbetx(并行计算工具箱)。
ClassificationKernel
|ClassificationPartitionedKernel
|bayesopt
|bestPoint
|fitclinear
|fitcsvm
|预测
|的简历
|templateKernel
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。