机器学习第四十一周周报 JTFT

文章目录

  • week41 JTFT
  • 摘要
  • Abstract
    • 1. 题目
    • 2. Abstract
    • 3. 网络架构
      • 3.1 JTFT
      • 3.2 具有可学习频率的稀疏FD表示
      • 3.3 用于提取跨渠道依赖关系的低阶注意力层
    • 4. 文献解读
      • 4.1 Introduction
      • 4.2 创新点
      • 4.3 实验过程
    • 5. 结论
      • 小结
      • 参考文献

week41 JTFT

摘要

本周阅读了题为A Joint Time-Frequency Domain Transformer for multivariate time series forecasting的论文。该文提出了一种联合时频域变换器(JTFT)。 JTFT 使用少量可学习频率来利用频域 (FD) 中时间序列数据的稀疏性。此外,JTFT 还包含固定数量的最新数据点,以增强对时域局部关系的学习。这些设计降低了理论复杂性和实际计算量。此外,采用低秩注意力层来有效提取关键的跨渠道依赖关系,这使得 JTFT 超越了仅通过 CI 建模所实现的性能。

Abstract

This week’s weekly newspaper decodes the paper entitled A Joint Time-Frequency Domain Transformer for multivariate time series forecasting. This study propose a Joint Time-Frequency Domain Transformer (JTFT). JTFT leverages the sparsity of time series data in the frequency domain (FD) using a small number of learnable frequencies. Additionally, JTFT incorporates a fixed number of the latest data points to enhance the learning of local relationships in the time domain. These designs reduce both theoretical complexity and
real computation. Furthermore, a low-rank attention layer is employed to efficiently extract crucial cross-channel dependencies, which allows JTFT to go beyond the performance achieved by CI modeling alone.

1. 题目

标题:A Joint Time-Frequency Domain Transformer for multivariate time series forecasting

作者:Yushu Chen a 1, Shengzhuo Liu b, Jinzhe Yang c, Hao Jing d, Wenlai Zhao a 1, Guangwen Yang

发布:Neural Networks Volume 176, August 2024, 106334

链接:https://doi.org/10.1016/j.neunet.2024.106334

源代码链接:https://github.com/rationalspark/JTFT.git

2. Abstract

为了增强 Transformer 模型的长期多元预测性能,同时最大限度地减少计算需求,本文引入了联合时频域Transformer(JTFT)。 JTFT 结合时域和频域表示来进行预测。频域表示有效地提取多尺度依赖性,同时通过利用少量可学习频率来保持稀疏性。同时,时域(TD)表示源自固定数量的最新数据点,加强了局部关系的建模减轻了非平稳性的影响。重要的是,表示的长度独立于输入序列长度,使 JTFT 能够实现线性计算复杂度。此外,提出了低秩注意力层来有效捕获跨维度依赖性,从而防止因时间和通道建模的纠缠而导致的性能下降。八个真实世界数据集的实验结果表明,JTFT 在预测性能方面优于最先进的基线。

3. 网络架构

3.1 JTFT

初步:多元时间序列预测根据历史数据预测时间序列的未来值。用 x 1 : L = { x 1 , … , x L } x_1:L = \{x_1,\dots, x_L\} x1:L={x1,,xL} 表示输入序列,其中 L 表示回溯窗口(输入长度)。该系列有 D 个通道,第 i 个通道表示为 x i = { x 1 i , … , x L i } x^i = \{x_1^i,\dots, x_L^i\} xi={x1i,,xLi}。待预测的未来值表示为 x L + 1 : L + T = { x L + 1 , … , x L + T } x_{L+1:L+T}=\{x_{L+1},\dots,x_{L+T}\} xL+1:L+T={xL+1,,xL+T},其中𝐱𝐿+𝑇},其中 T是目标窗口(预测长度)。该模型的任务是将 x 1 : L x_{1:L} x1:L 映射到 y ∈ R D × T y\in \mathbb R^{D\times T} yRD×T ,这是 x L + 1 : L + T x_{L+1:L+T} xL+1:L+T 的近似值。

image-20240601223148511

整体结构:JTFT的整体结构如图1所示。该模型首先将输入序列变换为联合时频域嵌入,然后通过Transformer Encoder和低秩跨通道注意力机制将其映射到潜在表示,最后使用预测头生成输出,然后进行反规范化。

在预处理阶段,输入的每个通道都经过均值减法和标准差缩放。

