fitrlinear

适合高维数据的线性回归模型

描述

fitrlinear有效的列车与高维线性回归模型,完整的或稀疏的预测数据。可用线性回归模型包括正规化的支持向量机(SVM)和最小二乘回归方法。万博1manbetxfitrlinear最小化目标函数使用技术,减少计算时间(例如,随机梯度下降法)。

为减少计算时间在高维数据集,包括许多预测变量,列车通过使用线性回归模型fitrlinear。低——通过medium-dimensional预测数据集,明白了选择低维数据

例子

Mdl= fitrlinear (X,Y)返回一个训练有素的回归模型对象,其中包含的结果拟合预测的支持向量机回归模型万博1manbetxX和响应Y

例子

Mdl= fitrlinear (X,Y,名称,值)返回一个训练有素的线性回归模型由一个或多个指定附加选项名称,值对参数。例如,您可以指定实现最小二乘回归,指定旨在,或指定正则化的类型。是一种很好的做法旨在使用Kfold名称,值对参数。交叉验证结果确定模型概括。

例子

(Mdl,FitInfo)= fitrlinear (___)还返回优化细节使用任何以前的语法。你不能要求FitInfo旨在为模型。

例子

(Mdl,FitInfo,HyperparameterOptimizationResults)= fitrlinear (___)当你通过也返回hyperparameter优化细节OptimizeHyperparameters名称-值对。

例子

全部折叠

使用支持向量机训练线性回归模型,双SGD,脊正规化。

从这个模型模拟10000年观测

y = x 1 0 0 + 2 x 2 0 0 + e

  • X = x 1 , , x 1 0 0 0 是一个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年观测

y = x 1 0 0 + 2 x 2 0 0 + e

  • X = { x 1 , , x 1 0 0 0 } 是一个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对数间隔正则化的优势 1 0 - - - - - - 5 通过 1 0 - - - - - - 1

λ= 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折。因为λ是一个序列的正则化的优势,你能想到什么Mdl115模型,每个正规化的力量在一个λ

估计旨在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。的例子使用人工(模拟)数据模型

y = x 1 0 0 + 2 x 2 0 0 + e

  • X = { x 1 , , x 1 0 0 0 } 是一个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双)

这种优化技术是比所示的简单找到好的套索惩罚使用交叉验证,但不允许你权衡模型复杂性和交叉验证的损失。

输入参数

全部折叠

预测数据,指定为一个n——- - - - - -p完整的或稀疏矩阵。

的长度Y和观察的数量X必须是相等的。

请注意

如果你东方预测矩阵,以便观察并指定对应列“ObservationsIn”、“列”,那么你可能会经历在optimization-execution时间显著减少。

数据类型:|

响应数据,指定为一个n维数值向量。的长度Y和观察的数量X必须是相等的。

数据类型:|

请注意

fitrlinear删除丢失的观测,观测与任何这些特征:

  • 元素的响应(YValidationData{2})

  • 至少有一个值预测观察(行XValidationData {1})

  • 值或0体重(权重ValidationData {3})

对于经济的内存使用,最佳实践从训练数据手动删除含有缺失值的观察前培训。

名称-值对的观点

指定可选的逗号分隔条名称,值参数。的名字参数名称和吗价值相应的价值。的名字必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家

例子:Mdl = fitrlinear (X, Y,“学习者”,“leastsquares”、“CrossVal”,“对”,“正规化”,“套索”)指定了实现最小二乘回归,实现10倍交叉验证,并指定包括套索正则化项。

请注意

你不能使用任何交叉验证名称-值对论点的“OptimizeHyperparameters”名称-值对的论点。您可以修改交叉验证“OptimizeHyperparameters”只有通过使用“HyperparameterOptimizationOptions”名称-值对的论点。

线性回归的选项

全部折叠

一半的宽度epsilon-insensitive乐队,指定为逗号分隔组成的‘ε’和非负标量值。‘ε’只适用于支持向量机学习。

默认的ε值是差(Y) / 13.49,这是一个估计的标准偏差使用响应变量的四分位范围Y。如果差(Y)等于零,那么默认吗ε值是0.1。

例子:‘ε’,0.3

数据类型:|

