机器学习第34周周报VBAED

文章目录

  • week34 VBAED
  • 摘要
  • Abstract
  • 一、文献阅读
    • 1. 题目
    • 2. abstract
    • 3. 网络架构
      • 3.1 序列问题阐述
      • 3.2 变分模态分解
      • 3.3 具有 BiLSTM 和双向输入注意力的编码器
      • 3.4 具有 BiLSTM 和双向时间注意力的解码器
    • 4. 文献解读
      • 4.1 Introduction
      • 4.2 创新点
      • 4.3 实验过程
        • 4.3.1 数据集
        • 数据预处理
        • 评估指标
        • 实验结果分析
    • 总结
    • 参考文献

week34 VBAED

摘要

本周阅读了题为Accurate water quality prediction with attention-based bidirectional LSTM and encoder–decoder的论文。该文提出了一种称为VBAED的混合预测方法来预测水质时间序列。VBAED 结合了变分模式分解 (VMD)、双向输入注意力机制、具有双向 LSTM 的编码器 (BiLSTM) 以及具有双向时间注意力机制和 BiLSTM 的解码器。VBAED 的定义是一个编码器-解码器模型,它使用 VMD 作为模式分解,将 BiLSTM 与双向注意力机制相结合。本文在最后使用vmdpy对数据进行了一定处理。

Abstract

This week read the paper entitled Accurate water quality prediction with attention-based bidirectional LSTM and encoder–decoder. This paper proposes a hybrid prediction method called VBAED to predict the water quality time series. VBAED combines Variational mode decomposition (VMD), a Bidirectional input Attention mechanism, an Encoder with bidirectional LSTM (BiLSTM), and a Decoder with a bidirectional temporal attention mechanism and BiLSTM. The definition of VBAED is an Encoder–Decoder model that uses VMD as mode decomposition, combining BiLSTM with a bidirectional attention mechanism. And the end, using vmdpy as a tool for processing data.

一、文献阅读

1. 题目

标题:Accurate water quality prediction with attention-based bidirectional LSTM and encoder–decoder

作者:Jing Bi, Zexian Chen, Haitao Yuan, Jia Zhang

期刊名:[Expert Systems with Applications]

链接:https://doi.org/10.1016/j.eswa.2023.121807

2. abstract

随着水质数据的增加,其变得不稳定且高度非线性,因此,其准确预测成为一个巨大的挑战。为了解决这个问题,该文提出了一种称为VBAED的混合预测方法来预测水质时间序列。VBAED 结合了变分模式分解 (VMD)、双向输入注意力机制、具有双向 LSTM 的编码器 (BiLSTM) 以及具有双向时间注意力机制和 BiLSTM 的解码器。VBAED 的定义是一个编码器-解码器模型,它使用 VMD 作为模式分解,将 BiLSTM 与双向注意力机制相结合。

As the water quality data increases, it becomes unstable and highly nonlinear, and therefore, its accurate prediction becomes a big challenge. To solve it, this work proposes a hybrid prediction method called VBAED to predict the water quality time series. VBAED combines Variational mode decomposition (VMD), a Bidirectional input Attention mechanism, an Encoder with bidirectional LSTM (BiLSTM), and a Decoder with a bidirectional temporal attention mechanism and BiLSTM. The definition of VBAED is an Encoder–Decoder model that uses VMD as mode decomposition, combining BiLSTM with a bidirectional attention mechanism.

3. 网络架构

bead552fe445b031ecca620ae60a85e

该文在输入维度和时间维度上创新地将注意力机制与BiLSTM相结合,并采用VMD对水质数据进行分解,将重要模式与噪声模式分离,进一步提高预测精度。具体来说,通过VMD将预测因子的历史数据分解为多种模式。然后,模式和其他特征由具有双向输入注意机制的 BiLSTM 进行编码,并由具有双向时间注意机制的 BiLSTM 进行解码,以产生最终预测。

image-20240413145538449

上图说明了所提出的 VBAED 模式

3.1 序列问题阐述

