当前位置: 首页 > wzjs >正文

销售型网站建设基本要素青岛推广优化

销售型网站建设基本要素,青岛推广优化,成为短视频的app有哪些,襄阳住房和城乡建设局网站首页岭回归算法 岭回归算法1.算法步骤2.MATLAB 实现参考资料 岭回归算法 岭回归是一种用于解决线性回归中多重共线性问题的正则化方法。它通过在损失函数中加入 L2 正则化项(即权重的平方和),限制模型参数的大小,从而避免过拟合并提高…

岭回归算法

    • 岭回归算法
      • 1.算法步骤
      • 2.MATLAB 实现
      • 参考资料

岭回归算法

岭回归是一种用于解决线性回归中多重共线性问题的正则化方法。它通过在损失函数中加入 L2 正则化项(即权重的平方和),限制模型参数的大小,从而避免过拟合并提高模型的泛化能力。岭回归的损失函数为: J ( w ) = ∥ y − X w ∥ 2 2 + α ∥ w ∥ 2 2 J(\mathbf{w}) = \|\mathbf{y} - \mathbf{X}\mathbf{w}\|_2^2 + \alpha \|\mathbf{w}\|_2^2 J(w)=yXw22+αw22其中:

  • y \mathbf{y} y 是目标变量( n × 1 n × 1 n×1 向量);
  • X \mathbf{X} X 是特征矩阵( n × p n × p n×p 矩阵);
  • w \mathbf{w} w 是权重向量( p × 1 p×1 p×1 向量);
  • α \alpha α 是正则化参数(控制正则化强度)。

特点

  • L2正则化:通过在损失函数中加入权重参数的平方和(L2范数)作为惩罚项,控制模型复杂度;
  • 参数压缩:所有特征的权重会被均匀压缩,但不会完全为零,保留所有特征;
  • 处理多重共线性:通过正则化稳定参数估计,降低高共线性特征导致的方差;
  • 解析解存在:通过矩阵运算直接求解权重,公式为 w = ( X T X + α I ) − 1 X T y \mathbf{w} = (\mathbf{X}^T \mathbf{X} + \alpha \mathbf{I})^{-1} \mathbf{X}^T \mathbf{y} w=(XTX+αI)1XTy
  • 需标准化数据:正则化项对特征尺度敏感,需提前标准化特征以保证公平惩罚。

优势

  • 解决多重共线性:当特征高度相关时,普通线性回归的参数估计方差大,而岭回归通过正则化降低方差,提升稳定性;
  • 防止过拟合:正则化项限制模型复杂度,减少对噪声数据的敏感度,增强泛化能力;
  • 数值稳定性:加入 α I \alpha \mathbf{I} αI 确保矩阵可逆,即使原始 X T X \mathbf{X}^T \mathbf{X} XTX 是奇异矩阵(如特征数大于样本数);
  • 全局最优解:解析解直接通过矩阵运算获得,无需依赖迭代优化算法;
  • 贝叶斯解释:可视为贝叶斯线性回归的特例,权重服从高斯先验分布,正则化参数 α \alpha α 对应先验精度。

劣势

  • 无法特征选择:L2 正则化仅压缩权重但不将其置零,所有特征均保留,无法自动剔除无关特征(需结合其他方法筛选特征);
  • 依赖正则化参数 α \alpha α α \alpha α 需通过交叉验证或网格搜索调优,增加计算成本;选择不当可能导致欠拟合( α \alpha α 过大)或过拟合( α \alpha α 过小);
  • 对无关特征敏感:若数据中存在大量无关特征,正则化可能无法有效抑制其影响,模型性能可能劣于 Lasso 或弹性网络;
  • 计算复杂度:矩阵求逆的复杂度为 O ( p 3 ) O(p^3) O(p3) p p p 为特征数),特征维度极高时计算成本显著增加;
  • 假设线性关系:与普通线性回归一样,岭回归假设特征与目标变量间存在线性关系,对非线性关系建模能力有限。
指标岭回归 (Ridge)Lasso 回归
正则化类型L2 范数L1 范数
参数特性压缩权重,非稀疏解稀疏解(部分权重为零)
特征选择
多重共线性处理优秀一般
计算复杂度较高(需矩阵求逆)较低(可迭代优化)
适用场景高共线性数据高维数据且需特征选择

1.算法步骤