正则化项,指定为逗号分隔组成的“λ”“汽车”、非负标量或矢量非负的值。

  • “汽车”,λ= 1 /n。

    • 如果你指定一个交叉验证,名称-值对参数(例如,CrossVal),然后n的数量的观察。

    • 否则,n是训练样本大小。

  • 向量的非负价值,软件顺序优化的目标函数为每个不同的价值λ以升序排序。

    • 如果解算器“sgd”“asgd”正则化“套索”,那么软件不使用前面的系数估计为温暖的开始在接下来的优化迭代。否则,该软件使用温暖的开始。

    • 如果正则化“套索”,那么任何系数估计的0保留其价值时,软件使用后续的优化值λ

    返回所有优化迭代系数估计。

例子:“λ”,10 ^ (- (10:2:2))

数据类型:字符|字符串||

线性回归模型类型,指定为逗号分隔组成的“学习者”“支持向量机”“leastsquares”

在这个表中, f ( x ) = x β + b

  • β是一个向量的p系数。

  • x是一个观察从p预测变量。

  • b是标量的偏见。

价值 算法 响应范围 损失函数
“leastsquares” 通过普通的最小二乘线性回归 y∊(-∞∞) 均方误差(MSE): ( y , f ( x ) ] = 1 2 ( y f ( x ) ] 2
“支持向量机” 万博1manbetx支持向量机回归 一样“leastsquares” Epsilon-insensitive: ( y , f ( x ) ] = 马克斯 ( 0 , | y f ( x ) | ε ]

例子:“学习者”,“leastsquares”

预测数据观察维度,指定为逗号分隔组成的“ObservationsIn”“列”“行”

请注意

如果你东方预测矩阵,以便观察并指定对应列“ObservationsIn”、“列”,那么你可能会经历在optimization-execution时间显著减少。

复杂性处罚类型,指定为逗号分隔组成的“正规化”“套索”“岭”

软件组成的目标函数最小化的平均损失函数(见的总和学习者在这表)和正则化项。

价值 描述
“套索” 套索(L1)罚款: λ j = 1 p | β j |
“岭” 脊(L2)罚款: λ 2 j = 1 p β j 2

指定正则化项力量,这是λ的表达式,使用λ

软件不包括偏差项(β0从正则化处罚)。

如果解算器“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}

初始线性系数的估计(β),指定为逗号分隔组成的“β”和一个p维向量或一个数字p——- - - - - -l数字矩阵。p预测变量的数量吗Xl是regularization-strength值的数量(更多细节,看到了吗λ)。

  • 如果你指定一个p维向量,然后软件优化目标函数l次使用这个过程。

    1. 软件的优化使用β初始值的最小值λ正则化的力量。

    2. 软件优化再次使用之前的预估结果,优化作为一个温暖的开始,下一个最小值λ正则化的力量。

    3. 软件实现第二步,直到耗尽所有的值λ

  • 如果你指定一个p——- - - - - -l矩阵,然后软件优化目标函数l次了。在迭代j,软件使用β(:,j)作为初始值,之后λ以升序排序,使用λ(j)正则化的力量。

如果你设置“规划求解”、“双”,那么软件忽略β

数据类型:|

初始拦截估计(b),指定为逗号分隔组成的“偏见”和一个数字标量或一个l维数值向量。l是regularization-strength值的数量(更多细节,看到了吗λ)。

  • 如果你指定一个标量,那么软件优化目标函数l次使用这个过程。

    1. 软件的优化使用偏见初始值的最小值λ正则化的力量。

    2. 使用结果估计作为一个温暖的开始到下一个优化迭代,并使用下一个最小值λ正则化的力量。

    3. 软件实现第二步,直到耗尽所有的值λ

  • 如果你指定一个l维向量,然后软件优化目标函数l次了。在迭代j,软件使用偏差(j)作为初始值,之后λ以升序排序,使用λ(j)正则化的力量。

  • 默认情况下:

    • 如果学习者“leastsquares”,然后偏见的加权平均Y培训或,交叉验证,的反应。

    • 如果学习者“支持向量机”,然后偏见加权中值吗Y对所有培训或为交叉验证,大于的观察ε

数据类型:|

线性模型拦截包含标志,指定为逗号分隔组成的“FitBias”真正的

价值 描述
真正的 该软件包括偏差项b在线性模型,然后估计。
该软件集b在估计= 0。

例子:“FitBias”,假的

数据类型:逻辑

国旗符合线性模型拦截优化后,指定为逗号分隔组成的“PostFitBias”真正的

价值 描述
软件估计偏差项b和系数β在优化。
真正的

估计b软件:

  1. 估计β和b使用模型。

  2. 计算残差。

  3. 不菲b。最小二乘法,b残差的加权平均。支持向量机回归,b是所有残差之间的加权平均震级大于ε

