主要内容gydF4y2Ba

合奏正规化gydF4y2Ba

正则化是一个选择的过程少弱学习者的合奏,不降低预测的性能。目前你可以调整回归集合体。(您还可以调整一个判别分析分类器non-ensemble上下文;看到gydF4y2Ba规范判别分析分类器gydF4y2Ba。)gydF4y2Ba

的gydF4y2Ba规范gydF4y2Ba找到一组最优的学习者权重方法gydF4y2BaαgydF4y2BatgydF4y2Ba,减少gydF4y2Ba

∑gydF4y2Ba ngydF4y2Ba =gydF4y2Ba 1gydF4y2Ba NgydF4y2Ba wgydF4y2Ba ngydF4y2Ba ggydF4y2Ba (gydF4y2Ba (gydF4y2Ba ∑gydF4y2Ba tgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba TgydF4y2Ba αgydF4y2Ba tgydF4y2Ba hgydF4y2Ba tgydF4y2Ba (gydF4y2Ba xgydF4y2Ba ngydF4y2Ba )gydF4y2Ba )gydF4y2Ba ,gydF4y2Ba ygydF4y2Ba ngydF4y2Ba )gydF4y2Ba +gydF4y2Ba λgydF4y2Ba ∑gydF4y2Ba tgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba TgydF4y2Ba |gydF4y2Ba αgydF4y2Ba tgydF4y2Ba |gydF4y2Ba 。gydF4y2Ba

在这里gydF4y2Ba

  • λgydF4y2Ba≥0gydF4y2Ba你提供的一个参数,称为套索参数。gydF4y2Ba

  • hgydF4y2BatgydF4y2Ba薄弱的学习者在合奏训练吗gydF4y2BaNgydF4y2Ba观察与预测gydF4y2BaxgydF4y2BangydF4y2Ba、响应gydF4y2BaygydF4y2BangydF4y2Ba,重量gydF4y2BawgydF4y2BangydF4y2Ba。gydF4y2Ba

  • ggydF4y2Ba(gydF4y2BafgydF4y2Ba,gydF4y2BaygydF4y2Ba)= (gydF4y2BafgydF4y2Ba- - - - - -gydF4y2BaygydF4y2Ba)gydF4y2Ba2gydF4y2Ba是平方误差。gydF4y2Ba

合奏正规化在相同的(gydF4y2BaxgydF4y2BangydF4y2Ba,gydF4y2BaygydF4y2BangydF4y2Ba,gydF4y2BawgydF4y2BangydF4y2Ba)数据用于训练,所以gydF4y2Ba

∑gydF4y2Ba ngydF4y2Ba =gydF4y2Ba 1gydF4y2Ba NgydF4y2Ba wgydF4y2Ba ngydF4y2Ba ggydF4y2Ba (gydF4y2Ba (gydF4y2Ba ∑gydF4y2Ba tgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba TgydF4y2Ba αgydF4y2Ba tgydF4y2Ba hgydF4y2Ba tgydF4y2Ba (gydF4y2Ba xgydF4y2Ba ngydF4y2Ba )gydF4y2Ba )gydF4y2Ba ,gydF4y2Ba ygydF4y2Ba ngydF4y2Ba )gydF4y2Ba

是合奏resubstitution错误。测量误差的均方误差(MSE)。gydF4y2Ba

如果你使用gydF4y2BaλgydF4y2Ba= 0gydF4y2Ba,gydF4y2Ba规范gydF4y2Ba发现弱学习者权重,通过最小化resubstitution MSE。乐团训练过度。换句话说,resubstitution错误通常是比真正的泛化误差小。通过resubstitution误差更小,你可能会使整体精度恶化而不是好转。另一方面,积极的价值观gydF4y2BaλgydF4y2Ba推动的大小gydF4y2BaαgydF4y2BatgydF4y2Ba系数为0。这通常可以提高泛化误差。当然,如果你选择gydF4y2BaλgydF4y2Ba太大,所有最优系数是0,整体没有任何精度。通常你可以找到一个最佳的范围gydF4y2BaλgydF4y2Ba正规化合奏的准确性是更好或类似的完全没有正规化合奏。gydF4y2Ba

