盐田区住房和建设局网站,wordpress响应式电商,做vip电影网站,网站建设研究课题一、概述 「L2正则化#xff08;也称为岭回归#xff09;」 是一种用于线性回归模型的正则化方法#xff0c;它通过在模型的损失函数中添加一个惩罚项来防止过拟合。L2正则化的惩罚项是模型参数的平方和#xff0c;乘以一个正则化参数λ#xff0c;即#xff1a; L2正则化… 一、概述 「L2正则化也称为岭回归」 是一种用于线性回归模型的正则化方法它通过在模型的损失函数中添加一个惩罚项来防止过拟合。L2正则化的惩罚项是模型参数的平方和乘以一个正则化参数λ即 L2正则化参数 λ * (模型参数的平方和) 其中λ是一个超参数用于控制正则化的强度。 「L2正则化」的作用是通过惩罚较大的模型参数使得模型更加平滑减少模型的复杂性从而提高模型的泛化能力。L2正则化可以防止过拟合特别是当训练数据集较小或者存在多重共线性时L2正则化可以提高模型的性能。 二、数据集 首先我们加载数据集 data(mtcars)head(mtcars)# 输出结果# mpg cyl disp hp drat wt qsec vs am gear carb# Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4# Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4# Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1# Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1# Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2# Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1 三、岭回归 在R语言中可以使用linearRidge函数进行岭回归分析并使用summary函数查看结果。当使用岭回归时正则化参数λ对于问题的解来说是至关重要的。在岭回归中随着λ的增加模型的复杂度减小使得参数变得更加稳定和显著。因此当λ的值越大时岭回归系数也越大并且具有更高的显著性这可能是与您观察到的结果相关的原因。 # 使用linearRidge函数进行岭回归分析install.packages(ridge)library(ridge)library(MASS)library(ggplot2)# 使用mtcars数据集data(mtcars)# 生成自变量和因变量X - as.matrix(mtcars[, -1])y - mtcars[, 1]# 岭回归fit - linearRidge(mpg ~ ., data mtcars, lambda 0.1)# 计算系数的标准误fit.se - sqrt(diag(solve(t(X) %*% X fit$lambda * diag(ncol(X)))))fit$se - fit.se# 将标准误为0的值替换为1e-10fit.se[fit.se0] - 1e-10# 计算系数的P值t_value - fit$coef / fit$sedf - nrow(X) - ncol(X)p_value - 2 * pt(abs(t_value), df df, lower.tail FALSE)# 将系数、标准误和P值合并到一个数据框中result - data.frame(lambda fit$lambda, coef fit$coef, se fit$se, p_value p_value)result# 绘制岭回归系数的棒图ggplot(result, aes(x 1:length(fit$coef), y coef, fill p_value 0.05)) geom_bar(stat identity, width 0.5, color black) geom_errorbar(aes(ymin coef - se, ymax coef se), width 0.2) theme_bw() labs(title Ridge Regression Coefficients and Standard Errors, x Variable Index, y Coefficient) 执行结果展示 lambda coef se p_valuecyl 0.1 -2.656036 0.287385523 4.964885e-09disp 0.1 -1.656252 0.006615594 1.669437e-39hp 0.1 -4.906065 0.008149868 6.939783e-48drat 0.1 2.926048 0.547854611 2.316967e-05wt 0.1 -9.921048 0.690973553 1.180421e-12qsec 0.1 2.894217 0.170656138 4.054759e-14vs 0.1 1.409633 0.764781699 7.881732e-02am 0.1 5.773137 0.730119979 7.162408e-08gear 0.1 2.561253 0.503370358 4.256271e-05carb 0.1 -5.980529 0.304172379 1.902781e-15 lambdalambda 是在岭回归中用于正则化的超参数控制模型的复杂度同时也影响模型选择哪些自变量。在岭回归过程中我们用一系列 lambda 值来建立一系列模型并通过交叉验证等方法来确定最佳的 lambda 值以保证模型的泛化能力和预测能力。 coefcoef 表示岭回归模型中各个参数的系数估计值。它们表示模型对于每个自变量的预测权重即每个自变量对因变量的影响程度。 sese 是系数估计值的标准错误用于表示对于某一自变量的系数估计其真实值与样本估计值之间的偏离程度。标准误差越小说明该系数估计值越可靠。 p_valuep-value 表示在假设检验中对应的概率值通常用于衡量某一自变量的系数估计值在统计意义下是否显著不为 0。一般情况下p-value 0.05 表示该自变量的系数估计值能够显著区别于 0即该变量对因变量有着显著影响。 该图显示了岭回归模型的系数估计值每个自变量的估计值用一个棒图表示。棒图中心的水平线表示该自变量的估计值棒图的长度表示该估计值的标准误。估计值的颜色表示相应的 p-value 显著性检验结果绿色表示 p-value 0.05红色表示 p-value 0.05。从图中可以看出am、hp、wt 和 gear 这四个自变量在岭回归中对 mpg 有显著的影响其余的自变量的系数估计值非常接近于零说明它们对 mpg 的影响可以忽略不计。由于使用了岭回归这表明偏差-方差折衷的技术可以对模型偏差进行约束并选择出最相关的特征。 「预测结果和实际值的比较」 # 预测新数据newdata - data.frame(mtcars[, -1])newdata$ridge_pred - predict(fit, newdata)# 将预测结果添加到原始数据集上mtcars$ridge_pred - predict(fit, mtcars[, -1])# 绘制实际值和预测值的散点图ggplot(mtcars, aes(x mpg, y ridge_pred)) geom_point() geom_line(aes(x mpg, y mpg), color red) theme_bw() labs(title Ridge Regression Prediction Results, x Actual mpg, y Predicted mpg) 可以看到这个预测结果和实际结果相差还是不大的几乎在线的左右有一定的预测价值。 四、总结 岭回归在实际应用中常用于以下场景 「数据预处理」在数据预处理阶段可以使用岭回归来解决多重共线性问题提高模型的稳定性和效果。 「特征选择」岭回归可以用于特征选择通过调整正则化参数可以控制模型系数的大小对无关自变量的系数进行惩罚进而筛选出对模型解释力度高的重要特征。 「预测建模」岭回归也可以用于预测建模通过适当地调整正则化参数可以控制模型的复杂度同时避免过拟合问题提高模型的泛化能力。 总之岭回归是一个广泛应用于回归问题的经典模型具有良好的解释性和稳定性是数据科学和机器学习领域中必不可少的工具之一。 末尾我们提一个问题哈lambda这个值怎么选比较合理采用什么算法来选择如果有想了解的欢迎关注和私信我。