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

通过多层混合MTL结构提升股票市场预测的准确性,R²最高为0.98

“Boosting the Accuracy of Stock Market Prediction via Multi-Layer Hybrid MTL Structure”

论文地址:https://arxiv.org/pdf/2501.09760

​​​​​​​

摘要

本研究引入了一种创新的多层次混合多任务学习架构,致力于提升股市预测的效能。此架构融合了Transformer编码器、双向门控循环单元(BiGRU)以及Kolmogorov-Arnold网络(KAN)。据实验结果表明,相较于其他模型,该架构在预测准确度方面表现更佳,其平均绝对误差(MAE)可低至1.078,平均绝对百分比误差(MAPE)最小达到0.012,决定系数(R²)最高为0.98。

简介

股票市场预测对投资者和企业来说极为关键,但因数据的复杂性,传统统计模型如ARMA、ARIMA和GARCH等在效果上存在局限。相比之下,机器学习技术在股票预测方面表现更优,特别是深度学习方法(例如卷积神经网络和递归神经网络)展示了更强大的学习能力。传统方法通常忽略了不同股票间的相互关系,而引入空间维度可以改进预测精度,图神经网络(GNN)在这方面已被采用。Transformer模型通过注意力机制能有效捕捉复杂的关联性,但在处理长序列和高维数据时面临挑战。KAN(知识增强网络)利用边函数参数替代传统的权重设置,提高了对非线性函数的逼近能力。集成学习策略在金融预测领域中表现出明显优势,本研究提出的算法可作为集成学习框架的一部分。该研究介绍了一种结合了Transformer编码器、双向门控循环单元(BiGRU)与KAN的多层混合多任务学习框架,旨在提升股票市场预测的效率及准确性。

01相关工作

股票市场趋势预测对于学术研究和实际操作都极为重要。预测手段涵盖了从传统统计方法到先进的机器学习模型。过去,传统方法在该领域占据主导地位,然而,随着神经网络和深度学习等机器学习算法的兴起,这一状况正在发生变化。通过结合传统技术与现代方法,混合模型能够提供更高的预测精度和稳定性。

传统方法

传统股票市场预测方法涉及时间序列模型和隐马尔可夫模型(HMM)。Devi等人率先应用ARIMA模型来预测市场趋势,Khanderwal指出ARIMA更适合短期预测。Marisetty等人则采用GARCH模型研究了五大金融指数的波动性,表明GARCH是进行波动性预测的理想选择。Gupta等人提出了基于HMM的最大后验估计器,用于预测次日股票价格,并发现其性能优于ARIMA和ANN模型。Su等人将HMM从传统的离散形式扩展到连续形式,以更好地适应股票价格趋势的预测。

然而,由于传统统计方法本质上具有线性特征,它们在股价剧烈波动的情况下表现不佳。为解决这一问题,Mattera等人引入了动态网络自回归条件异方差(ARCH)模型,以提高处理高维输入数据时的股票预测准确性。

机器学习方法

机器学习,特别是神经网络模型,在股票价格预测方面展现了最高的准确性。例如,Vijh等人利用人工神经网络和随机森林来预测五家公司的次日收盘价。在处理复杂的非线性数据时,深度学习方法显示出比传统技术更优的性能。尤其是在股票指数预测中,LSTM单输入模型的表现超过了传统的机器学习模型。此外,采用多变量的深度学习方法能够更精准地预测股市波动。Tang等人开发的基于小波变换的LSTM模型,通过使用多维数据输入,实现了72.19%的准确率。Deep等人提出的多因子分析模型,整合了技术分析、基本面分析、机器学习以及情感分析,其表现超越了单一因子的模型。

混合方法

