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

哪些网站做问卷可以赚钱软文推广怎么写

哪些网站做问卷可以赚钱,软文推广怎么写,关于加强公司网站建设的通知,一个空间怎么做两个网站岭回归算法 岭回归算法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/503676.html

相关文章:

  • 广东网站建设电话徐州自动seo
  • 帝国cms建设 政府网站谷歌优化
  • 闲置tp路由自己做网站互联网营销师培训教材
  • 拼团购物网站怎么做上海十大公关公司排名
  • 东莞工商注册网站可以营销的十大产品
  • 什么网站流量多关键词优化怎么弄
  • 衡水专业网站建设公司中国十大企业管理培训机构
  • 政府网站建设工作室南宁网络推广服务商
  • 网站建设中毒怎么办外贸网站推广优化
  • 高安网站找工作做面点事网站设计模板
  • 百度网站降级的原因关键词排名工具
  • 昆明网站建设方案托管经典网络营销案例
  • 做网站多少宽带够百度首页排名怎么做到
  • 网站建设播放vr视频教程广州seo顾问服务
  • 苏州营销型网站推广北京厦门网站优化
  • 企业网站管理系统登陆网络广告策划方案
  • 手机网站全屏手机网页制作app
  • 网站怎么做视频2022年小学生新闻摘抄十条
  • 各个国家的google网站爱站权重查询
  • 互联在线app开发网站世界球队最新排名
  • 不花钱的做网站市场调研方案
  • 网上游戏赚钱平台贵州seo推广
  • 国家新闻出版署防沉迷西安网站优化推广方案
  • 网站制作的文章手机百度识图网页版入口
  • 上海网站建设微信开发谷歌google下载
  • 品牌网站查询品牌型网站制作价格
  • 网站标题就一个关键词链接买卖
  • 手机端网站动效类怎么做百度首页百度一下
  • 怎么做qq分享网站seo服务外包公司
  • 河北网站建设联系电话谷歌seo网站推广