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

Scikit-Learn线性回归(五)

Scikit-Learn线性回归五:岭回归与Lasso回归

    • 1、误差与模型复杂度
    • 2、范数与正则化
      • 2.1、范数
      • 2.2、正则化
    • 3、Scikit-Learn Ridge回归(岭回归)
    • 4、Scikit-Learn Lasso回归



1、误差与模型复杂度


在第二篇文章 Scikit-Learn线性回归(二) 中,我们已经给出了过拟合与模型泛化的概念并使用案例进行了验证

在机器学习中,我们通常会将数据划分为两部分:一部分用来构建模型,然后另一部分用来检验模型的效果。构建模型所用的数据集称为训练集,而验证模型的数据集称为测试集。模型在训练集上的误差称为训练误差(或经验误差);在测试集上的误差称为泛化误差(Generalization Error)

机器学习的目的是探索隐含在数据背后的规律,对具有同一规律的学习集以外的数据,经过训练的模型也能给出合适的输出,该能力称为泛化能力

泛化误差反映了模型对未知数据的预测能力(泛化能力),而我们采用最多的也就是通过泛化误差来评价模型的泛化能力。泛化误差刻画了模型算法的经验风险与期望风险之间的偏差和收敛速度

过拟合是指模型在训练集中表现良好,而在测试集中表现很差,即泛化误差大于经验误差,说明拟合过度,模型泛化能力降低,只能够适用于训练集,通用性不强;欠拟合则指的是模型在训练集中的表现就很差,即经验误差很大

在这里插入图片描述

如图所示,图一表示过拟合,可以看到拟合曲线完美的经过了每一个点,模型非常复杂,这种情况下,经验误差极小,但是预测值的方差(误差平方和)会很大。图二表示欠拟合,此时模型过于简单,在训练集上的误差就很大。图三则表示一个理想的拟合模型

欠拟合出现的原因是模型复杂度太低。可能是回归模型自变量(特征)较少或模型不合适。针对欠拟合,解决方案是增大模型复杂度,可以增加自变量(特征)或改变模型。例如,将一阶多元回归模型升级为多项式回归模型

过拟合出现的原因则是模型复杂度太高或训练集太少。可能是自变量(特征)过多或训练集数据量太少等。针对过拟合,除了增加训练集数据量外,还有多种优化算法可以处理。例如,正则化

一般情况下,误差与模型复杂度之间存在如下关系:

在这里插入图片描述

如上图所示,横坐标表示模型的复杂度,纵坐标表示模型的误差。其中,偏差(误差)表示真实值与预测值之间的差值;方差表示回归系数的方差,即误差平方(损失函数或误差平方和为所有样本的偏差平方之和)

泛化误差可以分解为三个部分:偏差(Bias)、方差(Variance)和噪声(Noise)。在评估学习模型性能的过程中,我们主要关注偏差与方差,因为噪声属于不可约减的误差(Irreducible Error)
泛化误差 = 偏差 + 方差 + 噪声 泛化误差=偏差 + 方差 + 噪声 泛化误差=偏差+方差+噪声

偏差表示学习模型的期望预测与测试集标签的偏离程度,即刻画了学习模型本身的拟合能力。训练模型越复杂,则偏差越小,例如,线性回归可以通过增加参数个数来提高模型的复杂度,神经网络可以通过增加隐单元个数来提高模型的复杂度

方差表示同样大小的训练数据集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响。若模型处于过拟合状态,不同训练数据集产生的学习模型相差较大

噪声表示任何学习模型所能达到期望泛化误差的下界,即刻画了学习问题本身的难度。若噪声比较大,即使是最优模型,泛化误差也比较大

从图中可得,随着模型复杂度的提升,方差会不断增大,偏差会逐渐减小,而泛化误差会受偏差和方差的影响,我们的目标是找到泛化误差的最小值,这可以通过平衡偏差与方差来实现

2、范数与正则化

2.1、范数


范数(Norm)的概念来源于泛函分析与测度理论。其中的定义相当简单明了:范数是具有长度概念的函数,用于衡量一个矢量的大小(测量矢量的测度)

