弗兰克凯恩

什么是机器学习?简单地说,机器学习描述的是用真实世界的数据训练的计算机算法,以建立预测模型。

尽管机器学习是人工智能(AI)的一个分支,但它并不像看上去那么复杂。举个简单的例子,假设我们收集了100个人的身高和体重数据。我们称之为训练数据。我们可以在X轴上的测量高度和Y轴上的重量进行绘制我们收集的数据,如下所示。

机器学习,数据科学和深度学习与Python

最后更新了4月2021年

  • 111课
  • 初学者水平
4.6 (24,834)

完整的实践机器学习教程,具有数据科学,纹身流,人工智能和神经网络|弗兰克凯恩的尚多教育由弗兰克凯恩

探索课程

该图中的每个点代表给定人的高度和重量。简单的机器学习算法可以适合该数据。然后,我们可以使用那条线来预测赋予他们身高的新人体重。将其视为一个高中数学问题。一条线的一个等式是Y = mx + b,在那里直线的斜率是和吗b是y轴截距。机器学习算法叫做线性回归可以用来学习最好的价值吗b适合我们拥有的数据。在这种情况下,我们最终得到y = 2.75x + 16.5,这导致这一行:

现在我们已经知道了最适合我们的训练数据的直线,我们可以插入新的高度值X并产生权重的预测y。看看机器学习如何?

机器学习的类型

有不同类型的机器学习最适合不同类型的问题。他们通常分为两类:监督和无人监督 - 但有时我们也结合了两种。

监督机器学习

我们上面看到的线性回归就是一个例子监督式学习。这意味着我们的培训数据包含已知的,正确的答案,我们正在尝试预测。对于每个人进行线性回归模型培训,我们知道它们的身高。它被称为监督因为我们可以很容易地评估我们的模型有多好,当它被训练时,通过比较它与已知的正确答案。大多数机器学习算法都属于监督学习范畴,包括回归、决策树、XGBoost等。

在机器学习的世界里,我们试图预测的是标签。所以,我们说监督机器学习处理标记为培训数据。

无监督的机器学习

有时,我们正在尝试在我们拥有的数据中揭开不间断的模式。例如,描述一组文档的更广泛的主题是什么?我们可以根据他们的情节摘要和脚本如何分类电影?我们可能不知道提前的主题或电影类型是什么,但无监督的学习技巧可以揭示它们。这些未知属性称为潜在的特征。诸如k均值聚类、主成分分析、潜在狄利克雷分配和k近邻等技术可以用来揭示这些潜在特征。

由于我们无法提前知道正确答案,所以使用无监督算法无标号培训数据。

Semi-Supervised学习

现实世界的项目并不总是如此削减和干燥。想象一下,你有一系列训练数据,但只有一些标签(已知正确的答案。)这是一个常见的情况;在它可以用于训练机器学习算法之前,许多问题需要人类标记数据。例如,训练图像识别系统可能需要人类在用于训练系统的一组图像中手动对象进行手动对象。但是,您可能有更多的图像需要标签,而不是您实际上能够标记,因为您只有这么多人类。

这就是半监督式学习的切入点。您可以使用监督学习来训练一个模型,该模型根据它接收到的人工生成的标签,将标签分配给没有标签的数据。随着时间的推移,我们可以将监督算法产生的标签与人类产生的标签进行比较。当他们开始达成一致时,我们可以使用监督模型来标记我们的训练数据,而不是在模型有高度可信度的情况下使用人类。这些机器生成的标签被称为pseudo-labels

由于我们的培训数据现在包含由人类分配的已知标签的混合和模型推断的数据,因此调用这些模型semi-supervised

那么神经网络呢?

神经网络并不完全适合上述机器学习的类别。相反,它们是高度灵活的算法,可以用于监督、无监督和半监督学习。如果你在寻找一种万能的机器学习算法,它几乎可以解决任何问题,神经网络就是最佳选择。

神经网络的灵感来自于人类大脑的生物学,尽管现代神经网络已经与生物学上的同类网络大不相同。今天,神经元仍然是理解神经网络如何工作的一个有用的隐喻,但在表象之下,它们基本上是由线性代数和微积分驱动的,并已被优化为最佳结果。

