对高维数据拟合线性回归模型据/p>
Fitrinear.据/code>有效训练线性回归模型与高维,完整或稀疏预测数据。可用的线性回归模型包括正则支持向量机(SVM)和最小二乘回归方法。金宝app据Code class="function">Fitrinear.据/code>使用减少计算时间的技术(例如,随机梯度下降)最小化目标函数。据/p>
对于包括许多预测变量的高维数据集的计算时间,通过使用培训线性回归模型据Code class="literal">Fitrinear.据/code>.有关低至中维预测数据集,请参阅据a href="//www.tatmou.com/help/stats/fitrlinear.html" class="intrnllnk">低维数据的替代方案据/a>.据/p>
返回培训的回归模型对象据Code class="argument">Mdl据/code>其中包含将支持向量机回归模型拟合到预测器的结果金宝app据Code class="literal">X据/code>和响应据Code class="literal">y据/code>.据/p>
Mdl据/code>
= fitrlinear (据a href="#bu216n7_sep_shared-X" class="intrnllnk">X据/code>那据a href="#bu216n7_sep_shared-Y" class="intrnllnk">
y据/code>)据/code>
使用表中的预测变量返回线性回归模型据Code class="argument">资源描述据/code>和响应值据Code class="literal">资源描述。ResponseVarName据/code>.据/p>
Mdl据/code>
= fitrlinear (据a href="#bu216n7_sep_shared-Tbl" class="intrnllnk">资源描述据/code>那据a href="#bu216n7_sep_shared-ResponseVarName" class="intrnllnk">
ResponseVarName据/code>)据/code>
使用表中的示例数据返回线性回归模型据Code class="argument">资源描述据/code>.输入参数据Code class="argument">公式据/code>是响应的解释模型和预测变量的子集据Code class="argument">资源描述据/code>适合使用据Code class="argument">Mdl据/code>.据/p>
Mdl据/code>
= fitrlinear (据a href="#bu216n7_sep_shared-Tbl" class="intrnllnk">资源描述据/code>那据a href="#bu216n7_sep_shared-formula" class="intrnllnk">
公式据/code>)据/code>
使用表中的预测变量返回线性回归模型据Code class="argument">资源描述据/code>和向量中的响应值据Code class="argument">y据/code>.据/p>
Mdl据/code>
= fitrlinear (据a href="#bu216n7_sep_shared-Tbl" class="intrnllnk">资源描述据/code>那据a href="#bu216n7_sep_shared-Y" class="intrnllnk">
y据/code>)据/code>
除了先前语法中的任何输入参数组合之外,还使用一个或多个名称值对参数指定选项。例如,您可以指定交叉验证,实现最小二乘回归,或指定正规化的类型。良好的做法是使用使用的交叉验证据Code class="literal">'kfold'据/code>名称-值对的论点。交叉验证结果确定模型概括的程度如何。据/p>
Mdl据/code>
= fitrlinear (据a href="#bu216n7_sep_shared-X" class="intrnllnk">X据/code>那据a href="#bu216n7_sep_shared-Y" class="intrnllnk">
y据/code>那据a href="#namevaluepairarguments" class="intrnllnk">
名称,值据/code>)据/code>
[据a href="#bu216n7-Mdl" class="intrnllnk">
还使用任何前面的语法返回优化细节。你不能要求据Code class="literal">FitInfo.据/code>用于交叉验证模型。据/p>
Mdl据/code>那据a href="#bu216n7_sep_shared-FitInfo" class="intrnllnk">
FitInfo.据/code>] = fitrinear(据span class="argument_placeholder">___据/span>)据/code>
[据a href="#bu216n7-Mdl" class="intrnllnk">
在传递时也返回HyperParameter优化详细信息据a href="#bu216n7-OptimizeHyperparameters" class="intrnllnk">Mdl据/code>那据a href="#bu216n7_sep_shared-FitInfo" class="intrnllnk">
FitInfo.据/code>那据a href="#bu216n7_sep_mw_d85d84fa-0222-43da-a8ca-e20f2e624030" class="intrnllnk">
HyperParameterOptimationResults.据/code>] = fitrinear(据span class="argument_placeholder">___据/span>)据/code>
OptimizeHyperparameters据/code>名称值对。据/p>
使用SVM,双SGD和RIDGE正规列车培训线性回归模型。据/p>
从这个模型模拟10000个观察结果据/p>
是一个10000 × 1000稀疏矩阵,含有10%的非零标准正规元素。据/p>
E.据/em>为随机正态误差,均值为0,标准差为0.3。据/p>
RNG(1)据span style="color:#228B22">重复性的%据/span>n = 1 e4;d = 1 e3;新西兰= 0.1;X = sprandn (n, d,新西兰);Y = X(:,100) + 2*X(:,200) + 0.3*randn(n,1);据/pre>
训练线性回归模型。默认情况下,据Code class="literal">Fitrinear.据/code>使用带脊惩金宝app罚的支持向量机,并对支持向量机使用双SGD进行优化。通过提取一个拟合摘要,确定优化算法将模型与数据拟合的程度。据/p>
[mdl,fitinfo] = fitrinear(x,y)据/pre>
Mdl = RegressionLinear ResponseName: 'Y' ResponseTransform: 'none' Beta: [1000x1 double] Bias: -0.0056 Lambda: 1.0000e-04 Learner: 'svm'属性,方法据/pre>
FitInfo =据span class="emphasis">结构体字段:据/em>Lambda:1.0000E-04目的:0.2725百分比:10条形图:10 Batchlimit:[] Numiterations:100000梯度:NaN梯度:0 RelativeChangeInbeta:0 RelativeChangeInbeta:0.4907 BetaTolerance:1.0000E-04 Deltagradient:1.5816 DeltagradientTolerance:0.1000 TerminationCode:0 TerminiveStatus:{''超出迭代限额。'} alpha:[10000x1双]历史:[] Fittime:0.0772求解器:{'Dual'}据/pre>
Mdl据/code>是A.据Code class="literal">RegressionLinear据/code>模型。你可以通过据Code class="literal">Mdl据/code>以及培训或新数据据Code class="literal">损失据/code>检查样本均值平方误差。或者,你可以通过据Code class="literal">Mdl据/code>和新的预测器数据据Code class="literal">预测据/code>预测新观察的响应。据/p>
FitInfo.据/code>是一个结构阵列,其中包括终端状态(据Code class="literal">terminationStatus.据/code>)求解器需要多长时间将模型适合数据(据Code class="literal">Fittime.据/code>)。使用很好的做法据Code class="literal">FitInfo.据/code>确定优化终止测量是否令人满意。在这种情况下,据Code class="literal">Fitrinear.据/code>达到了最大迭代次数。因为培训时间快,你可以重新训练模型,但是通过数据增加通过的传递数量。或者,尝试另一个求解器,例如lbfgs。据/p>
为了确定使用最小二乘法的线性回归模型的良好租赁强度,实现5倍交叉验证。据/p>
从这个模型模拟10000个观察结果据/p>
是一个10000 × 1000稀疏矩阵,含有10%的非零标准正规元素。据/p>
E.据/em>为随机正态误差,均值为0,标准差为0.3。据/p>
RNG(1)据span style="color:#228B22">重复性的%据/span>n = 1 e4;d = 1 e3;新西兰= 0.1;X = sprandn (n, d,新西兰);Y = X(:,100) + 2*X(:,200) + 0.3*randn(n,1);据/pre>
创建一组15个对数间隔的正则化强度据span class="inlineequation"> 通过据span class="inlineequation"> .据/p>
λ= logspace(5、1、15);据/pre>
旨在模型。要提高执行速度,可以调换预测器数据并指定观察结果在列中。利用SpaRSA优化目标函数。据/p>
x = x';cvmdl = fitrinear(x,y,据span style="color:#A020F0">“ObservationsIn”据/span>那据span style="color:#A020F0">“列”据/span>那据span style="color:#A020F0">'kfold'据/span>,5,据span style="color:#A020F0">'lambda'据/span>λ,据span style="color:#0000FF">......据/span>“学习者”据/span>那据span style="color:#A020F0">'最不答案'据/span>那据span style="color:#A020F0">“规划求解”据/span>那据span style="color:#A020F0">'sparsa'据/span>那据span style="color:#A020F0">'正规化'据/span>那据span style="color:#A020F0">“套索”据/span>);numCLModels =元素个数(CVMdl.Trained)据/pre>
numclmodels = 5据/pre>
显示第一个训练的线性回归模型。据/p>
估计交叉验证的MSE。据/p>
更高的值据Code class="literal">λ据/code>导致预测变量的稀疏性,这是回归模型的一个很好的品质。对于每个正则化强度,使用整个数据集和交叉验证模型时相同的选项来训练线性回归模型。确定每个模型的非零系数的数目。据/p>
在相同的图中,为每个正则化强度绘制非零系数的交叉验证的MSE和频率。绘制日志比例上的所有变量。据/p>
选择平衡预测变量稀疏性和低MSE的正则化强度指标(例如,据Code class="literal">λ(10)据/code>)。据/p>
用对应于最小的MSE提取模型。据/p>
CVMdl据/code>是A.据Code class="literal">RegressionPartitionedLinear据/code>模型。因为据Code class="literal">Fitrinear.据/code>实现5倍交叉验证,据Code class="literal">CVMdl据/code>包含5.据Code class="literal">RegressionLinear据/code>软件列车在每个折叠上进行模型。据/p>
Mdl1 = CVMdl。训练有素的{1}据/pre>
MDL1 =回归线性racalthame:'y'responsefransform:'none'beta:[1000x15双]偏置:[1x15 double] lambda:[1x15 double]学习者:'最小二字'属性,方法据/pre>
MDL1据/code>是A.据Code class="literal">RegressionLinear据/code>模型对象。据Code class="literal">Fitrinear.据/code>构造据Code class="literal">MDL1据/code>通过前四个折叠训练。因为据Code class="literal">λ据/code>你能想到一个正规化强度的序列吗据Code class="literal">MDL1据/code>作为15型号,一个用于每个正则化强度据Code class="literal">λ据/code>.据/p>
mse = kfoldLoss (CVMdl);据/pre>
Mdl = fitrlinear (X, Y,据span style="color:#A020F0">“ObservationsIn”据/span>那据span style="color:#A020F0">“列”据/span>那据span style="color:#A020F0">'lambda'据/span>λ,据span style="color:#0000FF">......据/span>“学习者”据/span>那据span style="color:#A020F0">'最不答案'据/span>那据span style="color:#A020F0">“规划求解”据/span>那据span style="color:#A020F0">'sparsa'据/span>那据span style="color:#A020F0">'正规化'据/span>那据span style="color:#A020F0">“套索”据/span>);numnzcoeff = sum(mdl.beta〜= 0);据/pre>
图[h,hl1,hl2] = plotyy(log10(lambda),log10(mse),据span style="color:#0000FF">......据/span>log10(lambda),log10(numnzcoeff));HL1.Marker =据span style="color:#A020F0">“o”据/span>;HL2.Marker =据span style="color:#A020F0">“o”据/span>;ylabel(h(1),据span style="color:#A020F0">'log_ {10} mse'据/span>)Ylabel(H(2),据span style="color:#A020F0">'log_ {10}非零系数频率'据/span>)包含(据span style="color:#A020F0">“log_{10}λ的据/span>)举行据span style="color:#A020F0">从据/span>
IDXFinal = 10;据/pre>
MDLFinal = SelectModels(MDL,IDXFinal)据/pre>
MDLFinal =回归线性ractrace:'y'responsefransform:'none'beta:[1000x1 double]偏置:-0.0050 lambda:0.0037学习者:'最小二乘'属性,方法据/pre>
idxNZCoeff =找到(MdlFinal.Beta ~ = 0)据/pre>
idxNZCoeff =据span class="emphasis">2×1据/em>100 200据/pre>
EstCoeff = Mdl.Beta (idxNZCoeff)据/pre>
estcoeff =据span class="emphasis">2×1据/em>1.0051 - 1.9965据/pre>
MdlFinal据/code>是A.据Code class="literal">RegressionLinear据/code>一正则化强度模型。非零系数据Code class="literal">estcoeff.据/code>接近模拟数据的系数。据/p>
这个例子展示了如何自动优化超参数使用据Code class="literal">Fitrinear.据/code>.该示例使用模型的人工(模拟)数据据/p>
是一个10000 × 1000稀疏矩阵,含有10%的非零标准正规元素。据/p>
E.据/em>为随机正态误差,均值为0,标准差为0.3。据/p>
RNG(1)据span style="color:#228B22">重复性的%据/span>n = 1 e4;d = 1 e3;新西兰= 0.1;X = sprandn (n, d,新西兰);Y = X(:,100) + 2*X(:,200) + 0.3*randn(n,1);据/pre>
找到通过使用自动超开名计优化最小化五倍交叉验证损耗的高参数。据/p>
为了再现性,请使用据Code class="literal">'预期改善加'据/code>采集功能。据/p>
超高超= struct(据span style="color:#A020F0">'获取功能名称'据/span>那据span style="color:#A020F0">'预期改善加'据/span>);[mdl,fitinfo,hyperparameteroptimationresults] = fitrinear(x,y,据span style="color:#0000FF">......据/span>'OptimizeHyperParameters'据/span>那据span style="color:#A020F0">'汽车'据/span>那据span style="color:#0000FF">......据/span>'hyperparameteroptimizationOptions'据/span>hyperopts)据/pre>
|=====================================================================================================| | Iter | Eval |目的:| |目的BestSoFar | BestSoFar |λ|学生| | | |结果日志(1 +损失)运行时| | | (estim(观察) .) | | | |=====================================================================================================| | 最好1 | | 0.16029 | 0.82065 | 0.16029 | 0.16029 | 2.4206 e-09 |支持向量机| | 2 |最好| 0.14496 | 0.54414 | 0.14496 | 0.14601 |0.。0.0.1807 | svm | | 3 | Best | 0.13879 | 0.48844 | 0.13879 | 0.14065 | 2.4681e-09 | leastsquares | | 4 | Best | 0.115 | 0.41578 | 0.115 | 0.11501 | 0.021027 | leastsquares | | 5 | Accept | 0.44352 | 0.4755 | 0.115 | 0.1159 | 4.6795 | leastsquares | | 6 | Best | 0.11025 | 0.42402 | 0.11025 | 0.11024 | 0.010671 | leastsquares | | 7 | Accept | 0.13222 | 0.37927 | 0.11025 | 0.11024 | 8.6067e-08 | leastsquares | | 8 | Accept | 0.13262 | 0.39877 | 0.11025 | 0.11023 | 8.5109e-05 | leastsquares | | 9 | Accept | 0.13543 | 0.45217 | 0.11025 | 0.11021 | 2.7562e-06 | leastsquares | | 10 | Accept | 0.15751 | 0.49693 | 0.11025 | 0.11022 | 5.0559e-06 | svm | | 11 | Accept | 0.40673 | 0.53907 | 0.11025 | 0.1102 | 0.52074 | svm | | 12 | Accept | 0.16057 | 0.4872 | 0.11025 | 0.1102 | 0.00014292 | svm | | 13 | Accept | 0.16105 | 0.55137 | 0.11025 | 0.11018 | 1.0079e-07 | svm | | 14 | Accept | 0.12763 | 0.56711 | 0.11025 | 0.11019 | 0.0012085 | leastsquares | | 15 | Accept | 0.13504 | 0.60429 | 0.11025 | 0.11019 | 1.3981e-08 | leastsquares | | 16 | Accept | 0.11041 | 0.48688 | 0.11025 | 0.11026 | 0.0093968 | leastsquares | | 17 | Best | 0.10954 | 0.47188 | 0.10954 | 0.11003 | 0.010393 | leastsquares | | 18 | Accept | 0.10998 | 0.4352 | 0.10954 | 0.11002 | 0.010254 | leastsquares | | 19 | Accept | 0.45314 | 0.50147 | 0.10954 | 0.11001 | 9.9966 | svm | | 20 | Best | 0.10753 | 0.59717 | 0.10753 | 0.10759 | 0.022576 | svm | |=====================================================================================================| | Iter | Eval | Objective: | Objective | BestSoFar | BestSoFar | Lambda | Learner | | | result | log(1+loss) | runtime | (observed) | (estim.) | | | |=====================================================================================================| | 21 | Best | 0.10737 | 0.56816 | 0.10737 | 0.10728 | 0.010171 | svm | | 22 | Accept | 0.13448 | 0.38789 | 0.10737 | 0.10727 | 1.5344e-05 | leastsquares | | 23 | Best | 0.10645 | 0.56603 | 0.10645 | 0.10565 | 0.015495 | svm | | 24 | Accept | 0.13598 | 0.44626 | 0.10645 | 0.10559 | 4.5984e-07 | leastsquares | | 25 | Accept | 0.15962 | 0.50378 | 0.10645 | 0.10556 | 1.4302e-08 | svm | | 26 | Accept | 0.10689 | 0.50284 | 0.10645 | 0.10616 | 0.015391 | svm | | 27 | Accept | 0.13748 | 0.55604 | 0.10645 | 0.10614 | 1.001e-09 | leastsquares | | 28 | Accept | 0.10692 | 0.59706 | 0.10645 | 0.10639 | 0.015761 | svm | | 29 | Accept | 0.10681 | 0.51754 | 0.10645 | 0.10649 | 0.015777 | svm | | 30 | Accept | 0.34314 | 0.41308 | 0.10645 | 0.10651 | 0.39671 | leastsquares |据/pre>
__________________________________________________________ 优化完成。maxobjective达到30个。总函数计算:30总运行时间:55.6967秒总目标函数计算时间:15.196Lambda Learner ________ _______ 0.015495 svm观测目标函数值= 0.10645估计目标函数值= 0.10651函数评估时间= 0.56603最佳估计可行点(根据模型):Lambda Learner ________ _______ 0.015777 svm估计目标函数值= 0.10651估计函数评估时间= 0.54148据/pre>
MDL =回归线性ractraceAmame:'y'responsefransform:'none'beta:[1000x1双]偏置:-0.0018 lambda:0.0158学习者:'SVM'属性,方法据/pre>
FitInfo =据span class="emphasis">结构体字段:据/em>Lambda: 0.0158目标:0.2309 PassLimit: 10 NumPasses: 10 BatchLimit: [] NumIterations: 99989 GradientNorm: NaN GradientTolerance: 0 RelativeChangeInBeta: 0.0641 BetaTolerance: 1.0000e-04 DeltaGradient: 1.1697 DeltaGradientTolerance: 0.1000 TerminationCode: 0 TerminationStatus:{'迭代限制超过。Alpha: [10000x1 double] History: [] FitTime: 0.0789 Solver: {'dual'}据/pre>
HyperParePeterOptimizationResults =具有属性的贝叶斯optimization:ObjectFCN:@ createobjfcn / Inmemoryobjfcn variabledesions:[1x1结构]选项:[1x1 struct] minobjective:0.1065 xatminobjective:0.1065 xatminobjective:0.1065 xatmineStimatebiptive:[1x2表] NumObjectiveEvaluations:30总计:55.6967 Nextpointa:[1x2表] XTrace:[30x2表] ObjectiveTreace:[30x1 double] constraintstrace:[] UserDataTrace:{30x1 Cell} WateSealValiveTimetrace:[30x1 Double] iteationTimetrace:[30x1 double] errortrace:[30x1 double] feaselytrace:[30x1逻辑]FeasilyProbabilityTrace:[30x1 Double] IndexOfMImimumMimumImimumImimumImumImimumimumImimumIstTrace:[30x1 Double]估计objectiveminimumTrace:[30x1双]据/pre>
这种优化技术比如图所示更简单据a href="//www.tatmou.com/help/stats/fitrlinear.html" class="intrnllnk">使用交叉验证找到良好的套索惩罚据/a>,但不允许您权衡模型复杂性和交叉验证损失。据/p>
X据/code>-据span itemprop="purpose">预测数据据/span>
全矩阵据/span>|据span itemprop="inputvalue">稀疏矩阵据/span>
预测器数据,指定为据E.mClass="varname">N据/em>-经过-据E.mClass="varname">P.据/em>满或稀疏矩阵。据/p>
长度据Code class="literal">y据/code>观察的次数据Code class="literal">X据/code>必须是平等的。据/p>
请注意据/strong>
如果您对预测器矩阵进行定位,使观察结果与列对应并指定据Code class="literal">'观察','列'据/code>,然后您可能会遇到优化执行时间的显着减少。据/p>
数据类型:据/strong>单身的据/code>|据Code itemprop="datatype">双倍的据/code>
y据/code>-据span itemprop="purpose">响应数据据/span>
数值向量据/span>
响应数据,指定为一个据E.mClass="varname">N据/em>- 数值数字矢量。长度据Code class="literal">y据/code>必须等于观测的次数据a href="#bu216n7_sep_shared-X" class="intrnllnk"> 数据类型:据/strong>X据/code>或据a href="#bu216n7_sep_shared-Tbl" class="intrnllnk">
资源描述据/code>.据/p>
单身的据/code>|据Code itemprop="datatype">双倍的据/code>
资源描述据/code>-据span itemprop="purpose">样本数据据/span>
表格据/span>
用于培训模型的示例数据,指定为表。每一排据Code class="literal">资源描述据/code>对应一个观察值,每一列对应一个预测变量。可选地,据Code class="literal">资源描述据/code>可以为响应变量包含一个额外的列。除了字符向量的单元格数组之外,不允许使用多列变量和单元格数组。据/p>
如果据Code class="literal">资源描述据/code>包含响应变量,并且您希望使用中的所有剩余变量据Code class="literal">资源描述据/code>作为预测器,然后通过使用指定响应变量据a href="#bu216n7_sep_shared-ResponseVarName" class="intrnllnk">ResponseVarName据/code>.据/p>
如果据Code class="literal">资源描述据/code>包含响应变量,并且只想仅使用剩余变量的子集据Code class="literal">资源描述据/code>作为预测器,然后通过使用指定公式据a href="#bu216n7_sep_shared-formula" class="intrnllnk">公式据/code>.据/p>
如果据Code class="literal">资源描述据/code>不包含响应变量,则使用据a href="#bu216n7_sep_shared-Y" class="intrnllnk">y据/code>.响应变量的长度和行的数量据Code class="literal">资源描述据/code>必须是平等的。据/p>
数据类型:据/strong>表格据/code>
ResponseVarName据/code>-据span itemprop="purpose">响应变量名据/span>
变量名据Code class="literal">资源描述据/code>
中的响应变量名,指定为变量名据a href="#bu216n7_sep_shared-Tbl" class="intrnllnk"> 您必须指定据Code class="argument">ResponseVarName据/code>作为字符矢量或字符串标量。例如,如果据Code class="literal">资源描述据/code>存储响应变量据a href="#bu216n7_sep_shared-Y" class="intrnllnk"> 数据类型:据/strong>资源描述据/code>.响应变量必须是一个数字向量。据/p>
y据/code>作为据Code class="literal">tbl.y.据/code>,则指定为据Code class="literal">“Y”据/code>.否则,软件将对所有列进行处理据Code class="argument">资源描述据/code>, 包含据Code class="literal">y据/code>,作为训练模型时的预测器。据/p>
char据/code>|据Code itemprop="datatype">细绳据/code>
公式据/code>-据span itemprop="purpose">响应变量的解释模型和预测变量子集据/span>
字符向量据/span>|据span itemprop="inputvalue">字符串标量据/span>
响应变量的解释模型和预测变量的子集,指定为表单中的字符向量或字符串标量据Code class="literal">“Y ~ x1 + x2 + x3”据/code>.在这种形式,据Code class="literal">y据/code>表示响应变量,和据Code class="literal">X1据/code>那据Code class="literal">X2据/code>,据Code class="literal">X3据/code>代表预测变量。据/p>
指定变量的子集据a href="#bu216n7_sep_shared-Tbl" class="intrnllnk"> 公式中的变量名称必须是变量名称据Code class="argument">资源描述据/code>(据Code class="literal">Tbl.Properties.VariableNames据/code>)和有效的matlab据sup>®据/sup>身份标识。您可以验证变量名称据Code class="argument">资源描述据/code>通过使用据a href="//www.tatmou.com/help/matlab/ref/isvarname.html"> 数据类型:据/strong>资源描述据/code>作为训练模型的预测器,使用一个公式。如果你指定一个公式,那么软件不使用任何变量据Code class="argument">资源描述据/code>没有出现在据Code class="argument">公式据/code>.据/p>
isvarname据/code>函数。如果变量名无效,则可以使用据a href="//www.tatmou.com/help/matlab/ref/matlab.lang.makevalidname.html">
matlab.lang.makeValidName据/code>函数。据/p>
char据/code>|据Code itemprop="datatype">细绳据/code>
请注意据/strong>
软件对待据Code class="literal">南据/code>,空字符向量(据Code class="literal">''据/code>),空字符串(据Code class="literal">""据/code>),据Code class="literal">< >失踪据/code>,据Code class="literal"><定义>据/code>元素作为缺失值,并与任何这些特征删除观察:据/p>
响应中缺少值(例如,据Code class="argument">y据/code>或据Code class="argument">验证数据据/code>{2}据/code>)据/p>
在预测器观察中至少有一个缺失值(例如,row in)据Code class="argument">X据/code>或据Code class="literal">ValidationData {1}据/code>)据/p>
南据/code>值或据Code class="literal">0.据/code>权重(例如,值在据Code class="argument">重量据/code>或据Code class="literal">ValidationData {3}据/code>)据/p>
对于内存使用经济性,最好在培训之前删除包含培训数据中缺失值的观察结果。据/p>
指定可选的逗号分隔的对据Code class="argument">名称,值据/code>参数。据Code class="literal">姓名据/code>是参数名称和据Code class="literal">价值据/code>为对应值。据Code class="literal">姓名据/code>必须出现在引号内。可以以任意顺序指定多个名称和值对参数据Code class="literal">Name1, Value1,…,的家据/code>.据/p>
例子:据/strong>Mdl = fitrlinear (X, Y,“学习者”,“leastsquares”、“CrossVal”,“对”,“正规化”,“套索”)据/code>指定实现最小二乘回归,实现10倍交叉验证,并指定包括套索正则化术语。据/span>
请注意据/strong>
的参数不能同时使用任何交叉验证的名称-值对参数据Code class="literal">'OptimizeHyperParameters'据/code>名称-值对的论点。可以为。修改交叉验证据Code class="argument">'OptimizeHyperParameters'据/code>只有使用据Code class="argument">'hyperparameteroptimizationOptions'据/code>名称-值对的论点。据/p>
‘ε’据/code>-据span itemprop="purpose">不敏感带宽度的一半据/span>
差(Y) / 13.49据/code>
(默认)|据span itemprop="inputvalue">负的标量值据/span>
epsilon - 不敏感频段的一半宽度,指定为包括的逗号分隔对据Code class="literal">‘ε’据/code>和非负标量值。据Code class="literal">‘ε’据/code>仅适用于SVM学习者。据/p>
默认的据Code class="literal">埃斯利昂据/code>值是据Code class="literal">差(Y) / 13.49据/code>,这是使用响应变量的四分位范围估计的标准差据Code class="literal">y据/code>.如果据Code class="literal">IQR(Y)据/code>等于零,然后是默认值据Code class="literal">埃斯利昂据/code>值是0.1。据/p>
例子:据/strong>‘ε’,0.3据/code>
数据类型:据/strong>单身的据/code>|据Code itemprop="datatype">双倍的据/code>
'lambda'据/code>-据span itemprop="purpose">正则化术语力量据/span>
'汽车'据/code>
(默认)|据span itemprop="inputvalue">负的标量据/span>|据span itemprop="inputvalue">非负值向量据/span>
正则化项强度,指定为逗号分隔对组成据Code class="literal">'lambda'据/code>和据Code class="literal">'汽车'据/code>,非负标量或非负值的向量。据/p>
为了据Code class="literal">'汽车'据/code>那据Code class="literal">λ据/code>= 1 /据E.mClass="varname">N据/em>.据/p>
如果指定交叉验证,名称值对参数(例如,据a href="#bu216n7_sep_shared-CrossVal" class="intrnllnk">横梁据/code>), 然后据E.mClass="varname">N据/em>为折叠观测的次数。据/p>
除此以外,据E.mClass="varname">N据/em>为训练样本量。据/p>
对于非负值的向量,据Code class="function">Fitrinear.据/code>顺序地优化每个不同值的目标函数据Code class="literal">λ据/code>按升序。据/p>
如果据a href="#bu216n7-Solver" class="intrnllnk">解算器据/code>是据Code class="literal">'SGD'据/code>或据Code class="literal">“asgd”据/code>和据a href="#bu216n7_sep_shared-Regularization" class="intrnllnk">
正则化据/code>是据Code class="literal">“套索”据/code>那据Code class="function">Fitrinear.据/code>不使用以前的系数估计作为一个据a href="//www.tatmou.com/help/stats/fitclinear.html" class="a">温暖的开始据/a>用于下一个优化迭代。除此以外,据Code class="function">Fitrinear.据/code>使用温暖的开始。据/p>
如果据Code class="literal">正则化据/code>是据Code class="literal">“套索”据/code>,则任何系数的估计值为0时保持其值据Code class="function">Fitrinear.据/code>中使用后续值进行优化据Code class="literal">λ据/code>.据/p>
Fitrinear.据/code>返回每个指定正则化强度的系数估计值。据/p>
例子:据/strong>'lambda',10。^( - (10:-2:2))据/code>
数据类型:据/strong>char据/code>|据Code itemprop="datatype">细绳据/code>|据Code itemprop="datatype">双倍的据/code>|据Code itemprop="datatype">单身的据/code>
“学习者”据/code>-据span itemprop="purpose">线性回归模型型据/span>
“支持向量机”据/code>
(默认)|据span itemprop="inputvalue">'最不答案'据/code>
线性回归模型类型,指定为逗号分隔对组成据Code class="literal">“学习者”据/code>和据Code class="literal">“支持向量机”据/code>或据Code class="literal">'最不答案'据/code>.据/p>
在这张表中,据span class="inlineequation">
β据/em>是向量据E.mClass="varname">P.据/em>系数。据/p>
X据/em>是一个观察据E.mClass="varname">P.据/em>预测变量。据/p>
B.据/em>为标量偏差。据/p>
价值据/th> | 算法据/th> | 响应范围据/th> | 损失功能据/th> |
---|---|---|---|
'最不答案'据/code> |
普通最小二乘线性回归据/td> | y据/em>∊(-∞∞)据/td>
平均方形错误(MSE):据span class="inlineequation">
|
|
“支持向量机”据/code> |
金宝app支持向量机回归据/td> | 与...一样据Code class="literal">'最不答案'据/code> | epsilon - 不敏感:据span class="inlineequation"> |
例子:据/strong>“学习者”,“leastsquares”据/code>
“ObservationsIn”据/code>-据span itemprop="purpose">预测数据观察维度据/span>
'行'据/code>
(默认)|据span itemprop="inputvalue">“列”据/code>
预测器数据观测维数,指定为据Code class="literal">'行'据/code>或据Code class="literal">“列”据/code>.据/p>
请注意据/strong>
如果您对预测器矩阵进行定位,使观察结果与列对应并指定据Code class="literal">'观察','列'据/code>,那么您可能会经历计算时间的显著减少。你不能指定据Code class="literal">'观察','列'据/code>对于表中的预测数据。据/p>
例子:据/strong>'观察','列'据/code>
数据类型:据/strong>char据/code>|据Code itemprop="datatype">细绳据/code>
'正规化'据/code>-据span itemprop="purpose">复杂性惩罚类型据/span>
“套索”据/code>
|据span itemprop="inputvalue">“岭”据/code>
复杂性惩罚类型,指定为逗号分隔对组成据Code class="literal">'正规化'据/code>和据Code class="literal">“套索”据/code>或据Code class="literal">“岭”据/code>.据/p>
该软件由平均损失函数的总和组成最小化目标函数(见据a href="#bu216n7-Learner" class="intrnllnk"> 指定正常化术语实力,即据E.mClass="varname">λ.据/em>在表达中,使用据a href="#bu216n7_sep_shared-Lambda" class="intrnllnk"> 该软件不包括偏差项(据E.mClass="varname">β据/em>0.据/sub>)从正规化处罚。据/p>
如果据a href="#bu216n7-Solver" class="intrnllnk"> 提示据/strong> 对于预测变量选择,指定据Code class="literal">“套索”据/code>.有关可变选择的更多,请参阅据a href="//www.tatmou.com/help/stats/feature-selection.html" class="a">特征选择简介据/a>.据/p> 用于优化精度,指定据Code class="literal">“岭”据/code>.据/p> 例子:据/strong>学习者据/code>)和该表中的正则化术语。据/p>
价值据/th>
描述据/th>
“套索”据/code>
套索(L1)惩罚:据span class="inlineequation">
“岭”据/code>
山脊(L2)罚款:据span class="inlineequation">
λ据/code>.据/p>
解算器据/code>是据Code class="literal">'sparsa'据/code>,则为的默认值据Code class="literal">正则化据/code>是据Code class="literal">“套索”据/code>.否则,默认为据Code class="literal">“岭”据/code>.据/p>
'正规化','套索'据/code>
“规划求解”据/code>-据span itemprop="purpose">客观函数最小化技术据/span>
'SGD'据/code>
|据span itemprop="inputvalue">“asgd”据/code>
|据span itemprop="inputvalue">'双'据/code>
|据span itemprop="inputvalue">'bfgs'据/code>|据span itemprop="inputvalue">'lbfgs'据/code>|据span itemprop="inputvalue">'sparsa'据/code>|据span itemprop="inputvalue">字符串数组据/span>|据span itemprop="inputvalue">字符向量的单元格阵列据/span>
目标函数最小化技术,指定为逗号分隔对组成据Code class="literal">“规划求解”据/code>和字符向量或字符串标量,字符串数组或字符向量的小区数组,具有此表的值。据/p>
价值据/th> | 描述据/th> | 限制据/th> |
---|---|---|
'SGD'据/code> |
随机梯度下降(SGD)据a href="//www.tatmou.com/help/stats/fitrlinear.html" class="intrnllnk">[5]据/a>[3]据/a> | |
“asgd”据/code> |
平均随机梯度下降据a href="//www.tatmou.com/help/stats/fitrlinear.html" class="intrnllnk">[8]据/a> | |
'双'据/code> |
支持向量机的双SGD据a href="//www.tatmou.com/help/stats/fitrlinear.html" class="intrnllnk">[2]据/a>[7]据/a> | 正则化据/code> 必须据Code class="literal">“岭”据/code>和据a href="#bu216n7-Learner" class="intrnllnk">学习者据/code>必须据Code class="literal">“支持向量机”据/code>.据/td>
|
'bfgs'据/code> |
Broyden-Fletcher-Goldfarb-Shanno Quasi-Newton算法(BFGS)据a href="//www.tatmou.com/help/stats/fitrlinear.html" class="intrnllnk">[4]据/a> | 效率低下据a href="#bu216n7_sep_shared-X" class="intrnllnk">X据/code>非常高维。据/td>
|
'lbfgs'据/code> |
有限的记忆BFGS(LBFG)据a href="//www.tatmou.com/help/stats/fitrlinear.html" class="intrnllnk">[4]据/a> | 正则化据/code>必须据Code class="literal">“岭”据/code>.据/td>
|
'sparsa'据/code> |
可分离近似稀疏重建(SpaRSA)据a href="//www.tatmou.com/help/stats/fitrlinear.html" class="intrnllnk">[6]据/a> | 正则化据/code>必须据Code class="literal">“套索”据/code>.据/td>
|
如果您指定:据/p>
岭罚(见据Code class="argument">正则化据/code>) 和据Code class="literal">尺寸(x,1)<= 100据/code>(100或更少的预测器变量),然后默认解算器是据Code class="literal">'bfgs'据/code>.据/p>
SVM回归模型(见据Code class="argument">学习者据/code>),脊椎罚球,和据Code class="literal">大小(X, 1) > 100据/code>(超过100个预测变量),那么默认解算器是据Code class="literal">'双'据/code>.据/p>
一个套索惩罚和据Code class="argument">X据/code>包含100个或更少的预测器变量,然后默认解算器是据Code class="literal">'sparsa'据/code>.据/p>
否则,默认解算器是据Code class="literal">'SGD'据/code>.据/p>
如果指定求解器名称的字符串数组或单元格数组,则软件将按照每个求解器的指定顺序使用所有求解器据a href="#bu216n7_sep_shared-Lambda" class="intrnllnk"> 有关哪些求解器的更多详细信息,请参阅据a href="//www.tatmou.com/help/stats/fitrlinear.html" class="intrnllnk">提示据/a>.据/p>
例子:据/strong>λ据/code>.据/p>
'求解',{'sgd','lbfgs'}据/code>
'beta'据/code>-据span itemprop="purpose">初始线性系数估计据/span>
Zeros(据E.mClass="replaceable">P.据/code>1)据/code>
(默认)|据span itemprop="inputvalue">数值向量据/span>|据span itemprop="inputvalue">数字矩阵据/span>
初始线性系数估计值(据E.mClass="varname">β据/em>),指定为逗号分隔的配对组成据Code class="literal">'beta'据/code>和一个据E.mClass="varname">P.据/em>-维数向量或a据E.mClass="varname">P.据/em>-经过-据E.mClass="varname">L.据/em>数字矩阵。据E.mClass="varname">P.据/em>预测变量的数量在吗据a href="#bu216n7_sep_shared-X" class="intrnllnk"> 如果您指定了一个据E.mClass="varname">P.据/em>- vimensional vector,然后软件优化目标函数据E.mClass="varname">L.据/em>使用此过程的时间。据/p>
该软件优化使用据Code class="literal">β据/code>的初始值和最小值据Code class="argument">λ据/code>作为正规化的力量。据/p> 该软件再次优化使用的结果估计从以前的优化作为据a href="//www.tatmou.com/help/stats/fitclinear.html" class="a">温暖的开始据/a>的下一个最小值据Code class="literal">λ据/code>作为正规化的力量。据/p> 软件实现步骤2,直到它排出所有值据Code class="literal">λ据/code>.据/p> 如果您指定了一个据E.mClass="varname">P.据/em>-经过-据E.mClass="varname">L.据/em>矩阵,软件优化目标函数据E.mClass="varname">L.据/em>次了。在迭代据E.mClass="replaceable"> 如果你设置据Code class="literal">'求解','dual'据/code>,然后软件忽略了据Code class="literal">β据/code>.据/p>
数据类型:据/strong>X据/code>和据E.mClass="varname">L.据/em>正则化强度值的数量(有关详细信息,请参阅据a href="#bu216n7_sep_shared-Lambda" class="intrnllnk">
λ据/code>)。据/p>
j据/code>,该软件使用据Code class="literal">Beta(:,据E.mClass="replaceable">
j据/code>)据/code>作为初始值,并且在它排序后据Code class="literal">λ据/code>按升序,使用据Code class="literal">Lambda(据E.mClass="replaceable">
j据/code>)据/code>作为正规化的力量。据/p>
单身的据/code>|据Code itemprop="datatype">双倍的据/code>
'偏见'据/code>-据span itemprop="purpose">初始拦截估计据/span>
数字标量据/span>|据span itemprop="inputvalue">数值向量据/span>
初始拦截估计(据E.mClass="varname">B.据/em>),指定为逗号分隔的配对组成据Code class="literal">'偏见'据/code>和一个数字标量或据E.mClass="varname">L.据/em>- 数值数字矢量。据E.mClass="varname">L.据/em>正则化强度值的数量(有关详细信息,请参阅据a href="#bu216n7_sep_shared-Lambda" class="intrnllnk"> 如果指定标量,则软件可优化目标函数据E.mClass="varname">L.据/em>使用此过程的时间。据/p>
该软件优化使用据Code class="literal">偏见据/code>的初始值和最小值据Code class="argument">λ据/code>作为正规化的力量。据/p> 使用产生的估计作为一个据a href="//www.tatmou.com/help/stats/fitrlinear.html" class="intrnllnk">温暖的开始据/a>到下一个优化迭代,并使用中下一个最小的值据Code class="literal">λ据/code>作为正规化的力量。据/p> 软件实现步骤2,直到它排出所有值据Code class="literal">λ据/code>.据/p> 如果您指定了一个据E.mClass="varname">L.据/em>- vimensional vector,然后软件优化目标函数据E.mClass="varname">L.据/em>次了。在迭代据E.mClass="replaceable"> 默认情况下:据/p>
如果据a href="#bu216n7-Learner" class="intrnllnk"> 如果据Code class="argument">学习者据/code>是据Code class="literal">“支持向量机”据/code>, 然后据Code class="literal">偏见据/code>的加权中值是多少据Code class="literal">y据/code>对于所有的训练,或者交叉验证,折叠观察大于据a href="#bu216n7-Epsilon" class="intrnllnk"> 数据类型:据/strong>λ据/code>)。据/p>
j据/code>,该软件使用据Code class="literal">偏差(据E.mClass="replaceable">
j据/code>)据/code>作为初始值,并且在它排序后据Code class="literal">λ据/code>按升序,使用据Code class="literal">Lambda(据E.mClass="replaceable">
j据/code>)据/code>作为正规化的力量。据/p>
学习者据/code>是据Code class="literal">'最不答案'据/code>, 然后据Code class="literal">偏见据/code>是加权平均值据Code class="literal">y据/code>用于训练或用于交叉验证,折叠响应。据/p>
埃斯利昂据/code>.据/p>
单身的据/code>|据Code itemprop="datatype">双倍的据/code>
'fitbias'据/code>-据span itemprop="purpose">线性模型拦截包含标志据/span>
真正的据/code>
(默认)|据span itemprop="inputvalue">错误的据/code>
线性模型拦截包含标志,指定为逗号分隔对组成据Code class="literal">'fitbias'据/code>和据Code class="literal">真正的据/code>或据Code class="literal">错误的据/code>.据/p>
价值据/th> | 描述据/th> |
---|---|
真正的据/code> |
该软件包括偏见术语据E.mClass="varname">B.据/em>在线性模型中,然后估计它。据/td> |
错误的据/code> |
软件集据E.mClass="varname">B.据/em>估计期间= 0。据/td> |
例子:据/strong>“FitBias”,假的据/code>
数据类型:据/strong>逻辑据/code>
“PostFitBias”据/code>-据span itemprop="purpose">标志拟合线性模型截距优化后据/span>
错误的据/code>
(默认)|据span itemprop="inputvalue">真正的据/code>
在优化后,以符合线性模型拦截的标志,指定为逗号分隔对据Code class="literal">“PostFitBias”据/code>和据Code class="literal">真正的据/code>或据Code class="literal">错误的据/code>.据/p>
价值据/th> | 描述据/th> |
---|---|
错误的据/code> |
软件估计偏差项据E.mClass="varname">B.据/em>和系数据E.mClass="varname">β据/em>在优化。据/td> |
真正的据/code> |
估计据E.mClass="varname">B.据/em>,软件:据/p>
|
如果您指定据Code class="literal">真正的据/code>, 然后据a href="#bu216n7_sep_shared-FitBias" class="intrnllnk"> 例子:据/strong> 数据类型:据/strong>Fitbias.据/code>必须是真实的。据/p>
'postfitbias',true据/code>
逻辑据/code>
'verbose'据/code>-据span itemprop="purpose">冗长的水平据/span>
0.据/code>
(默认)|据span itemprop="inputvalue">非负整数据/span>
详细级别,指定为逗号分隔对组成据Code class="literal">'verbose'据/code>和一个非负整数。据Code class="literal">详细的据/code>控制诊断信息的数量据Code class="function">Fitrinear.据/code>显示在命令行。据/p>
价值据/th> | 描述据/th> |
---|---|
0.据/code> |
Fitrinear.据/code>不显示诊断信息。据/td>
|
1据/code> |
Fitrinear.据/code>定期显示和存储目标函数值、梯度大小和其他诊断信息。据Code class="literal">FitInfo。历史据/code>包含诊断信息。据/td>
|
任何正整数据/td> | Fitrinear.据/code>在每次优化迭代时显示和存储诊断信息。据Code class="literal">FitInfo。历史据/code>包含诊断信息。据/td>
|
例子:据/strong>'verbose',1据/code>
数据类型:据/strong>双倍的据/code>|据Code itemprop="datatype">单身的据/code>
“BatchSize”据/code>-据span itemprop="purpose">Mini-batch大小据/span>
正整数据/span>
迷你批量大小,指定为逗号分隔对组成据Code class="literal">“BatchSize”据/code>一个正整数。在每次迭代时,软件估计子射程使用据Code class="literal">Batchsize.据/code>来自训练数据的观察。据/p>
如果据a href="#bu216n7_sep_shared-X" class="intrnllnk">X据/code>是一个数字矩阵,那么默认值是据Code class="literal">10.据/code>.据/p>
如果据Code class="argument">X据/code>是稀疏矩阵,那么默认值是据Code class="literal">马克斯([10日装天花板(sqrt (ff))))据/code>, 在哪里据Code class="literal">ff = numel(x)/ nnz(x)据/code>(据E.mClass="firstterm">丰满因素据/em>的据Code class="literal">X据/code>)。据/p>
例子:据/strong>'Batchsize',100据/code>
数据类型:据/strong>单身的据/code>|据Code itemprop="datatype">双倍的据/code>
“LearnRate”据/code>-据span itemprop="purpose">学习速率据/span>
积极的标量据/span>
学习率,指定为逗号分隔对组成据Code class="literal">“LearnRate”据/code>一个正标量。据Code class="literal">LearnRate据/code>指定每次迭代要执行多少步骤。在每次迭代中,梯度指定了每一步的方向和大小。据/p>
如果据a href="#bu216n7_sep_shared-Regularization" class="intrnllnk">
λ.据/em>是值的价值据a href="#bu216n7_sep_shared-Lambda" class="intrnllnk"> 如果据a href="#bu216n7-Solver" class="intrnllnk"> 如果据Code class="property">解算器据/code>是据Code class="literal">“asgd”据/code>:据/p>
C据/em>=据Code class="literal">2/3据/code>如果据a href="#bu216n7-Learner" class="intrnllnk"> C据/em>=据Code class="literal">3/4据/code>如果据Code class="argument">学习者据/code>是据Code class="literal">“支持向量机”据/code>[8]据/a>正则化据/code>是据Code class="literal">“岭”据/code>, 然后据Code class="literal">LearnRate据/code>指定初始学习率据E.mClass="varname">γ.据/em>0.据/sub>.软件决定迭代的学习速度据E.mClass="varname">T.据/em>那据E.mClass="varname">γ.据sub>T.据/sub>, 使用据/p>
λ据/code>.据/p>
解算器据/code>是据Code class="literal">'SGD'据/code>那据E.mClass="varname">C据/em>=据Code class="literal">1据/code>.据/p>
学习者据/code>是据Code class="literal">'最不答案'据/code>
如果据Code class="argument">正则化据/code>是据Code class="literal">“套索”据/code>然后,对于所有迭代,据Code class="literal">LearnRate据/code>是恒定的。据/p>
默认情况下,据Code class="literal">LearnRate据/code>是据Code class="literal">1 / sqrt(1 + max((sum(x. ^ 2,obsdim)))))))据/code>, 在哪里据Code class="literal">obsDim据/code>是据Code class="literal">1据/code>如果观察组成的列据Code class="literal">X据/code>,据Code class="literal">2据/code>除此以外。据/p>
例子:据/strong>'学习',0.01据/code>
数据类型:据/strong>单身的据/code>|据Code itemprop="datatype">双倍的据/code>
“OptimizeLearnRate”据/code>-据span itemprop="purpose">旗帜减少学习率据/span>
真正的据/code>
(默认)|据span itemprop="inputvalue">错误的据/code>
当软件检测到发散时(即逐步的最小值),指定为逗号分隔对时,标志据Code class="literal">“OptimizeLearnRate”据/code>和据Code class="literal">真正的据/code>或据Code class="literal">错误的据/code>.据/p>
如果据Code class="literal">OptimizeLearnRate据/code>是据Code class="literal">“真正的”据/code>,那么:据/p>
对于少数优化迭代,软件开始使用优化据a href="#bu216n7-LearnRate" class="intrnllnk">LearnRate据/code>作为学习率。据/p>
如果目标函数的值增加,则软件重新启动,并使用当前学习率值的一半。据/p>
软件迭代步骤2,直到目标函数减少。据/p>
例子:据/strong>'OptimizeLearnrate',真实据/code>
数据类型:据/strong>逻辑据/code>
'truncationperiod'据/code>-据span itemprop="purpose">套索截断运行之间的迷你批次数量据/span>
10.据/code>
(默认)|据span itemprop="inputvalue">正整数据/span>
套索截断之间的百分之批次数量,指定为逗号分隔的配对组成据Code class="literal">'truncationperiod'据/code>一个正整数。据/p>
经过截断运行后,软件对线性系数应用软阈值。即经过处理据E.mClass="varname">K.据/em>=据Code class="literal">TruncationPeriod.据/code>小批量,软件截断估计系数据E.mClass="varname">j据/em>使用据/p>
SGD,据span class="inlineequation">
是系数的估计据E.mClass="varname">j据/em>处理后据E.mClass="varname">K.据/em>mini-batches。据span class="inlineequation">
γ.据sub>T.据/sub>是迭代的学习率据E.mClass="varname">T.据/em>.据E.mClass="varname">λ.据/em>是值的价值据a href="#bu216n7_sep_shared-Lambda" class="intrnllnk">λ据/code>.据/p>
ASGD,据span class="inlineequation"> 平均值是估计系数吗据E.mClass="varname">j据/em>处理后据E.mClass="varname">K.据/em>mini-batches,据span class="inlineequation">
如果据a href="#bu216n7_sep_shared-Regularization" class="intrnllnk"> 例子:据/strong> 数据类型:据/strong>正则化据/code>是据Code class="literal">“岭”据/code>,然后软件忽略了据Code class="literal">TruncationPeriod.据/code>.据/p>
'truncationPeriod',100据/code>
单身的据/code>|据Code itemprop="datatype">双倍的据/code>
'pationoricalpricictors'据/code>-据span itemprop="purpose">分类预测器列表据/span>
正整数矢量据/span>|据span itemprop="inputvalue">逻辑矢量据/span>|据span itemprop="inputvalue">字符矩阵据/span>|据span itemprop="inputvalue">字符串数组据/span>|据span itemprop="inputvalue">字符向量的单元格阵列据/span>|据span itemprop="inputvalue">'全部'据/code>
分类预测器列表,指定为该表中的值之一。描述假设预测器数据在行中有观察值,在列中有预测值。据/p>
价值据/th> | 描述据/th> |
---|---|
正整数矢量据/td> | 向量中的每个条目是与包含分类变量的预测数据列对应的索引值。索引值在1之间据Code class="literal">P.据/code>, 在哪里据Code class="literal">P.据/code>为用于训练模型的预测器数量。据/p> 如果据Code class="function">Fitrinear.据/code>使用输入变量的子集作为预测器,然后函数仅使用该子集对预测器进行索引。的据Code class="argument">'pationoricalpricictors'据/code>值不计算响应变量,观察权重变量和功能不使用的任何其他变量。据/p> |
逻辑向量据/td> | 一种据Code class="literal">真正的据/code>条目意味着预测器数据的相应列是分类变量。矢量的长度是据Code class="literal">P.据/code>.据/p> |
字符矩阵据/td> | 矩阵的每一行是预测器变量的名称。名称必须与条目匹配据a href="#bu216n7_sep_shared-PredictorNames" class="intrnllnk">PredictorNames据/code>.用额外的空格填充名字,这样字符矩阵的每一行都有相同的长度。据/td>
|
字符向量的字符串数组或单元格数组据/td> | 数组中的每个元素是预测器变量的名称。名称必须与条目匹配据Code class="argument">PredictorNames据/code>.据/td> |
'全部'据/code> |
所有的预测都是绝对的。据/td> |
默认情况下,如果预测器数据在表中(据a href="#bu216n7_sep_shared-Tbl" class="intrnllnk"> 对于已识别的分类预测因子,据Code class="function">Fitrinear.据/code>使用两个不同的方案创建虚拟变量,具体取决于分类变量是否无序或有序。对于无序分类变量,据Code class="function">Fitrinear.据/code>为分类变量的每个级别创建一个虚拟变量。对于有序的分类变量,据Code class="function">Fitrinear.据/code>创建的虚拟变量比类别数量少一个。有关详细信息,请参见据a href="//www.tatmou.com/help/stats/dummy-indicator-variables.html" class="a">虚拟变量的自动创建据/a>.据/p>
例子:据/strong> 数据类型:据/strong>资源描述据/code>),据Code class="function">Fitrinear.据/code>假设变量是分类的,如果它是逻辑向量,分类向量,字符数组,字符串数组或字符向量的小区数组。如果预测器数据是矩阵(据a href="#bu216n7_sep_shared-X" class="intrnllnk">
X据/code>),据Code class="function">Fitrinear.据/code>假设所有预测器都是连续的。要将任何其他预测器标识为分类预测器,请使用据Code class="literal">'pationoricalpricictors'据/code>名称值参数。据/p>
“CategoricalPredictors”、“所有”据/code>
单身的据/code>|据Code itemprop="datatype">双倍的据/code>|据Code itemprop="datatype">逻辑据/code>|据Code itemprop="datatype">char据/code>|据Code itemprop="datatype">细绳据/code>|据Code itemprop="datatype">细胞据/code>
“PredictorNames”据/code>-据span itemprop="purpose">预测变量的名字据/span>
字符串唯一名称数组据/span>|据span itemprop="inputvalue">唯一字符向量的单元格数组据/span>
预测器变量名,指定为具有惟一名称的字符串数组或具有惟一字符向量的单元格数组。的功能据Code class="literal">“PredictorNames”据/code>取决于您提供培训数据的方式。据/p>
如果你提供据a href="#bu216n7_sep_shared-X" class="intrnllnk"> 名称的顺序据Code class="literal">PredictorNames据/code>必须与预测器的顺序一致吗据Code class="literal">X据/code>.假如说据Code class="literal">X据/code>具有默认方向,在列中的行和预测器中的观测,据Code class="literal">PredictorNames {1}据/code>是名称据Code class="literal">X (: 1)据/code>那据Code class="literal">predictornames {2}据/code>是名称据Code class="literal">X(:,2)据/code>, 等等。还,据Code class="literal">大小(X, 2)据/code>和据Code class="literal">元素个数(PredictorNames)据/code>必须是平等的。据/p> 默认情况下,据Code class="literal">PredictorNames据/code>是据Code class="literal">{'x1','x2',...}据/code>.据/p>X据/code>和据a href="#bu216n7_sep_shared-Y" class="intrnllnk">
y据/code>,然后你可以使用据Code class="literal">“PredictorNames”据/code>为中的预测变量指定名称据Code class="literal">X据/code>.据/p>
如果你提供据a href="#bu216n7_sep_shared-Tbl" class="intrnllnk"> 默认情况下,据Code class="literal">PredictorNames据/code>包含所有预测变量的名称。据/p> 一个好的实践是指定使用这两种方法进行训练的预测器据Code class="literal">“PredictorNames”据/code>或据a href="#bu216n7_sep_shared-formula" class="intrnllnk">资源描述据/code>,然后你可以使用据Code class="literal">“PredictorNames”据/code>选择用于培训的预测变量。那是,据Code class="function">Fitrinear.据/code>仅使用中的预测变量据Code class="literal">PredictorNames据/code>和训练期间的响应变量。据/p>
PredictorNames据/code>一定是?的子集据Code class="literal">Tbl.Properties.VariableNames据/code>并且不能包含响应变量的名称。据/p>
公式据/code>,但不是两者。据/p>
例子:据/strong>'predictornames',{sepallength','sepalwidth','petallength','petalwidth'}据/code>
数据类型:据/strong>细绳据/code>|据Code itemprop="datatype">细胞据/code>
“ResponseName”据/code>-据span itemprop="purpose">响应变量名据/span>
“Y”据/code>
(默认)|据span itemprop="inputvalue">字符向量据/span>|据span itemprop="inputvalue">字符串标量据/span>
响应变量名,指定为字符向量或字符串标量。据/p>
如果你提供据a href="#bu216n7_sep_shared-Y" class="intrnllnk">y据/code>,然后你可以使用据Code class="literal">“ResponseName”据/code>为响应变量指定名称。据/p>
如果你提供据a href="#bu216n7_sep_shared-ResponseVarName" class="intrnllnk">ResponseVarName据/code>或据a href="#bu216n7_sep_shared-formula" class="intrnllnk">
公式据/code>,然后你不能使用据Code class="literal">“ResponseName”据/code>.据/p>
例子:据/strong>“ResponseName”、“响应”据/code>
数据类型:据/strong>char据/code>|据Code itemprop="datatype">细绳据/code>
'OrkeTransform'据/code>-据span itemprop="purpose">响应转换据/span>
“没有”据/code>
(默认)|据span itemprop="inputvalue">功能手柄据/span>
响应转换,指定为据Code class="literal">“没有”据/code>或者函数句柄。默认值是据Code class="literal">“没有”据/code>, 意思是据Code class="literal">@ (y) y据/code>,或者不变换。对于MATLAB函数或您定义的函数,使用其函数句柄进行响应转换。函数句柄必须接受一个向量(原始响应值)并返回一个大小相同的向量(转换后的响应值)。据/p>
例子:据/strong>假设您可以使用函数句柄应用向输入向量应用指数变换据Code class="literal">myfunction = @(y)exp(y)据/code>.然后,您可以指定响应转换为据Code class="literal">'OrkeTransform',myfunction据/code>.据/p>
数据类型:据/strong>char据/code>|据Code itemprop="datatype">细绳据/code>|据Code itemprop="datatype">function_handle.据/code>
“重量”据/code>-据span itemprop="purpose">观察权重据/span>
正数值矢量据/span>|据span itemprop="inputvalue">变量名据Code class="literal">资源描述据/code>
观察权值,指定为逗号分隔的对,由据Code class="literal">“重量”据/code>和正数矢量或变量的名称据a href="#bu216n7_sep_shared-Tbl" class="intrnllnk"> 如果您将输入数据指定为表据Code class="argument">资源描述据/code>, 然后据Code class="argument">重量据/code>可以是变量的名称据Code class="argument">资源描述据/code>包含数字矢量。在这种情况下,您必须指定据Code class="argument">重量据/code>作为字符矢量或字符串标量。例如,如果权重矢量据Code class="literal">W.据/code>存储为据Code class="literal">TBL.W.据/code>,则指定为据Code class="literal">'W'据/code>.否则,软件将对所有列进行处理据Code class="argument">资源描述据/code>, 包含据Code class="literal">W.据/code>,作为训练模型时的预测器。据/p>
默认情况下,据Code class="argument">重量据/code>是据Code class="literal">那些(n,1)据/code>, 在哪里据Code class="literal">N据/code>观察的次数在吗据Code class="argument">X据/code>或据Code class="argument">资源描述据/code>.据/p>
数据类型:据/strong>资源描述据/code>.每个观察的软件重量据a href="#bu216n7_sep_shared-X" class="intrnllnk">
X据/code>或据Code class="argument">资源描述据/code>对应的值在据Code class="argument">重量据/code>.长度据Code class="argument">重量据/code>必须等于观察人数据Code class="argument">X据/code>或据Code class="argument">资源描述据/code>.据/p>
Fitrinear.据/code>将权重的总和归一。据/p>
单身的据/code>|据Code itemprop="datatype">双倍的据/code>|据Code itemprop="datatype">char据/code>|据Code itemprop="datatype">细绳据/code>
'横向'据/code>-据span itemprop="purpose">交叉验证标志据/span>
“关闭”据/code>
(默认)|据span itemprop="inputvalue">'在'据/code>
交叉验证标志,指定为逗号分隔对组成据Code class="literal">“Crossval”据/code>和据Code class="literal">'在'据/code>或据Code class="literal">“关闭”据/code>.据/p>
如果您指定据Code class="literal">'在'据/code>,然后软件实现10倍交叉验证。据/p>
要覆盖此交叉验证设置,请使用以下名称值对参数之一:据a href="#bu216n7_sep_shared-CVPartition" class="intrnllnk"> 例子:据/strong>CVPartition.据/code>那据a href="#bu216n7_sep_shared-Holdout" class="intrnllnk">
坚持据/code>, 或者据a href="#bu216n7_sep_shared-KFold" class="intrnllnk">
kfold.据/code>.要创建交叉验证的模型,您只能使用一个交叉验证名称值对参数。据/p>
'横向','开'据/code>
“CVPartition”据/code>-据span itemprop="purpose">交叉验证分区据/span>
[]据/code>
(默认)|据span itemprop="inputvalue">CVPartition.据/code>分区对象据/span>
交叉验证分区,指定为逗号分隔的对,由据Code class="literal">“CVPartition”据/code>和一个据Code class="literal">CVPartition.据/code>创建的分区对象据a href="//www.tatmou.com/help/stats/cvpartition.html"> 要创建一个交叉验证的模型,您只能使用以下四个选项中的一个:据Code class="literal">'据/code>CVPartition.据/code>.分区对象指定交叉验证的类型,以及培训和验证集的索引。据/p>
CVPartition.据/code>
'据/code>那据Code class="literal">'据/code>
坚持据/code>
'据/code>, 或者据Code class="literal">'据/code>
kfold.据/code>
'据/code>.据/p>
'坚持'据/code>-据span itemprop="purpose">用于抵抗验证的数据部分据/span>
标量值范围(0,1)据/span>
用于拒绝验证的数据的一部分,指定为逗号分隔对,由据Code class="literal">'坚持'据/code>和范围内的标量值(0,1)。如果您指定据Code class="literal">“坚持”,据E.mClass="replaceable">P.据/code>
,则软件:据/p>
随机储备据Code class="literal">P.据/code>
* 100据/code>%的数据作为验证数据,并使用其余的数据训练模型据/p>
存储紧凑型培训的模型据Code class="literal">训练有素据/code>交叉验证模型的性质。据/p>
要创建一个交叉验证的模型,您只能使用以下四个选项中的一个:据Code class="literal">'据/code> 例子:据/strong> 数据类型:据/strong>CVPartition.据/code>
'据/code>那据Code class="literal">'据/code>
坚持据/code>
'据/code>, 或者据Code class="literal">'据/code>
kfold.据/code>
'据/code>.据/p>
'持有',0.1据/code>
双倍的据/code>|据Code itemprop="datatype">单身的据/code>
'kfold'据/code>-据span itemprop="purpose">折叠数量据/span>
10.据/code>
(默认)|据span itemprop="inputvalue">大于1的正整数据/span>
要在交叉验证的分类器中使用的折叠数,指定为逗号分隔对,由据Code class="literal">'kfold'据/code>和一个大于1的正整数。如果你指定,例如:据Code class="literal">“KFold”,据E.mClass="varname">K.据/em>,则软件:据/p>
随机将数据分区据E.mClass="varname">K.据/em>套据/p>
对于每个设置,保留设置为验证数据,并使用另一个培训模型据span class="inlineequation">K.据/em>- 1据/span>套据/p>
存储据E.mClass="replaceable">K.据/code>紧凑,训练有素的模型在一个细胞中据E.mClass="replaceable">
K.据/code>- 1个细胞矢量据Code class="literal">训练有素据/code>交叉验证模型的性质。据/p>
要创建一个交叉验证的模型,您只能使用以下四个选项中的一个:据Code class="literal">'据/code> 例子:据/strong> 数据类型:据/strong>CVPartition.据/code>
'据/code>那据Code class="literal">'据/code>
坚持据/code>
'据/code>, 或者据Code class="literal">'据/code>
kfold.据/code>
'据/code>.据/p>
“KFold”,8据/code>
单身的据/code>|据Code itemprop="datatype">双倍的据/code>
“BatchLimit”据/code>-据span itemprop="purpose">最大批数据/span>
正整数据/span>
要处理的最大批数,指定为由逗号分隔的对组成据Code class="literal">“BatchLimit”据/code>一个正整数。当软件处理据Code class="argument">BatchLimit据/code>批量,它终止优化。据/p>
默认情况下:据/p>
软件通过数据据a href="#bu216n7-PassLimit" class="intrnllnk">PassLimit据/code>次了。据/p>
如果指定多个求解器,并且使用(a)sgd以获得下一个求解器的初始近似,则默认值是据Code class="literal">CEIL(1E6 / BATCHSIZE)据/code>.据Code class="literal">Batchsize.据/code>价值是多少据Code class="literal">'据/code>Batchsize.据/code>
'据/code>名称-值对的论点。据/p>
如果您指定据Code class="literal">“BatchLimit”据/code>和据Code class="literal">'据/code>PassLimit据/code>
'据/code>,然后软件选择能处理最少观察结果的论点。据/p>
如果您指定据Code class="literal">“BatchLimit”据/code>但不是据Code class="literal">“PassLimit”据/code>然后,软件处理足够的批次以完成一遍通过数据。据/p>
例子:据/strong>“BatchLimit”,100年据/code>
数据类型:据/strong>单身的据/code>|据Code itemprop="datatype">双倍的据/code>
'betatolerance'据/code>-据span itemprop="purpose">线性系数和偏置术语的相对容差据/span>
1E-4据/code>
(默认)|据span itemprop="inputvalue">负的标量据/span>
相对公差对线性系数和偏差项(截距),指定为逗号分隔对组成据Code class="literal">'betatolerance'据/code>一个非负标量。据/p>
让据span class="inlineequation"> ,即优化迭代时系数和偏差项的向量据E.mClass="varname">T.据/em>.如果据span class="inlineequation"> ,则优化终止。据/p>
中指定的最后一个求解器的软件收敛据a href="#bu216n7-Solver" class="intrnllnk"> 例子:据/strong> 数据类型:据/strong>解算器据/code>,则优化终止。否则,软件将使用中指定的下一个求解器据Code class="argument">解算器据/code>.据/p>
'betatolerance',1e-6据/code>
单身的据/code>|据Code itemprop="datatype">双倍的据/code>
“NumCheckConvergence”据/code>-据span itemprop="purpose">在下一次收敛之前处理的批次数量据/span>
正整数据/span>
在下一个收敛检查之前处理的批次数量,指定为包括的逗号分隔对据Code class="literal">“NumCheckConvergence”据/code>一个正整数。据/p>
要指定批大小,请参见据a href="#bu216n7_sep_shared-BatchSize" class="intrnllnk"> 默认情况下,软件每次通过整个数据集检查10次收敛。据/p>
例子:据/strong> 数据类型:据/strong>Batchsize.据/code>.据/p>
'numcheckconvergence',100据/code>
单身的据/code>|据Code itemprop="datatype">双倍的据/code>
“PassLimit”据/code>-据span itemprop="purpose">最大的通过据/span>
1据/code>
(默认)|据span itemprop="inputvalue">正整数据/span>
通过数据的最大数量通过数据,指定为逗号分隔对据Code class="literal">“PassLimit”据/code>一个正整数。据/p>
当据Code class="function">Fitrinear.据/code>通过数据据Code class="argument">PassLimit据/code>时间,它终止了优化。据/p>
如果您指定据Code class="literal">'据/code> 例子:据/strong> 数据类型:据/strong>Fitrinear.据/code>在完成一个通过数据时处理所有观察。据/p>
BatchLimit据/code>
'据/code>和据Code class="literal">PassLimit据/code>, 然后据Code class="function">Fitrinear.据/code>选择导致处理最少观察的论点。有关更多详细信息,请参阅据a href="//www.tatmou.com/help/stats/fitrlinear.html" class="intrnllnk">算法据/a>.据/p>
'passlimit',5据/code>
单身的据/code>|据Code itemprop="datatype">双倍的据/code>
“ValidationData”据/code>-据span itemprop="purpose">优化收敛检测的验证数据据/span>
单元阵列据/span>|据span itemprop="inputvalue">表格据/span>
优化收敛检测的验证数据,指定为逗号分隔对组成据Code class="literal">“ValidationData”据/code>和一个单元格阵列或表格。据/p>
在优化期间,软件定期估计损失据Code class="argument">验证数据据/code>.如果验证数据丢失增加,则软件终止优化。有关更多详细信息,请参阅据a href="//www.tatmou.com/help/stats/fitrlinear.html" class="intrnllnk">算法据/a>.使用交叉验证优化HyperParameters,请参阅跨验证选项,例如据a href="#bu216n7_sep_shared-CrossVal" class="intrnllnk"> 您可以指定据Code class="argument">验证数据据/code>如果你用表格的话据a href="#bu216n7_sep_shared-Tbl" class="intrnllnk"> 如果您指定据Code class="argument">验证数据据/code>作为单元格数组,那么它必须具有以下格式:据/p>
您可以选择指定据Code class="literal">ValidationData {3}据/code>作为A.据E.mClass="varname">m据/em>- 尺寸的数字矢量的观察权重或表中变量的名称据Code class="literal">ValidationData {1}据/code>它包含观测权值。软件将验证数据的权重归一化,使其和为1。据/p> 如果您指定据Code class="literal">验证数据据/code>并且希望在命令行显示验证丢失,请指定大于0的值据a href="#bu216n7_sep_shared-Verbose" class="intrnllnk"> 中指定的最后一个求解器的软件收敛据a href="#bu216n7-Solver" class="intrnllnk"> 默认情况下,该软件不会通过监视验证数据丢失来检测收敛。据/p>
横梁据/code>.据/p>
资源描述据/code>包含响应变量的预测数据。在这种情况下,据Code class="argument">验证数据据/code>必须包含相同的预测器和响应据Code class="argument">资源描述据/code>.软件不会对观察结果进行加权,即使据Code class="argument">资源描述据/code>包含重量的矢量。要指定权重,您必须指定据Code class="argument">验证数据据/code>作为单元格数组。据/p>
ValidationData {1}据/code>必须具有与预测器数据相同的数据类型和方向。也就是说,如果使用预测矩阵据a href="#bu216n7_sep_shared-X" class="intrnllnk">
X据/code>, 然后据Code class="literal">ValidationData {1}据/code>必须是一个据E.mClass="varname">m据/em>-经过-据E.mClass="varname">P.据/em>或据E.mClass="varname">P.据/em>-经过-据E.mClass="varname">m据/em>具有相同方向的预测数据的全矩阵或稀疏矩阵据Code class="argument">X据/code>.培训数据中的预测变量据Code class="literal">X据/code>和据Code class="literal">ValidationData {1}据/code>必须对应。同样,如果您使用预测的表据Code class="argument">资源描述据/code>预测数据据Code class="literal">ValidationData {1}据/code>必须是一个表包含相同的预测变量包含在据Code class="argument">资源描述据/code>.观察次数据Code class="literal">ValidationData {1}据/code>并且预测器数据可以变化。据/p>
ValidationData {2}据/code>必须匹配响应变量的数据类型和格式吗据a href="#bu216n7_sep_shared-Y" class="intrnllnk">
y据/code>或据a href="#bu216n7_sep_shared-ResponseVarName" class="intrnllnk">
ResponseVarName据/code>.如果据Code class="literal">ValidationData {2}据/code>是一个响应数组,那么它必须有相同的元素数量的观察据Code class="literal">ValidationData {1}据/code>.如果据Code class="literal">ValidationData {1}据/code>那么,是一张桌子吗据Code class="literal">ValidationData {2}据/code>可以是表中响应变量的名称。如果你想用同样的据Code class="argument">ResponseVarName据/code>或据a href="#bu216n7_sep_shared-formula" class="intrnllnk">
公式据/code>,你可以指定据Code class="literal">ValidationData {2}据/code>作为据Code class="literal">[]据/code>.据/p>
详细的据/code>.据/p>
解算器据/code>,则优化终止。否则,软件将使用中指定的下一个求解器据Code class="argument">解算器据/code>.据/p>
“GradientTolerance”据/code>-据span itemprop="purpose">绝对梯度容差据/span>
1E-6据/code>
(默认)|据span itemprop="inputvalue">负的标量据/span>
绝对梯度容差,指定为逗号分隔的配对组成据Code class="literal">“GradientTolerance”据/code>一个非负标量。据Code class="literal">梯度特拉据/code>适用于这些值据a href="#bu216n7-Solver" class="intrnllnk"> 让据span class="inlineequation">
为优化迭代时目标函数相对于系数和偏差项的梯度向量据E.mClass="varname">T.据/em>.如果据span class="inlineequation">
,则优化终止。据/p>
如果你也指定据a href="#bu216n7_sep_shared-sgdBetaTolerance" class="intrnllnk"> 如果据Code class="function">Fitrinear.据/code>中的最后一个求解器收敛据Code class="argument">解算器据/code>,则优化终止。除此以外,据Code class="function">Fitrinear.据/code>使用指定的下一个解算程序据Code class="argument">解算器据/code>.据/p>
例子:据/strong> 数据类型:据/strong>解算器据/code>:据Code class="literal">'bfgs'据/code>那据Code class="literal">'lbfgs'据/code>,据Code class="literal">'sparsa'据/code>.据/p>
betaTolerance.据/code>,然后优化终止时据Code class="function">Fitrinear.据/code>满足阻止标准。据/p>
'gradienttolerance',eps据/code>
单身的据/code>|据Code itemprop="datatype">双倍的据/code>
'iterationlimit'据/code>-据span itemprop="purpose">最大数量的优化迭代据/span>
1000据/code>
(默认)|据span itemprop="inputvalue">正整数据/span>
最大数量的优化迭代,指定为逗号分隔对据Code class="literal">'iterationlimit'据/code>一个正整数。据Code class="literal">iterationlimit.据/code>适用于这些值据a href="#bu216n7-Solver" class="intrnllnk"> 例子:据/strong> 数据类型:据/strong>解算器据/code>:据Code class="literal">'bfgs'据/code>那据Code class="literal">'lbfgs'据/code>,据Code class="literal">'sparsa'据/code>.据/p>
'iterationlimit',1E7据/code>
单身的据/code>|据Code itemprop="datatype">双倍的据/code>
'betatolerance'据/code>-据span itemprop="purpose">线性系数和偏置术语的相对容差据/span>
1E-4据/code>
(默认)|据span itemprop="inputvalue">负的标量据/span>
相对公差对线性系数和偏差项(截距),指定为逗号分隔对组成据Code class="literal">'betatolerance'据/code>一个非负标量。据/p>
让据span class="inlineequation"> ,即优化迭代时系数和偏差项的向量据E.mClass="varname">T.据/em>.如果据span class="inlineequation"> ,则优化终止。据/p>
如果你也指定据a href="#bu216n7-DeltaGradientTolerance" class="intrnllnk"> 中指定的最后一个求解器的软件收敛据a href="#bu216n7-Solver" class="intrnllnk"> 例子:据/strong> 数据类型:据/strong>DeltaGradientTolerance据/code>然后,当软件满足停止标准时,优化终止。据/p>
解算器据/code>,则优化终止。否则,软件将使用中指定的下一个求解器据Code class="argument">解算器据/code>.据/p>
'betatolerance',1e-6据/code>
单身的据/code>|据Code itemprop="datatype">双倍的据/code>
'deltagradienttolerance'据/code>-据span itemprop="purpose">梯度差分耐受性据/span>
0.1据/code>
(默认)|据span itemprop="inputvalue">负的标量据/span>
上部和下部池之间的梯度差分容差据a href="//www.tatmou.com/help/stats/fitcsvm.html" class="a">Karush-Kuhn-Tucker(KKT)互补条件据/a>违规者,指定为逗号分隔对组成据Code class="literal">'deltagradienttolerance'据/code>一个非负标量。据Code class="literal">DeltaGradientTolerance据/code>适用于据Code class="literal">'双'据/code>的价值据a href="#bu216n7-Solver" class="intrnllnk"> 如果KKT违反者的大小小于据Code class="literal">DeltaGradientTolerance据/code>, 然后据Code class="function">Fitrinear.据/code>终止优化。据/p> 如果据Code class="function">Fitrinear.据/code>中的最后一个求解器收敛据Code class="argument">解算器据/code>,则优化终止。除此以外,据Code class="function">Fitrinear.据/code>使用指定的下一个解算程序据Code class="argument">解算器据/code>.据/p> 例子:据/strong> 数据类型:据/strong>解算器据/code>只要。据/p>
依照“DeltaGapTolerance”,1据/code>
双倍的据/code>|据Code itemprop="datatype">单身的据/code>
“NumCheckConvergence”据/code>-据span itemprop="purpose">在下一次收敛检查之前,经过整个数据集处理的次数据/span>
5.据/code>
(默认)|据span itemprop="inputvalue">正整数据/span>
通过整个数据集的传递数量在下一次收敛检查之前进行处理,指定为包括的逗号分隔对据Code class="literal">“NumCheckConvergence”据/code>一个正整数。据/p>
例子:据/strong>'numcheckconvergence',100据/code>
数据类型:据/strong>单身的据/code>|据Code itemprop="datatype">双倍的据/code>
“PassLimit”据/code>-据span itemprop="purpose">最大的通过据/span>
10.据/code>
(默认)|据span itemprop="inputvalue">正整数据/span>
通过数据的最大数量通过数据,指定为逗号分隔对据Code class="literal">“PassLimit”据/code>一个正整数。据/p>
当软件完成一个通过数据时,它处理了所有观察。据/p>
当软件通过数据时据Code class="argument">PassLimit据/code>时间,它终止了优化。据/p>
例子:据/strong>'passlimit',5据/code>
数据类型:据/strong>单身的据/code>|据Code itemprop="datatype">双倍的据/code>
“ValidationData”据/code>-据span itemprop="purpose">优化收敛检测的验证数据据/span>
单元阵列据/span>|据span itemprop="inputvalue">表格据/span>
优化收敛检测的验证数据,指定为逗号分隔对组成据Code class="literal">“ValidationData”据/code>和一个单元格阵列或表格。据/p>
在优化期间,软件定期估计损失据Code class="argument">验证数据据/code>.如果验证数据丢失增加,则软件终止优化。有关更多详细信息,请参阅据a href="//www.tatmou.com/help/stats/fitrlinear.html" class="intrnllnk">算法据/a>.使用交叉验证优化HyperParameters,请参阅跨验证选项,例如据a href="#bu216n7_sep_shared-CrossVal" class="intrnllnk"> 您可以指定据Code class="argument">验证数据据/code>如果你用表格的话据a href="#bu216n7_sep_shared-Tbl" class="intrnllnk"> 如果您指定据Code class="argument">验证数据据/code>作为单元格数组,那么它必须具有以下格式:据/p>
您可以选择指定据Code class="literal">ValidationData {3}据/code>作为A.据E.mClass="varname">m据/em>- 尺寸的数字矢量的观察权重或表中变量的名称据Code class="literal">ValidationData {1}据/code>它包含观测权值。软件将验证数据的权重归一化,使其和为1。据/p> 如果您指定据Code class="literal">验证数据据/code>并且希望在命令行显示验证丢失,请指定大于0的值据a href="#bu216n7_sep_shared-Verbose" class="intrnllnk"> 中指定的最后一个求解器的软件收敛据a href="#bu216n7-Solver" class="intrnllnk"> 默认情况下,该软件不会通过监视验证数据丢失来检测收敛。据/p>
横梁据/code>.据/p>
资源描述据/code>包含响应变量的预测数据。在这种情况下,据Code class="argument">验证数据据/code>必须包含相同的预测器和响应据Code class="argument">资源描述据/code>.软件不会对观察结果进行加权,即使据Code class="argument">资源描述据/code>包含重量的矢量。要指定权重,您必须指定据Code class="argument">验证数据据/code>作为单元格数组。据/p>
ValidationData {1}据/code>必须具有与预测器数据相同的数据类型和方向。也就是说,如果使用预测矩阵据a href="#bu216n7_sep_shared-X" class="intrnllnk">
X据/code>, 然后据Code class="literal">ValidationData {1}据/code>必须是一个据E.mClass="varname">m据/em>-经过-据E.mClass="varname">P.据/em>或据E.mClass="varname">P.据/em>-经过-据E.mClass="varname">m据/em>具有相同方向的预测数据的全矩阵或稀疏矩阵据Code class="argument">X据/code>.培训数据中的预测变量据Code class="literal">X据/code>和据Code class="literal">ValidationData {1}据/code>必须对应。同样,如果您使用预测的表据Code class="argument">资源描述据/code>预测数据据Code class="literal">ValidationData {1}据/code>必须是一个表包含相同的预测变量包含在据Code class="argument">资源描述据/code>.观察次数据Code class="literal">ValidationData {1}据/code>并且预测器数据可以变化。据/p>
ValidationData {2}据/code>必须匹配响应变量的数据类型和格式吗据a href="#bu216n7_sep_shared-Y" class="intrnllnk">
y据/code>或据a href="#bu216n7_sep_shared-ResponseVarName" class="intrnllnk">
ResponseVarName据/code>.如果据Code class="literal">ValidationData {2}据/code>是一个响应数组,那么它必须有相同的元素数量的观察据Code class="literal">ValidationData {1}据/code>.如果据Code class="literal">ValidationData {1}据/code>那么,是一张桌子吗据Code class="literal">ValidationData {2}据/code>可以是表中响应变量的名称。如果你想用同样的据Code class="argument">ResponseVarName据/code>或据a href="#bu216n7_sep_shared-formula" class="intrnllnk">
公式据/code>,你可以指定据Code class="literal">ValidationData {2}据/code>作为据Code class="literal">[]据/code>.据/p>
详细的据/code>.据/p>
解算器据/code>,则优化终止。否则,软件将使用中指定的下一个求解器据Code class="argument">解算器据/code>.据/p>
'betatolerance'据/code>-据span itemprop="purpose">线性系数和偏置术语的相对容差据/span>
1E-4据/code>
(默认)|据span itemprop="inputvalue">负的标量据/span>
相对公差对线性系数和偏差项(截距),指定为逗号分隔对组成据Code class="literal">'betatolerance'据/code>一个非负标量。据/p>
让据span class="inlineequation"> ,即优化迭代时系数和偏差项的向量据E.mClass="varname">T.据/em>.如果据span class="inlineequation"> ,则优化终止。据/p>
如果你也指定据a href="#bu216n7-GradientTolerance" class="intrnllnk"> 中指定的最后一个求解器的软件收敛据a href="#bu216n7-Solver" class="intrnllnk"> 例子:据/strong> 数据类型:据/strong>梯度特拉据/code>然后,当软件满足停止标准时,优化终止。据/p>
解算器据/code>,则优化终止。否则,软件将使用中指定的下一个求解器据Code class="argument">解算器据/code>.据/p>
'betatolerance',1e-6据/code>
单身的据/code>|据Code itemprop="datatype">双倍的据/code>
“GradientTolerance”据/code>-据span itemprop="purpose">绝对梯度容差据/span>
1E-6据/code>
(默认)|据span itemprop="inputvalue">负的标量据/span>
绝对梯度容差,指定为逗号分隔的配对组成据Code class="literal">“GradientTolerance”据/code>一个非负标量。据/p>
让据span class="inlineequation"> 为优化迭代时目标函数相对于系数和偏差项的梯度向量据E.mClass="varname">T.据/em>.如果据span class="inlineequation"> ,则优化终止。据/p>
如果你也指定据a href="#bu216n7_sep_shared-sgdBetaTolerance" class="intrnllnk"> 如果软件收敛到软件中指定的最后一个求解器,则优化终止。否则,软件将使用中指定的下一个求解器据a href="#bu216n7-Solver" class="intrnllnk"> 例子:据/strong> 数据类型:据/strong>betaTolerance.据/code>然后,当软件满足停止标准时,优化终止。据/p>
解算器据/code>.据/p>
'gradienttolerance',1e-5据/code>
单身的据/code>|据Code itemprop="datatype">双倍的据/code>
“HessianHistorySize”据/code>-据span itemprop="purpose">Hessian近似的历史缓冲区的大小据/span>
15.据/code>
(默认)|据span itemprop="inputvalue">正整数据/span>
Hessian近似的历史缓冲区的大小,指定为逗号分隔对组成据Code class="literal">“HessianHistorySize”据/code>一个正整数。也就是说,在每次迭代时,软件使用最新的统计数据组成Hessian据Code class="literal">Hessianhistorysize.据/code>迭代。据/p>
软件不支持金宝app据Code class="literal">“HessianHistorySize”据/code>SpaRSA。据/p>
例子:据/strong>'Hessianhistorysize',10据/code>
数据类型:据/strong>单身的据/code>|据Code itemprop="datatype">双倍的据/code>
'iterationlimit'据/code>-据span itemprop="purpose">最大数量的优化迭代据/span>
1000据/code>
(默认)|据span itemprop="inputvalue">正整数据/span>
最大数量的优化迭代,指定为逗号分隔对据Code class="literal">'iterationlimit'据/code>一个正整数。据Code class="literal">iterationlimit.据/code>适用于这些值据a href="#bu216n7-Solver" class="intrnllnk"> 例子:据/strong> 数据类型:据/strong>解算器据/code>:据Code class="literal">'bfgs'据/code>那据Code class="literal">'lbfgs'据/code>,据Code class="literal">'sparsa'据/code>.据/p>
“IterationLimit”,500年据/code>
单身的据/code>|据Code itemprop="datatype">双倍的据/code>
“ValidationData”据/code>-据span itemprop="purpose">优化收敛检测的验证数据据/span>
单元阵列据/span>|据span itemprop="inputvalue">表格据/span>
优化收敛检测的验证数据,指定为逗号分隔对组成据Code class="literal">“ValidationData”据/code>和一个单元格阵列或表格。据/p>
在优化期间,软件定期估计损失据Code class="argument">验证数据据/code>.如果验证数据丢失增加,则软件终止优化。有关更多详细信息,请参阅据a href="//www.tatmou.com/help/stats/fitrlinear.html" class="intrnllnk">算法据/a>.使用交叉验证优化HyperParameters,请参阅跨验证选项,例如据a href="#bu216n7_sep_shared-CrossVal" class="intrnllnk"> 您可以指定据Code class="argument">验证数据据/code>如果你用表格的话据a href="#bu216n7_sep_shared-Tbl" class="intrnllnk"> 如果您指定据Code class="argument">验证数据据/code>作为单元格数组,那么它必须具有以下格式:据/p>
您可以选择指定据Code class="literal">ValidationData {3}据/code>作为A.据E.mClass="varname">m据/em>- 尺寸的数字矢量的观察权重或表中变量的名称据Code class="literal">ValidationData {1}据/code>它包含观测权值。软件将验证数据的权重归一化,使其和为1。据/p> 如果您指定据Code class="literal">验证数据据/code>并且希望在命令行显示验证丢失,请指定大于0的值据a href="#bu216n7_sep_shared-Verbose" class="intrnllnk"> 中指定的最后一个求解器的软件收敛据a href="#bu216n7-Solver" class="intrnllnk"> 默认情况下,该软件不会通过监视验证数据丢失来检测收敛。据/p>
横梁据/code>.据/p>
资源描述据/code>包含响应变量的预测数据。在这种情况下,据Code class="argument">验证数据据/code>必须包含相同的预测器和响应据Code class="argument">资源描述据/code>.软件不会对观察结果进行加权,即使据Code class="argument">资源描述据/code>包含重量的矢量。要指定权重,您必须指定据Code class="argument">验证数据据/code>作为单元格数组。据/p>
ValidationData {1}据/code>必须具有与预测器数据相同的数据类型和方向。也就是说,如果使用预测矩阵据a href="#bu216n7_sep_shared-X" class="intrnllnk">
X据/code>, 然后据Code class="literal">ValidationData {1}据/code>必须是一个据E.mClass="varname">m据/em>-经过-据E.mClass="varname">P.据/em>或据E.mClass="varname">P.据/em>-经过-据E.mClass="varname">m据/em>具有相同方向的预测数据的全矩阵或稀疏矩阵据Code class="argument">X据/code>.培训数据中的预测变量据Code class="literal">X据/code>和据Code class="literal">ValidationData {1}据/code>必须对应。同样,如果您使用预测的表据Code class="argument">资源描述据/code>预测数据据Code class="literal">ValidationData {1}据/code>必须是一个表包含相同的预测变量包含在据Code class="argument">资源描述据/code>.观察次数据Code class="literal">ValidationData {1}据/code>并且预测器数据可以变化。据/p>
ValidationData {2}据/code>必须匹配响应变量的数据类型和格式吗据a href="#bu216n7_sep_shared-Y" class="intrnllnk">
y据/code>或据a href="#bu216n7_sep_shared-ResponseVarName" class="intrnllnk">
ResponseVarName据/code>.如果据Code class="literal">ValidationData {2}据/code>是一个响应数组,那么它必须有相同的元素数量的观察据Code class="literal">ValidationData {1}据/code>.如果据Code class="literal">ValidationData {1}据/code>那么,是一张桌子吗据Code class="literal">ValidationData {2}据/code>可以是表中响应变量的名称。如果你想用同样的据Code class="argument">ResponseVarName据/code>或据a href="#bu216n7_sep_shared-formula" class="intrnllnk">
公式据/code>,你可以指定据Code class="literal">ValidationData {2}据/code>作为据Code class="literal">[]据/code>.据/p>
详细的据/code>.据/p>
解算器据/code>,则优化终止。否则,软件将使用中指定的下一个求解器据Code class="argument">解算器据/code>.据/p>
'OptimizeHyperParameters'据/code>-据span itemprop="purpose">优化的参数据/span>
“没有”据/code>
(默认)|据span itemprop="inputvalue">'汽车'据/code>
|据span itemprop="inputvalue">'全部'据/code>
|据span itemprop="inputvalue">符合条件的参数名称的字符串数组或单元格数组据/span>|据span itemprop="inputvalue">向量的据Code class="literal">优化的不变性据/code>对象据/span>
优化的参数,指定为逗号分隔对组成据Code class="literal">'OptimizeHyperParameters'据/code>和以下之一:据/p>
“没有”据/code>-不要优化。据/p>
'汽车'据/code>- 用据Code class="literal">{“λ”、“学习者”}据/code>.据/p>
'全部'据/code>- 优化所有符合条件的参数。据/p>
字符串数组或符合条件参数名称的单元数组。据/p>
向量的据Code class="literal">优化的不变性据/code>对象,通常是输出据a href="//www.tatmou.com/help/stats/hyperparameters.html">hyperparameters据/code>.据/p>
优化尝试最小化交叉验证丢失(错误)据Code class="function">Fitrinear.据/code>通过改变参数。要控制交叉验证类型和优化的其他方面,请使用据a href="#bu216n7_sep_shared-HyperparameterOptimizationOptions" class="intrnllnk"> 请注意据/strong> 符合条件的参数据Code class="function">Fitrinear.据/code>是:据/p>
通过传递的向量来设置非默认参数据Code class="literal">优化的不变性据/code>具有非默认值的对象。例如,据/p>
经过据Code class="literal">参数据/code>作为价值据Code class="literal">OptimizeHyperparameters据/code>.据/p>
默认情况下,在命令行出现迭代显示,并根据优化中超参数的数量出现绘图。对于优化和绘图,目标函数为据span class="inlineequation">Log(1 +交叉验证损失)据/span>为回归和误分类率为分类。若要控制迭代显示,请设置据Code class="literal">详细的据/code>场面的领域据Code class="argument">'hyperparameteroptimizationOptions'据/code>名称-值对的论点。要控制情节,设置据Code class="literal">ShowPlots据/code>场面的领域据Code class="argument">'hyperparameteroptimizationOptions'据/code>名称-值对的论点。据/p>
例如,请参见据a href="//www.tatmou.com/help/stats/fitrlinear.html" class="intrnllnk">优化线性回归据/a>.据/p>
例子:据/strong>HyperparameterOptimizationOptions据/code>名称值对。据/p>
'OptimizeHyperParameters'据/code>值覆盖使用其他名称值对参数设置的任何值。例如,设置据Code class="literal">'OptimizeHyperParameters'据/code>到据Code class="literal">'汽车'据/code>导致据Code class="literal">'汽车'据/code>值应用。据/p>
λ据/code>
-据Code class="function">Fitrinear.据/code>在正值中搜索,默认在范围内按对数缩放据Code class="literal">[1 e-5 / NumObservations 1 e5 / NumObservations]据/code>.据/p>学习者据/code>
-据Code class="function">Fitrinear.据/code>搜索据Code class="literal">“支持向量机”据/code>和据Code class="literal">'最不答案'据/code>.据/p>正则化据/code>
-据Code class="function">Fitrinear.据/code>搜索据Code class="literal">“岭”据/code>和据Code class="literal">“套索”据/code>.据/p>加载据span style="color:#A020F0">carsmall据/span>params = hyperparameters (据span style="color:#A020F0">'fitrinear'据/span>(功率、重量),MPG);参数(1)。范围= [1 e - 3, 2 e4];据/pre>
'OptimizeHyperParameters','auto'据/code>
'hyperparameteroptimizationOptions'据/code>-据span itemprop="purpose">选择优化据/span>
结构据/span>
用于优化的选项,指定为逗号分隔的对,由据Code class="literal">'hyperparameteroptimizationOptions'据/code>和一个结构。此论点修改了效果据a href="#bu216n7-OptimizeHyperparameters" class="intrnllnk"> 获取函数的名称包括据Code class="literal">每秒据/code>不会产生可重复的结果,因为优化依赖于目标函数的运行时间。获取函数的名称包括据Code class="literal">+据/code>当它们过度开放区域时修改其行为。有关更多详细信息,请参阅据a href="//www.tatmou.com/help/stats/bayesian-optimization-algorithm.html" class="a">采集函数类型据/a>.据/p> 时间限制,指定为正面真实。时间限制是以秒为单位的据a href="//www.tatmou.com/help/matlab/ref/tic.html"> 显示到命令行。据/p>
具体操作请参见据Code class="function">Bayesopt.据/code> 指示是否在每次迭代时重新划分交叉验证的逻辑值。如果据Code class="literal">错误的据/code>,优化器使用单个分区进行优化。据/p> 例子:据/strong> 数据类型:据/strong>OptimizeHyperparameters据/code>名称-值对的论点。结构中的所有字段都是可选的。据/p>
字段名称据/th>
值据/th>
默认的据/th>
优化器据/code>
“bayesopt”据/code>- 使用贝叶斯优化。内部,此设置呼叫据a href="//www.tatmou.com/help/stats/bayesopt.html">
Bayesopt.据/code>.据/p>
'gridsearch'据/code>-使用网格搜索据Code class="literal">numgriddivisiving.据/code>每个维度的值。据/p>
'randomsearch'据/code>- 随机搜索据Code class="literal">MaxObjectiveEvaluations据/code>点。据/p>
'gridsearch'据/code>以随机顺序搜索,使用均匀抽样而不从网格中替换。优化之后,您可以使用该命令获得一个按网格顺序排列的表据Code class="literal">sortrows (Mdl.HyperparameterOptimizationResults)据/code>.据/p>
“bayesopt”据/code>
收集功能名称据/code>
“expected-improvement-per-second-plus”据/code>
“expected-improvement”据/code>
'预期改善加'据/code>
“expected-improvement-per-second”据/code>
“较低的信任”据/code>
'改善概率'据/code>
“expected-improvement-per-second-plus”据/code>
MaxObjectiveEvaluations据/code>
最大客观函数评估数。据/td>
30.据/code>为了据Code class="literal">“bayesopt”据/code>或据Code class="literal">'randomsearch'据/code>,以及整个网格据Code class="literal">'gridsearch'据/code>
MaxTime据/code>
Tic.据/code>和据a href="//www.tatmou.com/help/matlab/ref/toc.html">
toc据/code>.运行时间可能超过据Code class="literal">MaxTime据/code>因为据Code class="literal">MaxTime据/code>不中断函数计算。据/p>
正据/code>
numgriddivisiving.据/code>
为了据Code class="literal">'gridsearch'据/code>,每个维度中的值数。该值可以是正整数的向量,其提供每个维度的值数,或者适用于所有维度的标量。对于分类变量,忽略此字段。据/td>
10.据/code>
ShowPlots据/code>
指示是否显示绘图的逻辑值。如果据Code class="literal">真正的据/code>,该域根据迭代次数绘制出最佳目标函数值。如果有一个或两个优化参数,如果据Code class="literal">优化器据/code>是据Code class="literal">“bayesopt”据/code>, 然后据Code class="literal">ShowPlots据/code>还绘制了对参数的目标函数的模型。据/td>
真正的据/code>
SaveIntermediateResults据/code>
指示是否保存结果的逻辑值据Code class="literal">优化器据/code>是据Code class="literal">“bayesopt”据/code>.如果据Code class="literal">真正的据/code>,此字段将覆盖名为据Code class="literal">“BayesoptResults”据/code>在每次迭代。变量是一个据a href="//www.tatmou.com/help/stats/bayesianoptimization.html"> BayesianOptimization据/code>对象。据/td>
错误的据/code>
详细的据/code>
0.据/code>-没有迭代显示据/p>
1据/code>- 迭代显示据/p>
2据/code>- 迭代显示额外信息据/p>
详细的据/code>
名称-值对的论点。据/p>1据/code>
使用指α.据/code>
逻辑值,指示是否并行运行Bayesian Optimization,这需要并行计算工具箱™。由于并行时序的不可递容性,并行贝叶斯优化不一定会产生可重复的结果。有关详细信息,请参见据a href="//www.tatmou.com/help/stats/parallel_bayesian_optimization.html" class="a">并行贝叶斯优化据/a>.据/td>
错误的据/code>
重新开始据/code>
真正的据/code>通常给出最强大的结果,因为此设置考虑了划分的噪声。但是,为了好的结果,据Code class="literal">真正的据/code>需要至少两倍的函数评估。据/p>
错误的据/code>
不超过以下三个字段名称中的一个。据/td>
CVPartition.据/code>
一种据Code class="literal">CVPartition.据/code>对象,由创建的据a href="//www.tatmou.com/help/stats/cvpartition.html"> CVPartition.据/code>.据/td>
“Kfold”,5据/code>如果您未指定任何交叉验证字段据/td>
坚持据/code>
范围内的标量据Code class="literal">(0,1)据/code>代表熔断部分。据/td>
kfold.据/code>
整数大于1。据/td>
“HyperparameterOptimizationOptions”、结构(MaxObjectiveEvaluations, 60)据/code>
结构体据/code>
Mdl据/code>- 培训的线性回归模型据B.r>RegressionLinear据/code>模型对象|据Code class="literal">RegressionPartitionedLinear据/code>交叉验证的模型对象据/span>
训练过的线性回归模型,返回为据a href="//www.tatmou.com/help/stats/regressionlinear-class.html"> 如果设置任何名称值对参数据a href="#bu216n7_sep_shared-KFold" class="intrnllnk"> 引用据Code class="literal">Mdl据/code>,使用点符号。例如,输入据Code class="literal">Mdl。β据/code>在命令窗口中以显示估计系数的向量或矩阵。据/p>
请注意据/strong> 与其他回归模型不同,为了节省内存使用,据Code class="literal">RegressionLinear据/code>和据Code class="literal">RegressionPartitionedLinear据/code>模型对象不存储训练数据或优化细节(例如,收敛历史)。据/p>
RegressionLinear据/code>模型对象或据a href="//www.tatmou.com/help/stats/classreg.learning.partition.regressionpartitionedlinear-class.html">
RegressionPartitionedLinear据/code>交叉验证的模型对象。据/p>
kfold.据/code>那据a href="#bu216n7_sep_shared-Holdout" class="intrnllnk">
坚持据/code>那据a href="#bu216n7_sep_shared-CrossVal" class="intrnllnk">
横梁据/code>, 或者据a href="#bu216n7_sep_shared-CVPartition" class="intrnllnk">
CVPartition.据/code>, 然后据Code class="literal">Mdl据/code>是A.据Code class="literal">RegressionPartitionedLinear据/code>交叉验证的模型对象。除此以外,据Code class="literal">Mdl据/code>是A.据Code class="literal">RegressionLinear据/code>模型对象。据/p>
FitInfo.据/code>- 优化细节据B.r>结构数组据/span>
优化细节,作为结构数组返回。据/p>
字段指定最终值或名称-值对参数说明,例如,据Code class="literal">客观的据/code>为优化结束时目标函数的值。多维字段的行对应于的值据a href="#bu216n7_sep_shared-Lambda" class="intrnllnk"> 此表描述了一些值得注意的字段。据/p>
优化终止的原因据/p> 对应于一个值据Code class="literal">TerminationCode据/code> 每个迭代的优化信息的结构阵列。场据Code class="literal">解算器据/code>使用整数编码存储求解器类型。据/p>
要访问字段,请使用点符号。例如,要访问每次迭代的目标函数值向量,输入据Code class="literal">fitinfo.history.objective.据/code>.据/p>
检查是良好的做法据Code class="literal">FitInfo.据/code>评估收敛是否令人满意。据/p>
λ据/code>列对应的值据a href="#bu216n7-Solver" class="intrnllnk">
解算器据/code>.据/p>
场地据/th>
描述据/th>
terminationStatus.据/code>
Fittime.据/code>
经过了,壁钟时间在几秒钟内据/td>
历史据/code>
整数据/th>
解算器据/th>
1据/td>
SGD.据/td>
2据/td>
ASGD.据/td>
3.据/td>
支持向量机的双SGD据/td>
4.据/td>
LBFGS.据/td>
5.据/td>
BFGS.据/td>
6.据/td>
SpaRSA据/td>
HyperParameterOptimationResults.据/code>- 超参数的交叉验证优化据B.r>BayesianOptimization据/code>对象|超参数和关联值表据/span>
超参数的交叉验证优化,返回为a据a href="//www.tatmou.com/help/stats/bayesianoptimization.html">BayesianOptimization据/code>对象或包含超参数和关联值的表。的值时输出非空据a href="#bu216n7-OptimizeHyperparameters" class="intrnllnk">
'OptimizeHyperParameters'据/code>不是据Code class="literal">“没有”据/code>.输出值取决于据Code class="literal">优化器据/code>的字段值据Code class="literal">'hyperparameteroptimizationOptions'据/code>名称值对参数:据/p>
的价值据Code class="literal">优化器据/code>场地据/th>
的价值据Code class="argument">HyperParameterOptimationResults.据/code>
“bayesopt”据/code>(默认)据/td>
对象的类据a href="//www.tatmou.com/help/stats/bayesianoptimization.html">
BayesianOptimization据/code>
'gridsearch'据/code>或据Code class="literal">'randomsearch'据/code>
使用的超参数表,观测到的目标函数值(交叉验证损失),以及观测值从最低(最好)到最高(最差)的排序据/td>
请注意据/strong>
如果据Code class="argument">学习者据/code>是据Code class="literal">'最不答案'据/code>,则目标函数中的损失项为MSE的一半。据a href="//www.tatmou.com/help/stats/classificationlinear.loss.html">损失据/code>默认情况下返回MSE。因此,如果你使用据Code class="literal">损失据/code>要检查重新提交或培训,错误然后返回的MSE之间存在差异据Code class="literal">损失据/code>和优化结果据Code class="argument">FitInfo.据/code>或通过使用设置正详细级别返回命令行据Code class="argument">详细的据/code>.据/p>
一种据E.mClass="firstterm">温暖的开始据/em>是对提供给优化程序的Beta系数和偏置项的初始估计,以便更快地收敛。据/p>
高维线性分类和回归模型相对较快地最小化目标函数,但代价是一些精度,只有数值预测变量的限制,模型必须与参数线性相关。如果您的预测数据集是低至中维的,或包含异质变量,那么您应该使用适当的分类或回归拟合函数。要帮助您确定适合低维数据集的拟合函数,请使用此表。据/p>
适应模型据/th> | 函数据/th> | 值得注意的算法差异据/th> |
---|---|---|
支持向量机据/td> |
|
|
线性回归据/td> |
|
|
物流回归据/td> |
|
|
最好的做法是调整预测器矩阵的方向,使观察结果与列对应并指定据Code class="literal">'观察','列'据/code>.因此,您可以体验到优化执行时间的显着减少。据/p>
当您拥有高维预测器数据时更好的优化准确性据a href="#bu216n7_sep_shared-Regularization" class="intrnllnk"> 其他选项可能导致较差的优化精度。据/p>正则化据/code>值是据Code class="literal">“岭”据/code>,设置这些选项中的任何一个据a href="#bu216n7-Solver" class="intrnllnk">
解算器据/code>:据/p>
'SGD'据/code>
“asgd”据/code>
'双'据/code>如果据a href="#bu216n7-Learner" class="intrnllnk">
学习者据/code>是据Code class="literal">“支持向量机”据/code>
{“sgd”、“lbfgs”}据/code>
{'ASGD','LBFGS'}据/code>
{'dual','lbfgs'}据/code>如果据Code class="argument">学习者据/code>是据Code class="literal">“支持向量机”据/code>
当您具有中度到低维预测器数据时更好的优化准确性据Code class="argument">正则化据/code>值是据Code class="literal">“岭”据/code>, 放据Code class="argument">解算器据/code>到据Code class="literal">'bfgs'据/code>.据/p>
如果据Code class="argument">正则化据/code>是据Code class="literal">“套索”据/code>,设置这些选项中的任何一个据Code class="argument">解算器据/code>:据/p>
'SGD'据/code>
“asgd”据/code>
'sparsa'据/code>
{'sgd','sparsa'}据/code>
{“asgd”、“sparsa”}据/code>
在SGD和ASGD之间进行选择时,请考虑:据/p>
SGD每次迭代花费的时间更少,但是需要更多的迭代来收敛。据/p>
ASGD需要较少的迭代来融合,但需要更多的迭代时间。据/p>
如果您的预测仪数据有很少的观察,但是许多预测变量,那么:据/p>
指定据Code class="literal">'postfitbias',true据/code>.据/p>
对于SGD或ASGD求解器,请设置据a href="#bu216n7-PassLimit" class="intrnllnk">PassLimit据/code>到大于1的正整数,例如5或10。这种设置通常会得到更好的精度。据/p>
对于SGD和ASGD溶剂,据a href="#bu216n7_sep_shared-BatchSize" class="intrnllnk"> 如果据Code class="literal">Batchsize.据/code>那太小了据Code class="function">Fitrinear.据/code>在多次迭代中达到最小值,但每次迭代快速计算梯度。据/p> 如果据Code class="literal">Batchsize.据/code>太大了,然后据Code class="function">Fitrinear.据/code>在更少的迭代中实现最小值,但速度慢慢计算梯度。据/p>Batchsize.据/code>影响收敛速度。据/p>
大的学习速率(见据a href="#bu216n7-LearnRate" class="intrnllnk">LearnRate据/code>)加速收敛到最小值,但可能导致发散(即超过最小值)。小的学习速率确保收敛到最小值,但可能导致缓慢的终止。据/p>
使用套索处罚时,实验有各种值据a href="#bu216n7_sep_shared-TruncationPeriod" class="intrnllnk">TruncationPeriod.据/code>.例如,设置据Code class="argument">TruncationPeriod.据/code>到据Code class="literal">1据/code>那据Code class="literal">10.据/code>,然后据Code class="literal">One hundred.据/code>.据/p>
为了提高效率,据Code class="function">Fitrinear.据/code>不标准化预测器数据。标准化据a href="#bu216n7_sep_shared-X" class="intrnllnk"> 代码要求您将预测器和观察定位为行和列据Code class="literal">X据/code>,分别。此外,为了节省内存使用,代码将原始预测数据替换为标准化数据。据/p>X据/code>,输入据/p>
X = bsxfun (@rdivide bsxfun (@minus X,意味着(X, 2)),性病(0,2));据/pre>
培训模型后,您可以生成C / C ++代码,该代码预测新数据的响应。生成C / C ++代码需要据span class="entity">MATLAB编码器™据/span>.有关详细信息,请参见据a href="//www.tatmou.com/help/stats/introduction-to-code-generation.html" class="a">代码生成简介据/a>.据/span>
如果您指定据a href="#mw_6d8c6db6-6dcc-4807-b7af-c03362fec53d" class="intrnllnk"> 当据Code class="function">Fitrinear.据/code>估计验证损失,它将估计与最小估计进行比较。据/p> 当随后的验证损失估计超过最小估计5倍时,据Code class="function">Fitrinear.据/code>终止优化。据/p>验证数据据/code>然后,在客观函数优化期间:据/p>
Fitrinear.据/code>估计验证损失据Code class="argument">验证数据据/code>定期使用当前模型,并跟踪最小估计值。据/p>
如果您指定据Code class="argument">验证数据据/code>并实现交叉验证程序(据a href="#bu216n7_sep_shared-CrossVal" class="intrnllnk"> 一次据Code class="function">Fitrinear.据/code>满足停止标准,它根据优化的线性系数和拦截构成训练模型。据/p>
如果你实现据E.mClass="varname">K.据/em>- 折叠交叉验证,和据Code class="function">Fitrinear.据/code>然后没有用尽所有训练集折叠据Code class="function">Fitrinear.据/code>返回到步骤2,使用下一个训练集折叠进行训练。据/p> 除此以外,据Code class="function">Fitrinear.据/code>终止训练,然后返回交叉验证的模型。据/p> 您可以确定交叉验证模型的质量。例如:据/p>
为了使用第1步中的坚持层或折叠外数据确定验证损失,将交叉验证模型传递给据Code class="literal">Kfoldloss.据/code>.据/p> 为了预测第1步中顽固或未折叠数据的观测结果,将交叉验证的模型传递给据Code class="literal">Kfoldpredict据/code>.据/p>横梁据/code>那据a href="#bu216n7_sep_shared-CVPartition" class="intrnllnk">
CVPartition.据/code>那据a href="#bu216n7_sep_shared-Holdout" class="intrnllnk">
坚持据/code>, 或者据a href="#bu216n7_sep_shared-KFold" class="intrnllnk">
kfold.据/code>), 然后:据/p>
Fitrinear.据/code>随机分区据a href="#bu216n7_sep_shared-X" class="intrnllnk">
X据/code>和据a href="#bu216n7_sep_shared-Y" class="intrnllnk">
y据/code>(或据a href="#bu216n7_sep_shared-Tbl" class="intrnllnk">
资源描述据/code>)根据您选择的交叉验证程序。据/p>
Fitrinear.据/code>使用培训数据分区列车模型。在客观功能优化期间,据Code class="function">Fitrinear.据/code>使用据Code class="literal">验证数据据/code>作为终止优化的另一种可能方法(有关详细信息,请参阅前面的内容)。据/p>
[1] HO,C.H.和C. J. Lin。“大规模线性支持向量回归。”金宝app据E.mClass="citetitle">机床学习研究据/em>,卷。13,2012,第3323-3348页。据/p>
[2] Hsieh,C.J.,K.W.Chow,C. J. Lin,S. Keerthi和S. Sundararajan。“用于大规模线性SVM的双坐标滴定方法。”据E.mClass="citetitle">第25届国际机器学习会议论文集,ICML’08据/em>,2001年,第408-415页。据/p>
李磊,张涛。“基于截断梯度的稀疏在线学习”。据E.mClass="citetitle">j·马赫。学习。Res。据/em>, 2009年第10卷,第777-801页。据/p>
Nocedal, J.和S. J. Wright。据E.mClass="citetitle">数值优化据/em>,第二次,纽约:春天,2006年。据/p>
[5] Shalev-Shwartz,S.,Y.歌手和N. Srebro。“PEGASOS:SVM的原始估计子梯度求解器。”据E.mClass="citetitle">第24届机器学习会议的诉讼程序,ICML '07据/em>, 2007,第807-814页。据/p>
[6] Wright,S. J.,R. D. Nowak和M. A.T. Tupueiredo。“通过可分离近似稀疏重建。”据E.mClass="citetitle">跨。SIG。Proc。据/em>,卷。57,2009年7月7日,第2479-2493。据/p>
肖[7],林。“正则化随机学习和在线优化的双重平均方法”。据E.mClass="citetitle">j·马赫。学习。Res。据/em>,卷。2010年11月11日,第2543-2596。据/p>
[8]徐,魏。“基于平均随机梯度下降的最优一次大规模学习”。据E.mClass="citetitle">相关系数据/em>、abs / 1107.2490, 2011年。据/p>
使用说明和限制:据/p>
Fitrinear.据/code>不支持高大金宝app据Code class="literal">表格据/code>数据。据/p>
与内存中的参数相比,一些名称-值对参数有不同的默认值和值据Code class="function">Fitrinear.据/code>函数。金宝app支持的名称值对参数以及任何差异,是:据/p>
‘ε’据/code>
“ObservationsIn”据/code>——金宝app只支持据Code class="function">'行'据/code>.据/p>
'lambda'据/code>- - -可以据Code class="literal">'汽车'据/code>(默认)或标量。据/p>
“学习者”据/code>
'正规化'据/code>——金宝app只支持据Code class="literal">“岭”据/code>.据/p>
“规划求解”据/code>——金宝app只支持据Code class="literal">'lbfgs'据/code>.据/p>
'verbose'据/code>- 默认值是据Code class="literal">1据/code>
'beta'据/code>
'偏见'据/code>
'fitbias'据/code>——金宝app只支持据Code class="literal">真正的据/code>.据/p>
“重量”据/code>—Value必须为高数组。据/p>
“HessianHistorySize”据/code>
'betatolerance'据/code>—默认值为据Code class="literal">1E-3据/code>.据/p>
“GradientTolerance”据/code>—默认值为据Code class="literal">1E-3据/code>.据/p>
'iterationlimit'据/code>—默认值为据Code class="literal">20.据/code>.据/p>
'OptimizeHyperParameters'据/code>——的价值据Code class="literal">'正规化'据/code>参数必须据Code class="literal">“岭”据/code>.据/p>
'hyperparameteroptimizationOptions'据/code>-对于交叉验证,只支持高优化金宝app据Code class="literal">'坚持'据/code>验证。默认情况下,软件选择并保留20%的数据作为拒绝验证数据,并使用其余的数据训练模型。您可以使用此参数为拒绝符部分指定一个不同的值。例如,指定据Code class="literal">'hyperparameteroptimizationOptions',struct('holdout',0.3)据/code>保留30%的数据作为验证数据。据/span>
对于高阵列据Code class="function">Fitrinear.据/code>实现LBFGS的方法是在每次迭代时将损耗和梯度的计算分布在高阵的不同部分。其他解算器对于长数组是不可用的。据/p>
的初始值据Code class="literal">β据/code>和据Code class="literal">偏见据/code>不给,据Code class="function">Fitrinear.据/code>首先通过将本地拟合到数据的部分并通过平均组合系数来改进参数的初始估计。据/p>
有关更多信息,请参阅据a href="//www.tatmou.com/help/matlab/tall-arrays.html" class="a">高大的数组据/a>.据/p>
要执行并行的HyperParameter优化,请使用据Code class="literal">'hyperparameteroptimizationOptions',struct('使用反应',true)据/code>调用此函数时的名称-值参数。据/p>
有关并行超参数优化的更多信息,请参见据a href="//www.tatmou.com/help/stats/parallel_bayesian_optimization.html" class="a">并行贝叶斯优化据/a>.据/p>
有关并行计算的一般信息,请参阅据a href="//www.tatmou.com/help/parallel-computing/run-matlab-functions-with-automatic-parallel-support.html" class="a">运行MATLAB函数与自动并行支持金宝app据/a>(并行计算工具箱)据/span>.据/p>
FitClinear.据/code>
|据span itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">Fitlm.据/code>
|据span itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">fitrsvm据/code>
|据span itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">Kfoldloss.据/code>
|据span itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">Kfoldpredict据/code>
|据span itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">套索据/code>
|据span itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">预测据/code>
|据span itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">RegressionLinear据/code>
|据span itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">RegressionPartitionedLinear据/code>
|据span itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">脊据/code>
你点击一个链接对应于这个MATLAB命令:据/p>
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。金宝app据/p>
选择一个网站,以便在可用的地方进行翻译的内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:据strong class="recommended-country">.据/p> 选择据span class="recommended-country">网站据/a>
你也可以从以下列表中选择一个网站:据/p>
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。据/p>