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

scikit-learn/sklearn学习|岭回归解读

【1】引言

前序学习进程中,对用scikit-learn表达线性回归进行了初步解读。
线性回归能够将因变量yyy表达成由自变量xxx、线性系数矩阵www和截距bbb组成的线性函数式:
y=∑i=1nwi⋅xi+b=wTx+by=\sum_{i=1}^{n}w_{i}\cdot x_{i}+b=w^T{x}+by=i=1nwixi+b=wTx+b实际上很多时候数据之间不一定是理想化的线性关系,所以需要对线性关系式进行修正,这个时候就可以考虑岭回归。

【2】岭回归的原理

岭回归是修正后的线性回归,所以描述岭回归,必须先会议线性回归。
在用scikit-learn表达线性回归中,我们在代码中使用了一个参数:均方误差。

【2.1】线性回归均方误差

对于线性回归,均方误差的计算式子为:
L(w,b)=∑i=1n(yi−yi^)2=∑i=1n(yi−(wTxi+b))2L(w,b)=\sum_{i=1}^{n}(y_{i}-\hat{y_{i}})^2=\sum_{i=1}^{n}(y_{i}-(w^Tx_{i}+b))^2L(w,b)=i=1n(yiyi^)2=i=1n(yi(wTxi+b))2在这里,yyy是第i个样本的真实值,y^\hat{y}y^是第i个样本的预测值。
线性回归的均方误差将真实值和预测值作差后求平方和即可。

【2.2】岭回归均方误差

岭回归相对于线性回归,均方误差的计算式子增加了对参数权重平方和的计算,称之为L2正则化惩罚项:
L(w,b)=∑i=1n(yi−yi^)2+α∑j=1mwj2=∑i=1n(yi−(wTxi+b))2+α∑j=1mwj2L(w,b)=\sum_{i=1}^{n}(y_{i}-\hat{y_{i}})^2+\alpha\sum_{j=1}^{m}w_{j}^{2}=\sum_{i=1}^{n}(y_{i}-(w^Tx_{i}+b))^2+\alpha\sum_{j=1}^{m}w_{j}^{2}L(w,b)=i=1n(yiyi^)2+αj=1mwj2=i=1n(yi(wTxi+b))2+αj=1mwj2在这里,yyy是第i个样本的真实值,y^\hat{y}y^是第i个样本的预测值。
新增加的L2正则化惩罚项α∑j=1mwj2\alpha\sum_{j=1}^{m}w_{j}^{2}αj=1mwj2包括两部分:
第一部分α>0\alpha>0α>0代表正则化强度,可以控制对第二项惩罚的力度;
第二部分∑j=1mwj2\sum_{j=1}^{m}w_{j}^{2}j=1mwj2是所有线性系数的平方和。
α\alphaα越大,惩罚项整体就会越大,这个时候往往需要将wjw_{j}wj调小,也就是通过调整wj→0w_{j}\rightarrow 0wj0来避免过度拟合;
α=0\alpha=0α=0,此时惩罚项不起作用,岭回归退化为线性回归。

【2.3】岭回归的意义

岭回归通过添加惩罚项解决了线性回归至少两个问题:
多重共线性,当变量之间高度相关时,在线性回归计算中可能获得极大的wjw_{j}wj,通过惩罚项可以将这些参数下降到较小的范围,使得模型对数据波动的敏感性降低,从而获得更加稳健的效果;
过拟合,当变量过多或者噪声过大时,线性回归可能过度拟合数据,惩罚项通过将线性系数wjw_{j}wj调小,让模型更倾向于关注整体趋势而非噪音。

【3】总结

岭回归和线性回归都是线性关系式的推演,但岭回归通过L2正则化惩罚项让线性系数wjw_{j}wj保持在合理且较小的范围,让回归模型更稳健、更准确。

http://www.dtcms.com/a/326240.html

相关文章:

  • AI 视频卫士:AI 无人机巡检,适配多元河道场景的治理利器
  • 网络基础与套接字的学习
  • canvas实现图片标注之Fabric.js从入门学习到实现labelImg矩形多边形标注工具【下】
  • 河北邢台数控滑台与机器人行走轨道的内在联系
  • 煤矿工地运煤卡车的4G远程视频监控解决方案
  • QT通过qputenv设置环境变量与使用(AI生成)
  • vue2中this.$createElement()在vue3中应该如何改造
  • 开闭原则代码示例
  • Spring Framework源码解析——BeanPostProcessor
  • 进程的理解
  • 无人机航拍数据集|第12期 无人机停车场车辆计数目标检测YOLO数据集1568张yolov11/yolov8/yolov5可训练
  • 数字图像处理4
  • Spring Framework源码解析——InitializingBean
  • 线程池ThreadPoolExecutor源码剖笔记
  • 对自己的 app 进行分析, 诊断,审视
  • pcl完成halcon3d中的下采样(按对角个数)
  • 网络资源模板--基于Android Studio 实现的手绘板App
  • DNS(域名系统)详解与 BIND 服务搭建
  • C# 异步编程(BeginInvoke和EndInvoke)
  • 【Java后端】Quartz任务调度核心机制详解:从基础编排到动态控制
  • Qwen 3 架构深度解析:混合推理、MoE创新与开源生态的全面突破
  • CSPOJ:1561: 【提高】买木头
  • 智能小e-智能办公文档
  • OCAD for Orienteering 20Crack 定向越野:工作流程
  • Chrome插件开发【Service Worker练手小项目】
  • MySQL 运算符
  • [CSP-J 2021] 小熊的果篮
  • Oracle数据库Library cache lock阻塞问题排查
  • 银河麒麟V10配置KVM的Ubuntu虚机GPU直通实战
  • AI测试平台实战:深入解析自动化评分和多模型对比评测