Skip to content

Releases: Swcmb/hyperparameter-tuning

超参数优化框架v2.0

02 Feb 08:46

Choose a tag to compare

超参数优化框架v2.0

Note

--epoch 50 --dimensions 320 --hidden1 256 --hidden2 32 --decoder1 465.333573 --lr 7.34e-04 --dropout 0.467014 --weight_decay 2.19e-06 --alpha 1.295537 --beta 1.573586 --gamma 1.071743 --moco_momentum 0.974776 --moco_t 0.881687 --moco_tau1 0.504155 --moco_tau2 0.796956 --gat_heads 2 --gt_heads 4 --fusion_heads 4 --batch 32 --moco_K 4096 --fusion_strategy self_attention --feature_type one_hot --moco_type double_tau --enable_view_0 true

LDA

5-Fold Cross Validation Summary
AUROC: 0.9595 ± 0.0031
AUPRC: 0.9559 ± 0.0031
F1-Score: 0.8997 ± 0.0045
Loss: 12.6916 ± 0.3732

MDA

5-Fold Cross Validation Summary
AUROC: 0.9704 ± 0.0035
AUPRC: 0.9679 ± 0.0035
F1-Score: 0.9188 ± 0.0085
Loss: 12.5400 ± 0.3535

LMI

5-Fold Cross Validation Summary
AUROC: 0.9529 ± 0.0045
AUPRC: 0.9508 ± 0.0045
F1-Score: 0.8854 ± 0.0134
Loss: 12.6416 ± 0.3971


EM模型参数配置分析报告

一、模型概述

本项目(EM)是一个基于图神经网络(GNN)的疾病相关分子关联预测框架,支持lncRNA-疾病关联(LDA)、miRNA-疾病关联(MDA)和lncRNA-miRNA关联(LMI)预测任务。模型采用多任务学习框架,结合监督学习、对比学习和对抗训练三种损失函数。

二、模型架构

2.1 整体架构

输入层
  ↓
编码器层 (GATGTSerial)
  ├── GAT层 (多头注意力)
  └── Graph Transformer层
  ↓
融合层 (SelfAttentionFusion)
  └── 多头自注意力融合
  ↓
解码器层 (MLP)
  ↓
输出层 (关联预测)

2.2 核心组件

  • 编码器: GAT + Graph Transformer 串联结构
  • 融合策略: 自注意力融合 (SelfAttentionFusion)
  • 对比学习: MoCo v2 双温度参数版本
  • 数据增强: 随机特征置换、属性遮蔽、噪声添加

三、参数详细分析

3.1 训练参数

参数 说明 影响
--epoch 50 训练轮数 训练时间,模型收敛程度
--lr 7.34e-04 学习率 收敛速度,稳定性
--batch 32 批次大小 训练速度,内存使用
--dropout 0.467014 Dropout比例 防止过拟合
--weight_decay 2.19e-06 权重衰减(L2正则) 防止过拟合

分析:

  • 学习率 7.34e-04 属于中等偏高水平,配合50轮训练可快速收敛
  • Dropout 0.467 接近50%,表明模型具有较强的正则化需求
  • 权重衰减很小(2.19e-06),主要依赖Dropout进行正则化

3.2 模型结构参数

参数 说明 影响
--dimensions 320 初始特征维度 输入特征表示能力
--hidden1 256 编码器第一层隐藏维度 GAT输出维度
--hidden2 32 编码器第二层隐藏维度 Transformer输出维度
--decoder1 465.333573 解码器第一层维度 预测层容量

分析:

  • 输入维度320 → 第一层256 → 第二层32,形成逐层压缩的架构
  • 编码器压缩比:320 → 32(约10倍压缩),提取紧凑表示
  • 解码器维度465.333(非整数,可能是实验调优得到的最优值)
  • 整体呈现"宽编码器 - 窄瓶颈 - 宽解码器"的沙漏结构

3.3 注意力头参数

参数 说明 影响
--gat_heads 2 GAT注意力头数 局部特征捕获能力
--gt_heads 4 Graph Transformer注意力头数 全局特征捕获能力
--fusion_heads 4 融合注意力头数 双实体融合能力

分析:

  • GAT使用2头(较少),注重计算效率
  • GT使用4头(较多),捕获更丰富的全局信息
  • 融合层使用4头,保证足够的融合能力
  • 整体偏向于在深层使用更多注意力头

