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

信息检索与数据挖掘 | (十)线性回归与逻辑回归

文章目录

  • 📚线性回归算法流程
  • 📚Bias and variance
  • 📚过拟合&欠拟合
  • 📚逻辑回归算法流程

📚线性回归算法流程

  • y=b+w·x

  • 使用loss function L来评估函数的好坏
    在这里插入图片描述

  • 从而我们要选择使L最小的模型参数w,b

在这里插入图片描述

  • 使用梯度下降的方法

    在这里插入图片描述

    在这里插入图片描述

  • 从而求导得:

    在这里插入图片描述

📚Bias and variance

  • error原因——bias(模型偏差)和variance(数据方差):
  • 数学原理
    • 随机变量x的均值为 μ \mu μ,方差为 σ 2 \sigma^2 σ2
    • 随机采样N个点,其均值不等于 μ \mu μ,但是期望等于 μ \mu μ,是无偏的 ,均值的方差是 σ 2 / N \sigma^2/N σ2/N
    • N个点的方差记为 s 2 s^2 s2,方差的期望为 ( N − 1 ) / N ⋅ σ 2 (N-1)/N·\sigma^2 (N1)/Nσ2,不等于 σ 2 \sigma^2 σ2
    • 用bias表示整体距离实际值的距离,用variance表示点的分散程度

在这里插入图片描述

每次采样一个训练集,训练一个模型,采样100次

  • 简单模型:模型直接的variance很小,但是bias可能略大

  • 复杂模型:variance很大,但是bias会小

模型会更拟合数据点,各个模型直接的差别很大,所以简单的模型受采样数据的影响更小

  • 模型分析

    • 我们对每个模型f*取均值,看是否接近真实的模型f,如果差得远,则bias大,接近则bias小
    • 大bias小variance可能是欠拟合,而小bias大variance可能是过拟合。
    • 如果数据无法很好的拟合训练集,则会有大bias,欠拟合;如果可以很好拟合训练集,但是在测试集上表现不好,会有大的variance,过拟合。
  • 解决方法

    • 对于大bias欠拟合来说,可以重新选择模型,增加输入特征,或者是使用更复杂的模型,或者进行交叉验证
    • 对于大variance过拟合来说,可以增加数据集的数量,或者是引入正则项
    • 在bias和variance之间存在trade-off,可以选择模型使得total-error最小即可。

📚过拟合&欠拟合

  • 欠拟合
    • 定义:模型无法捕捉数据中的规律和复杂性,表现为训练误差和测试误差都较高。
    • 原因:模型的复杂度不够,无法很好地拟合数据。
    • 解决方法:提高模型复杂度、增加特征数量、增加模型的学习能力等。
  • 过拟合
    • 定义:模型过度拟合了训练数据的噪声和细节,表现为在训练集上表现良好,在测试集上表现较差。
    • 原因:模型复杂度过高,导致模型过度适应训练数据的特征和噪声。
    • 解决方法:降低模型复杂度、增加数据量、采用正则化方法(如L1、L2正则化)等。
  • 改进方法
    • 交叉验证:通过交叉验证来选择合适的模型复杂度,同时避免过拟合和欠拟合。
    • 特征选择:选取对模型预测有用的特征,在避免过多无用特征的情况下,消除噪声的影响。
    • 正则化:通过L1或L2正则化,限制模型参数的大小,防止模型过拟合。
    • 增加数据量:增加数据量可以帮助模型更好地捕捉数据的规律,减少模型的过拟合情况。
    • 集成学习:使用集成学习方法,如bagging、boosting等,可以在一定程度上减小模型的过拟合风险。

  • 关于交叉验证
    • 交叉验证是一种评估模型性能和泛化能力的统计学方法。它通过反复地将数据集划分为训练集和验证集,在训练集上训练,在验证集上测试,来评估模型的性能。
    • 常见的交叉验证方法包括k折交叉验证留一交叉验证等。在k折交叉验证中,数据集被随机分成k个大小相似的互斥子集,每个子集都尽可能保持数据分布的一致性。然后,进行k次模型训练和测试,每次选择一个子集作为验证集,其余的k-1个子集作为训练集,取结果最好的作为最终模型。
    • 交叉验证的目的是:
      • 评估模型的性能:通过交叉验证,可以更准确地评估模型的性能,而不会受到单次划分数据带来的偶然性影响。
      • 泛化能力:交叉验证可以更好地评估模型的泛化能力,即模型对未见过的数据的适应能力。
      • 另外,对于数据较少的情况下,交叉验证可以最大限度地利用有限的数据,减小因训练集和测试集的划分不同导致评估性能的差异。在模型选择以及调参时也非常有用,可以帮助选择最优模型并提高模型的性能。

