机器学习第四十七周周报 CF-LT

文章目录

  • week47 CF-LT
  • 摘要
  • Abstract
    • 1. 题目
    • 2. Abstract
    • 3. 网络结构
      • 3.1 CEEMDAN(完全自适应噪声集合经验模态分解)
      • 3.2 CF-LT模型结构
      • 3.3 SHAP
    • 4. 文献解读
      • 4.1 Introduction
      • 4.2 创新点
      • 4.3 实验过程
    • 5. 结论
    • 6.代码复现
      • 小结
      • 参考文献

week47 CF-LT

摘要

本周阅读了题为Interpretable CEEMDAN-FE-LSTM-transformer hybrid model for predicting total phosphorus concentrations in surface water的论文。该文提出了一个用于 TP 预测的混合模型。文提出了一种针对TP预测的混合模型,即CF-LT模型。该模型创新地将完整集成经验模式分解(EMD)与自适应噪声处理、模糊熵分析、长短期记忆网络(LSTM)以及Transformer技术相结合。通过引入数据分频重构技术,该模型有效地解决了传统机器学习模型在处理高维数据时容易出现的过拟合和欠拟合问题。同时,注意力机制的应用使得CF-LT模型能够克服其他模型在进行长期预测时难以建立数据间长期依赖关系的局限性。预测结果显示,CF-LT模型在测试数据集上达到了0.37至0.87的决定系数(R2),相比控制模型有了0.05至0.17(即6%至85%)的显著提升。此外,CF-LT模型还展现出了最佳的峰值预测性能。

Abstract

This week’s weekly newspaper decodes the paper entitled Interpretable CEEMDAN-FE-LSTM-transformer hybrid model for predicting total phosphorus concentrations in surface water. This paper introduces a hybrid model, CF-LT, specifically for TP prediction. The model innovatively integrates Complete Ensemble Empirical Mode Decomposition (EMD) with adaptive noise processing, fuzzy entropy analysis, Long Short-Term Memory (LSTM) networks, and Transformer technology. By introducing data frequency division and reconstruction, CF-LT effectively addresses the issues of overfitting and underfitting that traditional machine learning models often encounter when dealing with high-dimensional data. Additionally, the application of the attention mechanism enables CF-LT to overcome the limitations of other models in establishing long-term dependencies between data points during long-term predictions. The prediction results demonstrate that CF-LT achieves a decision coefficient (R2) ranging from 0.37 to 0.87 on the test datasets, representing a significant improvement of 0.05 to 0.17 (or 6% to 85%) compared to the control models. Furthermore, CF-LT provides the best peak prediction performance.

1. 题目

标题:Interpretable CEEMDAN-FE-LSTM-transformer hybrid model for predicting total phosphorus concentrations in surface water

作者:Jiefu Yao, Shuai Chen, Xiaohong Ruan

发布:Journal of Hydrology Volume 629, February 2024, 130609

链接:https://www.sciencedirect.com/science/article/pii/S0022169424000039?via%3Dihub

2. Abstract

该文提出了一个用于 TP 预测的混合模型。该模型 (CF-LT) 将完整集成经验模式分解(EMD)与自适应噪声、模糊熵、长短期记忆和 Transformer相结合。数据分频重构的引入有效解决了以往机器学习模型面对高维数据时出现的过拟合和欠拟合问题,而注意力机制则克服了这些模型无法建立数据之间长期依赖关系的问题在进行长期预测。预测结果表明,CF-LT 模型在测试数据集上实现了 0.37-0.87 的决定系数 (R2),比控制模型提高了 0.05-0.17 (6%-85%)。此外,CF-LT 模型提供了最佳的峰值预测。

3. 网络结构

3.1 CEEMDAN(完全自适应噪声集合经验模态分解)

