人工智能与机器学习基础(专业核心)
学分4.0
Presented by Wanglulu:wanglulu114514@mail.ustc.edu.cn
一、课程定位
AIML 是为大二学生开设的专业基础课,主要讲授经典机器学习算法及其数学原理。2025秋的课程不设期末考试,所有成绩均来源于实验(Lab)、大作业(Final Project)和书面作业(HW)(当然后续有没有考试我也不知道)。课程可高替机器学习A,但是以后机器学习A应该不开了所以大家就上这门课就行。由于是AI专业的第一门专业核心课以及很多外院同学修读,班级会同时有大二与大三学生,竞争非常激烈,对自驱力和工程实践能力要求较高。课程目标是通过课堂理论学习与课外编程实践,使学生掌握从数据预处理、模型实现到结果分析的全流程。课程讲授内容包括但不限于:线性回归、逻辑回归、正则化、神经网络基础、聚类、EM算法、PCA降维、决策树、集成学习、SVM、强化学习。
据小道消息,2026年秋季本门课程将由王翔老师、张岸老师、王杰老师和冯文杰老师各自开设一个课堂并组成课程组,统一作业、实验和考核标准。
二、教学内容
课程由课堂讲授与课外实验两部分并行组成。
1. 课堂讲授
主要讲解机器学习算法的数学推导,内容覆盖:
线性模型(线性回归、逻辑回归)与梯度下降优化;
高斯混合模型(GMM)与期望最大化(EM)算法;
决策树及其分裂准则(信息增益、基尼系数);
支持向量机(SVM)、核函数与对偶问题;
搜索与博弈问题中简单的优化思想。
神经网络相关内容在课堂上涉及较少,但实验和大作业中会大量用到,需自行补充学习。
2. 实验任务
全部实验需用 Python 完成,代码部分要求在给定框架下补全,并撰写实验报告。实验主题将与课堂强相关并弱相关。强相关是指内容强相关,弱相关是指在课堂上好好学并不能保证能写出来代码。同时,实验可能会涉及大量需要自学的部分,请同学们做好投入大量时间的准备,尤其是对python不熟悉的同学。
2025秋季学期的实验组成如下:
Lab1:线性回归与分类器 数据预处理、回归模型的前向与反向传播、解析解推导、手写 sigmoid 函数、逻辑回归分类。选做内容包括特征工程与正则化。
Lab2:PCA 降维与 GMM 聚类 对 MNIST 数据集进行主成分分析与 GMM 聚类,需实现主成分提取、责任矩阵计算与 EM 更新步骤,并设计聚类评估指标。
Lab3:决策树、集成学习与 SVM 分为三个子实验:
决策树:信息熵计算、结点分裂逻辑与树的构建;
集成学习:实现 voting、bagging(Bootstrap 采样)和 AdaBoost(SAMME 算法),选做 GBDT 与 Stacking;
SVM:手写核函数、编写网格搜索代码以调参。
Final Project:强化学习五子棋
WarmUp:强化学习路径搜索和策略搜索,实现Q-learning和ε-greedy策略等
基于 Actor-Critic 等强化学习方法训练一个五子棋智能体,需要完成神经网络搭建、奖励设计、自我博弈训练,最终与官方 baseline 模型对弈评估胜率。
3. 书面作业(HW1~HW3)
作业以数学证明和代数推导为主,例如反向传播中的跨层梯度计算。题目往往需要自学课上未讲到的内容,计算量较大。做作业的时候你可能会遇到大量的概统、随机过程证明和人肉计算机题目,这是机器学习理论中不得不品的一环,请同学们做好心理准备。同时,单纯使用大模型做题并不能让你获得一个好的分数,这点还请同学们注意。
三、所需的前置知识
请在开课前或课程早期完成以下准备,以降低实验完成难度。
Python 编程
基本语法:变量、控制流、函数、类;
数据处理库:numpy(矩阵运算、广播)、pandas、matplotlib;
建议熟悉 Jupyter Notebook 或 VS Code 的开发环境。
数学基础
线性代数:矩阵乘法、特征值与特征向量、矩阵微分;
概率论与数理统计:条件概率、高斯分布、期望最大化思想;
数学分析:偏导数、梯度、链式法则。
如有可能的话,提前学习一些随机过程知识。
神经网络基础知识(自学为主)
前馈神经网络(FNN)结构及反向传播机制;
卷积神经网络(CNN)原理;
残差连接(ResNet)的结构与作用;
深度学习框架:推荐 PyTorch,掌握张量操作、模型定义、训练循环等基本用法。
工具与环境
建议配备支持 CUDA 的独立显卡,可大幅缩短模型训练时间;
若本地无 GPU,可提前注册并熟悉云端算力平台(如 正在开发的107:https://107.ustc.edu.cn/dashboard),注意先在本地验证代码再上传运行,并及时下载训练输出与模型参数;
建议配置可访问国际互联网的网络环境(科学上网),便于查阅技术文档和使用部分 AI 工具。
四、如何获取更高的分数
本课程所有分数均来源于实验报告、大作业效果以及作业完成情况,以下建议直接关联评分要点。
完成消融实验并体现在报告中 消融实验即控制变量法:固定其他条件,每次只改动一个超参数(如学习率、正则化系数、网络层数),记录并对比实验结果。报告中需包含清晰的对比图表与分析说明,这是评估“思考量”的关键依据。仅列出最终结果而不展示调参过程和中间输出,会被视为分析不充分,导致大量失分。
保证模型效果,不要低估效果分占比 虽然老师和助教可能会(一定会)表示“结果指标仅占小部分,大家要把重心放在报告和思考上”,但实际评分中对效果有硬性要求。例如 Final Project 中,若模型对弈胜率未能超过 baseline,会直接扣除可观的总评分数(2025秋为6.25分)。因此,在完成实验时,应将提升客观指标(准确率、胜率、聚类评分等)作为首要目标,再以此为基础撰写分析报告。当然这并不意味着报告不重要,相反,报告很重要。一定要认真写报告。
合理使用 AI 工具,以理解代码为导向 AI 辅助编程在本课程中普遍且必要,但应避免直接将生成代码作为最终提交内容。建议按以下流程操作:
阅读实验要求与框架代码;
使用 AI 生成基线解决方案;
逐段分析代码,理解每一部分对数据和模型的操作;
根据分析结果自行调整模型、超参数或特征;
对优化后的结果进行归因分析,撰写报告。 切勿直接复制 AI 的分析文本,报告内容需体现自己的实验决策与推理过程。
认真准备实验验收环节 不同实验的验收形式可能不同(如现场问答、限时选择题),可能考查实验细节、公式含义和算法实现原理。每完成一个实验,应确保能脱离代码解释以下内容:所用模型的数学表达、关键步骤的算法流程、超参数的作用以及实验设计的理由。
加强神经网络与框架自学 课堂对神经网络涉及有限,而 Lab 和 Final Project 几乎全部依赖神经网络与 PyTorch/TensorFlow。最晚在 Lab3 结束前,需掌握如何搭建并训练一个完整的网络模型,包括数据加载、损失函数选择、优化器配置与训练循环。遇到未知领域时,直接查阅官方文档、技术博客或学术论文,不要等待课堂教学。
时间管理与硬件准备
单个实验从上手到完成报告可能耗费数十小时,务必在 DDL 前预留充足时间。
书面作业证明题计算量大,不要与实验截止时间重叠规划。
若使用云 GPU,提前测试环境连通性和数据存储流程,避免训练中断导致数据丢失。
考试
如果有考试,建议至少提前两周开始复习。根据25秋的作业题以及机器学习A的风评来看,本门课程如果组织考试考试将会是腥风血雨。
如果明确有考试,意味着实验分数的比重会相应降低。
五、如何更有效地学习
从数学原理出发,通过实现加以验证 每学习一个模型,先理清其目标函数、优化方法和更新公式,再用代码复现。对照推导检查代码的输出,例如验证 GMM 的 E 步与 M 步更新后似然是否上升,可加深对算法本质的理解。
建立经典方法与深度学习的关联 课程覆盖大量传统机器学习算法,它们所体现的偏差-方差权衡、集成思想、核方法等在深度学习中仍然有效。在学完 SVM 后思考其与感知机的联系,或对比 GBDT 与残差网络中的残差学习,有助于构建完整的知识体系。
以研究性思维对待实验 不仅完成必做任务,还可自主提出扩展问题,如“更换正则化方法后模型性能如何变化”、“假设是否会在特定分布下失效”。在报告中展示这些探索,既能提高分数,也能训练发现与解决问题的能力。
将 AI 定位为效率工具而非替代品 用 AI 解释报错、生成样板代码或总结论文要点,但保持主动学习:亲自写出关键函数、手算简单梯度、独立绘制损失曲线。这样既能借助工具加快进度,又不会因过度依赖而架空自身技能。
六、焚诀
如果想要更加充实的报告,建议尽量做附加实验,这能让你的报告内容比别人多一大截。有些时候我们会发现没有附加实验,这个时候,走不通的路就用拳头来打开。如果你做了附加实验,那么你的报告应当体现如下内容:为什么会想到这样做?这样做有没有可供支撑的数学原理?这样做以后结果如何?为什么?有什么启示?
如果想要更好的实验效果,建议咨询大模型。大模型的世界知识一定是比现阶段绝大多数同学要丰富的,问大模型如何提高效果虽然不一定能保证提高效果,但一定能打开思路。机器学习是一个非常广的领域,通过大模型你可以接触到比课堂上多得多的东西。当然,大模型生成的信息并不完全准确,这个时候可能需要使用常规途径检索信息。
要体谅助教,要和助教保持良好的关系。助教同学需要承担巨大的压力并完成实验从设计、评估、验收、讲解和总结的全流程,而且经常由于经验不足和神秘的优秀率限制而身败名裂。可以对得分产生不满的情绪,但是不要和助教大打出手或者随便把助教挂在评课社区。
这门课的优秀率绝对满足不了同学们的需求。2025秋的优秀率有55%+,但依然满足不了同学们的需要。据不完全统计,修读这门课的同学包括但不限于大二AI、大三DS、大三数院部分同学、大二大三CS部分同学等。请同学们做好心理准备。拿不到高分≠不行,来上这门课的同学可以说都很优秀,不要因为这一门课的成绩产生自我怀疑。
有兴趣可以看看评课社区,你会发现很多有用的资料。这是25秋的课程仓库,有时间的同学可以参考:https://github.com/ChangshuoShen/USTC-AI3002-25fall
最后更新于