套索正则化的一个特性是其驱动能力优化系数为0。如果一个学习者的重量gydF4y2BaαgydF4y2BatgydF4y2Ba是0,这个学习者可以排除在正规化。最后,你得到一个改善精度和更少的学习者。gydF4y2Ba

调整回归合奏gydF4y2Ba

这个示例使用的数据预测汽车的保险风险根据其许多属性。gydF4y2Ba

加载gydF4y2Ba进口- 85gydF4y2Ba数据到MATLAB工作区。gydF4y2Ba

负载gydF4y2Ba进口- 85gydF4y2Ba;gydF4y2Ba

看数据的描述找到分类变量和预测的名字。gydF4y2Ba

描述gydF4y2Ba
描述=gydF4y2Ba9 x79 char数组gydF4y2Ba1985汽车进口从UCI数据库存储库的http://archive.ics.uci.edu/ml/machine -学习- databases/autos/imports - 85. -名字”的变量被重新排序位置变量数值(简称““连续”UCI网站)左值并分类”的权利。normalized-losses,具体来说,变量1:16是:象征“轴距,长度,宽度,高度,整备质量,发动机的大小,孔,中风,压缩比,马力,peak-rpm city-mpg、highway-mpg,和价格。“变量17:26是:制作、可燃物类型、愿望,num-of-doors,身体作风,驱动轮,引擎位置,发动机型号,num-of-cylinders和燃油系统。”gydF4y2Ba

这个过程的目的是预测中的“符号”,第一个变量数据,从另一个预测。“符号”是一个整数gydF4y2Ba3gydF4y2Ba(好保险风险)gydF4y2Ba3gydF4y2Ba(可怜的保险风险)。您可以使用一个分类合奏来预测这种风险,而不是回归合奏。当你有一个选择回归和分类,你应该先试着回归。gydF4y2Ba

整体拟合的数据做好准备。gydF4y2Ba

Y = X (: 1);X (: 1) = [];VarNames = {gydF4y2Ba“normalized-losses”gydF4y2Ba的轴距gydF4y2Ba“长度”gydF4y2Ba“宽度”gydF4y2Ba“高度”gydF4y2Ba…gydF4y2Ba整备质量的gydF4y2Ba发动机的大小的gydF4y2Ba“生”gydF4y2Ba“中风”gydF4y2Ba的压缩比gydF4y2Ba…gydF4y2Ba“马力”gydF4y2Ba“peak-rpm”gydF4y2Ba“city-mpg”gydF4y2Ba“highway-mpg”gydF4y2Ba“价格”gydF4y2Ba“使”gydF4y2Ba…gydF4y2Ba“可燃物类型”gydF4y2Ba“愿望”gydF4y2Ba“num-of-doors”gydF4y2Ba“身体作风”gydF4y2Ba驱动轮的gydF4y2Ba…gydF4y2Ba“引擎位置”gydF4y2Ba发动机型号的gydF4y2Ba“num-of-cylinders”gydF4y2Ba“燃油系统”gydF4y2Ba};catidx = 16:25;gydF4y2Ba%分类预测的指标gydF4y2Ba

创建一个回归的整体数据使用300棵树。gydF4y2Ba

ls = fitrensemble (X, Y,gydF4y2Ba“方法”gydF4y2Ba,gydF4y2Ba“LSBoost”gydF4y2Ba,gydF4y2Ba“NumLearningCycles”gydF4y2Ba,300,gydF4y2Ba…gydF4y2Ba“LearnRate”gydF4y2Ba,0.1,gydF4y2Ba“PredictorNames”gydF4y2BaVarNames,gydF4y2Ba…gydF4y2Ba“ResponseName”gydF4y2Ba,gydF4y2Ba“象征”gydF4y2Ba,gydF4y2Ba“CategoricalPredictors”gydF4y2Bacatidx)gydF4y2Ba
ls = RegressionEnsemble PredictorNames:{1单元25}ResponseName:“象征”CategoricalPredictors:[16 17 18 19 20 21日22日23日24日25]ResponseTransform:“没有一个”NumObservations: 205 NumTrained: 300方法:“LSBoost”LearnerNames:{‘树’}ReasonForTermination:“终止通常在完成请求的数量的训练周期。“FitInfo: x1双[300]FitInfoDescription: {2 x1细胞}正规化:[]属性,方法gydF4y2Ba