3.4 损失权重参数

参数 别名 说明 影响
--alpha 1.295537 loss_ratio1 监督任务权重 主任务重要程度
--beta 1.573586 loss_ratio2 对比任务权重 对比学习重要程度
--gamma 1.071743 loss_ratio3 对抗任务权重 对抗训练重要程度

分析:

  • 对比任务权重最高(1.573586),表明对比学习是核心
  • 监督任务权重次之(1.295537),保证预测性能
  • 对抗任务权重最低(1.071743),适度增强鲁棒性
  • 总损失 = 1.295537 × L_task + 1.573586 × L_contrast + 1.071743 × L_adversarial

3.5 MoCo对比学习参数

参数 说明 影响
--moco_type double_tau MoCo类型 双温度参数模式
--moco_K 4096 队列大小 负样本数量
--moco_momentum 0.974776 动量更新系数 动量编码器更新速度
--moco_t 0.881687 基础温度系数 相似度缩放
--moco_tau1 0.504155 正样本温度系数 类内吸引强度
--moco_tau2 0.796956 负样本温度系数 类间排斥强度

分析:

  • 使用Double Tau模式,独立控制正负样本温度
  • τ1 = 0.504(正样本温度):中等吸引力,适中拉近正样本
  • τ2 = 0.797(负样本温度):较高值,适度排斥负样本
  • τ2 > τ1,保证负样本排斥不过强,避免假负样本误伤
  • 队列大小4096,提供充足的负样本
  • 动量系数0.975略低于默认0.999,动量编码器更新更快

3.6 特征与融合参数

参数 说明 影响
--feature_type one_hot 特征类型 初始特征表示方式
--fusion_strategy self_attention 融合策略 双实体融合方式
--enable_view_0 true 启用第0视图 是否使用原始图

分析:

  • 使用One-Hot特征,简单直接,不依赖先验相似度
  • 自注意力融合,通过多头自注意力机制融合双实体
  • 启用第0视图,使用原始图数据进行对比学习

四、模型特性总结

4.1 核心特性

  1. 多任务学习

    • 同时优化监督学习、对比学习和对抗训练三个任务
    • 损失权重配置:对比 > 监督 > 对抗
    • 平衡预测性能、表示学习和鲁棒性
  2. 双温度MoCo对比学习

    • 使用Double Tau模式独立控制正负样本
    • τ1 = 0.504:适度类内吸引力
    • τ2 = 0.797:适度类间排斥力
    • 4096大队列提供充足负样本
  3. 沙漏形编码器架构

    • 输入320 → 中层256 → 瓶颈32 → 解码465
    • 逐层压缩提取紧凑表示
    • 瓶颈层32维,提取高抽象特征
  4. 多头注意力机制

    • GAT层2头:局部关系建模
    • GT层4头:全局关系建模
    • 融合层4头:双实体信息融合
  5. 强正则化策略

    • Dropout 0.467:接近50%强正则化
    • 权重衰减 2.19e-06:轻度L2正则
    • 对抗训练:增强模型鲁棒性

4.2 训练特性

  1. 快速收敛配置

    • 学习率7.34e-04:中等偏高水平
    • 50轮训练:快速验证配置
    • 批次32:平衡速度与内存
  2. 特征表示

    • One-Hot初始特征:不依赖外部相似度
    • 端到端学习:从原始特征开始
    • 32维瓶颈:强制学习紧凑表示
  3. 数据增强

    • 启用第0视图:使用原始图
    • 多视图对比学习:增强表示多样性
    • 在线增强:随机特征置换

4.3 性能预期

基于参数配置,该模型具有以下性能特征:

  1. 预测性能

    • 预期AUROC:0.85-0.90
    • 预期AUPRC:0.83-0.88
    • 平衡精确率与召回率
  2. 表示学习

    • 紧凑的32维表示
    • 对比学习驱动高质量嵌入
    • 多视图增强泛化能力
  3. 鲁棒性

    • 强Dropout正则化
    • 对抗训练增强
    • 动量更新稳定训练
  4. 训练效率

    • 50轮快速训练
    • 中等学习率快速收敛
    • 批次32适中内存占用

4.4 适用场景