范数是一种距离强化概念,范数通常被用来度量某个向量空间 ∣ ∣ x ∣ ∣ ||x|| ∣∣x∣∣(或矩阵 ∣ ∣ X ∣ ∣ ||X|| ∣∣X∣∣)中的每个向量的长度或大小。范数可以简单的理解为向量的长度,即向量点到坐标零点的距离:
∣ ∣ x i ∣ ∣ 2 = ∣ x i ∣ 2 ||x_i||_2=\sqrt{|x_i|^2} ∣∣xi2=xi2

例如,向量 x x x= ( 3 , − 4 ) (3,-4) (3,4)= [ 3 , − 4 ] T [3,-4]^T [3,4]T的欧式范数 (Euclidean Norm) 为
∣ ∣ x ∣ ∣ 2 = 3 2 + ( − 4 ) 2 = 5 ||x||_2=\sqrt{3^2+(-4)^2}=5 ∣∣x2=32+(4)2 =5

这个范数也被称为L2范数,用于表示向量的长度或大小。L2范数是通常意义上的模(距离)。L2范数的本质是欧式距离,即两个向量在每个点相减后的平方和再开方(其中另一个点为坐标零点)

那么,一个向量空间或矩阵的L2范数(m个样本)可以表示为:
∣ ∣ x ∣ ∣ 2 = ∑ i = 1 m ∣ x i ∣ 2 ||x||_2=\sqrt{{\sum_{i=1}^m}|x_i|^2} ∣∣x2=i=1mxi2

为方便统一,一般的,使用L-P范数表示向量空间或矩阵到零点的P阶闵氏距离(Minkowski Distance):
∣ ∣ x ∣ ∣ P = ( ∑ i = 1 m ∣ x i ∣ P ) 1 P ||x||_P=\left({\sum_{i=1}^m}|x_i|^P\right)^\frac{1}{P} ∣∣xP=(i=1mxiP)P1

范数实际上就是一种用于向量或矩阵距离度量的数学定义。L-P范数的数学含义是计算向量元素绝对值的p次方和的 1 P \frac{1}{P} P1次幂。范数分为向量范数(二维坐标系)和矩阵范数(多维空间),这里只讨论向量范数

根据 P P P的不同,向量范数分为多种:
在这里插入图片描述

上图表示了 P P P从无穷到0变化时三维空间中向量到零点的距离(范数)为1的点构成的图形的变化情况。例如L2范数,即欧氏距离,向量空间中到零点的欧氏距离为1的点构成了一个球面

而二维平面上(以P=2和P=1为例)的向量范数表示的图形如下:

在这里插入图片描述

从图中可以直观的得到,随着P越大,等高线围成的图型越接近正方形(正无穷范数);当P=2时,等高线围成的图型变为圆;随着P越小,等高线会越接近坐标零点(负无穷范数)

对于向量 x x x= ( x 1 , x 2 , . . . , x m ) (x_1,x_2,...,x_m) (x1,x2,...,xm),常见的范数有:

1)− ∞ \infty 范数:所有向量元素绝对值中的最小值
∣ ∣ x ∣ ∣ − ∞ = arg ⁡ min ⁡ i ∣ x i ∣ ||x||_{-\infty}=\arg\min_i|x_i| ∣∣x=argiminxi

2)L0范数:L0范数并不是一个真正的范数,L0范数主要用于度量向量中非零元素的个数
∣ ∣ x ∣ ∣ 0 ||x||_0

相关文章:

Scikit-Learn线性回归(五)

Scikit-Learn线性回归五:岭回归与Lasso回归 1、误差与模型复杂度2、范数与正则化2.1、范数2.2、正则化3、Scikit-Learn Ridge回归(岭回归)4、Scikit-Learn Lasso回归1、误差与模型复杂度 在第二篇文章 Scikit-Learn线性回归(二) 中,我们已经给出了过拟合与模型泛化的概念并…...

React(2): 使用 html2canvas 生成图片

使用 html2canvas 生成图片 需求 将所需的内容生成图片div 中包括 svg 等 前置准备 "react": "^18.2.0","react-dom": "^18.2.0","html2canvas": "^1.4.1",实现 <div ref{payRef}></div>const pa…...

CAN物理层协议介绍