02b28b98d2abdb5d3fe4dc70d4d8321

3.2 变分模态分解

VMD迭代地搜索变分模态的最优解,不断更新每个模态函数和中心频率,并获得多个本征模态函数(IMF)。变分问题定义为求解 k模IMF 来最小化每种模式的估计带宽之和。 Y 分解为 k 模。

VMD分解可以降低时间序列的非线性和波动性,避免模式混合的负面影响。不同的模态分量对预测结果有不同的影响。

通过将它们分离并与输入注意机制相结合,VBAED 能够自适应地选择重要模式,从多个模式中过滤掉噪声模式,并专注于包含重要信息的模式。可以根据实验结果选择性地去除模态分量。

这项工作通过 VMD 将目标值序列分解为三个分量,并将其用作特征。这引导神经网络更用心地学习更复杂的特征并提高预测精度。VMD处理后的的输入为 X ^ = { X ^ 1 , … , X ^ t , … , X ^ T } ∈ R n × T  where  n = n ˙ + 3 \hat X=\{\hat X_1,\dots, \hat X_t,\dots,\hat X_T\}\in \mathbb R^{n\times T}\ \text{where}\ n=\dot n+3 X^={X^1,,X^t,,X^T}Rn×T where n=n˙+3

3.3 具有 BiLSTM 和双向输入注意力的编码器

BiLSTM:由两个独立的 LSTM 单元组成。第一个 LSTM 单元称为 LSTMF,它从前到后对信息进行编码。第二个 LSTM 单元称为 LSTMB,它从后到前对信息进行编码。然后,组合来自两个方向的信息以获得编码器在时间步 t 的隐藏状态 h t h_t ht

特别是,在时间步 t 处,LSTMF 根据时间步 t-1 处的前一个隐藏状态 h t − 1 F h^F_{t-1} ht1F、时间步 t-1 处的单元状态 c t − 1 F c^F_{t-1} ct1F以及输入 X t X_t Xt 计算其隐藏状态 h t F h^F_t htF 。 LSTMB 基于隐藏状态 h t − 1 B h^B_{t-1} ht1B、单元状态 c t + 1 B c^B_{t+1} ct+1B 和输入 X t X_t Xt 计算其隐藏状态 h t B h^B_t htB。然后,将前向隐藏状态 h t F h^F_t htF和后向隐藏状态 h t B h^B_t htB组合成BiLSTM的隐藏状态。 LSTMF和LSTMB是两个独立的LSTM单元,它们不共享参数。 h t F h^F_t htF h t B h^B_t htB h t h_t ht 给出为:
h t F = LF ( h t − 1 F , c t − 1 F , X ^ t ) (2) h^F_t=\text{LF}(h^F_{t-1},c^F_{t-1},\hat X_t) \tag{2} htF=LF(ht1F,ct1F,X^t)(2)

h t B = LB ( h t + 1 B , c t + 1 B , X ^ t ) (3) h^B_t=\text{LB}(h^B_{t+1},c^B_{t+1},\hat X_t) \tag{3} htB=LB(ht+1B,ct+1B,X^t)(3)

h t = [ h t F ; h t B ] (4) h_t=[h^F_t;h^B_t] \tag{4} ht=[htF;htB](4)

其中 LF 是 LSTMF 单元,LB 是 LSTMB 单元。 𝑚 表示每个 BiLSTM 单元的隐藏状态大小, h t F ∈ R m ,   h t B ∈ R m ,   h t ∈ R 2 m h^F_t\in R^m,\ h^B_t\in R^m,\ h_t\in R^{2m} htFRm, htBRm, htR2m

该文为BiLSTM设计了一种输入注意机制。分别为LSTMF和LSTMB添加一个输入注意机制层,两种输入注意力机制关注不同的特征。

bd6ac30c8b5b3ef6082366fbe6472a2

6171efd4757cc95abeafadc79edcf32

3.4 具有 BiLSTM 和双向时间注意力的解码器