如果您指定真正的,然后FitBias必须是真实的。

例子:“PostFitBias”,真的

数据类型:逻辑

冗长的层面上,指定为逗号分隔组成的“详细”和一个非负整数。详细的控制的诊断信息fitrlinear显示在命令行。

价值 描述
0 fitrlinear不显示诊断信息。
1 fitrlinear定期显示和存储目标函数的值,梯度大小,和其他诊断信息。FitInfo.History包含诊断信息。
其他任何正整数 fitrlinear显示和诊断信息存储在每个优化迭代。FitInfo.History包含诊断信息。

例子:“详细”,1

数据类型:|

SGD和ASGD解算器选项

全部折叠

Mini-batch大小,指定为逗号分隔组成的“BatchSize”和一个正整数。在每个迭代中,次梯度估计的软件使用BatchSize从训练数据的观察。

  • 如果X是一个数字矩阵,那么默认值是10

  • 如果X是一个稀疏矩阵,那么默认值是什么马克斯([10日装天花板(sqrt (ff)))),在那里ff =元素个数(X) / nnz (X)(丰满的因素的X)。

例子:“BatchSize”, 100年

数据类型:|

学习速率,指定为逗号分隔组成的“LearnRate”和积极的标量。LearnRate指定每个迭代需要多少步骤。在每个迭代中,梯度指定每一步的方向和大小。

  • 如果正则化“岭”,然后LearnRate指定初始学习速率γ0。迭代的软件决定了学习速率t,γt,使用

    γ t = γ 0 ( 1 + λ γ 0 t ) c

    • λ的值是λ

    • 如果解算器“sgd”,然后c= 1。

    • 如果解算器“asgd”,然后c是:

      • 2/3,如果学习者“leastsquares”

      • 3/4如果学习者“支持向量机”[8]

  • 如果正则化“套索”那么,所有迭代,LearnRate是恒定的。

默认情况下,LearnRate1 /√(1 +马克斯(sum (x ^ 2, obsDim)))),在那里obsDim1如果观察组成的列X,2否则。

例子:“LearnRate”, 0.01

数据类型:|

国旗来减少软件检测时的学习速率差异(即over-stepping最低),指定为逗号分隔组成的“OptimizeLearnRate”真正的

如果OptimizeLearnRate“真正的”,那么:

  1. 一些优化迭代的,软件开始优化使用LearnRate学习速率。

  2. 如果目标函数的值增加,然后重启软件,并使用当前值的学习速率的一半。

  3. 软件迭代步骤2,直到目标函数下降。

例子:“OptimizeLearnRate”,真的

数据类型:逻辑

之间的mini-batches套索截断,指定为逗号分隔组成的“TruncationPeriod”和一个正整数。

截断后运行,软件应用的软阈值线性系数。处理后k=TruncationPeriodmini-batches,截断的软件估计系数j使用