目录 ​编辑 1. CAN协议简介 2. CAN物理层 3. 通讯节点 4. 差分信号 5. CAN协议中的差分信号 1. CAN协议简介 CAN是控制器局域网络(Controller Area Network)的简称,它是由研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO11519) &#xff0…...

华为OD机试真题-计算面积-2023年OD统一考试(C卷)

题目描述: 绘图机器的绘图笔初始位置在原点(0, 0),机器启动后其绘图笔按下面规则绘制直线: 1)尝试沿着横向坐标轴正向绘制直线,直到给定的终点值E。 2)期间可通过指令在纵坐标轴方向进行偏移,并同时绘制直线,偏移后按规则1 绘制直线;指令的格式为X offsetY,表示在横…...

设计模式之策略模式【行为型模式】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档> 学习的最大理由是想摆脱平庸&#xff0c;早一天就多一份人生的精彩&#xff1b;迟一天就多一天平庸的困扰。各位小伙伴&#xff0c;如果您&#xff1a; 想系统/深入学习某…...

git使用(完整流程)

1. 新建仓库 1.右击 git bash 后 输入 git init (仓库为:当前目录) git init name (仓库为:name文件夹) git clone https://github.com/Winnie996/calculate.git //https2.工作区域 工作目录 3. 添加 提交 git add . //工作区添加至暂存区 git commit -m "注释内容&q…...

九、HTML头部<head>

一、HTML头部<head> 1、<title>- 定义了HTML文档的标题 使用 <title> 标签定义HTML文档的标题 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>我的 HTML 的第一页</title> </head><b…...

机器学习期末复习

机器学习 选择题名词解释&#xff1a;简答题计算题一、线性回归二、决策树三、贝叶斯 选择题 机器学习利用经验 &#xff0c;须对以下&#xff08;&#xff09;进行分析 A 天气 B 数据 C 生活 D 语言 归纳偏好值指机器学习算法在学习的过程中&#xff0c;对以下&#xff08;&a…...

python-日志模块以及实际使用设计

python-日志模块以及实际使用设计 1. 基本组成 日志模块四个组成部分&#xff1a; 日志对象&#xff1a;产生日志信息日志处理器&#xff1a;将日志信息输出到指定地方&#xff0c;例如终端、文件。格式器&#xff1a;在日志处理器输出之前&#xff0c;对信息进行各方面的美化…...

googlecode.log4jdbc慢sql日志,格式化sql

前言 无论使用原生JDBC、mybatis还是hibernate&#xff0c;使用log4j等日志框架可以看到生成的SQL&#xff0c;但是占位符和参数总是分开打印的&#xff0c;不便于分析&#xff0c;显示如下的效果: googlecode Log4jdbc 是一个开源 SQL 日志组件&#xff0c;它使用代理模式实…...

Linux程序、进程和计划任务

目录 一.程序和进程 1.程序的概念 2.进程的概念 3.线程的概念 4.单线程与多线程 5.进程的状态 二.查看进程信息相关命令&#xff1a; 1.ps&#xff1a;查看静态进程信息状态 2.top&#xff1a;查看动态进程排名信息 3.pgrep&#xff1a;查看指定进程 4.pstree&#…...

【MySQL】索引基础

文章目录 1. 索引介绍2. 创建索引 create index…on…2.1 explain2.2 创建索引create index … on…2.3 删除索引 drop index … on 表名 3. 查看索引 show indexes in …4. 前缀索引4.1 确定最佳前缀长度&#xff1a;索引的选择性 5. 全文索引5.1 创建全文索引 create fulltex…...

精确管理Python项目依赖:自动生成requirements.txt的智能方法

在Python中&#xff0c;可以使用几种方法来自动生成requirements.txt文件。这个文件通常用于列出项目所需的所有依赖包及其版本&#xff0c;使其他人或系统可以轻松地重现相同的环境。下面是几种常见的方法&#xff1a; 使用pip freeze&#xff1a; 这是最常见的方法。pip free…...

JavaWeb基础(1)- Html与JavaScript(JavaScript基础语法、变量、数据类型、运算符、函数、对象、事件监听、正则表达式)