最后一行,gydF4y2Ba正则化gydF4y2Ba是空的([])。规范合奏,你必须使用gydF4y2Ba规范gydF4y2Ba方法。gydF4y2Ba

简历= crossval (ls,gydF4y2Ba“KFold”gydF4y2Ba5);图;情节(kfoldLoss(简历,gydF4y2Ba“模式”gydF4y2Ba,gydF4y2Ba“累积”gydF4y2Ba));包含(gydF4y2Ba树木的数量gydF4y2Ba);ylabel (gydF4y2Ba“旨在MSE”gydF4y2Ba);ylim (0.2 [2])gydF4y2Ba

图包含一个坐标轴对象。坐标轴对象包含数量的树木,ylabel旨在MSE包含一个类型的对象。gydF4y2Ba

看来你可能会从一个较小的合奏,获得令人满意的性能可能包含从50到100棵树。gydF4y2Ba

调用gydF4y2Ba规范gydF4y2Ba方法试图找到树,您可以删除。默认情况下,gydF4y2Ba规范gydF4y2Ba检查10的套索值(gydF4y2BaλgydF4y2Ba)参数的指数增长。gydF4y2Ba

ls =调整(ls)gydF4y2Ba
ls = RegressionEnsemble PredictorNames:{1单元25}ResponseName:“象征”CategoricalPredictors:[16 17 18 19 20 21日22日23日24日25]ResponseTransform:“没有一个”NumObservations: 205 NumTrained: 300方法:“LSBoost”LearnerNames:{‘树’}ReasonForTermination:“终止通常在完成请求的数量的训练周期。“FitInfo: x1双[300]FitInfoDescription: {2 x1细胞}正规化:[1 x1 struct]属性,方法gydF4y2Ba

的gydF4y2Ba正则化gydF4y2Ba房地产不再是空的。gydF4y2Ba

情节resubstitution均方误差(MSE)和非零的学习者对拉索参数权重。分别画出价值gydF4y2Baλ= 0gydF4y2Ba。用对数刻度,因为的值gydF4y2BaλgydF4y2Ba指数是间隔。gydF4y2Ba