作为一种先进的时间序列分析方法,CEEMDAN通过在经验模态分解(EMD)过程中加入自适应噪声,有效减少了传统EMD中存在的模式混叠问题。它能将原始信号分解为一系列固有模态函数(IMFs),每个IMF代表信号的不同时间尺度特征,从而使得复杂信号的分析更加直观和准确。在本研究中,CEEMDAN用于处理来自泰湖三个监测站的每日水质数据,将总磷浓度与其他水质参数如水温、pH值、溶解氧等分离成不同频带的信号。

image-20240711193243810

Algorithm S1: Complete Ensemble Empirical Mode Decomposition with Adaptive Noise (CEEMDAN)

  1. 定义运算符 E K ( ∼ ) E_K(\sim) EK(),该运算符生成 EMD 算法的 Kth 模式。 v t i v_t^i vti设为高斯白噪声, ϵ \epsilon ϵ为白噪声系数, i i i为添加白噪声的指数。EMD用于分解数据,并根据方程(S1)将高斯白噪声加入原始信号y(t)后,取第一本征模态函数(IMF)分量( I M F 1 ‾ \overline{IMF1} IMF1)。第一种模式使用方程(S2)计算。

y i ( t ) = y ( t ) + ϵ 0 v i ( t ) i = 1 , 2 , … , n (S1) y^{i}(t)=y(t)+\epsilon_0v^i(t)\quad i=1,2,\dots,n\tag{S1} yi(t)=y(t)+ϵ0vi(t)i=1,2,,n(S1)

IMF1 i = E 0 ( y i ( t ) ) + r 1 i IMF1 ‾ = 1 n IMF1 i (S2) \text{IMF1}_i=E_0(y^i(t))+r^i_1\quad \overline{\text{IMF1}}=\frac1n\text{IMF1}_i\tag{S2} IMF1i=E0(yi(t))+r1iIMF1=n1IMF1i(S2)

  1. 使用方程(S3)计算第一个信号分解的残差。根据方程(S4)加入新的白噪声,并计算第二个IMF分量(S4)。

r 1 = y i ( t ) − IMF1 ‾ (S3) r_1=y^i(t)-\overline{\text{IMF1}}\tag{S3} r1=yi(t)IMF1(S3)

IMF2 ‾ = 1 n ∑ i = 1 n E 1 ( r 1 + ϵ 1 E 1 ( v i ( t ) ) ) (S4) \overline{\text{IMF2}}=\frac1n\sum^n_{i=1}E_1(r_1+\epsilon_1E_1(v^i(t))) \tag{S4} IMF2=n1i=1nE1(r1+ϵ1E1(vi(t)))(S4)

  1. 重复步骤 1 和 2,直到残差r_k为单调函数。最后,应用 EMD 得到 K−1th IMF 级数,即原始级数组成,如:

y ( t ) = ∑ l = 1 K − 1 IMF1 ‾ + r K (S5) y(t)=\sum^{K-1}_{l=1}\overline{\text{IMF1}}+r_K\tag{S5} y(t)=l=1K1IMF1+rK(S5)

3.2 CF-LT模型结构

对于CEEMDAN-FE部分,我们首先将原始数据集划分为训练和测试数据集,然后应用CEEMDAN将两个数据集中的每个特征分解为多个内在模式函数(IMF)。根据每个 IMF 的 FE 值的接近程度,将它们重构为高频 (IMFH)、中频 (IMFM)、低频 (IMFL) 和趋势项 (IMFT) 分量,这些分量反映了 IMF 的不同方面。

对于LSTM-Transformer部分,在编码器和解码器中,LSTM的隐藏层被Transformer位置编码代替,以建立输入数据之间的时间依赖性。具体计算过程如下(图2a)。