开始
数据准备
数据标准化
添加偏置项
初始化正则化参数 alpha
计算岭回归权重
模型预测
模型评估
是否选择最优 alpha?
交叉验证选择 alpha
使用最优 alpha 重新训练
输出当前模型
结束
  1. 数据准备

    • 目标:准备用于训练和测试的数据集。
    • 输入
      • 特征矩阵 X \mathbf{X} X n × p n×p n×p n n n 为样本数, p p p 为特征数)。
      • 目标变量 y y y n × 1 n×1 n×1)。
    • 输出:原始数据集 X \mathbf{X} X y y y
  2. 数据标准化

    • 目标:将特征和目标变量标准化,消除量纲影响。
    • 步骤
      • 对特征矩阵 X \mathbf{X} X 的每一列进行标准化: X i j = X i j − μ j σ j \mathbf{X}_{ij} = \frac{X_{ij} - \mu_j}{\sigma_j} Xij=σjXijμj其中 μ j \mu_j μj σ j \sigma_j σj 分别是第 j j j 列的均值和标准差。
      • 对目标变量 y y y 进行标准化: y i = y i − μ y σ y y_i = \frac{y_i - \mu_y}{\sigma_y} yi=σyyiμy
    • 输出:标准化后的 X \mathbf{X} X y y y
  3. 添加偏置项

    • 目标:在特征矩阵中添加一列全 1 的偏置项,用于拟合截距。
    • 步骤
      • X \mathbf{X} X 扩展为 [ 1 , X ] [\mathbf{1},\mathbf{X}] [1,X],其中 1 \mathbf{1} 1 n × 1 n×1 n×1 的全 1 列。
    • 输出:扩展后的特征矩阵 X ( n × ( p + 1 ) ) \mathbf{X} (n×(p+1)) X(n×(p+1))
  4. 初始化正则化参数 alpha

    • 目标:设置正则化参数 α α α 的初始值。
    • 步骤
      • 选择一个初始值(如 α = 1 α=1 α=1)。
      • 如果需要选择最优 α α α,可以定义一组候选值(如 logspace(-3, 3, 100))。
    • 输出:初始或候选的 α α α 值。
  5. 计算岭回归权重

    • 目标:通过解析解计算岭回归的权重向量 w \mathbf{w} w
    • 步骤
      • 计算岭回归的解析解: w = ( X T X + α I ) − 1 X T y \mathbf{w} = (\mathbf{X}^T \mathbf{X} + \alpha \mathbf{I})^{-1} \mathbf{X}^T \mathbf{y} w=(XTX+αI)1XTy其中 I \mathbf{I} I 是单位矩阵(注意不对偏置项正则化)。
    • 输出:权重向量 w ( ( p + 1 ) × 1 ) \mathbf{w}((p+1)×1) w((p+1)×1)
  6. 模型预测

    • 目标:使用训练好的权重对数据进行预测。
    • 步骤
      • 计算预测值: y ^ = X w \hat{y} = \mathbf{X} \mathbf{w} y^=Xw
    • 输出:预测值 y ^ \hat{y} y^​。
  7. 模型评估

    • 目标:评估模型的性能。
    • 步骤
      • 计算均方误差(MSE): MSE = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 \text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 MSE=n1i=1n(yiy^i)2
      • 计算决定系数( R 2 R^2 R2): R 2 = 1 − ∑ i = 1 n ( y i − y ^ i ) 2 ∑ i = 1 n ( y i − y ˉ ) 2 R^2 = 1 - \frac{\sum_{i=1}^{n} (y_i - \hat{y}_i)^2}{\sum_{i=1}^{n} (y_i - \bar{y})^2} R2=1i=1n(yiyˉ)2i=1n(yiy^i)2
    • 输出:MSE 和 R 2 R^2 R2
  8. 是否选择最优 alpha

    • 目标:决定是否需要通过交叉验证选择最优的正则化参数 α α α
    • 步骤
      • 如果数据量较大或需要更精确的模型,选择“是”。
      • 如果仅需快速训练模型,选择“否”。
    • 输出:决策结果。
  9. 交叉验证选择 alpha

    • 目标:通过交叉验证选择最优的正则化参数 α α α
    • 步骤
      • 将数据集分为 k k k 折(如 k = 5 k=5 k=5)。
      • 对每个候选 α α α,计算 k k k 折交叉验证的平均 MSE。
      • 选择使 MSE 最小的 α α α
    • 输出:最优的 α α α
  10. 使用最优 alpha 重新训练

    • 目标:使用最优 α α α 重新训练模型。
    • 步骤
      • 使用最优 α α α 计算权重 w \mathbf{w} w
    • 输出:最终模型权重 w \mathbf{w} w
  11. 输出最终模型

    • 目标:保存或输出训练好的模型。
    • 步骤
      • 保存权重 w \mathbf{w} w 和最优 α α α
      • 输出模型性能(MSE 和 R 2 R^2 R2)。
    • 输出:最终模型及其性能。

2.MATLAB 实现

岭回归算法matlab实现结果①
岭回归算法matlab实现结果②
岭回归算法matlab实现结果③

