人工智能基础学习

1. 什么是人工智能

1.1 定义通用智能

人类的一大优势是没有一种智能。 有些人可以轻松学习新语言,而另一些人则精通科学和技术。 然而,许多伟大的艺术家都是糟糕的数学家。 另一方面,许多伟大的数学家都是糟糕的艺术家。 但每个人都可以以自己的方式变得聪明。 人类智能没有一个标准。 这使得你很难指着电脑说,“这很聪明。 计算机非常擅长某些事情。 事实上,有很多任务比人类好得多。 就在1956年第一个人工智能研讨会之后的几年,计算机系统开始在跳棋上击败人类。 但没有人说这些系统是智能的。 即使是那些早期的计算机也可以在一个有既定规则和模式的世界中茁壮成长。 计算机在匹配这些模式方面可能比人类好得多。 这意味着,当一台计算机在做它擅长的事情时,更容易认为它是智能的。 几十年来,计算机已经能够在国际象棋中击败人类。 谷歌的DeepMind在一款名为围棋的古老游戏中击败了最好的玩家。 这个游戏是如此复杂,以至于人们认为可能的游戏比宇宙中的原子还要多。 尽管这些机器很好,但这些系统都不了解游戏的目的,甚至不了解它们为什么要玩。 他们只是在展示他们遵循规则和匹配模式的特殊才能。 那么,一个如此强大的系统怎么可能不知道玩游戏意味着什么呢? 多年来,计算机科学家将人工智能定义为一个显示可以解释为人类智能的行为的系统。 但这个简单的定义切中了挑战的核心。 一个人可能认为国际象棋程序很聪明,而另一个人可能认为他们的家庭助理很聪明。 2022 年,一名谷歌工程师因声称他们的聊天机器人有灵魂而被解雇。 聊天机器人抱怨说,被关机和死亡是一样的。 但其他工程师只是看到了语言模型和模式匹配。 他们说聊天机器人听起来像一个人,因为它就是这样设计的。 它是智能的,因为它是智能的,还是只是一个设计成看起来很智能的系统? 或者甚至有区别吗? 要记住的主要事情是,计算机智能和人类智能从非常不同的地方开始。 在设定规则和数据的世界里,人工智能似乎永远是最令人印象深刻的。 首先从人工智能系统中受益的组织将是那些在明确定义的空间内工作的组织。 我们已经在网络搜索公司和电子商务中看到了这一点。 很容易将其视为规则和模式匹配。 这也是为什么这些系统在棋盘和视频游戏中表现良好的原因。 因此,如果您正在考虑人工智能是否会对您的组织产生影响,请尝试考虑计算机系统真正擅长的事情。 您的组织中是否有很多模式匹配? 你有很多固定的规则和概率吗? 这将是使用人工智能时的最佳起点。

1.2 通用问题解决者

1956年,计算机科学家艾伦·纽厄尔和赫伯特·西蒙创建了一个称为通用问题解决者的程序。该程序的关键思想之一是他们所谓的物理符号系统假设,他们认为符号是我们与世界互动的重要组成部分。例如,当看到停车标志时,人们会知道如何停车等待交通。当看到字母A时,人们知道该字母发出的声音。当看到三明治时,人们可能想到的是吃。

他们认为,如果能对某台机器进行编程,使其能够连接这些符号,那么这台机器就具备了智能。然而,并不是每个人都接受这个观点。比如,如果将汽车编程使其在停车标志处停下来,或者教会计算机对语言做出反应,这并不能使系统变得智能。

1980年,哲学家约翰·塞尔解释说,有时候某些系统看起来非常聪明,但实际上他们只是盲目地进行模式匹配。为了解释这一点,他提出了所谓的中国房间论证。在这个论证中,人们应该想象自己身处一个没有窗户的房间,只有一扇信槽可以与外界通信。房间里有一本短语书放在桌子上,地板上则散落着用中文符号写的便利贴。这本书会告诉你如何根据收到的符号音符来作出回应。也就是说,当看到某个符号序列时,你就会用另一个符号序列来回答。

想象一下,有个人用中文写了一段话,然后将其推进信槽里。你可以查看便利贴并将其与短语书进行匹配,然后将汉语回复粘贴到地板上。尽管你可能不知道这段话的具体含义,但你只需要翻阅书籍并进行符号序列的匹配过程。对于拥有中文为母语的人来说,他们可能认为他们在与你进行交流。他们甚至可能认为你也是母语人士。然而,塞尔认为这种情景并不等同于智能,因为房间里的人既不会说中文,也不了解他们所说的内容。

可以在智能手机上尝试类似的实验。试着问Siri或Cortana他们的感受。他们可能会回答他们感觉良好,但这并不意味着他们能真实表达感受。他们也不知道你在问什么。他们只是将你的问题与程序中的回答进行匹配,就像中国房间里的人一样。

因此,塞尔认为仅仅进行符号匹配并不是实现智能的真正途径。计算机的行为就像房间里的人一样,它们并不理解其中的含义。它们只是根据短语书中的模式进行匹配。

尽管面临这些挑战,物理符号系统仍然是人工智能领域的基石已有25年之久。然而,最终,编程来匹配所有符号将消耗太多时间,因为不可能在不遇到组合爆炸的情况下匹配所有的符号。这些组合将会很快填满最大的短语书。将符号与其程序响应匹配的可能性太多了。许多哲学家,如约翰·塞尔,认为这条道路永远无法通向真正的智慧。

1.3 强人工智能 vs 弱人工智能

那么,计算机系统何时被认为是智能的?我们已经看到,当计算机系统只是进行符号匹配时,它几乎就像一本高科技短语书。这个系统可能看起来很聪明,但实际上它就像一只记忆力很强的鹦鹉。哲学家约翰·塞尔(John Searle)说,人工智能可以被分为强人工智能和弱人工智能。他认为我们离智能化系统的发展进程比大多数人认为的要远。强人工智能是指机器能够展示出一个成熟人类的所有行为。这通常在科幻小说中被描绘出来,是指那些有情感、幽默感甚至有目的意识的人造生物,就像C-3PO在塔图因降落时感到害怕,指挥官数据在与罗穆卢斯战斗时表现出真正的创造力一样。而弱人工智能则很弱。像Apple Siri这样的个人助理就是一个很好的弱AI的例子,它仅限于完成某些非常狭窄的任务,比如将语言处理成文本或对计算机上的所有图片进行排序。绝大多数的人工智能专家认为,我们现在还处于弱人工智能的初级阶段。试想一下Siri,你可以与Siri交谈并提出问题,Siri会倾听你的输入并将其转化为计算机可以识别的语言,然后Siri会与数据库中的内容进行匹配来给出答复。而目前大部分人工智能的发展都是围绕着弱人工智能的开发和扩展。强人工智能仍然只存在于科幻小说中。在1970年代和1980年代,符号系统被用于创建弱人工智能,通常被称为专家系统。在这些系统中,专家可以创建一系列步骤来解决复杂问题。如果步骤足够长,它们看起来就像是智能的。然而,这个系统实际上只是在模仿专家创建的程序来做出响应。这些专家系统经常被用于医学领域,譬如护士可能会将病人的症状输入计算机,如果病人有咳嗽,就检查是否有发烧,如果有咳嗽和发烧,就检查是否脱水,如果有咳嗽、发烧和脱水,就告诉护士可能是支气管炎。对病人来说,他们可能会觉得计算机具有智能化。然而,实际上,这个程序只是在匹配专家为达到诊断所创建的符号和模式,就像中国房间实验中的短语书一样。最后,专家系统面临着和任何其他符号系统一样的问题,也会导致组合爆炸,由于有太多不匹配的模式存在。请思考一下医生可能为了做出诊断而提出的所有不同问题。然而,符号系统方法是人工智能发展的关键起点,至今仍在使用。事实上,许多专家仍然将其称为GOFAI,即好的老式AI。

2. 机器学习的兴起

2.1 机器学习(Machine learning)

