计算思维与数据科学导论
这门课学什么
这是第二门编程课,用 Python 给问题建模。内容包括优化、图、随机游走、蒙特卡洛模拟、统计、曲线拟合,以及聚类和分类入门。课程有讲座视频、幻灯片、代码和作业。
内容摘要
这门课是 MIT 计算机入门课的后半段。前半段 6.0001 教你写 Python,这门课教你用程序解决真实问题。主线是三类计算模型:优化模型、随机模拟模型和统计模型。
第 1–3 讲讲优化:背包问题、贪心算法、动态规划和图搜索。第 4–8 讲讲随机性:随机程序、随机游走、蒙特卡洛模拟,以及置信区间和标准误这些统计工具。第 9–15 讲讲怎样从数据中学习:曲线拟合、过拟合、聚类和分类,最后用 2 讲分析数据分析中常见的统计错误。
作业是 5 次 Python 编程习题,期末有 1 次开卷笔试。每讲配有幻灯片和示例代码。课程内容和 Guttag 的教材《Introduction to Computation and Programming Using Python》第 2 版逐章对应,可以对照阅读。
学完后,你能把一个模糊的问题写成可计算的模型,能写模拟程序估计概率,能做基础的回归、聚类和分类,并能看出一份数据分析里的统计错误。
讲课风格清楚、务实。每个概念都配一段能运行的代码,适合学完编程入门、还没正式学机器学习的学生。
为什么值得学
这是 MIT 从编程入门走向数据科学的标准桥梁课。Guttag 讲得清楚,重实用。
课程信息
- 学校
- 麻省理工(MIT)
- 课程号
- 6.0002
- 讲师
- 埃里克·格里姆森(Eric Grimson)、约翰·古塔格(John Guttag)、安娜·贝尔(Ana Bell)
- 学期
- Fall 2016
- 平台
- MIT OpenCourseWare
- 费用
- 免费
- 难度
- 入门
- 学时
- 15 讲
- 先修
- 学过 6.0001 或同等 Python 入门课。
- 材料
- 视频、讲义、幻灯片、作业、代码
- 许可证
- CC BY-NC-SA 4.0
课程大纲 · 共 15 节
大纲依据:Fall 2016 OCW Syllabus 内课程表(与播放列表 15 讲一致)(查看原始页面 ↗)
- 1导论与优化问题Introduction and Optimization Problems
说明计算模型的作用,用背包问题引出贪心算法。
- 2优化问题Optimization Problems
讲搜索树穷举和动态规划,比较它们和贪心算法的结果与开销。
- 3图模型Graph-theoretic Models
讲用图表示问题,用深度优先和广度优先搜索求最短路径。
- 4随机思维Stochastic Thinking
讲概率基础和随机程序,说明为什么要用模拟研究不确定性。
- 5随机游走Random Walks
用随机游走的例子,讲怎样设计和检验一个模拟程序。
- 6蒙特卡洛模拟Monte Carlo Simulation
讲大数定律,以及用随机抽样估计数值,例如估计圆周率。
- 7置信区间Confidence Intervals
讲正态分布、中心极限定理和置信区间的含义。
- 8抽样与标准误Sampling and Standard Error
讲只有一个样本时,怎样用标准误估计总体。
- 9理解实验数据Understanding Experimental Data
讲用线性回归拟合实验数据,并用决定系数 R² 评估拟合效果。
- 10理解实验数据(续)Understanding Experimental Data (cont.)
讲多项式拟合和过拟合,以及用交叉验证选择模型。
- 11机器学习导论Introduction to Machine Learning
讲特征和距离度量,以及监督学习与无监督学习的区别。
- 12聚类Clustering
讲层次聚类和 k 均值聚类,以及怎样评估聚类结果。
- 13分类Classification
讲 k 近邻和逻辑回归,以及准确率、敏感度、特异度这类评估指标。
- 14分类与统计陷阱Classification and Statistical Sins
继续讲分类器评估,再开始讲统计分析中的常见错误。
- 15统计陷阱与总结Statistical Sins and Wrap Up
讲误导性图表和样本偏差这类统计错误,并回顾全课。