BiLSTM 解码器由两个独立的 LSTM 单元组成,包括 LSTMDF 和 LSTMDB。前者从前往后解码信息,后者从后到前解码信息。

m 表示每个 BiLSTM 单元的隐藏状态大小。 hi 表示编码器的第 i 隐藏状态。

BiLSTM中双向注意力机制的详细信息:

时间步 t 的前向注意力权重和第 i 个隐藏状态 ( h i h_i hi) 的后向注意力权重分别由 β t F i ( β t F i ∈ ( 0 , 1 ) ) ,   β t B + i ( ∈ ( 0 , 1 ) ) \beta^{F_i}_t(\beta^{F_i}_t\in(0,1)),\ \beta^{B+i}_t(\in(0,1)) βtFi(βtFi(0,1)), βtB+i((0,1)) β t F i \beta^{F_i}_t βtFi 是根据 LSTMDF 在时间步 t-1 的隐藏状态 d t − 1 f ( d t − 1 F ∈ R p ) d^f_{t-1}(d^F_{t-1}\in R^p) dt1f(dt1FRp)和单元状态 s t − 1 F ( s t − 1 F ∈ R p ) s^{F}_{t-1}(s^F_{t-1}\in R^p) st1F(st1FRp)计算的。此外, β t B i \beta^{B_i}_t βtBi是根据LSTMDB在时间步t+1的隐藏状态 d t + 1 B ( d t + 1 B ∈ R p ) d^B_{t+1}(d^B_{t+1}\in R^p) dt+1B(dt+1BRp)和单元状态 s t + 1 B ( s t + 1 B ∈ R p ) s^B_{t+1}(s^B_{t+1}\in R^p) st+1B(st+1BRp)计算的。 o t F i o^{F_i}_t otFi o t B i o^{B_i}_t otBi 表示 h i h_i hi​ 在时间步 t 的能量得分,其公式如下:

image-20240413222851706

时间步 𝑡 处的前向和后向上下文向量由 g t F g^F_t gtF g t B g^B_t gtB 表示,它们分别是编码器所有隐藏状态的加权和

image-20240413223113403

g t F g^F_t gtF g t B g^B_t gtB 同历史真实值 y t y_t yt联立,分别在时间t获得LSTMDF和LSTMDB的新输入 y ~ t F , y ~ t B \tilde y^F_t, \tilde y^B_t y~tF,y~tB

image-20240413223340101

将这些输入用于更新LSTMDF和LSTMDB在时间步t处的隐藏状态 d t F , d t B d^F_t, d^B_t dtF,dtB

image-20240413223502846

其中LDF表示LSTMDF,LDB表示LSTMDB

最终预测值 y ^ t + 1 \hat y_{t+1} y^t+1表示为

image-20240413223607998

训练过程:采用均方误差MSE作为损失函数,以最小化真实值与预测值之间的差异。损失函数 Δ \Delta Δ如下:
image-20240413223739675

4. 文献解读

4.1 Introduction

LSTM只能从前到后进行编码,无法捕获从后道歉的信息。同时,采用注意力机制的网络也无法捕获从后到前的数据。另外,水质数据中可能包含噪声,而噪声无法通过上述方法分离。为了解决上述问题,该文提出了一种称为 VBAED 的混合方法。 VBAED 集成了变分模式分解(VMD)、双向输入注意力机制、具有双向 LSTM 的编码器(BiLSTM)以及具有双向时间注意力机制和 BiLSTM 的解码器。

4.2 创新点

  1. 采用 BiLSTM 作为编码器来捕获两个方向的特征。 BiLSTM 通过双向输入注意力机制进行了改进,以独立地从两个方向为输入添加注意力权重。
  2. 采用 BiLSTM 作为解码器,结合双向时间注意力机制来捕获长期依赖性,从而在所有时间步上自适应地选择编码器的重要隐藏状态,并从两个方向对其进行解码。

4.3 实验过程

4.3.1 数据集

