适合高维数据的线性回归模型
fitrlinear
有效的列车与高维线性回归模型,完整的或稀疏的预测数据。可用线性回归模型包括正规化的支持向量机(SVM)和最小二乘回归方法。万博1manbetxfitrlinear
最小化目标函数使用技术,减少计算时间(例如,随机梯度下降法)。
为减少计算时间在高维数据集,包括许多预测变量,列车通过使用线性回归模型fitrlinear
。低——通过medium-dimensional预测数据集,明白了选择低维数据。
(
当你通过也返回hyperparameter优化细节Mdl
,FitInfo
,HyperparameterOptimizationResults
)= fitrlinear (___)OptimizeHyperparameters
名称-值对。
使用支持向量机训练线性回归模型,双SGD,脊正规化。
从这个模型模拟10000年观测
是一个10000 - 10% - 1000稀疏矩阵非零标准正态元素。
e是随机的正常误差均值为0和标准偏差0.3。
rng (1)%的再现性n = 1 e4;d = 1 e3;新西兰= 0.1;X = sprandn (n, d,新西兰);Y = X (:, 100) + 2 * (:, 200) + 0.3 * randn (n, 1);
火车一个线性回归模型。默认情况下,fitrlinear
使用支持向万博1manbetx量机与一个脊点球,优化使用双重SGD SVM。了解数据的优化算法适应模型提取总结。
[Mdl, FitInfo] = fitrlinear (X, Y)
Mdl = RegressionLinear ResponseName:‘Y’ResponseTransform:“没有一个”测试:[1000 x1双]偏见:-0.0056λ:1.0000 e-04学习者:“支持向量机”属性,方法
FitInfo =结构体字段:λ:1.0000 e-04目的:0.2725 PassLimit: 10 NumPasses: 10 BatchLimit: [] NumIterations: 100000 GradientNorm:南GradientTolerance: 0 RelativeChangeInBeta: 0.4907 BetaTolerance: 1.0000 e-04 DeltaGradient: 1.5816 DeltaGradientTolerance: 0.1000 TerminationCode: 0 TerminationStatus:{“迭代超过限制。'}α(10000 x1双):历史:[]FitTime: 0.7623解决:{“双重”}
Mdl
是一个RegressionLinear
模型。你可以通过Mdl
和培训或新数据损失
检查样本均方误差。或者,你也可以通过Mdl
和新的预测数据预测
预测反应的新观察。
FitInfo
是一个结构数组包含,除此之外,终止状态(TerminationStatus
)和多长时间解决了适合模型的数据(FitTime
)。是一种很好的做法FitInfo
确定optimization-termination测量是否令人满意。在这种情况下,fitrlinear
达到最大迭代次数。因为培训时间是快,你可以重新训练模型,但是通过数据的增加。或者尝试一下另一个解算器,如LBFGS。
确定一个好的lasso-penalty强度线性回归模型,利用最小二乘法,实现5倍交叉验证。
从这个模型模拟10000年观测
是一个10000 - 10% - 1000稀疏矩阵非零标准正态元素。
e是随机的正常误差均值为0和标准偏差0.3。
rng (1)%的再现性n = 1 e4;d = 1 e3;新西兰= 0.1;X = sprandn (n, d,新西兰);Y = X (:, 100) + 2 * (:, 200) + 0.3 * randn (n, 1);
创建一组15对数间隔正则化的优势 通过 。
λ= logspace (5、1、15);
旨在模型。提高执行速度,转置预测数据和指定列的观测。使用SpaRSA优化目标函数。
X = X ';CVMdl = fitrlinear (X, Y,“ObservationsIn”,“列”,“KFold”5,“λ”λ,…“学习者”,“leastsquares”,“规划求解”,“sparsa”,“正规化”,“套索”);numCLModels =元素个数(CVMdl.Trained)
numCLModels = 5
CVMdl
是一个RegressionPartitionedLinear
模型。因为fitrlinear
实现5倍交叉验证,CVMdl
包含5RegressionLinear
火车在每个折叠模型软件。
显示第一个训练有素的线性回归模型。
Mdl1 = CVMdl.Trained {1}
Mdl1 = RegressionLinear ResponseName:‘Y’ResponseTransform:“没有一个”测试:[1000 x15双]偏见:[1连接双]λ:[1连接双]学习者:“leastsquares”属性,方法
Mdl1
是一个RegressionLinear
模型对象。fitrlinear
构造Mdl1
通过培训第一个4折。因为λ
是一个序列的正则化的优势,你能想到什么Mdl1
15模型,每个正规化的力量在一个λ
。
估计旨在MSE。
mse = kfoldLoss (CVMdl);
更高的值λ
导致预测变量稀疏,这是一个好质量的回归模型。对于每一个正规化的力量,训练一个线性回归模型使用整个数据集和旨在模型时相同的选项。确定数量的非零系数模型。
Mdl = fitrlinear (X, Y,“ObservationsIn”,“列”,“λ”λ,…“学习者”,“leastsquares”,“规划求解”,“sparsa”,“正规化”,“套索”);numNZCoeff = (Mdl.Beta ~ = 0)之和;
在同一个图,画出旨在MSE和频率的非零系数正则化的力量。所有变量在对数尺度的阴谋。
图(h, hL1, hL2) = plotyy (log10(λ)log10 (mse),…log10(λ)log10 (numNZCoeff));hL1。标志=“o”;hL2。标志=“o”;ylabel (h (1),“log_ {10} MSE的)ylabel (h (2),“log_ {10} nonzero-coefficient频率”)包含(“log_{10}λ的)举行从
选择平衡的正则化强度指数预测变量稀疏和低MSE(例如,λ(10)
)。
idxFinal = 10;
提取模型与相应的均方误差最小。
idxFinal MdlFinal = selectModels (Mdl)
MdlFinal = RegressionLinear ResponseName:‘Y’ResponseTransform:“没有一个”测试:[1000 x1双]偏见:-0.0050λ:0.0037学习者:“leastsquares”属性,方法
idxNZCoeff =找到(MdlFinal.Beta ~ = 0)
idxNZCoeff =2×1100 200
EstCoeff = Mdl.Beta (idxNZCoeff)
EstCoeff =2×11.0051 - 1.9965
MdlFinal
是一个RegressionLinear
模型与一个正规化的力量。非零系数EstCoeff
接近系数,模拟数据。
这个例子展示了如何优化hyperparameters自动使用fitrlinear
。的例子使用人工(模拟)数据模型
是一个10000 - 10% - 1000稀疏矩阵非零标准正态元素。
e是随机的正常误差均值为0和标准偏差0.3。
rng (1)%的再现性n = 1 e4;d = 1 e3;新西兰= 0.1;X = sprandn (n, d,新西兰);Y = X (:, 100) + 2 * (:, 200) + 0.3 * randn (n, 1);
发现hyperparameters减少5倍交叉验证损失通过使用自动hyperparameter优化。
再现性,使用“expected-improvement-plus”
采集功能。
hyperopts =结构(“AcquisitionFunctionName”,“expected-improvement-plus”);(Mdl FitInfo HyperparameterOptimizationResults] = fitrlinear (X, Y,…“OptimizeHyperparameters”,“汽车”,…“HyperparameterOptimizationOptions”hyperopts)
| = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = | | Iter | Eval |目的:| |目的BestSoFar | BestSoFar |λ|学生| | | |结果日志(1 +损失)运行时| |(观察)| (estim) | | | | = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = | | 1 |的| 0.16029 | 0.41774 | 0.16029 | 0.16029 | 2.4206 e-09 svm | |
最好| 2 | | 0.14496 | 0.32058 | 0.14496 | 0.14601 | 0.001807 |支持向量机|
最好| 3 | | 0.13879 | 0.28024 | 0.13879 | 0.14065 | 2.4681 e-09 | leastsquares |
最好| 4 | | 0.115 | 0.27266 | 0.115 | 0.11501 | 0.021027 | leastsquares |
| 5 |接受| 0.44352 | 0.27558 | 0.115 | 0.1159 | 4.6795 | leastsquares |
最好| 6 | | 0.11025 | 0.27333 | 0.11025 | 0.11024 | 0.010671 | leastsquares |
| | 7日接受| 0.13222 | 0.27212 | 0.11025 | 0.11024 | 8.6067 e-08 | leastsquares |
| | 8接受| 0.13262 | 0.26992 | 0.11025 | 0.11023 | 8.5109 e-05 | leastsquares |
| | 9日接受| 0.13543 | 0.2732 | 0.11025 | 0.11021 | 2.7562 e-06 | leastsquares |
| |接受10 | 0.15751 | 0.34766 | 0.11025 | 0.11022 | 5.0559 e-06 svm | |
| | 11日接受| 0.40673 | 0.32948 | 0.11025 | 0.1102 | 0.52074 |支持向量机|
| | 12日接受| 0.16057 | 0.33499 | 0.11025 | 0.1102 | 0.00014292 |支持向量机|
| | 13日接受| 0.16105 | 0.33584 | 0.11025 | 0.11018 | 1.0079 e-07 svm | |
| | 14日接受| 0.12763 | 0.27263 | 0.11025 | 0.11019 | 0.0012085 | leastsquares |
| | 15日接受| 0.13504 | 0.27125 | 0.11025 | 0.11019 | 1.3981 e-08 | leastsquares |
| | 16日接受| 0.11041 | 0.27367 | 0.11025 | 0.11026 | 0.0093968 | leastsquares |
最好17 | | | 0.10954 | 0.27352 | 0.10954 | 0.11003 | 0.010393 | leastsquares |
| | 18日接受| 0.10998 | 0.2712 | 0.10954 | 0.11002 | 0.010254 | leastsquares |
| | 19日接受| 0.45314 | 0.27275 | 0.10954 | 0.11001 | 9.9932 |支持向量机|
最好20 | | | 0.10753 | 0.33512 | 0.10753 | 0.10759 | 0.022576 |支持向量机|
| = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = | | Iter | Eval |目的:| |目的BestSoFar | BestSoFar |λ|学生| | | |结果日志(1 +损失)运行时| |(观察)| (estim) | | | | = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = | | | 21日最好| 0.10737 | 0.33442 | 0.10737 | 0.10728 | 0.010171 |支持向量机|
| | 22日接受| 0.13448 | 0.28528 | 0.10737 | 0.10727 | 1.5344 e-05 | leastsquares |
23最好| | | 0.10645 | 0.33892 | 0.10645 | 0.10565 | 0.015495 |支持向量机|
| | 24日接受| 0.13598 | 0.27017 | 0.10645 | 0.10559 | 4.5984 e-07 | leastsquares |
| | 25日接受| 0.15962 | 0.3451 | 0.10645 | 0.10556 | 1.4302 e-08 svm | |
| | 26日接受| 0.10689 | 0.33135 | 0.10645 | 0.10616 | 0.015391 |支持向量机|
| | 27日接受| 0.13748 | 0.26642 | 0.10645 | 0.10614 | 1.001 e-09 | leastsquares |
| | 28日接受| 0.10692 | 0.33264 | 0.10645 | 0.10639 | 0.015761 |支持向量机|
| | 29日接受| 0.10681 | 0.32913 | 0.10645 | 0.10649 | 0.015777 |支持向量机|
| | 30日接受| 0.34314 | 0.26817 | 0.10645 | 0.10651 | 0.39671 | leastsquares |
__________________________________________________________优化完成。MaxObjectiveEvaluations 30。总功能评估:30总运行时间:29.0513秒。总目标函数评价时间:9.0751最佳观察可行点:λ学习者_____________ _________ 0.0154950548329524 svm观察目标函数值= 0.10645估计目标函数值= 0.10651时间评估函数= 0.33892最佳估计可行点(根据模型):λ学习者_________________ _________ 0.015777492256035 svm估计目标函数值= 0.10651估计时间评估函数= 0.33362
Mdl = RegressionLinear ResponseName:‘Y’ResponseTransform:“没有一个”测试:(1000×1双)偏见:-0.001764448684672λ:0.015777492256035学习者:“支持向量机”属性,方法
FitInfo =结构体字段:0.015777492256035λ:目的:0.230889727364096 PassLimit: 10 NumPasses: 10 BatchLimit: [] NumIterations: 99989 GradientNorm:南GradientTolerance: 0 RelativeChangeInBeta: 0.064063563056079 BetaTolerance: 1.000000000000000 e-04 DeltaGradient: 1.169701423362251 DeltaGradientTolerance: 0.100000000000000 TerminationCode: 0 TerminationStatus:{“迭代超过限制。'}α(10000×1双):历史:[]FitTime: 0.050041900000000解决:{“双重”}
HyperparameterOptimizationResults = BayesianOptimization属性:ObjectiveFcn: @createObjFcn / inMemoryObjFcn VariableDescriptions: [3×1 optimizableVariable]选项:[1×1 struct] MinObjective: 0.106451249084752 XAtMinObjective:[1×2表]MinEstimatedObjective: 0.106505444701403 XAtMinEstimatedObjective:[1×2表]NumObjectiveEvaluations: 30 TotalElapsedTime: 29.051285600000000 NextPoint:[1×2表]XTrace:[30×2表]ObjectiveTrace:[30×1双]ConstraintsTrace: [] UserDataTrace:{30×1细胞}ObjectiveEvaluationTimeTrace:[30×1双]IterationTimeTrace:[30×1双]ErrorTrace:[30×1双]FeasibilityTrace:[30×1逻辑]FeasibilityProbabilityTrace:[30×1双]IndexOfMinimumTrace:[30×1双]ObjectiveMinimumTrace:[30×1双]EstimatedObjectiveMinimumTrace:[30×1双)
这种优化技术是比所示的简单找到好的套索惩罚使用交叉验证,但不允许你权衡模型复杂性和交叉验证的损失。
X
- - - - - -预测数据预测数据,指定为一个
的长度Y
和观察的数量X
必须是相等的。
如果你东方预测矩阵,以便观察并指定对应列“ObservationsIn”、“列”
,那么你可能会经历在optimization-execution时间显著减少。
数据类型:单
|双
Y
- - - - - -响应数据响应数据,指定为一个Y
和观察的数量X
必须是相等的。
数据类型:单
|双
fitrlinear
删除丢失的观测,观测与任何这些特征:
南
元素的响应(Y
或ValidationData
{2}
)
至少有一个南
值预测观察(行X
或ValidationData {1}
)
南
值或0
体重(权重
或ValidationData {3}
)
对于经济的内存使用,最佳实践从训练数据手动删除含有缺失值的观察前培训。
指定可选的逗号分隔条名称,值
参数。的名字
参数名称和吗价值
相应的价值。的名字
必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家
。
Mdl = fitrlinear (X, Y,“学习者”,“leastsquares”、“CrossVal”,“对”,“正规化”,“套索”)
指定了实现最小二乘回归,实现10倍交叉验证,并指定包括套索正则化项。
你不能使用任何交叉验证名称-值对论点的“OptimizeHyperparameters”
名称-值对的论点。您可以修改交叉验证“OptimizeHyperparameters”
只有通过使用“HyperparameterOptimizationOptions”
名称-值对的论点。
‘ε’
- - - - - -epsilon-insensitive带的宽度的一半差(Y) / 13.49
(默认)|负的标量值一半的宽度epsilon-insensitive乐队,指定为逗号分隔组成的‘ε’
和非负标量值。‘ε’
只适用于支持向量机学习。
默认的ε
值是差(Y) / 13.49
,这是一个估计的标准偏差使用响应变量的四分位范围Y
。如果差(Y)
等于零,那么默认吗ε
值是0.1。
例子:‘ε’,0.3
数据类型:单
|双
“λ”
- - - - - -正则化项的力量“汽车”
(默认)|负的标量|向量的非负价值正则化项,指定为逗号分隔组成的“λ”
和“汽车”
、非负标量或矢量非负的值。
例子:“λ”,10 ^ (- (10:2:2))
数据类型:字符
|字符串
|双
|单
“学习者”
- - - - - -线性回归模型类型“支持向量机”
(默认)|“leastsquares”
线性回归模型类型,指定为逗号分隔组成的“学习者”
和“支持向量机”
或“leastsquares”
。
在这个表中,
β是一个向量的
x是一个观察从
b是标量的偏见。
价值 | 算法 | 响应范围 | 损失函数 |
---|---|---|---|
“leastsquares” |
通过普通的最小二乘线性回归 | y∊(-∞∞) | 均方误差(MSE): |
“支持向量机” |
万博1manbetx支持向量机回归 | 一样“leastsquares” |
Epsilon-insensitive: |
例子:“学习者”,“leastsquares”
“ObservationsIn”
- - - - - -预测数据观察维度“行”
(默认)|“列”
预测数据观察维度,指定为逗号分隔组成的“ObservationsIn”
和“列”
或“行”
。
如果你东方预测矩阵,以便观察并指定对应列“ObservationsIn”、“列”
,那么你可能会经历在optimization-execution时间显著减少。
“规划求解”
- - - - - -目标函数极小化技术“sgd”
|“asgd”
|“双重”
|“蓄热”
|“lbfgs”
|“sparsa”
|字符串数组|单元阵列的特征向量目标函数最小化技术,指定为逗号分隔组成的“规划求解”
和特征向量或字符串标量字符串数组或单元阵列特征向量的值从这个表。
价值 | 描述 | 限制 |
---|---|---|
“sgd” |
随机梯度下降法(SGD)[5][3] | |
“asgd” |
平均随机梯度下降法(ASGD)[8] | |
“双重” |
双重SGD对支持向量机[2][7] | 正则化 必须“岭” 和学习者 必须“支持向量机” 。 |
“蓄热” |
Broyden-Fletcher-Goldfarb-Shanno拟牛顿算法(高炉煤气)[4] | 效率低下,如果X 非常高维。 |
“lbfgs” |
内存有限bfg (LBFGS)[4] | 正则化 必须“岭” 。 |
“sparsa” |
通过分离变量近似稀疏重建(SpaRSA)[6] | 正则化 必须“套索” 。 |
如果你指定:
山脊处罚(见正则化
),大小(X, 1) < = 100
(100或更少的预测变量),那么默认的能手“蓄热”
。
一个支持向量机回归模型(见学习者
)、脊的点球和大小(X, 1) > 100
(100多个预测变量),那么默认的能手“双重”
。
套索的点球,X
包含100个或更少的预测变量,那么默认的能手“sparsa”
。
否则,默认的能手“sgd”
。
如果你指定一个字符串数组或单元阵列解决者的名字,然后解决软件使用所有指定的顺序λ
。
解算器选择的更多细节,请参阅提示。
例子:“规划求解”,{‘sgd’,‘lbfgs}
“β”
- - - - - -初始线性系数估计0 (p
,1)
(默认)|数值向量|数字矩阵初始线性系数的估计(“β”
和一个X
和λ
)。
如果你指定一个
软件的优化使用β
初始值的最小值λ
正则化的力量。
软件优化再次使用之前的预估结果,优化作为一个温暖的开始,下一个最小值λ
正则化的力量。
软件实现第二步,直到耗尽所有的值λ
。
如果你指定一个j
,软件使用β(:,
作为初始值,之后j
)λ
以升序排序,使用λ(
正则化的力量。j
)
如果你设置“规划求解”、“双”
,那么软件忽略β
。
数据类型:单
|双
“偏见”
- - - - - -最初的拦截估计“FitBias”
- - - - - -线性模型拦截包含国旗真正的
(默认)|假
线性模型拦截包含标志,指定为逗号分隔组成的“FitBias”
和真正的
或假
。
价值 | 描述 |
---|---|
真正的 |
该软件包括偏差项 |
假 |
该软件集 |
例子:“FitBias”,假的
数据类型:逻辑
“详细”
- - - - - -冗长的水平0
(默认)|非负整数冗长的层面上,指定为逗号分隔组成的“详细”
和一个非负整数。详细的
控制的诊断信息fitrlinear
显示在命令行。
价值 | 描述 |
---|---|
0 |
fitrlinear 不显示诊断信息。 |
1 |
fitrlinear 定期显示和存储目标函数的值,梯度大小,和其他诊断信息。FitInfo.History 包含诊断信息。 |
其他任何正整数 | fitrlinear 显示和诊断信息存储在每个优化迭代。FitInfo.History 包含诊断信息。 |
例子:“详细”,1
数据类型:双
|单
“BatchSize”
- - - - - -Mini-batch大小Mini-batch大小,指定为逗号分隔组成的“BatchSize”
和一个正整数。在每个迭代中,次梯度估计的软件使用BatchSize
从训练数据的观察。
如果X
是一个数字矩阵,那么默认值是10
。
如果X
是一个稀疏矩阵,那么默认值是什么马克斯([10日装天花板(sqrt (ff))))
,在那里ff =元素个数(X) / nnz (X)
(X
)。
例子:“BatchSize”, 100年
数据类型:单
|双
“LearnRate”
- - - - - -学习速率学习速率,指定为逗号分隔组成的“LearnRate”
和积极的标量。LearnRate
指定每个迭代需要多少步骤。在每个迭代中,梯度指定每一步的方向和大小。
如果正则化
是“岭”
,然后LearnRate
指定初始学习速率
如果正则化
是“套索”
那么,所有迭代,LearnRate
是恒定的。
默认情况下,LearnRate
是1 /√(1 +马克斯(sum (x ^ 2, obsDim))))
,在那里obsDim
是1
如果观察组成的列X
,2
否则。
例子:“LearnRate”, 0.01
数据类型:单
|双
“OptimizeLearnRate”
- - - - - -降低学习速率的旗帜真正的
(默认)|假
国旗来减少软件检测时的学习速率差异(即over-stepping最低),指定为逗号分隔组成的“OptimizeLearnRate”
和真正的
或假
。
如果OptimizeLearnRate
是“真正的”
,那么:
一些优化迭代的,软件开始优化使用LearnRate
学习速率。
如果目标函数的值增加,然后重启软件,并使用当前值的学习速率的一半。
软件迭代步骤2,直到目标函数下降。
例子:“OptimizeLearnRate”,真的
数据类型:逻辑
“TruncationPeriod”
- - - - - -之间的mini-batches套索截断10
(默认)|正整数“重量”
- - - - - -观察权重(n1)/n
(默认)|数字矢量的积极的价值观观察体重、指定为逗号分隔组成的“重量”
和一个数字向量的积极的价值观。fitrlinear
重的观察X
与相应的价值权重
。的大小权重
必须等于X
。
fitrlinear
规范化权重
总和为1。
数据类型:双
|单
“ResponseName”
- - - - - -响应变量名“Y”
(默认)|特征向量|字符串标量响应变量名称,指定为逗号分隔组成的“ResponseName”
和一个字符向量或字符串标量。
如果你提供Y
,那么你可以使用“ResponseName”
为响应变量指定一个名称。
如果你提供ResponseVarName
或公式
,那么你不能使用“ResponseName”
。
例子:“ResponseName”、“响应”
数据类型:字符
|字符串
“ResponseTransform”
- - - - - -响应转换“没有”
(默认)|函数处理响应变换,指定为逗号分隔组成的“ResponseTransform”
,要么“没有”
或一个函数处理。默认值是“没有”
,这意味着@ (y) y
,或者没有转换。对于一个MATLAB®函数或函数定义,使用它的功能处理。函数处理必须接受一个向量(原始响应值),并返回一个向量的大小相同(转换后的响应值)。
例子:假设您创建一个函数处理一个指数变换适用于通过使用一个输入向量myfunction = @ (y) exp (y)
。然后,您可以指定响应转换myfunction ResponseTransform,
。
数据类型:字符
|字符串
|function_handle
“CrossVal”
- - - - - -交叉验证标志“关闭”
(默认)|“上”
交叉验证标志,指定为逗号分隔组成的“Crossval”
和“上”
或“关闭”
。
如果您指定“上”
交叉验证,软件实现了10倍。
覆盖这个交叉验证设置,使用其中一个名称-值对参数:CVPartition
,坚持
,或KFold
。创建一个旨在模型,您可以使用一个交叉验证一次名称-值对的论点。
例子:“Crossval”,“上”
“CVPartition”
- - - - - -交叉验证分区[]
(默认)|cvpartition
分区对象交叉验证分区,指定为逗号分隔组成的“CVPartition”
和一个cvpartition
分区创建的对象cvpartition
。分区对象指定了类型的交叉验证,也为训练集和验证集索引。
“坚持”
- - - - - -为抵抗验证的数据分数的数据用于抵抗验证、指定为逗号分隔组成的“坚持”
和一个标量值的范围(0,1)。如果您指定“坚持”,
,那么软件:p
随机储备
%的数据作为验证数据,和火车模型使用的其他数据p
* 100
在存储紧凑,训练模型训练有素的
旨在模型的属性。
创建一个旨在模型,您可以使用这些四个选项之一:”
CVPartition
”
,”
坚持
”
,或”
KFold
”
。
例子:“坚持”,0.1
数据类型:双
|单
“KFold”
- - - - - -数量的折叠10
(默认)|值大于1的正整数旨在分类器的折叠使用,指定为逗号分隔组成的“KFold”
和一个正整数价值大于1。如果你指定,例如,“KFold”,
,那么软件:
随机数据分区
对于每一个集合,储备作为验证数据集,和火车模型使用另一个k- 1集
存储k
紧凑,训练模型的细胞k
1细胞向量训练有素的
旨在模型的属性。
创建一个旨在模型,您可以使用这些四个选项之一:”
CVPartition
”
,”
坚持
”
,或”
KFold
”
。
例子:“KFold”, 8
数据类型:单
|双
“BatchLimit”
- - - - - -最大数量的批次最大数量的批量处理,指定为逗号分隔组成的“BatchLimit”
和一个正整数。当软件过程BatchLimit
批次,终止优化。
默认情况下:
如果您指定“BatchLimit”
和”
PassLimit
”
,那么软件选择结果的参数处理最少的观察。
如果您指定“BatchLimit”
但不是“PassLimit”
,那么软件过程足够的批次完成一整个通过数据。
例子:“BatchLimit”, 100年
数据类型:单
|双
“BetaTolerance”
- - - - - -相对公差线性系数和偏差项1的军医
(默认)|负的标量相对公差线性系数和偏差项(拦截),指定为逗号分隔组成的“BetaTolerance”
和一个负的标量。
让
,即向量系数和偏差的优化迭代
如果软件是收敛的解算程序中指定解算器
,然后优化终止。否则,在指定的软件使用下一个解算器解算器
。
例子:e-6 BetaTolerance, 1
数据类型:单
|双
“NumCheckConvergence”
- - - - - -批次处理下收敛之前检查批次处理下收敛检查之前,指定为逗号分隔组成的“NumCheckConvergence”
和一个正整数。
指定批处理大小,明白了BatchSize
。
软件检查收敛大约10次默认通过整个数据集。
例子:“NumCheckConvergence”, 100年
数据类型:单
|双
“PassLimit”
- - - - - -最大数量的经过1
(默认)|正整数最大数量的经过数据,指定为逗号分隔组成的“PassLimit”
和一个正整数。
fitrlinear
处理所有当它完成一个通过观测数据。
当fitrlinear
通过数据PassLimit
时候,它终止优化。
如果您指定”
BatchLimit
”
和PassLimit
,然后fitrlinear
选择结果的参数处理最少的观察。更多细节,请参阅算法。
例子:“PassLimit”, 5
数据类型:单
|双
“ValidationData”
- - - - - -验证数据优化收敛性检测数据优化收敛性检测,指定为逗号分隔组成的“ValidationData”
和一个单元阵列。
在优化过程中,软件定期估计的损失ValidationData
。如果验证数据损失增加,那么软件终止优化。更多细节,请参阅算法。优化hyperparameters使用交叉验证,看到交叉验证选项等CrossVal
。
ValidationData (1)
必须包含一个X
。在训练数据的预测变量X
和ValidationData {1}
必须对应。观察两组的数量可以有所不同。
ValidationData (2)
必须包含一个数组ValidationData {1}
。
可选地,ValidationData (3)
可以包含一个
如果您指定ValidationData
那么,显示验证损失在命令行中,指定一个值大于0详细的
。
如果软件是收敛的解算程序中指定解算器
,然后优化终止。否则,在指定的软件使用下一个解算器解算器
。
默认情况下,软件不能检测融合通过监测验证数据损失。
“GradientTolerance”
- - - - - -绝对梯度宽容1 e-6
(默认)|负的标量绝对梯度宽容,指定为逗号分隔组成的“GradientTolerance”
和一个负的标量。GradientTolerance
适用于这些值解算器
:“蓄热”
,“lbfgs”
,“sparsa”
。
让
是目标函数的梯度向量的系数和偏见在优化迭代
如果你指定BetaTolerance
,然后优化时终止fitrlinear
满足要么停止准则。
如果fitrlinear
收敛最后解算器中指定解算器
,然后优化终止。否则,fitrlinear
使用在指定的未来解决解算器
。
例子:GradientTolerance,每股收益
数据类型:单
|双
“IterationLimit”
- - - - - -最大数量的优化迭代1000年
(默认)|正整数最大数量的优化迭代,指定为逗号分隔组成的“IterationLimit”
和一个正整数。IterationLimit
适用于这些值解算器
:“蓄热”
,“lbfgs”
,“sparsa”
。
例子:e7 IterationLimit, 1
数据类型:单
|双
“BetaTolerance”
- - - - - -相对公差线性系数和偏差项1的军医
(默认)|负的标量相对公差线性系数和偏差项(拦截),指定为逗号分隔组成的“BetaTolerance”
和一个负的标量。
让
,即向量系数和偏差的优化迭代
如果你指定DeltaGradientTolerance
,然后优化软件满足停止条件时终止。
如果软件是收敛的解算程序中指定解算器
,然后优化终止。否则,在指定的软件使用下一个解算器解算器
。
例子:e-6 BetaTolerance, 1
数据类型:单
|双
“DeltaGradientTolerance”
- - - - - -Gradient-difference宽容0.1
(默认)|负的标量Gradient-difference公差之间的上、下池Karush-Kuhn-Tucker(马)互补条件违反者,指定为逗号分隔组成的“DeltaGradientTolerance”
和一个负的标量。DeltaGradientTolerance
适用于“双重”
的价值解算器
只有。
如果马违规者的大小小于DeltaGradientTolerance
,然后fitrlinear
终止优化。
如果fitrlinear
收敛最后解算器中指定解算器
,然后优化终止。否则,fitrlinear
使用在指定的未来解决解算器
。
例子:依照“DeltaGapTolerance”, 1
数据类型:双
|单
“NumCheckConvergence”
- - - - - -数量的穿过整个数据集处理下收敛之前检查5
(默认)|正整数数量的穿过整个数据集处理下收敛之前检查,指定为逗号分隔组成的“NumCheckConvergence”
和一个正整数。
例子:“NumCheckConvergence”, 100年
数据类型:单
|双
“PassLimit”
- - - - - -最大数量的经过10
(默认)|正整数最大数量的经过数据,指定为逗号分隔组成的“PassLimit”
和一个正整数。
当软件完成一个通过数据,处理所有的观察。
当软件通过数据PassLimit
时候,它终止优化。
例子:“PassLimit”, 5
数据类型:单
|双
“ValidationData”
- - - - - -验证数据优化收敛性检测数据优化收敛性检测,指定为逗号分隔组成的“ValidationData”
和一个单元阵列。
在优化过程中,软件定期估计的损失ValidationData
。如果验证数据损失增加,那么软件终止优化。更多细节,请参阅算法。优化hyperparameters使用交叉验证,看到交叉验证选项等CrossVal
。
ValidationData (1)
必须包含一个X
。在训练数据的预测变量X
和ValidationData {1}
必须对应。观察两组的数量可以有所不同。
ValidationData (2)
必须包含一个数组ValidationData {1}
。
可选地,ValidationData (3)
可以包含一个
如果您指定ValidationData
那么,显示验证损失在命令行中,指定一个值大于0详细的
。
如果软件是收敛的解算程序中指定解算器
,然后优化终止。否则,在指定的软件使用下一个解算器解算器
。
默认情况下,软件不能检测融合通过监测验证数据损失。
“BetaTolerance”
- - - - - -相对公差线性系数和偏差项1的军医
(默认)|负的标量相对公差线性系数和偏差项(拦截),指定为逗号分隔组成的“BetaTolerance”
和一个负的标量。
让
,即向量系数和偏差的优化迭代
如果你指定GradientTolerance
,然后优化软件满足停止条件时终止。
如果软件是收敛的解算程序中指定解算器
,然后优化终止。否则,在指定的软件使用下一个解算器解算器
。
例子:e-6 BetaTolerance, 1
数据类型:单
|双
“GradientTolerance”
- - - - - -绝对梯度宽容1 e-6
(默认)|负的标量绝对梯度宽容,指定为逗号分隔组成的“GradientTolerance”
和一个负的标量。
让
是目标函数的梯度向量的系数和偏见在优化迭代
如果你指定BetaTolerance
,然后优化软件满足停止条件时终止。
如果软件收敛过去解算器中指定的软件,然后优化终止。否则,在指定的软件使用下一个解算器解算器
。
例子:e-5 GradientTolerance, 1
数据类型:单
|双
“HessianHistorySize”
- - - - - -历史缓冲区大小黑森近似15
(默认)|正整数历史缓冲区大小黑森近似,指定为逗号分隔组成的“HessianHistorySize”
和一个正整数。在每个迭代中,软件组成黑森使用最新的统计数据HessianHistorySize
迭代。
软件不支持万博1manbetx“HessianHistorySize”
SpaRSA。
例子:“HessianHistorySize”, 10
数据类型:单
|双
“IterationLimit”
- - - - - -最大数量的优化迭代1000年
(默认)|正整数最大数量的优化迭代,指定为逗号分隔组成的“IterationLimit”
和一个正整数。IterationLimit
适用于这些值解算器
:“蓄热”
,“lbfgs”
,“sparsa”
。
例子:“IterationLimit”, 500年
数据类型:单
|双
“ValidationData”
- - - - - -验证数据优化收敛性检测数据优化收敛性检测,指定为逗号分隔组成的“ValidationData”
和一个单元阵列。
在优化过程中,软件定期估计的损失ValidationData
。如果验证数据损失增加,那么软件终止优化。更多细节,请参阅算法。优化hyperparameters使用交叉验证,看到交叉验证选项等CrossVal
。
ValidationData (1)
必须包含一个X
。在训练数据的预测变量X
和ValidationData {1}
必须对应。观察两组的数量可以有所不同。
ValidationData (2)
必须包含一个数组ValidationData {1}
。
可选地,ValidationData (3)
可以包含一个
如果您指定ValidationData
那么,显示验证损失在命令行中,指定一个值大于0详细的
。
如果软件是收敛的解算程序中指定解算器
,然后优化终止。否则,在指定的软件使用下一个解算器解算器
。
默认情况下,软件不能检测融合通过监测验证数据损失。
“OptimizeHyperparameters”
- - - - - -参数优化“没有”
(默认)|“汽车”
|“所有”
|字符串数组或单元阵列的参数名的资格|向量的optimizableVariable
对象参数优化,指定为逗号分隔组成的“OptimizeHyperparameters”
和下列之一:
“没有”
——不优化。
“汽车”
——使用{“λ”、“学习者”}
。
“所有”
——优化所有符合条件的参数。
字符串数组或单元阵列的参数名的资格。
向量的optimizableVariable
对象,通常的输出hyperparameters
。
优化试图最小化交叉验证(错误)损失fitrlinear
通过改变参数。控制交叉验证类型和其他方面的优化,使用HyperparameterOptimizationOptions
名称-值对。
“OptimizeHyperparameters”
值覆盖任何值使用其他名称-值对参数设置。例如,设置“OptimizeHyperparameters”
来“汽车”
导致“汽车”
值应用。
合格的参数fitrlinear
是:
设置默认的参数通过一个向量的optimizableVariable
有默认值的对象。例如,
负载carsmallparams = hyperparameters (“fitrlinear”(功率、重量),MPG);参数(1)。范围= [1 e - 3, 2 e4];
通过参数个数
的价值OptimizeHyperparameters
。
默认情况下,迭代显示出现在命令行,和情节出现的数量根据hyperparameters优化。优化和阴谋的目标函数日志(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” 在每一个迭代。变量是一个BayesianOptimization 对象。 |
假 |
详细的 |
显示命令行。
详情,请参阅 |
1 |
UseParallel |
逻辑值,指出是否贝叶斯优化并行运行,这就需要并行计算工具箱™。由于nonreproducibility平行的时机,平行贝叶斯优化不一定产生可重复的结果。有关详细信息,请参见平行的贝叶斯优化。 | 假 |
重新分区 |
逻辑值指示是否重新分配在每个迭代交叉验证。如果
|
假 |
使用不超过以下三个字段名称之一。 | ||
CVPartition |
一个cvpartition 创建的对象cvpartition 。 |
“Kfold”, 5 如果你不指定任何交叉验证字段 |
坚持 |
一个标量范围(0,1) 代表抵抗分数。 |
|
Kfold |
一个大于1的整数。 |
例子:“HyperparameterOptimizationOptions”、结构(MaxObjectiveEvaluations, 60)
数据类型:结构体
Mdl
——训练有素的线性回归模型RegressionLinear
模型对象|RegressionPartitionedLinear
旨在模型对象训练有素的线性回归模型,作为一个返回RegressionLinear
模型对象或RegressionPartitionedLinear
旨在模型对象。
如果你设置的名称-值对参数KFold
,坚持
,CrossVal
,或CVPartition
,然后Mdl
是一个RegressionPartitionedLinear
旨在模型对象。否则,Mdl
是一个RegressionLinear
模型对象。
引用的属性Mdl
,使用点符号。例如,输入Mdl.Beta
在命令窗口中显示向量或矩阵的估计系数。
不像其他的回归模型,对经济的内存使用情况,RegressionLinear
和RegressionPartitionedLinear
模型对象不存储训练数据或优化的细节(例如,融合历史)。
FitInfo
——优化细节优化细节,作为一个结构数组返回。
字段指定最终值或名称-值对参数规格,例如,客观的
的值是目标函数优化时终止。成排的多维字段对应的值λ
和列对应的值解算器
。
此表描述了一些值得关注的领域。
场 | 描述 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TerminationStatus |
|
||||||||||||||
FitTime |
过去,墙上时钟的时间在秒 | ||||||||||||||
历史 |
一个结构数组为每次迭代的优化信息。这个领域
|
访问字段,使用点符号。例如,访问每个迭代的目标函数值的向量,输入FitInfo.History.Objective
。
这是良好的实践检验FitInfo
评估是否满意的收敛。
HyperparameterOptimizationResults
——hyperparameters交叉验证优化BayesianOptimization
对象| hyperparameters表和相关的值交叉验证优化hyperparameters,作为一个返回BayesianOptimization
对象或一个表hyperparameters和相关联的值。输出的价值时,非空的“OptimizeHyperparameters”
不是“没有”
。输出值取决于优化器
字段值的“HyperparameterOptimizationOptions”
名称-值对论点:
的价值优化器 场 |
的价值HyperparameterOptimizationResults |
---|---|
“bayesopt” (默认) |
对象的类BayesianOptimization |
“gridsearch” 或“randomsearch” |
hyperparameters表使用,观察目标函数值(交叉验证损失)和从最低(最好的)最高等级的观察(坏的) |
如果学习者
是“leastsquares”
在目标函数,那么损失项MSE的一半。损失
默认返回MSE。因此,如果您使用损失
检查resubstitution、或培训、错误还有返回的MSE之间的差异损失
和优化的结果FitInfo
或返回到命令行通过设置使用积极的冗长水平详细的
。
一个
高维线性分类和回归模型目标函数最小化相对迅速,但代价的准确性,numeric-only预测变量的限制,模型必须是线性的参数。如果你的预测数据集通过medium-dimensional低收入,或包含不同种类的变量,那么你应该使用适当的分类或回归拟合函数。来帮助你决定哪些适合您的低维数据集拟合函数,使用此表。
东方预测矩阵是一个最佳实践,观察对应列和指定“ObservationsIn”、“列”
。作为一个结果,你可以体验在optimization-execution时间显著减少。
“sgd”
“asgd”
“双重”
如果学习者
是“支持向量机”
{“sgd”、“lbfgs”}
{“asgd”、“lbfgs”}
{“双”、“lbfgs”}
如果学习者
是“支持向量机”
其他组合会导致贫穷的优化精度。
为了更好的优化精度X
适中——通过低维正则化
是“岭”
,设置解算器
来“蓄热”
。
如果正则化
是“套索”
,这些组合解算器
:
“sgd”
“asgd”
“sparsa”
{“sgd”、“sparsa”}
{“asgd”、“sparsa”}
当选择SGD ASGD,考虑到:
每迭代SGD花费更少的时间,但是需要更多的迭代收敛。
ASGD需要更少的迭代收敛,但需要更多时间每个迭代。
如果X
几乎没有观察,但许多预测变量,那么:
指定“PostFitBias”,真的
。
SGD或ASGD解决者,集PassLimit
大于1的正整数,例如,5或10。这个设置往往导致更好的精度。
SGD ASGD解决者,BatchSize
影响了收敛速度。
如果BatchSize
太小了,然后呢fitrlinear
在多次迭代达到最低,但快速计算每个迭代的梯度。
如果BatchSize
太大呢fitrlinear
在更少的迭代达到最低,但慢慢地计算每个迭代的梯度。
大学习利率(见LearnRate
)加快收敛到最小值,但会导致分歧(即over-stepping最低)。小学习率确保收敛到最小值,但会导致缓慢的终止。
使用套索处罚时,试验不同的值TruncationPeriod
。例如,设置TruncationPeriod
来1
,10
,然后One hundred.
。
为了提高效率,fitrlinear
不规范预测数据。标准化X
,输入
X = bsxfun (@rdivide bsxfun (@minus X,意味着(X, 2)),性病(0,2));
代码要求您东方预测和观察的行和列X
,分别。另外,对于经济的内存使用,代码替换原来的预测数据标准化数据。
训练模型后,可以生成C / c++代码为新数据预测的反应。需要生成C / c++代码MATLAB编码器™。有关详细信息,请参见介绍代码生成。
如果您指定ValidationData
那么,在目标函数优化:
fitrlinear
估计,验证的损失ValidationData
定期使用当前模型和跟踪估计最小。
当fitrlinear
验证的损失估计,它比较估计最小估计。
当后续验证损失估计超过最小估计五次,fitrlinear
终止优化。
如果您指定ValidationData
和实现交叉验证例程(CrossVal
,CVPartition
,坚持
,或KFold
),那么:
fitrlinear
火车模型使用训练数据分区。在目标函数优化,fitrlinear
使用ValidationData
另一个可能的方法来终止优化(详情,请参见前面的子弹)。
一次fitrlinear
满足停止条件,构造了一个基于优化训练模型线性系数和拦截。
如果你实现fitrlinear
没有用尽所有的训练集折叠呢fitrlinear
返回第2步训练使用下一个训练集褶皱。
否则,fitrlinear
终止训练,然后返回旨在模型。
您可以确定旨在模型的质量。例如:
确定验证使用抵抗或损失out-of-fold步骤1的数据,通过旨在模型kfoldLoss
。
预测观测抵抗或out-of-fold步骤1的数据,通过旨在模型kfoldPredict
。
[1],c . h和c·j·林。“大规模线性支持向量回归。”万博1manbetx
[2],c·J。,K. W. Chang, C. J. Lin, S. S. Keerthi, and S. Sundararajan. “A Dual Coordinate Descent Method for Large-Scale Linear SVM.”
[3]兰福德,J。,l。li, and T. Zhang. “Sparse Online Learning Via Truncated Gradient.”
[4]Nocedal, j .和s·j·莱特。
[5]Shalev-Shwartz, S。,Y。Singer, and N. Srebro. “Pegasos: Primal Estimated Sub-Gradient Solver for SVM.”
[6]赖特,s . J。,R. D. Nowak, and M. A. T. Figueiredo. “Sparse Reconstruction by Separable Approximation.”
肖[7],林。“双重平均正规化方法随机学习和在线优化。”
[8]徐,魏。“对最优传递规模与平均随机梯度下降学习。”
使用笔记和限制:
一些名称-值对参数有不同的默认值和值相对于内存中fitrlinear
函数。万博1manbetx名称-值对的论据支持,任何差异,有:
‘ε’
“ObservationsIn”
——万博1manbetx只支持“行”
。
“λ”
- - -可以“汽车”
(默认)或一个标量。
“学习者”
“正规化”
——万博1manbetx只支持“岭”
。
“规划求解”
——万博1manbetx只支持“lbfgs”
。
“详细”
默认值是1
“β”
“偏见”
“FitBias”
——万博1manbetx只支持真正的
。
“重量”
——高值必须是一个数组。
“HessianHistorySize”
“BetaTolerance”
——默认值是放松1 e - 3
。
“GradientTolerance”
——默认值是放松1 e - 3
。
“IterationLimit”
——默认值是放松20.
。
“OptimizeHyperparameters”
——的价值“正规化”
参数必须“岭”
。
“HyperparameterOptimizationOptions”
——交叉验证,高大的优化只支持万博1manbetx“坚持”
验证。例如,您可以指定fitrlinear (X, Y,‘OptimizeHyperparameters’,‘汽车’,‘HyperparameterOptimizationOptions’,结构(“抵抗”,0.2))
。
适合个子高的数组fitrlinear
实现LBFGS分布计算的损失和高的不同部分之间的梯度在每个迭代数组。其他解决不用于高数组。
当初始值β
和偏见
不给,fitrlinear
第一个改进初始的估计参数的拟合模型局部地区的数据,结合平均系数。
有关更多信息,请参见高大的数组(MATLAB)。
并行运行,设置“UseParallel”
选项真正的
。
执行并行hyperparameter优化,使用“HyperparameterOptions”、结构(UseParallel,真的)
名称-值对参数在调用这个函数。
平行hyperparameter优化的更多信息,请参阅平行的贝叶斯优化。
关于并行计算的更一般的信息,请参阅MATLAB函数自动并行支持运行万博1manbetx(并行计算工具箱)。
RegressionLinear
|RegressionPartitionedLinear
|fitclinear
|fitlm
|fitrsvm
|kfoldLoss
|kfoldPredict
|套索
|预测
|脊
una版本中存在modificada德埃斯特苏sistema比如。害怕Prefiere abrir esta版本吗?
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。万博1manbetx
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。