image-20240711190100763

  1. 模型输入包含两个特征输入。本研究中,编码器层包含水温(WT)、pH(PH)、溶解氧(DO)、化学需氧量(COD)、电导率(EC)、浊度(TU)、氨氮(NH3-N) ,以及第一个预测时间点前 7 天获取的时间序列形式的总氮 (TN) 数据。解码器层包含第一个预测时间点前7天的TP时间序列。
  2. 经过LSTM和线性层后,两个特征数据集分别被送入编码器层和解码器层。
  3. 两个子层组成编码器层。多头注意力层计算输入特征的注意力矩阵,然后前馈层改变数据维度。最后,数据被输入到下一个编码器或解码器层。
  4. 三个子层组成解码器层。在屏蔽多头注意力层计算出输入特征的注意力矩阵之后,多头注意力层根据编码器层的输出建立注意力连接。前馈层将其传递到下一个解码器层或线性层以获得最终的模型输出。

3.3 SHAP

SHAP 是一种博弈论方法,用于解释任何 ML 模型的输出。为了确定输入特征对模型输出的影响,输入特征 z = [ z 1 , . . . , z p ] z = [z1, ..., zp] z=[z1,...,zp]​ 与训练后的深度学习模型 F 相关。
F = f ( z ) = ϕ 0 + ∑ i = 1 M ϕ i z i (12) F=f(z)=\phi_0+\sum_{i=1}^M \phi_iz_i \tag{12} F=f(z)=ϕ0+i=1Mϕizi(12)
φ i ∈ R φ_i ∈ R φiR表示每个特征对模型的贡献度,由下式给出:
ϕ i ( F , x ) = ∑ z ≤ x ∣ z ∣ ! ( M − ∣ z ∣ − 1 ) ! M ! [ F ( z ) − F ( z / i ) ] (13) \phi_i(F,x)=\sum_{z\leq x}\frac{|z|!(M-|z|-1)!}{M!}[F(z)-F(z/i)] \tag{13} ϕi(F,x)=zxM!z!(Mz1)![F(z)F(z/i)](13)

4. 文献解读

4.1 Introduction

该研究提出了一种预测总磷浓度的新模型。该模型结合了 CEEM DAN、FE、LSTM 和 Transformer 技术,并使用 SHAP 来解释模型输出。该研究的主要目标是评估提出的 CEEMDAN-FE-LSTM-Transformer (CF-LT) 模型在预测太湖入口处 TP 浓度方面的性能,并应用 SHAP 来解释 CF-LT 模型的输出。这应该揭示影响该地区TP浓度的关键因素及其响应机制。

高维数据分解可能会产生大量模态分量。为了解决这个问题,模糊熵(FE)是一种计算时间复杂度的有效方法,可以与 CEEMDAN 结合起来。这种组合有效地重构了CEEMDAN分解后的子信号,从而减少了子频率模型的数量。

LSTMTransformer 模型可以捕获非相邻时间点之间的关系,同时保留输入数据的时间序列特征。

Transformer 模型使用注意机制来识别训练期间特定上下文中两个位置之间的相关性。这使得能够有效获取相关数据并减少信息冗余。

4.2 创新点

该文的主要贡献有四个方面:

  1. 提出的模型将模态分析与深度学习方法结合,使用模糊熵降低模态分解对时间复杂度的影响,将LSTM与Transformer结合构建数据中的长期、短期依赖关系。
  2. 将应用LSTM、Transformer的混合模型用于预测总磷 TP,这是在以往研究中没有做到的。
  3. 预测结果表明,CF-LT 模型在测试数据集上实现了 0.37-0.87 的决定系数 (R2),比控制模型提高了 0.05-0.17 (6%-85%)。此外,CF-LT 模型提供了最佳的峰值预测。

4.3 实验过程

数据集:太湖流域位于长江下游,面积3.69万平方公里,河网密布,湖泊众多。太湖是典型的浅水湖。盆地具有北亚热带湿润气候特征,年平均气温15~17℃,年平均降水量1181毫米。本研究使用了药香桥站、枝虎岗站和官渡桥站的水质监测数据(图S2)。这些监测站位于国家重点水质评价断面——太湖口。数据来源于江苏省环境监测中心。

