当前位置: 首页 > 游戏攻略 > Lasso线性回归(Least Absolute Shrinkage and Selection Operator)

Lasso线性回归(Least Absolute Shrinkage and Selection Operator)

来源:网络 作者:趣玩小编 发布时间:2024-07-02 08:50:14

Lasso线性回归(Least Absolute Shrinkage and Selection Operator) 是一种能够进行特征选择和正则化的线性回归方法。其重要的思想是L1正则化:其基本原理为 在损失函数中加上模型权重系数的绝对值 ,要想让模型的拟合效果比较好,就要使损失函数尽可能的小,因此这样会使很多权重变为0或者权重值变得尽可能小,这样通过减少权重、降低权重值的方法能够防止模型过拟合,增加模型的泛化能力。其中还有另外一种类似的方法叫做岭回归,其基本原理是在损失函数中加上含有模型权重系数的平方的惩罚项,其他原理基本相同。

Lasso线性回归的目标是最小化以下损失函数:

其中:

理论上来说当模型的损失函数越小时,构建的模型越接近真实分布,但是当模型的参数远远大于用来训练模型的数量的时候,很容易造成过拟合(模型学到的特征不是样本之间的共同特征,而是样本自身的特异性特征)。
通过L1正则化,可以约束线性模型中的权重系数,而且会减少特征量,保留权重系数有效的特征,同时能够减少系数之间的差距,让模型更具有泛化性。
当模型的损失函数达到最小的时候,惩罚项λ达到最优,模型的性能达到最优。

本文同样使用留一交叉验证的方法验证模型的分类性能,具体应用场景可以参考: 机器学习(一)——递归特征消除法实现SVM(matlab)。
本文还提供了均方误差与特征数量的变化关系曲线、λ与均方误差的变化关系曲线以及分类结果的ROC曲线画法,如有需要请选择对应模块进行调整作图。

matlab实现代码如下:

labels = res(:, 1);  % 第一列是标签
features = res(:, 2:end);  % 后面的列是特征
features = zscore(features);   %归一化处理

%% 使用留一法交叉验证选择最优的 Lambda 值及其对应的特征
numSamples = size(features, 1);
lambda_values = logspace(-2, 2, 60); % 选择一系列 Lambda 值
...
热门推荐 更多 +
休闲益智 | 945.71MB
我的世界是一款风靡全球的3D第一人称沙盒...
9.6
角色扮演 | 878.96MB
最新版《汉家江湖》是一款以武侠为题材、以...
9.5
飞行射击 | 262.79MB
《荒野乱斗》是快节奏射击类多人对战游戏。...
9.5
飞行射击 | 102.9M
掌上飞车手游app是由腾讯特别为QQ飞车...
9.2
休闲益智 | 263.56MB
开心消消乐是一款轻松休闲的手游,也是一款...
9.6