3个月机器学习学习规划

目标说明

这是一份面向 3 个月周期的机器学习学习规划,目标是在较短时间内完成数学基础补强、经典机器学习入门、深度学习入门,以及一个完整项目闭环,为后续继续学习 大模型、推荐系统、数据分析或 AI 工程打下基础。


一、3个月结束时要达到什么水平

  • 能说清楚机器学习的基本流程:数据准备、特征处理、模型训练、模型评估、上线与迭代。
  • 能独立使用 Python、numpy、pandas、matplotlib、scikit-learn 完成一个中小型机器学习项目。
  • 能理解监督学习、无监督学习、过拟合、欠拟合、交叉验证、常见评估指标等核心概念。
  • 能使用 PyTorch 搭建并训练一个基础神经网络模型。
  • 能完成 1 个机器学习综合项目,并输出过程文档、代码和复盘笔记。

二、学习原则

  • 以“能做出来”为主,不追求一开始把所有数学证明都吃透。
  • 每周保持“理论 + 代码 + 复盘”三个动作同时推进。
  • 优先掌握高频知识,不在冷门算法上投入过多时间。
  • 每学完一个主题,至少做一次小实验,避免只看不练。
  • 每 2 周做一次阶段复盘,及时调整节奏。

三、默认时间投入

时间假设

默认按“工作日每天 2 小时,周末每天 3 到 4 小时”设计,总计每周约 16 到 18 小时。
如果你实际时间更少,可以把每周内容延长;如果时间更多,可以把项目部分做深。

  • 周一到周五:理论学习 + 代码练习
  • 周六:项目实践或补练
  • 周日:复盘、整理笔记、查漏补缺

四、整体路线图

第1个月:基础能力 + 经典机器学习

  • 补数学中最常用的部分:线性代数、概率统计、微积分直觉、优化基础
  • 熟悉 Python 数据处理与可视化工具链
  • 学完经典机器学习中最核心的几个模型
  • 能用 scikit-learn 完成一个结构化数据项目

第2个月:模型理解 + 深度学习入门

  • 系统理解模型评估、调参、特征工程
  • 学习神经网络、反向传播、损失函数、优化器
  • 用 PyTorch 完成基础神经网络训练
  • 建立从“调用模型”到“理解训练过程”的认知

第3个月:综合项目 + 能力固化

  • 做一个端到端项目
  • 补齐项目中的薄弱环节
  • 完成复盘文档、代码整理与知识沉淀
  • 为后续进入 大模型基础原理 或更细方向做准备

五、12周详细安排

第1周:数学基础补强 1

  • 线性代数直觉:向量、矩阵、矩阵乘法、转置、逆矩阵
  • 概率统计基础:均值、方差、标准差、条件概率
  • Python 基础复习:函数、类、文件读写、虚拟环境
  • 本周产出:
  • 完成 10 到 15 个线性代数与概率基础练习
  • 用 numpy 实现向量和矩阵运算

第2周:数学基础补强 2 + 数据处理

  • 微积分直觉:导数、梯度、链式法则
  • 最优化基础:损失函数、梯度下降、学习率
  • numpy、pandas、matplotlib 基础使用
  • 数据清洗、缺失值处理、类别编码、标准化
  • 本周产出:
  • 处理一个公开表格数据集
  • 画出基本统计图和相关性分析图

第3周:机器学习总览 + 线性模型

  • 机器学习任务分类:监督学习、无监督学习、回归、分类
  • 线性回归、逻辑回归
  • 训练集、验证集、测试集
  • 过拟合、欠拟合、偏差与方差
  • 本周产出:
  • 用线性回归完成一个回归小实验
  • 用逻辑回归完成一个二分类小实验

第4周:树模型与模型评估

  • 决策树、随机森林、GBDT、XGBoost 的基本思想
  • 指标学习:accuracy、precision、recall、F1、ROC-AUC、MSE、MAE
  • 交叉验证、混淆矩阵、特征重要性
  • 本周产出:
  • 对比至少 3 个模型在同一数据集上的表现
  • 写一篇简短模型评估笔记

第5周:无监督学习与降维

  • 聚类:KMeans、层次聚类、DBSCAN
  • 降维:PCA、t-SNE 的作用与区别
  • 异常检测基础
  • 本周产出:
  • 对一个数据集完成聚类和可视化
  • 写清楚什么场景适合聚类,什么场景不适合

第6周:第1个月总结项目

  • 选一个结构化数据集做完整小项目
  • 流程包含:数据清洗、特征处理、建模、评估、结果解释
  • 本周产出:
  • 1 个完整 Notebook
  • 1 篇项目总结文档
  • 1 份“第1个月薄弱点清单”

第1个月验收标准

  • 能独立跑通一个 scikit-learn 项目
  • 能解释回归、分类、聚类的区别
  • 能看懂常见模型评估指标
  • 能说清楚为什么会过拟合

