当前位置: 首页 > 科技观察

终于有人把数据科学、机器学习和人工智能解释清楚了

时间:2023-03-18 15:59:49 科技观察

01什么是数据科学?数据科学做什么?先从数据科学领域的讨论说起。让我们通过定义数据科学和数据科学家的角色和职责来开始我们的讨论,这些角色和职责描述了人工智能和机器学习领域以及执行其计划所需的技能(请注意,许多专业角色越来越普遍,例如机器学习工程师)。尽管数据科学家通常具有许多不同的教育背景和工作经验,但大多数人应该在四个基本领域(我称之为数据科学专业知识的四大支柱)方面很强(最好是专家)。数据科学家应具备以下领域的专业知识(排名不分先后):商业或相关商业领域数学(包括统计和概率)计算机科学(包括软件编程)非常需要书面和口头交流以及其他技能和专业知识,但在我看来,主要是以上四项。在现实中,人们往往在四大支柱中的一两个方面都很强,但很少在四个方面都很强。如果你碰巧遇到一个四个维度都很强的数据科学家,那他就是真正的专家,你就发现了常说的独角兽。在所有四大支柱上都具有相当程度的专业知识和能力的人很难找到,而且严重缺乏。因此,许多公司已经开始围绕数据科学的特定支柱创建专门的角色,当你将这些人聚集在一起时,你就有了数据科学家。比如组成一个三人团队,其中一个有MBA背景,一个是统计学家,一个是机器学习或者软件工程师。当然,团队中也可以包括数据工程师。然后团队可以执行多项任务,每个任务在任何给定时间专注于计划的一个方面。基于这些支柱,数据科学家应该能够利用现有的数据源并根据需要创建新的数据源,以提取有意义的信息、生成深刻且可操作的见解、支持数据驱动的决策制定以及构建人工智能解决方案。这需要业务领域的专业知识、有效的沟通和结果解释,以及所有相关统计技术、编程语言、软件包、图书馆和数据基础设施的利用。简而言之,这就是数据科学的全部内容。02机器学习的定义及其主要特征机器学习通常被认为是人工智能的一个子集。让我们先谈谈机器学习。请记住我们对人工智能的简单定义,即机器展示的智能。这基本上描述了机器从信息中学习并将该知识应用于做事并继续从经验中学习的能力。在很多人工智能应用中,机器学习是人工智能应用过程中用于学习的一组技术。一些具体的技术可以看作是人工智能和机器学习的一个子集,通常包括神经网络和深度学习,如图4-1所示:▲图4-1人工智能、机器学习、神经网络和深度学习之间I我真的很喜欢机器学习的这个简洁定义,我在一篇GoogleDesign博客文章中读到:“机器学习是根据从数据中自动发现的模式和关系进行预测的科学”。我通常对机器学习的非技术定义是:机器学习是在没有显式编程的情况下自动从数据中学习的过程,并且具有根据经验扩展知识的能力。机器学习和基于规则的技术之间的一个关键区别是没有显式编程是必需的,尤其是在特定领域、行业和业务功能领域。深度学习等高级技术可能根本不需要领域专业知识,而在其他情况下,领域专业知识以选择或设计的形式提供训练模型的特征(在非机器学习应用中,称为变量、数据字段或数据属性)。在这两种情况下,不需要显式编程是绝对关键的,实际上也是理解机器学习最重要的方面。让我们用下面的案例来解释。在机器学习出现之前,假设你是一名程序员,负责创建一个预测模型来预测d某类贷款的申请人是否会违约并因此决定是否批准该贷款。为此,您可能会编写一个专门针对金融行业的长软件程序,输入个人的FICO评分、信用记录和贷款申请类型等信息。Thecodecontainsmanyveryexplicitprogrammingstatements(suchasconditionalstatementsandloopstatements).伪代码看上去(用普通英语编写的代码)可能像下面这样:IfthepersonsFICOscoreisabove800,thentheywilllikelynotdefaultandshouldbeapprovedElseifthepersonsFICOscoreisbetween700and800Ifthepersonhasneverdefaultedonanyloan,theywilllikelynotdefaultandshouldbeapprovedElsethewilllikelydefaultandshouldnotbeapprovedElseifthepersonsFICOscoreislessthan700...这是一个非常显性的编写程序(基于规则预测的模型)案例,它包含以代码形式表示达的贷款行业特定领域的专业知识。该程序被硬编码为只做一件事。它需要领域和行业专业知识来确定规则(场景)。该程序非常严格,并不一定代表所有可能导致潜在贷款违约的因素。该程序还必须通过手动输入来更新贷款行业的各种新变化。可以看出,这种方法不是特别有效或最优,也没有产生可能的最佳预测模型。另一方面,机器学习可以使用正确的数据来做到这一点,而无需任何明确的编程,尤其是包含贷款行业专业知识的代码。这是对机器学习的一些简单解释。机器学习可以在不知道相关数据或领域的情况下使用数据集作为输入,并通过同样不知道相关数据或领域的机器学习算法生成预测模型。模型具有专业知识并了解如何将输入映射到输出,从而实现最准确的预测。如果你能理解这一点,你可能会在较高层次上理解机器学习的目的。值得一提的是,虽然机器学习算法本身无需显式编程即可学习,但在构思、构建和测试基于机器学习的AI解决方案的整个过程中,仍然非常需要人类参与。03机器学习的方法机器通过各种不同的技术从数据中学习,其中最突出的包括监督学习、非监督学习、半监督学习、强化学习和迁移学习。用于训练和优化机器学习模型的数据通常分为两类:标记和未标记,如图4-2所示。▲图4-2标注数据和未标注数据标注数据有目标变量或值。对于给定的特征值组合(也称为变量、属性、字段),可以预测目标变量或值。预测建模(机器学习的一种应用)在标记的数据集上训练模型,然后预测新的特征值组合的目标值。因为目标数据存在于数据集中,所以称为标记数据。另一方面,未标记数据也有特征值但没有特定的目标数据或标签。这使得未标记的数据特别适合分组(即聚类和分割)和异常检测。值得注意的是,不幸的是,可能很难获得足够数量的标记数据,而且生成此类数据可能既昂贵又耗时。标签可以自动添加到数据记录中,也可能需要手动添加(数据记录也称为样本,可以认为是电子表格中的一行)。监督学习是指使用标记数据进行机器学习,而无监督学习使用未标记数据。半监督学习使用标记和未标记数据的混合。让我们简要地讨论一下高层次的不同学习类型。监督学习有许多潜在的应用,例如预测、个性化推荐系统和模式识别。监督学习进一步细分为两类应用:回归和分类。这两种方法都用于进行预测。回归主要用于预测单个离散值或真实值,而分类用于将一个或多个类别分配给一组特定的输入数据(例如电子邮件中的垃圾邮件或非垃圾邮件)。无监督学习最常见的应用是聚类和异常检测。一般来说,无监督学习主要集中在模式识别上。其他应用包括用于降维(减少数据变量的数量并简化模型的复杂性)的主成分分析(PCA)和奇异值分解(SVD)。尽管基础数据未标记,但当通过非监督学习过程本身以外的过程将标签、特征或配置应用于聚类(分组)发现时,可以将无监督学习技术应用于有用的预测。无监督学习的挑战之一是没有特别好的方法来确定无监督学习生成模型的性能。输出取决于您对它的解释,没有对错之分。这是因为数据中没有标签或目标变量,因此没有可用于比较模型结果的数据。尽管有这个限制,无监督学习还是非常强大的,并且有很多实际应用。当未标记数据丰富而标记数据稀缺时,半监督学习可能是一种非常有用的方法。在涉及标记和未标记数据的机器学习任务中,该过程获取数据输入并将其映射到某种类型的输出。大多数机器学习模型的输出非常简单,要么是一个数字(连续的或离散的,例如3.1415),一个或多个类别(即类别;例如“垃圾邮件”、“热狗”),或者概率(例如35%的概率)。在更高级的AI案例中,输出可能是结构化预测(即一组预测值而不是单个值)、字符和单词的预测序列(例如短语、句子),或者来自芝加哥最近的人工智能小熊队比赛。生成一个简短的报告(Comeonbears!)04人工智能的定义和概念前面给出了人工智能的简单定义,即机器所表现出的智能,包括机器学习和深度学习等技术的具体子集.在进一步明确人工智能的定义之前,我们首先定义通用智能的概念。智力被定义为:学习、理解和应用所学知识以实现一个或多个目标。所以智能基本上是使用学到的知识来实现??目标和执行任务的过程(对人类来说,例子包括决策、说话和做事)。既然已经定义了通用智能,那么很容易看出人工智能只是机器所表现出的智能。更具体地说,人工智能描述了机器何时能够从信息(数据)中学习,产生某种程度的理解,然后使用这些知识来做某事。人工智能领域涉及并借鉴了多种科学,包括神经科学、心理学、哲学、数学、统计学、计算机科学、计算机编程等。由于人工智能的基础及其与认知的关系,它有时被称为机器智能或认知计算;也就是说,形成知识和理解所涉及的心理过程。更具体地说,认知和更广泛的认知科学领域是用来描述大脑的过程、功能和其他机制的术语,这些过程、功能和其他机制能够收集、处理、存储和使用信息以产生智能和驱动行为。认知过程包括注意力、知觉、记忆、推理、理解、思考、语言、记忆等。其他相关的、更深层次的哲学概念包括思想、感觉、感觉和意识。那么是什么力量驱动智能呢?对于AI应用程序,答案是数据形式的信息。对于人类和动物来说,五种感官不断地从经验和周围环境中收集新的信息。这些信息然后传递到大脑的认知过程和功能。令人惊奇的是,人类还可以通过利用现有的信息和知识来理解和形成关于其他事物的知识,形成人们对新话题的想法和看法,例如,从大脑中学习现有的信息和知识。您有多少次想到一些已经理解的信息,然后“啊哈!”导致对其他事物有了全新理解的那一刻?经验因素也严重影响人工智能。人工智能是通过针对给定任务利用相关数据的训练和优化过程来实现的。随着新数据的出现,人工智能应用程序可以不断更新和改进,这是人工智能的学习方面。出于多种原因,能够不断地从新数据中学习很重要。第一,世界和人在不断变化。新技术潮流来来去去,创新不断涌现,旧产业被颠覆。例如,今天网上购物的数据可能与你明天或几年后的数据完全不同。汽车制造商可能会开始询问,哪些因素对购买飞行汽车的影响最大,也许不是目前越来越受欢迎和广泛使用的电动汽车。最终,数据和从中训练的模型会过时,这种现象称为模型漂移。因此,让任何AI应用程序保持最新状态以通过不断学习新数据来继续获得经验和知识至关重要。05数据驱动人工智能人工智能、机器学习、大数据、物联网和任何其他形式的分析驱动解决方案都有一个共同点:数据。事实上,数据为数字技术的方方面面提供动力。1.大数据世界从未像今天这样收集或存储过如此多的数据。此外,数据的种类、数量和生成速度正在以惊人的速度增长。大数据领域是关于如何从那些庞大、多样和快速移动的数据集中高效地获取、整合、准备和分析信息。但是,由于硬件和计算条件的限制,从数据集中处理和提取值可能不可行或不可能。为了应对这些挑战,需要创新的硬件工具、软件工具和分析技术。大数据是用于描述数据集、相关技术和自定义工具组合的术语。此外,如果没有某种形式的伴随分析,任何类型的数据基本上都是无用的(除非数据被货币化)。除了前面给出的描述之外,大数据还用于描述对非常大的数据集执行的分析,其中可能包括高级分析技术,例如人工智能和机器学习。数据从高层次上可以分为结构化、非结构化和半结构化三类,如图4-4所示。▲图4-4数据类型2.一个特定的数据源一个特定类型的数据源有很多,任何一个大公司都有很多数据源同时在使用。某些类型的数据可用于自动化和优化面向客户的产品和服务,而其他类型的数据更适合优化内部应用程序。以下是可能的数据源列表,我们将一一讨论:客户销售和营销运营事件和交易物联网非结构化第三方公共大多数公司都在使用CRM工具(CRM系统)。这些工具用于管理现有和潜在客户、供应商和服务提供商之间的交互。此外,许多CRM工具可以在本地部署或集成,以跨多个渠道管理客户营销、沟通、定位和个性化。因此,CRM系统工具对于以客户为中心的AI应用来说是非常重要的数据源。虽然许多公司使用CRM工具作为他们的主要客户数据库,但客户数据平台(CDP)工具(例如Agilone)通过整合有关客户行为、参与和销售的数据源来创建单一、统一的客户数据库。与数据仓库类似,客户数据平台(CDP)工具旨在供非技术人员使用,以推动高效分析、洞察收集和有针对性的营销。销售数据即使不是公司最重要的数据,也应该是比较重要的数据。典型的数据源包括实体店的销售点数据、在线购物应用程序的电子商务数据以及服务销售的应收账款数据。许多实体公司也在网上销售产品,因此能够同时使用这两种数据来源。营销部门通过多种渠道向客户传达和提供报价,并生成相应的渠道特定数据。常见的营销数据源包括电子邮件、社交、付费搜索、程序化广告、数字媒体参与(例如博客、白皮书、网络研讨会、信息图表)和移动应用程序推送通知。运营数据以业务功能和流程为中心。示例包括与客户服务、供应链、库存、订购、IT(例如网络、日志、服务器)、制造、物流和会计相关的数据。运营数据通常最适合用于深入了解公司的内部运营并改进甚至自动化流程以实现诸如提高运营效率和降低运营成本等目标。主要围绕软件即服务(SaaS)和移动应用程序等数字产品的公司通常会生成并收集大量基于事件和交易的数据。值得注意的是,虽然个人销售的数据在本质上可以被认为是交易性的,但并非所有的销售数据都是交易性的。事件和交易数据可以包括银行转账、申请提交、在线购物车放弃、用户交互和参与数据(例如点击流)以及由应用程序(例如GoogleAnalytics)收集的数据。研究表明,随着物联网革命如火如荼地进行,到2025年,全球超过750亿台联网设备将创造高达11万亿美元的经济价值。不用说,连接的设备和传感器生成的数据量正在增加。这些数据对于人工智能应用来说非常有价值。公司还拥有大量通常未被使用的非常有价值的非结构化数据。前面讨论的非结构化数据可以包括图像、视频、音频和文本。来自产品或服务的客户评论、反馈和调查结果等文本数据对于自然语言处理应用程序特别有用。最后,公司经常使用本节可能未涵盖的几种第三方软件工具。许多软件工具允许数据与其他工具集成,也可以导出以供分析和传输。在许多情况下,可以购买来自第三方的数据。最后,随着Internet和开源运动的爆炸式增长,还有大量免费、可用且非常有价值的开放数据可供使用。