image-20240711193010590

评估标准:模型的性能评估采用了几项关键指标:决定系数(R²),均方误差(MSE),以及平均绝对百分比误差(MAPE)。R²衡量模型预测值与实际值的拟合程度,接近1表示模型预测能力强;MSE衡量预测误差的平方和,值越小说明预测误差越小;MAPE则从百分比角度反映预测误差的大小,值越低意味着预测越准确。

实施细节:实验过程包括数据预处理、模型训练和测试。建立了一个完整的实验程序,以评估所提出的模型在不同的数据集和预测时间窗口的性能。首先,数据经过CEEMDAN-FE方法进行预处理,通过添加自适应噪声的完全集成经验模态分解去除信息干扰,提取多尺度信息,并利用模糊熵降低子信号的数量。接着,将处理后的数据按75%和25%的比例分为训练集和测试集。训练阶段,将预处理的训练数据集输入到LSTM-Transformer模型。使用反向传播和Adam优化器更新模型权重,并采用网格搜索来识别LSTMTransformer模块的最佳超参数,确保模型在不同预测时间窗口(7天、5天、3天、1天)下的性能最佳。

实验结果:将最佳训练模型应用于测试数据集,表总结了CF-LT、LSTM、Transformer、CF-L和CF-T模型在不同站点和不同预测时间窗下给出的TP浓度预测。所提出的CF-LT模型给出了所有三个评估指标的最佳结果。就R2而言,CF-LT模型的范围为0.37至0.87,而次佳的CF-L和CF-T模型分别为0.32-0.84和0.35-0.86。这表明,将LSTM的长期记忆与Transformer的注意力机制相结合,可以提高预测精度。将最差的LSTM和Transformer模型与CF-L和CF-T模型进行比较,MAPE的范围从8.94%-20.62%(LSTM)和8.91%-18.73%(Transformer)变为8.29%-19.56%(CF-L)和7.82%-17.55%(CF-T)。这些结果表明,数据分解和分频建模通过捕获更多隐藏在原始数据中的信息来显着提高预测准确性。

image-20240711191527172

影响总磷TP浓度因素预测

采用平均绝对SHAP值(MASV)量化输入特征(WT、PH、DO、COD、EC、TU、TN、NH3-N、TP)对TP预测结果的贡献程度,MASV越大,对模型预测结果的影响越大。研究表明,除了过去的TP浓度序列本身,总氮(TN)和浊度(TU)是影响TP预测的两个主要因素。这表明,TP的变化不仅受历史浓度的直接影响,还与非点源污染排放及水体中氮磷比相关联的藻类生长动态紧密相关。特别是,TN与TP之间的显著相关性,强调了两者在湖泊营养盐循环中的耦合效应,突显了非点源氮输入对磷浓度预测的重要性。

image-20240711191709183

从这些结果中,可以得到以下观察结果:

  • 就公平性指标而言,许多现有的 GNN 在所有三个数据集上的 MLP 模型都表现不佳。例如,在 Pokec-z 数据集上,MLP 的人口统计奇偶性比 GAT、GCN、SGC 和 APPNP 低 32.64%、50.46%、66.53% 和 58.72%。较高的预测偏差来自于相同敏感属性节点内的聚合和图数据中的拓扑偏差。
  • FMP 在所有数据集的人口平等和机会均等方面始终实现最低的预测偏差。具体而言,与 Pokecz、Pokec-n 和 NBA 数据集中所有基线中的最低偏差相比,FMP 将人口统计均等性降低了 49.69%、56.86% 和 5.97%。同时,FMP 在 NBA 数据集中实现了最佳精度,在 Pokec-z 和 Pokec-n 数据集中达到了相当的精度。简而言之,所提出的 FMP 可以有效减轻预测偏差,同时保持预测性能。

