机器之心报道
编辑:蛋酱
对于机器学习领域的初学者来说,这会是很好的入门课程。目前,课程的笔记、PPT 和视频正在陆续发布中。
2020 年就这么悄无声息地走完了,想必大多数人,尤其是在校学生唯一的感觉就是:「又是毫无学术进展的一年。」
别慌,只要马上开始学习,什么时候都不算晚。
近日,威斯康辛大学麦迪逊分校助理教授 Sebastian Raschka 在推特上宣布了威斯康辛大学《机器学习导论》2020 秋季课程的完结:「教授两个班级和 230 个学生是相当不错的体验,对于那些感兴趣的人,我整理了一页记录以供参考。」
课程笔记主页:https://sebastianraschka.com/resources/ml-lectures-1.html(持续更新中)
Sebastian Raschka 是威斯康星大学麦迪逊分校的统计学助理教授,致力于机器学习和深度学习研究。他最近的一些研究方法已应用于生物识别领域,解决面部图像隐私问题,其他的研究重点包括开发与机器学习中的模型评估、对抗攻击和 AutoML 有关方法和应用程序。他也是《Python 机器学习》一书的作者,曾被科技博客 Analytics Vidhya 评为 GitHub 上具影响力的数据科学家之一。
对想要学习这门课程的学生,Sebastian Raschka 教授的建议是:你至少要熟悉基本编程知识并完成了编程入门课程。
课程总共由七个部分组成:
第一部分:简介
L01:什么是机器学习
1.1 课程概述:「Stat 451:机器学习导论(FS 2020)」的简介
1.2 什么是机器学习:机器学习的定义,以及机器学习与编程的关系
1.3 机器学习的类别:讨论了机器学习的三大类,监督学习、无监督学习和强化学习
1.4 符号:介绍了将在本课程中使用的机器学习形式和符号
1.5 ML 应用:走向机器学习程序的主要步骤,以及机器学习组件的分类
1.6 ML 动力:关于学习机器学习的不同观点和动力
L02:最近邻算法
2.1 最近邻算法:介绍最近邻算法,概览最近邻算法的应用和最新进展
2.2 最近邻决策边界:包括 1 - 最近邻决策边界背后的概念,此外还列出了一些常见的距离度量
2.3 K - 最近邻算法:将 1 - 最近邻概念扩展到 k - 最近邻算法,进行分类和回归
2.4 K - 最近邻的 Big O:K - 最近邻简单实现的 Big O 运行时间复杂度
2.5 K - 最近邻的提升:总结一些提升 K - 最近邻计算性能和预测效率的常见技巧
2.6 Python 中的 K - 最近邻:利用 scikit-learn,在 Python 中使用 K - 最近邻。这节课中使用的 Jupyter 笔记本从这里获取:https://github.com/rasbt/stat451-machine-learning-fs20/blob/master/L02/code/02_knn_demo.ipynb
第二部分:计算基础
L03: (可选)Python 编程
3.1 Python 概述:这节课将讨论 Python 的用法,进行 C 和 Python 的快速演示(也许并不是很有吸引力)
3.2 Python 设置:演示如何在 MacOS 上使用 Miniconda 安装 Python,另外提供了有关 conda 软件包管理器的简短演示
3.3 运行 Python 代码:演示运行 Python 代码的不同方式,包括 REPL、IPython、.py 脚本和 Visual Studio Code
L04: Python 中的科学计算
4.1 NumPy 基础知识介绍
4.2 NumPy 数组的创建及索引
4.3 NumPy 数组的数学运算和通用函数
4.4 NumPy 的广播机制
4.5 NumPy 高级索引–内存视图和副本
4.6 NumPy 随机数生成器
4.7 重塑 NumPy 数组
4.8 NumPy 比较运算符和掩码
4.9 NumPy 线性代数基础
4.10 Matplotlib
L05: 使用 Scikit-Learn 进行机器学习
5.1 从表格文本文件读取数据集
5.2 基本数据处理
5.3 面向对象的编程和 Python 类
5.4 Scikit-Learn 简介
5.5 Scikit-Learn Transformer API
5.6 Scikit-Learn 管道
第三部分:基于树的方法
L06:决策树
6.1 决策树简介
6.2 递归算法和 Big-O
6.3 决策树的类型
6.4 分割标准
6.5 基尼系数 & 熵与误分类误差:阐释在 CART 决策树的信息增益方程式中,为什么要使用熵(或基尼)代替误分类误差作为杂质度量
6.6 改进和处理过拟合:将决策树的一些问题(例如过拟合)融合在一起并讨论改进方法,例如增益比、预剪枝和后剪枝
6.7 代码示例:如何使用 scikit-learn 训练和可视化决策树的快速演示
L07: 集成方法
7.1 集成方法简介:讨论了包括绝对多数投票法(majority voting)、套袋法(bagging)、随机森林(random forests)、堆栈(stacking)、梯度提升(gradient boosting)等最受欢迎、使用最广泛的机器学习方法。
7.2 绝对多数投票法:讨论最基本的模型集成之一「绝对多数投票」,通过示例解释为什么它比使用单个分类器更好
7.3 套袋法:介绍了偏差 - 方差权衡和分解,以了解套袋法的用途
7.4Boosting 和 AdaBoost:讨论 boosting 的概念,然后介绍了 AdaBoost,该方法将弱分类器(比如决策树桩)提升为强分类器
7.5 梯度提升:在 AdaBoost 使用权重作为训练示例来提升下一轮树的情况下,梯度提升使用损失的梯度来计算残差以适应序列中的下一棵树,视频中提到的论文地址:https://dl.acm.org/doi/pdf/10.1145/2939672.2939785
7.6 随机森林:讲解随机森林及其与套袋法之间的关系,以及为什么随机森林在实践中的效果优于套袋法
7.7 堆栈:介绍 Wolpert 堆栈算法,并展示如何在 mlxtend 和 scikit-learn 中使用堆栈分类器
第四部分:模型评估
模型评估分为五个小节:
L08:基础部分,欠拟合和过拟合
L09:重采样方法
L10:交叉验证
L11:统计测试和算法选择
L12:评估指标
在后续即将更新的课程中,Sebastian Raschka 将对「降维和无监督学习」、「贝叶斯学习」内容进一步介绍,课程资料也会更新,包括讲座视频、PPT 链接等。
待更新的内容包括:
第五章:降维和无监督学习
L13 - 功能选择
L14 - 特征提取
L15 - 聚类
第六章:贝叶斯学习
L16 - 贝叶斯方法简介
L17 - 贝叶斯最佳分类器
L18 - 朴素贝叶斯分类器
L19 - 贝叶斯网络
这些课程资料在 GitHub 平台也会同步更新,项目地址:https://github.com/rasbt/stat451-machine-learning-fs20
本周六,WAIC开发者·2020上海临港人工智能开发者大会将震撼来袭。
全球顶尖AI专家齐聚主论坛,解读智能化转型的技术之道。4场技术工作坊分享智慧城市、智能出行、华为开源生态与边缘智能引擎等话题,2场黑客松等你来战。
领取专属 10元无门槛券
私享最新 技术干货