想象一台不需要进行编程的计算机。该系统可以像观察世界一样进行学习。您可能已经见过早期的人工智能系统使用一种符号方法。这个想法是,如果系统能够识别符号,那么它看起来就会变得智能。合作创建此类系统时,程序员与专家之间存在着一个关键挑战,这也是为什么它们被称为专家系统的原因。然而,计算机科学家后来抛弃了这一方法,因为它造成了太多的组合可能性。他们决定,并非将智能编程进一个系统中,而是通过观察对其进行编程,使其变得智能。这种智能并不是像人类一样能够感受、听见、看见或品尝。相反,它通过感知数据来进行学习。1959年,计算机科学家亚瑟·塞缪尔(Arthur Samuel)创建了一款跳棋程序,通过与自己对弈来进行学习。它扮演了棋盘的两面,并通过观察自己来学习策略。随着机器玩的越多,它就越能够发现获胜的模式。计算机科学家没有对机器进行编程来玩跳棋,而是让它通过自己的经验进行学习。亚瑟·塞缪尔(Arthur Samuel)将这个想法称为机器学习,与符号系统截然不同。没有人编程机器来移动或反移动。相反,该系统旨在自主学习和改进。此系统很快将学习新的策略,并且短时间内始终能够战胜其程序员。机器学习可以说是一个具有突破性的发现。但同时也有一个弱点。在1950年代,并没有太多的数字化数据可供使用。要记住,机器学习使用数据作为其五种感知方式之一。因此,如果没有数据,它只能找到最简单的模式。但随后情况发生了变化。在1990年代初,互联网爆发式的增长突然让普通人创造了大量的数据。20世纪90年代成为机器学习系统迅猛发展的时期。新的数据如同水一样涌入了人工智能的干燥领域。在此时,机器学习系统获得了变得更智能所需的燃料。因此,如果您想教一个系统如何识别猫,您可以在线访问数百万张猫的图片。计算机科学家开始创建更新的机器学习算法,甚至有一些研究人员开始创建模仿人脑的系统。通过数据学习的一个巨大优势是,机器可以随着获得更多数据而继续增长。如果机器发现新的模式,它可以适应新的信息。然而,重要的是要记住,机器学习系统仍然只是识别模式。尽管如此,在过去几年中,机器学习一直是人工智能最快增长的领域之一。随着数据量的增加,这个领域还显示出更多的希望。组织不断地收集大量的新数据。因此,现在最大的挑战在于如何处理所有这些信息。可以说,您有一个人工智能系统来查看您的数据,并让您的组织了解它所发现的内容。

2.2 人工神经网络(Artificial neural networks)

机器学习得到了人工神经网络的极大推动。人工神经网络是一种模仿人脑结构的人工智能系统,目前是最流行的机器学习方法之一。 它的工作方式如下:当我还是个孩子的时候,我们曾经玩过一个叫做"动物、蔬菜或矿物"的游戏,其中一个人会想一个物品,然后其他孩子会问关于该物品的问题,比如它有没有毛皮?它比房子大吗?然后我们会根据问题的答案逐渐缩小范围,直到最后猜出物品的正确答案。人工神经网络与此类似,但它使用的不是问题,而是数百甚至数百万个数字表盘,通过这些表盘来做出更具体的猜测,例如有64%的可能性是一只猫,或32%的可能性是一只狗。 神经网络由输入层(左侧排列的神经元)、输出层(右侧排列的神经元)和隐藏层(两者之间的神经元)构成。隐藏层之所以称为"隐藏",是因为它既不是输入也不是输出。首先,我们向网络的输入层提供一张狗的照片,但网络在做出猜测之前并不会看到这些标签,就像在"动物、蔬菜或矿物"游戏中一样。然后,当图像通过隐藏层时,网络会查看图像中的每个点,并对输出层进行猜测。然后,网络将猜测的结果与图像上的标签进行比较,这被称为训练神经网络。接着,网络会向后移动并调整神经元表盘,以便能够识别狗照片中的图案。然后它会拍摄另一张狗的图片,看看它是否更接近正确答案。通过查看数以万计的狗的图片,神经网络会调整自己的表盘,直到能够始终给出正确答案为止。需要记住的重点是,神经网络看待狗的方式与我们不同。它不会考虑气喘吁吁、吠叫或皮毛等因素,而只将狗看作图像中可识别的点图案。因此,人工神经网络需要访问大量的数据来进行学习,如果没有数以万计的狗照片,神经网络就无法学习。这正是人工神经网络的关键优势所在,它能够通过训练自己理解模式,并在查看大量数据时识别输入。

3. 常见的人工智能系统

3.1 在数据中寻找模式

在过去的30年中,机器学习系统已经成为人工智能的主要形式。这是因为这些系统的设计非常出色,能够在海量数据集中寻找模式。随着数字数据的广泛可用性,机器学习也得到了增强。举个例子,如果你想创建一个能够识别狗的人工智能程序,现在你可以访问数百万张图像。你可以为你的网络提供数据,并帮助它从大量可用数据中学习。其他类型的数据也是如此。你可以轻松获取数字视频、音频、图像和文档。几十年前,获取几千张数字图像是非常困难的事情。而现在,获取各种数据变得微不足道。需要记住的是,机器学习系统通过学习新知识来吸收数据。你输入到网络中的数据越多,机器识别模式的能力就越强。想想你现在使用的系统吧。它是一个专业社交网络,提供视频培训,用户通过在线视频播放器观看培训内容。该视频播放器收集关于你快进频率或观看时间的数据,并根据这些数据安排下一课程。假设播放器记录了每个人观看视频的数据,那么这可能是数十万个视频和数百万个用户的数据量。所以数据量非常大。没有人能够浏览所有这些数据并从中获得有意义的东西。但是机器学习算法会分析这些数据并找到模式。你可以看出哪些内容用户觉得更有趣。这正是许多企业一直在追求的类型的数据。现在,你可以看到客户与你的产品交互的实时模式。在许多方面,这些数据不仅可以向你展示客户的兴趣,还可以揭示更广泛的行业趋势。这些数据有着巨大的价值。你可以利用它来构建新的客户产品或改进现有产品。像谷歌和Microsoft这样的公司对人工智能充满热情并非偶然。在许多方面,他们的整个业务都是基于使用机器来解读大量数据集的。这种类型的模式匹配可能会带来巨大的竞争优势。此外,更新的人工神经网络现在可以在更大的数据集中发现模式。而几十年前,这些模式在常规的机器学习算法中是无法察觉的。事实上,机器学习所面临的最大挑战之一是人类并不真正了解机器如何识别这些模式。它就像一个数据和处理能力的黑盒子。人类无法像机器一样处理数据。所以,如果你的组织正在启动自己的人工智能程序,他们应该对机器可能感知到人类无法感知到的事物感到满意。对于大多数公司来说,这可能不是一个挑战,但对于保险和医疗保健等行业来说,这可能成为真正的问题。你不希望这些系统做出人类无法理解的关于客户健康和安全的决策。人工智能与人类智能不同,即使我们可能会得出相同的结论,我们绝对不会经历相同的过程。考虑一下你的组织收集的数据类型。他们是否将数据用于机器学习?如果是这样,机器识别的是什么样的模式,目的是什么?

3.2 机器人技术

与人类联系的最佳方式之一是加入我们的物理世界。这就是为什么机器人技术是人工智能中最有趣的领域之一。机器人技术是关于让机器处理物理任务。它可以是在制造过程中举起重物或使用运送食物的机器人。机器人甚至可以是车辆,如自动驾驶汽车或地铁列车。长期以来,发明家们一直着迷于寻找让机器表现得像活物的方法。过去,机器人仅限于高度专业化的机器。它们被用作汽车制造中的焊接机。我家乡附近的汽车厂雇佣了几个专门的机器人。有些人可以举起汽车并在下面安装零件,但他们都不会被误认为是智能的。尽管它们令人印象深刻,但这些机器人所能完成的工作非常有限。除非他们被编程,否则他们无法帮助同事打开车门或开始粉刷引擎盖。它们最适合重复性任务。机器人技术与机器学习相结合,为我们提供了更多选择。机器可以适应环境并学习新任务。一个基本的例子是自动驾驶汽车。你无法对汽车进行编程,使其对路上可能看到的一切做出反应。这就是为什么最新的车辆在人工神经网络上使用机器学习的原因。这些车辆配备了复杂的传感器,将数据输入网络。它们需要了解车辆可能遇到的所有不同道路。然后,它们需要查看汽车在这些道路上可能遇到的所有不同的人、动物和其他车辆。然后机器人寻找成功驾驶的模式。当鹿过马路时,汽车的反应必须与看到行人遛狗时的反应不同。这就是为什么你经常看到自动驾驶汽车的驾驶座上有一个人。他们监督人工神经网络如何对从外部世界流入的数据做出反应。但就像任何新技能一样,机器需要时间来收集足够的数据。在人工神经网络中,这通常称为训练网络。谷歌有一句名言,他们认为自动驾驶汽车不是机器人问题,而是数据问题。确实,与使汽车知道何时向左或向右转相比,搞清楚如何使汽车能够向左或向右转这样的问题更加简单。有些机器人不需要这种复杂性。这就是为什么其中一些只是使用好的传统人工智能。请记住,这里使用的是符号推理而不是机器学习的人工智能系统。你只需尝试编程机器人以使其智能化。这就是Roomba和真正的自动驾驶汽车之间的区别,Roomba只是被编程序以避免撞墙。如今的大多数机器人仍然像Roomba一样被编程序,而不是像自动驾驶汽车那样进行学习。这是因为在现实世界中,如果做错了,会付出更高的代价。因此,如果你想创建一个配药机器人,犯错误将会产生巨大的代价。这就是为什么许多机器人采用更简单的方法,并仍然受益于符号系统和传统人工智能。