📚逻辑回归算法流程

  • 分类即输入一个样本,判断其类别,损失函数为:
    在这里插入图片描述

  • 使用sigmoid函数,将概率划分到[0,1]之间:
    在这里插入图片描述

  • 使用交叉熵损失函数的方法找到最优的w和b,便于求导取-log,乘积变为求和:
    在这里插入图片描述

  • 然后将f函数全部代回对w求导找最优解,求导后的结果为:
    在这里插入图片描述

  • 求导之后可知f=1,y=1时,f=0,y=0时cross Entropy最小,从而wx->正无穷,y=1,wx->负无穷,y=0


  • 使用逻辑回归进行多分类的话,sigmoid函数变为:
    在这里插入图片描述

  • 所有的y求和为1,y表示第i类的概率,是softmax操作softmax就是把一些输入映射为0-1之间的实数,并且归一化保证和为1

  • 逻辑回归只能对线性可分的数据有闭式解,对于线性不可分的数据分类能力很差,可以进行特征转化,从原特征映射到新的特征空间,然后在新的特征空间进行分类。


在这里插入图片描述

⭐️补充博客

  • 单变量线性回归
  • 多变量线性回归
  • 逻辑回归
  • 优化算法 | 评估方法

相关文章:

信息检索与数据挖掘 | (十)线性回归与逻辑回归

文章目录 📚线性回归算法流程📚Bias and variance📚过拟合&欠拟合📚逻辑回归算法流程 📚线性回归算法流程 ybwx 使用loss function L来评估函数的好坏 从而我们要选择使L最小的模型参数w,b 使用梯度下降的方法…...

【issue-halcon例程学习】measure_arc.hdev

例程功能 检查倒角后铸件的细长孔之间的距离。 代码如下 read_image (Zeiss1, zeiss1) get_image_size (Zeiss1, Width, Height) dev_close_window () dev_open_window (0, 0, Width / 2, Height / 2, black, WindowHandle) set_display_font (WindowHandle, 14, mono, true,…...

RKE快速搭建离线k8s集群并用rancher管理界面

转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 本文记录使用RKE快速搭建一套k8s集群过程,使用的rancher老版本2.5.7(当前最新版为2.7)。适用…...

代码随想录算法训练营第十四天|● 理论基础 ● 递归遍历 ● 迭代遍历 ● 统一迭代

仅做学习笔记,详细请访问代码随想录 ● 理论基础 ● 递归遍历 ● 迭代遍历 ● 统一迭代 单层递归的逻辑就是按照中左右的顺序来处理的,这样二叉树的前序遍历,基本就写完了,再看一下完整代码: 前序遍历: …...

❤css实用

❤ css实用 渐变色边框(Gradient borders方法的汇总 5种) 给 border 设置渐变色是很常见的效果,实现这个效果有很多思路 1、使用 border-image 使用 css 的 border-image 属性给 border 绘制复杂图样 与 background-image 类似,我…...

web系统架构基于springCloud的各技术栈

博主目前开发的web系统架构是基于springCloud的一套微服务架构。 使用的技术栈:springbootmysqlclickhousepostgresqlredisrocketMqosseurekabase-gatewayapollodockernginxvue的一套web架构。 一、springboot3.0 特性:Spring Boot 3.0提供了许多新特性…...

【第十五课】数据结构:堆 (“堆”的介绍+主要操作 / acwing-838堆排序 / 时间复杂度的分析 / c++代码 )

目录 关于堆的一些知识的回顾 数据结构:堆的特点 "down" 和 "up":维护堆的性质 down up 数据结构:堆的主要操作 acwing-838堆排序 代码如下 时间复杂度分析 确实是在写的过程中频繁回顾了很多关于树的知识&…...

el-select选项过多导致页面卡顿,路由跳转卡顿

问题:el-select数据量太大,导致渲染过慢,或造成页面卡顿甚至于卡死 卡顿原因:DOM中数据过多,超过内存限制 解决方法: 1.使用Virtualized Select 虚拟化选择器,页面就不卡了 2.el-select做分…...

信息流广告参数回传工具怎么做联调

信息流广告在抖音等平台上越来越受到广告主的青睐,它能够在用户浏览内容的同时,以自然的方式展示广告,提高曝光率和点击率。然而,为了更好地评估广告效果,需要进行参数回传联调。本文将介绍一种实用的工具——数灵通外…...

matlab appdesigner系列-常用18-表格

表格,常用来导入外部表格数据 示例: 导入外界excel数据:data.xlsx 姓名年龄城市王一18长沙王二21上海王三56武汉王四47北京王五88成都王六23长春 操作步骤如下: 1)将表格拖拽到画布上 2)对app1右键进行…...

