选课类别:计划内与自由选修 | 教学类型:理论实验课 |
课程类别:本科计划内课程 | 开课单位:人工智能与数据科学学院 |
课程层次:专业核心 | 学分:4.0 |
《机器学习概论》在2024年秋季的课程内容有所更新,删除了贝叶斯和概率图,加入了强化学习(MDP、RL、Gaming),符合时代趋势,如“DeepSeek-R1展示了RL的强大能力”。课程广度大,涵盖丰富内容,适合作为入门课程,但部分同学反馈内容不够深入,多为“启发式”学习。课堂注重数学推导和概念讲解,有同学认为部分内容与大数据学院的其他课程重叠过多。
王翔和何向南老师的教学被普遍认为“深入浅出特别清晰”,细节周到,虽然信息密度不高,但课堂体验良好。老师在给分和调整分数方面展现了同情心,并为低分段同学提供了提升空间。有学生称“王老师和何老师是神”,助教团队也被广泛赞赏,表现出色,认真负责。
实验减少至4个,但有难度,部分被认为繁重而复杂,尤其是lab1,要求提前开始,包含较多实操内容和Python编程,可能对新手不友好。实验框架设计详细,评价标准清晰,但操作性要求较高。有评论指出作业偏理论且与考试联系不强,但有助于掌握概念。
考试难度适中,内容包括神经网络、MDP、Q-learning、线性回归等,一般为概念理解和推导实操。课程采用半开卷形式,考点多在课堂与作业中反映,尽管挑战不小,对认真学习的同学较友好。期末分数计算方式公正透明,给分慷慨,总评普遍偏高,令不少同学满意。
课程适合对机器学习有兴趣并愿意投入时间的学生,特别是大数据学院的同学。对数院背景的学生而言,虽然引入了数学元素,但可能不足以满足深入学习需求,建议结合其他课程(如西瓜书)自学。总体来说,课程对编程能力要求较高,数院同学、编程新手自选需谨慎。
本课程作为机器学习的入门课程,基础扎实且内容广泛,教师与助教团队水平高,给分宽松。适合对机器学习理论、应用均有兴趣的同学,但需为其广度和实验做好时间管理准备。对于想要进一步研究机器学习的学生,建议选择更高阶的后续课程或自学补充。
我于2023年修读这门课(连老师班), 这是当时的评课: https://icourse.club/course/19042/#review-83442。
2024年的课程内容相比往年删去了贝叶斯和概率图, 新增了强化学习(MDP, RL, Gaming)。目前来看是符合当前时代趋势的, 今年的o1,o3还有最近的DeepSeek-R1都展示了RL的强大能力, 感觉后面做Post-Training或者Alignment的同学最好还是多了解一些RL知识。
特别提醒: 今年课堂上没讲ELBO推导(变分推断),我们在课后补充了这一部分内容(考试没考),但是如果你将来要从事生成模型的研究,请务必认真学习这部分内容,以及保研面试时可能会考到这个…大家自行评估吧。
2024秋季我担任本课程编外助教, 负责lab1、lab3和lab4,相比往年,今年实验数量减少到4个(Linear Model, NN, Clustering & Dimension Reduction, RL) 。 我出的几个实验应该都不算太容易,而且初版都多少有点bug,这里特别感谢同学们及时提issue帮助修复。原本计划是要给每个实验做好分段测试的,可惜最后助教精力能力有限,只能给整个实验写一个评分脚本,给同学们做实验带来不便还请谅解。下面回答一些大家可能比较关心的问题:
我们的实验应该和同学们之前任何一门课的实验风格都不相同,刚开始同学们可能不太适应,不过坚持了一个学期, 后面同学们再接触pytorch和HuggingFace生态库以及作为可选项的wandb时才不会那么痛苦,希望同学们做完实验都能有所收获。
一个有趣的发现: 期末考试除了最后一题以外得分率最低的题是MDP和Q-learning那道题,看起来同学们考前都没怎么做lab4啊。
选课建议:
如果你是必修: 认真对待这门课, 对于大数据的同学来说,这门课绝对当得起“专业核心”这四个字。
如果你是选修: 请充分评估学习这门课需要花费的精力,理论和实验部分都不轻松。如果你想更理论一点, 请选择春季学期的大数据算法,如果你想要更多的code, 感觉科大还没有这种课(
后续学习建议:
我们实验框架的设计参考:https://github.com/addtt/variational-diffusion-models
大数据算法:大数据算法(丁虎) - USTC评课社区 (icourse.club)
深度学习导论:深度学习导论(王皓) - USTC评课社区 (icourse.club)(这门课似乎换老师了)
如果你和我当初一样遇到了多卡并行的debug困难,推荐选择:并行计算(孙经纬) - USTC评课社区 (icourse.club)(现在似乎改名了)
对于想做理论的同学,有一门不错的数学课:https://www.bilibili.com/video/BV1CK411W7Ep
推荐在这里选一门你感兴趣的课学习HuggingFace生态:Hugging Face - Learn
最后,感谢各位同学对课程实验的积极反馈,如果今后有什么学习科研上的问题也欢迎与我交流!
作业表述有点迷惑,难道只有我一个人看不懂题目想让我干什么吗┭┮﹏┭┮
另外反向传播不就一个链式法则的事情吗,感觉这辈子只会在上课和作业里手算😅 有必要讲这么久吗?我已经是人肉计算机的形状了
感觉不是一门适合数院宝宝体质的机器学习😭 我怎么只学到了一堆名词😭
其实讲的东西挺多的,这也导致了很多东西没有深究,只学到了一个朴素的想法,感觉很多都是启发式的。占个坑,出分细评一下
给分非常不错😋内容深度不是很大,导致像我摸一个学期也能拿个不错的成绩。以下先说说我Email给老师的一些建议:
这门课正如其名是概论,很多内容只是导论性质,导致虽然广度很大,但是很多内容我并没有真正学懂,很多启发式的内容对我来说只会留下一个这样做确实挺好的想法而已。既然只是导论性质的课的话,我认为还可以再增加一些内容,这几天看到了交大的ML课程CS420 ML,感觉真包含机器学习概论。唉,学完导论性质的课后,发现对某块内容有点兴趣,看看中科大的课程库,结果发现查无此课,这是何等悲哀😭
提供一点书面作业参考,一些比较困难的作业题可以找找这里有没有CS229/Problem Set Solutions/ps1-sol.pdf at master · kumi123/CS229
半开卷好啊
自己算的总评没法及格, 被捞到2.7了, 大四还要啥自行车
王老师何老师助教是我爹orz
按照公式算是73.1总评80 ???????
已经被管院给分PUA的菜鸡不敢相信这个世界上会有这样的给分(;><;)
自报家门:大四管统摆烂人(python零基础)(但是数学不好hh)水专选学分
关于课程:
选课的初衷就是水学分但是意外地学到了很多东西
关于老师&助教:
wx老师的数学推导深入浅出特别清晰,hxn老师讲的计算机相关内容(虽然可能是因为没有学过前序课程有不少听不太懂)但是也学得到东西;助教水平很高&炒鸡认真负责
关于作业:
(因为老师&助教水平很高所以)作业&实验都很有挑战性,从零开始配环境学python无数次想退课(x),但是真的有收获
关于考试&给分:
考试感觉还是有难度的,题量比较大,比较数学(不知道是因为真的有难度还是我大四太摆烂没好好学习)
(不过大多数PPT上都有&上课讲过&作业练习过,只要好好听课做作业应该是问题不大?)
按照平时50%+期末50%算出来的是73.1
总评80(这不是给分好那什么是给分好啊啊啊啊啊)
(怎么大四摆烂学的课比大二的时候认认真真学习的专业课分还要高,这个世界上竟然会有这样的给分)
总结:符合我对信智学部课程的所有美好想象
数院大四概统人表示,这学期上这个课写作业写代码次次写破防,现在复习更破防,ppt信息密度低的离谱,但看回放感觉听课体验也许还行,给个8分观望,考试要是跟作业一样逆天我就直接开喷了。
以及正在准备cheatpaper,然而并不知道往上写什么…
我只是想混个专业选修学分好让我毕业😫
考试后更新:难度还行。神经网络相关的有三道题,基本上把能考到的点都给考了(第一题单层网络算几个梯度、第三题多层算一个很简单的反向传播、第四题softmax还是算几个梯度);第二题是Markov决策和强化学习;第五题是线性回归,作业题改编;第六题是K-means聚类的核方法的应用,第一小问构造个高斯核,第二问其实我没太看懂要我干什么,可能是在问核化时把什么东西换成核函数?感觉和第一小问没啥关系。
比较难的EM、集成学习、KL散度和变分推断都没考,唯一的槽点就是好多地方都用了这个矩阵求导公式:
这是我cheatpaper上唯一用到的东西。
最后,依然不推荐概统人选修这门课…整门课给我的感觉是上课开开心心划过,结果作业逼着我又花大量时间查资料,那我为什么要选课,看看西瓜书自学就好了。
“在王翔老师的强烈要求下,低分段同学的分数有了明显的提高,高分段同学的分数保持不变。”
伟大,无需多言。
数院大四人,国庆期间赶来评课。
目前来讲王老师授课还是非常清楚的,授课内容也很丰富,课件也非常清晰。
内容和难度方面,数院的同学如果学过回归分析以及运筹学的话理解起来会轻松一些。如果是大三刚开始接触数理统计的同学可能会稍微感觉有一点难。(这里吐槽一下数院概统方向的培养方案,如果说不提前修课完全按照培养方案走的话大三上几乎选不了什么课,因为如果只学过概率论没有学过数理统计的话刚开始上手回归分析或者机器学习都会有一定程度的不适应,可能选陈士祥老师的运筹学刚开始的时候上手会舒服一些)
本课程的几位助教也是非常负责任,和同学的沟通做的非常好,充分考虑了同学们的需求。
不过这个第一次上机作业是真的难。对于数院的同学(特别是像我这种Python编程水平很低的同学)还是有较高的挑战性的。另一个角度来看这也是数院希望走统计方向的同学锻炼coding能力的一次机会。
数院摆烂人,几乎没有去上课全靠回放续命
这门课的内容基本上是各个方面都有涉及,但是并不深入,适合作为方向入门。
作业次数不多(4次),但是每次作业时间较长(>15h),时间是需要有所协调。
给分可以说特别好,书面作业avg=99.75,实验avg=97,期末77总评奶到了92,王老师和何老师是神()
本学期作业和实验的个人版本以及课程ppt放在https://github.com/Intelligent114/ML24了,有需要可以参考。
非常硬核的一门课,硬核到我这样的计算机小白有点高攀不起。
王老师是我见过讲课最清楚最有条理的老师之一,上课跟着走一遍,听懂不成问题。收获非常大的一门课,但是作业和实验真的写到怀疑人生了,计科人被各种数学折磨得痛不欲生,代码更是一调就是好几天(除了10分钟就能写完的lab2的神经网络+鸢尾花dataset)
PPT基本是中英双语的,细节非常到位但是自学还是有点小困难。复习过程非常痛苦,18周的课全部上满,量大管饱。但是因为没有任何往年卷子参考(这门课的风格据说都和往年很不一样),只能硬瞪作业题上的各种奇妙数学小公式(数学还是太高雅了)
无点名无小测有回放。考试是半开卷。
本学期课程大纲:
真的复习到破防了,,,希望考试题不会像作业一样离谱。
考完啦,总体感觉还是偏概念理解和推导实操,应该还算友好(?),考试有6个大题,分别是神经网络,MDP和Q-learning算法,(第三题忘了,好像也是推公式),反向传播计算,线性回归梯度计算,kernel方法的运用。除了最后一题其他都还算基础,而且第五题的线性回归和作业一的第4题相似度还蛮高的,大概是是作业的一个简单浅显一点的版本
作业实验都挺多的,还是得早点做实验写作业啊
PPT有点混乱,但是老师很耐心,讲的很好,作业比较难,实验的难度不平均,但是确实能学到东西
老师和助教都很善解人意替大家考虑,最后给分也超级好,谢谢你们,谢谢😭
咱就说能不能别一直手算梯度了,在这样要退课了捏