然后,应用修补技术将时间序列分为重叠或非重叠-重叠的连续段。在此过程中,输入多元时间序列的每个通道都被视为单独的单变量时间序列,然后将其划分为补丁。将补丁长度表示为 l p l_p lp,将步幅表示为 l s l_s ls,其中L和 l p l_p lp都必须能被 l s l_s ls​整除。通过修补操作重新排列输入:
Patching x 1 : L = Z p c h (1) \text{Patching}_{x_{1:L}}=Z_{pch} \tag{1} Patchingx1:L=Zpch(1)
其中输入序列 x 1 : L ∈ R D × L x_{1:L}\in\mathbb R^{D\times L} x1:LRD×L,补充序列 Z p c h ∈ R D × L ~ × l p Z_{pch}\in \mathbb R^{D\times \tilde L\times l_p} ZpchRD×L~×lp,且
( Z p c h ) j i = x ( j − 1 ) l s + 1 : ( j − 1 ) l s + l p i (2) (Z_{pch})^i_j=x^i_{(j-1)l_s+1:(j-1)l_s+l_p} \tag{2} (Zpch)ji=x(j1)ls+1:(j1)ls+lpi(2)
对于通道索引 i ∈ { 1 , … , D } i\in \{1,\dots,D\} i{1,,D} 和补丁索引 j ∈ { 1 , … , L ^ } j\in \{1,\dots, \hat L\} j{1,,L^}。通过重复最后一个元素 l s l_s ls 次来填充输入序列,从而总共生成 L ~ = ( L − l p ) / l s + 2 \tilde L=(L-l_p)/l_s+2 L~=(Llp)/ls+2​ 个补丁。这些补丁充当后续建模阶段的基本输入单元。

image-20240601224204864

然后,预处理后的数据通过自定义离散余弦变换 (CDCT) 模块来提取频域 (FD) 分量。图 2 进一步说明了这一进展。

TD 和 FD 数据的融合在减轻时间序列数据非平稳性的不利影响方面发挥着至关重要的作用。此外,CDCT 基础的周期性性质可能无法准确代表这些时间变化。因此,纳入最新的 TD 数据对于捕获最新的本地关系至关重要。

JTFT 中的 Transformer 编码器和低秩注意力层分别提取时频和跨通道依赖性。混合跨渠道相关性可能不如单独建模效果更好(PatchTST效果优于通道混合模型),故JTFT 利用两阶段方法分别捕获时间频率和通道依赖性。虽然在此阶段尚未对跨通道交互进行建模,但编码器在所有通道之间共享,并使用所有可用数据进行训练,这有助于减轻过度拟合。

预测头由 GELU 激活函数、dropout 层和线性投影层组成

该模型使用 Huber 损失函数进行训练,与均方误差 (MSE) 损失相比,该函数对数据中的异常值具有更大的恢复能力。

3.2 具有可学习频率的稀疏FD表示

利用 FD 稀疏性来降低计算和内存复杂性也至关重要。根据FEDTransformer 的研究结果,为了用更少的分量更精确地表示时间序列,引入了具有可学习频率的FD表示。

CDCT 是离散余弦变换 (DCT) 的推广,它以不同频率振荡的实值余弦函数之和来表示序列。DCT大致将长度减半来表示实数序列,并且具有很强的能量压缩特性。因此,它在压缩方面更优选,因此适合用少量 FD 分量来表示系列。 DCT 的一种常用形式是

image-20240601230215055

矩阵 T ~ \mathbf {\tilde T} T~​ 是正交的,因此逆变换为

image-20240601230326248

为了进一步提高少量固定数量的 FD 分量的表示能力,通过将具有特定频率的 DCT 推广为 CDCT 来提出

image-20240601230611896

如果将 n f < < N nf<<N nf<<N视为常数,则 CDCT 的复杂度为 O ( N ) O(N) O(N)

除首个频率外,其余频率均为可学习参数。这种灵活性使得 CDCT 内的频率调整能够更好地近似数据中最重要的频率,这些频率可能与 DCT 的统一网格点不对齐。

image-20240601231241662

通过检查重建输入 TD 序列的误差来比较可学习 (LRN)、低 (LOW) 和随机 (RND) 频率的表示能力。从图 3 所示的结果来看,当分量数量相同时,与随机和低频相比,可学习频率表示从输入中保留了更多信息。

3.3 用于提取跨渠道依赖关系的低阶注意力层