密码学的100个基本概念

密码学作为信息安全的基础,极为重要,本文分为上下两部分,总计10个章节,回顾了密码学的100个基本概念,供小伙伴们学习参考。本文将先介绍前五个章节的内容。 一、密码学历史 二、密码学基础 三、分组密码 四、序列密码 五、哈希…...

Python中的进制转换——bin/oct/hex函数与int函数

简介 进制转换可能是一个工作学习中的常见小任务,手写相关函数显然很麻烦。 Python有相关内置函数一般能满足我们的需求。bin()、oct()、hex()将十进制转换为常用的二、八、十六进制,而 int()函数可指定第二个参数从而将其它进制转换为十进制。或许后者…...

RT-Thread 瑞萨 智能家居网络开发:RA6M3 HMI Board 以太网+GUI技术实践

不用放大了, 我在包里找到张不小的…… 以太网HMI线下培训-环境准备 这是社群的文档:【腾讯文档】以太网线下培训(HMI-Board) https://docs.qq.com/doc/DY0FIWFVuTEpORlNn 先介绍周六的培训是啥,然后再介绍一下要准…...

力扣刷题第十天 美丽塔 一

给你一个长度为 n 下标从 0 开始的整数数组 maxHeights 。 你的任务是在坐标轴上建 n 座塔。第 i 座塔的下标为 i &#xff0c;高度为 heights[i] 。 如果以下条件满足&#xff0c;我们称这些塔是 美丽 的&#xff1a; 1 < heights[i] < maxHeights[i]heights 是一个 山脉…...

c# ADODB.Recordset实例调用Fields报错

代码&#xff1a; using System; using System.CodeDom; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using ADODB;namespace ConsoleApp1 {internal class Programre{static ADODB.Recordset recordsetInstance…...

windows和linux下SHA1,MD5,SHA256校验办法

今天更新android studio到Android Studio Hedgehog | 2023.1.1时&#xff0c;发现提示本机安装的git版本太老&#xff0c;于是从git官网下载最新的git。 git下载地址&#xff1a; https://git-scm.com/ 从官网点击下载最新windows版本会跳转到github仓库来下载发布的git&…...

高新技术企业申报需要具备哪些条件?

&#xff08;一&#xff09;企业申请认定时须注册成立一年以上&#xff1b; &#xff08;二&#xff09;企业通过自主研发、受让、受赠、并购等方式&#xff0c;获得对其主要产品&#xff08;服务&#xff09;在技术上发挥核心支持作用的知识产权的所有权&#xff1b; &#…...

测试不拘一格——掌握Pytest插件pytest-random-order

在测试领域,测试用例的执行顺序往往是一个重要的考虑因素。Pytest插件 pytest-random-order 提供了一种有趣且灵活的方式,让你的测试用例能够以随机顺序执行。本文将深入介绍 pytest-random-order 插件的基本用法和实际案例,助你摆脱固定的测试顺序,让测试更具变化和全面性…...

DophineScheduler通俗版

1.DophineScheduler的架构 ZooKeeper&#xff1a; AlertServer&#xff1a; UI&#xff1a; ApiServer&#xff1a; 一个租户下可以有多个用户&#xff1b;一个用户可以有多个项目一个项目可以有多个工作流定义&#xff0c;每个工作流定义只属于一个项目&#xff1b;一个租户可…...

企业如何稳步开启SASE实施之路

在上一篇题为《企业为什么选择SASE&#xff1f;香港电讯专家给你答案&#xff01;》的文章中&#xff0c;我们从SD-WAN的安全策略和能力、市场趋势的推动及SASE的四大特性分析了企业选择采用安全访问服务边缘&#xff08;SASE&#xff09;的原因。基于SASE的各项优势&#xff0…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具&#xff0c;可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下&#xff1a; ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜&#xff1a; ffmpeg…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA

浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求&#xff0c;本次涉及的主要是收费汇聚交换机的配置&#xff0c;浪潮网络设备在高速项目很少&#xff0c;通…...

AGain DB和倍数增益的关系

我在设置一款索尼CMOS芯片时&#xff0c;Again增益0db变化为6DB&#xff0c;画面的变化只有2倍DN的增益&#xff0c;比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析&#xff1a; 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

Razor编程中@Html的方法使用大全

文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...