图;semilogx (ls.Regularization.Lambda ls.Regularization.ResubstitutionMSE,gydF4y2Ba…gydF4y2Ba“bx - - - - - -”gydF4y2Ba,gydF4y2Ba“Markersize”gydF4y2Ba10);线([1 e - 3 1 e - 3]、[ls.Regularization.ResubstitutionMSE (1)gydF4y2Ba…gydF4y2Bals.Regularization.ResubstitutionMSE (1)),gydF4y2Ba…gydF4y2Ba“标记”gydF4y2Ba,gydF4y2Ba“x”gydF4y2Ba,gydF4y2Ba“Markersize”gydF4y2Ba10gydF4y2Ba“颜色”gydF4y2Ba,gydF4y2Ba“b”gydF4y2Ba);r0 = resubLoss (ls);线([ls.Regularization.Lambda (2) ls.Regularization.Lambda(结束),gydF4y2Ba…gydF4y2Ba(r0 r0),gydF4y2Ba“颜色”gydF4y2Ba,gydF4y2Ba“r”gydF4y2Ba,gydF4y2Ba“线型”gydF4y2Ba,gydF4y2Ba“——”gydF4y2Ba);包含(gydF4y2Ba“λ”gydF4y2Ba);ylabel (gydF4y2Ba“Resubstitution MSE”gydF4y2Ba);注释(gydF4y2Ba“文本框”gydF4y2Ba(0.5 - 0.22 0.5 - 0.05),gydF4y2Ba“字符串”gydF4y2Ba,gydF4y2Ba“unregularized乐团”gydF4y2Ba,gydF4y2Ba…gydF4y2Ba“颜色”gydF4y2Ba,gydF4y2Ba“r”gydF4y2Ba,gydF4y2Ba“字形大小”gydF4y2Ba14岁的gydF4y2Ba“线型”gydF4y2Ba,gydF4y2Ba“没有”gydF4y2Ba);gydF4y2Ba

图包含一个坐标轴对象。坐标轴对象包含λ,ylabel Resubstitution MSE包含3线类型的对象。gydF4y2Ba

图;重对数(ls.Regularization.Lambda总和(ls.Regularization.TrainedWeights > 0,1));线((1 e - 3 1 e - 3),gydF4y2Ba…gydF4y2Ba[总和(ls.Regularization.TrainedWeights (: 1) > 0)gydF4y2Ba…gydF4y2Basum (ls.Regularization.TrainedWeights (: 1) > 0)),gydF4y2Ba…gydF4y2Ba“标记”gydF4y2Ba,gydF4y2Ba“x”gydF4y2Ba,gydF4y2Ba“markersize”gydF4y2Ba10gydF4y2Ba“颜色”gydF4y2Ba,gydF4y2Ba“b”gydF4y2Ba);线([ls.Regularization.Lambda (2) ls.Regularization.Lambda(结束),gydF4y2Ba…gydF4y2Ba(ls。NTrained ls.NTrained],…gydF4y2Ba“颜色”gydF4y2Ba,gydF4y2Ba“r”gydF4y2Ba,gydF4y2Ba“线型”gydF4y2Ba,gydF4y2Ba“——”gydF4y2Ba);包含(gydF4y2Ba“λ”gydF4y2Ba);ylabel (gydF4y2Ba学习者的数量gydF4y2Ba);注释(gydF4y2Ba“文本框”gydF4y2Ba(0.3 - 0.8 0.5 - 0.05),gydF4y2Ba“字符串”gydF4y2Ba,gydF4y2Ba“unregularized乐团”gydF4y2Ba,gydF4y2Ba…gydF4y2Ba“颜色”gydF4y2Ba,gydF4y2Ba“r”gydF4y2Ba,gydF4y2Ba“字形大小”gydF4y2Ba14岁的gydF4y2Ba“线型”gydF4y2Ba,gydF4y2Ba“没有”gydF4y2Ba);gydF4y2Ba

图包含一个坐标轴对象。坐标轴对象包含λ,ylabel学习者包含3线类型的对象的数量。gydF4y2Ba

resubstitution MSE值可能过于乐观。获得更可靠的估计误差与各种相关的值gydF4y2BaλgydF4y2Ba、交叉验证搭配使用gydF4y2BacvshrinkgydF4y2Ba。情节产生的交叉验证(MSE)和学习者的数量损失gydF4y2BaλgydF4y2Ba。gydF4y2Ba

rng (0,gydF4y2Ba“旋风”gydF4y2Ba)gydF4y2Ba%的再现性gydF4y2Ba[mse, nlearn] = cvshrink (ls,gydF4y2Ba“λ”gydF4y2Bals.Regularization.Lambda,gydF4y2Ba“KFold”gydF4y2Ba5);gydF4y2Ba
警告:一些折叠没有任何训练薄弱的学习者。gydF4y2Ba
图;semilogx (ls.Regularization.Lambda ls.Regularization.ResubstitutionMSE,gydF4y2Ba…gydF4y2Ba“bx - - - - - -”gydF4y2Ba,gydF4y2Ba“Markersize”gydF4y2Ba10);持有gydF4y2Ba在gydF4y2Ba;semilogx (ls.Regularization.Lambda、mse、gydF4y2Ba“ro - - - - - -”gydF4y2Ba,gydF4y2Ba“Markersize”gydF4y2Ba10);持有gydF4y2Ba从gydF4y2Ba;包含(gydF4y2Ba“λ”gydF4y2Ba);ylabel (gydF4y2Ba的均方误差gydF4y2Ba);传奇(gydF4y2Ba“resubstitution”gydF4y2Ba,gydF4y2Ba交叉验证的gydF4y2Ba,gydF4y2Ba“位置”gydF4y2Ba,gydF4y2Ba“西北”gydF4y2Ba);线([1 e - 3 1 e - 3]、[ls.Regularization.ResubstitutionMSE (1)gydF4y2Ba…gydF4y2Bals.Regularization.ResubstitutionMSE (1)),gydF4y2Ba…gydF4y2Ba“标记”gydF4y2Ba,gydF4y2Ba“x”gydF4y2Ba,gydF4y2Ba“Markersize”gydF4y2Ba10gydF4y2Ba“颜色”gydF4y2Ba,gydF4y2Ba“b”gydF4y2Ba,gydF4y2Ba“HandleVisibility”gydF4y2Ba,gydF4y2Ba“关闭”gydF4y2Ba);线([1 e - 3 1 e - 3], [mse (1) mse (1)]。gydF4y2Ba“标记”gydF4y2Ba,gydF4y2Ba“o”gydF4y2Ba,gydF4y2Ba…gydF4y2Ba“Markersize”gydF4y2Ba10gydF4y2Ba“颜色”gydF4y2Ba,gydF4y2Ba“r”gydF4y2Ba,gydF4y2Ba“线型”gydF4y2Ba,gydF4y2Ba“——”gydF4y2Ba,gydF4y2Ba“HandleVisibility”gydF4y2Ba,gydF4y2Ba“关闭”gydF4y2Ba);gydF4y2Ba

图包含一个坐标轴对象。坐标轴对象包含λ,ylabel均方误差包含2线类型的对象。这些对象代表resubstitution,交叉验证。gydF4y2Ba

图;重对数(ls.Regularization.Lambda总和(ls.Regularization.TrainedWeights > 0,1));持有;gydF4y2Ba
当前的情节举行gydF4y2Ba
重对数(ls.Regularization.Lambda nlearn,gydF4y2Ba“r——”gydF4y2Ba);持有gydF4y2Ba从gydF4y2Ba;包含(gydF4y2Ba“λ”gydF4y2Ba);ylabel (gydF4y2Ba学习者的数量gydF4y2Ba);传奇(gydF4y2Ba“resubstitution”gydF4y2Ba,gydF4y2Ba交叉验证的gydF4y2Ba,gydF4y2Ba“位置”gydF4y2Ba,gydF4y2Ba“不”gydF4y2Ba);线((1 e - 3 1 e - 3),gydF4y2Ba…gydF4y2Ba[总和(ls.Regularization.TrainedWeights (: 1) > 0)gydF4y2Ba…gydF4y2Basum (ls.Regularization.TrainedWeights (: 1) > 0)),gydF4y2Ba…gydF4y2Ba“标记”gydF4y2Ba,gydF4y2Ba“x”gydF4y2Ba,gydF4y2Ba“Markersize”gydF4y2Ba10gydF4y2Ba“颜色”gydF4y2Ba,gydF4y2Ba“b”gydF4y2Ba,gydF4y2Ba“HandleVisibility”gydF4y2Ba,gydF4y2Ba“关闭”gydF4y2Ba);线([1 e - 3 e - 3], [nlearn (1) nlearn (1)]。gydF4y2Ba“标记”gydF4y2Ba,gydF4y2Ba“o”gydF4y2Ba,gydF4y2Ba…gydF4y2Ba“Markersize”gydF4y2Ba10gydF4y2Ba“颜色”gydF4y2Ba,gydF4y2Ba“r”gydF4y2Ba,gydF4y2Ba“线型”gydF4y2Ba,gydF4y2Ba“——”gydF4y2Ba,gydF4y2Ba“HandleVisibility”gydF4y2Ba,gydF4y2Ba“关闭”gydF4y2Ba);gydF4y2Ba

图包含一个坐标轴对象。坐标轴对象包含λ,ylabel学习者包含2线类型的对象。这些对象代表resubstitution,交叉验证。gydF4y2Ba

研究旨在误差表明,交叉验证MSE几乎持平gydF4y2BaλgydF4y2Ba多一点gydF4y2Ba1)依照gydF4y2Ba。gydF4y2Ba

检查gydF4y2Bals.Regularization.LambdagydF4y2Ba寻找出MSE的最高价值在平坦地区(多一点gydF4y2Ba1)依照gydF4y2Ba)。gydF4y2Ba

