创新算法!BKA-Transformer-BiLSTM黑翅鸢优化算法多变量时间序列预测

创新算法!BKA-Transformer-BiLSTM黑翅鸢优化算法多变量时间序列预测

目录

    • 创新算法!BKA-Transformer-BiLSTM黑翅鸢优化算法多变量时间序列预测
      • 预测效果
      • 基本介绍
      • BKA-Transformer-BiLSTM黑翅鸢优化算法多变量时间序列预测
        • 一、引言
          • 1.1、研究背景和意义
          • 1.2、研究现状
          • 1.3、研究内容与论文结构
        • 二、相关理论基础
          • 2.1、黑翅鸢优化算法(BKA)
          • 2.2、Transformer模型
          • 2.3、长短期记忆网络(LSTM)
          • 2.4、多变量时间序列预测
        • 三、BKA-Transformer-BiLSTM模型设计
          • 3.1、模型总体架构
          • 3.2、数据预处理与特征提取
          • 3.3、基于BKA的超参数优化
          • 3.4、BiLSTM的时间序列预测
        • 四、实验设计与结果分析
          • 4.1、实验数据与评价指标
          • 4.2、模型训练与参数设置
          • 4.3、结果展示与分析
        • 五、结论与展望
          • 5.1、研究总结
          • 5.2、研究限制与未来工作
      • 程序设计
      • 参考资料

预测效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

基本介绍

1.Matlab实现BKA-Transformer-BiLSTM多变量时间序列预测,BKA-Transformer-BiLSTM/程序可以作为SCI一区级论文代码支撑,目前尚未发表);

黑翅鸢优化算法(Black-winged Kite Algorithm, BKA)具有独特的生物启发特征,引入了柯西变异策略,有助于算法跳出局部最优解,集成了一种领导策略,确保算法能够有效利用当前的最佳解并指导搜索方向。

2.BKA优化参数为:学习率,隐含层节点,正则化参数,运行环境为Matlab2023b及以上;

3.data为数据集,输入多个特征,输出单个变量,考虑历史特征的影响,多变量时间序列预测,main.m为主程序,运行即可,所有文件放在一个文件夹;

4.命令窗口输出R2、MSE、RMSE、MAE、MAPE、MBE等多指标评价;

代码中文注释清晰,质量极高,赠送测试数据集,可以直接运行源程序。替换你的数据即可用 适合新手小白

BKA-Transformer-BiLSTM黑翅鸢优化算法多变量时间序列预测

一、引言
1.1、研究背景和意义

在当今数据驱动的时代,时间序列预测已成为数据分析和决策支持的重要组成部分。随着工业4.0和物联网技术的快速发展,各种传感器和设备产生的数据量呈指数级增长,这些数据大多具有时间序列特性。因此,如何有效利用这些数据进行准确的时间序列预测,已成为学术界和工业界共同关注的焦点。

时间序列预测不仅可以帮助企业预测市场需求、优化库存管理,还可以用于天气预测、股票市场分析、能源消耗预测等多个领域。例如,在能源领域,准确预测电力负荷可以帮助电力公司优化电力生产与分配,减少能源浪费;在金融领域,准确的股票价格预测可以帮助投资者制定更有效的投资策略。因此,研究多变量时间序列预测方法具有重要的理论价值和实际应用前景。

1.2、研究现状

近年来,随着机器学习和深度学习技术的发展,时间序列预测方法取得了显著的进展。特别是循环神经网络(RNN)及其变种长短期记忆网络(LSTM)和门控循环单元(GRU),因其在处理序列数据方面的优势,已被广泛应用于时间序列预测任务中。然而,这些方法在处理长序列和捕捉复杂依赖关系时仍存在局限性。

Transformer模型自2017年提出以来,在自然语言处理领域取得了巨大成功。其核心的自注意力机制能够有效捕捉序列中的长期依赖关系。近年来,Transformer模型也被逐步应用于时间序列预测领域,并显示出良好的性能。例如,Transformer模型在处理光伏功率预测和负荷预测等任务时,通过多头注意力机制能够有效捕捉数据中的复杂关系和长期依赖关系,从而提高了预测准确性。

