跳转至

1688794439

数据建模与分析

跨专业课程

课程学习内容

课程围绕李航的《统计学习方法》这本书进行讲解,主要内容为机器学习的经典理论。其中 2022-2023 春夏学期讲解了以下内容:

  • 监督学习
    • 感知机
    • k 近邻
    • 决策树
    • 逻辑斯蒂回归和最大熵模型
    • 支持向量机 SVM
    • 提升方法 Adaboost
  • 无监督学习
    • 聚类方法(包括层次聚类、k 均值聚类、谱聚类)
    • 奇异值分解 SVD
    • 主成分分析 PCA
    • 马尔科夫链蒙特卡洛法
  • 基于梯度的凸优化算法
  • 神经网络

其中,基于梯度的凸优化算法和神经网络为老师补充内容,考试不做要求,讲的不算深入,仅作了解。

值得一提的是,这门课课程知识是我们培养方案中的人工智能基础 / 人工智能引论的内容的子集,但是相比之下更能学到东西(迫真)。

先修要求

这门课是数院数应、统计、信计的专业选修,在培养方案上建议修读学期为大三春夏学期。课程中涉及的前置知识包括:

  • 线性代数 - 矩阵和矩阵对角化、求特征值
  • 微积分 / 数学分析 - 多元函数的极值、梯度、拉格朗日乘子法
  • 凸优化 - 梯度下降法、牛顿法、拉格朗日对偶问题
  • 概率论与数理统计 - 概率、最大似然估计、贝叶斯估计

虽然看上去需要很多的前置知识,但实际上笔者只有数学分析、线性代数和概率论的知识也足以应付这门课程。课程中涉及到的梯度下降、拉格朗日对偶问题在教材附录都已给出,老师也会进行讲解。

任课教师

这门课由郭正初老师一人开设。

郭老师本身是做机器学习理论的,非常熟悉这门课的内容。老师的语速比较快,基本上按照 PPT 讲,PPT 也基本上是书上的内容,因此完全看书也是可行的。老师虽然讲的快,但是很细致,会尽量把推导过程让大家听懂,也会订正一些书上的错误。2022-2023 春夏学期仅有一次五一节放假前的点名(据他所说不占分)。郭老师的给分不错,期末每年都放水(逃)。

课程教材

统计学习方法,李航

这是机器学习理论方面非常经典的书籍了,个人认为写的还是非常清晰的,兼具深度和广度。课程内容基本上和书一致,作业大部分来自书后习题。

分数构成

成绩组成:作业 20 + 读书报告 15 + 编程大作业 15 + 期末 50

  • 作业:基本上来自《统计学习方法》的课后题(偶尔会有老师自己补充的),网上能找到答案。但是答案有可能是错的,建议仔细甄别。23 年情况来看,只要交了并且不是太糟糕都会直接给满分。
  • 读书报告:给了三篇 paper,从中选一篇精读,用自己的语言组织整理,将文章的研究背景和主要结果概括出来并加以评论(不要直接翻译)。借助翻译软件,看懂论文还是问题不大的。最后只需要概括文章并加以讨论就可以了。
  • 编程大作业:这是今年新加的大作业,要求用 SVM+Adaboosting 算法实现邮政手写数字的识别(题目每年可能会变化),并完成实验报告。可以调 sklearn 的库,因此代码难度不大(比人工智能基础的实验简单)。
  • 期末:这门课的知识虽然比较难,但期末基本上只考察每部分最基础的内容,相当一部分来自书上例题和定理。同时考试的时候不能带计算器,因此需要复杂计算的例题和作业不会纳入考察。老师也抱怨自己的题不好出,希望大家不要再公开回忆卷(乐)。考前好好过一遍书,参考之前的回忆卷,相信你能取得一个好成绩。

学习建议

笔者的 GitHub 仓库

笔者在学长的推荐下,在大二下上了这门课,不得不说和大二上上的人工智能基础形成了鲜明对比。这门课我认为是能学到东西,而且体验不错的。只需要上课认真听课,如果遇到了不会的数学知识及时去了解即可。虽然老师语速快,但是讲的其实很慢很细致,在有人带着讲的情况下,听课的效率和质量还是好于完全自学看书的(更何况要是完全自学那选这门课干嘛 x

读书报告和编程作业都不会太难,早点开始,不然堆到后期,CS 的大二下可能会比较爆炸。期末考试如前文所说,好好看书即可,要知道基本的知识概念、除开难算的例题,其他的都要掌握,回忆卷也值得一看。