jj = 1:长度(ls.Regularization.Lambda);[jj; ls.Regularization.Lambda]gydF4y2Ba
ans =gydF4y2Ba2×10gydF4y2Ba1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 0 0.0019 0.0045 0.0107 0.0254 0.0602 0.1428 0.3387 0.8033 1.9048gydF4y2Ba

元素gydF4y2Ba5gydF4y2Ba的gydF4y2Bals.Regularization.LambdagydF4y2Ba是有价值的gydF4y2Ba0.0254gydF4y2Ba,最大的平面范围。gydF4y2Ba

降低整体大小使用gydF4y2Ba缩小gydF4y2Ba方法。gydF4y2Ba缩小gydF4y2Ba返回一个紧凑的合奏,没有训练数据。新款紧凑型合奏的泛化误差已经估计通过交叉验证gydF4y2Bamse (5)gydF4y2Ba。gydF4y2Ba

cmp =收缩(ls,gydF4y2Ba“weightcolumn”gydF4y2Ba5)gydF4y2Ba
cmp = CompactRegressionEnsemble PredictorNames:{1单元25}ResponseName:“象征”CategoricalPredictors:[16 17 18 19 20 21日22日23日24日25]ResponseTransform:“没有一个”NumTrained: 8属性,方法gydF4y2Ba