尽管如此,Transformer模型在多变量时间序列预测中的应用仍面临一些挑战。例如,如何有效整合多变量信息、如何优化模型超参数等问题仍需进一步研究。此外,现有的优化算法在处理复杂问题时,容易陷入局部最优,无法找到全局最优解。因此,研究新的优化算法以提高模型性能显得尤为重要。

1.3、研究内容与论文结构

本文提出了一种新的多变量时间序列预测模型——BKA-Transformer-BiLSTM。该模型结合了黑翅鸢优化算法(BKA)、Transformer模型和双向长短期记忆网络(BiLSTM)的优势,旨在提高预测准确性和模型泛化能力。具体而言,本文首先对黑翅鸢优化算法进行介绍,然后详细阐述BKA-Transformer-BiLSTM模型的构建过程。

二、相关理论基础
2.1、黑翅鸢优化算法(BKA)

黑翅鸢优化算法(BKA)是一种新型的元启发式优化算法,灵感来源于黑翅鸢的迁徙和捕食行为。BKA通过模拟黑翅鸢在飞行和捕食过程中的行为,实现对搜索空间的探索和开发,从而找到全局最优解。该算法具有参数少、易于实现、全局搜索能力强等优点,已在多个领域得到成功应用。

在BKA中,每个个体代表一个潜在的解,通过更新个体的位置来实现优化。具体而言,BKA包括两个主要阶段:探索阶段和开发阶段。在探索阶段,个体通过随机飞行来探索搜索空间,寻找潜在的最优解;在开发阶段,个体通过追随当前最优解来进一步优化位置。这种机制使得BKA在保持全局搜索能力的同时,也能够进行有效的局部开发,从而提高了优化性能。

BKA算法的具体实现过程如下:

  1. 初始化种群:随机生成初始种群,每个个体代表一个潜在的解。
  2. 适应度评估:计算每个个体的适应度值,并根据适应度值选择当前最优解。
  3. 个体位置更新:根据黑翅鸢的飞行和捕食行为,更新个体的位置。具体而言,个体的位置更新公式如下:

x i t + 1 = x i t + r 1 ⋅ A 1 ⋅ ( x b e s t t − x i t ) + r 2 ⋅ A 2 ⋅ ( x r a n d t − x i t ) x_{i}^{t+1} = x_{i}^{t} + r_1 \cdot A_1 \cdot (x_{best}^{t} - x_{i}^{t}) + r_2 \cdot A_2 \cdot (x_{rand}^{t} - x_{i}^{t}) xit+1=xit+r1A1(xbesttxit)+r2A2(xrandtxit)

其中, x i t x_i^t xit表示第 i i i个个体在 t t t时刻的位置, x b e s t t x_{best}^t xbestt表示当前最优解的位置, x r a n d t x_{rand}^t xrandt表示随机选择的一个个体的位置, r 1 r_1 r1 r 2 r_2 r2是两个随机数, A 1 A_1 A1 A 2 A_2 A2是两个控制探索和开发行为的参数。
4. 终止条件判断:如果达到预设的迭代次数或适应度值达到预设阈值,则停止迭代;否则,返回步骤2。

2.2、Transformer模型

Transformer模型是一种基于自注意力机制的神经网络结构,最初为处理自然语言处理任务而设计。Transformer模型通过多头自注意力机制,能够有效捕捉输入序列中的长期依赖关系。与传统的循环神经网络相比,Transformer模型在处理长序列时具有更高的效率和更好的性能。

Transformer模型主要由编码器和解码器组成。编码器由多个相同的层堆叠而成,每一层包括多头自注意力机制和前馈神经网络。解码器也由多个相同的层堆叠而成,每一层包括多头自注意力机制、掩码多头自注意力机制和前馈神经网络。通过这种结构,Transformer模型能够并行处理输入序列中的所有元素,从而提高训练效率。

