数据科学 : 以 Python 实现监督式机器学习

使用 Python 和 Sci-Kit Learn 实现经典机器学习算法的完整指南

課程介紹:English 繁中

从这 6 小时的课程,你会学到

  • 理解和以 Python 实现 K 最近邻(KNN,K-Nearest Neighbors )
  • 了解 KNN 的局限性
  • 采用 KNN 解决一些二元和多类( multiclass )分类问题
  •  理解以 Python 实现 Naive Bayes 和 General Bayes 分类器
  • 了解贝叶斯分类器的局限性
  • 理解并以 Python 实现决策树( Decision Tree )
  • 理解并以 Python 实现感知器 ( Perceptron )
  • 了解感知器( Perceptron )的局限性
  • 了解超参数( hyperparameters )以及如何应用交叉验证( cross-validation )
  • 了解特征提取( feature extraction )和特征选择( feature selection )的概念
  • 了解经典机器学习方法与深度学习之间的优缺点
  • 使用 Sci-Kit Learn
  • 实施机器学习 Web 服务

要求

  • 具备 Python、Numpy 和 Pandas 经验
  • 机率和统计(高斯分布)
  • 强大的编写算法的能力

课程说明

近年来,我们看到 AI ( Artificial Intelligence,人工智能 )以及机器学习的复苏。

机器学习导致了一些惊人的结果,如能够分析医学图像并预测与人类专家相同的疾病。

Google 的 AlphaGo 计划能够通过深度强化学习在战略游戏中击败世界冠军。

机器学习甚至被用于自动驾驶汽车的编程,这将永远改变汽车行业。 想像一下,通过消除人为错误的因素,可以大大减少车祸的世界。

Google 有名的宣布,他们现在是“机器学习第一”,这意味著机器学习现在将得到更多的关注,这就是未来几年将推动创新的原因。 它嵌入到各种不同的产品中。

机器学习在很多行业都有应用,如金融、在线广告、医药和机器人。

这是一个广泛适用的工具,无论你在哪个行业,都将使你受益匪浅,而且一旦你获得了良好的发展,它也将为你创造大量的就业机会。

机器学习也引发了一些哲学问题。我们在建造一台可以思考的机器吗?意识到什么意味著什么?有一天计算机会接管世界吗?

在这个课程中,我们首先讨论K-最近邻( KNN )算法。它非常简单直观,它是一种很好的第一种学习分类算法。在我们讨论概念并在代码中实现它之后,我们将看看 KNN 可能会失败的一些方法。

了解我们所看到的每种算法的优点和缺点非常重要。

接下来我们将看看朴素贝叶斯分类器( Naive Bayes classifier )和普通贝叶斯分类器( General Bayes classifier )。这是一个非常有趣的算法,因为它以机率为基础。

我们将看到如何将贝叶斯分类器转换为线性和二次( quadratic )分类器来加速我们的计算。

接下来我们来看看著名的决策树算法。 这是我们要学习的算法中最复杂的一部分,你看到的大多数课程都不会实现它们。 我们会这样做,因为我相信实践是很好的做法。

我们最后要看的一个算法是感知器( Perceptron )算法。 感知器是神经网络和深度学习的祖先,因此它们对于机器学习环境中的研究非常重要。

我们已经研究了这些算法,我们将转向更实用的机器学习主题。 超参数、交叉验证、特征提取、特征选择和多类别分类。

我们将与深度学习进行比较,以了解每种方法的优缺点。

我们将讨论 Sci-Kit Learn 程序库( library ),因为即使实现自己的算法是有趣且富有教育意义的,你应该在实际工作中使用经过优化且经过充分测试的代码。

我们将通过编写运行机器学习模型并进行预测的 Web 服务,以非常实用的现实世界的例子来解决问题。 这是真正于公司实行并从中获利的服务。

本课程的所有材料都是免费的。 你可以在Windows、Linux 或 Mac 上使用简单命令下载并安装Python、Numpy 和 Scipy。

本课程著重于“如何建构和理解”,而不仅仅是“如何使用”。 读完一些文档后,任何人都可以在 15 分钟内学会使用 API。 这不是关于“记住事实”,而是关于通过实验“亲眼看到”。 它会教你如何可视化模型内部发生的事情。 如果你不仅仅需要对机器学习模型进行肤浅的考察,本课程将为你提供帮助。

注意:

所有的课程中的代码都可以从我的github下载:

/ lazyprogrammer/ machine_learning_examples

在目录中:supervised_class

确保你总是用“ git pull ”,如此你总是拿到最新版本!

必要条件 / 假设你已具备以下知识 :

  • 微积分
  • 机率 (连续与离散分布机率、联合机率、边际机率、条件机率、PDF、PMF、CDF、贝叶斯规则)
  • Python 编程 : if/else, loops, lists, dicts, sets
  • Numpy, Scipy, Matplotlib

提示(通过课程):

  • 以 2x 观看。
  • 拿手写笔记。 这将大大增加你记住消息的能力。
  • 写下方程。 如果你不这样做,我保证它看起来像乱码。
  • 在讨论板上提出许多问题。 越多越好!
  • 意识到大多数练习将需要几天或几周才能完成。
  • 自己编写代码,不要只是坐在那里看我写程序。

修课顺序

  • 查看讲座 “ What order should I take your courses in?” (可在我的任何课程的附录中找到,包括免费的 Numpy 课程)

目标受众

  • 希望将机器学习技术应用于他们的数据集的学生和专业人员
  • 希望将机器学习技术应用于现实世界问题的学生和专业人员
  • 任何想学习经典数据科学和机器学习算法的人
  • 任何正在寻找人工智能(AI)简介的人

讲师简介

Lazy Programmer Inc 数据科学家和大数据工程师

我是一名数据科学家、大数据工程师和全端软件工程师。

我有电脑工程的硕士,专长为机器学习和模式辨识。

我曾在网络广告和数字媒体企业担任过数据科学家和大数据工程师,围绕所谓的数据建构各种高流量的 web 服务。我曾经使用 Hadoop / Pig / MapReduce 创建新的大数据管道,也曾创建机器学习模型来预测点击率,使用线性回归、Bayesian Bandits 和协同过滤 ( collaborative filtering )创建新闻推荐系统,并使用A / B测试验证结果。

我曾在大学部与研究所教授数据科学、统计学、机器学习、算法、微积分、电脑图学和物理学,任职的学校如哥伦比亚大学、纽约大学、Hunter 学院和 The New School。

有多家企业已从我的 Web 编程专业知识中受益。我做所有的后端(服务器)、前端(HTML / JS / CSS)和运营/布署工作。 我使用的技术包含:Python、Ruby / Rails、PHP、Bootstrap、jQuery(Javascript)、Backbone 和  Angular。至于保存/数据库,我采用 MySQL、Postgres、Redis、MongoDB等。

英文字幕:有

  • 想要了解如何将英文字幕自动翻译成中文? 请参考这篇 How-To

课程网址   ♥找优惠折扣码?

Sponsored by Udemy

发表评论

Powered by WordPress.com.

Up ↑

%d 博主赞过: