机器学习简介:一场技术革命
介绍
您可能听说过机器学习 (ML) 这个术语,它最近在消费技术圈和软件开发者中被广泛使用。但是,您可能不知道它到底由什么组成,它是如何工作的,以及它是否值得您投入时间和精力去学习。
机器学习和深度学习 (DL) 是人工智能 (AI) 的子集。尽管这三个术语与 AI 大局中的不同概念相关,但它们经常互换使用。本指南将介绍每个术语,探索当今机器学习的用途,并为您提供一些机器学习开发入门技巧。
定义
让我们首先定义一些与机器学习相关的术语。
人工智能
人工智能的一般定义是计算机系统或任何形式的硬件或机器,通过专门的算法实现人类的功能。它可以是手机、计算机或机器人上运行的 Web 应用程序或软件。也可以是一整套服务器网络,它们彼此协作,运行人工智能算法,用于银行软件等。
通用人工智能的概念不仅涉及专注于特定人工智能任务的算法,还涉及具有与人脑类似学习能力和智能水平的计算系统。基本上,它将具有与人脑类似的理解水平,并且最终可能具有意识——如果这是可能的,但我们还不能完全知道。
人工智能算法使计算系统能够完成传统上只有人类才能完成的任务。这些任务包括计算汽车能够安全平行停车的概率;自动完成以前人类必须一次完成的工厂任务;或自动翻译复杂文本。
这些任务之所以能够实现,是因为计算系统在运行一段时间后会学习行为,通过分析数据进行自我改进,并根据数据预测未来结果(预测分析)。人工智能软件旨在帮助最终用户和公司,为他们提供仅凭人类大脑无法获取的大量信息。有太多数据需要处理,包括结构化和非结构化数据。
机器学习
ML 专门研究计算机算法通过使用不断学习的能力。这些系统运行时间越长,功能和效率就越高,因为它们会随着时间的推移找到更有效的解决方案。这是因为算法可以处理不利条件或与最终用户的各种交互。
深度学习
深度学习实际上是机器学习的一个子集,因此也是人工智能的一个子集。它模仿人类大脑的各个方面,具有处理大量数据的能力,并以智能的规模理解这些数据。这个过程也称为商业智能或预测分析。
深度学习处理的数据量远远超出人类的想象。它使用算法从数据中寻找模式、问题和见解,包括难以通过传统方式定义或分析的非结构化数据。此类数据的示例包括社交媒体帖子或上传到 YouTube 的视频。
计算机并非仅仅学会处理和学习原始数据,而是利用类似于人脑的系统,随着时间的推移,通过一种称为神经回路的路径传输信息,神经回路通过称为突触的连接点连接大脑的不同部分。大脑的这些部分按层次排列,信息基于这些层次进行处理。例如,你可能先闻到食物的味道,然后才意识到它是什么,以及你喜欢它的味道。深度学习的概念大致基于类似的安排,它依赖于在更大的网络中拦截数据的算法,以找到未来洞察的模式。
在深度学习中,数据通过分层过程进行处理和分析。各种层用于从原始数据输入中提取更高级别的信息。这是通过人工神经网络 (ANN)完成的,该网络由输入层(数据输入层)、隐藏层(信息处理层)和输出层(根据数据做出决策层)组成。从一层获得的信息已经过处理,可用于处理新信息。
机器学习及其深度学习子集都拥有光明的未来,并将越来越多地被各种规模的公司采用,这些公司希望在竞争中取得优势并更好地了解受众。这些概念不再只是流行语,而是影响技术发展各个方面的技术,让任何使用它们的人都能更轻松地获得新见解。
机器学习的用途
ML 广泛应用于各个行业和领域。聊天机器人技术正在不断改进 ML 算法的使用,使企业能够简化与客户的沟通。聊天机器人是一种信息机器人,它允许客户在下班时间与公司互动时提出与产品相关的问题并获得答案。随着时间的推移,ML 使聊天机器人能够了解客户提出的问题类型、如何解释各种提问方式以及如何以最佳方式回答。
语音识别是使用机器学习技术的另一个例子。有许多语音助手系统依靠人工智能系统来帮助用户完成各种任务。语音助手包括与 Amazon Echo 和其他 Amazon 硬件绑定的 Amazon Alexa,以及与 HomePod、iOS 和 Mac 硬件绑定的 Apple Siri。
语音识别技术确实是软件为硬件改变和适应用户需求铺平道路的一个例子。由 ML 算法驱动的语音助手系统可用于协助客户完成日常任务,例如查看天气或体育赛事,以及自动执行诸如查找他们喜欢的音乐曲目的播放列表或在智能家居中在一天中的特定时间打开灯之类的操作。
您可能还听说过无人驾驶汽车及其取代人类驾驶员的潜力。谷歌尤其引人注目的是其无人驾驶汽车车队,目前这些汽车正在自动驾驶,车头上的摄像头为谷歌地图应用程序绘制地形图。与此同时,无人驾驶汽车正处于测试阶段,以实现商业可行性。机器学习算法使它们在道路上停留的时间越长,处理人为错误、天气和停车条件的不可预测性就越好。如果没有经验和通过机器学习学习,很难发现潜在停车位和私人车道或悬崖之间的区别。
整个医疗领域都受益于 ML 和 DL 的进步。例如,在放射图像分析中,ML 和 DL 算法能够在骨折和其他损伤的扫描中发现模式,或者在某些情况下,在人眼之前检测到损伤。然而,与其他行业一样,AI 的理念并不是取代临床医生,而是承担部分工作量,帮助他们提高效率,并让患者在自我护理方面有一定的控制权。
这些只是机器学习与整个人工智能一起产生影响的几个例子。其潜力几乎是无穷无尽的,因为实际上任何行业都可以从中受益,从银行系统变得更加自动化,更不容易出错或人为欺诈,到物联网 (IoT) 影响智能家居和制造业。
机器学习发展的成果在某些技术中更容易看到,例如上述自动驾驶汽车,而在其他技术中则不然。当观察现代机器人并将其与旧型号进行比较时,很容易看到它们在运作方式上的改进,并且随着时间的推移学会了与人类互动。
然而,机器学习也包括一些更普通的任务,比如发现数据中的模式并从这些模式中寻找见解。大海捞针可以防止网络安全威胁等。例如,某个来源(例如某个地理区域,甚至是应用程序中启用的软件利用)定期利用的后门漏洞,机器学习可以捕获并阻止这种漏洞。
网络安全确实是一个很好的例子,机器学习可以产生巨大的影响,因为算法可以访问大量数据并能够实时处理这些数据。例如,当有人使用信用卡从他们不居住的国家/地区购物时,算法可以快速发现并提醒客户和信用卡公司。
人类经常做出假设,但实际上并没有证实和核实这些假设。例如,数据科学经常受到偏见的困扰。机器学习可以证实或反驳假设和理论,因为它可以访问可以实时分析的广泛数据。机器学习既可以用于获取当前见解,也可以用于预测业务的未来趋势,甚至全球变暖等全球性问题。
高科技世界中的机器学习
由于如此多的行业受到影响,并且媒体对机器学习的关注如此之多,您可能会问:“这都是炒作吗?这只是一时的热潮,还是真的会长期存在?”答案是后者,原因如下。
我们仍处于机器学习能力的早期阶段。该技术才刚刚开始渗透到银行、医疗和建筑等许多行业。它通过机器人流程自动化 (RPA) 改变机器人技术,并通过 X 射线扫描分析等方式影响医学。人们对机器学习的兴趣和投资数量表明了这项技术有多热门,以及企业多么渴望在竞争对手抢先一步接受它。
您可以以亚马逊为例,这家公司确实取得了巨大成功,并受益于在消费技术和其他运营方面率先采用机器学习。据《福布斯》报道,机器学习对亚马逊非常重要,该公司声称“如果没有机器学习,亚马逊就无法发展业务、改善客户体验和选择,也无法优化物流速度和质量。”
亚马逊只是其中一个例子。许多初创公司和小公司也在寻找独特的机器学习用途,以服务其受众。例如,移动和网络应用程序允许将文本从一种语言自动翻译成另一种语言。这类似于谷歌翻译正在做的事情,但更加专业化。DeepL 就是一个例子。与主要专注于标准语音模式和用户出国旅行时可能提出的基本问题的谷歌不同,DeepL 专注于语音和语言变体中的细微差别,以便更好地翻译大段文字或整篇文章和文档。
还有一些使用机器学习的有趣移动应用程序供医生和医疗保健专业人士使用。BiliScreen使用移动设备的摄像头观察患者的眼睛并发现疾病的症状,例如胰腺癌。它仍处于测试阶段,可能很快就会广泛使用。
机器学习的潜力无穷无尽,已经吸引了世界各地的企业大举投资机器学习培训和熟悉机器学习算法的软件开发人员。无论是小型初创公司还是大型企业,情况都是如此。
机器学习开发入门
如果您是软件开发人员,那么精通机器学习原理以及用于将机器学习算法实现到产品和服务中的语言将使您更具竞争力和吸引力。现在是加入机器学习潮流的好时机,因为这项技术仍处于起步阶段,并将继续发展和普及,因此可能成为开发人员必须掌握的一项要求。
开始 AI 和 ML 开发的一个好方法是学习Python 语言。Python 被广泛用于 ML 开发,因为它处理库的方式可以减轻程序员的大量繁重工作。
软件开发人员经常使用 Python 进行机器学习的另一个原因是,基于 Web 的机器学习模型是一种流行的开发方式,可以考虑到 ML 原理。Python 本身不用于构建模型,而是用作与模型相关的库的包装器。
与机器学习直接相关的库通常很难让普通开发人员使用,在某些情况下甚至难以掌握。Python 通过向库提供高级指令集来帮助它们有效地处理机器学习工作流,从而解决了这一难题。Python 消除了开发人员在使用这些原始语言及其库时必须处理的许多细微行为,例如内存管理和对象处理。这就是为什么它是机器学习开发的一个很好的切入点。
其他对机器学习开发有用的编程语言的良好示例是 R 和 Julia。
与 Python 一样,R 也拥有大量用于机器学习开发的库和工具,以及提供机器学习通常需要的出色性能的软件包。R 和 Python 之间最大的区别在于,Python 是作为通用语言开发的,而 R 是为更具体的用途开发的。它专为统计分析而定制,而不是广泛的编程任务或目标。两者都是开源语言。
Julia 可能是该领域值得关注的下一个大热门语言。它的优势包括出色的应用程序部署性能和对 TensorFlow 等现代框架的顶级支持。因此,它很容易集成到现有的工作流程中。
TensorFlow 是 Google 专为机器学习开发而设计的开源库。它值得学习和深入研究,原因有很多。首先,它与 Juliet、R 和 Python 兼容。它对深度学习模型很有用,其 Keras API 为神经网络提供了高级接口。
另一个值得探索的工具是 Databricks。它提供了一个专注于机器学习的工作负载,称为 Databricks Runtime ML,这是一个适用于 ML 和整个数据科学的即用型环境。
不过,在踏上 ML 之旅之前,请确保您对此感兴趣,并且愿意长期参与其中。Pluralsight 提供各种入门课程,您应该查看这些课程,以便了解 ML 背后的概念,并了解这一开发领域是否适合您。
除了学习开发语言之外,您还应该掌握一些统计学和数学知识。参加统计学课程,熟悉相关性等概念。良好的数学、统计学和编程基础可以帮助您进行机器学习开发,有时也称为“数据驱动的人工智能”。
结论
机器学习不会很快消失。该领域尚处于起步阶段,刚刚开始被各行各业用于改进产品和服务。它与深度学习子领域一起,通过快速处理大型数据集并通过预测分析和商业智能来理解它们,从而找到以前没有人能够预测答案的问题的答案。
不要等待,以后再在这个领域迎头赶上。今天就开始吸收机器学习原则吧。
免责声明:本内容来源于第三方作者授权、网友推荐或互联网整理,旨在为广大用户提供学习与参考之用。所有文本和图片版权归原创网站或作者本人所有,其观点并不代表本站立场。如有任何版权侵犯或转载不当之情况,请与我们取得联系,我们将尽快进行相关处理与修改。感谢您的理解与支持!
请先 登录后发表评论 ~