树木的数量从300年的新乐团已经明显减少gydF4y2BalsgydF4y2Ba。gydF4y2Ba

比较大小的集合体。gydF4y2Ba

深圳(1)=谁(gydF4y2Bacmp的gydF4y2Ba);深圳(2)=谁(gydF4y2Ba“ls”gydF4y2Ba);(深圳(1)。字节深圳(2).bytes]gydF4y2Ba
ans =gydF4y2Ba1×2gydF4y2Ba91209 3227100gydF4y2Ba

降低整体的大小是原来的大小的一小部分。注意,你的整体大小取决于您的操作系统。gydF4y2Ba

比较的MSE合奏减少到原来的合奏。gydF4y2Ba

图;情节(kfoldLoss(简历,gydF4y2Ba“模式”gydF4y2Ba,gydF4y2Ba“累积”gydF4y2Ba));持有gydF4y2Ba在gydF4y2Ba情节(cmp.NTrained mse (5),gydF4y2Ba“罗”gydF4y2Ba,gydF4y2Ba“MarkerSize”gydF4y2Ba10);包含(gydF4y2Ba树木的数量gydF4y2Ba);ylabel (gydF4y2Ba“旨在MSE”gydF4y2Ba);传奇(gydF4y2Ba“unregularized乐团”gydF4y2Ba,gydF4y2Ba“正规化合奏”gydF4y2Ba,gydF4y2Ba…gydF4y2Ba“位置”gydF4y2Ba,gydF4y2Ba“不”gydF4y2Ba);持有gydF4y2Ba从gydF4y2Ba

图包含一个坐标轴对象。坐标轴对象包含数量的树木,ylabel旨在MSE包含2线类型的对象。一个或多个行显示的值只使用这些对象标记代表unregularized合奏,正规化。gydF4y2Ba

减少合奏给低损耗在使用许多更少的树木。gydF4y2Ba

另请参阅gydF4y2Ba

|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba

相关的话题gydF4y2Ba