β ^ j = { β ^ j u t 如果 β ^ j > u t , 0 如果 | β ^ j | u t , β ^ j + u t 如果 β ^ j < u t

  • SGD, β ^ j 是系数的估计j处理后kmini-batches。 u t = k γ t λ γt学习速度迭代t。λ的值是λ

  • ASGD, β ^ j 平均估计系数j处理后kmini-batches, u t = k λ

如果正则化“岭”,那么软件忽略TruncationPeriod

例子:“TruncationPeriod”, 100年

数据类型:|

其他回归选项

全部折叠

观察体重、指定为逗号分隔组成的“重量”和一个数字向量的积极的价值观。fitrlinear重的观察X与相应的价值权重。的大小权重必须等于n,观测的数量X

fitrlinear规范化权重总和为1。

数据类型:|

响应变量名称,指定为逗号分隔组成的“ResponseName”和一个字符向量或字符串标量。

  • 如果你提供Y,那么你可以使用“ResponseName”为响应变量指定一个名称。

  • 如果你提供ResponseVarName公式,那么你不能使用“ResponseName”

例子:“ResponseName”、“响应”

数据类型:字符|字符串

响应变换,指定为逗号分隔组成的“ResponseTransform”,要么“没有”或一个函数处理。默认值是“没有”,这意味着@ (y) y,或者没有转换。对于一个MATLAB®函数或函数定义,使用它的功能处理。函数处理必须接受一个向量(原始响应值),并返回一个向量的大小相同(转换后的响应值)。

例子:假设您创建一个函数处理一个指数变换适用于通过使用一个输入向量myfunction = @ (y) exp (y)。然后,您可以指定响应转换myfunction ResponseTransform,

数据类型:字符|字符串|function_handle

交叉验证选择

全部折叠

交叉验证标志,指定为逗号分隔组成的“Crossval”“上”“关闭”

如果您指定“上”交叉验证,软件实现了10倍。

覆盖这个交叉验证设置,使用其中一个名称-值对参数:CVPartition,坚持,或KFold。创建一个旨在模型,您可以使用一个交叉验证一次名称-值对的论点。

例子:“Crossval”,“上”

交叉验证分区,指定为逗号分隔组成的“CVPartition”和一个cvpartition分区创建的对象cvpartition。分区对象指定了类型的交叉验证,也为训练集和验证集索引。

创建一个旨在模型,您可以使用这些四个选项之一:CVPartition,坚持,或KFold

分数的数据用于抵抗验证、指定为逗号分隔组成的“坚持”和一个标量值的范围(0,1)。如果您指定“坚持”,p,那么软件:

  1. 随机储备p* 100%的数据作为验证数据,和火车模型使用的其他数据

  2. 在存储紧凑,训练模型训练有素的旨在模型的属性。

创建一个旨在模型,您可以使用这些四个选项之一:CVPartition,坚持,或KFold

例子:“坚持”,0.1

数据类型:|

旨在分类器的折叠使用,指定为逗号分隔组成的“KFold”和一个正整数价值大于1。如果你指定,例如,“KFold”,k,那么软件:

  1. 随机数据分区k集

  2. 对于每一个集合,储备作为验证数据集,和火车模型使用另一个k- 1

  3. 存储k紧凑,训练模型的细胞k1细胞向量训练有素的旨在模型的属性。

创建一个旨在模型,您可以使用这些四个选项之一:CVPartition,坚持,或KFold

例子:“KFold”, 8

数据类型:|

SGD和ASGD收敛控制

全部折叠

最大数量的批量处理,指定为逗号分隔组成的“BatchLimit”和一个正整数。当软件过程BatchLimit批次,终止优化。

  • 默认情况下:

    • 该软件通过数据PassLimit次了。

    • 如果你指定多个连接器,并使用(A) SGD得到一个初始近似接下来的解算器,那么默认值是装天花板(1 e6 / BatchSize)BatchSize的价值吗BatchSize名称-值对的论点。

  • 如果您指定“BatchLimit”PassLimit,那么软件选择结果的参数处理最少的观察。

  • 如果您指定“BatchLimit”但不是“PassLimit”,那么软件过程足够的批次完成一整个通过数据。

例子:“BatchLimit”, 100年

数据类型:|

相对公差线性系数和偏差项(拦截),指定为逗号分隔组成的“BetaTolerance”和一个负的标量。

B t = ( β t b t ] ,即向量系数和偏差的优化迭代t。如果 B t B t 1 B t 2 < BetaTolerance ,然后优化终止。

如果软件是收敛的解算程序中指定解算器,然后优化终止。否则,在指定的软件使用下一个解算器解算器

例子:e-6 BetaTolerance, 1

数据类型:|

批次处理下收敛检查之前,指定为逗号分隔组成的“NumCheckConvergence”和一个正整数。

指定批处理大小,明白了BatchSize

软件检查收敛大约10次默认通过整个数据集。

例子:“NumCheckConvergence”, 100年

数据类型:|

最大数量的经过数据,指定为逗号分隔组成的“PassLimit”和一个正整数。

fitrlinear处理所有当它完成一个通过观测数据。

fitrlinear通过数据PassLimit时候,它终止优化。

如果您指定BatchLimitPassLimit,然后fitrlinear选择结果的参数处理最少的观察。更多细节,请参阅算法

例子:“PassLimit”, 5

数据类型:|

数据优化收敛性检测,指定为逗号分隔组成的“ValidationData”和一个单元阵列。

在优化过程中,软件定期估计的损失ValidationData。如果验证数据损失增加,那么软件终止优化。更多细节,请参阅算法。优化hyperparameters使用交叉验证,看到交叉验证选项等CrossVal

  • ValidationData (1)必须包含一个米——- - - - - -p或p——- - - - - -米完整的或稀疏矩阵的预测数据相同的取向X。在训练数据的预测变量XValidationData {1}必须对应。观察两组的数量可以有所不同。

  • ValidationData (2)必须包含一个数组米反应与长度对应的观测ValidationData {1}

  • 可选地,ValidationData (3)可以包含一个米维数值向量权重的观察。软件可实现验证数据,这样他们的权重之和为1。

如果您指定ValidationData那么,显示验证损失在命令行中,指定一个值大于0详细的

如果软件是收敛的解算程序中指定解算器,然后优化终止。否则,在指定的软件使用下一个解算器解算器

默认情况下,软件不能检测融合通过监测验证数据损失。

绝对梯度宽容,指定为逗号分隔组成的“GradientTolerance”和一个负的标量。GradientTolerance适用于这些值解算器:“蓄热”,“lbfgs”,“sparsa”

t 是目标函数的梯度向量的系数和偏见在优化迭代t。如果 t = 马克斯 | t | < GradientTolerance ,然后优化终止。

如果你指定BetaTolerance,然后优化时终止fitrlinear满足要么停止准则。

如果fitrlinear收敛最后解算器中指定解算器,然后优化终止。否则,fitrlinear使用在指定的未来解决解算器

例子:GradientTolerance,每股收益

数据类型:|

最大数量的优化迭代,指定为逗号分隔组成的“IterationLimit”和一个正整数。IterationLimit适用于这些值解算器:“蓄热”,“lbfgs”,“sparsa”

例子:e7 IterationLimit, 1

数据类型:|

双重SGD优化收敛控制

全部折叠

相对公差线性系数和偏差项(拦截),指定为逗号分隔组成的“BetaTolerance”和一个负的标量。

B t = ( β t b t ] ,即向量系数和偏差的优化迭代t。如果 B t B t 1 B t 2 < BetaTolerance ,然后优化终止。

如果你指定DeltaGradientTolerance,然后优化软件满足停止条件时终止。

如果软件是收敛的解算程序中指定解算器,然后优化终止。否则,在指定的软件使用下一个解算器解算器

例子:e-6 BetaTolerance, 1

数据类型:|

Gradient-difference公差之间的上、下池Karush-Kuhn-Tucker(马)互补条件违反者,指定为逗号分隔组成的“DeltaGradientTolerance”和一个负的标量。DeltaGradientTolerance适用于“双重”的价值解算器只有。

  • 如果马违规者的大小小于DeltaGradientTolerance,然后fitrlinear终止优化。

  • 如果fitrlinear收敛最后解算器中指定解算器,然后优化终止。否则,fitrlinear使用在指定的未来解决解算器

例子:依照“DeltaGapTolerance”, 1

数据类型:|

数量的穿过整个数据集处理下收敛之前检查,指定为逗号分隔组成的“NumCheckConvergence”和一个正整数。

例子:“NumCheckConvergence”, 100年

数据类型:|

最大数量的经过数据,指定为逗号分隔组成的“PassLimit”和一个正整数。

当软件完成一个通过数据,处理所有的观察。

当软件通过数据PassLimit时候,它终止优化。

例子:“PassLimit”, 5

数据类型:|

数据优化收敛性检测,指定为逗号分隔组成的“ValidationData”和一个单元阵列。

在优化过程中,软件定期估计的损失ValidationData。如果验证数据损失增加,那么软件终止优化。更多细节,请参阅算法。优化hyperparameters使用交叉验证,看到交叉验证选项等CrossVal

  • ValidationData (1)必须包含一个米——- - - - - -p或p——- - - - - -米完整的或稀疏矩阵的预测数据相同的取向X。在训练数据的预测变量XValidationData {1}必须对应。观察两组的数量可以有所不同。

  • ValidationData (2)必须包含一个数组米反应与长度对应的观测ValidationData {1}

  • 可选地,ValidationData (3)可以包含一个米维数值向量权重的观察。软件可实现验证数据,这样他们的权重之和为1。

如果您指定ValidationData那么,显示验证损失在命令行中,指定一个值大于0详细的

如果软件是收敛的解算程序中指定解算器,然后优化终止。否则,在指定的软件使用下一个解算器解算器

默认情况下,软件不能检测融合通过监测验证数据损失。

高炉煤气、LBFGS SpaRSA收敛控制

全部折叠

相对公差线性系数和偏差项(拦截),指定为逗号分隔组成的“BetaTolerance”和一个负的标量。

B t = ( β t b t ] ,即向量系数和偏差的优化迭代t。如果 B t B t 1 B t 2 < BetaTolerance ,然后优化终止。

如果你指定GradientTolerance,然后优化软件满足停止条件时终止。

如果软件是收敛的解算程序中指定解算器,然后优化终止。否则,在指定的软件使用下一个解算器解算器

例子:e-6 BetaTolerance, 1

数据类型:|

绝对梯度宽容,指定为逗号分隔组成的“GradientTolerance”和一个负的标量。

t 是目标函数的梯度向量的系数和偏见在优化迭代t。如果 t = 马克斯 | t | < GradientTolerance ,然后优化终止。

如果你指定BetaTolerance,然后优化软件满足停止条件时终止。

如果软件收敛过去解算器中指定的软件,然后优化终止。否则,在指定的软件使用下一个解算器解算器

例子:e-5 GradientTolerance, 1

数据类型:|

历史缓冲区大小黑森近似,指定为逗号分隔组成的“HessianHistorySize”和一个正整数。在每个迭代中,软件组成黑森使用最新的统计数据HessianHistorySize迭代。

软件不支持万博1manbetx“HessianHistorySize”SpaRSA。

例子:“HessianHistorySize”, 10

数据类型:|

最大数量的优化迭代,指定为逗号分隔组成的“IterationLimit”和一个正整数。IterationLimit适用于这些值解算器:“蓄热”,“lbfgs”,“sparsa”

例子:“IterationLimit”, 500年

数据类型:|

数据优化收敛性检测,指定为逗号分隔组成的“ValidationData”和一个单元阵列。

在优化过程中,软件定期估计的损失ValidationData。如果验证数据损失增加,那么软件终止优化。更多细节,请参阅算法。优化hyperparameters使用交叉验证,看到交叉验证选项等CrossVal

  • ValidationData (1)必须包含一个米——- - - - - -p或p——- - - - - -米完整的或稀疏矩阵的预测数据相同的取向X。在训练数据的预测变量XValidationData {1}必须对应。观察两组的数量可以有所不同。

  • ValidationData (2)必须包含一个数组米反应与长度对应的观测ValidationData {1}

  • 可选地,ValidationData (3)可以包含一个米维数值向量权重的观察。软件可实现验证数据,这样他们的权重之和为1。

如果您指定ValidationData那么,显示验证损失在命令行中,指定一个值大于0详细的

如果软件是收敛的解算程序中指定解算器,然后优化终止。否则,在指定的软件使用下一个解算器解算器

默认情况下,软件不能检测融合通过监测验证数据损失。

Hyperparameter优化

全部折叠

参数优化,指定为逗号分隔组成的“OptimizeHyperparameters”和下列之一:

  • “没有”——不优化。

  • “汽车”——使用{“λ”、“学习者”}

  • “所有”——优化所有符合条件的参数。

  • 字符串数组或单元阵列的参数名的资格。

  • 向量的optimizableVariable对象,通常的输出hyperparameters

优化试图最小化交叉验证(错误)损失fitrlinear通过改变参数。控制交叉验证类型和其他方面的优化,使用HyperparameterOptimizationOptions名称-值对。

请注意

“OptimizeHyperparameters”值覆盖任何值使用其他名称-值对参数设置。例如,设置“OptimizeHyperparameters”“汽车”导致“汽车”值应用。

合格的参数fitrlinear是:

  • λ- - - - - -fitrlinear默认搜索之间的积极的价值观,对数的范围[1 e-5 / NumObservations 1 e5 / NumObservations]

  • 学习者- - - - - -fitrlinear搜索中“支持向量机”“leastsquares”

  • 正则化- - - - - -fitrlinear搜索中“岭”“套索”

设置默认的参数通过一个向量的optimizableVariable有默认值的对象。例如,

负载carsmallparams = hyperparameters (“fitrlinear”(功率、重量),MPG);参数(1)。范围= [1 e - 3, 2 e4];

通过参数个数的价值OptimizeHyperparameters

默认情况下,迭代显示出现在命令行,和情节出现的数量根据hyperparameters优化。优化和阴谋的目标函数日志(1 +交叉验证损失)回归和分类的误分类率。控制迭代显示设置详细的场的“HyperparameterOptimizationOptions”名称-值对的论点。控制块,设置ShowPlots场的“HyperparameterOptimizationOptions”名称-值对的论点。

例如,看到的优化线性回归

例子:“OptimizeHyperparameters”、“汽车”

为优化选项,指定为逗号分隔组成的“HyperparameterOptimizationOptions”和结构。这个参数修改的影响OptimizeHyperparameters名称-值对的论点。所有字段的结构是可选的。

字段名 默认的
优化器
  • “bayesopt”——使用贝叶斯优化。在内部,该设置调用bayesopt

  • “gridsearch”——使用网格搜索NumGridDivisions每个维度值。

  • “randomsearch”——随机搜索中MaxObjectiveEvaluations点。

“gridsearch”在随机顺序搜索,使用统一的网格不重复抽样。优化后,可以得到一个网格顺序表使用的命令sortrows (Mdl.HyperparameterOptimizationResults)

“bayesopt”
AcquisitionFunctionName

  • “expected-improvement-per-second-plus”

  • “expected-improvement”

  • “expected-improvement-plus”

  • “expected-improvement-per-second”

  • “lower-confidence-bound”

  • “probability-of-improvement”

他们的名字包括采集功能每秒不产生可重复的结果,因为优化取决于目标函数的运行时。他们的名字包括采集功能+修改他们的行为当他们overexploiting面积。更多细节,请参阅获取函数类型

“expected-improvement-per-second-plus”
MaxObjectiveEvaluations 最大数量的目标函数的评价。 30.“bayesopt”“randomsearch”,整个电网“gridsearch”
MaxTime

时间限制,指定为一个积极的现实。时间限制在几秒钟内,作为衡量抽搐toc。运行时可超过MaxTime因为MaxTime不中断功能评估。

NumGridDivisions “gridsearch”在每个维度的数量值。正整数的值可以是一个向量给每个尺寸的数量值,或一个标量,适用于所有尺寸。这个领域被忽略为分类变量。 10
ShowPlots 逻辑值指示是否显示情节。如果真正的,这个领域最好的目标函数值与迭代数。如果有一个或两个优化参数,如果优化器“bayesopt”,然后ShowPlots还阴谋的模型目标函数的参数。 真正的
SaveIntermediateResults 逻辑值指示是否保存结果优化器“bayesopt”。如果真正的,这个领域覆盖一个工作区变量命名“BayesoptResults”在每一个迭代。变量是一个BayesianOptimization对象。
详细的

显示命令行。

  • 0——没有迭代显示

  • 1——迭代显示

  • 2——迭代显示额外信息

详情,请参阅bayesopt详细的名称-值对的论点。

1
UseParallel 逻辑值,指出是否贝叶斯优化并行运行,这就需要并行计算工具箱™。由于nonreproducibility平行的时机,平行贝叶斯优化不一定产生可重复的结果。有关详细信息,请参见平行的贝叶斯优化
重新分区

逻辑值指示是否重新分配在每个迭代交叉验证。如果优化器使用单个分区,优化。

真正的通常给最健壮的结果,因为这个设置需要考虑分区噪音。然而,对于好的结果,真正的至少需要两倍的功能评估。

使用不超过以下三个字段名称之一。
CVPartition 一个cvpartition创建的对象cvpartition “Kfold”, 5如果你不指定任何交叉验证字段
坚持 一个标量范围(0,1)代表抵抗分数。
Kfold 一个大于1的整数。

例子:“HyperparameterOptimizationOptions”、结构(MaxObjectiveEvaluations, 60)

数据类型:结构体

输出参数

全部折叠

训练有素的线性回归模型,作为一个返回RegressionLinear模型对象或RegressionPartitionedLinear旨在模型对象。

如果你设置的名称-值对参数KFold,坚持,CrossVal,或CVPartition,然后Mdl是一个RegressionPartitionedLinear旨在模型对象。否则,Mdl是一个RegressionLinear模型对象。

引用的属性Mdl,使用点符号。例如,输入Mdl.Beta在命令窗口中显示向量或矩阵的估计系数。

请注意

不像其他的回归模型,对经济的内存使用情况,RegressionLinearRegressionPartitionedLinear模型对象不存储训练数据或优化的细节(例如,融合历史)。

优化细节,作为一个结构数组返回。

字段指定最终值或名称-值对参数规格,例如,客观的的值是目标函数优化时终止。成排的多维字段对应的值λ和列对应的值解算器

此表描述了一些值得关注的领域。

描述
TerminationStatus
  • 优化的原因终止

  • 对应于一个值TerminationCode

FitTime 过去,墙上时钟的时间在秒
历史

一个结构数组为每次迭代的优化信息。这个领域解算器商店使用整数编码解算器类型。

整数 解算器
1 SGD
2 ASGD
3 双重SGD对支持向量机
4 LBFGS
5 高炉煤气
6 SpaRSA

访问字段,使用点符号。例如,访问每个迭代的目标函数值的向量,输入FitInfo.History.Objective

这是良好的实践检验FitInfo评估是否满意的收敛。

交叉验证优化hyperparameters,作为一个返回BayesianOptimization对象或一个表hyperparameters和相关联的值。输出的价值时,非空的“OptimizeHyperparameters”不是“没有”。输出值取决于优化器字段值的“HyperparameterOptimizationOptions”名称-值对论点:

的价值优化器 的价值HyperparameterOptimizationResults
“bayesopt”(默认) 对象的类BayesianOptimization
“gridsearch”“randomsearch” hyperparameters表使用,观察目标函数值(交叉验证损失)和从最低(最好的)最高等级的观察(坏的)

请注意

如果学习者“leastsquares”在目标函数,那么损失项MSE的一半。损失默认返回MSE。因此,如果您使用损失检查resubstitution、或培训、错误还有返回的MSE之间的差异损失和优化的结果FitInfo或返回到命令行通过设置使用积极的冗长水平详细的

更多关于

全部折叠

温暖的开始

一个温暖的开始初步估计的贝塔系数和偏见术语提供更快的收敛的优化程序。

选择低维数据

高维线性分类和回归模型目标函数最小化相对迅速,但代价的准确性,numeric-only预测变量的限制,模型必须是线性的参数。如果你的预测数据集通过medium-dimensional低收入,或包含不同种类的变量,那么你应该使用适当的分类或回归拟合函数。来帮助你决定哪些适合您的低维数据集拟合函数,使用此表。

模型以适应 函数 著名的算法不同
支持向量机
  • 格拉姆矩阵计算的预测变量,这是方便非线性内核转换。

  • 解决了双重问题使用SMO, ISDA或l1通过二次规划使用最小化quadprog

线性回归
  • 套索实现了循环坐标下降。

逻辑回归
  • 不正则化逻辑回归:fitglm

  • 正规化使用套索惩罚逻辑回归:lassoglm

  • fitglm实现迭代再加权最小二乘法。

  • lassoglm实现了循环坐标下降。

提示

  • 东方预测矩阵是一个最佳实践,观察对应列和指定“ObservationsIn”、“列”。作为一个结果,你可以体验在optimization-execution时间显著减少。

  • 为了更好的优化精度X高维,正则化“岭”,这些组合解算器:

    • “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。例如,设置TruncationPeriod1,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),那么:

    1. fitrlinear随机分区XY根据你选择的交叉验证例程。

    2. fitrlinear火车模型使用训练数据分区。在目标函数优化,fitrlinear使用ValidationData另一个可能的方法来终止优化(详情,请参见前面的子弹)。

    3. 一次fitrlinear满足停止条件,构造了一个基于优化训练模型线性系数和拦截。

      1. 如果你实现k倍交叉验证,fitrlinear没有用尽所有的训练集折叠呢fitrlinear返回第2步训练使用下一个训练集褶皱。

      2. 否则,fitrlinear终止训练,然后返回旨在模型。

    4. 您可以确定旨在模型的质量。例如:

      • 确定验证使用抵抗或损失out-of-fold步骤1的数据,通过旨在模型kfoldLoss

      • 预测观测抵抗或out-of-fold步骤1的数据,通过旨在模型kfoldPredict