为了满足以更少的冗余捕获跨通道依赖关系的需求,引入了低秩注意力(LRA)层。 LRA 是一种将跨渠道信息集成到 CI 建模中的计算高效方法。它在通道维度上进行轻量级关注,对 CI Transformer 编码器的输出生成低秩校正。

LRA 通过两种方法将更新限制在低秩空间,从而缓解过度拟合。首先,它将跨通道序列映射到低维表示,然后线性投影回原始空间以生成更新。其次,它采用时频独立(TFI)设置,在时频维度上共享校正。此外,它通过简化注意力机制并将位置嵌入从输入空间移动到低维表示空间来减少参数数量。

image-20240601232145566

图4说明了LRA的结构。它用轻量级多头自注意力(LMSA)取代了通道式 Transformer 编码器中的资源密集型多头自注意力(MSA)。

LMSA 利用简短的可学习查询将来自所有通道的消息聚合到低秩空间中。此外,LMSA 输出中添加了紧凑的可学习位置嵌入,以说明低秩空间内的位置。

LMSA 是 MSA 的简化版本,减少了计算要求和参数。在 LMSA 中,键和值共享相同的线性投影。因为它与可学习查询一起使用,所以查询的线性投影也被省略。标准 MSA 表示为

image-20240601232541692

LMSA 表示为

image-20240601232610544

LRA的输入是Transformer编码器得到的CI表示。LRA描述为

image-20240601232729422

R \mathbf R R为可学习参数

LRA 的计算效率很高,这得益于其低秩性质。 LRA 将复杂度降低到 O ( D d r ) O(Dd_r) O(Ddr)。当 d r < < D d_r<<D dr<<D 被视为常数时,该复杂度可以近似为 O ( D ) O(D) O(D)​。

image-20240601233147761

表1比较了各种时间序列预测模型的时间和空间复杂度。 JTFT 是复杂度最低的预测模型之一 。值得注意的是,Crossformer 和 PatchTST 具有很高的理论复杂度,但它们通过使用分段投影而不是单个时间点作为 Transformer 编码器的输入,有效降低了实际计算成本。

4. 文献解读

4.1 Introduction

PatchTST(Nie、Nguyen、Sinthong 和 Kalagnanam,2023)通过应用修补和通道独立 (CI) 设置,使 Transformers 的性能优于 DLinear。

简单的线性模型 DLinear(Zeng、Chen、Zhang 和 Xu,2022)优于许多基于 Transformer 的方法,这表明 Transformer 对于时间序列预测可能不够有效。

增强稀疏频域表示以捕获多尺度特征对于开发低复杂度的高精度预测方法至关重要。

Crossformer采用两阶段注意力层来学习跨通道依赖性,但在大多数实验中其性能不如带有 CI 的 PatchTST。此外,Li、Rao、Pan 和 Xu(2023 Crossformer)强调了在捕获时间和通道交互时纠缠和冗余的有害影响。

由于现有方法在实现高精度和低复杂性方面的局限性,特别是在合并跨通道依赖性时,该文提出了一种联合时频域变换器(JTFT)。 JTFT 使用少量可学习频率来利用频域 (FD) 中时间序列数据的稀疏性。此外,JTFT 还包含固定数量的最新数据点,以增强对时域局部关系的学习。这些设计降低了理论复杂性和实际计算量。此外,采用低秩注意力层来有效提取关键的跨渠道依赖关系,这使得 JTFT 超越了仅通过 CI 建模所实现的性能。

4.2 创新点

本文的创新点在于提出了JTFT模型,该模型结合了时域和频域表示来进行时间序列预测。通过利用可学习的频率和低秩注意力层,JTFT能够高效地提取多尺度依赖关系和跨通道依赖关系,同时保持较低的计算复杂度。主要贡献有四个方面:

  • 提出了定制离散余弦变换 (CDCT),用于计算定制 FD 分量并实现频率学习。基于CDCT,开发了具有一些可学习频率的FD表示,可有效捕获时间序列的多尺度结构。
  • 时间序列基于稀疏 FD 和最新 TD 表示进行编码,这使得 Transformer 能够以线性复杂度有效地提取长期和局部依赖关系。
  • 引入低秩注意力层来学习跨通道交互,通过减轻捕获时间和通道依赖性的纠缠和冗余来进一步提高预测性能。
  • 在涵盖多个领域(医疗、能源、贸易、交通和天气)的 8 个真实世界基准数据集上进行的广泛实验结果表明,我们的模型提高了 SOTA 方法的预测性能。具体来说,JTFT 在 80 个具有不同预测长度和指标的设置中的 68 个中排名最佳,并且在实验中剩余 12 个设置中的 10 个中排名第二。

