当前位置: 首页 > 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…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode&#xff1a; 2.利用 authorizationCode 获取 accessToken&#xff1a;文档中心 3.获取手机&#xff1a;文档中心 4.获取昵称头像&#xff1a;文档中心 首先创建 request 若要获取手机号&#xff0c;scope必填 phone&#xff0c;permissions 必填 …...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…...

华硕a豆14 Air香氛版,美学与科技的馨香融合

在快节奏的现代生活中&#xff0c;我们渴望一个能激发创想、愉悦感官的工作与生活伙伴&#xff0c;它不仅是冰冷的科技工具&#xff0c;更能触动我们内心深处的细腻情感。正是在这样的期许下&#xff0c;华硕a豆14 Air香氛版翩然而至&#xff0c;它以一种前所未有的方式&#x…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中&#xff0c;Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式&#xff0c;用于在多个 Goroutine 之间传递数据&#xff0c;从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

C++.OpenGL (20/64)混合(Blending)

混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...