学习机器学习,第一部分:入门
本文提供机器学习的基本介绍。这篇关于机器学习的文章不仅能帮助您了解互联网行业的最新趋势,还能加深您对许多使我们的生活更便捷的服务中发挥重要作用的技术的理解。
机器学习的故事
乍一看,“机器学习”这个词可能会让人感到困惑。在计算机领域,“机器”指的是计算机。这个词是拟人化的,表明它是一种使机器能够“学习”的技术。
传统上,计算机要执行一项任务,您需要发出指令,计算机将根据您的输入执行该指令。然而,机器学习并非如此!在机器学习中,计算机不接收输入指令,而是接收输入数据。也就是说,在机器学习中,计算机被用来使用数据,而不是基于指令执行任务。统计思维是一个重要的概念,在您深入学习该主题时非常有益。它是相关性而非因果性的概念,这个观点是机器学习实用性的根源。
现在,这里有一个完美阐释机器学习的故事
您可能曾与某人约会,然后等待对方出现。并非所有人都能准时。所以,如果您遇到一个总是迟到的人,您不可避免地会浪费一些时间等待他们。假设您要去见您的朋友约翰。
约翰不太守时。当时,您应该在下午 3 点参加科技展览。当您正要出门时,您心里想:“我现在该走了吗?如果我现在不走,我将不得不等他 30 分钟。”考虑一个您可以用来解决这个问题的策略。
有很多解决此问题的方法
- 第一种方法是利用您解决该问题所需的知识。不幸的是,没有人记录过他们解决等待慢性迟到人群的永恒问题的解决方案。因此,您无法从现有知识中找到解决此问题的方法。
- 第二种方法是询问其他人。但是,没有人能为您提供解决此问题的方法。
- 第三种方法是使用标准法。因此,您问自己是否曾为解决此问题制定过任何标准。例如,无论其他人做什么,您总是准时到达。答案可能是否定的。
事实上,还有比上述三种方法更合适的方法。
考虑这个选项
您会回顾您与约翰的所有经历,并尝试计算他迟到的百分比。您利用这些信息来预测他这次迟到的可能性。如果这个可能性超过您心中设定的某个限度,您就会在出门去展览之前稍作等待。
假设您见过约翰五次,他迟到过一次。这意味着他准时的次数占 80%。如果您的心理界限是 70%,那么您认为约翰不会迟到,您会准时出门。但是,如果他五次中有四次迟到了,那么他准时的可能性只有 20%。在这种情况下,您会稍作等待再出门。这种方法称为经验法。您利用了过去所有相关的数据。因此,您可以说您的决定是基于数据的。
基于数据的决策的理念与机器学习背后的思维一致。在这个思想实验中,您只考虑了“频率”这一属性。然而,机器学习模型至少会考虑两个因素,一个是因变量(您想预测的结果);在示例中,这是约翰是否会迟到的决定。另一个因素是自变量,用于预测约翰是否会迟到。如果您将时间作为自变量,那么约翰迟到的所有时间都可能发生在星期五,而他在工作日其他时间从未迟到。
因此,您可以建立一个模型来模拟约翰根据是否是星期五而迟到的概率。下图提供了一个简单的机器学习模型,称为决策树。
当您考虑一个自变量时,过程非常简单。但是,如果添加第二个自变量呢?回到之前的那个故事,假设约翰迟到的某些时候,他正在开车。也许他驾驶技术很差,或者交通拥堵。因此,这些新信息可以添加到决策过程中。现在,您可以建立一个更复杂的模型,其中包括两个自变量和一个因变量。
为了使事情更加复杂,恶劣的天气,例如下雨,也可能导致约翰迟到。因此,您现在有三个自变量需要考虑。
如果您想预测约翰迟到多少时间,您可以将约翰迟到的分钟数与降雨量以及其他自变量关联起来,以创建统一的模型。该模型产生的预测可以帮助您了解约翰在任何给定一天会迟到多少时间。这将帮助您计划实际出门与他见面。在这种情况下,简单的决策树可能帮助不大,因为它只能预测离散值。然而,您可以使用线性回归方法,这将在“机器学习技术”一文中讨论。
此时,您可以决定将建模工作交给计算机,例如,您可以输入所有自变量和因变量,让计算机生成模型。然后,每次您与约翰约会时,您都可以询问计算机当前情况,并确定您是否应该晚点出门,以及晚点多少分钟。当计算机执行这种类型的决策支持过程时,它正在实现机器学习过程。
在机器学习方法中,计算机使用现有数据(经验)来创建一个模型(迟到规则)。然后,该模型预测未来(约翰是否会迟到)。
通过分析,您可以看到机器学习与正常的 (!?人类思维) 正常人类思维非常相似。然而,它可以考虑更多情况并执行更复杂的计算。事实上,机器学习的主要目的是将人类概括过去经验的过程转化为计算机分析数据以创建模型的过程。这些计算机模型近似于人类解决微妙而复杂问题的方式。
现在,我们开始讨论机器学习的定义、范围、方法和应用。
机器学习:定义
广义而言,机器学习是一种赋予机器学习能力的方法,使它们能够实现无法通过直接编程实现的功能。然而,在实践中,机器学习是一种使用数据训练模型,然后使用该模型进行预测的方法。
我们来看一个房价的例子。
我们使用各种房价。您拥有一套想出售的房子。您应该以什么价格出售?房屋面积为 100 平方米。那么,合适的价格是 100 万美元?120 万美元?还是 140 万美元?
显然,您需要一个将价格与房屋面积联系起来的规则。但您如何找到这样的规则呢?您是使用报纸或在线提供商的平均房价数据吗?还是查看类似大小的房屋的价格?
您需要一个理性规则,该规则尽可能地反映面积大小和价格之间的关系。因为您已经调查了该地区类似房屋的价格,所以您已经有了一个数据集。该数据集包含各种尺寸房屋的面积和价格信息。如果您找到了将面积大小和价格联系起来的规则,那么您就可以找到您房屋的合适价格。
事实上,找到这样的规则相当容易。您只需画一条直线,使其尽可能地拟合图上的所有点,并且每个点到直线的距离最小。
通过找到这条直线,您就找到了最能反映面积大小和价格之间关系的规则。该直线由以下函数定义:房价 = 面积 * a + b
;其中 a 和 b 是直线的参数。
在找到这些参数后,您可以计算出您房屋的合适价格。
假设 a = 0.75 且 b = 50(以百万美元为单位)。在这种情况下,房屋价格为 100 * 0.75 + 50 = 125 万美元。此结果与之前列出的三个选项不同:100 万美元、120 万美元和 140 万美元。由于这条线考虑了大多数情况,因此在统计学上,它是最合理的预测。
以下是关于该模型的观察。
- 房价模型取决于用于拟合数据的函数。如果使用直线,您将线性方程拟合到数据。如果使用其他类型的线条,例如抛物线,您将拟合不同类型的线条方程到数据。机器学习中使用许多不同的算法。有一些强大的算法用于生成复杂、非线性的模型。这允许您反映无法用直线表示的情况。
- 如果您有更多数据,您的模型将考虑更多情况,并且在预测新情况方面可能更好。这体现了机器学习领域流行的“数据为王”的理念。通常(尽管并非总是如此),您拥有的数据越多,机器学习生成的模型的预测就越好。
您可以使用寻找最佳拟合线的过程来查看整个机器学习过程。首先,您需要将历史数据保存到计算机中。接下来,使用机器学习算法处理这些数据。在机器学习语言中,此过程称为“训练”。此训练的结果可以预测新数据。此结果被视为模型。用于预测新数据的过程称为“预测”。训练和预测都是机器学习中的过程,而模型是中间结果。训练产生一个模型,该模型反过来指导预测。
使用以下大纲,您可以将机器学习过程与人类的经验思维进行比较。
随着您成长和生活,您会积累许多经验。您会定期概括这些经验并形成关于生活的“规则”。当您遇到一个不熟悉的问题或需要猜测未来时,您会使用那些“规则”。这种思维方式会指导您日常生活和工作。
在机器学习中,训练和预测过程对应于您概括和猜测的心理过程。这种对应关系表明机器学习的概念并不复杂。它只是对所有人类所经历的学习和成长的模拟。由于机器学习产生的不是程序的产物,因此该过程不类似于因果系统。相反,它使用概括(或归纳)来得出相关的结论。
这也让我们回到了研究历史的原因。历史可以被认为是过去人类经验的总结。您是否听过这句话:“历史往往不同,但总是出奇地相似。”通过研究历史,您可以找到关于人类和国家的一般规则,并用它们来指导您的行为。这就是历史的巨大价值。
机器学习的范围
在前一节中,我们讨论了机器学习的定义。现在,让我们看看它的范围。
机器学习的范围类似于模式识别、统计学习和数据挖掘。同时,当与来自其他领域的技术相结合时,它形成了跨学科的学科,如语音识别和自然语言处理。
让我们讨论一些与机器学习相关的领域,并看看机器学习的一些应用场景和研究范围。这将加深您对后续关于算法和应用层面的讨论的理解。
下图描绘了一些涉及机器学习的学科和研究领域。
模式识别
模式识别 = 机器学习
模式识别与机器学习之间的主要区别在于,前者概念随着工业部门的发展而出现,而后者源于计算机科学。在他的著作《模式识别与机器学习》中,克里斯托弗·M·毕晓普 (Christopher M. Bishop) 说:“模式识别源于工业部门,而机器学习则源于计算机科学。然而,在实践中,它们可以看作是同一领域的两个方面。在过去的十年里,它们都得到了长足的发展。”
数据挖掘
数据挖掘 = 机器学习 + 数据库
最近,“数据挖掘”这个概念变得非常熟悉。人们谈论数据挖掘时,总是吹嘘它的强大。例如,它从数据中提取黄金,或者将废弃的数据转化为价值。然而,当您挖掘时,并不总是能确定您总能找到黄金。这也适用于数据挖掘。数据挖掘只是一种思维方式。您应该尝试挖掘数据以发现知识。必须对数据有深入的了解,才能在数据中找到指导业务改进的模式。数据挖掘中使用的大多数算法都是在数据库中优化的机器学习算法。
统计学习
统计学习几乎与机器学习同义。这两个学科有高度重叠。由于大多数机器学习方法都来自统计学,并且可以被视为统计方法,因此统计学的发展促进了机器学习。例如,著名的 SVM 算法就是从统计学发展而来的。然而,这两个学科在一定程度上存在差异。统计学习从业者专注于统计模型的开发和优化,倾向于数学。而机器学习从业者更关心解决问题的能力,更倾向于实际应用。因此,机器学习研究人员专注于提高计算机上运行的算法的效率和准确性。
计算机视觉
计算机视觉 = 图像处理 + 机器学习
图像处理技术处理图像,将其转换为适合机器学习模型的输入。机器学习负责识别图像中的模式。计算机视觉有许多应用,例如谷歌图片识别、手写字符识别和车牌识别。该领域的应用前景广阔,是热门的研究方向。随着机器学习领域内深度学习这一新兴领域的发展,它极大地提高了计算机图像识别应用的性能。因此,计算机视觉领域的未来发展前景无限。
语音识别
语音识别 = 语音处理 + 机器学习
语音识别是音频处理技术与机器学习的结合。它很少独立使用。它与自然语言处理技术相结合。一个应用是苹果的语音助手 Siri。
自然语言处理
自然语言处理 = 文本处理 + 机器学习
自然语言处理技术主要用于使机器能够理解人类的自然语言。它广泛使用编译器理论技术,如词法和语法分析。此外,在理解层面,它们使用语义理解、机器学习和其他技术。由于它处理人类创造的独特符号,因此自然语言处理一直是机器学习研究的热点。根据百度机器学习专家余凯的说法,“坦率地说,听、看、发声是猫狗都能做到的,但语言是人类独有的。”试图利用机器学习技术让计算机深入理解人类语言一直是业界和学术界的重点。
结论
现在,您已经了解了机器学习在许多领域如何延伸和应用。机器学习的发展促进了各种智能领域的进步,以改善我们的日常生活。有关机器学习技术的更多信息,请关注我们 3 部分系列文章的第 2 部分,“机器学习技术”。