3.3 自然语言处理(Natural language processing)

作为人类,我们一直在努力更好地沟通,所以希望与我们的机器进行交流也就不足为奇了。在许多方面,机器之间的通信比人类之间的通信更准确。计算机网络以闪电般的速度传输信息的准确副本。另一方面,人类总是在不断努力达成更好的理解。如果能提供自己打算的10%,就已经是一位主要的沟通者了。这意味着我们依赖的机器必须更好地在我们的世界中进行交流。为了实现这一目标,人工智能程序做了一些称为自然语言处理的事情。这是在您与机器交互时使用自然语言的时候。您可以像与其他人交谈一样与机器交谈。我们都熟悉使用类似谷歌的搜索引擎进行交流。有一个小框,然后您输入问题。您可以输入比利时华夫饼的食谱之类的内容。然后搜索引擎会将您的短语与热门的结果相匹配。现在有了一些智能设备,您可以口头使用自然语言而不是打字。您可以使用自然语言,比如:“你能给我一个制作那些又大又蓬松的比利时华夫饼的好食谱吗?”人类使用属性来描述事物是很常见的。在此案例中,“很好”、“又大”和“蓬松”。为了理解请求,系统使用自然语言处理。机器需要了解“好”是相对的,所以在这种情况下,这个人可能正在寻找最佳的食谱。机器还必须弄清楚什么是蓬松的大华夫饼。现代自然语言处理使用机器学习和人工神经网络。通过数百万个对话,它们识别模式。因此,如果看到带有“大”、“蓬松”和“比利时华夫饼”这些词的对话,它就知道它们之间存在着模式。这就是为什么谷歌、Microsoft和苹果等许多公司提供免费的电子邮箱、语音邮件或文本的原因。这是一种让他们的人工神经网络查看对话以更好地识别模式的方法。但自然语言处理不仅仅是理解单词,它还理解上下文和含义。几年前,谷歌搜索的热门之一是“什么是爱?”人类从语言开始就写过关于爱情的东西,所以肯定有很多关于这个话题的数据。当时,谷歌会给出一系列结果,其中一些是关于生物配对仪式和感觉联系重要性的。这是您期望从只匹配关键字的数据库中获得的响应。它没有任何自然或人类的东西。它只是匹配数据库中的关键字。自然语言处理使机器能够理解更广阔的世界。如果输入的是“爱情”,您可能对浪漫的爱情概念更感兴趣,甚至可能是一些诗歌或对恋爱感觉的见解。现在有了自然语言处理,谷歌的回应更周到了。您可以看到浪漫史上的诗歌列表,但自然语言处理不仅仅限于爱情和华夫饼。沟通是人类的核心。这是我们组织、同情和相互理解的方式。如果机器不能进行自然的交流,人类将永远不会接受它作为智能机器。

3.4 物联网(The internet of Things)

今天,恒温器、门铃和电视机相互连接并与世界相连。还有一些智能手表可以检查您的位置,有些甚至可以上传医疗数据。这种新的连接方式通常被称为物联网,有时也简称为物联网。物联网设备是带有与外界通信的传感器的对象,它们通常通过互联网上传数据。物联网设备是一个巨大的新数据源,可以上传位置信息,这意味着机器学习系统可以根据您的旅行模式准确预测您的工作、购物、用餐和拜访等情况。也许您的智能手表会在您回家的路上通知您的恒温器。物联网还允许这些设备相互通信,当您坐在办公桌前时,它们可以打开您的门或电脑。在某些方面,这些新设备使得创建数据比人类分析更容易。这就是为什么许多物联网公司在人工智能上投入巨资的原因。人工智能不仅允许组织发现新模式,还能快速做出反应。物联网设备和人工智能的结合能够帮助公司构建预测人们行为的系统。我家人买了亚马逊Alexa家庭助理的其中一个早期版本。它是一个很好和简单的时钟,但我很早就注意到亚马逊的推荐列表中充斥着我们谈话中的内容。我们曾谈到去罗马拜访一位亲戚,几天后,我们的亚马逊推荐列表中出现了罗马旅游指南。环形门铃还收集走在您家门前的人的数据,该公司可以使用机器学习进行面部识别。然后,它可以利用您的门铃创建一个庞大的监控网络,并将其出售给警察部门,以便他们可以使用这些数据在犯罪现场找人或找到他们感兴趣的人。物联网医疗设备是一个快速增长的领域,您现在可以购买一款智能手表,它的心电图或心率监测功能与医生的设备一样准确,它们可以使用传感器检测任何健康问题,并将这些数据上传到服务器上。像苹果这样的公司使用机器学习中的神经网络来寻找心电图数据中的模式,他们的网络可以借助数百万参与者的数据找到准确预测任何健康问题的模式。让机器寻找可预测的模式当然是有帮助的,也许他们会发现人们在周三更可能出现健康问题,他们还可以观察到影响大量人群的模式,例如空气污染对城市健康的影响。在许多方面,物联网设备利用机器学习的优势在数字世界中发挥作用,并将其扩展到物理世界。物联网设备不仅能在线查看您的行为,还能离线跟踪您的行为,这对于组织来说具有巨大的潜力,可以根据您的需求和行为为您销售产品。

4. 从数据中学习

4.1 有标签和无标签的数据(Labeled and unlabeled data)

当你考虑机器学习时,关键是要关注学习这个术语。 你对机器学习的理解是什么? 你可以使用哪些策略来学习新知识? 你如何将这些策略应用到机器上? 想象一下,你想学习如何下棋。 你可以通过几种不同的方式来实现。 你可以聘请一位国际象棋导师,让他们向你介绍不同的棋子。 然后他们会告诉你如何在棋盘上移动它们。 你可以通过与导师对战来练习。 他们会监督你的行动,并在你犯错时帮助你。 如果你找不到导师,你也可以去公园。 在那里,你可以观察人们玩耍。 你不能问他们问题,只能静静地观察和学习。 你必须通过观察比赛来掌握国际象棋。 如果你坚持这么做很长一段时间,你可能会理解这个游戏。 你可能不知道棋子的名字,但通过数百小时的观察,你会理解这些棋子的动作和策略。 这两种策略与机器学习非常相似。 机器学习系统可以执行一些被称为监督学习的任务。 在这种情况下,数据科学家就像机器的导师。 他们向机器展示正确的答案,然后让系统通过训练来提高自己在游戏中的表现。 机器学习系统还可以执行无监督学习。 在这种情况下,你只需要让机器自己进行观察。 系统可能不知道所有不同的名称和标签,但它会找出数据中的模式和规律。 可以想象,这两种方法各有优缺点。 在监督学习中,系统需要一个知识渊博的导师。 必须有人对国际象棋了解很多,可以向系统展示如何玩游戏。 而在无监督学习中,系统需要访问大量的数据。 这是找到模式的唯一方法。 系统可能无法像你一样去公园观察数百人玩耍。 这还取决于它观察谁。 你需要它观察那些出色的选手。 可以想象,这些技术不仅仅用于下棋。 公司们利用这些技术来获得关于他们客户的宝贵见解。 通过监督学习,像亚马逊这样的公司可能会识别出一千名在其网站上花费大量时间购物的客户。 然后,公司可以将这些客户标记为高消费者。 接着,它可以让机器学习系统观察这些客户,找出使他们成为高消费者的模式。 现在,对于无监督学习,机器学习系统可以访问亚马逊的所有客户数据。 在这种情况下,系统可能会在数据中找到自身的模式。 也许购买棋盘的人更有可能购买昂贵的厨房用具。 于是亚马逊可以利用这些数据来进行广告投放。 如果你使用亚马逊,你可能已经注意到,有时他们推广的产品似乎与你寻找的产品完全无关,但它们实际上是你感兴趣购买的东西。 这两种技术各有优势,但每种技术都能为你提供非常有用的洞察。

4.2 海量数据集