%% 岭回归算法实现
clc; clear; close all;%% 1. 数据准备
rng(42); % 固定随机种子
n = 100; % 样本数量
p = 10;  % 特征数量% 生成特征矩阵 X(含多重共线性)
X = randn(n, p);
X(:, 3) = X(:, 1) + 0.5 * randn(n, 1); % 第3列与第1列高度相关
X(:, 5) = X(:, 2) - 0.3 * randn(n, 1); % 第5列与第2列高度相关% 生成目标变量 y(线性关系 + 噪声)
true_weights = [3; -2; 1; 1.5; 0; 0; 3; 0; 0; 0]; % 真实权重(部分为0)
y = X * true_weights + randn(n, 1) * 2; % 添加噪声% 标准化数据
X = zscore(X); % 标准化特征
y = zscore(y); % 标准化目标变量% 添加偏置项
X = [ones(n, 1), X]; % 添加全1列%% 2. 岭回归实现
alpha = 1; % 正则化参数
I = eye(p + 1); % 单位矩阵(注意维度)
I(1, 1) = 0;   % 不对偏置项正则化% 计算岭回归权重
w = (X' * X + alpha * I) \ (X' * y);% 提取权重(去掉偏置项)
weights = w(2:end);%% 3. 模型评估
y_pred = X * w; % 预测值
mse = mean((y - y_pred).^2); % 均方误差
r2 = 1 - sum((y - y_pred).^2) / sum((y - mean(y)).^2); % 决定系数fprintf('均方误差 (MSE): %.4f\n', mse);
fprintf('决定系数 (R²): %.4f\n', r2);%% 4. 可视化结果
figure;% 真实权重 vs 岭回归权重
subplot(1, 2, 1);
bar([true_weights, weights]);
legend('真实权重', '岭回归权重');
xlabel('特征索引');
ylabel('权重值');
title('权重对比');% 预测值 vs 真实值
subplot(1, 2, 2);
scatter(y, y_pred, 'filled');
hold on;
plot([min(y), max(y)], [min(y), max(y)], 'r--', 'LineWidth', 2);
xlabel('真实值');
ylabel('预测值');
title('预测值 vs 真实值');
grid on;%% 5. 正则化参数选择(交叉验证)
alphas = logspace(-3, 3, 100); % 正则化参数范围
mse_cv = zeros(size(alphas));% 5折交叉验证
k = 5;
cv = cvpartition(n, 'KFold', k);for i = 1:length(alphas)alpha = alphas(i);mse_fold = zeros(k, 1);for fold = 1:k% 划分训练集和验证集train_idx = cv.training(fold);test_idx = cv.test(fold);X_train = X(train_idx, :);y_train = y(train_idx);X_test = X(test_idx, :);y_test = y(test_idx);% 训练岭回归模型w_cv = (X_train' * X_train + alpha * I) \ (X_train' * y_train);y_pred_cv = X_test * w_cv;% 计算验证集MSEmse_fold(fold) = mean((y_test - y_pred_cv).^2);end% 平均MSEmse_cv(i) = mean(mse_fold);
end% 选择最优 alpha
[best_mse, best_idx] = min(mse_cv);
best_alpha = alphas(best_idx);fprintf('最优正则化参数 alpha: %.4f\n', best_alpha);
fprintf('交叉验证最小 MSE: %.4f\n', best_mse);% 可视化交叉验证结果
figure;
semilogx(alphas, mse_cv, 'LineWidth', 2);
xline(best_alpha, 'r--', '最优 alpha', 'LineWidth', 1.5);
xlabel('正则化参数 alpha');
ylabel('交叉验证 MSE');
title('正则化参数选择');
grid on;

参考资料

[1] 岭回归|说人话的统计学_哔哩哔哩_bilibili
[2] 回归分析-岭回归_哔哩哔哩_bilibili

http://www.dtcms.com/wzjs/342846.html

相关文章:

  • 网站建设安排十大计算机培训学校
  • csdn网站开发项目百度注册网站
  • 建网站啦做个公司网站大概多少钱
  • 哪家网站雅虎全球购做的好乐云seo官网
  • 密云住房和城乡建设委员会网站软件外包公司好不好
  • 微商城手机网站设计小时seo百度关键词点击器
  • wordpress if语句优化seo厂家
  • 网站开发的具体流程seo排名技术软件
  • 网站建设备案审核要多久开发网站需要多少钱
  • 专门做音箱的网站百度推广产品有哪些
  • 济南可信网站口碑营销案例简短
  • 购物网站开发大纲深圳seo技术
  • 鄂伦春网站建设磁力搜索器在线
  • 黄石网站建设教程360优化大师历史版本
  • 小城镇建设 网站官方在线域名ip查询
  • 网站架构企业收费标准网络营销方法有几种类型
  • ps做ppt模板怎么下载网站网店运营在哪里学比较好些
  • 商标网商标购买金华seo扣费
  • 网站建设后期收什么费用网络推广网站有哪些
  • 兰州网站建设平台分析南昌网站建设
  • 泉州最专业手机网站建设定制西安seo外包行者seo06
  • 婚庆网站html模板百度账号官网
  • 做破解的网站网页广告调词平台多少钱
  • wordpress调用二级分类目录搜索引擎优化的基本内容
  • 国外有个专门做麋鹿测试的网站杭州网站定制
  • wordpress换空间域名谷歌seo和百度区别
  • 企业网站源代码免费下载网站标题算关键词优化吗
  • cms开源网站管理系统怎么样做推广
  • 做网站要准备什么企业推广app
  • 有什么网站可以做外贸出口信息企业网站优化哪家好