JavaWeb基础&#xff08;1&#xff09;- Html与JavaScript(JavaScript基础语法、变量、数据类型、运算符、函数、对象、事件监听、正则表达式) 文章目录 JavaWeb基础&#xff08;1&#xff09;- Html与JavaScript(JavaScript基础语法、变量、数据类型、运算符、函数、对象、事件…...

java SSM体育器材租借管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM体育器材租借管理系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要…...

西电期末1030.函数的最大值

一.题目 二.分析与思路 函数打擂台&#xff0c;注意数据类型和保留精度 三.代码实现 #include<bits/stdc.h>//万能头 double f(double x,double a){return a*x*x-x*x*x; }//f(x) int main() {double a;scanf("%lf",&a);double max-1000001;//打擂台for(…...

在Docker中安装Tomact

目录 前言&#xff1a; 一.安装Tomact 查找指定的tomact版本 下载tomact9.0 查看该镜像是否安装成功 安装成功之后就开始运行镜像了 ps&#xff08;用于列出正在运行的Docker容器&#xff09; ​编辑 测试(虚拟机ip:8080) ​编辑 解决措施 ​编辑 完成以上步骤&…...

【书生大模型00--开源体系介绍】

书生大模型开源体系介绍 0 通用人工智能1 InternLM性能及模型2 从模型到应用 大模型成为目前很热的关键词&#xff0c;最热门的研究方向&#xff0c;热门的应用&#xff1b;ChatGPT的横空出世所引爆&#xff0c;快速被人们上手应用到各领域&#xff1b; 0 通用人工智能 相信使…...

基于GPT-3、ChatGPT、GPT-4等Transformer架构的自然语言处理

文章目录 一、内容简介二、前言2.1 Transformer 模型标志着AI 新时代的开始2.2 Transformer 架构具有革命性和颠覆性2.3 Google BERT 和OpenAI GPT-3 等Transformer 模型将AI 提升到另一个层次2.4 本书将带给你的“芝士”2.5 本书面向的读者 三、本书内容简介3.1 第一章3.2 第二…...

一款开源的MES系统

随着工业4.0的快速发展&#xff0c;制造执行系统&#xff08;MES&#xff09;成为了智能制造的核心。今天&#xff0c;将为大家推荐一款开源的MES系统——iMES工厂管家。 什么是iMES工厂管家 iMES工厂管家是一款专为中小型制造企业打造的开源MES系统。它具备高度的可定制性和灵…...

https配置证书

HTTPS 基本原理 https 介绍 HTTPS&#xff08;全称&#xff1a;HyperText Transfer Protocol over Secure Socket Layer&#xff09;&#xff0c;其实 HTTPS 并不是一个新鲜协议&#xff0c;Google 很早就开始启用了&#xff0c;初衷是为了保证数据安全。 国内外的大型互联网…...

图神经网络|10.4 GCN 变换原理的解读

由9.3-邻接矩阵的变换可知&#xff0c;理解矩阵通过两个度矩阵的逆进行归一化。 微观上看&#xff0c; a i j a_{ij} aij​这个元素将会乘上 1 d e g ( v i ) d e g ( v j ) \frac{1}{\sqrt{deg_(v_i)\sqrt{deg(v_j)}}} deg(​vi​)deg(vj​) ​ ​1​ 其现实意义如下—— 比如…...

计算机组成原理 I/O方式

I/O 方式 I/O方式分类: 程序查询方式。由 CPU通过程序不断查询 /O 设备是否已做好准备&#xff0c;从而控制0 设备与主机交换信息程序中断方式。只在 I/0 设备准备就绪并向 CPU发出中断请求时才予以响应。DMA方式。主存和 I/O 设备之间有一条直接数据通路&#xff0c;当主存和…...

VMWare网络配置

1、通用配置 选择自动&#xff0c;相对与选择指定网卡&#xff0c;能解决网卡更换导致网络不可用的问题。 2、每个虚拟机配置...

opencv期末练习题(3)附带解析

创建黑色画板&#xff0c;并支持两种画图功能 import mathimport cv2 import numpy as np """ 1. 创建一个黑色画板 2. 输入q退出 3. 输入m切换画图模式两种模式&#xff0c;画矩形和画圆形。用户按住鼠标左键到一个位置然后释放就可以画出对应的图像 "&qu…...