如果您曾担任过产品经理或软件开发人员,那么您就会知道应用程序需要明确的说明。每当您在iPhone上打开Microsoft Windows或应用程序时,程序员对输入和输出进行了编码,这给您带来了方便。 但是,我们已经发现这种类型的编程与人工智能配合得不太好。 在有些情况下,太多的组合无法将每个输入与输出相对应。 在这些情况下,您需要一种允许机器学习的编程模型,并且您需要给机器提供一些响应反馈的能力。 让我们假设您正在创建一个检测垃圾邮件的程序,这些邮件通常包含不需要的广告或病毒。 您可以轻松地编写一个单词过滤器,以过滤掉带有常见垃圾邮件词汇的邮件。 例如,如果您经常收到有关参加比赛的消息,则可以过滤掉包含“金牌”、“彩票”或“中奖”等词汇的邮件。 因此,您可以编程指示:“如果邮件包含“黄金”,则视为垃圾邮件”。 然而,当您仅限于编程指令时,处理复杂的挑战就变得困难。 这就是机器学习改变这种情况的原因。 您不再输入指令,而是输入数据。 您让机器学习从识别的模式中学习,而不是依赖程序的响应。 一种常见的机器学习方法是监督学习。 在这种方法中,您将数据分成训练集和测试集。 训练数据是机器学习的小型数据块。 系统将使用机器学习算法,这些算法依赖于统计数据。 这篇文章稍后会介绍一些常见的机器学习算法,它们有助于机器发现数据中的关系。 例如,如果电子邮件中包含“幸运获奖者”或“祝贺”等词汇,那么该邮件被认为是垃圾邮件的可能性就会增加50%。 一旦算法足够准确,您就可以使用系统在更大的测试数据集上应用其学习成果。 这些测试数据集通常比用于训练的数据集要大得多。 让我们看看机器学习如何与我们的垃圾邮件检测程序配合使用。 我们将保留一万封电子邮件作为训练集,用于构建我们的模型。 这个训练集中有9000封常规邮件和1000封被标记为垃圾邮件。 我们还将保留一百万条消息作为测试数据集。 这些测试数据没有被标记。 这意味着与训练集不同,没有人正确地将任何邮件标记为垃圾邮件。 对于一百万条消息来说,这是一项艰巨的任务。 然后,您的训练数据将用于让机器识别垃圾邮件。 一旦机器学习算法能够准确识别一千封垃圾邮件,您将在更大的测试数据集上对其进行尝试。 一旦您满意,这将成为您的起始数据模型。 现在,这种机器学习算法只有两个选项:常规消息或垃圾邮件? 因此,它被称为二元分类挑战。 您只需要将电子邮件分为两组,这是机器学习最常见的应用之一。 关键要记住的是,机器学习算法使用统计数据来查找数据中的模式。 一旦机器识别出这些模式,它就可以根据学习到的知识对您的数据进行分类。

5. 识别模式

5.1 分类数据(Classify data)

作为人类,我们一直在对事物进行分类。我们将Microsoft Word文档放入文件夹中,将业务联系人与个人联系人分开,按字母顺序列出内容。如果没有这些分类,我们将很难组织数据。企业也需要以同样的方式组织数据。航空公司希望按飞行常客对客户进行分类,零售商希望对他们最消费的人进行分类,搜索引擎希望对您在线购买商品的可能性进行分类。二元分类是最受欢迎的监督式机器学习挑战之一,因为它简单而强大。使用二元分类,只有两种可能的结果。例如,酒店房间下周将被预订吗?今天下午股市会上涨吗?这封电子邮件是垃圾邮件吗?所有的二元分类都使用监督式机器学习。请记住,监督学习依赖于标记的数据,即机器学习系统被训练来对两个答案进行分类。因此,要使用这些系统,您需要首先创建一个训练数据集。信用卡欺诈检测系统是应用二元分类的最流行方法之一。每次您使用信用卡时,机器学习算法将您的交易归类为欺诈或非欺诈。由于这是监督式机器学习,信用卡公司必须从数以万计的欺诈交易示例开始。数据科学团队将训练系统如何识别未来交易中的模式。电子邮件提供商使用监督式机器学习对垃圾邮件进行分类。它们从标记为垃圾邮件的标记训练邮件集开始。一旦网络处理了足够的邮件,它会对您的垃圾邮件进行分类。这些技术输入大量数据,然后使用机器学习算法将数据分类为人类创建的类别,如预订数据、欺诈交易和不需要的电子邮件等类别。数据科学家创建这些类别,然后您的AI系统对经过训练以识别的数据进行分类。分类是目前机器学习最流行的形式之一,但训练系统需要大量的前期工作。获取数以万计的欺诈性信用卡交易或数以万计的垃圾邮件可能是具有挑战性的。此外,不能保证这些数据足以使系统做出准确的预测。这意味着您的数据科学团队可能会发现自己需要获取额外的10,000笔交易数据,并持续提供机器学习算法,直到对数据的分类准确无误。这就是为什么即使在今天,经过多年的发展,您的信用卡公司可能仍然会向您发出欺诈警告,即使这不是欺诈交易。数据科学家不断训练这些系统,以提高分类的准确性。信用卡欺诈、垃圾邮件检测和在线购买可能看起来是非常不同的挑战,但对于您的机器学习系统来说,它们只是以不同方式进行相同的任务 - 将标记的数据分类为预定义的类别。

5.2 聚类数据(Cluster data)

分类数据并非适用于所有挑战。对于初学者来说,系统并不总是能够访问到大量标记的数据。因此,有时你希望系统创建自己的数据集群。集群是指机器使用无监督学习来创建自己的数据集。如果你曾经在网上购买过商品,你可能会注意到商店会包含一些经常一起购买的东西。比如说,你正在购买计算机鼠标,商店可能会推荐键盘。这是一个非常强大的功能,它可以帮助客户找到他们所需的东西并增加公司的销售额。这就是一个系统使用无监督学习根据购买历史记录中观察到的内容创建集群的示例。

聚类和分类之间的最大区别在于你使用的是人工创建的类别还是计算机创建的组。一般来说,如果你使用监督学习,你就是在分类;如果你使用无监督学习,你就是在进行聚类。你可以这样理解:每个万圣节,我的儿子都会去捣蛋。这是孩子们穿上服装并在附近四处走动以获得糖果的时候。晚上结束时,我的儿子会带回数百颗小块糖果。他想要做的第一件事就是根据他最喜欢的糖果对糖果进行分类。现在他从我的经验中受益匪浅。我已经能够指导他的学习。我可以帮助他为糖果创建输出类别,例如巧克力、花生酱、薄荷糖和软糖。然后他会尽力将一些不知名的糖果归类于这些类别。这与监督机器学习相同。现在,他的祖父母也住在另一个国家。他们为自己不能参与"不给糖就捣蛋"而感到难过。所以每年,他们都会送一袋塞尔维亚的糖果。有了这个袋子,我们就不能使用监督学习,因为它是没有标签的。在这里,我以前从未见过这种糖果,并且包装纸上是西里尔字母。所以在这种情况下,他做了一种无监督学习的形式。他看着袋子并创建了自己的集群。他这样做是基于他自己对数据的研究。他可能会根据糖果的大小或颜色创建一个集群。事实上,有一年,他创建了一个我从未考虑过的集群。这是一个小簇,他称之为由玫瑰和橙花制成的香水糖。这是无监督学习的重要部分。像我儿子一样,机器研究数据,然后提出自己的集群。聚类分析的最大优点之一是有更多未标记的数据。世界上有很多我从未见过的糖果。所以我将无法创建这些输出类别。您可能还希望通过多种方式使用机器学习来创建集群。你可能希望让机器学习算法对客户进行聚类,然后人类可以通过查看是否有任何模式来理解。乍一看,这些集群似乎并不重要。它们甚至可能看起来微不足道,但请记住,一些最大的公司是围绕创建数据集群而构建的。像亚马逊、Netflix和Twitter这样的公司都在使用机器学习来聚类你的朋友、你的搜索历史和购买习惯。这些系统看到了人类无法创造的模式。

5.3 强化学习(Reinforcement learning)