多头自注意力机制是Transformer模型的核心组成部分。它允许模型同时关注输入序列中的不同位置,从而捕捉不同位置之间的依赖关系。具体而言,多头自注意力机制将输入序列映射到多个不同的子空间中,并在每个子空间中进行自注意力计算。最后,将各个子空间中的注意力结果进行合并,得到最终的注意力输出。

2.3、长短期记忆网络(LSTM)

长短期记忆网络(LSTM)是一种特殊的循环神经网络,通过引入门控机制来解决传统RNN在处理长序列时的梯度消失和梯度爆炸问题。LSTM通过记忆细胞和控制门(输入门、遗忘门、输出门)来管理信息的流动,从而能够有效捕捉时间序列中的长期依赖关系。

LSTM的核心是记忆细胞,它通过三个门控单元来控制信息的输入、遗忘和输出。输入门控制新信息进入记忆细胞的程度,遗忘门控制记忆细胞中需要保留的信息量,输出门控制记忆细胞输出的信息量。通过这种机制,LSTM能够在不同时间步之间传递和更新信息,从而捕捉时间序列中的长期依赖关系。

具体而言,LSTM在时刻 t t t的更新公式如下:

  1. 输入门:

i t = σ ( W i ⋅ [ h t − 1 , x t ] + b i ) i_t = \sigma(W_i \cdot [h_{t-1}, x_t] + b_i) it=σ(Wi[ht1,xt]+bi)

其中, i t i_t it表示输入门的激活值, σ \sigma σ表示sigmoid激活函数, W i W_i Wi b i b_i bi表示输入门的权重和偏置, h t − 1 h_{t-1} ht1表示上一时刻的隐藏状态, x t x_t xt表示当前时刻的输入。
2. 遗忘门:

f t = σ ( W f ⋅ [ h t − 1 , x t ] + b f ) f_t = \sigma(W_f \cdot [h_{t-1}, x_t] + b_f) ft=σ(Wf[ht1,xt]+bf)

其中, f t f_t ft表示遗忘门的激活值, W f W_f Wf b f b_f bf表示遗忘门的权重和偏置。
3. 记忆细胞更新:

c t = f t ⋅ c t − 1 + i t ⋅ tanh ⁡ ( W c ⋅ [ h t − 1 , x t ] + b c ) c_t = f_t \cdot c_{t-1} + i_t \cdot \tanh(W_c \cdot [h_{t-1}, x_t] + b_c) ct=ftct1+ittanh(Wc[ht1,xt]+bc)

其中, c t c_t ct表示当前时刻的记忆细胞状态, tanh ⁡ \tanh tanh表示双曲正切激活函数, W c W_c Wc b c b_c bc表示记忆细胞更新的权重和偏置。
4. 输出门:

o t = σ ( W o ⋅ [ h t − 1 , x t ] + b o ) o_t = \sigma(W_o \cdot [h_{t-1}, x_t] + b_o) ot=σ(Wo[ht1,xt]+bo)

其中, o t o_t ot表示输出门的激活值, W o W_o Wo b o b_o bo表示输出门的权重和偏置。
5. 隐藏状态更新:

h t = o t ⋅ tanh ⁡ ( c t ) h_t = o_t \cdot \tanh(c_t) ht=ottanh(ct)

其中, h t h_t ht表示当前时刻的隐藏状态。

2.4、多变量时间序列预测

多变量时间序列预测是指对多个相关的时间序列同时进行预测。与单变量时间序列预测相比,多变量时间序列预测需要考虑变量之间的复杂关系和相互作用,从而提高了预测的难度和准确性。

在多变量时间序列预测中,不同变量之间可能存在线性或非线性的依赖关系。近年来,随着机器学习和深度学习技术的发展,基于神经网络的多变量时间序列预测方法逐渐成为研究热点。这些方法能够有效捕捉变量之间的复杂依赖关系,从而提高预测准确性。