引用

[1],c . h和c·j·林。“大规模线性支持向量回归。”万博1manbetx机器学习研究杂志》上13卷,2012年,页3323 - 3348。

[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.”学报》第25届国际会议上机器学习,ICML 08年,2001年,页408 - 415。

[3]兰福德,J。,l。li, and T. Zhang. “Sparse Online Learning Via Truncated Gradient.”j·马赫。学习。Res。10卷,2009年,页777 - 801。

[4]Nocedal, j .和s·j·莱特。数值优化第二版,纽约:施普林格,2006年。

[5]Shalev-Shwartz, S。,Y。Singer, and N. Srebro. “Pegasos: Primal Estimated Sub-Gradient Solver for SVM.”《24日国际会议在机器学习,ICML ' 07,2007年,页807 - 814。

[6]赖特,s . J。,R. D. Nowak, and M. A. T. Figueiredo. “Sparse Reconstruction by Separable Approximation.”反式。Proc团体。2009年,57卷,没有7日,第2479 - 2493页。

肖[7],林。“双重平均正规化方法随机学习和在线优化。”j·马赫。学习。Res。11卷,2010年,页2543 - 2596。

[8]徐,魏。“对最优传递规模与平均随机梯度下降学习。”相关系数、abs / 1107.2490, 2011年。

扩展功能

介绍了R2016a