混合学习模型通过整合多种预测技术来提高准确性和减少过拟合。首次提出的集成模型是在2001年,Abraham等人开发了结合神经模糊逻辑和人工神经网络的早期混合模型,展现了出色的预测性能和趋势分析能力。Shah等人的研究考察了多种股票价格预测手段,认为融合统计方法与机器学习技术的混合策略更为有效。Shui-Ling等人设计了一种新的ARIMA-RNN混合模型,解决了单一模型在波动性预测和神经网络过拟合方面的局限。Zhang等人提出的ARIMA-CNN-LSTM模型在股票指数预测上提供了卓越的准确度和稳定性。Tian等人研发的多层次双向LSTM-BO-LightGBM模型则在股票价格波动预测中表现出更强的逼近能力和泛化性能。Lv等人提出的CEEMDAN-DAE-LSTM混合模型引入了特征提取模块DAE,增强了对波动性股票指数的预测效果。

研究显示,集成学习模型在处理复杂动态数据集时显著提升了预测精度,凸显了持续发展混合模型的重要性,以适应市场变化和技术进步的需求。

02方法

问题定义

本方法旨在开发一个映射函数 f(A),以进行股票价格预测。输入 A 包含多个特征 x m,而输出则是预测值 f(A)。目标是使该预测值尽可能地接近实际值。

多层混合MTL结构概览

此框架集成了多维金融数据以提高预测准确性,输入数据包括开盘价、收盘价、最低价、最高价、交易量和交易金额。该结构由Transformer编码器、KAN层和BiGRU层组成,能够有效处理高维数据并捕捉各特征间的关系。KAN层旨在优化学习过程,提炼出有意义的数据表示,而BiGRU层则专注于捕捉金融时间序列中的长期依赖关系,同时考虑历史和未来的信息。

通过多任务学习,模型不仅能预测交易量和交易金额,还能利用共享的潜在表示增强股票预测的效果。整个框架的目标是提供精确且稳定的预测结果,以应对金融市场固有的复杂性。

Transformer编码器层

Transformer编码器层由两个主要子层构成:多头自注意力机制和全连接前馈网络,每个子层都包含残差连接和层归一化。在多头自注意机制中,输入向量X被转换为查询(Q)、键(K)和值(V)向量,并行处理多个独立的注意力计算。

每个注意力头独立地计算其注意力权重,采用缩放点积的方法来确定,最终输出是这些加权值向量的总和。所有头部的结果会被拼接在一起,并通过一个线性变换以生成最终输出。使用4个注意力头可以提升预测准确性,同时增强模型识别复杂模式的能力。

前馈网络包括两个线性变换及一个ReLU激活函数,有助于提高模型捕捉非线性特征的能力。Add/Normalize层则利用层归一化与残差连接结合的方式,帮助缓解梯度消失或爆炸的问题。

Detailed KAN层

Li等人将Kolmogorov-Arnold定理的应用扩展到了机器学习领域,开发了KAN神经网络结构。在KAN中,激活函数被设置在边而不是节点上,这使得它能够学习自适应的非线性函数,并允许通过细化节点来提升逼近精度。实验显示,KAN在处理平滑及非线性函数时表现出色,其收敛速度更快,特别是在高维数据方面优于传统的多层感知器(MLP)。

KAN采用单变量函数参数代替传统权重参数,每个节点直接汇总这些函数的输出值,无需进行非线性变换。这种方法特别适用于时间序列预测,与传统的MLP相比,它提供了更高的预测准确性。

Detailed BiGRU层

BiGRU模型是一种利用双向GRU进行多变量时间序列预测的方法,能够有效捕捉数据中的双向依赖关系及多变量间的相互作用。该模型包含两个GRU网络:一个负责从前往后处理序列数据,另一个则从后往前处理。最终的隐藏状态是通过将这两个方向上的隐藏状态拼接而获得的。这些隐藏状态随后会经过一个全连接层,并使用Softmax激活函数来生成输出结果。

03实验

实验设置