三、BKA-Transformer-BiLSTM模型设计
3.1、模型总体架构

BKA-Transformer-BiLSTM模型结合了黑翅鸢优化算法、Transformer模型和双向长短期记忆网络的优点,旨在提高多变量时间序列预测的性能。

首先,原始数据经过预处理和特征提取步骤,转换为适合模型输入的格式。接着,Transformer编码器对提取的特征进行编码,捕捉数据中的长期依赖关系和复杂关系。然后,将编码后的特征输入到BiLSTM网络中,进一步捕捉时间序列中的双向依赖关系。最后,通过全连接层输出预测结果。

3.2、数据预处理与特征提取

在构建预测模型之前,数据预处理和特征提取是至关重要的步骤。数据预处理包括数据归一化和时间序列划分等步骤。

3.3、基于BKA的超参数优化

Transformer模型的性能在很大程度上取决于其超参数的选择。为了优化模型的超参数,本文采用黑翅鸢优化算法进行超参数优化。具体而言,将模型的超参数作为BKA算法的优化变量,通过适应度函数评估不同超参数组合的性能,并寻找最优超参数组合。

在BKA优化过程中,适应度函数的选择至关重要。适应度函数用于评估每个超参数组合的性能,通常采用预测误差作为适应度值。具体而言,可以使用均方根误差(RMSE)指标作为适应度值。通过最小化适应度值,BKA算法能够找到最优的超参数组合,从而提高Transformer模型的预测性能。

3.4、BiLSTM的时间序列预测

双向长短期记忆网络(BiLSTM)是一种能够捕捉时间序列双向依赖关系的神经网络模型。通过将Transformer编码后的特征输入到BiLSTM网络中,可以进一步捕捉时间序列中的复杂依赖关系,提高预测准确性。

BiLSTM由两个方向的LSTM网络组成:一个前向LSTM网络和一个后向LSTM网络。前向LSTM网络从时间序列的开始到结束进行处理,而后向LSTM网络从时间序列的结束到开始进行处理。通过这种双向处理机制,BiLSTM能够充分利用时间序列中的历史信息和未来信息,从而提高预测性能。

具体而言,BiLSTM在时刻 t t t的隐藏状态由前向LSTM网络和后向LSTM网络的隐藏状态共同决定。假设前向LSTM网络的隐藏状态为 h → t \overrightarrow{h}_t h t,后向LSTM网络的隐藏状态为 h ← t \overleftarrow{h}_t h t,则BiLSTM在时刻 t t t的隐藏状态为:

h t = [ h → t , h ← t ] h_t = [\overrightarrow{h}_t, \overleftarrow{h}_t] ht=[h t,h t]

其中, [ ⋅ , ⋅ ] [\cdot, \cdot] [,]表示拼接操作。通过这种双向隐藏状态,BiLSTM能够同时捕捉时间序列中的过去和未来信息,从而提高预测准确性。

四、实验设计与结果分析
4.1、实验数据与评价指标

为了验证BKA-Transformer-BiLSTM模型的有效性,在实验过程中,选择均方误差(MSE)、均方根误差(RMSE)和平均绝对误差(MAE)作为评价指标。这些指标能够直观地反映预测结果与实际值之间的误差,从而评估模型的预测性能。

4.2、模型训练与参数设置

在模型训练过程中,首先对数据进行预处理和特征提取,然后将处理后的数据输入到BKA-Transformer-BiLSTM模型中。模型训练的具体步骤如下:

数据预处理:对原始数据进行归一化和时间序列划分,得到训练集和测试集。
模型训练:将处理后的数据输入到BKA-Transformer-BiLSTM模型中,进行训练。在训练过程中,使用BKA算法优化Transformer模型的超参数,以提高模型性能。
模型测试:使用测试集对最优模型进行性能测试,并计算评价指标。

4.3、结果展示与分析

实验结果表明,BKA-Transformer-BiLSTM模型在多个时间序列预测任务中均表现出优异的性能。