与对抗性去偏和正则化的比较:随机划分 50%/25%/25% 用于训练、验证和测试数据集。图 2 显示了所有方法的帕累托最优曲线,其中右下角点代表理想性能(最高准确度和最低预测偏差)。

image-20240707171047802

5. 结论

该文提出的 CF-LT 混合模型结合了 CEEM DAN、FE、LSTM 和 Transformer 模块,能够预测地表水中的 TP 浓度。这种混合方法解决了高维数据导致的模型过拟合和欠拟合的缺点以及在进行长期预测时无法建立数据之间的长期依赖关系。此外,SHAP 值用于解释 CF-LT 模型的输出。

该模型应用太湖流域三个水质监测站的数据,输出不同预测时间窗口的9个水质指标。采用 LSTM、Transformer、CF-L 和 CF-T 算法作为控制模型。 CF-LT 模型在测试数据集上的 R2 值为 0.37–0.87,MSE 值为 0.34 × 10−3–1.46 × 10−3,MAPE 值为 7.88 %-17.63 %,这表明所有三个指标均比LSTM、Transformer、CF-L 和 CF-T 结果。所提出的CF-LT模型也产生了最好的峰值预测结果。基于SHAP解释,我们发现TU和TN(不包括TP浓度的早期时间序列)是影响TP预测的重要因素,这表明TP的变化不仅与TP浓度的早期水平有关,而且还受到TP浓度的影响。面源污染排放与太湖入海口水生植物的N、P关系。此外,值得注意的是,TN和TU对雨季TP浓度预测的贡献更大。因此,本研究的结果表明,CF-LT模型为理解不同环境条件变化时TP的响应机制提供了额外的信息。

6.代码复现

CEEMDAN和FE数据预处理

def ceemdan_fe_preprocessing(data):
    # CEEMDAN分解
    imfs, residue = ceemdan(data, **ceemdan_params)
    
    # 计算各个IMF的模糊熵
    fe_values = []
    for imf in imfs:
        fe_values.append(fuzzy_entropy(imf)) # 假定fuzzy_entropy为计算模糊熵的函数
    
    # 根据FE值重组IMFs
    imfs_sorted = [imf for _, imf in sorted(zip(fe_values, imfs))]
    imf_hf, imf_mf, imf_lf, imf_trend = imfs_sorted[:4], imfs_sorted[4:8], imfs_sorted[8:12], imfs_sorted[12:]
    return np.concatenate((imf_hf, imf_mf, imf_lf, imf_trend), axis=1)
 
# 应用到数据上
preprocessed_data = ceemdan_fe_preprocessing(original_data)

LSTM&Transformer

def get_positional_encoding(max_len, d_model):
    pe = np.zeros((max_len, d_model))
    position = np.arange(0, max_len).reshape(-1, 1)
    div_term = np.exp(np.arange(0, d_model, 2) * -(np.log(10000.0) / d_model))
    pe[:, 0::2] = np.sin(position * div_term)
    pe[:, 1::2] = np.cos(position * div_term)
    return pe
 
def transformer_encoder(inputs, d_model, num_heads, ff_dim):
    x = MultiHeadAttention(num_heads=num_heads, key_dim=d_model)(inputs, inputs)
    x = LayerNormalization()(Add()([inputs, x]))
    x = Dense(ff_dim, activation='relu')(x)
    x = Dense(d_model)(x)
    x = LayerNormalization()(Add()([inputs, x]))
    return x
 
def transformer_decoder(inputs, encoder_outputs, d_model, num_heads, ff_dim):
    return decoder_output
 
input_features = Input(shape=(input_shape))
lstm_out = LSTM(lstm_units)(input_features) # LSTM
 
pos_encodings = get_positional_encoding(max_seq_length, d_model)
 
transformer_in = Add()([lstm_out, pos_encodings])
transformer_encoded = transformer_encoder(transformer_in, d_model, num_heads, ff_dim)
 