4.3 实验过程

数据集:评估了 JTFT 在八个真实数据集上的性能,包括交换、天气、交通、电力(电力消耗负载)、ILI(流感样疾病)、ETTm2(每分钟电力变压器温度)、PEMS04 和 PEMS08。按照 Nie 等人的研究,数据集分为训练集、验证集和测试集。 (2023),ETTm2 的分流比为 0.6:0.2:0.2,其他数据集的分流比为 0.7:0.1:0.2。

基线

  • 使用多个 SOTA 模型作为时间序列预测的基线,包括 PatchTST (Nie et al., 2023)、Crossformer (Zhang & Yan, 2023)、FEDformer (Zhou, Ma, Wen, Wang, et al., 2022) 、FiLM(Zhou、Ma、Wen、Sun 等人,2022)、DLinear(Zeng 等人,2022)、DeepTime(Woo 等人,2023)、TSMixer(Chen、Li、Arik、Yoder 和 Pfister) ,2023)。
  • 经典模型如 ARIMA、基本的 RNN/LSTM/CNN 模型

实验设置:ILI 的预测长度为 T ∈ { 24 , 36 , 48 , 60 } T\in\{24, 36, 48, 60\} T{24,36,48,60},而其他数据集的预测长度为 T ∈ { 96 , 192 , 336 , 720 } T\in \{96, 192, 336, 720\} T{96,192,336,720}​。 PatchTST、DLinear、FiLM、DeepTime 和 TSMixer 的基线结果是从其原始论文中获得的,回顾窗口𝐿可以搜索或设置为建议值。具体到 PatchTST,展示了 PatchTST/64 的结果,其整体性能通常比 PatchTST/42 更好。对于文献中没有的其他方法或设置,𝐿是通过网格搜索来确定的,以建立强大的基线。对于两个较小的数据集(ILI 和 Exchange),搜索范围为 {24, 48, 84, 96, 128},对于其他数据集,搜索范围为 {48, 96, 192, 336, 512, 720}。相比之下,JTFT 配置与 PatchTST/64 一致,其中对于较小的数据集,𝐿 设置为 128,对于较大的数据集,设置为 512。

报告的评估指标包括用于多元时间序列预测的均方误差(MSE)和平均绝对误差(MAE)。

image-20240601233806447

表 2 列出了多变量预测结果,其中 JTFT 优于所有基线方法。结果凸显了通过将跨通道信息纳入多变量时间序列预测来提高 SOTA 通道无关方法性能的挑战,这主要是由于与计算机视觉 (CV) 和自然语言处理等应用相比,可用数据集的规模相对较小(NLP),过度拟合的风险较高。除了基于 Transformer 的方法之外,DLinear、FiLM、DeepTime 和 TSMixer 也被证明具有竞争力。

消融研究:研究联合时频域表示(JTFR)和低秩注意力(LRA)层的影响。将仅具有 TD 表示且无 LRA 的 JTFT 称为 TDR,将仅具有 FD 表示且无 LRA 的 JTFT 称为 FDR,将具有 TD 和 FD 表示但无 LRA 的 JTFT 称为 JTFR。 TDR、FDR 和 JTFR 的性能在三个数据集上进行评估:ILI、天气和电力,分别代表小型、中型和大型数据集。结果与表 3 中的 PatchTST 进行了比较。FEDformer 和 FiLM 也作为之前的 SOTA FD 方法包含在基线中,分别利用随机和低频。

image-20240601233945933

在大多数设置中,与 TDR 和 FDR 相比,JTFR 提高了性能。此外,FDR 在大多数设置中显着优于 FEDformer,甚至超过 FiLM,凸显了可学习频率的有效性。 JTFT 优于 JTFR,表明 LRA 包含通过利用跨通道相关性增强了预测性能。

实际时间效率和内存使用情况:结果如图 5 所示。在基于 Transformer 的方法中,JTFT 速度最快且需要最少的内存。虽然 DLinear 比 JTFT 更快,但精度较差。这些结果凸显 JTFT 是一种有效的方法,特别是在考虑速度和准确性时。

image-20240601234156890

5. 结论

该文介绍了 JTFT,一种用于多元时间序列预测的联合时频域 Transformer。 JTFT 使用少量可学习频率有效捕获多尺度结构,同时还利用最新的时域数据来增强局部关系学习并减轻非平稳性的不利影响。此外,它利用低秩注意力层来提取跨通道相关性,同时减轻与时间依赖性建模的纠缠。 JTFT在时间和空间上都具有线性复杂度。对 8 个真实世界数据集的大量实验表明,方法在长期预测方面实现了最先进的性能