为了评估不同时间序列预测方法的性能,采用了两种不同的真实数据集,即BTH数据集和亚拉巴马数据集,分别为多特征和单特征数据集。

  • BTH数据集收集自2018年9月至2021年12月期间京津冀地区河流中的自动水质站。每4 h采集一次,涉及pH、TN、TP。在实验中,TN被用作基础事实,pH和TP被用作特征。对于少量的缺失值,采用线性插值的方法进行补充,总共有7200个数据样本。我们将前5000个数据样本作为训练集,接下来的1000个数据样本作为验证集,剩下的1200个数据样本作为测试集。

  • 亚拉巴马数据集是2017年5月至2019年8月美国亚拉巴马河一段的水质数据。数据收集间隔为一小时。与BTH数据集不同,亚拉巴马数据集只有一个DO特征,即亚拉巴马数据集中的目标值。对于数据集中的少量缺失值,采用线性插值方法进行补齐。在亚拉巴马数据集中,我们总共有19862个数据样本。在这项工作中,我们将前15889个数据样本作为训练集,随后的1986个数据样本作为验证集,最后的1987个数据样本作为测试集。

image-20240413223857438

数据预处理

采用Savitzky Golay(SG)滤波器对BTH数据集中TN、TP和pH的时间序列数据进行平滑处理,以减少噪声的干扰和局部异常值对整体趋势的影响。对于亚拉巴马数据集,我们直接预测目标DO值而不进行任何预处理。

评估指标

为了验证VBAED的性能,采用三个评估指标来比较预测精度,即均方根误差(RMSE)、平均绝对误差(MAE)和决定系数(R2)。

实验结果分析
  1. 验证VBAED的准确性

用训练集对VBAED进行训练,对于BTH数据集,预测曲线和地面实况曲线几乎相同,这表明VBAED在多特征数据集中是有效的。对于亚拉巴马数据集,VBAED在单特征数据集中也工作得很好。

image-20240413224020011

在BTH数据集上的水质时间序列预测结果

image-20240413224040826

  1. 验证VBAED的鲁棒性和有效性

为了进一步,采用RMSE,MAE和R2将其与其他10个对等体进行比较,(DA-RNN只能用于多特征数据集)结果表明,VBAED在BTH和亚拉巴马数据集上都获得了最好的结果。此外,在BTH数据集中,当不采用VMD分解时,LSTM,BiLSTM和DA-RNN的RMSE分别为0.2093,0.1657和0.1259。采用VMD分解后,VMD-LSTM、VMD-BiLSTM和VDM-DARNN的RMSE分别为0.1688、0.1475、0.1156。在亚拉巴马数据集中,当不采用VMD分解时,LSTM和BiLSTM的RMSE分别为0.1957和0.1866。采用该方法后,VMD-LSTM和VMD-BiLSTM的RMSE分别为0.1724和0.1555。结果表明,VMD有效地把握了水质数据的演变趋势,并将其分解为关键信息模式和噪声模式,有助于模型训练,提高了预测精度。在BTH和亚拉巴马数据集上,LSTM的RMSE都比BiLSTM差,这表明双向LSTM结构克服了传统LSTM容易忽略从后到前的信息,导致相关信息丢失的局限性。

image-20240413224117860

image-20240413224131067

  1. 验证双向输入注意机制和双向时间注意机制的效果

在两个数据集上进行了消融实验。仅应用双向输入注意机制或双向时间注意机制会导致预测精度显著降低。在BTH和亚拉巴马数据集上,采用双向输入注意的模型的RMSE分别为0.0705和0.1313,而采用双向时间注意的模型的RMSE分别为0.0768和0.1368。这表明双向输入注意机制在VBAED中比双向时间注意机制起着更重要的作用。对于原始的长序列数据,网络很难直接捕捉到重要信息。双向输入注意机制使VBAED能够区分原始特征的重要性,从而加强重要特征,削弱不重要特征。此外,它使VBAED中的编码器能够获得更多有用的信息。VBAED采用双向输入注意机制提取相关特征,采用双向时间注意机制选择所有时间步的相关隐藏状态。因此,VBAED在BTH和亚拉巴马数据集的所有方法中实现了最高的预测精度。