第7周:神经网络基础

  • 感知机、多层感知机、激活函数
  • 损失函数:交叉熵、均方误差
  • 反向传播的核心直觉
  • 初始化、Batch、Epoch、学习率
  • 本周产出:
  • 手写一个简单前向传播示意
  • 用 PyTorch 跑通第一个 MLP 分类任务

第8周:PyTorch 基础训练流程

  • Tensor、Dataset、DataLoader
  • 训练循环、验证循环
  • 优化器:SGD、Adam
  • 正则化、Dropout、BatchNorm 的作用
  • 本周产出:
  • 独立写一个标准 PyTorch 训练模板
  • 在一个小数据集上完成训练和验证

第9周:深度学习中的调参与泛化

  • 学习率调整
  • 模型容量与过拟合
  • 数据增强的基本思想
  • 训练曲线分析
  • 本周产出:
  • 做一组调参实验
  • 比较不同学习率和网络层数的效果

第10周:综合理解经典 ML 与 DL 的边界

  • 什么时候优先用传统机器学习
  • 什么时候优先上神经网络
  • 结构化数据、文本、图像任务的典型差异
  • 为最终项目选题并完成方案设计
  • 本周产出:
  • 确定最终项目题目
  • 写出项目计划、数据来源、指标和时间安排

第2个月验收标准

  • 能使用 PyTorch 写出基本训练代码
  • 能解释神经网络训练的核心流程
  • 能分析训练损失和验证损失的变化
  • 能区分传统机器学习和深度学习的适用场景

第11周:最终项目开发

  • 建议选题方向:
  • 房价预测、用户流失预测、金融风控评分
  • 新闻分类、情感分析
  • 手写数字识别、图像分类
  • 项目流程:
  • 数据获取
  • 数据预处理
  • 建模与调参
  • 评估与可视化
  • 本周产出:
  • 项目代码仓库
  • 实验记录
  • 中期复盘文档

第12周:项目收尾与知识固化

  • 补实验、补图表、补说明文档
  • 把项目过程整理成可复用模板
  • 输出总复盘:学到了什么、哪里还弱、下一步学什么
  • 本周产出:
  • 1 个完整项目成果
  • 1 篇 3 个月学习复盘
  • 1 份下一阶段学习路线

3个月最终验收标准

  • 有一份完整机器学习项目作品
  • 有一套自己能复用的训练与评估模板
  • 对经典机器学习和基础深度学习形成整体认知
  • 能继续进入更细方向学习而不再完全依赖别人带路

六、建议配套输出物

  • 每周 1 篇学习周报
  • 每周 1 个代码练习或小实验
  • 每月 1 个阶段项目
  • 3 个月结束后 1 个综合项目

七、推荐学习材料方向

数学与基础

  • 优先学习“够用版”数学,不要一开始钻纯理论证明
  • 重点理解矩阵运算、概率统计、导数与梯度
  • 可结合 大模型学习中的数学基础安排 作为数学训练参考

机器学习入门

  • 优先掌握 scikit-learn
  • 结合 零基础学机器学习 做入门补充
  • 做题不如做小项目,项目优先级更高

深度学习入门

  • 框架优先学 PyTorch
  • 先学训练流程,再逐步理解网络结构
  • 不必一开始就跳进复杂模型和大模型训练

八、学习中的常见误区

  • 只看课程,不写代码
  • 只记公式,不理解问题场景
  • 一开始就追求学完所有算法
  • 没有项目闭环,只停留在概念层
  • 对调参和模型评估投入不足

九、3个月结束后的下一步建议

如果你更偏工程落地

  • 继续学习特征工程、模型部署、MLOps
  • 学习接口封装、批处理、实验管理

如果你更偏算法深入

  • 深挖集成学习、特征选择、概率图模型
  • 补数学中的优化理论与统计学习方法

如果你更偏大模型方向

  • 转入 大模型基础原理
  • 学习 Transformer、Embedding、RAG、Agent
  • 先把机器学习方法论和训练流程理解清楚,再上大模型会更稳

十、执行建议

  • 第一天先把 Python 环境、Jupyter、numpy、pandas、scikit-learn、PyTorch 装好
  • 第一个周末不要急着追进度,先把环境和节奏跑顺
  • 每周固定一个时间做复盘,更新 updated 字段和任务完成度
  • 不要把计划写得太满,能连续执行 12 周比前 2 周冲得很猛更重要

十一、你接下来可以直接开始做的事

  • 建好 Python 学习环境
  • 准备一个专门的代码练习目录
  • 按 第1周执行计划 开始第 1 周学习
  • 每周末写一次学习周报
  • 第6周完成第一个完整小项目
  • 第12周完成最终项目与复盘

十二、后续可扩展文档