五、结论与展望
5.1、研究总结

本文提出了一种新的多变量时间序列预测模型——BKA-Transformer-BiLSTM。该模型结合了黑翅鸢优化算法、Transformer模型和双向长短期记忆网络的优点,旨在提高预测准确性和模型泛化能力。实验结果表明,BKA-Transformer-BiLSTM模型在多个时间序列预测任务中均表现出优异的性能,显示出较高的预测准确性和泛化能力。

具体而言,本文的主要贡献包括:

  1. 提出了一种新的多变量时间序列预测模型BKA-Transformer-BiLSTM,结合了黑翅鸢优化算法、Transformer模型和双向长短期记忆网络的优点。
  2. 利用黑翅鸢优化算法对Transformer模型的超参数进行优化,提高了模型的预测性能。
  3. 通过实验验证了BKA-Transformer-BiLSTM模型的有效性,并与其他先进模型进行了对比分析。
5.2、研究限制与未来工作

尽管BKA-Transformer-BiLSTM模型在时间序列预测任务中表现出较高的性能,但仍存在一些局限性。例如,模型的计算复杂度较高,训练时间较长。此外,模型在处理非常长的时间序列时,可能面临内存不足的问题。

未来的研究工作可以从以下几个方面进行:

  1. 优化模型结构,降低计算复杂度和训练时间。例如,可以研究更高效的注意力机制和神经网络结构,以提高模型的训练效率和预测性能。
  2. 探索更多的应用领域。例如,可以将BKA-Transformer-BiLSTM模型应用于金融、医疗、交通等领域,验证其泛化能力和实际应用效果。
  3. 研究新的优化算法,以提高模型的预测性能和泛化能力。例如,可以结合其他元启发式优化算法,如灰狼优化算法、鲸鱼优化算法等,进一步提升模型的优化效果。

总之,BKA-Transformer-BiLSTM模型在多变量时间序列预测任务中显示出较高的预测准确性和泛化能力,具有广阔的应用前景。未来研究可以通过优化模型结构和探索新的应用领域,进一步提高模型的性能和实际应用效果。

程序设计

  • 完整源码和数据获取方式私信回复创新算法!BKA-Transformer-BiLSTM黑翅鸢优化算法多变量时间序列预测