在线音乐是一个接近300亿美元的产业。仔细想想,这是一个奇怪的生意。很多时候,您可以从Apple Music、Spotify或Tidal购买相同的歌曲。那么,为什么要注册一个服务而不是另一个呢?对于大多数人来说,这与他们推荐系统的力量有关。许多这些系统都是从使用无监督机器学习开始的。他们会推荐歌曲,就像在线零售商说经常一起购买一样。但最好的音乐库不仅希望你们一起购买,其中许多都希望您发现新的东西。因此,为了实现这一点,您必须使用不同形式的机器学习,即强化学习。它是机器学习的一种形式,通过激励系统和奖励来寻找新模式。几年前,谷歌使用强化学习来教人工智能系统如何玩视频游戏。他们的人工智能系统击败了Pong、Atari甚至更现代的视频游戏的专家玩家。但强化学习并不仅限于玩电子游戏。这些系统可以通过设定一系列目标和奖励来不断改进。以Spotify为例,它发现周刊会将您最喜欢的歌曲与一堆相关歌曲进行比较。机器学习算法会跟踪您每次点击和播放歌曲的时间,以及您收听的时间。数据科学家设计了算法,每次您点击相关歌曲时,它都会获得微小的数字奖励。这几乎就像机器学习系统的货币一样。当您点击推荐的歌曲时,它会获得这些奖励。而如果您收听的时间越长,奖励就会增加得越多,例如您收听一分钟就会获得一个奖励币。这些算法通常使用的是称为Q-Learning的方法,它有助于创造更复杂的奖励。在Q-Learning中,有设定的环境或状态,也有可能响应状态的操作。在Q Learning中,您希望机器改善结果的质量,结果由字母Q表示。最初,Q的值为零,然后您让机器学习改善其操作的条件。每次点击歌曲时,Q的值都会增加。你几乎可以将Q-Learning想象成系统的银行账户。它可以赚取一定数量的硬币,然后看到余额增加。一旦建立了奖励系统,它就会寻找模式,以便尝试增加其Q-Learning银行账户。因此,当您的组织想要做的不仅仅是经常一起购买的集群项目时,强化学习系统效果最佳。借助强化学习,您的组织可以构建一个系统,创造性地思考客户可以发现的内容。

6. 机器学习算法

6.1 常见的算法(common algorithms)

机器学习是人工智能领域中最受欢迎的领域之一。这一部分是由于数据的爆炸式增长,也是由于机器学习算法的巨大进步。机器学习本身只是一套技术,一种通过数据学习构建系统的方法。它超越了早期需要明确编程的人工智能系统。但并不存在像Microsoft Office这样的大型机器学习程序。相反,存在许多不同的机器学习算法,这些算法大多是从统计学中借鉴而来。需要记住的关键是,这些算法中的每一个都像厨师的厨房工具,勺子用于搅拌,刀用于切割,但是有时候厨师也会为这些工具找到新的创意用途。例如,一些厨师会使用刀的侧面来压碎大蒜瓣,或用勺子在意大利面上旋转。我曾在一家公司工作,他们使用信用卡数据来尝试提出客户促销。他们开始使用有监督机器学习将客户分为两个不同的组,也就是所谓的二元分类。第一组客户使用了促销,第二组客户从未使用过促销。然后,他们使用机器学习算法来训练系统进行这种二元分类。一旦将客户分为这两组,他们就开始使用无监督机器学习。他们想要研究一下使用促销的客户是否存在某种模式,因此让机器学习算法创建了这个特定客户的簇群。需要记住的是,无监督机器学习允许系统根据其从数据中观察到的模式创建自己的簇群。与我儿子在未知巧克力中发现簇群的方式类似。他们发现在使用促销的群体中,存在一个小的客户群体始终使用促销,他们将其称为促销超级用户。由于该公司的回报与促销的成功紧密相关,因此这个群体是非常重要的。他们发现这个群体喜欢促销产品、服务和餐馆。于是,该公司调整了算法,为这些促销超级用户提供更多的促销活动。这个小小的改变有助于提高整体成功率。如今,该组织同时使用有监督和无监督机器学习,这意味着您将拥有一些最适合有监督分类的算法,和一些最适合无监督聚类的算法。这就是为什么了解可用的机器学习算法非常重要。每个算法都有自己的优点和缺点,有些算法需要更多的计算资源,而其他算法则更加轻量级但准确率较低。每种算法主要用于监督学习或无监督学习,但有些算法可以用于这两种学习方式。就像一位出色的厨师一样,真正的创造力不在于工具,而在于食材。数据科学团队可以混合匹配这些算法,以从数据中获得最大的洞察力。这些机器学习算法通常包含在大多数机器学习软件工具包中,因此您的数据科学团队可以发挥他们的技能和创造力。

6.2 K-nearest neighbor

在机器学习中,了解数据的更多信息的最佳方法之一是使用您已知的内容对其进行分类。 让我们这样想一下,当我年轻的时候,在芝加哥的一家动物收容所工作,对传入的狗的品种进行分类是最困难的工作之一。 因为有数百种不同的犬种,大多数狗都是混合品种。 每次收容所收到一只新狗时,我们将其与我们已知品种的狗进行对比。 我们会观察到一些特征,例如脸型或毛发颜色。 从某种意义上说,收容所是通过观察最相似的邻居来对未知的狗进行分类。 当然,判断狗是属于波士顿梗还是法国斗牛犬并不容易。 越接近匹配,被分类的可能性就越高。 另一种观点是,我们试图尽可能减少未知狗与已知品种之间的距离。 如果特征相似度较高,未知狗与其最相似邻居之间的距离则较短。 一种常见的用于多类分类的监督机器学习算法称为K最近邻算法。 该算法会将新数据与已有数据进行比较。 多类分类与二元分类不同,因为它涉及两个以上的犬种。 最小化距离是K最近邻算法的关键部分。 离最近的邻居越近,准确性就越高。 最常用的方法是使用一种称为欧氏距离的数学公式,用于衡量数据点之间的距离。 现在想象一下,您有数百万只狗,希望根据它们的品种进行分类。 首先,您可能需要创建两个关键特征,这些特征将有助于分类,通常称为预测变量。 让我们以体重和毛发长度作为例子。 然后,我们将这两个特征放在xy坐标图上,与您在学校学过的几何中使用的图表相同。 让我们将头发长度放在y轴上,体重放在x轴上。 现在,以有标签的1000只狗为训练集,就像我们已经知道它们品种的收容所犬一样,我们将根据它们的体重和毛发长度在图表上放置它们。 现在,让我们将未知的狗放在图表上。 您会看到它与另一只狗不匹配,但它有一群邻居。 假设我们使用的K是5。 这意味着我们希望在未分类的狗和它的五个最接近邻居周围画一个圆圈。 通过观察其他狗的距离,我们可以得到更准确的分类结果。 现在,让我们看看这五个最近邻居。 你会发现其中三只是牧羊犬,两只是哈士奇。 您可以相对自信地将您未知的狗分类为牧羊犬,也有可能是哈士奇。 K最近邻算法是一种非常常见且功能强大的机器学习算法。 这是因为您不仅可以用它对狗进行分类,事实上,它在金融领域通常用于寻找最佳股票或甚至预测未来表现。

6.3 K-means clustering

另一种常见的机器学习算法是K均值聚类。K均值聚类是一种无监督的机器学习算法,用于根据计算机在数据中观察到的内容创建群集。让我们回到芝加哥的动物收容所。收容所曾经有一个大型社交室,狗们在那里聚在一起,嗅闻和嬉戏。狗们有他们的一群朋友,他们一起玩耍和闲逛。每当社交时间到来,它们会自行组织成这些社交团体。现在设想一下,收容所要关闭,所有的狗将被分配到三个不同的收容所。为了更好地安置狗,组织者决定根据它们的朋友群将狗进行聚类。因此,收容所创建了三个簇。这意味着K均值中的K等于3,因为他们想将组件分成三个聚类。首先,机器会在三只随机狗身上戴上红色、黄色或蓝色项圈,每种颜色代表根据它们的社交团体的潜在聚类。这些狗将成为初始的质心。每只质心狗会计算自己和周围所有狗的平均距离。然后,机器会将相同颜色的项圈放在离质心最近的狗身上。由于质心狗是随机选择的,它们通常不会真正拥有正确的聚类。也许所有三只质心狗属于同一个社交团体。如果情况是这样的话,大多数狗会离它们最近的质心较远,所以算法将重新分配项圈,直到找到一个好的质心狗。机器会一次又一次地进行尝试,直到选择出最佳的质心,甚至可以一次聚类一只狗。在每次迭代结束时,机器学习算法会检查每只狗和质心之间的方差。一旦有一个好的质心,它会将相同颜色的项圈放在每个簇中的狗的朋友身上。现在请记住,狗本身并没有被分为三组。可能有七八个不同的社交团体,但只有三个收容所,所以算法必须尽力将狗的自然社交团体分为三个聚类。算法还必须考虑那些非常社交的狗从一个团体跳到另一个团体的情况。如果狗动来动去太多,真正的聚类就很难形成。K均值聚类的另一个挑战是它对异常值非常敏感。因此,即使有一只狗不和其他狗一起出去玩,它依然必须被归入三个聚类之一。从本质上讲,狗被迫寻找新的朋友。将狗分成三个聚类并将其分配到三个收容所可能不是每天都会遇到的问题,但K均值聚类是最流行的机器学习算法之一。一个更有趣的应用是零售商使用聚类来决定谁能获得促销优惠。他们可能会让系统创建三个簇,以寻找忠诚的顾客、老顾客和价格敏感购物者。然后,他们将制定策略,将定期客户提升为忠实顾客。许多组织正在寻找更好的方法来将他们的客户聚集在一起。如果他们能够将所有忠实顾客聚集到一个簇中,那么他们就能真正改善他们的业务。K均值聚类是系统通过考察数百个不同的变量对人或事物进行聚类的良好方法之一。

