主要内容

套索正规化

这个例子展示了套索标识并丢弃不必要的预测器。

从各种均值的指数分布中生成200个五维人工数据X样本。

rng (3“旋风”%的再现性X = 0 (200 5);X(:,ii) = exprund (ii,200,1);结束

生成响应数据YXr+每股收益,在那里r只有两个非零分量,噪声呢每股收益为正常,标准差为0.1。

r =[0; 2。0;3;0];Y = X*r + randn(200,1)* 0.1; / /

符合交叉验证的模型顺序套索,并绘制结果。

[b, fitinfo] =套索(X, Y,“简历”10);lassoPlot (b fitinfo“PlotType”“λ”“XScale”“日志”);

图中包含2个轴。轴1与标题跟踪绘图的系数适合套索是空的。带有标题的轴2包含7个类型为line的对象。这些对象代表LambdaMinMSE, Lambda1SE, B1, B2, B3, B4, B5。

该图显示了不同值的回归中的非零系数λ正则化参数。更大的值λ出现在图的左边,意味着更多的正则化,导致更少的非零回归系数。

虚线表示λ值的最小均方误差(在右边),和λ具有最小均方误差加上一个标准差的值。建议将后一个值设置为λ.这些行只在执行交叉验证时出现。通过设置交叉验证“简历”名称-值对的论点。本例使用10倍交叉验证。

图的上半部分显示了自由度(df),意思是回归中的非零系数的数量,作为Lambda的函数。在左边,Lambda的大值导致除一个系数外其他系数都为0。右边的5个系数都是非零的,尽管图上只清楚地显示了两个。其他三个系数是如此之小以至于你无法从视觉上区分它们和0。

对于Lambda的小值(朝向图中的右侧),系数值接近最小二乘估计。

找到λ最小交叉验证均方误差加上一个标准偏差的值。检查适合的MSE和系数λ

林= fitinfo.Index1SE;fitinfo.MSE (lam)
ANS = 0.1398.
b (:, lam)
ans =5×10 1.8855 0 -2.9367 0

套索系数向量找得好吗r

为比较,求。的最小二乘估计r

小红帽Y = X \
小红帽=5×1-0.0038 1.9952 0.0014 -2.9993 0.0031

估计b (:, lam)的均方误差略大于小红帽

res = X* rar - Y;%计算残差MSEmin = res ' * res / 200% b(:,lam)值是0.1398
MSEmin = 0.0088

b (:, lam)只有两个非零分量,因此可以对新数据提供更好的预测估计。

另请参阅

||||

相关话题