概念上,您可以将神经网络视为全部相互连接的虚拟“神经元”的层。这是神经网络架构的一个例子:

这个假设的网络将用于根据其分类特征。也许我是在根据导演和演员来预测一部电影的类型。我们把这些特征——演员和导演——输入到这个神经网络的底部。一旦该网络被训练,它将在输出结果的顶部产生电影属于许多不同类型之一的概率。

该图中的每个圆形代表了神经元,尽管这些天虽然它们主要被称为“单位”。在该网络的顶部和底部之间是几层神经元,所有这些都是互连的。每个神经元的工作都是总结到它的所有信号(这是Sigma符号意味着什么)并应用激活函数决定下一层输出什么信号(这就是弯曲线所代表的)。

当我们训练神经网络学习每个神经元之间的最佳权值和偏差时,神经网络的魔力就产生了。了一种叫做梯度下降用于找到分配给每个连接的最佳权重。由于存在许多不同的权重,可以具有许多不同的值,神经网络可以代表非常复杂的问题。我们最终的大量混乱的重量使得难以直观地理解为什么一个训练有素的神经网络产生它所做的答案,但它通常很好地工作。

神经网络近年来主导了机器学习研究,因为它们非常灵活,可应用于广泛的复杂问题。但是,它们并不总是最佳解决方案,并为最佳性能调整它们可能是非常具有挑战性的。

那么人工智能呢?

神经网络、人工智能和机器学习通常可以互换使用——但它们是不同的东西。

人工智能是一个比机器学习更广泛的范畴。早期的人工智能尝试根本没有使用机器学习算法;相反,许多都是基于规则的体系。早期的会话机器人实际上是由预先编程的响应组成,这些关键字他们可以参考,具体取决于所要求的问题。如果你说“快乐”这个词,那么机器人可能会有一个人类生成的规则来回应“我很高兴你对此感觉很好!”像这样的AI系统的行为是明确编程的,而不是它所学习的东西。

现代人工智能更倾向于依赖机器学习,神经网络是几种方法之一。神经网络可以根据训练过程中的反馈得知,对“我感到高兴”的适当回应是“我很高兴你对此感到高兴”。

神经网络并不是人工智能领域唯一的机器学习技术。另一个流行的算法叫做强化学习,它根据训练过程中做出的决定的结果,学习在不同状态之间做出决定的最佳方法。例如,强化学习系统可以通过尝试随机移动并观察哪个导致被鬼杀死,哪个导致找到能量药丸并吃掉鬼来学习如何玩《吃豆人》。当你读到AI系统在电子游戏或桌面游戏中击败人类的故事时,这很可能是在使用强化学习技术。

复杂的人工智能系统,比如自动驾驶汽车,可能会结合不同的技术。神经网络可以用来识别街道标志,而强化学习可以用来学习如何最好地导航街道,而且可能还有很多基于规则的系统。

按照我们的思路,神经网络是机器学习的一个子集,机器学习是人工智能的一个子集。它们不是一回事。

机器学习的肮脏秘密

机器学习研究中的世界沉浸在富有数学,算法和术语中 - 但这隐藏了一些令人不快的真理。如果您在现实世界中进入机器学习领域,您会发现与算法一起使用是工作的相当小部分。

尽管机器学习系统的算法复杂,但成功的机器学习系统在很大程度上是反复试验的结果。我们给它起了个好听的名字:HyperParameter调整。这些模型通常有很多普遍存在,比如学习率,你的神经网络有多少层,每层有多少神经元——对于一个给定的问题,很少有好的方法来知道这些参数的最佳值。机器学习实践者通过简单地尝试这些参数的各种组合来调整他们的模型,并观察哪些在实验中最有效。在一天结束的时候,就是往墙上扔一堆象征性的意大利面看看什么能粘住。这没什么了不起的!

现实世界的机器学习更多的是关于数据处理而不是实际的机器学习。你对算法和参数的选择远不如你用来训练机器学习系统的数据质量重要。数据科学家通常花更多的时间分析和清理用于训练系统的数据,而不是处理算法本身。有一整个学科叫做工程特性致力于准备和预处理您的训练数据,以产生最好的结果。这通常是机器学习研究人员在现实世界中花费大部分时间的方式。数据分析、统计分析和处理缺失数据是工作的重要组成部分。当你使用云计算将特征工程应用于大量数据时,它很快成为应用机器学习的难点部分。