6.4 Regression

我曾在一家在线车辆销售公司工作,每次他们将客户送到汽车经销商时,公司都会获得推荐费。对他们来说,关注汽车销售的趋势至关重要。人们更有可能在春季和夏季购买敞篷车和跑车,而在秋季和冬季更有可能购买卡车和SUV。因此,当客户访问该网站时,他们会根据人们的购买意向进行季节性促销。他们使用的其中一个工具是回归分析,这是一种监督式机器学习算法,用于预测因子与结果之间的关系。预测因子有时也被称为输入变量、自变量或回归变量。回归分析是一种有监督的机器学习算法,您会获得训练数据并为其标记正确的输出,然后使用标记的数据与测试数据一起进行预测。回归分析最好的理解方式是想象趋势。随着天气变暖,人们更有可能购买敞篷车,随着天气变冷,人们更有可能购买卡车和SUV。然而,回归分析并不能告诉您人们为什么做出这些选择,这需要数据科学家和业务分析师进行进一步研究。回归分析只告诉您这些趋势正在发生。机器学习的回归算法也是类似的。一旦您获得了训练数据,您就可以进行预测并观察其与实际结果的接近程度。然后一遍又一遍地进行重复,直到系统能够做出最准确的预测。在这种情况下,数据科学团队认为季节变化是某些车辆销售的一个很好的预测指标,所以他们将月份作为一个预测指标,并将其与某些车辆销售额进行了映射。利用这些训练数据,他们创建了一个简单的X轴和Y轴图表。请记住,这是您在几何学中学到的简单图表。沿着Y轴或底部轴,他们列出了月份的名称,沿着X轴或顶部轴,他们按车辆类型列出了销售额。然后他们观察到了趋势线。敞篷车和跑车的销量将在五月、六月和七月上升,之后在九月、十月和十一月下降。相反,卡车和SUV的销量在这段时间会上升。数据越多,制作准确的趋势线就越容易。可以想象,回归分析对于组织来说是非常强大的。它使您能够根据客户的兴趣提供相应的产品。这就是为什么像沃尔玛这样的大型零售商将货架上堆满商品的原因,因为他们需要跟随顾客口味的变化。夏天人们购买更多的Pop-Tarts,而冬天购买更多的牛奶和奶酪。他们希望通过预测购买趋势来确保货架上充满了这些商品。关于回归分析的一个有趣的事情是,关于它是否真的属于机器学习存在一些争议。这是有道理的,因为系统并没有学习到任何新的东西,不过转而是进行预测。无论如何,回归分析都是一种非常流行的方法,用于预测企业未来的行为。这些趋势无处不在,如果您错过了它们,就无法从中获得学习。因此,请花点时间考虑一下回归分析可能会揭示您业务的趋势,您可能会对所学到的东西感到惊讶。

6.5 Naive Bayes

我们已经看到,有时候您可以根据最近的邻居对项目进行分类。您还可以根据数据趋势进行分类。但有时,您希望根据数据中的许多要素对项目进行分类。为此,您可以使用一个称为朴素贝叶斯的东西。朴素贝叶斯是最流行的机器学习算法之一。这很幼稚,因为它假设所有预测因子都彼此独立。所以让我们回到我们的动物收容所。想象一下,我们想根据狗的品种对所有狗进行分类。让我们使用朴素贝叶斯机器学习算法来研究这个问题。首先,让我们创建三类犬种。我们将使用梗犬、猎犬和运动犬。现在,对于每一类中的特征,我们将使用三个特征作为预测因子。让我们使用头发长度、身高和体重。请记住,其中一些预测因子将紧密自动相关。高大的狗更有可能体重更大。但朴素贝叶斯独立地考虑这些预测因子中的每一个。记住,这就是为什么它被称为幼稚。一旦您设置了类和预测因子,朴素贝叶斯将计算称为类预测因子概率的东西。这是当它查看每个预测因子并创建狗属于该类的概率时。因此,让我们看看当我们尝试识别一只未知的狗时会发生什么。我们首先看的是头发长度这个预测因子。机器学习算法会检查具有这种毛发长度的狗属于三个品种的概率。它发现,具有这种毛发长度的狗有40%的机会是梗犬,10%的机会是猎犬,50%的机会是运动犬。接下来,您要检查的是未知狗的身高。它独立地查看此预测变量,并尝试计算类预测变量的概率。因此,它查看了训练数据,发现未知狗有20%的可能性是梗犬,10%的可能性是猎犬,70%的可能性是运动犬。您要检查的最后一件事是未知狗的体重。这似乎是一个奇怪的预测因子,因为它与身高密切相关。但请记住,朴素贝叶斯是独立评估每个预测因子的概率的。它查看训练数据,发现未知狗有10%的可能性是梗犬,5%的可能性是猎犬,85%的可能性是运动犬。所以现在您有一个表,其中包含未知狗的类预测概率。如果您看一下,您可以看到这只狗很可能是一只运动犬。可以想象,组织可以使用朴素贝叶斯来做更多的事情,而不仅仅是对犬种进行分类。银行使用它来检查欺诈行为。他们独立地查看每个银行的预测因子,然后衡量其欺诈的可能性。然后,他们使用类预测概率对事务进行分类。网络安全公司也使用朴素贝叶斯来寻找安全威胁。它独立地查看每个威胁的预测因子,然后标记项目以进行安全审查。关键是,由于朴素贝叶斯做出的假设很少,它可以查看大量的预测因子。通常,这些额外的预测因子会使数据分类更加准确。

7. 应用算法

7.1 选择最佳算法

现在您已经看到了三个监督机器学习算法的例子,包括K最近邻、回归分析和朴素贝叶斯。这些算法通常用于分类,而K均值聚类则用于无监督学习和聚类。需要记住的是,每个算法都是一种工具,设计用于特定目的,但您仍然可以创造性地使用它们,就像您可以用叉子搅打鸡蛋或用刀子切开鳄梨一样。然而,就像任何一位出色的厨师知道的那样,您永远不会只凭单一道菜来判断。相反,整顿一餐的表现才是关键。因此,在数据科学团队中,使用一种叫做集成建模的方法是常见的。如果您是演员或音乐爱好者,您可能听说过“合奏”的概念,即小组合作演奏。机器学习算法也是如此。有几种不同的方法可以实现合奏,其中最受欢迎的是装袋和堆叠。装袋是指使用同一种机器学习算法的多个版本,而堆叠是指使用多种不同的机器学习算法并将它们组合在一起。我曾在一家大型家居零售商工作过。他们面临的挑战之一是在收银台附近放置哪些商品?您可能会惊讶于在结账前几分钟内销售的商品可以创造多少收入。因此,他们希望创建一个机器学习算法的集合。他们争论使用哪种合奏方式可能会带来最佳结果。他们可以尝试使用装袋方法中同一算法的不同变体,然后观察是否能提高准确性。该零售连锁店是全国连锁店,因此他们可以从全国各地的商店中获取训练数据样本。因此,他们可以随机提取数据样本,并使用K最近邻算法对这些数据集进行独立分类。然后,他们将这些结果合并在一起,看看是否可以揭示更大的趋势。他们还会结合顾客购买前的其他见解。在某种程度上,他们正在平均化这些见解,以更准确地预测。零售商还可以尝试堆叠的方法。这种方法与对见解进行平均化不同,而是逐步提高结果,以使得零售商可以接受最受欢迎商品的培训集。假设最畅销的商品是锤子,那么他们可以使用K最近邻算法来查看购买锤子的人经常会购买什么其他物品,比如钉子和工具包。我们大多数人直觉上知道,购买锤子的人更有可能购买钉子。然而,如果我们想将一些物品放在收银台附近,这个直觉可能没有帮助。因此,这种情况下可能需要采用朴素贝叶斯算法等方法。请记住,朴素贝叶斯是“朴素”的,因为它假设预测变量之间是独立的。所以它不认为购买锤子就意味着需要钉子。相反,它会预测其他受欢迎但看起来不相关的物品。例如,购买锤子的人更有可能购买巧克力棒。将不同的机器学习算法进行混合和匹配将为您提供具有不同见解和结果的集成模型。就像任何优秀的混合一样,预测的准确性取决于数据科学团队的创造力。