小结

由于现有方法在实现高精度和低复杂性方面的局限性,特别是在合并跨通道依赖性时,该文提出了一种联合时频域变换器(JTFT)。 JTFT 使用少量可学习频率来利用频域 (FD) 中时间序列数据的稀疏性。此外,JTFT 还包含固定数量的最新数据点,以增强对时域局部关系的学习。这些设计降低了理论复杂性和实际计算量。此外,采用低秩注意力层来有效提取关键的跨渠道依赖关系,这使得 JTFT 超越了仅通过 CI 建模所实现的性能。

参考文献

[1] Yushu Chen, Shengzhuo Liu, Jinzhe Yang, Hao Jing, Wenlai Zhao, Guangwen Yang, “A Joint Time-Frequency Domain Transformer for multivariate time series forecasting” [J], Neural Networks Volume 176, August 2024, 106334

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/670211.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【TIPs】 Visual Stadio 2019 中本地误使用“git的重置 - 删除更改 -- hard”后,如何恢复?

环境&#xff1a; VS 2019Windows10本地版本管理&#xff08;非远程&#xff09; 前言&#xff1a; git 在Visual Stadio 2019中集成了git的版本管理&#xff0c;在本地用来做版本管理&#xff0c;本来比较好用。 不过有一次&#xff0c;由于拿最初始的版本的时候&#xf…

fyne apptab布局

fyne apptab布局 AppTabs 容器允许用户在不同的内容面板之间切换。标签要么只是文本&#xff0c;要么是文本和一个图标。建议不要混合一些有图标的标签和一些没有图标的标签。 package mainimport ("fyne.io/fyne/v2/app""fyne.io/fyne/v2/container"//&…

广告变现是什么

广告变现是指媒体或平台通过向用户展示广告主的广告&#xff0c;从而获得收入的过程。 广告变现就像是一个店主&#xff0c;他需要有一个吸引人的店面&#xff0c;提供优质的内容和服务&#xff0c;然后在店里摆放一些别人的商品或服务&#xff0c;每当有客人看了或买了这…

Proxmox 虚拟环境下1Panel Linux 服务器运维管理面板的安装

简介 以前安装服务器管理面板用的都是宝塔&#xff0c;今天发现 1Panel Linux 服务器运维管理面板也很好&#xff0c;面板清晰整洁&#xff0c;使用的技术比较先进&#xff0c;所以我决定亲自安装一下看看效果就竟如何&#xff1f; 1Panel Linux 服务器运维管理面板是一个开源…

C语言 | Leetcode C语言题解之第125题验证回文串

题目&#xff1a; 题解&#xff1a; bool isalumn(char c) {return (c > a && c < z) || (c > A && c < Z) || (c > 0 && c < 9); }bool isPalindrome(char* s) {for (int left 0, right strlen(s) - 1; left < right; left, …

XDMA原理及其应用和发展

XDMA原理 XDMA的主要原理是通过直接访问主机内存&#xff0c;实现数据的快速传输。在传统的DMA&#xff08;Direct Memory Access&#xff09;技术中&#xff0c;数据传输需要经过CPU的干预&#xff0c;而XDMA可以绕过CPU&#xff0c;直接将数据从外设读取到主机内存或者从主机…

Java | Leetcode Java题解之第126题单词接龙II

题目&#xff1a; 题解&#xff1a; class Solution {public List<List<String>> findLadders(String beginWord, String endWord, List<String> wordList) {List<List<String>> res new ArrayList<>();// 因为需要快速判断扩展出的单词…

7-zip安装教程

一、简介 7-Zip 是一款开源的文件压缩软件&#xff0c;由 Igor Pavlov 开发。它具有高压缩比、支持多种格式、跨平台等特点。使用 C语言编写&#xff0c;其代码在 Github 上开源。 7-Zip的官网&#xff1a; 7-Zip 7-zip官方中文网站&#xff1a; 7-Zip 官方中文网站 7-Zip 的 G…

Java | Leetcode Java题解之第125题验证回文串

题目&#xff1a; 题解&#xff1a; class Solution {public boolean isPalindrome(String s) {int n s.length();int left 0, right n - 1;while (left < right) {while (left < right && !Character.isLetterOrDigit(s.charAt(left))) {left;}while (left …