decoder_output = transformer_decoder(decoder_input, transformer_encoded, d_model, num_heads, ff_dim)
 
output_layer = Dense(output_dim, activation='linear')(decoder_output)
model = Model(inputs=input_features, outputs=output_layer)
 
model.compile(optimizer=Adam(learning_rate), loss='mse')

小结

该研究开发了一种可解释的CEEMDAN-FE-LSTM-Transformer混合模型,针对地表水中总磷浓度预测,该模型通过先进的数据预处理技术和深度学习模型的融合,显著提高了预测精度,并通过SHAP提供了清晰的特征解释。实验结果证实了模型的有效性,尤其是对关键环境因素的识别,为水体富营养化管理和污染控制提供了有力的工具。

参考文献

[1] Jiefu Yao, Shuai Chen, Xiaohong Ruan. Interpretable CEEMDAN-FE-LSTM-transformer hybrid model for predicting total phosphorus concentrations in surface water. [J] Journal of Hydrology Volume 629, February 2024, 130609

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

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

相关文章

以太网连接、本地连接、宽带连接和无线WLAN连接有什么不同?

电脑上的以太网连接、本地连接、宽带连接和无线WLAN连接在功能和实现方式上存在一定的区别。以下是对这四种连接方式的详细解析: 一、以太网连接与本地连接 1. 定义与关系 以太网连接:以太网是一种广泛应用的局域网(LAN)技术&a…

【YOLOv8】 用YOLOv8实现数字式工业仪表智能读数(二)

上一篇圆形表盘指针式仪表的项目受到很多人的关注,咱们一鼓作气,把数字式工业仪表的智能读数也研究一下。本篇主要讲如何用YOLOV8实现数字式工业仪表的自动读数,并将读数结果进行输出,若需要完整数据集和源代码可以私信。 目录 &…

排序(二)——快速排序(QuickSort)

欢迎来到繁星的CSDN,本期内容包括快速排序(QuickSort)的递归版本和非递归版本以及优化。 一、快速排序的来历 快速排序又称Hoare排序,由霍尔 (Sir Charles Antony Richard Hoare) ,一位英国计算机科学家发明。霍尔本人是在发现冒泡排序不够快…

MQTT协议网关解决方案及实施简述-天拓四方

MQTT协议网关是一个中间件,负责接收来自不同MQTT客户端的消息,并将这些消息转发到MQTT服务器;同时,也能接收来自MQTT服务器的消息,并将其转发给相应的MQTT客户端。MQTT协议网关的主要功能包括协议转换、消息过滤、安全…

ImportError: DLL load failed while importing cv2解决方案

系统是 server 2012 r2 datacenter 背景:在window10系统上采用PyInstaller打包python310版本程序后,在server 2012 r2 datacenter运行报错ImportError: DLL load failed while importing cv2,最后解决方案参考了一篇文章下评论修改成功。 原…

Qt http网络编程

学习目标:Qt HTTP网络编程 学习内容 1、Http就是超文本传输协议(Hypertext Transfer Protocol)的缩写,它定义了浏览器和网页服务器之间的通信规范。是一个简单的请求一响应协议,它通常运行在 TCP 之上。 作用:规定 WWW 服务器与浏览器之间信息传递规范…

软件测试常见面试题汇总(2024版)

一、常见的面试题汇总 1、你做了几年的测试、自动化测试,说一下 selenium 的原理是什么? 我做了五年的测试,1年的自动化测试; selenium 它是用 http 协议来连接 webdriver ,客户端可以使用 Java 或者 Python 各种编…

软件测试想转职有适合的岗位吗?

软件测试被有些人看做技术含量低,但是软件测试实际上是万金油行业,如果你不是在很大的公司做的软件测试,相比你做的工作是很杂的,比如软件测试找bug,你的主业,帮着产品经理整理需求,帮着项目经理…

微软开源项目GraphRAG——基于知识图谱的RAG简介

