Fitrinear.

对高维数据拟合线性回归模型

描述

Fitrinear.使用高维、完整或稀疏的预测数据有效地训练线性回归模型。可用的线性回归模型包括正则化支持向量机(SVM)和最小二乘回归方法。金宝appFitrinear.使用减少计算时间的技术(例如,随机梯度下降)最小化目标函数。

为了减少在包含多个预测变量的高维数据集上的计算时间,可以通过使用来训练线性回归模型Fitrinear..有关低至中维预测数据集,请参阅低维数据的替代方案

例子

Mdl=菲特利恩(XY返回一个训练过的回归模型对象,该对象包含将支持向量机回归模型拟合到预测器的结果金宝appX和响应Y

例子

Mdl=菲特利恩(XY名称、值返回一个经过训练的线性回归模型,其中包含由一个或多个指定的附加选项名称、值对参数。例如,您可以指定实现最小二乘回归、指定交叉验证或指定正则化的类型。的交叉验证是一个很好的实践Kfold名称、值对论证。交叉验证结果确定模型概括的程度如何。

例子

MdlFitInfo.) = fitrlinear (___还使用前面的任何语法返回优化详细信息。您不能请求FitInfo.旨在为模型。

例子

MdlFitInfo.HyperparameterOptimizationResults) = fitrlinear (___传递参数时,还返回超参数优化细节OptimizeHyperparameters名称-值对。

例子

全部折叠

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

从这个模型中模拟10000次观测

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

  • X x 1 x 1 0 0 0 是一个10000 × 1000稀疏矩阵,含有10%的非零标准正规元素。

  • e为随机正态误差,均值为0,标准差为0.3。

rng (1)%的再现性n=1e4;d=1e3;nz=0.1;X=sprandn(n,d,nz);Y=X(:,100)+2*X(:,200)+0.3*randn(n,1);

训练线性回归模型。默认情况下,Fitrinear.使用带岭惩金宝app罚的支持向量机,并使用双SGD对SVM进行优化。通过提取拟合摘要确定优化算法使模型与数据拟合的程度。

[Mdl, FitInfo] = fitrlinear (X, Y)
Mdl=RegressionLinear ResponseName:'Y'ResponseTransform:'none'Beta:[1000x1 double]偏差:-0.0056 Lambda:1.0000e-04学习者:“svm”属性、方法
FitInfo =带字段的结构:Lambda: 1.0000e-04 Objective: 0.2725 PassLimit: 10 NumPasses: 10 BatchLimit: [] NumIterations: 100000 GradientNorm: NaN GradientTolerance: 0 RelativeChangeInBeta: 0.4907 BetaTolerance: 1.0000e-04 DeltaGradient: 1.5816 DeltaGradientTolerance: 0.1000 TerminationCode: 0 TerminationStatus:{'迭代限制超过。Alpha: [10000x1 double] History: [] FitTime: 0.7623 Solver: {'dual'}

Mdl是一个RegressionLinear模特,你可以通过Mdl和培训或新数据损失检验样本内均方误差。或者,你可以不去Mdl和新的预测数据预测来预测对新观测的反应。

FitInfo.是一个结构数组,其中包含终止状态(TerminationStatus)以及求解器将模型与数据拟合所需的时间(FitTime).这是很好的实践FitInfo.确定优化终止测量是否令人满意。在这种情况下,Fitrinear.达到最大迭代次数。因为训练时间很快,所以可以重新训练模型,但是增加数据的传递次数。或者,尝试另一个解算器,如LBFGS。

为了确定一个好的套索惩罚强度的线性回归模型使用最小二乘法,实施5倍交叉验证。

从这个模型中模拟10000次观测

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

  • X x 1 x 1 0 0 0 是一个10000 × 1000稀疏矩阵,含有10%的非零标准正规元素。

  • e为随机正态误差,均值为0,标准差为0.3。

rng (1)%的再现性n=1e4;d=1e3;nz=0.1;X=sprandn(n,d,nz);Y=X(:,100)+2*X(:,200)+0.3*randn(n,1);

创建一组15个对数间隔的正则化强度 1 0 - 5 通过 1 0 - 1

λ=对数空间(-5,-1,15);

旨在模型。要提高执行速度,可以调换预测器数据并指定观察结果在列中。利用SpaRSA优化目标函数。

X = X ';CVMdl = fitrlinear (X, Y,“ObservationsIn”“专栏”“KFold”5,“λ”λ,...“学习者”“leastsquares”“规划求解”'sparsa'“正规化”“套索”);numCLModels =元素个数(CVMdl.Trained)
numCLModels = 5

CVMdl是一个RegressionPartitionedLinear模型。因为Fitrinear.实现5倍交叉验证,CVMdl包含5RegressionLinear软件在每次折叠时训练的模型。

显示第一个训练的线性回归模型。

Mdl1 = CVMdl。训练有素的{1}
Mdl1 = RegressionLinear ResponseName: 'Y' ResponseTransform: 'none' Beta: [1000x15 double] Bias: [1x15 double] Lambda: [1x15 double]初学者:'最小二乘'属性,方法

MDL1是一个RegressionLinear模型对象。Fitrinear.构造MDL1通过前四个折叠训练。因为兰姆达你能想到一个正规化强度的序列吗MDL1作为15型号,一个用于每个正则化强度兰姆达

估计交叉验证的MSE。

mse=kfoldLoss(CVMdl);

更高的值兰姆达导致预测变量的稀疏性,这是回归模型的一个很好的品质。对于每个正则化强度,使用整个数据集和交叉验证模型时相同的选项来训练线性回归模型。确定每个模型的非零系数的数目。

Mdl = fitrlinear (X, Y,“ObservationsIn”“专栏”“λ”λ,...“学习者”“leastsquares”“规划求解”'sparsa'“正规化”“套索”);numNZCoeff = (Mdl.Beta ~ = 0)之和;

在相同的图中,为每个正则化强度绘制非零系数的交叉验证的MSE和频率。绘制日志比例上的所有变量。

figure [h,hL1,hL2] = plotyy(log10(Lambda),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;

提取对应最小MSE的模型。

idxFinal MdlFinal = selectModels (Mdl)
MdlFinal = RegressionLinear ResponseName: 'Y' ResponseTransform: 'none' Beta: [1000x1 double] Bias: -0.0050 Lambda: 0.0037初学者:'最小二乘'属性,方法
idxNZCoeff =找到(MdlFinal.Beta ~ = 0)
idxNZCoeff =2×1100 200
EstCoeff = Mdl.Beta (idxNZCoeff)
EstCoeff =2×11.0051 - 1.9965

MdlFinal是一个RegressionLinear具有一个正则化强度的模型。非零系数EstCoeff接近模拟数据的系数。

此示例演示如何使用自动优化超参数Fitrinear..该示例为模型使用了人工(模拟)数据

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

  • X x 1 x 1 0 0 0 是一个10000 × 1000稀疏矩阵,含有10%的非零标准正规元素。

  • e为随机正态误差,均值为0,标准差为0.3。

rng (1)%的再现性n=1e4;d=1e3;nz=0.1;X=sprandn(n,d,nz);Y=X(:,100)+2*X(:,200)+0.3*randn(n,1);

通过使用自动超参数优化,找到最小化五倍交叉验证损失的超参数。

为了再现性,请使用“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 | Best | 0.14496 | 0.32058 | 0.14496 | 0.14601 | 0.001807 | svm |
|3 |最佳| 0.13879 | 0.28024 | 0.13879 | 0.14065 | 2.4681e-09 |租赁方|
| 4 | Best | 0.115 | 0.27266 | 0.115 | 0.11501 | 0.021027 |最小二乘|
| 5 |接受| 0.44352 | 0.27558 | 0.115 | 0.1159 | 4.6795 |最小二乘|
|6 |最佳| 0.11025 | 0.27333 | 0.11025 | 0.11024 | 0.010671 |租赁方|
| 7 |接受| 0.13222 | 0.27212 | 0.11025 | 0.11024 | 8.6067e-08 |最小二乘|
| 8 |接受| 0.13262 | 0.26992 | 0.11025 | 0.11023 | 8.5109e-05 |最小二乘|
| 9 |接受| 0.13543 | 0.2732 | 0.11025 | 0.11021 | 2.7562 -06 |最小二乘|
| 10 |接受| 0.15751 | 0.34766 | 0.11025 | 0.11022 | 5.0559e-06 | svm |
|11 |接受| 0.40673 | 0.32948 | 0.11025 | 0.1102 | 0.52074 | svm|
| 12 |接受| 0.16057 | 0.33499 | 0.11025 | 0.1102 | 0.00014292 | svm |
| 13 |接受| 0.16105 | 0.33584 | 0.11025 | 0.11018 | 1.0079e-07 | svm |
| 14 |接受| 0.12763 | 0.27263 | 0.11025 | 0.11019 | 0.0012085 |最小二乘|
| 15 |接受| 0.13504 | 0.27125 | 0.11025 | 0.11019 | 1.3981e-08 |最小二乘|
|16 |接受|0.11041 |0.27367 |0.11025 |0.11026 |0.0093968 |最小要条件|
| 17 |最佳| 0.10954 | 0.27352 | 0.10954 | 0.11003 | 0.010393 |最小二乘|
| 18 |接受| 0.10998 | 0.2712 | 0.10954 | 0.11002 | 0.010254 |最小二乘|
| 19 | Accept | 0.45314 | 0.27275 | 0.10954 | 0.11001 | 9.9932 | svm |
| 20 | Best | 0.10753 | 0.33512 | 0.10753 | 0.10759 | 0.022576 | svm |
|=================================================================================================================================================================================Iter评估目标:目标:Sofar | Sofar | Sofar | Lambda |学习者|观察到的结果|| | | |===================================================================================================================================================================================================21===最佳===0.10737===0.33440|
|22 |接受| 0.13448 | 0.28528 | 0.10737 | 0.10727 | 1.5344e-05 |租赁方|
| 23 | Best | 0.10645 | 0.33892 | 0.10645 | 0.10565 | 0.015495 | svm |
| 24 |接受| 0.13598 | 0.27017 | 0.10645 | 0.10559 | 4.5984e-07 |最小二乘|
|25 |接受|0.15962 |0.3451 |0.10645 |0.10556 |1.4302E-08 |SVM |
|26 |接受| 0.10689 | 0.33135 | 0.10645 | 0.10616 | 0.015391 ||
| 27 |接受| 0.13748 | 0.26642 | 0.10645 | 0.10614 | 1.001e-09 |最小二乘|
| 28 | Accept | 0.10692 | 0.33264 | 0.10645 | 0.10639 | 0.015761 | svm |
| 29 | Accept | 0.10681 | 0.32913 | 0.10645 | 0.10649 | 0.015777 | svm |
| 30 |接受| 0.34314 | 0.26817 | 0.10645 | 0.10651 | 0.39671 |最小二乘|

__________________________________________________________优化完成。MaxObjectiveEvaluations达到30。总功能评估:30总运行时间:29.0513秒。总目标功能评估时间:9.0751最佳观察可行点:Lambda Learner\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu0.0154950548329524 svm观察对象ive函数值=0.10645估计目标函数值=0.10651函数评估时间=0.33892最佳估计可行点(根据模型):Lambda Learner(Lambda Learner)(Lambda Learner)(Lambda Learner)(Lambda Learner)(Lambda Learner)(Lambda Learner)()()())()U
Mdl = RegressionLinear ResponseName: 'Y' ResponseTransform: 'none' Beta: [1000×1 double] Bias: -0.001764448684672 Lambda: 0.015777492256035 Learner: 'svm'属性,方法
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:{“迭代超过限制。'}一个lpha: [10000×1 double] History: [] FitTime: 0.050041900000000 Solver: {'dual'}
HyperParameterOptimationResults =具有属性的贝叶斯optimization:ObjectiveFCN:@ createobjfcn / Inmemoryobjfcn Variabledsions:[3×1优化variable]选项:[1×1结构] minobjective:0.106451249084752 Xatminobjective:[1×2表] minestimatedobive:0.10650544701403 XatmineStimatedobjective:[1×2表]numObjectiveValuations:30总计迭代图中:[30×1双] errortrace:[30×1双]可行性议事:[30×1逻辑]可行性推动力:[30×1双]索引:[30×1双] objectivemimumimumImimumImimumimumimumImimumImimumimumImimumImimumimumImimumimumImumImimumImimumImimumImimumimumImimumImimumImimumImimumimumInum:[30×1双]

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

输入参数

全部折叠

预测器数据,指定为n——- - - - - -p全或稀疏矩阵。

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

笔记

如果调整预测矩阵的方向,使观测值与列相对应,并指定“ObservationsIn”、“列”,则您可能会体验到优化执行时间的显著减少。

数据类型:|

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

数据类型:|

笔记

Fitrinear.删除缺失的观察,即与这些特征中的任何一个观察结果:

  • 答复中的要素(YValidationData{2}

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

  • 价值或0重量(权重ValidationData {3}

为了节省内存使用,最好的做法是在训练前手动从训练数据中删除包含缺失值的观察值。

名称-值对参数

指定可选的逗号分隔的字符对名称、值参数。的名字是参数名称和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

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

笔记

不能将任何交叉验证名称-值对参数与'OptimizeHyperParameters'名称-值对的论点。可以为。修改交叉验证'OptimizeHyperParameters'只有使用“HyperparameterOptimizationOptions”名称-值对的论点。

线性回归的选项

全部折叠

不敏感带宽度的一半,指定为由逗号分隔的对组成‘ε’和一个非负标量值。‘ε’仅适用于SVM学习者。

默认值埃斯利昂值是iqr(Y)/13.49,这是使用响应变量的四分位范围估计的标准差Y.如果IQR(Y)等于0,那么默认值呢埃斯利昂值是0.1。

例子:‘ε’,0.3

数据类型:|

正则化项强度,指定为逗号分隔对,包括“λ”“汽车”,一个非负标量,或非负值的向量。

  • 为了“汽车”兰姆达= 1/n.

    • 如果指定交叉验证,名称-值对参数(例如,CrossVal),然后n为折叠观测的次数。

    • 否则,n为训练样本量。

  • 对于非负值的向量,软件顺序地优化了每个不同值的目标函数兰姆达以升序排序。

    • 如果解算器“sgd”“asgd”正则化“套索”,则该软件不使用之前的系数估计作为a温暖的开始用于下一个优化迭代。否则,软件使用热启动。

    • 如果正则化“套索”然后,当软件使用后续值优化时,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
“支持向量机” 金宝app支持向量机回归 一样“leastsquares” ε不敏感: y f x 马克斯 0 | y f x | ε

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

预测器数据观测维数,由指定的逗号分隔对组成“ObservationsIn”“专栏”“行”

笔记

如果调整预测矩阵的方向,使观测值与列相对应,并指定“ObservationsIn”、“列”,则您可能会体验到优化执行时间的显著减少。

复杂度惩罚类型,指定为逗号分隔对,由“正规化”“套索”“岭”

该软件由平均损失函数的总和组成最小化目标函数(见学习者)和该表中的正则化术语。

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

指定正常化术语实力,即λ在表达中,使用兰姆达

该软件排除了偏差项(β0)从正规化处罚。

如果解算器'sparsa',则为正则化“套索”。否则,默认值为“岭”

提示

  • 对于预测变量选择,指定“套索”.有关变量选择的更多信息,请参见特征选择简介

  • 为优化精度,指定“岭”

例子:“正则化”,“套索”

目标函数最小化技术,指定为逗号分隔对组成“规划求解”以及字符向量或字符串标量、字符串数组或字符向量单元格数组。

价值 描述 限制
“sgd” 随机梯度下降法[5][3]
“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-维数向量或ap——- - - - - -l数字矩阵。p预测变量的数量在吗Xl正则化强度值的数量(有关详细信息,请参阅兰姆达).

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

    1. 该软件优化使用β的初始值和最小值兰姆达为正规化强度。

    2. 该软件再次优化使用的结果估计从以前的优化作为温暖的开始的下一个最小值兰姆达为正规化强度。

    3. 软件执行步骤2,直到它耗尽所有的值兰姆达

  • 如果你指定p——- - - - - -l矩阵,然后软件对目标函数进行优化l次了。在迭代j,该软件使用β(:,j作为初始值,在排序之后兰姆达按升序,使用Lambda(j为正规化强度。

如果你设置'求解','dual',软件就会忽略β

数据类型:|

初步截距估计(b),指定为逗号分隔的对,由“偏见”和一个数值标量或一个l维数值向量。l正则化强度值的数量(有关详细信息,请参阅兰姆达).

  • 如果指定标量,则软件可优化目标函数l使用这个过程的次数。

    1. 该软件优化使用偏见的初始值和最小值兰姆达为正规化强度。

    2. 使用产生的估计作为一个温暖的开始到下一个优化迭代,并使用中的下一个最小值兰姆达为正规化强度。

    3. 软件执行步骤2,直到它耗尽所有的值兰姆达

  • 如果您指定了一个l-维向量,然后软件优化目标函数l次了。在迭代j,该软件使用偏差(j作为初始值,在排序之后兰姆达按升序,使用Lambda(j为正规化强度。

  • 默认情况下:

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

    • 如果学习者“支持向量机”, 然后偏见的加权中值是多少Y对于所有的训练,或者交叉验证,折叠观察大于埃斯利昂

数据类型:|

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

价值 描述
真正的 该软件包括偏见术语b在线性模型中,然后估计它。
错误的 该软件集b估算时= 0。

例子:“FitBias”,假的

数据类型:逻辑

对拟合的标志进行线性模型截距优化后,指定为逗号分隔对组成“PostFitBias”真正的错误的

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

估计b软件:

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

  2. 计算残差。

  3. 不菲b.最小二乘法,b是残差的加权平均值。支持向量机回归,b是否所有大于的残差之间的加权中值埃斯利昂

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

例子:“PostFitBias”,真的

数据类型:逻辑

详细程度,指定为逗号分隔对,由“详细”和一个非负整数。冗长的控制诊断信息的数量Fitrinear.显示在命令行。

价值 描述
0 Fitrinear.不显示诊断信息。
1 Fitrinear.定期显示和存储目标函数值、梯度大小和其他诊断信息。FitInfo.历史包含诊断信息。
任何其他正整数 Fitrinear.在每次优化迭代时显示和存储诊断信息。FitInfo.历史包含诊断信息。

例子:“详细”,1

数据类型:|

SGD和ASGD Solver选项

全部折叠

小批量大小,指定为逗号分隔的对,由“BatchSize”一个正整数。在每次迭代中,该软件估计次梯度使用BatchSize从训练数据中观察。

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

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

例子:“BatchSize”,100年

数据类型:|

学习率,指定为逗号分隔对组成“LearnRate”一个正标量。学习者指定每次迭代要执行多少步骤。在每次迭代中,梯度指定了每一步的方向和大小。

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

    γ t γ 0 1 + λ γ 0 t c

    • λ的价值兰姆达

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

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

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

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

  • 如果正则化“套索”,那么,对于所有的迭代,学习者是恒定的。

默认情况下,学习者1/sqrt(1+最大值(总和X^2,obsDim))),在那里讨厌的1如果观察组成的列X,2否则。

例子:“LearnRate”,0.01

数据类型:|

当软件检测到偏离(即超过最小值)时,降低学习率的标志,指定为逗号分隔对组成“优化学习率”真正的错误的

如果OptimizeLearnRate“真正的”,然后:

  1. 对于少量的优化迭代,软件开始优化使用学习者作为学习率。

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

  3. 软件迭代第2步,直到目标函数减小。

例子:“OptimizeLearnRate”,真的

数据类型:逻辑

在套索截断运行之间的小批数量,指定为逗号分隔对,由“TruncationPeriod”一个正整数。

经过截断运行后,软件对线性系数应用软阈值。即经过处理k=截断周期小批量时,软件会截断估计系数j使用

β j β j u t 如果 β j > u t 0 如果 | β j | u t β j + u t 如果 β j < u t

  • 对于新加坡元, β j 是估计系数吗j处理后kmini-batches。 u t k γ t λ γt迭代的学习率是多少t.λ的价值兰姆达

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

如果正则化“岭”,软件就会忽略截断周期

例子:“TruncationPeriod”,100年

数据类型:|

其他回归选项

全部折叠

观察权重,指定为逗号分隔对,由“重量”和一个正的数值向量。Fitrinear.权衡观察结果X在中具有相应的值权重.的大小权重必须等于n,观测次数X

Fitrinear.规范化权重总计为1。

数据类型:|

响应变量名,指定为逗号分隔对,由“ResponseName”以及字符向量或字符串标量。

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

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

例子:“ResponseName”,“response”

数据类型:字符|字符串

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

例子:假设您创建了一个函数句柄,该句柄对输入向量应用指数变换myfunction = @ (y) exp (y)。然后,您可以将响应转换指定为myfunction ResponseTransform,

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

交叉验证选项

全部折叠

交叉验证标志,指定为逗号分隔对,由“克罗斯瓦尔”“上”“关闭”

如果您指定“上”然后软件实现了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紧凑,训练有素的模型在细胞k-by-1细胞载体训练有素的交叉验证模型的性质。

要创建一个交叉验证的模型,您只能使用以下四个选项中的一个:CVPartition坚持,或KFold

例子:“KFold”,8

数据类型:|

SGD和ASGD收敛控制

全部折叠

要处理的最大批数,指定为由逗号分隔的对组成“批量限制”和一个正整数。当软件处理批量限制批量,它终止优化。

  • 默认情况下:

    • 软件通过数据PassLimit次了。

    • 如果您指定多个求解器,并使用(A)SGD来获得下一个求解器的初始近似,则默认值为装天花板(1 e6 / BatchSize)BatchSize价值是多少BatchSize名称-值对的论点。

  • 如果您指定“批量限制”PassLimit,然后软件选择能处理最少观察结果的论点。

  • 如果您指定“批量限制”但不是“PassLimit”然后,软件处理足够的批次以完成一遍通过数据。

例子:“BatchLimit”,100年

数据类型:|

线性系数和偏差项(截距)的相对公差,指定为逗号分隔对,包括“Betatoreance”和一个非负标量。

B t β t b t ,即优化迭代时的系数向量和偏差项t.如果 B t B t 1 B t 2 < 甜菜耐受 ,则优化终止。

如果软件收敛于中指定的最后一个解算器解算器,则优化终止。否则,软件将使用中指定的下一个解算器解算器

例子:e-6 BetaTolerance, 1

数据类型:|

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

要指定批次大小,请参见BatchSize

默认情况下,软件每次通过整个数据集检查10次收敛。

例子:“NumCheckConvergence”,100年

数据类型:|

通过数据的最大数量通过数据,指定为逗号分隔对“PassLimit”一个正整数。

Fitrinear.处理所有的观察,当它完成一次通过数据。

Fitrinear.通过数据PassLimit乘以,它终止了优化。

如果您指定批量限制PassLimit, 然后Fitrinear.选择导致处理最少观察结果的论点。有关详细信息,请参见算法

例子:“PassLimit”,5

数据类型:|

用于优化收敛检测的数据,指定为逗号分隔对,由“验证数据”还有单元格数组。

在优化期间,软件定期估计损失ValidationData.如果验证数据丢失增加,则软件终止优化。有关详细信息,请参见算法. 要使用交叉验证优化超参数,请参见交叉验证选项,例如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 ,则优化终止。

如果您还指定甜菜耐受,则优化终止Fitrinear.满足任一停止条件。

如果Fitrinear.为上次指定的求解器融合解算器,则优化终止。否则,Fitrinear.中指定的下一个求解器解算器

例子:GradientTolerance,每股收益

数据类型:|

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

例子:e7 IterationLimit, 1

数据类型:|

双SGD优化融合控制

全部折叠

线性系数和偏差项(截距)的相对公差,指定为逗号分隔对,包括“Betatoreance”和一个非负标量。

B t β t b t ,即优化迭代时的系数向量和偏差项t.如果 B t B t 1 B t 2 < 甜菜耐受 ,则优化终止。

如果您还指定三角形半径公差,则当软件满足任一停止条件时,优化终止。

如果软件收敛于中指定的最后一个解算器解算器,则优化终止。否则,软件将使用中指定的下一个解算器解算器

例子:e-6 BetaTolerance, 1

数据类型:|

上下池之间的梯度差公差Karush-Kuhn-Tucker (KKT)互补条件违反者,指定为逗号分隔的对,由“DeltaGradientTolerance”和一个非负标量。三角形半径公差适用于“双重”价值解算器只有。

  • 如果KKT违反者的大小小于三角形半径公差, 然后Fitrinear.终止优化。

  • 如果Fitrinear.为上次指定的求解器融合解算器,则优化终止。否则,Fitrinear.中指定的下一个求解器解算器

例子:“DeltaGapTolerance”,1e-2

数据类型:|

在下一次收敛检查前通过整个数据集进行处理的次数,指定为逗号分隔对组成“NumCheckConvergence”一个正整数。

例子:“NumCheckConvergence”,100年

数据类型:|

通过数据的最大数量通过数据,指定为逗号分隔对“PassLimit”一个正整数。

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

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

例子:“PassLimit”,5

数据类型:|

用于优化收敛检测的数据,指定为逗号分隔对,由“验证数据”还有单元格数组。

在优化期间,软件定期估计损失ValidationData.如果验证数据丢失增加,则软件终止优化。有关详细信息,请参见算法. 要使用交叉验证优化超参数,请参见交叉验证选项,例如CrossVal

  • ValidationData (1)必须包含一个米——- - - - - -p或p——- - - - - -米具有相同方向的预测数据的全矩阵或稀疏矩阵X.训练数据中的预测变量XValidationData {1}必须对应。两组中的观察值数量可能不同。

  • ValidationData (2)必须包含的数组米响应的长度对应的数量的观察ValidationData {1}

  • 可选地,ValidationData (3)可以包含一个米-观测权值的维数向量。软件将验证数据的权重归一化,使其和为1。

如果您指定ValidationData,则要在命令行显示验证丢失,请指定大于0的值冗长的

如果软件收敛于中指定的最后一个解算器解算器,则优化终止。否则,软件将使用中指定的下一个解算器解算器

默认情况下,该软件不会通过监控验证数据丢失来检测收敛。

BFGS, LBFGS和SpaRSA收敛控制

全部折叠

线性系数和偏差项(截距)的相对公差,指定为逗号分隔对,包括“Betatoreance”和一个非负标量。

B t β t b t ,即优化迭代时的系数向量和偏差项t.如果 B t B t 1 B t 2 < 甜菜耐受 ,则优化终止。

如果您还指定GradientTolerance,则当软件满足任一停止条件时,优化终止。

如果软件收敛于中指定的最后一个解算器解算器,则优化终止。否则,软件将使用中指定的下一个解算器解算器

例子:e-6 BetaTolerance, 1

数据类型:|

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

t 为优化迭代时目标函数相对于系数和偏差项的梯度向量t.如果 t 马克斯 | t | < GradientTolerance ,则优化终止。

如果您还指定甜菜耐受,则当软件满足任一停止条件时,优化终止。

如果软件收敛于软件中指定的最后一个解算器,则优化终止。否则,软件将使用中指定的下一个解算器解算器

例子:'gradienttolerance',1e-5

数据类型:|

用于Hessian近似的历史缓冲区的大小,指定为逗号分隔对组成“HessianHistorySize”一个正整数。也就是说,在每次迭代时,软件使用最新的统计数据组成HessianHessianHistorySize迭代。

软件不支持金宝app“HessianHistorySize”SpaRSA。

例子:“HessianHistorySize”,10

数据类型:|

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

例子:“IterationLimit”,500年

数据类型:|

用于优化收敛检测的数据,指定为逗号分隔对,由“验证数据”还有单元格数组。

在优化期间,软件定期估计损失ValidationData.如果验证数据丢失增加,则软件终止优化。有关详细信息,请参见算法. 要使用交叉验证优化超参数,请参见交叉验证选项,例如CrossVal

  • ValidationData (1)必须包含一个米——- - - - - -p或p——- - - - - -米具有相同方向的预测数据的全矩阵或稀疏矩阵X.训练数据中的预测变量XValidationData {1}必须对应。两组中的观察值数量可能不同。

  • ValidationData (2)必须包含的数组米响应的长度对应的数量的观察ValidationData {1}

  • 可选地,ValidationData (3)可以包含一个米-观测权值的维数向量。软件将验证数据的权重归一化,使其和为1。

如果您指定ValidationData,则要在命令行显示验证丢失,请指定大于0的值冗长的

如果软件收敛于中指定的最后一个解算器解算器,则优化终止。否则,软件将使用中指定的下一个解算器解算器

默认情况下,该软件不会通过监控验证数据丢失来检测收敛。

Hyperparameter优化

全部折叠

要优化的参数,指定为逗号分隔对,由'OptimizeHyperParameters'以及以下其中之一:

  • “没有”-不要优化。

  • “汽车”——使用{'Lambda','Learner'}

  • '全部'-优化所有符合条件的参数。

  • 符合条件的参数名称的字符串数组或单元格数组。

  • 向量的优化的不变性对象的输出hyperparameters

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

笔记

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

符合条件的参数Fitrinear.是:

  • 兰姆达- - - - - -Fitrinear.在正值之间搜索,默认情况下,在范围内按对数缩放[1 e-5 / NumObservations 1 e5 / NumObservations]

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

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

通过传递的向量来设置非默认参数优化的不变性具有非默认值的对象。例如,

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

通过参数作为价值OptimizeHyperparameters

默认情况下,在命令行出现迭代显示,并根据优化中超参数的数量出现绘图。对于优化和绘图,目标函数为日志(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”

  • “每秒的预期改进”

  • “lower-confidence-bound”

  • “probability-of-improvement”

获取函数的名称包括每秒不会产生可重复的结果,因为优化依赖于目标函数的运行时间。获取函数的名称包括+当他们过度开发一个区域时,调整他们的行为。有关详细信息,请参见采集函数类型

“expected-improvement-per-second-plus”
MaxObjectiveEvaluations 目标函数求值的最大次数。 30.为了“bayesopt”“randomsearch”,和整个网格'gridsearch'
MaxTime

时限,指定为正实。时间限制以秒为单位,用抽搐toc.运行时间可能超过MaxTime因为MaxTime不中断函数计算。

NumGridDivisions 为了'gridsearch',表示每个维度中值的数量。该值可以是一个给出每个维度值数量的正整数向量,也可以是适用于所有维度的标量。对于分类变量,该字段被忽略。 10
ShowPlots 指示是否显示绘图的逻辑值。如果真正的,该域根据迭代次数绘制出最佳目标函数值。如果有一个或两个优化参数,如果优化器“bayesopt”, 然后ShowPlots还根据参数绘制目标函数的模型。 真正的
保存中间结果 表示是否保存结果的逻辑值优化器“bayesopt”.如果真正的,此字段将覆盖名为“BayesoptResults”在每一个迭代。变量是aBayesianOptimization对象。 错误的
冗长的

显示到命令行。

  • 0-无迭代显示

  • 1——迭代显示

  • 2-重复显示额外的信息

具体操作请参见Bayesopt.冗长的名称-值对的论点。

1
使用指α. 指示是否并行运行贝叶斯优化的逻辑值,这需要并行计算工具箱™。由于并行时序的不可再现性,并行贝叶斯优化并不一定产生可再现的结果。有关详细信息,请参见平行的贝叶斯优化 错误的
重新分区

指示是否在每次迭代时重新划分交叉验证的逻辑值。如果错误的,优化器使用单个分区进行优化。

真正的通常给出最健壮的结果,因为这个设置考虑到了分区噪声。然而,为了得到好的结果,真正的需要至少两倍的函数求值。

错误的
使用以下三个字段名中的一个。
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.评估收敛是否令人满意。

超参数的交叉验证优化,返回为aBayesianOptimization对象或超参数和关联值的表。当'OptimizeHyperParameters'不是“没有”. 输出值取决于优化器的字段值“HyperparameterOptimizationOptions”名称-值对论点:

的价值优化器场地 的价值HyperparameterOptimizationResults
“bayesopt”(默认) 类的对象BayesianOptimization
'gridsearch'“randomsearch” 使用的超参数表,观测到的目标函数值(交叉验证损失),以及观测值从最低(最好)到最高(最差)的排序

笔记

如果学习者“leastsquares”,则目标函数中的损失项为MSE的一半。损失默认情况下返回MSE。因此,如果使用损失检查再替换,或训练,错误,那么在返回的MSE之间有一个差异损失和优化结果FitInfo.或者通过使用设置正详细级别返回到命令行冗长的

更多关于

全部折叠

温暖的开始

一个温暖的开始是提供给优化程序的beta系数和偏差项的初始估计,以更快地收敛。

低维数据的替代方案

高维线性分类和回归模型相对较快地最小化了目标函数,但以一定的精度为代价,仅数值预测变量限制,且模型必须与参数成线性关系。如果预测数据集是低维到中维的,或包含异质变量,则然后,您应该使用适当的分类或回归拟合函数。要帮助您确定哪个拟合函数适用于低维数据集,请使用此表。

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

  • 使用smo,ISDA或者解决双问题l通过二次规划的最小化使用二次规划优化函数

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

逻辑回归
  • 无正则化的Logistic回归:fitglm

  • 正则逻辑回归使用套索惩罚:拉索格姆

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

  • 拉索格姆实现循环坐标下降。

提示

  • 最好的做法是调整预测器矩阵的方向,使观察结果与列对应并指定“ObservationsIn”、“列”.因此,您可以显著减少优化执行时间。

  • 为了更好的优化精度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是不是太小了Fitrinear.在多次迭代中达到最小值,但每次迭代快速计算梯度。

    • 如果BatchSize那太大了Fitrinear.在更少的迭代中达到最小值,但每次迭代的梯度计算很慢。

  • 学习率高(参见学习者)加速收敛到最小值,但可能导致发散(即超过最小值)。小的学习速率确保收敛到最小值,但可能导致缓慢的终止。

  • 在使用套索惩罚时,用不同的值进行实验截断周期.例如,设置截断周期110, 进而One hundred.

  • 为了提高效率,Fitrinear.不标准化预测数据。标准化X,输入

    X = bsxfun (@rdivide bsxfun (@minus X,意味着(X, 2)),性病(0,2));

    代码要求您将预测器和观察值定位为的行和列X此外,为了节省内存,代码将原始预测数据替换为标准化数据。

  • 在训练模型之后,您可以生成C/ c++代码来预测对新数据的响应。生成C/ c++代码需要MATLAB编码器™.有关详细信息,请参见代码生成简介

算法

  • 如果您指定ValidationData,则在目标函数优化过程中:

    • Fitrinear.估计的验证损失ValidationData定期使用当前模型,并跟踪最小估计。

    • Fitrinear.估计一个验证损失,它将估计与最小估计进行比较。

    • 随后,验证损失估计值超过最小估计值的五倍,Fitrinear.终止优化。

  • 如果您指定ValidationData并实现交叉验证程序(CrossValCVPartition坚持,或KFold),那么:

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

    2. Fitrinear.使用训练数据分区训练模型。在目标函数优化,Fitrinear.使用ValidationData作为终止优化的另一种可能方法(有关详细信息,请参阅前面的内容)。

    3. 一次Fitrinear.在满足停止准则的情况下,基于优化后的线性系数和截距构造训练模型。

      1. 如果你实现k倍交叉验证,Fitrinear.还没有用尽所有的训练套路,那么Fitrinear.返回到步骤2,使用下一个训练集折叠进行训练。

      2. 否则,Fitrinear.终止培训,然后返回交叉验证的模型。

    4. 您可以确定交叉验证模型的质量。例如:

      • 为了使用第1步中的坚持层或折叠外数据确定验证损失,将交叉验证模型传递给kfoldLoss

      • 为了预测第1步中顽固或未折叠数据的观测结果,将交叉验证的模型传递给kfoldPredict

参考文献

Ho c.h.和Lin c.j.。“大规模线性支持向量回归。”金宝app机器学习研究杂志,卷。13,2012,第3323-3348页。

[2] Hsieh,C.J.,K.W.Chow,C. J. Lin,S. Keerthi和S. Sundararajan。“用于大规模线性SVM的双坐标滴定方法。”第25届国际机器学习会议论文集,ICML’08, 2001,第408-415页。

李磊,张涛。“基于截断梯度的稀疏在线学习”。J.马赫·学习·研究。,2009年第10卷,第777-801页。

Nocedal, J.和S. J. Wright。数值优化,第二版,纽约:施普林格,2006。

谢勒夫-施瓦茨,S. Y.辛格和N.斯雷布罗。Pegasos:支持向量机的原始估计次梯度求解器第24届机器学习会议的诉讼程序,ICML '07, 2007,第807-814页。

莱特,S. J., R. D.诺瓦克,M. A. T. Figueiredo。“可分离近似稀疏重建”。反式。Proc团体。, Vol. 57, No . 7, 2009, pp. 2479-2493。

[7] 用于正则化随机学习和在线优化的双重平均方法J.马赫·学习·研究。, Vol. 11, 2010, pp. 2543-2596。

[8]徐,魏。“基于平均随机梯度下降的最优一次大规模学习”。相关系数、abs / 1107.2490, 2011年。

扩展功能

介绍了R2016a