主要内容

套索正规化

这个例子显示了如何套索识别和丢弃不必要的预测因子。

产生200个样本的五维人工数据X从指数分布与各种手段。

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

生成响应数据Y=X*r+每股收益,在那里r刚刚两个非零组件,噪音吗每股收益是正常的标准偏差为0.1。

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

适合一个旨在序列的模型套索和阴谋的结果。

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

MATLAB图

图显示了非零系数的不同价值观的回归λ正则化参数。更大的值λ出现在图的左侧,这意味着更加正规化,从而减少非零回归系数。

冲竖线代表λ值和最小均方误差(右边),和λ值和最小均方误差+一个标准差。后面的值是一个推荐的设置λ。这些线出现只有当你执行交叉验证。交叉验证通过设置“简历”名称-值对的论点。这个示例使用10倍交叉验证。

的上部情节展示了自由度(df)、意义的非零系数回归,λ的函数。在左边,大值λ的原因除了一个系数为0。右边的所有五个系数非零,虽然情节显示只有两个清楚。其他三个系数如此之小,以至于你不能直观地区别于0。

对于小的λ值在情节(向右),接近最小二乘估计的系数值。

找到λ旨在最小均方误差值加上一个标准差。检查MSE和系数的配合λ

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

套索做了一个好工作找到系数向量r

相比之下,找到的最小二乘估计r

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

估计b (:, lam)有稍微比的平均平方误差均方误差小红帽

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

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

另请参阅

||||

相关的话题