%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行%%  导入数据
result = xlsread('数据集.xlsx');%%  数据分析
num_samples = length(result);  % 样本个数
kim = 2;                       % 延时步长(前面多行历史数据作为自变量)
zim =  1;                      % 跨zim个时间点进行预测
nim = size(result, 2) - 1;     % 原始数据的特征是数目%%  划分数据集
for i = 1: num_samples - kim - zim + 1res(i, :) = [reshape(result(i: i + kim - 1 + zim, 1: end - 1)', 1, ...(kim + zim) * nim), result(i + kim + zim - 1, end)];
end%%  数据集分析
outdim = 1;                                  % 最后一列为输出
num_size = 0.7;                              % 训练集占数据集比例
num_train_s = round(num_size * num_samples); % 训练集样本个数
f_ = size(res, 2) - outdim;                  % 输入特征长度%%  划分训练集和测试集
P_train = res(1: num_train_s, 1: f_)';
T_train = res(1: num_train_s, f_ + 1: end)';
M = size(P_train, 2);P_test = res(num_train_s + 1: end, 1: f_)';
T_test = res(num_train_s + 1: end, f_ + 1: end)';
N = size(P_test, 2);%%  数据归一化
[p_train, ps_input] = mapminmax(P_train, -1, 1);%将训练集和测试集的数据调整到01之间
p_test = mapminmax('apply', P_test, ps_input);[t_train, ps_output] = mapminmax(T_train, -1, 1);% 对测试集数据做归一化
t_test = mapminmax('apply', T_test, ps_output);%%  数据平铺
%   将数据平铺成1维数据只是一种处理方式
%   也可以平铺成2维数据,以及3维数据,需要修改对应模型结构
%   但是应该始终和输入层数据结构保持一致
p_train =  double(reshape(p_train, f_, 1, 1, M));
p_test  =  double(reshape(p_test , f_, 1, 1, N));
t_train =  double(t_train)';
t_test  =  double(t_test )';%%  数据格式转换
for i = 1 : MLp_train{i, 1} = p_train(:, :, 1, i);
endfor i = 1 : NLp_test{i, 1}  = p_test( :, :, 1, i);
end

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/128577926?spm=1001.2014.3001.5501
[2] https://blog.csdn.net/kjm13182345320/article/details/128573597?spm=1001.2014.3001.5501

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode 95.不同的二叉搜索树 Ⅱ

首先分析一下什么是二叉搜索树。因为我本科学习数据结构的时候就是单纯背了一下题库,考试非常简单。现在额外补充学一些之前自己没有学过的内容。有序向量可以二分查找,列表可以快速插入和删除。二叉搜索树可以实现按照关键码访问。call by key .数据表现…

数据安全防线:备份文件的重要性与自动化实践

在数字化时代,信息已成为企业运营和个人生活的核心资源。无论是企业的核心数据、客户的敏感信息,还是个人的珍贵照片、重要文档,这些数据一旦丢失或受损,都可能带来不可估量的损失。因此,备份文件的重要性不言而喻&…

碰一碰发视频系统之写卡功能开发了,支持OEM

一、引言 在碰一碰发视频系统中,NFC(Near Field Communication,近场通信)技术扮演着关键角色。其中,写卡功能是实现用户与系统便捷交互的重要环节,通过将特定的视频相关信息写入 NFC 标签,用户…

【数据结构初阶第十八节】八大排序系列(上篇)—[详细动态图解+代码解析]

看似不起眼的日复一日,总会在某一天让你看到坚持的意义。​​​​​​云边有个稻草人-CSDN博客 hello,好久不见! 目录 一. 排序的概念及运用 1. 概念 2. 运用 3. 常见排序算法 二. 实现常见排序算法 1. 插入排序 (1&…

python爬虫系列课程8:js浏览器window对象属性

python爬虫系列课程8:js浏览器window对象属性 一、JavaScript的组成二、document常见属性对象三、navigator对象一、JavaScript的组成 JavaScript可以分为三个部分:ECMAScript标准、DOM、BOM。 ECMAScript标准:即JS的基本语法,JavaScript的核心,描述了语言的基本语法和数…

快速使用PPASR V3版不能语音识别框架

前言 本文章主要介绍如何快速使用PPASR语音识别框架训练和推理,本文将致力于最简单的方式去介绍使用,如果使用更进阶功能,还需要从源码去看文档。仅需三行代码即可实现训练和推理。 源码地址:https://github.com/yeyupiaoling/P…

cannon g3810打印机设置

现在AI这么厉害,是不是很少人来这里搜索资料了。 不过我还是写一下。 买了一台cannon g3810打印机。一直都用USB打印,今天突然想用手机打印。于是又折腾了两个小时,终于折腾完了。 步骤如下: [1]打开官网,下载佳能…

使用 Arduino 和 ThingSpeak 通过 Internet 进行心跳监测

使用 Arduino 和 ThingSpeak 通过 Internet 进行心跳监测 在这个项目中,我们将使用 Arduino 制作一个心跳检测和监测系统,该系统将使用脉搏传感器检测心跳,并在与其连接的 LCD 上显示 BPM(每分钟心跳次数)读数。它还将使用 Wi-Fi 模块ESP8266将读数发送到 ThingSpeak 服务…

vulnhub靶场之【digitalworld.local系列】的snakeoil靶机

前言 靶机:digitalworld.local-snakeoil,IP地址为192.168.10.11 攻击:kali,IP地址为192.168.10.6 kali采用VMware虚拟机,靶机选择使用VMware打开文件,都选择桥接网络 这里官方给的有两种方式&#xff0…

自行车的主要品牌

一、国际知名品牌(专注运动与高端市场) 捷安特(GIANT) 台湾品牌,全球最大自行车制造商之一,覆盖山地车、公路车、通勤车等多品类。 美利达(MERIDA) 台湾品牌,以山地车…

C语言(队列)

1、队列的原理和作用 1、1 队列的原理 队列的原理其实就像一个管道,如果我们不断的往管道里塞乒乓球,每个乒乓球在管道里就会排列一条队列,先进去的乒乓球会先出来,这个就是队列先进先出的规则 球从左边进去的动作叫入列&#xf…

【C++算法】AVL树的平衡之美:从理论到C++高效实现

AVL树是一种自平衡二叉搜索树,解决了普通二叉搜索树在数据倾斜时的性能退化问题。本文深入探讨了AVL树的理论基础,包括平衡因子的定义、旋转操作的数学推导,并通过LaTeX公式分析其时间复杂度。接着,我们用C++实现了一个完整的AVL树,包括插入、删除和平衡调整的详细代码,附…

黑金风格人像静物户外旅拍Lr调色教程,手机滤镜PS+Lightroom预设下载!

调色教程 针对人像、静物以及户外旅拍照片,运用 Lightroom 软件进行风格化调色工作。旨在通过软件中的多种工具,如基本参数调整、HSL(色相、饱和度、明亮度)调整、曲线工具等改变照片原本的色彩、明度、对比度等属性,将…

ESP8266 NodeMCU 与 Atmega16 微控制器连接以发送电子邮件

NodeMCU ESP8266 AVR 微控制器 ATmega16 的接口 Atmega16 是一款低成本的 8 位微控制器,比以前版本的微控制器具有更多的 GPIO。它具有所有常用的通信协议,如 UART、USART、SPI 和 I2C。由于其广泛的社区支持和简单性,它在机器人、汽车和自动化行业有广泛的应用。 Atmega1…

【Hadoop】详解HDFS

Hadoop 分布式文件系统(HDFS)被设计成适合运行在通用硬件上的分布式文件系统,它是一个高度容错性的系统,适合部署在廉价的机器上,能够提供高吞吐量的数据访问,非常适合大规模数据集上的应用。为了做到可靠性,HDFS创建了…

2025 批量下载市场高标解读/配置喵/wangdizhe 雪球帖子/文章导出excel和pdf

之前分享过文章2025 批量下载雪球和东方财富文章导出excel和pdf ,今天整理分享下我下载过的一些雪球文章。 第1个号市场高标解读 抓取下载的所有帖子excel数据包含文章日期,文章标题,文章链接,文章简介,点赞数&#…

2022年《申论》第二题(河北A卷)

材料: “社区很大,共有安置房148栋,安置人口2.9万人。人员众多,而且原来都来自农村,群众生活环境变化大,不适应。”春林易地搬迁安置点建成使用后,老单便来这里担任春林街道办主任。如何有效治…

Qt中实现多个QMainWindow同时显示

在Qt中实现多个QMainWindow同时显示,可通过以下方法实现: 一、直接显示多个实例 必须使用new创建堆对象,避免栈对象因作用域结束被销毁‌。 int main(int argc, char *argv[]) {QApplication a(argc, argv);// 创建两个独立的主窗口QMainW…

从运动手环到医疗贴片,精密校平机正在重塑柔性电子器件的工业化生产标准

在柔性电子器件的制造领域,从运动手环到医疗贴片,精密校平机的应用正引领一场生产标准的变革。传统的柔性电子器件生产过程中,材料的平整度控制往往不够精确,导致产品质量参差不齐。然而,随着精密校平机的引入&#xf…

AIP-161 域掩码

编号161原文链接AIP-161: Field masks状态批准创建日期2021-03-01更新日期2021-03-01 在(使用AIP-134的Update或类似方法)更新资源时,通常需要明确指定哪些域需要更新。服务可以忽略另外的域,即使用户发送了值。 定义一种掩码格…