论文阅读 - 《Large Language Models Are Zero-Shot Time Series Forecasters》
Abstract
通过将时间序列编码为数字组成的字符串,我们可以将时间序列预测当做文本中下一个 token预测的框架。通过开发这种方法,我们发现像GPT-3和LLaMA-2这样的大语言模型在下游任务上可以有零样本时间序列外推能力上持平或者超过专门设计的时间序列训练模型。为了促进这种性能表现,我们提出了一种有效token化时间序列并将token上的离散分布转换为在连续数值上高度灵活的密度的方法。我们认为大语言模型在时间序列上的成功源于它们可以自然的表达多模态分布的能力,以及为了简单而出现的偏差和重复,这与许多时间序列中的显著特征类似,例如重复的季节趋势。我们同样展示了大预言模型如何做到在不通过非数字文本进行插补的情况下自然的处理缺失的数据,适应文本的便捷信息,并且回答问题以帮助解释预测。同时我们发现日益增大的模型体积有助于改进其在时间序列上的性能表现,我们也展示了GPT4由于其不同对数字的token化方式以及较差的不确定性校准而表现要比GPT3要差,这可能是类似于RLHF这样的对齐机制干预的结果。
提出的方法
Tokenization
将每个数字用空格分开,并在每个时间节点之间用,
分隔,小数点在给定固定精度情况是多余的,可以使用特定的编码方式去掉小数点以节省上下文长度。例如:
0.123 , 1.23 , 12.3 , 123.0 → 12 , 123 , 1230 , 12300 0.123, 1.23, 12.3, 123.0 \rightarrow 1 2 , 1 2 3 , 1 2 3 0 , 1 2 3 0 0 0.123,1.23,12.3,123.0→12,123,1230,12300
Rescaling
因为数值有可能非常大,要覆盖那么多数值需要很多的token。因此,在输入之前,会用MinMaxScaler将数值进行缩放,限制数值的范围。
Sampling/Forecasting
在每次预测时,都会多次实验采样多组预测值,将多组预测值的中位数或均值作为点预测结果,使得结果更加鲁棒,而且还可以直接作为概率预测的结果(分位数)。
Continuous likelihoods
虽然LLM的概率分布是离散的(即token是离散的),但是可以将其转换为连续概率密度。
如下图所示的例子,假如保留三位小数,则每0.001范围形成一个bin,bin内的所有数值服从均匀分布。如0.537和0.538之间的这个bin内,赋一个均匀分布。这样,LLM的概率分布就成了连续的。
首先,假设我们有一个语言模型,它可以生成数字序列,比如小数点后的一串数字。这些数字的概率分布是离散的,因为每个数字都有一个特定的概率。
为了将这个离散的概率分布变成连续的,作者采用了一种巧妙的方法。他们把可能的数字值按照一定的规则划分成许多小区间,每个区间都是一个连续的范围。然后,在每个区间内,假设数字的分布是均匀的,也就是说,每个具体的数字在这个区间内出现的概率是一样的。
通过这样的构建,整个数字空间被分割成许多这样的区间,每个区间都有一个概率分布。这种方法允许我们将原本离散的数字概率分布转换成一个连续的概率分布。
最后,为了在原始输入空间中得到这个连续的概率分布,作者引入了一个变量变换的操作。这个操作确保了我们在处理数据时,可以从离散的数字空间映射到连续的数字空间。
总的来说,通过这种方法,尽管我们的模型输出的是离散的数字,但我们可以用一种更灵活、更高分辨率的方式来表示和处理连续的概率分布。
Language models as flexible distributions
Wasserstein距离,也称为地面距离或水流距离,是一种用于衡量两个概率分布之间差异的数学指标。在这个上下文中,作者使用Wasserstein距离来评估通过训练模型生成的连续概率分布与真实分布之间的相似程度。
具体来说,作者首先在上图所示的各种一维分布上训练了一个小型自回归模型。这些分布包括指数随机变量、均匀分布、学生t分布的混合分布,以及月度牛奶数据集上ARIMA模型的时间序列预测残差的重尾分布。接着,作者计算了生成的概率分布与真实分布之间的Wasserstein距离。
Wasserstein距离的计算涉及到将一种分布转换为另一种分布的最佳办法,使得转换的成本最小。在这个上下文中,它衡量了通过模型生成的分布与真实分布之间的“距离”或差异,这个距离值越小,两个分布之间的相似性就越高。
通过比较不同模型的Wasserstein距离,作者可以评估模型在处理不同类型的分布(非对称、多模态和重尾分布)时的性能。在这里,十进制自回归语言模型(“十进制 AR”)表现出色,表明它在生成与时间序列数据特征相匹配的概率分布时效果良好。这种评估方法提供了一种量化模型性能的手段,特别是在处理复杂概率分布时。
Origins of Zero-Shot Performance
假如有一个人工生成的序列,用不同复杂度的模型来拟合它(比如不同次数的多项式函数),然后外推,我们希望找到较小复杂度的模型,既能拟合很好,又不会过拟合,如下图中的复杂度13。这叫奥卡姆剃刀原理。可以发现,LLM的NLL最小的时候,正好对应的是这个复杂度13的模型。也就是说,LLM可以找到数据的低复杂性解释,使他们能够zero-shot外推数值序列。
- Rpetition bias and periodicity:LLM对于重复序列的偏差恰好对应于识别和推断输入中周期结构的能力。
- Arithmetic and trend components:LLM有对于加法和乘法的执行能力
将多个模式组合在一起是一个更困难的挑战,因为它需要识别复合模式并能够在相同的令牌预算内执行多个操作。假设一个模型可以在一次正向过程中执行复制,在一次反向过程中执行加法,这并不一定意味着它可以同时执行这两项操作。我们发现,尽管GPT-4的执行更一致,GPT-3却能执行这些合成(而这是GPT-4所不能的),如附录E所示。对计算和令牌的限制可能会使这种合成变得不必要地困难,而额外的递归结构,例如来自草稿簿、思想链(CoT)提示或自适应计算,会使这项任务更容易。
LLM其它特性分析
Base models and forecasting performance
如图所示,本文使用OpenAI模型、LLaMA及LLaMA-2模型测量大规模多任务语言理解基准和概率预测误差准确性的研究,展现了当推理性能提高时,预测能力也会提高。
Chat Models
尽管方便的缩放关系似乎适用于基本模型,但当我们考虑已经为聊天机器人应用程序进行后处理的模型时,这种关系开始破裂。例如,GPT-4在自然语言任务中表现出比GPT-3和LLaMA模型高得多的智能,但将其有效应用于时间序列却变得更加困难。在上图(中间部分)中,展示了GPT-4的预测误差(CRPS)明显大于Darts数据集上的GPT-3。性能下降是GPT-4方法中几个小细节的结果。由于标记化的改变,GPT-4不能轻易地被迫将单个数字标记成一个完整的数字流。由于API的限制,可能性评估也是不允许的,这就是为什么我们只提供CRPS的结果。虽然GPT-4可以在第5节(如附录E所示)中讨论的合成示例中表现良好,但我们发现,在随机数据中,GPT-4的校准比GPT-3的差得多,这可能是由于上述预处理细节以及使用RLHF处理模型的事实,众所周知,RLHF会降低问答任务的校准。GPT-4并不是为聊天功能设计的模型中性能下降的唯一例子。我们在LLaMA-2模型中观察到了同样的现象,它们对每个模型大小都有相应的聊天版本。图7(右)显示,聊天版本的预测误差往往比非聊天版本明显更差,尽管在规模和推理能力方面仍保持趋势。
Missing data
在实际的时序预测场景中,经常会有缺失值NaNs出现。传统方法是直接插值补齐这些缺失值,但是直接插值显然可能和真实值有些差距。而LLM则无需补齐,直接把NaN这个单词给放到序列句子中就好,比如:
上面式子中逗号之间没有值的都是缺失值,无需插值,直接插入NaN即可。
下图是预测效果,发现对于缺失数据非常多的情况,LLM仍然能够有着很低的负对数似然值,而插值+预测模型这种方式的负对数似然都飘到天上去了。在CRPS这个预测指标上看,LLM的预测效果也是不错的。
Connecting time series and textual understanding
由于 LLM 是为自然语言和代码而设计的,因此我们可以用有用的文本来增强数值时间序列。我们可以通过提供文本侧信息作为输入,或者通过给定的时间序列产生文本输出来实现这一点。一个有趣的问题是,GPT-4 能否用文本解释其对给定时间序列的理解。我们为 GPT-4 提供了生成合成时间序列的代码,提供了其中一个时间序列的值,然后要求它推断出是哪个函数以零点方式生成了数据,以此来探究 GPT-4 的这一能力。预测准确率如上图所示,其余三行均为 0。在 CoT的提示下,模型的表现比随机概率要好得多;不过,在直接推断数字数据时,它识别模式的能力更强,这表明它对数字的理解与其对文本的理解并不完全相关。在进行预测时,模型经常会解释时间序列的属性,以便从列表中选出正确的候选结果,我们在附录 F 中展示了其中几个解释示例。我们还展示了如何在 Jupyter 笔记本单元格上的一个简单(无提示)的下一个标记预测问题中封装这一任务,说明了为什么我们期望这种能力会随着一个足够强大的语言模型的出现而出现。
Summary
我们已经证明,通过将数值编码为文本,大型语言模型可以用作预训练时间序列预测器。与其他 "基础 "模型一样,预训练会使模型具有有用的通用模式偏差,而这些偏差会通过架构设计,并随着基础预训练模型的改进而实现性能的自然扩展。由于 LLM 预测器是在语言基础上进行训练的,因此还具有非常规能力,如问题解答。从更广泛的意义上讲,将时间序列预测视为自然语言生成,可以说是将更多能力统一到一个大型、功能强大的模型中的又一举措,在这个模型中,许多任务和模式之间可以共享理解能力。此外,零点预测不需要大量的计算资源、领域专业知识或许多下游训练数据点,就能实现令人信服的广泛性能。
虽然 LLM 预测器得益于预训练转换器的优势,但也继承了它们的弱点,其中包括有限的上下文窗口。虽然许多单变量时间序列问题可以在越来越大的上下文窗口内轻松解决,但多变量问题却带来了更大的挑战。最近有几项进展将 LLM 的上下文窗口扩展到了 10-100K 字节。将这些进展与时间序列预测相结合是未来研究的一个特别令人兴奋的方向。使用当前 LLMs 架构的另一个潜在挑战可能是它们在算术和执行递归与组合操作方面的弱点,这可能会限制特别具有挑战性的时间序列。另一方面,许多时间序列并不需要精确的运算。了解这种情况在多大程度上存在,并放宽这种限制,也是未来研究的一个很有前景的方向。除了任何限制之外,研究微调时间序列 LLM 的有效程序也很有前途。我们希望将 LLM 研究与时间序列预测结合起来,为两个领域都带来益处。
相关文章:
论文阅读 - 《Large Language Models Are Zero-Shot Time Series Forecasters》
Abstract 通过将时间序列编码为数字组成的字符串,我们可以将时间序列预测当做文本中下一个 token预测的框架。通过开发这种方法,我们发现像GPT-3和LLaMA-2这样的大语言模型在下游任务上可以有零样本时间序列外推能力上持平或者超过专门设计的时间序列训…...
STM32文件详解
STM32文件详解 启动文件打开MDK栈空间开辟堆空间开辟中断向量表复位程序对于 weak 的理解对于_main 函数的分析中断程序堆栈初始化系统启动流程 时钟树时钟源时钟配置函数时钟初始化配置函数 启动文件 启动文件的方式 1、初始化堆栈指针 SP _initial_sp 2、初始化程序计数器指…...
【Spring】详解(上)
Spring 框架核心原理与应用(上) 一、Spring 框架概述 (一)诞生背景 随着 Java 应用程序规模的不断扩大以及复杂度的日益提升,传统的 Java开发方式在对象管理、代码耦合度等方面面临诸多挑战。例如,对象之…...
大数据面试笔试宝典之Flink面试
1.Flink 是如何支持批流一体的? F link 通过一个底层引擎同时支持流处理和批处理. 在流处理引擎之上,F link 有以下机制: 1)检查点机制和状态机制:用于实现容错、有状态的处理; 2)水印机制:用于实现事件时钟; 3)窗口和触发器:用于限制计算范围,并定义呈现结果的…...
Rust编程与项目实战-箱
【图书介绍】《Rust编程与项目实战》-CSDN博客 《Rust编程与项目实战》(朱文伟,李建英)【摘要 书评 试读】- 京东图书 (jd.com) Rust编程与项目实战_夏天又到了的博客-CSDN博客 对于Rust而言,箱(crate)是一个独立的可编译单元&…...
git回退指定版本/复制提交id
1.使用“git reset --hard 目标版本号”命令将版本回退2.使用“git push -f”提交更改 因为我们回退后的本地库HEAD指向的版本比远程库的要旧,此时如果用“git push”会报错。 改为使用 git push -f 即可完成回退后的提交。...
数据库锁的深入探讨
数据库锁(Database Lock)是多用户环境中用于保证数据一致性和隔离性的机制。随着数据库系统的发展,特别是在高并发的场景下,锁的机制变得尤为重要。通过使用锁,数据库能够防止并发操作导致的数据冲突或不一致。本文将深…...
《机器学习》——KNN算法
文章目录 KNN算法简介KNN算法——sklearnsklearn是什么?sklearn 安装sklearn 用法 KNN算法 ——距离公式KNN算法——实例分类问题完整代码——分类问题 回归问题完整代码 ——回归问题 KNN算法简介 一、KNN介绍 全称是k-nearest neighbors,通过寻找k个距…...
iOS开发代码块-OC版
iOS开发代码块-OC版 资源分享资源使用详情Xcode自带代码块自定义代码块 资源分享 自提: 通过网盘分享的文件:CodeSnippets 2.zip 链接: https://pan.baidu.com/s/1Yh8q9PbyeNpuYpasG4IiVg?pwddn1i 提取码: dn1i Xcode中的代码片段默认放在下面的目录中…...
关于在M系列的Mac中使用SoftEtherClient软件
1. 前言 本文说明的是在M系列的苹果的MacBook中如何使用SoftetherClient这款软件,是直接在MacOS操作系统中安装连接使用,不是在PD环境或者非ARM架构的Mac中安装使用。 PS:别费劲百度了,很少有相关解决方案的,在国内会…...
【畅购商城】详情页模块之评论
目录 接口 分析 后端实现:JavaBean 后端实现 前端实现 接口 GET http://localhost:10010/web-service/comments/spu/2?current1&size2 { "code": 20000, "message": "查询成功", "data": { "impressions&q…...
机器学习DAY4续:梯度提升与 XGBoost (完)
本文将通过 XGBoost 框架来实现回归、分类和排序任务,帮助理解和掌握使用 XGBoost 解决实际问题的能力。我们将从基本的数据处理开始,逐步深入到模型训练、评估以及预测。最后,将模型进行保存和加载训练好的模型。 知识点 回归任务分类任务…...
Maven 测试和单元测试介绍
一、测试介绍 二、单元测试 1)介绍 2)快速入门 添加依赖 <dependencies><!-- junit依赖 --><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>5.9…...
LeetCode7. 整数反转
难度:中等 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。 假设环境不允许存储 64 位整数(有符号或无符号)。 示…...
Java编程题_面向对象和常用API01_B级
Java编程题_面向对象和常用API01_B级 第1题 面向对象、异常、集合、IO 题干: 请编写程序,完成键盘录入学生信息,并计算总分将学生信息与总分一同写入文本文件 需求:键盘录入3个学生信息(姓名,语文成绩,数学成绩) 求出每个学生的总分 ,并…...
WEB攻防-通用漏洞-文件上传-js验证-MIME验证-user.ini-语言特征
目录 定义 1.前端验证 2.MIME验证 3.htaccess文件和.user. ini 4.对内容进行了过滤,做了内容检测 5.[ ]符号过滤 6.内容检测php [] {} ; 7.()也被过滤了 8.反引号也被过滤 9.文件头检测 定义 文件上传漏洞是指攻击者上传了一个可执行文件(如木马…...
ubuntu20.04 调试bcache源码
搭建单步调试bcache的环境,/dev/sdb作为backing dev, /dev/sdc作为cache dev。 一、宿主机环境 1)安装ubuntu 20.04 : 参考ubuntu20.04 搭建kernel调试环境第一篇--安装系统_ubuntu kernel-CSDN博客安装,其中的第六…...
全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之循环结构(for循环语句)(四)
实战训练1—最大差值 问题描述: 输入n个非负整数,找出这个n整数的最大值与最小值,并求最大值和最小值的差值。 输入格式: 共两行,第一行为整数的个数 n(1≤n≤1000)。第二行为n个整数的值(整…...
基于深度学习(HyperLPR3框架)的中文车牌识别系统-python程序开发测试
本篇内容为python开发,通过一个python程序,测试搭建的开发环境,读入一张带有车牌号的图片,成功识别出车牌号。 1、通过PyCharm新建一个工程,如:PlateRecognition,配置虚拟环境。 2、在工程中新…...
【SpringMVC】拦截器
拦截器(Interceptor)是一种用于动态拦截方法调用的机制。在 Spring MVC 中,拦截器能够动态地拦截控制器方法的执行过程。以下是请求发送与接收的基本流程: 当浏览器发出请求时,请求首先到达 Tomcat 服务器。Tomcat 根…...
离线的方式:往Maven的本地仓库里安装依赖
jar文件及源码的绝对路径,gav坐标,打包方式,Maven本地仓库的路径 mvn install:install-file ^-DfileD:\hello-spring-boot-starter-1.0-SNAPSHOT.jar ^-DsourcesD:\hello-spring-boot-starter-1.0-SNAPSHOT-sources.jar ^-DgroupIdcom.examp…...
短视频矩阵系统后端源码搭建实战与技术详解,支持OEM
一、引言 随着短视频行业的蓬勃发展,短视频矩阵系统成为了众多企业和创作者进行多平台内容运营的有力工具。后端作为整个系统的核心支撑,负责处理复杂的业务逻辑、数据存储与交互,其搭建的质量直接影响着系统的性能、稳定性和可扩展性。本文将…...
ArcGIS Pro地形图四至角图经纬度标注与格网标注
今天来看看ArcGIS Pro 如何在地形图上设置四至角点的经纬度。方里网标注。如下图的地形图左下角经纬度标注。 如下图方里网的标注 如下为本期要介绍的例图,如下: 图片可点击放大 接下来我们来介绍一下 推荐学习:GIS入门模型构建器Arcpy批量…...
鸿蒙Next状态管理V2 - @Once初始化用法总结
一、概述 Once装饰器用于实现变量仅在初始化时同步一次外部传入值,后续数据源更改时不会将修改同步给子组件。其必须搭配Param使用,且不影响Param的观测能力,仅拦截数据源变化,与Param装饰变量的先后顺序不影响实际功能ÿ…...
全新免押租赁系统助力商品流通高效安全
内容概要 全新免押租赁系统的推出,可以说是一场商品流通领域的小革命。想象一下,不再为押金烦恼,用户只需通过一个简单的信用评估,就能快速租到所需商品,这种体验简直令人惊喜!这个系统利用代扣支付技术&a…...
VUE前端实现防抖节流 Lodash
方法一:采用Lodash工具库 Lodash 是一个一致性、模块化、高性能的 JavaScript 实用工具库。 (1)采用终端导入Lodash库 $ npm i -g npm $ npm i --save lodash (2)应用 示例:搜索框输入防抖 在这个示例…...
Redisson 框架详解
目录 一.为什么要使用分布式锁? 二.Redisson 的基本使用: 1.添加 Redisson 依赖: 2.在 application.yml 配置 Redis: 3. 创建 Redisson 客户端: (1)单节点模式: (…...
WebSocket 入门详解
开发领域:前端开发 | AI 应用 | Web3D | 元宇宙 技术栈:JavaScript、React、Three.js、WebGL、Go 经验经验:6年 前端开发经验,专注于图形渲染和AI技术 开源项目:智简未来 晓智元宇宙、数字孪生引擎 大家好!…...
chinahrt 题库
只针对 https://ouc-sz.chinahrt.com/center/MyExam import requests import time import random import pandas as pd from openpyxl import load_workbookexcel_file rC:\Users\N3verL4nd\Desktop\exam_answers.xlsx# 定义请求头,包含 Authorization headers {…...
uniapp通过v-if进行判断时,会出现闪屏?【已解决】
1.问题:按钮切换时,通过v-if来判断,会出现闪烁情况,影响用户体验 2.v-if 闪烁问题可能的原因 条件切换频繁:如果 v-if 指令的条件在短时间内频繁切换,会导致元素不断被销毁和重新创建,从而…...
jmeter设置tps、响应时间监测时间间隔
jmeter设置tps、响应时间监测时间间隔 思路: 1、设置tps和响应时间插件的采集时间间隔,然后运行jmeter脚本; 2、先按默认配置跑出jtl文件保存下来,再添加tps和响应时间插件,设置采集时间间隔后,导入jtl文件…...
Android Notification 问题:Invalid notification (no valid small icon)
问题描述与处理策略 1、问题描述 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.my.notifications/com.my.notifications.MainActivity}: java.lang.IllegalArgumentException: Invalid notification (no valid small icon): Notification(chan…...
Kotlin 协程基础知识总结四 —— Flow
异步流 Flow 主要内容: 认识:特性、构建器与上下文、启动、取消与取消检测特性、缓冲操作符:过渡操作符、末端操作符、组合、扁平异常:异常处理、完成 1、认识 1.1 如何异步返回多个值 挂起函数可以异步返回单个值,…...
Ubuntu24.04安装NVIDIA驱动及工具包
Ubuntu24.04安装NVIDIA驱动及工具包 安装nvidia显卡驱动安装cuda驱动安装cuDNN安装Anaconda 安装nvidia显卡驱动 NVIDIA 驱动程序(NVIDIA Driver)是专为 NVIDIA 图形处理单元(GPU)设计的软件,它充当操作系统与硬件之间…...
雷电模拟器安装LSPosed
雷电模拟器最新版支持LSPosed。记录一下安装过程 首先到官网下载并安装最新版,我安装的时候最新版是9.1.34.0,64位 然后开启root和系统文件读写 然后下载magisk-delta-6并安装 ,这个是吾爱破解论坛提供的,号称适配安卓7以上所有机型&#x…...
基于深度学习(HyperLPR3框架)的中文车牌识别系统-搭建开发环境
本篇内容为搭建开发环境。包括:python开发环境,Qt/C开发环境,以及用到的各个库的安装和配置。 一、Python开发环境搭建与配置 1、下载并安装Anaconda 我没有用最新的版本,安装的是 Anaconda3-2021.05-Windows-x86_64.exe&#…...
TCP 为什么采用三次握手和四次挥手以及 TCP 和 UDP 的区别
1. TCP 为什么采用三次握手和四次挥手 采用三次握手的原因: 确认双方的收发能力。第一次握手,客户端发送 SYN 报文,告诉服务器自身具备发送数据的能力,第二次握手,服务器回应 SYN ACK 报文,表名自己既能…...
Apriori关联规则算法 HNUST【数据分析技术】(2025)
1.理论知识 Apriori是一种常用的数据关联规则挖掘方法,它可以用来找出数据集中频繁出现的数据集合。该算法第一次实现在大数据集上的可行的关联规则提取,其核心思想是通过连接产生候选项及其支持度,然后通过剪枝生成频繁项集。 Apriori算法的…...
Sqoop的使用
每个人的生活都是一个世界,即使最平凡的人也要为他那个世界的存在而战斗。 ——《平凡的世界》 目录 一、sqoop简介 1.1 导入流程 1.2 导出流程 二、使用sqoop 2.1 sqoop的常用参数 2.2 连接参数列表 2.3 操作hive表参数 2.4 其它参数 三、sqoop应用 - 导入…...
华为 IPD,究竟有什么特点?(一)
关注作者 (一)华为版 IPD 特点一:一定要让研发转身为作战 部队 冲到前台的研发,应主动拉通公司上下游,向前抓需求,向后支撑可制造性、可 服务性,并推动制造、服务的改进。 1)研发从…...
Go快速开发框架2.6.0版本更新内容快速了解
GoFly企业版框架2.6.0版本更新内容较多,为了大家能够快速了解,本文将把更新内容列出详细讲解。本次更新一段时间以来大伙反馈的问题,并且升级后台安全认证机制,增加了RBAC权限管理及系统操作日志等提升后台数据安全性。 更新明细…...
C++的第一个程序
前言 在学习c之前,你一定还记得c语言的第一个程序 当时刚刚开始进行语言学习 因此告诉到,仅仅需要记住就可以 #include <stdio.h>int main(){printf("Hello World");return 0; }而对于c中的第一个程序,似乎有所变化 C的…...
《机器学习》线性回归模型实现
目录 一、一元线性回归模型 1、数据 2、代码 3、结果 二、多元线性回归模型 1、数据 2、代码 3、结果 一、一元线性回归模型 1、数据 2、代码 # 导入所需的库 import pandas as pd # 用于数据处理和分析 from matplotlib import pyplot as plt # 用于数据可视化 fr…...
蓝桥杯速成教程{三}(adc,i2c,uart)
目录 一、adc 原理图编辑引脚配置 Adc通道使能配置 实例测试 编辑效果显示 案例程序 badc 按键相关函数 测量频率占空比 main 按键的过程 显示界面的过程 二、IIC通信-eeprom 原理图AT24C02 引脚配置 不可用状态,用的软件IIC 官方库移植 At24c02手册 编辑…...
【Agent】Chatbot、Copilot与Agent如何帮助我们的提升效率?
人工智能(AI)技术的迅猛发展正在深刻改变我们的生活和工作方式。你是否曾想过,未来的工作场景会是什么样子?AI的崛起不仅仅是科技的进步,更是我们生活方式的革命。今天,我们将深入探讨三种主要的AI能力&…...
PostgreSQL 数据库连接
title: PostgreSQL 数据库连接 date: 2024/12/29 updated: 2024/12/29 author: cmdragon excerpt: PostgreSQL是一款功能强大的开源关系数据库管理系统,在现代应用中广泛应用于数据存储和管理。连接到数据库是与PostgreSQL进行交互的第一步,这一过程涉及到多个方面,包括连…...
C++ 设计模式:中介者模式(Mediator Pattern)
链接:C 设计模式 链接:C 设计模式 - 门面模式 链接:C 设计模式 - 代理模式 链接:C 设计模式 - 适配器 中介者模式(Mediator Pattern)是行为型设计模式之一,它的主要目的是通过一个中介者对象来…...
计算机网络期末复习
目录 第一章-概述 第二章-物理层 第三章-数据链路层 第四章-网络层 第五章-运输层 第六章-应用层 试卷 郑州轻工业大学--计算机网络(谢希仁-第八版)--期末复习重点题型及试卷 如果有答案错乱或者不对的地方请告知一下,感谢࿰…...
JUC并发工具---线程协作
信号量能被FixedThreadPool代替吗 Semaphore信号量 控制需要限制访问量的资源,没有获取到信号量的线程会被阻塞 import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Semaphore;public class Sem…...
SkyWalking java-agent 是如何工作的,自己实现一个监控sql执行耗时的agent
Apache SkyWalking 是一个开源的应用性能监控 (APM) 工具,支持分布式系统的追踪、监控和诊断。SkyWalking Agent 是其中的一个重要组件,用于在服务端应用中收集性能数据和追踪信息,并将其发送到 SkyWalking 后端服务器进行处理和展示。 SkyW…...