| 选课类别:专业任务 | 教学语言:双语 |
| 课程类别:专业选修课 | 开课单位:数学系 |
| 课程层次:本科 | 获得学分:4.0 |
(编辑的过程中遇到bug,目前未编辑完成。)
选课
容量54,选课人数79。超出25人,超出比1.46,不加课(因为机房限制)。属于是数学系选修课中比较难抢的那类。
上课
关于讲课可以看前人的评论,补充一下其他视角。
前几次理论课教室完全满人并且后面有人没有位置只能搬着凳子听,后续非quiz时间到课率最低时只有1/2。
lab课助教会一开始教大家装一些相关的东西,如anaconda。后面的课主要是在教大家各种函数的用法,并从编程的角度对课程的内容进一步解释。最后几周有几次lab课没有讲东西,供大家做project和答疑。
此外,我在期末周才发现,原来这门课是有张振老师在b站上的同款网课,搜南方科技大学大数据导论应该能搜到,并且录课质量很高、小节划分完善。(那我之前硬啃PPT费的时间谁给我补呀😭)不过这门课年年都变,还是不要只看几年前的视频来学。
知识体系
我曾把这门课所有PPT的合集用讲义形式打印成一个一本小册,后手绘了一下封面。以下就是本课程的目录。

可以看出本课可分为七大板块。作为引入的是数据预处理,接着就开始讲各种机器学习方法,包括有监督的分类 回归和无监督的聚类。而降维中既有无监督的,又有有监督的。深度学习自成一个板块。最后集成是把那些具体的学习器结合在一起的方法。
本学期讲述的顺序是数据预处理→回归→分类→集成→聚类→降维→深度学习,这和24版的课件并不一致。往年应该是把分类分成了一前一后两个章节,中间讲回归(应该是因为逻辑回归作为分类方法需要一些一般回归的动机所导致),并把深度学习的内容融入其他章节。而今年将深度学习放在最后单独讲。
参考书目
本课程的PPT很难说是根据哪本书的思路做出来的,可能是融会了各家。关于参考书目推荐,第一课的PPT里有一些列举,老师课mm上也详细介绍了不同书的侧重点。我的主观感受是:西瓜书在motivation的部分比较生动形象甚至可以拿来当小说看,但涉及到数学推导就写的不太清楚。本科推荐的另一本《数据科学导论》对各部分的介绍过于简略,也不太行。而更深的书,比如Understanding machine learning from theory to …中更深层的东西,比如PAC学习在本课中就没有涉及。比较符合本课程的书或许是统计学习方法,推导部分写的比较好特别是svm那里对偶问题是如何转化出来的写的比较明白。
推导
以下是部分个人认为相对重要的推导:
1.方差偏差分解
2.lasso和岭回归闭式解
3.Mle和有偏无偏
4.最小二乘有偏无偏
5.Bagging降方差
6.svm对偶问题和kkt
7.指数损失推adbst公式
8.内/间散度分解
9.em
10.反向传播四大公式
……(有点多,先写想到的)
Project
褒贬不一。本课程去年用了另一个线上平台,今年换成了这个,但效果都不尽人意。首先平时作业中有一些代码题,也就是某段代码挖掉一些函数或者参数,让大家完形填空。但我和另一位同学都出现了代码没问题,运行结果也正确,但最后被判错的情况。或许是因为平台严格限制了代码怎么写,以至于达到相同功能的不同方式都被判错。这个向老师和助教反馈了。
关于project另一位同学已经说的很详细了。代码完形填空尚可理解,是为了让代码能力差的同学学到一些函数的用法。但是写完代码之后,再一条一条回答问题的环节就有些莫名其妙。虽然题目设计者的出发点是让大家思考各地的用意,但是代码部分除了两个自由环节,其他地方大家都一模一样,做project会不会变成卷文案大赛呢?并且感觉这种主观性的问题不太好评分,以及如果真要写的好,那我感觉大部分人都比不过AI。
Bonus
倒数第二周就把正课讲完了。最后一周有一个可选的presentation任务,就是讲某些论文。老师会进行打分,最高分十分会被加到期末里面,加满为止不溢出。这一项满分相当于总评加3.5分。
我一开始在All you need和Position encoding这两篇文章里面纠结,最后讲了后者。Pre的时长大概15分钟,15张PPT,整个准备用时7~8个小时左右。讲完之后,下面同学或助教或老师会提出问题。
备考
鉴于去年有学长评论说“考法有一点怪,比较常规和基础的东西出小题,比较偏的知识点比如某算法的某一个变种反而出大题 ”,我便相对重视算法的底层原理和推导,花了几周时间把PPT里面的推导大致记住了。
然而战略上的失误是听同学和学长觉得不会考深度学习,虽然课上张老师说了可能会考,因此没有复习这部分。(虽然考场上除了解释梯度消失那里说不清楚之外,其他地方不学这部分也能现写出来。)这也说明本课程是动态变化的,明年选课的各位也不要按照今年的情况来复习!
虽然最终并没有考偏题难题。但注重推导的复习让我对这些算法的理解上升了一个档。
考试
或许是因为去年考的难导致部分人期末挂了,今年题目出的就非常基础。至少有70%的原题,具体如下,
1.判断题里关于f1分数的似乎不是原题。
2.选择题我记得都是原题。
3.简答题似乎之前作业和quiz都没有,为了防止大家都知道考什么从而overfitting地背诵那几点我就不在这里广而告之考什么了。但可以确定的是认真看熟PPT后可以轻松拿满。
4.大题中只有最后一个深度学习的不是原题。作业和quiz里没有深度学习的题,所以这可能是全卷唯一新颖的题。
然而即便是原题,我也在主成分上出了计算错误,并且对梯度消失的数学解释不够好,以及对某个度量指标的记忆有所偏差。大题比较关注细节,比如过程中对某矩阵的描述列正交写成正交的话是要被扣点小分的。不过倒也正常,毕竟出了这么多原题。
难度
如果对这门课的要求是,把作业同类题搞到会做,那这门课不是太难。但如果把目标改成深刻理解或者融会贯通,那确有难度,具体可以去看北美某学校的期末题目,有变化很大的变种或者直接新定义一种算法让你推导或者计算。同样很多作业题一开始做的时候是没有思路的,后面通过和AI对话能明白。
给分
本课程只有作业quiz和期末考试的分数公开,不公开原始总评。因为有数量未知bonus的加成,因此无法断定这门课是否调了分。总评离上一档还差1分,不知道是被四舍了还是五入了,因此无法判断是否会捞卡绩。但毕竟期末犯了些错,总评相对预期和其他课程已经满足了。
另外,这门课最早追溯到一篇早年毕业生的报告中,或许明年(或者后年)就是本课开课10周年。祝这门课能与时俱进,越开越好!
这门课可以对标计系的机器学习,因此也可以称为数学系机器学习 (如果想水选修学分,可以这两个都选,内容重合非常大) 对于数学系来说应该不是太困难,对计系可能需要一些数学功底
总体体验本身还行,不能说非常好,但起码比计系那个机器学习要好;老师讲课中规中矩,但是人很好,有 Quiz 会提前在课程群里说,不会突击;作业不多,但是有一些难度;作为数学系课程,Project 比计系的要好办;没有期中考试,最后期末考试是最值得吐槽的地方 (见下);给分上,我最后拿了 A,但总体给分也许不那么好
细说每个部分:
最后是资料分享:
大数据导论课程资料:链接
我们组的 Project 可参考:链接
数学系课程资料仓库:链接
惊闻出总评了过来评评。本人计算机系的,大二选的这门课,当时选这个课的主要想法是:
那么这门课修完之后,当时的初心完成了吗?
提供一个使用非正规技术手段获取的dp(不保真):92分 rank 23/52(44%),所以看上去这学期高分的很多,感觉给分比往年好一点
欸 这门课怎么也没人来评价……
如果你是计算机系的学生,那么我不建议你来选这门课程。
先讲一讲课程内容吧。这门课其实就是机器学习。机器学习其实就是给定一个数据集,有各种各样的方法去找到这个数据集内在的一些规律。比如说给定一个用户是否点击广告的数据集,里面有各种用户信息,以及他是否点击了广告。我们可以通过这个数据集训练一个模型去预测一个用户会不会点广告(没错这就是这个学期的其中一个project)。
课程内容还是比较硬的。数学味很重,课程中的有很大的比例都是在黑板上进行推导。而且这门课程涉及很多线性代数和概率论的内容。请注意,如果脑子里只剩下了概统和快忘光了的线代知识的话,是不足以听懂这门课的。
接下来讲讲分数吧:
15%的quiz,这个学期考了六次quiz,总体难度并不大,并且给分比较水,而且是开卷和open Internet.
30%的作业。作业比较难,作业有五次,作为计算机系的学生,没有ChatGPT根本写不出来作业。
20%的project。作为计算机系的学生,project比较水,使用python语言。可以1-2人组队。虽然课程会讲解机器学习这些算法的基本原理,但是project只管调库就行了。
35%的期末考试。期末考试是作业题精选集。总体来说不难,只要平时作业都弄懂了的话不会太头疼。但是需要注意考试也并不完全是作业题精选集,也有一些大题是作业题中没有的。
本寄系鼠鼠拿了一个A-,对于这门不太听得懂的课程来说也还算比较满意了
推荐数学系想接触机器学习、统计学习的同学来选这门课。
个人感觉想要认真学习、体会各个算法,学习下来是比较有困难的(但是单就这门课拿分而言不算很难)。机器学习的本科基础课程应该怎样定位?学生要学习哪些内容?各部分要掌握到什么程度?这在不同的学校都有不同的处理方法。张振老师这门课可以算“良”的入门课程。
课程之前显示需要学习过概率论和数理统计,实际上并不是完全需要。就像我在数理统计这门课的评价中所写,机器学习的统计基础其实并不算困难,核心就是概率论的基础加上统计中estimator的想法,剩余的是优化问题。对于优化的基础,之前的高代中已经学习过了Ordinary Least Square和Reyleigh Quotient,已经基本足够。更多的优化问题,比如SVM中转化限制、转化为对偶问题,这些张老师上课时都会具体讲解,难度不算很大,老师可以讲懂。个人印象最深刻的是讲EM算法时张老师用的一个Gaussian的例子,非常非常有意思!
课程最大的难度我认为在于如何评估自己已经成功学习了一种算法以及同时掌握机器学习众多繁杂的算法。这其中非常推荐大家和LLM对话来加深理解,包括提出一些需要帮忙提供更直观等理解的prompt,一些需要对比不同算法步骤核心的问题,以及比如需要详细确认一些算法的一些步骤的学习正确性。学习机器学习确实需要锻炼自己的学习能力。
这门课的课程资源也算南科大比较好的。今年(2025 Spring)张老师重新制作了全部的slides。2025 Spring的课程资源可以见github。
这门课的构成在syllabus中很清楚,2025 Spring有以下几个注意点:
关于考试的建议:最重要的是先过一遍作业,尤其是涉及到数学推导较多,以及一些数值计算的题目,考试很可能出原题。
最后,张振老师人非常和善,今年的Lab课助教hsp也非常好!
我的统计学习启蒙课。几乎覆盖了我一个学统计的学生四年能用到的所有主要算法。
存在超过5次quiz。quiz题会有一道难题,其余简单。
存在课程proj。内容主要为给定数据库做数据分析,利用这门课内学的内容。
每隔两周左右有hw,hw主要为理论推导,部分题目较难。
存在final,final较简单,需要认真做作业和quiz。
张老师上课节奏较快,有不会的及时打断他。