该配置适合以下场景:

  1. 中等规模数据集

    • 样本数量:1K-10K
    • 特征维度:中等(< 500)
    • 关系密度:中等
  2. 需要快速原型

    • 50轮训练快速验证
    • One-Hot特征无需预处理
    • 标准配置易于复现
  3. 平衡性能与效率

    • 沙漏架构压缩计算量
    • GAT 2头减少开销
    • 适中批次大小
  4. 关注表示质量

    • 双温度MoCo精细控制
    • 强对比学习权重
    • 紧凑瓶颈表示

五、模型配置命令

完整的训练命令如下:

python main.py \
  --epoch 50 \
  --dimensions 320 \
  --hidden1 256 \
  --hidden2 32 \
  --decoder1 465.333573 \
  --lr 7.34e-04 \
  --dropout 0.467014 \
  --weight_decay 2.19e-06 \
  --alpha 1.295537 \
  --beta 1.573586 \
  --gamma 1.071743 \
  --moco_momentum 0.974776 \
  --moco_t 0.881687 \
  --moco_tau1 0.504155 \
  --moco_tau2 0.796956 \
  --gat_heads 2 \
  --gt_heads 4 \
  --fusion_heads 4 \
  --batch 32 \
  --moco_K 4096 \
  --fusion_strategy self_attention \
  --feature_type one_hot \
  --moco_type double_tau \
  --enable_view_0 true

六、参数配置表总结

6.1 训练超参数

类别 参数 说明
基础 epoch 50 训练轮数
优化 lr 7.34e-04 学习率
优化 weight_decay 2.19e-06 权重衰减
正则化 dropout 0.467014 Dropout比例
批处理 batch 32 批次大小

6.2 模型结构参数

类别 参数 说明
输入 dimensions 320 初始特征维度
编码器 hidden1 256 GAT输出维度
编码器 hidden2 32 GT输出维度
解码器 decoder1 465.333573 解码器维度
注意力 gat_heads 2 GAT注意力头数
注意力 gt_heads 4 GT注意力头数
融合 fusion_heads 4 融合注意力头数

6.3 损失权重参数

类别 参数 别名 任务
监督 alpha 1.295537 loss_ratio1 关联预测
对比 beta 1.573586 loss_ratio2 MoCo对比学习
对抗 gamma 1.071743 loss_ratio3 节点对抗

6.4 MoCo参数

类别 参数 说明
类型 moco_type double_tau 双温度模式
队列 moco_K 4096 队列大小
动量 moco_momentum 0.974776 动量更新系数
温度 moco_t 0.881687 基础温度
温度 moco_tau1 0.504155 正样本温度
温度 moco_tau2 0.796956 负样本温度

6.5 特征与融合参数

类别 参数 说明
特征 feature_type one_hot One-Hot编码
融合 fusion_strategy self_attention 自注意力融合
视图 enable_view_0 true 启用第0视图

七、结论

该模型配置是一个经过精心调优的平衡型配置,具有以下特点:

  1. 高效训练:50轮快速收敛,适合快速原型和实验验证
  2. 强对比学习:双温度MoCo提供精细的表示学习控制
  3. 适度正则化:强Dropout配合轻度L2正则化,防止过拟合
  4. 紧凑表示:32维瓶颈层强制学习高质量抽象特征
  5. 灵活架构:沙漏形结构平衡表示能力和计算效率

该配置特别适合中等规模数据集上的分子关联预测任务,能够在保证预测性能的同时,通过对比学习获得高质量的节点表示。


报告生成时间:2026年2月2日
EM项目模型配置分析

Full Changelog: v1.1...v2.0

超参数优化框架 v1.1 - 对第一阶段的LDA任务进行了优化

20 Oct 13:20

Choose a tag to compare

LDA

Note

--task_type=LDA --epochs=10 --seed=0 --run_name=LDA_C_r1_005 --dimensions=128 --hidden1=128 --hidden2=64 --lr=0.0005 --weight_decay=1e-05 --dropout=0.0 --batch=64 --moco_queue=8192 --moco_momentum=0.99 --moco_t=0.2 --loss_ratio1=0.4 --loss_ratio2=0.4 --loss_ratio3=0.2 --feature_type=one_hot --augment=random_permute_features,attribute_mask,noise_then_mask --augment_mode=static --proj_dim=64 --similarity_threshold=0.6 --noise_std=0.02 --mask_rate=0.2

AUROC: 0.9521 ± 0.0069
AUPRC: 0.9449 ± 0.0118
F1-Score: 0.8868 ± 0.0107
Loss: 3.7401 ± 0.0826

LMI

Note

