| 选课类别:计划 | 教学类型:理论课 |
| 课程类别:本科计划内课程 | 开课单位:电子工程与信息科学系 |
| 课程层次:专业核心 | 学分:4.0 |
王杰老师的《机器学习》课程被评价为中科大西区最硬核的课程之一。老师备课认真,通过PPT与板书授课,涵盖了有监督学习、无监督学习和强化学习等多个重要模块。课程内容扎实,从线性回归到深度学习再到强化学习,帮助学生打下坚实的机器学习理论基础。此外,许多学生反映课程讲义详尽、出色,助力于独立学习。
这门课程的难度主要体现在前半部分的凸优化理论,需要学生对数学基础有较高要求,尤其是线性代数和数学分析。作业量大,涉及复杂的数学证明和编程任务。大作业通常要求手写算法,实用性强,但需要投入大量时间和精力。多位点评者指出作业和考题难度较高,但能够有效巩固课堂知识。
考试内容涵盖了课程的各个模块,题目灵活以检测学生的理解能力为主,设计得较为合理。虽然期中、期末考试题量大,但只要掌握讲义内容并认真完成作业,取得好成绩并非不可能。有评论指出,考试时可能存在时间紧张的情况,但王老师的考试设计注重授课目标而非背诵能力。此外,多位同学反映,课程给分慷慨,老师会根据实际情况做出调整。
优点方面,课程被认为是打好机器学习理论知识的良好途径,尤其适合大二、大三有数学基础的学生。许多毕业生和从业者认可其在研究实践中的重要性。缺点在于课程负担过重,解析和作业有时与课堂教学脱节。部分学生感到压力巨大,不太适合数学基础较弱的学生。
考虑到课程内容的深度和难度,对机器学习感兴趣且有扎实数学基础的学生,尤其是计划从事相关研究工作的学生,这门课值得选修。对于数学基础较薄弱的同学,可能需要权衡自己的时间精力与学业目标。
(补档)
暑假里考虑到要腆脸向王杰老师组投简历,就临时把评价隐藏了,完全自愿,牢骚发过也就删了。欢迎同学们选报王杰老师的机器学习,这是西区最硬核的课程之一。
你可能感兴趣的帖子(均摘自知乎):
你可能感兴趣的代码(均来自github):
你可能感兴趣的其他网站:
大三路人,大二结束的时候希望未来能够从事机器学习方面的研究。我在大三下学期自学看过课程的讲义(没有选课),能感觉到王老师是在努力将这门课讲明白,真的希望同学们入门机器学习领域的。大三秋季正是一些同学开始接触科研的时间,回想起来如果我大三上学期能够抓住选课机会,那么在完成机器学习方向的科研任务的时候会更加得心应手,而不是在一无所知的状态下浪费时间吧。无论是对机器学习方向有兴趣的同学,还是应数和统计方向的同学,强烈建议通过选这门课来打好自己的理论基础和实践能力。
我就从一个学习者的角度,抛开应试的成分谈谈课程的学习。先梳理一下课程的内容吧:
为人不识陈近南,做了英雄也枉然:
做AI方向不了解ML,即便门门4.3也是枉然!强推这门课作为入门选择。个人认为课程的导论部分非常考验讲课老师的功力,能看出老师对这个领域整体理解、动向关注和讲课能力。本课程这部分课件内容非常非常丰富。从人工智能的概述到机器学习总体分类,每一页的PPT都做得很精致,包含了大量的素材,几乎每一页都有恰到好处的配图,让人看着非常舒服。
弄梅骑竹嬉游日,门户初相识
有监督学习的基本任务是分类和回归。课程正式内容从线性回归和贝叶斯回归开始,用一套严谨的数学语言介绍了在线性回归和贝叶斯回归角度下回归问题的建模和求解。这一部分的数学推导比较基本,彻底理解是很有必要的。
咬定青山不放松,立根原在破岩中
从最基本的数学分析知识开始,到凸集和分离定理,再到凸函数和次微分,进入到凸优化的领域。这部分学起来可能比较枯燥痛苦,但学完会觉得学的很扎实,一步一个脚印。这部分的作业值得吹爆,认真做完一定很有收获!有很多数学分析、凸优化的标准内容,也有课上没有涉及但也很重要的点。可以看出老师和助教对凸优化的把握还是很老辣的。
千淘万漉虽辛苦,吹尽狂沙始到金
个人认为凸优化算法是这门课的第一个高潮!虽然凸优化上面安排的课时相比于数院和管院的优化类课程不算多,但是安排还是很紧凑的。之前我对凸优化有一定的了解,讲义里一个多月的时间从点集拓扑开到shrinkage-operator和ISTA,看完直呼过瘾。这部分的证明可能对于不是数学专业的同学来说比较难消化,可非常经典。特别是ISTA收敛性的证明,类似的思路在优化方向经常被用到,强烈建议好好理解。
春风得意马蹄疾,一日看尽长安花
越过了凸优化这座大山,课程的车速加快,集中介绍传统有监督学习的方法。贝叶斯分类器、决策树、逻辑回归、SGD和支持向量机等一一登场,逐渐迎来课程第二个高潮。由于课程安排循序渐进,在难度加大的情况下,这部分的内容并不是那么难上手,很多结论是建立在之前的内容上。同时,学习这一部分的内容时,不能迷失在数学推导里。这些机器学习方法很多是建立在实际问题上的,学习的同时要注意理解这些方法是怎么来的。要弄明白需要完成一件什么任务、有什么条件、问题是如何建模的;解决问题最原始的想法是什么、实施想法过程中遇到什么困境、如何解决这些困境。
柳暗花明又一村,千树万树梨花开
课程的又一高潮。在有监督学习的范围内,从传统的机器学习方法到深度学习方法。一般教科书对于卷积神经网络如何提取特征的描述非常模糊,这门课用一个具体的手写数字“7”识别的例子,真的把卷积神经网络学习特征模板的原理讲的清清楚楚。
长风破浪会有时,直挂云帆济沧海
强化学习是监督学习和无监督学习之外的一种新的机器学习范式。这部分用一个大白走迷宫的例子,深入浅出介绍强化学习的基本概念。课程主页上的大作业也是用强化学习方法训练一个玩Artari游戏的AI。
到了大三逐渐明白,上课应该关注的不仅仅是授课内容,在听课的过程中我们可以观察到老师的科研作风态度、研究关注的taste、课程逻辑把握和讲义的写作等方面,这些都值得我们用心学习。没有在现场听过王老师的机器学习课算是一种遗憾吧,下学期一定会补上。大三同学们可以大胆选课呀!
学这门课感觉像是喉咙被塞了两块大馒头,吐也吐不掉,咽也咽不下去,也不能怪馒头太大,只能怪喉咙太小。
期末考试题量巨大,考试时间三个半小时,难度倒没有想象中的那么高。只要把讲义看明白,定理证明背熟,作业题好好看看大概还是能考个不错的分数的罢。
这门课的内容给我的印象是:机器学习导论(介绍性的)+回归分析+凸优化+贝叶斯推断。作为数学系的大四老狗,在学这门课的时候对内容比较熟悉,对算法原理也比较了解,所以最后获得了一个相当高的分数。
先说一说我学这门课的收获。老师上课的时候对许多经典的模型的动机和原理都讲得比较透彻。对数学或者统计系的学生来说,学习这些内容有助于拓宽思维,知道自己所学的内容是如何应用到现实中的。对本专业的学生,可能这有助于理解、分析、解构、设计一些模型?
但是一学期学下来,我还是感觉这门课有许多不太令人满意的地方。比如作业的设置,感觉出了很多既花篇幅写证明,但实际上又十分显然或者无聊的题,这种题对绝大部分学生理解课上讲的原理的帮助极其有限,这导致作业非常冗长(不仅仅是多,做得我真的很烦,一边做一边骂)。
另外这门课大作业的难度,包括数据的选取与上课内容不太匹配(这个数据真的相当恶心,明明是回归问题,但是在选取几个属性画图比较的时候发现相关性非常弱),同时缺少一种循序渐进的过程(就像造车一样,应该先学会组装、造轮子、造车身零部件之后才能从头去造一整辆车)。
不仅如此,这门课在理论的丰富同时又有实践的缺失。作为非计算机系的同学,没有合适的例子告诉我们怎么写程序、怎么掉包、怎么拼接程序实在是有点遗憾。