前言 在大型语言模型(LLM)的前沿研究中,一个核心挑战与机遇并存的领域是扩展它们的能力,以解决超出其训练数据范畴的问题。这不仅要求模型在面对全新数据时仍能保持卓越表现,还意味着开辟了全新的数据分析可能性&…

【C++】C++ 汽车租赁管理系统(源码+论文)【500+行代码】【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

CAN总线实战项目:使用STM32和PCAN-View实现数据采集与监控系统(附完整代码)

摘要: 本文深入浅出地介绍CAN(Controller Area Network,控制器局域网络)总线协议,涵盖其基础概念、报文帧格式、仲裁机制、错误处理等关键知识。同时,文章结合STM32平台,从硬件设计、软件开发到实战案例&am…

【益起童行】为“来自星星的孩子”点亮希望之光

在未来的日子里, 我期望每一个孩子都能得到优质的干预治疗,让他们在未来能够过上正常、快乐的生活。 我也期望每一个家庭都能战胜困境,迎来美好。 作为社会的一份子,我愿意为这繁华人世贡献出自己微不足道但却真挚的力量&#xff…

24暑假计划

暑假计划: 1.从明天起开始将C语言的部分补充完整,这部分的预计在7月24日前完成 2.由于之前的文章内容冗余,接下来进行C语言数据结构的重新编写和后面内容的补充预计8月10号前完成 3.后续开始C的初级学习

新加坡很火的slots游戏代投Facebook广告新流量趋势

新加坡很火的slots游戏代投Facebook广告新流量趋势 在新加坡这片充满活力的土地上,Slots游戏以其独特的魅力和吸引力,迅速成为了许多玩家的心头好。而Facebook,作为全球最大的社交媒体平台之一,为Slots游戏的推广提供了得天独厚的…

element-plus 按需导入问题 404等问题

场景 新开一个项目,需要用element-plus这个ui库,使用按需引入。 这是我项目的一些版本号 "element-plus": "^2.7.6","vue": "^3.2.13","vue-router": "^4.0.3",过程(看解决方法…

【MySQL】常见的MySQL日志都有什么用?

MySQL日志的内容非常重要,面试中经常会被问到。同时,掌握日志相关的知识也有利于我们理解MySQL 底层原理,必要时帮助我们排查解决问题。 MySQL中常见的日志类型主要有下面几类(针对的是InnoDB 存储引擎): 错误日志(error log):对 MySQL 的启…

利用Python与uiautomator2实现【手机群控】

利用Python与uiautomator2实现多设备自动化测试 引言 在移动应用测试中,自动化测试是一种提高测试效率和覆盖率的有效手段。本文将介绍如何使用Python语言结合uiautomator2库来实现对多个设备的并行自动化测试。 老规矩先放实现的效果 环境准备 Python环境安装u…

评价妙笔生词智能写歌词软件:助力与局限并存

在音乐创作的领域,科技的发展催生了各种创新工具,妙笔生词智能写歌词软件便是其中引人注目的一项。对于这款软件,我们需要以客观和全面的视角来进行评估,因为它既带来了显著的助力,同时也存在不可忽视的局限。 妙笔生…

Iridient Developer:解锁Mac RAW图像处理的极致潜力,打造专业级色彩与细节

Iridient Developer for Mac是一款专为Mac用户设计的RAW图像调整软件,它以其卓越的性能和丰富的功能,赢得了众多摄影师的青睐。以下是对这款软件的详细介绍: 一、强大的RAW图像处理能力 Iridient Developer专为处理RAW图像而设计&#xff0…

JAVA毕业设计146—基于Java+Springboot+vue+uniapp的景区旅游购票小程序(源代码+数据库+9000字论文)

毕设所有选题: https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootvueuniapp的景区旅游购票小程序(源代码数据库9000字论文)146 一、系统介绍 本项目前后端分离,分为用户、管理员两种角色 1、用户: 注册…