为了评估提出方法的有效性,实验分为两部分进行:一是与多种先进方法的比较,二是利用五种已知模型(KAN、Transformer、BiGRU、KAN-BiGRU、Transformer-KAN)进行消融实验。实验的目的在于全面检验所提出的模型在股票价格预测方面的性能和鲁棒性。输入特征涵盖了开盘价、收盘价、最高价和最低价,目标是精确预测未来多个时间步长的各项指标值。

评估指标

使用四个指标来评估模型性能:平均绝对误差(MAE)、均方根误差(RMSE)、平均绝对百分比误差(MAPE)和决定系数(R²)。

  • MAE:用于测量预测值与实际值之间的平均绝对差异,数值越小表示模型的预测能力越强。

  • RMSE:通过将误差转换回原始数据单位,使得误差更易于理解。

  • MAPE:是一种相对误差度量标准,适合用于不同数据集之间模型性能的比较,其值越低表明预测准确性越高。

  • R²:衡量的是自变量能够解释的方差比例,反映出模型对输入数据的拟合程度。

结果

本方法在0-50和120-200时间步区间内与实际值高度吻合,误差低于其他方法。相比之下,其他方法在这些区间往往出现滞后或偏差,无法准确捕捉整体趋势及变化的关键点。特别是在识别局部的高低点(例如40-60和170-200时间步)时,本方法显示出显著的优势,能够有效减少噪声干扰。

模型在处理高频波动区域时表现出良好的稳定性,能够有效地过滤噪声,使得预测曲线更加平滑,更接近真实值。具体而言,在RMSE指标上达到了39.820,相比Hemajothi等人的研究减少了17.2%,这表明了更强的鲁棒性以及对大幅波动和异常值的有效管理能力。R²值为0.977,相较于Gao等人和Hemajothi等人的工作分别提高了4.2%和3.1%,证明了该模型在捕捉短期变动和长期趋势方面的优越表现。尽管MAE和MAPE也有改进,但RMSE和R²的提升尤为关键,这证实了该方法在控制误差和检测趋势上的卓越性能,非常适合复杂、带噪声及非线性的数据序列预测任务。

消融分析

多层混合MTL结构在股票市场预测中展现了出色的预测精度和稳定性,超越了KAN、Transformer、BiGRU等模型。特别是在高频波动区域,其他模型的预测容易受到噪声的影响,而本方法生成的曲线更加平滑,与实际值保持高度一致。

在关键拐点(例如50-70和170-200时间步)的捕捉上,本方法显示出了更高的敏感性和准确性,相比之下,其他模型可能会出现预测滞后或过拟合的问题。对于趋势恢复区间(如150-250时间步),其他模型的预测曲线显示出较大的波动,而本方法能有效过滤噪声,维持稳定表现。

本方法在RMSE指标上达到了21.004,比最佳的Transformer-BiGRU模型低39.7%,同时R²值为0.968,这表明它在复杂数据环境下具有卓越的鲁棒性和趋势捕捉能力。尽管引入Transformer编码器和KAN层增加了模型的时间复杂度,但我们的模型在推理效率方面有了显著提升。通过交叉验证得出的平均测试R²为0.9831,进一步证实了结果的高度可靠性。

04总结

本文介绍了一种多层混合多任务学习(MTL)结构,旨在应对股价预测中的高波动性、复杂性和动态变化。该框架整合了增强型Transformer编码器进行特征提取,使用BiGRU来捕捉长时间的依赖关系,并通过KAN优化学习过程。

实验结果表明,这种学习网络在MAE上最低可达到0.45,R²最高可达0.98,体现了其出色的鲁棒性和预测准确性。研究结果证实了采用互补学习技术来捕捉复杂关系并提升预测性能的有效性。此框架为未来的股市预测研究和实际应用提供了一个前景广阔的新方法。

相关文章:

通过多层混合MTL结构提升股票市场预测的准确性,R²最高为0.98

“Boosting the Accuracy of Stock Market Prediction via Multi-Layer Hybrid MTL Structure” 论文地址:https://arxiv.org/pdf/2501.09760 ​​​​​​​ 摘要 本研究引入了一种创新的多层次混合多任务学习架构,致力于提升股市预测的效能。此架构融…...