image-20240413224228923

image-20240413224238000

import numpy as np
import matplotlib.pyplot as plt
from vmdpy import VMD
# -----测试信号及其参数--start-------------
Fs=1000 # 采样频率
N=1000 # 采样点数
t=np.arange(1,N+1)/N
fre_axis=np.linspace(0,Fs/2,int(N/2))
f_1=100;f_2=200;f_3=300
v_1=(np.cos(2*np.pi*f_1*t));v_2=1/4*(np.cos(2*np.pi*f_2*t));v_3=1/16*(np.cos(2*np.pi*f_3*t))
v=[v_1,v_2,v_3] # 测试信号所包含的各成分
f=v_1+v_2+v_3+0.1*np.random.randn(v_1.size)  # 测试信号
# -----测试信号及其参数--end----------
# alpha 惩罚系数;带宽限制经验取值为抽样点长度1.5-2.0倍.
# 惩罚系数越小,各IMF分量的带宽越大,过大的带宽会使得某些分量包含其他分量言号;
# a值越大,各IMF分量的带宽越小,过小的带宽是使得被分解的信号中某些信号丢失该系数常见取值范围为1000~3000
alpha=2000
tau=0 # tau 噪声容限,即允许重构后的信号与原始信号有差别。
K=3 # K 分解模态(IMF)个数
DC=0 # DC 若为0则让第一个IMF为直流分量/趋势向量
init=1 # init 指每个IMF的中心频率进行初始化。当初始化为1时,进行均匀初始化。
tol=1e-7 # 控制误差大小常量,决定精度与迭代次数
u, u_hat, omega = VMD(f, alpha, tau, K, DC, init, tol) # 输出U是各个IMF分量,u_hat是各IMF的频谱,omega为各IMF的中心频率

# 1 画原始信号和它的各成分
plt.figure(figsize=(10,7));plt.subplot(K+1, 1, 1);plt.plot(t,f)
for i,y in enumerate(v):
    plt.subplot(K+1, 1, i+2);plt.plot(t,y)
plt.suptitle('Original input signal and its components');plt.show()

# 2 分解出来的各IMF分量
plt.figure(figsize=(10,7))
plt.plot(t,u.T);plt.title('all Decomposed modes');plt.show()  # u.T是对u的转置

# 3 各IMF分量的fft幅频图
plt.figure(figsize=(10, 7), dpi=80)
for i in range(K):
    plt.subplot(K, 1, i + 1)
    fft_res=np.fft.fft(u[i, :])
    plt.plot(fre_axis,abs(fft_res[:int(N/2)])/(N/2))
    plt.title('(FFT) amplitude frequency of IMF {}'.format(i + 1))
plt.show()

# 4 分解出来的各IMF分量的频谱
# print(u_hat.shape,t.shape,omega.shape)
plt.figure(figsize=(10, 7), dpi=80)
for i in range(K):
    plt.subplot(K, 1, i + 1)
    plt.plot(fre_axis,abs(u_hat[:, i][int(N/2):])/(N/2))
    plt.title('(VMD)amplitude frequency of the modes{}'.format(i + 1))
plt.tight_layout();plt.show()

# 5 各IMF的中心频率
plt.figure(figsize=(12, 7), dpi=80)
for i in range(K):
    plt.subplot(K, 1, i + 1)
    plt.plot(omega[:,i]) # X轴为迭代次数,y轴为中心频率
    plt.title('mode center-frequencies{}'.format(i + 1))
plt.tight_layout();plt.show()

plt.figure(figsize=(10,7))
plt.plot(t,np.sum(u,axis=0))
plt.title('reconstructed signal')

image-20240413225140491

image-20240413225204343

image-20240413225222650

image-20240413225232404

image-20240413225250112

总结

