威斯康辛大学《机器学习导论》2020秋季课程完结,课件、视频资源已开放

机器学习算法与Python实战

共 3140字,需浏览 7分钟

 ·

2020-12-27 05:16

↑↑↑点击上方蓝字,回复资料,10个G的惊喜


机器之心报道 编辑:蛋酱

对于机器学习领域的初学者来说,这会是很好的入门课程。目前,课程的笔记、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

加老胡微信,围观朋友圈

推荐阅读

pip 的高阶玩法

我爱线代,线代使我快乐

Python数据可视化,被Altair圈粉了

机器学习深度研究:特征选择中几个重要的统计学概念

浏览 42
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报