Skip to content

01. 基础数学与机器学习 ​

1. 必须掌握的数学 ​

  • 线性代数:向量、矩阵乘法、范数、内积、特征值;它们解释特征变换、相似度和参数空间。
  • 概率统计:条件概率、期望、方差、最大似然、贝叶斯;它们解释不确定性和损失函数。
  • 微积分:导数、梯度、链式法则;它们让优化器知道参数往哪个方向移动。
  • 信息论:熵、交叉熵、KL 散度;它们描述预测分布与目标分布的差异。
  • 优化:梯度下降、学习率、正则化、凸与非凸;它们决定训练是否稳定。

不必先证明所有定理,但要能解释“变量、目标、梯度、更新”四个词在一个训练循环中的位置。

2. 机器学习问题地图 ​

问题输入/标签常用模型指标
回归特征/连续值线性回归、树模型MAE、RMSE
分类特征/类别逻辑回归、GBDT、神经网络Precision、Recall、AUC
聚类只有特征K-Means、密度聚类轮廓系数、人工检查
排序query、item、偏好Learning to RankNDCG、MRR
生成条件/序列Transformer、扩散模型人工评估、任务指标

先建立不带神经网络的基线。基线能暴露数据泄漏、标签错误和业务指标不合理等问题。

3. 泛化与数据泄漏 ​

训练集、验证集和测试集必须按真实部署时间或用户边界切分。随机切分会让同一用户或同一文档的相似样本泄漏到测试集。模型记住训练集不等于理解;看训练损失下降、验证损失上升通常是过拟合信号。

常见防护:正则化、数据增广、早停、交叉验证、降低模型容量。生产指标要分桶查看,平均准确率可能掩盖少数类和长尾用户的失败。

4. 一个训练循环 ​

python
for x, y in loader:
    pred = model(x)
    loss = criterion(pred, y)
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()

loss 是优化目标,不一定等于业务目标。梯度异常、标签错位、归一化不一致和学习率过大都可能让训练失败。记录配置、数据版本、随机种子和指标,才能复现。

5. 学习任务 ​

  1. 用 scikit-learn 做一个逻辑回归基线,并画混淆矩阵。
  2. 制造一次数据泄漏,比较随机切分和按时间切分的差异。
  3. 用 NumPy 手写线性回归的一步梯度下降。

验收:能解释交叉熵和准确率的区别;能指出一个不该使用随机切分的场景;能从训练曲线提出一个可验证的假设。

评论

正在加载评论…