这周通过文献学习了解了EMD和VMD两种模态分解方法,模态分解方法可对预测因子的历史数据进行分解,其中VMD分解可以降低时间序列的非线性和波动性,不同于EMD,它可以避免模式混合的负面影响。不同的模态分量对预测结果有不同的影响,通过将它们分离并与输入注意机制相结合,VBAED具有自适应选择重要模式的能力,从多个模式中过滤掉噪声模式,并关注包含重要信息的模式,这将引导神经网络更专注地学习更复杂的特征,从而能够提高预测精度。

参考文献

[1] Jing Bi, Zexian Chen, Haitao Yuan, Jia Zhang “Accurate water quality prediction with attention-based bidirectional LSTM and encoder–decoder”, [J] https://doi.org/10.1016/j.eswa.2023.121807

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

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

相关文章

AI大模型之idea通义灵码智能AI插件安装方式

问题描述 主要讲述如何进行开发工具 idea中如何进行通义灵码的插件的安装解决方案 直接在idea的plugin市场中安装 下载插件之后进行安装 见资源

【QT+QGIS跨平台编译】161:【qgispython跨平台编译】—【qgis_python.h生成】

点击查看专栏目录 文章目录 一、qgis_python.h介绍二、信息分析三、qgis_python.h生成一、qgis_python.h介绍 qgis_python.h 是 QGIS(Quantum Geographic Information System)GIS 软件的一个头文件。QGIS 是一个开源的地理信息系统软件,提供了丰富的地图制图和空间分析功能。…

Google最新论文: 复杂的 Prompt 如何更好的调试?

本文介绍了Sequence Salience,这是一个专为调试复杂的大模型提示而设计的系统。该系统利用广泛使用的显著性方法,支持文本分类和单标记预测,并将其扩展到可处理长文本的调试系统。现有的工具往往不足以处理长文本或复杂提示的调试需求。尽管存…

ASP.NET公交车管理系统的实现与设计

摘 要 随着经济的日益增长,信息化时代已经到来,生活中各种信息趋向数字化、清晰化。公交车作为现代城市生活中一种重要的交通工具,其数量增多,车型也不再单一,雇用的司机增多,这样使得公交车公司的车辆信…

架构师系列-搜索引擎ElasticSearch(四)- 高级查询

ES查询 matchAll 脚本方式 该方式可以通过kabana、curl、elasticsearch-head(纯前端)去操作 # 默认情况下,es一次展示10条数据,通过from和size来控制分页 # 查询结果详解 GET goods/_search {"query": {"match_all":…

计算机网络 实验指导 实验17

实验17 配置无线网络实验 1.实验拓扑图 Table PC0 和 Table PC1 最开始可能还会连Access Point0,无影响后面会改 名称接口IP地址网关地址Router0fa0/0210.10.10.1fa0/1220.10.10.2Tablet PC0210.10.10.11Tablet PC1210.10.10.12Wireless互联网220.10.10.2LAN192.16…

JavaScript(六)-高级篇

文章目录 作用域局部作用域全局作用域作用域链JS垃圾回收机制闭包变量提升 函数进阶函数提升函数参数动态参数多余参数 箭头函数 解构赋值数组解构对象解构 遍历数组forEach方法(重点)构造函数深入对象创建对象的三种方式构造函数实例成员 & 静态成员…

舒欣上门预约系统源码-按摩预约/家政预约全行业适用-小程序/h5/app

上门预约或者到店预约均可,家政,按摩,等等上门类行业均可适用。(后台的技师及前台技师这两个字是可以更改的,例如改成家政老师,保洁,等等) 视频教程是演示搭建的小程序端&#xff0c…

Leetcode 235. 二叉搜索树的最近公共祖先

心路历程: 这道题可以完全按照二叉树的公共祖先来做,但是由于题目中给了二分搜索树的条件,因此可以通过值的大小简化左右子树的递归搜索。 解法一:按照二分搜索树的性质 # Definition for a binary tree node. # class TreeNod…

【1000个GDB技巧之】如何在远端服务器打开通过vscode动态观测Linux内核实战篇?

Step: 配置ssh的服务端host (也可以直接在vscode中配置,忽略) 主要步骤:在~/.ssh/config中添加服务端的host,以便vscode的remote中能够登录 详细配置过程参考兄弟篇文章:ssh config如何配置用host名替代ro…