甚至你为问题选择最佳算法的能力在工作中也可能不重要。“AutoML”系统可以在训练数据上尝试不同的算法,并通过实验自动找出使用的最佳算法。您可以简单地将您的训练数据提供给AutoML系统,对其执行自动超参数调优,并在您很少的参与或专业知识的情况下产生一个高度优化的机器学习系统。机器学习系统现在可以创建自己的机器学习系统!
对于那些新的人来说,这是一个好消息 - 机器学习比曾经更容易进入。但是那些了解在引擎盖下发生了什么的人为什么如何机器学习在今天的就业市场上仍然具有很高的价值。

您是否知道机器学习和深度学习是什么?阅读关于它的本文。

机器学习的顶级课程

机器学习:初学者的基本介绍
Bluelime学习方案
4.2 (212)
机器学习,数据科学和深度学习与Python
《Sundog Education》作者:Frank Kane, Frank Kane
4.6 (24,834)
DP-100:使用Azure机器学习的A-Z机器学习
Jitesh Khurkhuriya, Python,数据科学和机器学习A-Z团队
4.5 (3,602)
畅销书
数据科学机器学习简介
大卫的情人
4.4 (9172)
机器学习实验和工程与DVC
米哈伊尔·罗日科夫,马塞尔·达Câmara里贝罗·丹塔斯,艾丽·奥布莱恩
4.4 (52)
贝叶斯机器学习在Python:A / B测试
懒惰的程序员。
4.6 (4,457)
畅销书
Python中的无监督机器学习隐马尔可夫模型
懒惰的程序员团队,Lazy Programmer Inc.
4.6 (2,931)
评价最高
数据科学:Python中的监督机器学习
懒惰的程序员团队,Lazy Programmer Inc.
4.6 (2197)
集成机器学习在Python:随机森林,AdaBoost
懒惰的程序员团队,Lazy Programmer Inc.
4.7 (1508)

更多机器学习课程

机器学习学生也会学习

赋予你的团队。引领行业。

使用Udemy for Business订阅在线课程库和数字学习工具。

请求一个演示

课程:Frank Kane

终极动手操作的Hadoop:驯服你的大数据!
《Sundog Education》作者:Frank Kane, Frank Kane
4.6 (23857)
畅销书
Apache Spark with Scala - Hands On with Big Data!
《Sundog Education》作者:Frank Kane, Frank Kane
4.6 (13205)
畅销书
用Spark流媒体和Scala流媒体大数据-动手
《Sundog Education》作者:Frank Kane, Frank Kane
4.6 (2,983)
机器学习,数据科学和深度学习与Python
《Sundog Education》作者:Frank Kane, Frank Kane
4.6 (24,834)
用Apache Spark和Python驯服大数据-动手!
《Sundog Education》作者:Frank Kane, Frank Kane
4.5 (10370)
用Mapreduce和Hadoop - 手驯服大数据!
《Sundog Education》作者:Frank Kane, Frank Kane
4.6 (2590)
畅销书
用AWS Lambda建立一个无要的应用程序 - 手上!
弗兰克凯恩,布莱恩·泰德丁的晒街教育
4.6 (1605)
Elasticsearch 6和弹性堆叠 - 深入和手
《Sundog Education》作者:Frank Kane, Frank Kane
4.8 (2301)
建立带机学习和AI的推荐系统
《Sundog Education》作者:Frank Kane, Frank Kane
4.3 (1,731)
畅销书
自治车:Python的深度学习和计算机视觉
Sundog Education by Frank Kane, Frank Kane, Dr. Ryan Ahmed, Ph.D., MBA, Mitchell Bouchard
4.2 (779)
最终的非官方UDEMY在线课程创作指南
《Sundog Education》作者:Frank Kane, Frank Kane
4.9 (178)
AWS认证数据分析专业2021 - 手上!
弗兰克凯恩,斯蒂芬马雷克的Sundog教育|AWS认证解决方案架构师&Developer Associate,Frank Kane
4.5 (6838)
畅销书

课程:Frank Kane