{
  "schema_version": 1,
  "generated_on": "2026-08-12",
  "policy": {
    "scope": "以可独立实验的核心知识点组织案例；细分标题通过 source_rst 与 knowledge_points 多对一映射。",
    "download": "所有数据必须可匿名 HTTPS 直接下载；Notebook 不把数据、模型权重或个人路径写入源码树。",
    "cache": "默认缓存到 AI_COURSE_DATA_DIR；未设置时使用用户缓存目录。",
    "execution": "源码 Notebook 不保存输出；发布前在隔离环境执行副本，Sphinx 仅渲染。",
    "reproducibility": "固定随机种子，记录划分策略、数据许可、运行预算和任务边界。"
  },
  "cases": [
    {
      "id": "review_linear_numpy",
      "chapter": "01_review",
      "order": 1,
      "title": "案例 1：从 NumPy 广播到能源负荷线性回归",
      "notebook": "案例分析/01_review/01_numpy_linear_regression.ipynb",
      "source_rst": [
        "1_review/Python_preliminary.rst",
        "1_review/Broadcasting.rst",
        "1_review/Introduction.rst"
      ],
      "knowledge_points": [
        "Python/NumPy 数据结构",
        "数组维度与广播",
        "随机种子与向量化",
        "线性回归",
        "均方误差",
        "最小二乘",
        "批量梯度下降",
        "数值梯度检查"
      ],
      "datasets": [
        {
          "name": "UCI Energy Efficiency",
          "landing_url": "https://archive.ics.uci.edu/dataset/242/energy%2Befficiency",
          "direct_urls": [
            "https://archive.ics.uci.edu/static/public/242/energy+efficiency.zip"
          ],
          "license": "CC BY 4.0"
        }
      ],
      "runtime": "CPU 约 1–2 分钟",
      "memory": "< 1 GB",
      "slow": false
    },
    {
      "id": "review_logistic_regression",
      "chapter": "01_review",
      "order": 2,
      "title": "案例 2：乳腺肿块特征的逻辑回归",
      "notebook": "案例分析/01_review/02_logistic_regression.ipynb",
      "source_rst": [
        "1_review/Introduction.rst"
      ],
      "knowledge_points": [
        "Sigmoid",
        "二元交叉熵",
        "逻辑回归",
        "批量梯度下降",
        "牛顿法",
        "概率与阈值",
        "数值稳定性"
      ],
      "datasets": [
        {
          "name": "UCI Breast Cancer Wisconsin (Diagnostic)",
          "landing_url": "https://archive.ics.uci.edu/dataset/17/breast-cancer-wisconsin-diagnostic",
          "direct_urls": [
            "https://archive.ics.uci.edu/static/public/17/breast+cancer+wisconsin+diagnostic.zip"
          ],
          "license": "CC BY 4.0"
        }
      ],
      "runtime": "CPU 约 1–2 分钟",
      "memory": "< 1 GB",
      "slow": false
    },
    {
      "id": "fnn_numpy_binary",
      "chapter": "03_fnn",
      "order": 3,
      "title": "案例 3：从逻辑神经元到 NumPy 深层二分类网络",
      "notebook": "案例分析/03_fnn/01_numpy_fnn.ipynb",
      "source_rst": [
        "3_FNN/revisit_logistic_regression.rst",
        "3_FNN/FNN_with_one_hidden_layer.rst",
        "3_FNN/FNN_more_samples.rst",
        "3_FNN/Multiply_hidden_layer.rst",
        "3_FNN/Code_for_FNN.rst"
      ],
      "knowledge_points": [
        "单隐藏层",
        "批量向量化",
        "偏置广播",
        "计算图与链式法则",
        "误差信号",
        "多隐藏层",
        "缓存与参数量",
        "NumPy 手工后向传播"
      ],
      "datasets": [
        {
          "name": "UCI Breast Cancer Wisconsin (Diagnostic)",
          "landing_url": "https://archive.ics.uci.edu/dataset/17/breast-cancer-wisconsin-diagnostic",
          "direct_urls": [
            "https://archive.ics.uci.edu/static/public/17/breast+cancer+wisconsin+diagnostic.zip"
          ],
          "license": "CC BY 4.0"
        }
      ],
      "runtime": "CPU 约 3–5 分钟",
      "memory": "< 1 GB",
      "slow": false
    },
    {
      "id": "fnn_softmax_fashion",
      "chapter": "03_fnn",
      "order": 4,
      "title": "案例 4：Fashion-MNIST 上的 Softmax 全连接网络",
      "notebook": "案例分析/03_fnn/02_softmax_multiclass.ipynb",
      "source_rst": [
        "3_FNN/Softmax_regression.rst",
        "3_FNN/Code_for_MNIST.rst"
      ],
      "knowledge_points": [
        "图像展平",
        "输出层的线性运算结果",
        "稳定 Softmax",
        "多分类交叉熵",
        "训练/评估模式",
        "错误样本分析"
      ],
      "datasets": [
        {
          "name": "Fashion-MNIST",
          "landing_url": "https://github.com/zalandoresearch/fashion-mnist",
          "direct_urls": [
            "https://storage.googleapis.com/tensorflow/tf-keras-datasets/train-images-idx3-ubyte.gz",
            "https://storage.googleapis.com/tensorflow/tf-keras-datasets/train-labels-idx1-ubyte.gz",
            "https://storage.googleapis.com/tensorflow/tf-keras-datasets/t10k-images-idx3-ubyte.gz",
            "https://storage.googleapis.com/tensorflow/tf-keras-datasets/t10k-labels-idx1-ubyte.gz"
          ],
          "license": "MIT"
        }
      ],
      "runtime": "CPU 约 5–12 分钟",
      "memory": "约 1.5 GB",
      "slow": false
    },
    {
      "id": "fnn_activation_optimizers",
      "chapter": "03_fnn",
      "order": 5,
      "title": "案例 5：干豆分类中的激活、初始化与优化器消融",
      "notebook": "案例分析/03_fnn/03_activation_optimizers.ipynb",
      "source_rst": [
        "3_FNN/Activation_function.rst",
        "3_FNN/Algorithm.rst",
        "3_FNN/Multiply_hidden_layer.rst"
      ],
      "knowledge_points": [
        "Sigmoid/tanh/ReLU/Leaky ReLU",
        "Xavier/He 初始化",
        "Mini-batch SGD",
        "Momentum",
        "RMSprop",
        "Adam",
        "梯度尺度诊断"
      ],
      "datasets": [
        {
          "name": "UCI Dry Bean",
          "landing_url": "https://archive.ics.uci.edu/dataset/602/dry",
          "direct_urls": [
            "https://archive.ics.uci.edu/static/public/602/dry+bean+dataset.zip"
          ],
          "license": "CC BY 4.0"
        }
      ],
      "runtime": "CPU 约 8–15 分钟",
      "memory": "约 1.5 GB",
      "slow": false
    },
    {
      "id": "fnn_evaluation_thresholds",
      "chapter": "03_fnn",
      "order": 6,
      "title": "案例 6：不平衡营销响应的阈值、ROC、PR 与校准",
      "notebook": "案例分析/03_fnn/04_model_evaluation.ipynb",
      "source_rst": [
        "3_FNN/Evaluation.rst"
      ],
      "knowledge_points": [
        "混淆矩阵",
        "Accuracy/Precision/Recall/F1",
        "阈值选择",
        "ROC-AUC",
        "PR/AP",
        "Brier 分数",
        "校准曲线",
        "误判代价"
      ],
      "datasets": [
        {
          "name": "UCI Bank Marketing",
          "landing_url": "https://archive.ics.uci.edu/dataset/222/bank%2Bmarket",
          "direct_urls": [
            "https://archive.ics.uci.edu/static/public/222/bank+marketing.zip"
          ],
          "license": "CC BY 4.0"
        }
      ],
      "runtime": "CPU 约 3–6 分钟",
      "memory": "约 1 GB",
      "slow": false
    },
    {
      "id": "training_bias_variance",
      "chapter": "04_training",
      "order": 7,
      "title": "案例 7：学习曲线中的偏差—方差与正则化",
      "notebook": "案例分析/04_training/01_bias_variance_regularization.ipynb",
      "source_rst": [
        "4_Model_para/Bias_variance_tradeoff.rst",
        "4_Model_para/Regularization.rst"
      ],
      "knowledge_points": [
        "训练/验证/测试职责",
        "偏差—方差",
        "模型容量",
        "学习曲线",
        "L1/L2",
        "权重衰减",
        "提前停止",
        "数据泄漏"
      ],
      "datasets": [
        {
          "name": "UCI Dry Bean",
          "landing_url": "https://archive.ics.uci.edu/dataset/602/dry",
          "direct_urls": [
            "https://archive.ics.uci.edu/static/public/602/dry+bean+dataset.zip"
          ],
          "license": "CC BY 4.0"
        }
      ],
      "runtime": "CPU 约 6–12 分钟",
      "memory": "约 1 GB",
      "slow": false
    },
    {
      "id": "training_diagnostics_search",
      "chapter": "04_training",
      "order": 8,
      "title": "案例 8：批量归一化、超参数搜索与训练故障诊断",
      "notebook": "案例分析/04_training/02_batchnorm_hyperparameter_diagnostics.ipynb",
      "source_rst": [
        "4_Model_para/Algorithm.rst",
        "4_Model_para/Batch_normalization.rst",
        "4_Model_para/Practial_guidance.rst",
        "4_Model_para/Hyperpara_init.rst"
      ],
      "knowledge_points": [
        "BatchNorm 训练/推断差异",
        "运行统计量",
        "参数与超参数",
        "随机搜索",
        "对数尺度",
        "逐步缩减",
        "检查点",
        "NaN/梯度诊断",
        "运行时间与模型大小"
      ],
      "datasets": [
        {
          "name": "UCI Dry Bean",
          "landing_url": "https://archive.ics.uci.edu/dataset/602/dry",
          "direct_urls": [
            "https://archive.ics.uci.edu/static/public/602/dry+bean+dataset.zip"
          ],
          "license": "CC BY 4.0"
        }
      ],
      "runtime": "CPU 约 10–20 分钟",
      "memory": "约 1.5 GB",
      "slow": true
    },
    {
      "id": "cnn_1d_timeseries",
      "chapter": "05_cnn",
      "order": 9,
      "title": "案例 9：城市用电序列上的一维卷积与感受野",
      "notebook": "案例分析/05_cnn/01_conv1d_time_series.ipynb",
      "source_rst": [
        "5_CNN/5_1_conv_operation.rst",
        "5_CNN/5_2_basic_conv_nn.rst"
      ],
      "knowledge_points": [
        "一维卷积",
        "多通道",
        "填充与步幅",
        "空洞卷积",
        "感受野",
        "时间顺序划分",
        "因果边界"
      ],
      "datasets": [
        {
          "name": "UCI Power Consumption of Tetouan City",
          "landing_url": "https://archive.ics.uci.edu/dataset/849/power%2Bconsumption%2B",
          "direct_urls": [
            "https://archive.ics.uci.edu/static/public/849/power+consumption+of+tetouan+city.zip"
          ],
          "license": "CC BY 4.0"
        }
      ],
      "runtime": "CPU 约 8–15 分钟",
      "memory": "约 1.5 GB",
      "slow": false
    },
    {
      "id": "cnn_lenet_gradients",
      "chapter": "05_cnn",
      "order": 10,
      "title": "案例 10：从零实现二维卷积、后向传播与 LeNet",
      "notebook": "案例分析/05_cnn/02_conv2d_lenet_gradients.ipynb",
      "source_rst": [
        "5_CNN/5_1_conv_operation.rst",
        "5_CNN/5_2_basic_conv_nn.rst",
        "5_CNN/5_3_conv_bp.rst",
        "5_CNN/5_5_code_for_lenet.rst"
      ],
      "knowledge_points": [
        "二维/多通道卷积",
        "池化",
        "输出尺寸",
        "卷积核与输入梯度",
        "数值梯度检查",
        "LeNet"
      ],
      "datasets": [
        {
          "name": "Fashion-MNIST",
          "landing_url": "https://github.com/zalandoresearch/fashion-mnist",
          "direct_urls": [
            "https://storage.googleapis.com/tensorflow/tf-keras-datasets/train-images-idx3-ubyte.gz",
            "https://storage.googleapis.com/tensorflow/tf-keras-datasets/train-labels-idx1-ubyte.gz",
            "https://storage.googleapis.com/tensorflow/tf-keras-datasets/t10k-images-idx3-ubyte.gz",
            "https://storage.googleapis.com/tensorflow/tf-keras-datasets/t10k-labels-idx1-ubyte.gz"
          ],
          "license": "MIT"
        }
      ],
      "runtime": "CPU 约 8–15 分钟",
      "memory": "约 1.5 GB",
      "slow": false
    },
    {
      "id": "cnn_architectures",
      "chapter": "05_cnn",
      "order": 11,
      "title": "案例 11：EuroSAT 上的 CNN 架构、残差与效率比较",
      "notebook": "案例分析/05_cnn/03_cnn_architectures.ipynb",
      "source_rst": [
        "5_CNN/5_4_famous_cnn.rst",
        "5_CNN/5_6_code_for_alexnet.rst",
        "5_CNN/5_7_code_for_resnet.rst"
      ],
      "knowledge_points": [
        "AlexNet/VGG 风格模块",
        "MobileNet 深度可分离卷积",
        "残差连接",
        "BatchNorm/Dropout",
        "参数量/速度/内存",
        "空间泄漏",
        "YOLO 任务边界"
      ],
      "datasets": [
        {
          "name": "EuroSAT RGB",
          "landing_url": "https://zenodo.org/records/7711810",
          "direct_urls": [
            "https://zenodo.org/records/7711810/files/EuroSAT_RGB.zip?download=1"
          ],
          "license": "MIT；影像另受 Copernicus Sentinel 数据条款约束"
        }
      ],
      "runtime": "GPU 约 15–30 分钟；CPU 可运行小样本模式",
      "memory": "CPU 约 3 GB / GPU 约 2 GB",
      "slow": true
    },
    {
      "id": "sequence_rnn_lstm_gru",
      "chapter": "06_sequence",
      "order": 12,
      "title": "案例 12：《爱丽丝梦游仙境》字符语言模型：RNN、LSTM 与 GRU",
      "notebook": "案例分析/06_sequence/01_rnn_lstm_gru.ipynb",
      "source_rst": [
        "6_RNN/6_1_prerequisite_knowledge.rst",
        "6_RNN/6_2_rnn.rst",
        "6_RNN/6_3_variants_of_rnn.rst"
      ],
      "knowledge_points": [
        "词元化与词表",
        "序列张量",
        "自回归与因果边界",
        "隐藏状态与参数共享",
        "BPTT",
        "梯度裁剪",
        "RNN/LSTM/GRU",
        "长期依赖"
      ],
      "datasets": [
        {
          "name": "Project Gutenberg Alice's Adventures in Wonderland",
          "landing_url": "https://www.gutenberg.org/ebooks/11",
          "direct_urls": [
            "https://www.gutenberg.org/cache/epub/11/pg11.txt"
          ],
          "license": "美国公版；其他司法辖区需自行确认"
        }
      ],
      "runtime": "CPU 约 10–20 分钟",
      "memory": "约 1.5 GB",
      "slow": true
    },
    {
      "id": "sequence_attention_transformer",
      "chapter": "06_sequence",
      "order": 13,
      "title": "案例 13：从零实现注意力与小型 Transformer 垃圾短信分类",
      "notebook": "案例分析/06_sequence/02_attention_transformer.ipynb",
      "source_rst": [
        "6_RNN/6_4_attention_mechanism.rst"
      ],
      "knowledge_points": [
        "Q/K/V",
        "缩放点积注意力",
        "多头注意力",
        "填充掩码",
        "位置编码",
        "LayerNorm",
        "Transformer 编码器",
        "注意力解释边界"
      ],
      "datasets": [
        {
          "name": "UCI SMS Spam Collection",
          "landing_url": "https://archive.ics.uci.edu/dataset/228/sms%2Bspam%2Bcollection",
          "direct_urls": [
            "https://archive.ics.uci.edu/static/public/228/sms+spam+collection.zip"
          ],
          "license": "CC BY 4.0"
        }
      ],
      "runtime": "CPU 约 8–15 分钟",
      "memory": "约 1.5 GB",
      "slow": false
    },
    {
      "id": "sequence_bert",
      "chapter": "06_sequence",
      "order": 14,
      "title": "案例 14：BERT 短信分类：词袋、冻结编码器与微调边界",
      "notebook": "案例分析/06_sequence/03_bert_text_classification.ipynb",
      "source_rst": [
        "6_RNN/6_5_BERT.rst"
      ],
      "knowledge_points": [
        "WordPiece",
        "[CLS]/[SEP]",
        "注意力掩码",
        "MLM 预训练",
        "冻结特征",
        "微调",
        "分层评价",
        "隐私与解释边界"
      ],
      "datasets": [
        {
          "name": "UCI SMS Spam Collection",
          "landing_url": "https://archive.ics.uci.edu/dataset/228/sms%2Bspam%2Bcollection",
          "direct_urls": [
            "https://archive.ics.uci.edu/static/public/228/sms+spam+collection.zip"
          ],
          "license": "CC BY 4.0"
        }
      ],
      "runtime": "基线 CPU 约 3 分钟；BERT 微调建议 GPU 约 10–20 分钟",
      "memory": "CPU 约 2 GB / GPU 约 4 GB",
      "slow": true
    },
    {
      "id": "gnn_node_classification",
      "chapter": "07_gnn",
      "order": 15,
      "title": "案例 15：OGBN-Arxiv 节点分类——从多层感知机到消息传递",
      "notebook": "案例分析/07_gnn/01_node_classification.ipynb",
      "source_rst": [
        "7_GNN/7_1_message_passing.rst",
        "7_GNN/7_2_gcn.rst",
        "7_GNN/7_3_gat.rst",
        "7_GNN/7_4_classic_models.rst"
      ],
      "knowledge_points": [
        "图/邻接/度/特征矩阵",
        "置换等变性",
        "消息-聚合-更新",
        "自环与对称归一化",
        "GCN",
        "GAT",
        "GraphSAGE",
        "过度平滑",
        "结构泄漏",
        "官方时间划分"
      ],
      "datasets": [
        {
          "name": "OGBN-Arxiv",
          "landing_url": "https://ogb.stanford.edu/docs/nodeprop/",
          "direct_urls": [
            "https://snap.stanford.edu/ogb/data/nodeproppred/arxiv.zip"
          ],
          "license": "ODC-BY"
        }
      ],
      "runtime": "小图教学模式 CPU 约 10 分钟；全量建议 GPU",
      "memory": "全量约 8 GB",
      "slow": true
    },
    {
      "id": "gnn_graph_classification",
      "chapter": "07_gnn",
      "order": 16,
      "title": "案例 16：OGBG-MolHIV 图分类——图同构网络与图级读出",
      "notebook": "案例分析/07_gnn/02_graph_classification_gin.ipynb",
      "source_rst": [
        "7_GNN/7_1_message_passing.rst",
        "7_GNN/7_4_classic_models.rst"
      ],
      "knowledge_points": [
        "图级任务",
        "多重集合聚合",
        "GIN",
        "求和/均值/最大值读出",
        "分子图划分",
        "ROC-AUC",
        "无图结构基线"
      ],
      "datasets": [
        {
          "name": "OGBG-MolHIV",
          "landing_url": "https://ogb.stanford.edu/docs/graphprop/",
          "direct_urls": [
            "https://snap.stanford.edu/ogb/data/graphproppred/csv_mol_download/hiv.zip"
          ],
          "license": "MIT"
        }
      ],
      "runtime": "抽样模式 CPU 约 10–20 分钟；全量建议 GPU",
      "memory": "约 3–6 GB",
      "slow": true
    },
    {
      "id": "diffusion_ddpm",
      "chapter": "08_diffusion",
      "order": 17,
      "title": "案例 17：Fashion-MNIST 小型去噪扩散概率模型——从前向加噪到逐步生成",
      "notebook": "案例分析/08_diffusion/01_ddpm_fashion_mnist.ipynb",
      "source_rst": [
        "8_Diffusion/8_0_diffusion_foundations.rst",
        "8_Diffusion/8_1_ddpm.rst"
      ],
      "knowledge_points": [
        "生成模型与去噪器",
        "高斯前向扩散",
        "各时间步的加噪参数",
        "任意时间步解析采样",
        "反向后验",
        "ELBO",
        "噪声预测损失",
        "时间条件网络",
        "逐步采样"
      ],
      "datasets": [
        {
          "name": "Fashion-MNIST",
          "landing_url": "https://github.com/zalandoresearch/fashion-mnist",
          "direct_urls": [
            "https://storage.googleapis.com/tensorflow/tf-keras-datasets/train-images-idx3-ubyte.gz",
            "https://storage.googleapis.com/tensorflow/tf-keras-datasets/train-labels-idx1-ubyte.gz",
            "https://storage.googleapis.com/tensorflow/tf-keras-datasets/t10k-images-idx3-ubyte.gz",
            "https://storage.googleapis.com/tensorflow/tf-keras-datasets/t10k-labels-idx1-ubyte.gz"
          ],
          "license": "MIT"
        }
      ],
      "runtime": "演示模式 CPU 约 15 分钟；完整训练建议 GPU 1–2 小时",
      "memory": "GPU 约 3 GB",
      "slow": true
    },
    {
      "id": "diffusion_score_guidance",
      "chapter": "08_diffusion",
      "order": 18,
      "title": "案例 18：真实二维数据上的分数模型、随机微分方程、条件引导与 DDIM",
      "notebook": "案例分析/08_diffusion/02_score_sde_conditional_ddim.ipynb",
      "source_rst": [
        "8_Diffusion/8_2_score_sde.rst",
        "8_Diffusion/8_3_conditional_guidance.rst",
        "8_Diffusion/8_4_common_diffusion_models.rst"
      ],
      "knowledge_points": [
        "分数函数",
        "去噪分数匹配",
        "NCSN",
        "Langevin 动力学",
        "VP/VE SDE",
        "反向 SDE",
        "概率流 ODE",
        "类别条件",
        "分类器引导/CFG",
        "DDIM",
        "U-Net/LDM/DiT 边界"
      ],
      "datasets": [
        {
          "name": "Palmer Penguins",
          "landing_url": "https://allisonhorst.github.io/palmerpenguins/",
          "direct_urls": [
            "https://raw.githubusercontent.com/allisonhorst/palmerpenguins/main/inst/extdata/penguins.csv"
          ],
          "license": "CC0"
        },
        {
          "name": "Fashion-MNIST",
          "landing_url": "https://github.com/zalandoresearch/fashion-mnist",
          "direct_urls": [
            "https://storage.googleapis.com/tensorflow/tf-keras-datasets/train-images-idx3-ubyte.gz",
            "https://storage.googleapis.com/tensorflow/tf-keras-datasets/train-labels-idx1-ubyte.gz"
          ],
          "license": "MIT"
        }
      ],
      "runtime": "二维 Score 部分 CPU 约 5–10 分钟；条件图像扩展建议 GPU",
      "memory": "二维部分 < 1 GB",
      "slow": true
    }
  ]
}
