机器之心报道
编辑:蛋酱
对于机器学习领域的初学者来说,这会是很好的入门课程。目前,课程的笔记、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场黑客松等你来战。
点击阅读原文,选择你感兴趣的环节,立即报名。
© THE END
转载请联系本公众号获得授权
投稿或寻求报道:content@jiqizhixin.com