#渗透测试#批量漏洞挖掘#微商城系统 goods SQL注入漏洞

免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章读。 目录 一、漏洞概述 二、漏洞复现步骤 三、技术…...

python Excel 表读取合并单元格以及清除空格符

读取合并单元格并保留合并信息 读取合并单元格并保留合并信息清除各单元格的空格和换行符,并去除列名中的空格和换行符 读取合并单元格并保留合并信息 当我们只是使用 pandas 的 read_excel 方法读取 Excel 文件时,我们可能会遇到一个很棘手的问题&…...

jakarta EE学习笔记-个人笔记

WebServlet注解:声明一个类为Servlet Target({ElementType.TYPE}) Retention(RetentionPolicy.RUNTIME) Documented public interface WebServlet {// 指定Servlet的影子String name() default ""; // 匹配地址映射(URL)String[] value() default {};// …...

TCP服务器与客户端搭建

一、思维导图 二、给代码添加链表 【server.c】 #include <stdio.h> #include <sys/socket.h> #include <sys/types.h> #include <fcntl.h> #include <arpa/inet.h> #include <unistd.h> #include <stdlib.h> #include <string.…...

回退 android studio emulator 的版本

前情提要 最近用 frida 需要一个完全跑 arm64 的手机 os&#xff0c;因为雷电实时转义 arm 到 x64 的方案本质上还是 x64&#xff0c;会导致 frida 有 bug。查了一下有帖子说 android studio 自带的模拟器支持直接跑 arm64 的镜像 (Other Images) 直接跑跑不通&#xff0c;调…...

Oracle CDB自动处理表空间不足脚本

之前我曾经发过一个自动处理表空间的脚本&#xff0c;可以通过定时任务自动处理表空间不足的问题&#xff1b;但是之前那个脚本没有涵盖CDB模式下的PDB&#xff0c;这里将脚本做了一下更新&#xff0c;可以处理CDB模式下多PDB的表空间问题。 传统模式的脚本请参考这个链接 Or…...

ES6 迭代器 (`Iterator`)使用总结

Iterator&#xff08;迭代器&#xff09;是 ES6 引入的一种 接口&#xff0c;用于 顺序访问 可迭代对象&#xff08;Array、Set、Map、String、arguments、自定义对象等&#xff09;。 Iterator&#xff08;迭代器&#xff09;的作用有三个&#xff1a; 为各种数据结构提供一个…...

赛博算命之 ”梅花易数“ 的 “JAVA“ 实现 ——从玄学到科学的探索

hello~朋友们&#xff01;好久不见&#xff01; 今天给大家带来赛博算命第三期——梅花易数的java实现 赛博算命系列文章&#xff1a; 周易六十四卦 掐指一算——小六壬 更多优质文章&#xff1a;个人主页 JAVA系列&#xff1a;JAVA 大佬们互三哦~互三必回&#xff01;&#xf…...

MongoDB开发规范

分级名称定义P0核心系统需7*24不间断运行&#xff0c;一旦发生不可用&#xff0c;会直接影响核心业务的连续性&#xff0c;或影响公司名誉、品牌、集团战略、营销计划等&#xff0c;可能会造成P0-P2级事故发生。P1次核心系统这些系统降级或不可用&#xff0c;会间接影响用户使用…...

让相机自己决定拍哪儿!——NeRF 三维重建的主动探索之路

我在 NeRF 中折腾自动探索式三维重建的心得 写在前面&#xff1a; 最近我在研究三维重建方向&#xff0c;深切感受到 NeRF (Neural Radiance Fields) 在学术界和工业界都备受瞩目。以往三维重建通常要依赖繁琐的多视图几何管线&#xff08;比如特征匹配、深度估计、网格融合等&…...

git reset和git revert的区别

git reset和git revert都是实现撤销的命令。 git reset是通过回退提交记录来实现撤销&#xff0c;原来指向的记录就像没提交过一样。 git revert是用于远程分支。执行后会产生一个新提交记录&#xff0c;而新提交的记录跟上一级的内容是相同的。 #恢复到当前上一级记录, 其中 …...

免费windows pdf编辑工具Epdf

Epdf&#xff08;完全免费&#xff09; 作者&#xff1a;不染心 时间&#xff1a;2025/2/6 Github: https://github.com/dog-tired/Epdf Epdf Epdf 是一款使用 Rust 编写的 PDF 编辑器&#xff0c;目前仍在开发中。它提供了一系列实用的命令行选项&#xff0c;方便用户对 PDF …...

11.PPT:世界动物日【25】

目录 NO12​ NO34 NO56​ NO789视频音频​ NO10/11/12​ NO12 设计→幻灯片大小→ →全屏显示&#xff08;16&#xff1a;9&#xff09;确定调整标题占位符置于图片右侧&#xff1a;内容占位符与标题占位符左对齐单击右键“世界动物日1”→复制版式→大小→对齐 幻灯片大小…...

计算机网络的组成,功能

目录 ​编辑 什么是计算机网络&#xff1f; 一个最简单的计算机网络 集线器&#xff08;Hub&#xff09;&#xff1a; 交换机&#xff08;Switch&#xff09; 路由器&#xff08;router&#xff09; 互联网 计算机网络的组成&#xff1a;从组成部分看 硬件 软件 协议…...

LabVIEW铅酸蓄电池测试系统

本文介绍了基于LabVIEW的通用飞机铅酸蓄电池测试系统的设计与实现。系统通过模块化设计&#xff0c;利用多点传感器采集与高效的数据处理技术&#xff0c;显著提高了蓄电池测试的准确性和效率。 ​ 项目背景 随着通用航空的快速发展&#xff0c;对飞机铅酸蓄电池的测试需求也…...

Vue3+codemirror6实现公式(规则)编辑器

实现截图 实现/带实现功能 插入标签 插入公式 提示补全 公式验证 公式计算 需要的依赖 "codemirror/autocomplete": "^6.18.4","codemirror/lang-javascript": "^6.2.2","codemirror/state": "^6.5.2","cod…...

Mac M1 ComfyUI 中 AnyText插件安装问题汇总?

Q1&#xff1a;NameError: name ‘PreTrainedTokenizer’ is not defined ? 该项目最近更新日期为2024年12月&#xff0c;该时间段的transformers 版本由PyPI 上的 transformers 页面 可知为4.47.1. A1: transformers 版本不满足要求&#xff0c;必须降级transformors &#…...

Github 2025-02-01 开源项目月报 Top20

根据Github Trendings的统计,本月(2025-02-01统计)共有20个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目8TypeScript项目3Jupyter Notebook项目2Rust项目2HTML项目2C++项目1Ruby项目1JavaScript项目1Svelte项目1非开发语言项目1Go项目1Oll…...

k8s部署go-fastdfs

前置环境:已部署k8s集群,ip地址为 192.168.10.1~192.168.10.5,总共5台机器。 1. 创建provisioner制备器(如果已存在,则不需要) 制备器的具体部署方式可参考我的上一篇文章: k8s部署rabbitmq-CSDN博客文章浏览阅读254次,点赞3次,收藏5次。k8s部署rabbitmqhttps://blo…...

快速优雅解决webview_flutter不能Safari调试的问题

这个问题&#xff0c;网上一搜&#xff0c;又是让你去检索WKWebView&#xff0c;找到FWFWebViewHostApi.m文件&#xff0c;然后再改 iOS 的代码&#xff0c; 加一行 self.inspectable YES; 我们开发Flutter项目&#xff0c;尽量还是不要去改插件里的代码&#xff0c;好了不费…...

Linux——基础命令1

$&#xff1a;普通用户 #&#xff1a;超级用户 cd 切换目录 cd 目录 &#xff08;进入目录&#xff09; cd ../ &#xff08;返回上一级目录&#xff09; cd ~ &#xff08;切换到当前用户的家目录&#xff09; cd - &#xff08;返回上次目录&#xff09; pwd 输出当前目录…...

区块链技术:Facebook 重塑社交媒体信任的新篇章

在这个信息爆炸的时代&#xff0c;社交媒体已经成为我们生活中不可或缺的一部分。然而&#xff0c;随着社交平台的快速发展&#xff0c;隐私泄露、数据滥用和虚假信息等问题也日益凸显。这些问题的核心在于传统社交媒体依赖于中心化服务器存储和管理用户数据&#xff0c;这种模…...

268. 丢失的数字

文章目录 1.题目2.思路3.代码 1.题目 268. 丢失的数字 给定一个包含 [0, n] 中 n 个数的数组 nums &#xff0c;找出 [0, n] 这个范围内没有出现在数组中的那个数。 示例 1&#xff1a; **输入&#xff1a;**nums [3,0,1] **输出&#xff1a;**2 解释&#xff1a;n 3&a…...

机器学习-关于线性回归的表示方式和矩阵的基本运算规则

最近在学习机器学习的过程中&#xff0c;发现关于线性回归的表示和矩阵的运算容易费解&#xff0c;而且随着学习的深入容易搞混&#xff0c;因此特意做了一些研究&#xff0c;并且记录下来和大家分享。 一、线性模型有哪些表示方式&#xff1f; 器学习中&#xff0c;线性模型…...

el-table表格点击单元格实现编辑

使用 el-table 和 el-table-column 创建表格。在单元格的默认插槽中&#xff0c;使用 div 显示文本内容&#xff0c;单击时触发编辑功能。使用 el-input 组件在单元格中显示编辑框。data() 方法中定义了 tableData&#xff0c;tabClickIndex: null,tabClickLabel: ,用于判断是否…...

10分钟带你了解前端Vue Router

作者&#xff1a;CSDN-PleaSure乐事 欢迎大家阅读我的博客 希望大家喜欢 使用环境&#xff1a;WebStorm 目录 一、Vue Router 的基本概念 1.1 什么是 Vue Router&#xff1f; 1.2 Vue Router 的核心功能 二、Vue Router 的原理 2.1 路由模式 2.1.1 Hash 模式 2.1.2 Histo…...

maven如何分析指定jar包的依赖路径

在Maven项目中&#xff0c;分析指定JAR包的依赖路径是非常有用的&#xff0c;尤其是在解决依赖冲突时。Maven提供了一个命令行工具来帮助查看特定依赖的传递性依赖&#xff08;即依赖路径&#xff09;。以下是具体步骤&#xff1a; 使用 mvn dependency:tree 命令 打开命令行或…...

react的antd中Cascader级联选择如何回显

如果你的数据都是这个样子的 {"id": 1015,"pid": 0,"name": "电力、热力、燃气及水生产和供应业","children": [{"id": 1403,"pid": 1015,"name": "热力",},{"id": 140…...

工业物联网平台-视频识别视频报警新功能正式上线

前言 视频监控作为中服云工业物联网平台4.0的功能已经上线运行。已为客户服务2年有余&#xff0c;为客户提供多路视频、实时在线监视和控制能力。服务客户实时发现现场、产线、设备出现随机故障、事故等&#xff0c;及时到场处理维修。 视频识别&视频报警新功能当前正式上…...

【HarmonyOS NEXT】systemDateTime 时间戳转换为时间格式 Date,DateTimeFormat

【HarmonyOS NEXT】systemDateTime 时间戳转换为时间格式 Date&#xff0c;DateTimeFormat 一、前言 在鸿蒙应用开发中&#xff0c;经常需要将时间戳转化为标准时间格式。即&#xff1a;一串数字转化为年月日时分秒。 时间戳通常是一个长整型的数字&#xff0c;如 163041600…...

React 设计模式:实用指南

React 提供了众多出色的特性以及丰富的设计模式&#xff0c;用于简化开发流程。开发者能够借助 React 组件设计模式&#xff0c;降低开发时间以及编码的工作量。此外&#xff0c;这些模式让 React 开发者能够构建出成果更显著、性能更优越的各类应用程序。 本文将会为您介绍五…...

在rtthread中,scons构建时,它是怎么知道是从rtconfig.h找宏定义,而不是从其他头文件找?

在rtthread源码中&#xff0c;每一个bsp芯片板级目录下都有一个 SConstruct scons构建脚本的入口&#xff0c; 在这里把rtthread tools/目录下的所有模块都添加到了系统路径中&#xff1a; 在tools下所有模块中&#xff0c;最重要的是building.py模块&#xff0c;在此脚本里面…...

寒假2.6--SQL注入之布尔盲注

知识点 原理&#xff1a;通过发送不同的SQL查询来观察应用程序的响应&#xff0c;进而判断查询的真假&#xff0c;并逐步推断出有用的信息 适用情况&#xff1a;一个界面存在注入&#xff0c;但是没有显示位&#xff0c;没有SQL语句执行错误信息&#xff0c;通常用于在无法直接…...

嵌入式面试题 C/C++常见面试题整理_7

一.什么函数不能声明为虚函数? 常见的不能声明为虚函数的有:普通函数(非成员函数):静态成员函数;内联成员函数;构造函数;友元函数。 1.为什么C不支持普通函数为虚函数?普通函数(非成员函数)只能被overload&#xff0c;不能被override&#xff0c;声明为虚函数也没有什么意思…...

说一下 Tcp 粘包是怎么产生的?

TCP 粘包是什么&#xff1f; TCP 粘包&#xff08;TCP Packet Merging&#xff09; 是指多个小的数据包在 TCP 传输过程中被合并在一起&#xff0c;接收方读取时无法正确分辨数据边界&#xff0c;导致数据解析错误。 TCP 是流式协议&#xff0c;没有数据包的概念&#xff0c;…...

基于STM32设计的仓库环境监测与预警系统

目录 项目开发背景设计实现的功能项目硬件模块组成设计思路系统功能总结使用的模块的技术详情介绍总结 1. 项目开发背景 随着工业化和现代化的进程&#xff0c;尤其是在制造业、食品业、医药业等行业&#xff0c;仓库环境的监控和管理成为了至关重要的一环。尤其是在存储易腐…...

在uniapp中修改打包路径

在uniapp中修改打包路径&#xff0c;主要涉及到对manifest.json文件的编辑。以下是详细的步骤&#xff1a; 1. 确定当前uniapp项目的打包配置位置 uniapp项目的打包配置通常位于项目的根目录下的manifest.json文件中。这个文件包含了项目的全局配置信息&#xff0c;包括应用的…...

Kali Linux 渗透测试环境配置(Metasploit + Burp Suite)

一、Kali Linux 系统准备 首先&#xff0c;确保你已经成功安装了 Kali Linux 系统。可以从官方网站下载镜像文件&#xff0c;并通过 U 盘引导安装等常规方式完成系统部署。建议使用最新稳定版本&#xff0c;以获取最新的软件包支持和安全更新。 安装完成后&#xff0c;登录系…...

Oracle 变更redo log文件位置

更改Oracle数据库的Redo log文件位置&#xff0c;可以按照以下步骤操作。 1.查询当前Redo log文件信息 select * from v$log; select * from v$logfile;通过查询结果可知Redo log文件放在/oradata/redofile 目录下。 2.拷贝redo log文件到新的位置/Data/redolog $cd /orada…...

力扣题库第495题目解析

文章目录 1.题目再现2.思路分析&&示例说明2.1第一个示例2.2第二个示例 3.代码解释 1.题目再现 这个题目的名字叫做提莫攻击&#xff0c;如果是玩游戏的小伙伴对于这个场景就很熟悉了&#xff1b; 这个实际上是说&#xff1a;已知的条件会给我们一个数组&#xff0c;在…...

Milvus 存储设计揭秘:从数据写入到 Segment 管理的全链路解析

作为一款云原生向量数据库&#xff0c;Milvus 的高效查询性能有赖于其独特的存储架构设计。然而&#xff0c;在实际使用过程中&#xff0c;许多社区用户常常会遇到以下问题&#xff1a; 为什么频繁调用 flush 后&#xff0c;查询速度会变慢&#xff1f; 数据删除后&#xff0c;…...

单片机通讯中的时序图:初学者的入门指南

一、什么是时序图&#xff1f; 在单片机的世界里&#xff0c;时序图是一种非常重要的工具&#xff0c;它用于描述信号在时间上的变化规律。简单来说&#xff0c;时序图就像是信号的“时间线”&#xff0c;它展示了各个信号线在不同时间点上的电平状态。通过时序图&#xff0c;我…...

ASP.NET Core JWT

目录 Session的缺点 JWT&#xff08;Json Web Token&#xff09; 优点&#xff1a; 登录流程 JWT的基本使用 生成JWT 解码JWT 用JwtSecurityTokenHandler对JWT解码 注意 Session的缺点 对于分布式集群环境&#xff0c;Session数据保存在服务器内存中就不合适了&#…...

Linux基础命令之Nginx中的rewrite功能(重新)

一、什么是Rewrite Rewrite也称URL Rewrite&#xff0c;即URL重写&#xff0c;就是把传入Web的请求重定向到其他URL的过程。 1. URL Rewrite最常见的应用是URL伪静态化&#xff0c;是将动态页面显示为静态页面方式的一种技术。比如http://www.123.com/news/index.php?id123 使…...

4 前端前置技术(上):AJAX技术、Axios技术(前端发送请求)

文章目录 前言一、Ajax技术&#xff08;从服务端获取数据&#xff0c;发送各种请求&#xff09;0 接口文档管理&#xff1a;使用apipost等接口测试软件创建接口便于前端后端分离测试1 基本概念2 原生Ajax使用示例&#xff08;几年前的早期用法&#xff09; 二、 Axios技术(对原…...

三星手机为何不大力扩展中国市场?

三星在中国市场的手机销量长期低迷&#xff0c;主要原因可以归结为以下几点&#xff0c;这也解释了为什么三星可能没有大力扩展中国市场的计划&#xff1a; 1. 市场竞争激烈 中国市场已经被华为、OPPO、vivo、小米和苹果等品牌牢牢占据&#xff0c;这些品牌在产品设计、本地化…...

Linux在x86环境下制作ARM镜像包

在x86环境下制作ARM镜像包&#xff08;如qemu.docker&#xff09;&#xff0c;可以通过QEMU和Docker的结合来实现。以下是详细的步骤&#xff1a; 安装QEMU-user-static QEMU-user-static是一个静态编译的QEMU二进制文件&#xff0c;用于在非目标架构上运行目标架构的二进制文…...

【算法篇】贪心算法

目录 贪心算法 贪心算法实际应用 一&#xff0c;零钱找回问题 二&#xff0c;活动选择问题 三&#xff0c;分数背包问题 将数组和减半的最小操作次数 最大数 贪心算法 贪心算法&#xff0c;是一种在每一步选择中都采取当前状态下的最优策略&#xff0c;期望得到全局最优…...

硬件电路基础

目录 1. 电学基础 1.1 原子 1.2 电压 1.3 电流 1.电流方向&#xff1a; 正极->负极,正电荷定向移动方向为电流方向&#xff0c;与电子定向移动方向相反。 2.电荷&#xff08;这里表示负电荷&#xff09;运动方向&#xff1a; 与电流方向相反 1.4 测电压的时候 2. 地线…...