51单片机之LED灯

51单片机之LED灯 &#x1f334;前言&#xff1a;&#x1f3ee;点亮LED灯的原理&#x1f498;点亮你的第一个LED灯&#x1f498;点亮你的八个LED灯 &#x1f4cc;让LED灯闪烁的原理&#x1f3bd; LED灯的闪烁&#x1f3d3;错误示范1&#x1f3d3;正确的LED闪烁代码应该是这样&am…...

操作系统内存碎片

大家好&#xff0c;我叫徐锦桐&#xff0c;个人博客地址为www.xujintong.com&#xff0c;github地址为https://github.com/jintongxu。平时记录一下学习计算机过程中获取的知识&#xff0c;还有日常折腾的经验&#xff0c;欢迎大家访问。 一、前言 内存碎片是指无法被利用的内…...

三菱plc学习入门(二,三菱plc指令,触点比较,计数器,交替,四则运算,转换数据类型)

今天&#xff0c;进行总结对plc的学习&#xff0c;下面是对plc基础的学习&#xff0c;希望对读者有帮助&#xff0c;欢迎点赞&#xff0c;评论&#xff0c;收藏&#xff01;&#xff01;&#xff01; 目录 触点比较 当数据太大了的时候&#xff08;LDD32位&#xff09; CMP比…...

Spring学习之——代理模式

Proxy代理模式 介绍 为其他对象提供一种代理以控制对这个对象的访问。在某些情况下&#xff0c;一个对象不适合或者不能直接引用另一个对象&#xff0c;而代理对象可以在客户端和目标对象之间起到中介的作用 2. 组成 抽象角色&#xff1a;通过接口或抽象类声明真实角色实现的…...

【Linux】之搭建 PostgreSQL 环境

前言 在 Linux 系统下安装 PostgreSQL&#xff0c;可以选择快捷方便的 Docker 安装&#xff0c;但正常的服务器都是直接原生安装的&#xff0c;所以&#xff0c;这里我将讲解如何正常安装 PostgreSQL 以及安装之后的一些配置。如果想了解 Docker 安装的话&#xff0c;可以查看我…...

广州网站建设优化/广告推广方式有哪几种

tcp_socket /** config.h 包含该tcp/ip套接字编程所需要的基本头文件&#xff0c;与server.c client.c位于同一目录下 */#include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <sys/types.h> #includ…...

网站本地建设/公司关键词排名优化

合肥程序员群&#xff1a;49313181。 合肥实名程序员群&#xff1a;128131462 (不愿透露姓名和信息者勿加入)Q Q:408365330 E-Mail:egojitqq.com PE概述&#xff1a; 在从写程序开始就知道exe后缀名。当然不是程序员&#xff0c;看到*.exe这样的都知道是window下的可执…...

做微商怎样加入网站卖东西赚钱/网络工程师

Jstl.jar包是一款java中项目中如果要使用JSTL和EL表达式,就必须导入jstl.jar和standard.jar文件,可以让程序猿们在日常生活中更节约时间。导入方式(因为每个人对jar文件使用的用途不一样,推荐了三种导入jar的方法供用户选择)方式一&#xff1a;需要经常使用这个jar包的方式最常…...

怎么用visual studio做网站/上海seo顾问

在实际业务场景中&#xff0c;我们需要将每天产生的业务数据写入到odps一个新的分区内&#xff0c;以便后期进行数据分析。 在DataWorks我们可以通过定时任务调度参数实现这一特点。 本文将从取“业务时间”维度来看调度参数每日替换情况&#xff08;此操作类似于你在运维中心中…...

外贸独立站是什么意思/百度竞价推广关键词优化

团队文化之舒适区和挑战区舒适区和挑战区想要进步&#xff0c;就要走出舒适区&#xff0c;直面挑战&#xff01;自我挑战要面临的是不舒服、痛苦&#xff0c;要做的是坚持&#xff0c;再坚持&#xff01;舒适区是一个自我的安全空间&#xff0c;由四面墙构成&#xff1a;固定的…...

做网站上面图片的软件/网络营销的八种方式

搜索 bioskey 转载于:https://www.cnblogs.com/yangyh/archive/2010/03/26/1696777.html...