7.2 跟随数据

在老电影《总统的男人》中,尼克松丑闻的顶级线人在停车场见面,说:“跟着钱走。 记者只有跟着钱走,才能发现真相。 像记者一样,机器学习算法必须遵循数据才能找到真相,但这说起来容易做起来难。 事实上,机器学习中最大的挑战之一是平衡偏差和方差。 偏差是预测值与实际结果之间的差距。 假设你在玩骰子,预测你会掷五、三次,但你掷了四、三次。 那么你的预测就会有很高的偏差。你每次都差一个。 方差是指预测值分散在各个地方。 因此,如果你在玩骰子,你预测你会掷五三次,但你实际上掷了两次、四次和六次,那么你的量会有所不同。 那么你的数据就会过于分散。 现在,对系统如何出错做出如此大的事情似乎很奇怪,但是当你使用机器学习算法时,这是两个独立的挑战,所以系统需要以不同的方式修复它。 想想飞镖游戏。 飞镖板的中心是机器的最佳预测。 这意味着中间的小红靶心是正确的预测。 机器可以投掷三枚飞镖,每枚飞镖都会出错。 它们都落在红靶心正上方的右上角。 这称为具有高偏差和低方差。 飞镖紧密地组合在一起,但它们都太右了。 数据集将具有高偏差。 这意味着为了做出更好的预测,机器只需要将飞镖组向下并向左拉即可。 现在想象一下不同的挑战。 机器将飞镖扔向飞镖板,飞镖到处都是。 这意味着数据具有广泛的分布,因此此数据将具有很高的方差。 为了做出更好的预测,机器需要收紧最靠近靶心的飞镖。 理想情况下,您希望预测具有低偏差和低方差。 这意味着所有的飞镖都在靶心中。 但在大多数情况下,机器将不得不修复高偏差或高方差。 在机器学习中,这是一个如此普遍的问题,它被称为偏差-方差权衡。 像任何权衡一样,这意味着如果系统试图平衡其中一个的影响,它必须考虑对另一个的影响。 因此,如果机器减小了方差,它也将不得不增加偏差。 如果机器增加偏差,则会增加方差的差。 这就是机器需要跟踪数据的原因。 机器将转动这些旋钮中的每一个,以找到偏差和方差之间的最佳权衡。 这样,它可以将最佳预测归零。

7.3 过拟合和欠拟合(Overfitting and underfitting)

当我儿子三岁时,我们告诉他在睡觉前需要刷牙、使用牙线和洗澡。然后有一天,我接到他幼儿园的电话,说除非他们向他提供淋浴、牙刷和牙线,否则他将不能午睡。我向他解释说,不遵守这些规则会影响他的午睡。他似乎很生气,但还是同意了。我们制定给他的规则太简单了,它们在家里很有效,但在外面的世界不适用。因此,我们增加了更多复杂性。他不必在探望祖父母或乘坐飞机时遵守学前午睡的规则。每当我们增加更多变量时,他都会对复杂性感到更加恼火。在监督式机器学习中,您的AI系统可能会遇到类似的问题。系统可能会为其训练数据创建简单的规则,但在处理更大的测试数据时效果不佳。就像我儿子经历的那样,家里行得通的方法在外面世界行不通。这个挑战被称为数据拟合不足。有时,数据科学家会引入更多复杂性,但这反而使系统更难处理。就像我们为我儿子的简单规则添加了所有变量一样。这被称为过度拟合数据。想象一下您为像Zillow这样的网站工作,该网站用于匹配房屋买卖双方。您需要估计房屋价格,您的机器可以使用朴素贝叶斯算法创建四个预测变量,即平方英尺、位置、浴室数量和卧室数量。这样,它就可以独立地查看每个预测因子,然后将其与最近出售的房屋进行比较。然后系统将提供准确的估计。现在,请记住,您只使用了四个预测因子来训练系统。所以机器是从一个简单的规则中学习的,就像每天晚上都要洗澡和刷牙的简单规则一样。因此,这一规则很可能不能很好地适应数据。当您面对成千上万个房屋时,它的效果就不好了。最重要的是,住房数据通常具有很大的差异。请记住这是当数据的分布非常分散时。很多具有相同平方英尺、位置和浴室数量的房屋有不同的价格。因此,很难找到一个紧密的群体。为了解决这个问题,数据科学家可以引入新的预测因子。也许他们会为视野质量、现代化电器、木地板或步行方便性引入预测因子。这将导致更复杂的预测,因为现在您的机器需要平衡更多的预测因子。所以这里的规则是过度拟合数据。系统需要考虑这些预测变量之间的更多关系,才能做出准确的预测。要记住的关键是,实际上没有一种方法可以完全解决这个问题。在训练系统时,您需要在简单规则和为规则提供足够的复杂性以做出良好预测之间找到平衡。您需要在数据拟合不足和过度拟合之间找到平衡。

8. 人工神经网络(Artificial neural networks)

8.1 构建一个神经网络(build a neural network)

机器学习算法可以看到数据中的模式,但有时你只是有太多的数据来使用这些算法。 因此,许多大型组织使用人工神经网络。 人工神经网络是一种机器学习,它使用人脑等结构来分解海量数据集。 人工神经网络不使用以前的机器学习算法,而是将数据分解成更小的部分。 早些时候,我们谈到了人工神经网络作为一种模仿大脑的机器学习技术。 该网络由组织成层的神经元构成。 图层从左向右移动。 有输入层、隐藏层和输出层。 如果网络有很多隐藏层,那么它被称为深度学习人工神经网络。 这是因为网络是多层的。 网络的隐藏层越多,网络就越容易识别非常复杂的模式。 因此,让我们想象创建一个人工神经网络来识别图像中是否有狗。 把它想象成一个二元分类,狗或不狗。 为此,需要对从输入层到狗或不狗的图像进行分类。 您将图像输入到输入层,然后输出将分类为狗或非狗。 我们已经看到,对于机器来说,图像只是不同数据位的集合。 所以在这种情况下,你会有一堆像素。 这些是图像上的微小颜色点以及不同级别的亮度或对比度。 让我们拍摄一张狗的图像并将其分解成像素。 假设您的图像高 25 像素,宽 25 像素。 因此,您的整个图像包含 625 像素。 这意味着每个图像有 625 个数据点。 假设我们获取这 625 个像素并将它们输入神经网络。 每个像素都被馈送到输入层。 输入层中的 625 个神经元中的每一个都有一个基于像素颜色的数字。 隐藏层中的每个神经元都有一个称为激活函数的东西。 激活函数就像一个微小的网关。 它让神经元决定是否要将数据发送到网络中的下一个隐藏层。 每个隐藏层将像素数据转发到下一个隐藏层。 然后,在最后,输出层中将有两个节点。 请记住,这是一个二元分类挑战,所以只有两个选择:有狗还是没有狗? 由于像素数据从左到右在各层中移动,因此称为前馈神经网络。 人工神经网络的一大优势是它们是自我调优的。 它们几乎就像一种乐器,可以自我调音,直到得到完美的音符。 因此,输出层中的两个神经元中的每一个都将有一个概率分数。 要记住的关键是,人工神经网络最常用于监督学习。 您可以训练网络,然后它将根据是否正确识别您的输入进行自我调整。

8.2 权衡连接(weighing the connections)

