Skip to content

Data Science

Daily Dose of Data Science — Full Archive

作者:Avi Chawla(DailyDoseofDS.com)

Daily Dose of Data Science 全集中文译本。原书按「深度学习」与「经典机器学习」两大板块组织,涵盖学习范式、训练优化、模型压缩与部署、大语言模型,以及机器学习基础、统计、回归、决策树、降维、聚类、数据可视化等主题。专有名词首次出现括注英文原文,插图为手绘风格示意图(保留英文原图)。

全书已上线:「深度学习」6 节(1.1–1.6,23 篇)+「经典机器学习」18 节(2.1–2.18,106 篇),共 129 篇。

目录

深度学习

1.1 学习范式

  1. 迁移学习、微调、多任务学习(MTL)与联邦学习
  2. 联邦学习简介
  3. 构建多任务学习(MTL)模型
  4. 主动学习

1.2 运行时与内存优化

  1. 动量(momentum)
  2. 混合精度训练
  3. 梯度检查点(gradient checkpointing)
  4. 梯度累积(gradient accumulation)
  5. 多 GPU 训练(multi-GPU training)的 4 种策略

1.3 杂项

  1. 标签平滑(label smoothing)
  2. 焦点损失(focal loss)
  3. Dropout 究竟是如何工作的?
  4. Dropout 在卷积神经网络(CNN)中的问题
  5. 隐藏层和激活函数究竟在做什么
  6. 训练前打乱数据

1.4 模型压缩

  1. 用于模型压缩的知识蒸馏
  2. 激活剪枝

1.5 部署

  1. 从 Jupyter Notebook 部署 ML 模型
  2. 在生产环境中测试 ML 模型的 4 种方法
  3. 版本控制与模型注册表

1.6 大语言模型

  1. GPU 的显存都去哪儿了?
  2. 全量微调 vs. LoRA vs. RAG
  3. 5 种 LLM 微调技术

经典机器学习

2.1 机器学习基础

  1. 10 种 ML 算法的训练与推理时间复杂度
  2. 数据科学中最重要的 25 个数学定义
  3. 如何可靠地改进概率型多分类模型
  4. 你为改进模型所做的全部努力可能都白费了
  5. 16 种 ML 算法的损失函数
  6. 10 种最常见的损失函数
  7. 如何真正用好训练集、验证集和测试集
  8. 5 种交叉验证技术
  9. 交叉验证之后该做什么?
  10. 双下降 vs. 偏差-方差权衡

2.2 统计基础

  1. 极大似然估计(MLE)与期望最大化(EM)——有何区别?
  2. 置信区间与预测区间
  3. 为什么说 OLS 是无偏估计量?
  4. Bhattacharyya 距离
  5. 为什么更偏好马氏距离而非欧氏距离?
  6. 判定数据正态性的 11 种方法
  7. 概率与似然
  8. 数据科学中 11 种关键的概率分布
  9. 对连续概率分布的一种常见误解

2.3 特征定义、工程与选择

  1. 数据集中变量的 11 种类型
  2. 周期特征编码(cyclical feature encoding)
  3. 特征离散化(feature discretization)
  4. 分类数据的 7 种编码技术
  5. 打乱特征重要性(Shuffle Feature Importance)
  6. 用于特征选择的探针法(Probe Method)

2.4 回归

  1. 为什么使用均方误差(MSE)?
  2. sklearn 的线性回归没有超参数
  3. 泊松回归 vs. 线性回归
  4. 如何构建线性模型?
  5. 虚拟变量陷阱
  6. 直观评估线性回归的表现
  7. statsmodel 回归摘要
  8. 广义线性模型(GLM)
  9. 零膨胀回归
  10. Huber 回归

2.5 决策树与集成方法

  1. 将随机森林压缩为决策树
  2. 将决策树转换为矩阵运算
  3. 交互式地剪枝决策树
  4. 为什么决策树在训练后必须被仔细检查
  5. 决策树总是会过拟合!
  6. 随机森林中的袋外验证(OOB validation)
  7. 在大型数据集上训练随机森林
  8. AdaBoost 可视化指南

2.6 降维

  1. PCA 中「方差」的作用
  2. KernelPCA 与 PCA 的对比
  3. PCA 不是一种可视化技术
  4. t-SNE 与 SNE 的区别是什么?
  5. 如何避免被 t-SNE 投影误导?
  6. 用 GPU 加速 t-SNE
  7. 用 openTSNE 把 t-SNE 扩展到上百万数据点
  8. PCA 与 t-SNE 的对比

2.7 聚类

  1. 超越 KMeans:六类必知的聚类算法
  2. 用于聚类评估的内在度量
  3. Breathing KMeans 与 KMeans 的对比
  4. MiniBatchKMeans 是如何工作的?
  5. 用 Faiss 驱动的基于 ANN 的 KMeans
  6. KMeans 与高斯混合模型
  7. DBSCAN++:比 DBSCAN 更快且可扩展的替代方案
  8. HDBSCAN 与 DBSCAN 的对比

2.8 相关性分析

  1. 相关性不等于预测性
  2. 当心汇总统计量
  3. Pearson 相关只能衡量线性关联
  4. 有序分类数据的相关性

2.9 漂移

  1. 多元协变量偏移
  2. 使用代理标注来识别漂移

2.10 kNN

  1. 在不平衡数据集上使用 kNN
  2. 使用倒排文件索引进行近似最近邻搜索

2.11 核方法

  1. 为什么核技巧被称为「技巧」?
  2. RBF 核背后的数学

2.12 缺失数据

  1. 缺失值的三种类型
  2. MissForest 与 kNN 填补

2.13 陷阱与误解

  1. 随机划分何时对机器学习模型是致命的?
  2. 特征缩放并非总是必需的
  3. 关于对数变换的一个误解
  4. 特征缩放与标准化的真正目的
  5. L2 正则化不仅仅用于正则化

2.14 杂项

  1. 你的模型是否数据不足(data deficient)?
  2. 贝叶斯优化(Bayesian Optimization)
  3. 训练时与测试时数据增强(data augmentation)

2.15 数据分析

  1. 15 个 Pandas 与 Polars、SQL、PySpark 之间的对照翻译
  2. Pandas describe 方法的两个替代方案
  3. 使用 RAPIDS cuDF 借助 GPU 加速 Pandas
  4. 使用热力图进行缺失数据分析
  5. DataFrame 样式
  6. 8 款自动化 EDA 工具

2.16 数据可视化

  1. 数据科学中最重要的图
  2. QQ 图(分位数图)是如何创建的?
  3. 传统图的 8 种优雅替代方案
  4. 交互式控件
  5. 马赛克图
  6. 用内嵌坐标轴和标注丰富 matplotlib 图
  7. 让 matplotlib 图更专业
  8. 桑基图(Sankey diagram)
  9. 山脊图(ridgeline plot)
  10. 迷你图(sparkline)

2.17 SQL

  1. SQL 中的 GROUPING SETS、ROLLUP 和 CUBE
  2. 半连接、反连接和自然连接
  3. 谨慎使用 SQL 的 NOT IN

2.18 Python 面向对象

  1. getter 与 setter
  2. Python 中的描述符(descriptor)
  3. 20 个最常用的魔术方法(magic method)
  4. 使用 slots 构建内存高效的类对象
  5. 为什么我们在 PyTorch 中不直接调用 model.forward()?
  6. Python 缺少真正的 OOP 封装
  7. 关于 init() 的一个常见误解
  8. Python 中的函数重载

本站内容仅供学习交流,版权归原作者所有。