课程一:机器学习101
摘要
本课程概述现代英特尔 架构上的机器学习基础知识。 涵盖的主题包括:
• 综述可解决的问题的类型
• 了解构建模块
• 学习机器学习中构建模块的基础知识
• 探索关键算法
本课程结束时,学生将掌握以下方面的实践知识:
• 监督学习算法
• 关键概念,如:拟合不足和拟合过度、正则化及交叉验证
• 如何辨别要解决的问题的类型,选择正确的算法,调优参数以及模型验证
该课程安排为约 12 周的授课和练习。 每一周要求三小时完成。 练习在 Python* 中实现,因此尽管并非要求,但仍鼓励学生熟悉该语言(可以随本课程的进度学习)。
学习该课程的前提条件:
Python* 编程
微积分
线性代数
统计学
第一周
本周课程介绍数据科学基本工具集
Jupyter Notebook*:用于互动编码
NumPy、SciPy 和 pandas:用于数值计算
Matplotlib 和 seaborn:用于数据可视化
Scikit-learn:用于机器学习库。
您将在每一周的练习中使用这些工具。
第二周
本周课程介绍机器学习的基本概念和词汇
监督学习以及监督学习可如何被应用于回归和分类问题
K 最近邻算法 (KNN) 用于分类
第三周
本周课程综述核心模型生成原则
模型的拟合过度与拟合不足之区别
偏差-方差权衡
寻找最佳训练和测试数据集分割、交叉验证及模型复杂性对误差
用于监督学习的线性回归模型简介
第四周
本周课程建立在前几周讲授的概念之上
除此之外:
学习有关成本函数、正则化、特性选择和超参数的知识
理解较复杂的统计优化算法,如梯度下降,及其对线性回归的应用
第五周
本周课程讨论以下内容:
逻辑回归及其与线性回归之差别
用于分类误差的指标及这些指标的使用场合
第六周
在本周课程中,我们综述:
概率论基础及其对 Naïve Bayes(朴素贝叶斯)分类器的应用
不同类型的 Naïve Bayes(朴素贝叶斯)分类器以及如何使用此算法训练模型
第七周
本周课程涵盖:
支持向量机 (SVM)-- 一种用于问题分类的流行算法
学习支持向量机与逻辑回归之相似性的实例
如何计算支持向量机的成本函数
支持向量机中的正则化以及利用支持向量机获得非线性分类的一些贴士
第八周
本周课程继续学习高级监督学习算法课题,它涵盖:
决策树以及如何将决策树用于分类问题
如何辨认最佳分割以及决定分割的因素
决策树的强项和弱点
有助于连续值分类的回归树
第九周
本周课程接续第 8 周所学,讲授:
降低方差的 bootstrapping(引导)和 aggregating(聚集)的概念;(bootstrapping 和 aggregating 常合称为 bagging)
进一步降低 bagging 模型中所见相关性的随机森林 (Random Forest) 算法
第十周
本周学习有助于降低方差和偏差的 boosting 算法。
第十一周
在目前为止,本课程主要集中在监督学习算法。 本周,我们学习无监督学习算法,以及这些算法如何应用于聚类和降维问题。
第十二周
维度是指数据集内的特性数。 理论上,特性越多应意味着模型越好,但在实践中,并非如此。 特性过多可能导致虚假的相关性、噪音增多,性能降低。 本周将学习可用于实现降维的算法,例如:
主成分分析 (PCA)
多维尺度变换 (MDS)