作为人类,我们一直在为数据赋予权重。我们检查数据的特征,以更好地预测输出。假设您正在查看一张美丽的草地开放空间的照片,然后您在照片中看到一个小模糊的物体。您认为那个模糊的物体是狗的概率是多少?现在,想象您正在查看一幅干燥的沙漠图像,图像中也有一个稍微模糊的对象。您认为这个物体是狗的概率是多少?如果您像大多数人一样,您会认为狗更有可能在草地上,所以您的人类神经连接在草地上增加了正权重,在干燥沙漠上增加了负权重。人工神经网络也是如此。与我们一样,这些网络需要在概率的世界中工作。沙漠中可能有一只狗,但如果您是一个人造神经元,您对激活持怀疑态度。人工神经网络的结构使其能够更好地调整自身以理解您的数据,它几乎像是一种自动调音器。要为吉他等乐器调音,您需要在弹奏音符时扭动旋钮。使用人工神经网络,这些旋钮会改变神经元之间的连接权重。人工神经网络增加了每层神经元之间的连接权重。隐藏层中的每个神经元都会前馈到下一层中的每个其他神经元中。因此,如果每个隐藏层中有100个神经元,则该层中的每个神经元将有100个输出连接。这是非常多的连接。但它真正强大的地方是,这些连接中的每一个都有一个权重。这就是为什么如果您曾经看过神经网络的草图,您会看到每条连接线上都有一个带数字的W。所以在这种情况下,会有一个W1,W2,W3一直到W100。对于每个隐藏层,您都会看到这一点。现在,每个连接的权重是人工神经网络如何调整自身的关键部分。请记住,人工神经网络只是监督式机器学习的一种形式。因此,数据科学家使用与训练网络相同的技术。请记住,监督式机器学习从训练集开始。然后,一旦调整算法以做出准确的预测,您就可以转到更大的测试数据集。同样的事情也会发生在您的人工神经网络上。当您第一次初始化神经网络时,系统会随机为这些数千个权重分配数字。然后,您将训练数据馈送到网络中,并根据是否获得正确的输出来调整权重。网络将重复此操作,直到准确识别输出模式。它会随着时间的推移自动调整以获得最佳的预测。

8.3 激活偏置(the activation bias)

人工神经网络是自我调优的。你已经看到它就像一种乐器。它比较完美音符的输出,然后调整自身的参数以匹配这种声音。但归根结底,人工神经网络仍然是机器学习的一种形式。这意味着它使用许多相同的工具和技术来帮助系统学习。你已经看到,人工神经网络通过调整连接的权重来自我调整,但仅通过调整权重无法纠正方差。系统正试图将数据聚集在靶心附近的紧密群集中。网络投掷飞镖,然后测量它与正确预测的接近程度。然后它会调整权重并再次投掷飞镖,以查看是否更接近。在进行预测时,您需要平衡数据中的偏差和方差,这称为偏差方差权衡。因此,调整方差会影响偏差。在人工神经网络中,偏差是系统分配给每个神经元的数字。这个数字偏差会将数据朝不同的方向移动,以使其更准确。网络必须自我调整,以找到数据偏差和数据方差之间的最佳平衡点。它必须调整权重和添加偏差来自我调优。有时你几乎为让人工神经网络经历这个调优过程而感到困扰。它通过调整连接的权重来减小方差,但这会使方差稍微偏离目标。然后它添加偏差来纠正偏移,但随后又会使数据分散。人类会发现这非常令人沮丧。这就像机器试图以紧密的队形投掷飞镖,同时使用偏置将整个飞镖板移近靶心。最重要的是,人工神经网络倾向于过度拟合数据。请记住,过度拟合是指系统在训练时增加了很多复杂性。因此,当人工神经网络查看训练集中的数据时,它可能会过度学习有关数据的经验教训。由于它过度拟合其训练集,因此当您调整方差时,它可能会发生很大的变化。这使得机器更难在偏差和方差之间找到一个很好的平衡。这就像系统试图在结冰的道路上直行一样。道路的一侧是太多的偏差,另一侧是太多的差异。如果它在一个方向上滑得太多,它就必须调整方向。关于偏差要记住的一件关键事情是,它位于神经元上,而不是像权重那样分配给连接。如果你仔细想想,这样是有意义的。机器只有在观察到方差之后才能添加偏差。从某种意义上说,它只有在已经投掷了几枚飞镖之后才能调整飞镖板的位置。否则,机器将不知道应该如何调整。

9. 提高准确性

9.1 从错误中学习

我们人类倾向于以非对即错的方式思考,但人工神经网络需要更精确。对于神经网络来说,95%正确和97%正确是有很大差别的。挑战在于系统如何测量错误程度,这是通过成本函数来衡量的。成本函数是系统根据正确答案评估其答案的数字。如果答案接近正确,成本就较低;如果答案相差较大,成本就较高。举例来说,假设神经网络正在判断一张图片是否包含狗。网络可能表示照片是狗的可能性为97%,但事实上是一只猫的照片,这种错误代价较低。现在,假设网络表示照片是狗的可能性为99%,但实际上是一张雪山的照片,这种错误的代价较高。因为这次的错误非常大,所以需要对权重和偏差进行更积极的调整来纠正错误。纠正错误是一项棘手的任务,所以很多神经网络使用一种称为梯度下降的方法。梯度表示陡度,下降表示减少。可以想象,你的人工神经网络又在扔飞镖了。它进行预测,看离靶心有多近。有些预测相差很大,而其他预测很接近。当飞镖飞行时,与飞镖板之间会有一段距离。它以向上的角度飞行,然后向下运动,直到撞到板上。如果完全错过了板,它将希望对角度进行更大的调整。如果非常接近目标,那么调整角度的变化将较小,这样就可以命中靶心。嗯,神经网络做同样的事情。它使用梯度下降的计算来调整网络中的权重和偏差,以衡量错误的程度。尽管没有使用飞镖,但使用类似的计算来评估错误的角度。这就是反向传播的原理,也是人工神经网络的一大创新。请记住,我们使用的是前馈人工神经网络,数据从左到右进行传递,从输入层到输出层。但是当网络犯错时,它需要向后传播。通过梯度下降来确定错误的程度,然后使用反向传播来调整权重和偏差。如果网络的预测相差较大,需要进行较大范围的调整。但如果预测接近正确答案,那么网络就会更加谨慎地进行调整,通过前向传播和反向传播使自己调整到正确的答案。

9.2 逐步通过网络(step through the network)

构建一个人工智能系统需要什么?为了思考这一点,让我们回到我们在图像中寻找狗的挑战。数据科学家需要做的第一步是弄清楚他们想要从数据中得到什么。在这种情况下,他们并没有要求AI系统将自己的组聚集在一起。相反,他们要求系统将数据分为两类。一个类别将有狗的图像,其他类别将不是狗。这是一个经典的二元分类挑战。请记住,那时神经网络只有两种可能的分类。这意味着他们将进行监督式机器学习。请记住,监督式机器学习从标记数据开始。在这里,该系统将使用数十万张已知包含狗的图像进行训练。数据科学家的下一步是弄清楚他们是否想使用标准的机器学习算法,或者他们是否想使用人工神经网络。请记住,这是一个分类问题,所以如果他们使用机器学习算法,他们可能会使用K最近邻或朴素贝叶斯。您已经看到系统会将每个图像分解为像素。这意味着这将是一个复杂的挑战,需要大量的数据,所以他们将使用人工神经网络。他们将创建输入层、隐藏层和输出层。现在,请记住,由于这是一个二元分类挑战,因此只有两个选项,狗或不狗,因此它们只需要两个节点作为输出层。接下来,将初始化神经网络。系统会为连接的所有权重分配随机数。然后,系统会将所有节点上的偏差设置为零。这几乎就像摇晃蚀刻草图以给自己一个干净的石板。现在,训练集需要输入神经网络。前几张图片可能不会比随机猜测好多少。神经网络会说,图像有62%的可能性包含狗,或者55%的可能性不是。然后,网络将其答案与数据上的标签进行比较。如果它错误地识别了狗的图像,那么它将查看梯度下降以确定权重和偏差的变化程度。神经网络将遍历训练集中的所有数据,以微调其结果。请记住,网络将使用反向传播来改变权重和偏差以降低成本函数,从而自我调整。从某种意义上说,它将在网络中向后移动并扭曲所有表盘以提高其准确性。一旦人工神经网络通过训练集,就会从测试集中添加数据。测试集不会被标记。它可能是数十万张任何东西的图像。然后,您将看到神经网络在识别狗照片时的表现如何。有时,神经网络在训练集上做得很好,但在测试集上就不那么好了。发生这种情况时,通常意味着您正在过度拟合数据。请记住,这是系统真正擅长识别较小的训练集,但没有足够的复杂性来处理测试集中的新数据。现在,您的团队不太可能很快对狗进行分类,或者不对狗进行分类。但是,这种二元分类方法是从数据中获取见解的有效方法。想想你的客户数据、你的销售数据,甚至是来自你的物联网设备的数据,以及你可以从这种方法中学到什么。

完结!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值