信息检索与数据挖掘 | (十)线性回归与逻辑回归
文章目录
- 📚线性回归算法流程
- 📚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 (N−1)/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 ,高度为 heights[i] 。 如果以下条件满足,我们称这些塔是 美丽 的: 1 < heights[i] < maxHeights[i]heights 是一个 山脉…...
c# ADODB.Recordset实例调用Fields报错
代码: 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时,发现提示本机安装的git版本太老,于是从git官网下载最新的git。 git下载地址: https://git-scm.com/ 从官网点击下载最新windows版本会跳转到github仓库来下载发布的git&…...
高新技术企业申报需要具备哪些条件?
(一)企业申请认定时须注册成立一年以上; (二)企业通过自主研发、受让、受赠、并购等方式,获得对其主要产品(服务)在技术上发挥核心支持作用的知识产权的所有权; &#…...
测试不拘一格——掌握Pytest插件pytest-random-order
在测试领域,测试用例的执行顺序往往是一个重要的考虑因素。Pytest插件 pytest-random-order 提供了一种有趣且灵活的方式,让你的测试用例能够以随机顺序执行。本文将深入介绍 pytest-random-order 插件的基本用法和实际案例,助你摆脱固定的测试顺序,让测试更具变化和全面性…...
DophineScheduler通俗版
1.DophineScheduler的架构 ZooKeeper: AlertServer: UI: ApiServer: 一个租户下可以有多个用户;一个用户可以有多个项目一个项目可以有多个工作流定义,每个工作流定义只属于一个项目;一个租户可…...
企业如何稳步开启SASE实施之路
在上一篇题为《企业为什么选择SASE?香港电讯专家给你答案!》的文章中,我们从SD-WAN的安全策略和能力、市场趋势的推动及SASE的四大特性分析了企业选择采用安全访问服务边缘(SASE)的原因。基于SASE的各项优势࿰…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...
测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
算法:模拟
1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) 遍历字符串:通过外层循环逐一检查每个字符。遇到 ? 时处理: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: 与…...
安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...
AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机
这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...
代码规范和架构【立芯理论一】(2025.06.08)
1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...
Python竞赛环境搭建全攻略
Python环境搭建竞赛技术文章大纲 竞赛背景与意义 竞赛的目的与价值Python在竞赛中的应用场景环境搭建对竞赛效率的影响 竞赛环境需求分析 常见竞赛类型(算法、数据分析、机器学习等)不同竞赛对Python版本及库的要求硬件与操作系统的兼容性问题 Pyth…...
书籍“之“字形打印矩阵(8)0609
题目 给定一个矩阵matrix,按照"之"字形的方式打印这个矩阵,例如: 1 2 3 4 5 6 7 8 9 10 11 12 ”之“字形打印的结果为:1,…...