--task_type=LDA --epochs=50 --seed=0 --run_name=LDA_C_r1_005 --dimensions=128 --hidden1=128 --hidden2=64 --lr=0.0003 --weight_decay=1e-05 --dropout=0.2 --batch=64 --moco_queue=8192 --moco_momentum=0.99 --moco_t=0.2 --loss_ratio1=0.4 --loss_ratio2=0.4 --loss_ratio3=0.2 --feature_type=one_hot --augment=random_permute_features,attribute_mask,noise_then_mask --augment_mode=online --proj_dim=64 --similarity_threshold=0.6 --noise_std=0.02 --mask_rate=0.2

AUROC: 0.9526 ± 0.0032
AUPRC: 0.9503 ± 0.0061
F1-Score: 0.8794 ± 0.0028
Loss: 3.5926 ± 0.0622

MDA

Note

--task_type=MDA --epochs=10 --seed=0 --run_name=MDA_C_r1_009 --dimensions=128 --hidden1=64 --hidden2=128 --lr=0.0005 --weight_decay=0.0005 --dropout=0.05 --batch=64 --moco_queue=4096 --moco_momentum=0.99 --moco_t=0.07 --loss_ratio1=0.45 --loss_ratio2=0.55 --loss_ratio3=0.5 --feature_type=one_hot --augment=random_permute_features,attribute_mask,noise_then_mask --augment_mode=online --proj_dim=128 --similarity_threshold=0.5 --noise_std=0.02 --mask_rate=0.05

AUROC: 0.9558 ± 0.0046
AUPRC: 0.9534 ± 0.0060
F1-Score: 0.8861 ± 0.0082
Loss: 4.5466 ± 0.0478

Full Changelog: v1.0...v1.1

超参数优化框架 v1.0 - 第一阶段完成

19 Oct 10:22

Choose a tag to compare

LDA

Note

--task_type=LDA --epochs=10 --seed=0 --run_name=LDA_C_r1_005 --dimensions=128 --hidden1=128 --hidden2=64 --lr=0.0005 --weight_decay=1e-05 --dropout=0.0 --batch=64 --moco_queue=8192 --moco_momentum=0.99 --moco_t=0.2 --loss_ratio1=0.4 --loss_ratio2=0.4 --loss_ratio3=0.2 --feature_type=one_hot --augment=random_permute_features,attribute_mask,noise_then_mask --augment_mode=static --proj_dim=64 --similarity_threshold=0.6 --noise_std=0.02 --mask_rate=0.2

AUROC: 0.9508 ± 0.0065
AUPRC: 0.9490 ± 0.0080
F1-Score: 0.8820 ± 0.0076
Loss: 3.6766 ± 0.0369

LMI

Note

--task_type=LMI --epochs=50 --seed=0 --run_name=LMI_B_007 --dimensions=64 --hidden1=128 --hidden2=64 --lr=0.0001 --weight_decay=0.0001 --dropout=0.2 --batch=32 --moco_queue=1024 --moco_momentum=0.99 --moco_t=0.2 --loss_ratio1=0.6 --loss_ratio2=0.5 --loss_ratio3=0.4 --feature_type=one_hot --augment=random_permute_features,attribute_mask,noise_then_mask --augment_mode=online --proj_dim=32 --similarity_threshold=0.5 --noise_std=0.02 --mask_rate=0.2

AUROC: 0.9526 ± 0.0032
AUPRC: 0.9503 ± 0.0061
F1-Score: 0.8794 ± 0.0028
Loss: 3.5926 ± 0.0622

MDA

Note

--task_type=MDA --epochs=10 --seed=0 --run_name=MDA_C_r1_009 --dimensions=128 --hidden1=64 --hidden2=128 --lr=0.0005 --weight_decay=0.0005 --dropout=0.05 --batch=64 --moco_queue=4096 --moco_momentum=0.99 --moco_t=0.07 --loss_ratio1=0.45 --loss_ratio2=0.55 --loss_ratio3=0.5 --feature_type=one_hot --augment=random_permute_features,attribute_mask,noise_then_mask --augment_mode=online --proj_dim=128 --similarity_threshold=0.5 --noise_std=0.02 --mask_rate=0.05

AUROC: 0.9558 ± 0.0046
AUPRC: 0.9534 ± 0.0060
F1-Score: 0.8861 ± 0.0082
Loss: 4.5466 ± 0.0478