文献阅读:LESS: Selecting Influential Data for Targeted Instruction Tuning

文献阅读:LESS: Selecting Influential Data for Targeted Instruction Tuning 1. 文章简介2. 方法介绍 1. Overview2. 原理说明 1. SGD上的定义2. Adam上的定义 3. 具体实现 1. Overview1. LoRA使用2. 数据选择3. LESS-T 3. 实验考察 & 结论 1. 实验设计2. 主…

Jmeter三个常用组件

Jmeter三个常用组件 一、线程组二、 HTTP请求三、查看结果树 线程组:jmeter是基于线程来运行的,线程组主要用来管理线程的数量,线程的执行策略。 HTTP请求:HTTP请求是jmeter接口测试的核心部分,主要使用HTTP取样器来发…

PyQt5

Qt是基于C实现的GUI,而PyQt就是用python调用Qt. PyQt中有很多的功能模块,开发最常用的模块功能主要有3个 1) QtCore:包含核心的非GHI的功能,主要和时间,文件与文件夹,各种数据,流,URLs,进程与线程一起使用 2) QtGUi:包含窗口系统,事件处理,2D图像,基本绘画,字体和文字类 3)…

《Kubernetes部署篇:基于Kylin V10+ARM架构CPU使用containerd部署K8S 1.26.15集群(一主多从)》

总结:整理不易,如果对你有帮助,可否点赞关注一下? 更多详细内容请参考:企业级K8s集群运维实战 1、在当前实验环境中安装K8S1.25.14版本,出现了一个问题,就是在pod中访问百度网站,大…

【opencv】示例-stiching_detailed.cpp 使用OpenCV进行图像拼接的整体流程

#include <iostream> // 引入输入输出流库 #include <fstream> // 引入文件流库&#xff0c;用于文件输入输出 #include <string> // 引入字符串库 #include "opencv2/opencv_modules.hpp" // 引入OpenCV模块 #include <opencv2/core/utility.h…

【微信小程序——开发DAY4(黑马程序员课程)】

学习目标 自定义小程序组件自定义组件&#xff08;1.&#xff09;创建自定义组件文件夹&#xff08;2.&#xff09;引用自定义组件&#xff08;3.&#xff09;组件和页面的区别&#xff08;4.&#xff09;自定义组件的隔离性——自定义组件不影响小程序的样式——自定义组件也只…

用通俗易懂的方式讲解:大模型高级 RAG 检索策略之递归检索

节前&#xff0c;我们组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、参加社招和校招面试的同学&#xff0c;针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 基于大模…

LinkSage:基于 GNN 的 Pinterest理解

目录 一、背景二、动机和介绍三、技术设计3.1 数据3.2 图3.3 特征3.4 型 四、主要创新4.1 多维表示4.2 XSage的兼容性4.3 增量服务 五、离线结果5.1 召回5.2 分数分布5.3 峰度 六、在线结果6.1 面向用户的表面6.2 Ads 七、总结 LinkSage&#xff1a;基于图神经网络的Pinterest…

微服务之LoadBalancer负载均衡服务调用

一、概述 1.1什么是负载均衡 LB&#xff0c;既负载均衡&#xff08;Load Balancer&#xff09;,是高并发、高可用系统必不可少的关键组件&#xff0c;其目标是尽力将网络流量平均分发到多个服务器上&#xff0c;以提高系统整体的响应速度和可用性。 负载均衡的主要作用 高并发…

IDEA阅读Java源码 SimpleDateFormat

IDEA阅读Java源码 SimpleDateFormat 文章目录 IDEA阅读Java源码 SimpleDateFormat一、阅读的代码二、IDEA操作2.1 标记断点2.2 启用Debug2.3 按键区分2.4 强制进入方法2.5 进入指定方法2.6 多方法进入指定方法2.7 进入正确的方法2.8 真正的方法体实现 三、SimpleDateFormat源码…