Java筑基-集合[Set、Map、List、Stack、Queue]

这里写目录标题 一、Collection接口结构图二、Set集合1、常用方法 三、List集合1、List集合常用方法2、代码案例 四、Stack集合1、方法2、代码展示 五、Queue集合1、常用的方法2、代码展示 六、Map集合1、基本概念2、常用方法3、代码展示 一、Collection接口结构图 二、Set集合…

C语言中 printf函数格式化输出

一. 简介 本文来简单学习一下&#xff0c;C语言中printf函数格式化输出时&#xff0c;因为我们的粗心没有 将数据类型与格式化参数对应&#xff0c;而导致的一些问题。 二. C语言中printf函数的格式化输出 在C语言中&#xff0c;printf函数是用于格式化输出的函数&#xff0…

如何实现一个AI聊天功能

最近公司的网站上需要对接一个AI聊天功能&#xff0c;领导把这个任务分给了我&#xff0c;从最初的调研&#xff0c;学习&#xff0c;中间也踩过一些坑&#xff0c;碰到过问题&#xff0c;但最后对接成功&#xff0c;还是挺有成就感的&#xff0c;今天把这个历程和项目整理一下…

揭秘:为啥赚钱越来越难了?8大残酷真相!

当下&#xff0c;许多人都普遍感受到了一种前所未有的压力&#xff1a;赚钱似乎变得越来越难了。这一现象的背后&#xff0c;隐藏着多个层面的复杂原因。以下&#xff0c;我们将结合最新的数据和观察&#xff0c;从几个关键角度探讨这一现象的成因。 首先&#xff0c;全球经济…

flinksql 回撤流中主键发生变更的影响(group by中的值发生改变)

flinksql 回撤流中,主键发生变更的影响 1 什么是回撤流2 主键变更场景3 实践中发现的比较好的的实时数仓架构1 什么是回撤流 这篇文章主要谈论一个场景,简单来说: 首先我们来简单的说一下什么是回撤流,以及回撤流的底层原理,举个例子: 这个说的不是很清晰 ,其实倒数第…

Java学习19-List、set容器

目录 一.List&#xff1a; 1.List基本介绍&#xff1a; 2.List接口方法&#xff1a; 3.List的三种遍历方式&#xff1a; 4.ArrayList&#xff1a; &#xff08;1&#xff09;ArrayLis的基本介绍&#xff1a; &#xff08;2&#xff09;ArrayList底层结构和源码分析&…

就业班 第四阶段(docker) 2401--5.29 day3 Dockerfile+前后段项目若依ruoyi

通过Dockerfile创建镜像 Docker 提供了一种更便捷的方式&#xff0c;叫作 Dockerfile docker build命令用于根据给定的Dockerfile构建Docker镜像。docker build语法&#xff1a; # docker build [OPTIONS] <PATH | URL | ->1. 常用选项说明 --build-arg&#xff0c;设…

数学建模 —— 数学规划模型(5)

目录 一、数学规划 1.1 数学规划问题一般形式 二、常见规划模型 2.1 线性规划&#xff08;Linear Programming&#xff09; 2.1.1 定义 2.1.2 一般形式 2.1.3 标准形式 2.1.4 求解 2.2 整数规划&#xff08;Integer Programming&#xff09; 2.2.1 单目标规划 2.…

跨域请求解决方法----不允许有多个 ‘Access-Control-Allow-Origin‘ CORS 头

后端配置了代码&#xff1a; spring:application:name: spzx-server-gatewaycloud:nacos:discovery:server-addr: localhost:8848gateway:discovery:locator:enabled: trueglobalcors:cors-configurations:[/**]:allowedOriginPatterns: "*"# 允许请求中携带的头信息…

每日刷题——杭电2156.分数矩阵和杭电2024.C语言合法标识符

杭电2156.分数矩阵 原题链接&#xff1a;Problem - 2156 题目描述 Problem Description&#xff1a;我们定义如下矩阵: 1/1 1/2 1/3 1/2 1/1 1/2 1/3 1/2 1/1 矩阵对角线上的元素始终是1/1&#xff0c;对角线两边分数的分母逐个递增。请求出这个矩阵的总和。 Input&#xf…

zibll-V7.7最新版2024完美破解授权可用(含授权教程)

最近这个正版安装包流出来了,试了一下用以前的绕过授权方法&#xff0c;一样可以授权。 源码下载&#xff1a;https://download.csdn.net/download/m0_66047725/89379057 更多资源下载&#xff1a;关注我。