微软 Azure 人工智能基础 AI9000 备考指南(一)_微软ai900
原文:[
annas-archive.org/md5/4841bd70b59947c2ca0eb51e330eea39]https://annas-archive.org/md5/4841bd70b59947c2ca0eb51e330eea39)译者:飞龙
协议:CC BY-NC-SA 4.0
前言
AI-900 认证考试,也称为微软 Azure 人工智能基础知识考试,旨在验证人工智能概念的基础知识以及它们如何在微软 Azure 中实现。
AI-900 考试已经更新了几次,以包括新技术的出现和进入 Azure 空间——这次考试也不例外。AI-900 现在包括了对作为 Azure 订阅一部分的新 OpenAI 服务的关注。
本书面向的对象
本书旨在为对在 Azure 中的人工智能及其应用有基本了解但可能在该领域没有丰富技术经验的人士提供帮助。这包括对人工智能技术新接触的商业利益相关者、决策者和技术专业人士。
本书的内容假设您对任何机器学习或人工智能概念都没有了解(尽管这当然有助于理解一些更复杂的话题)。
本书涵盖的内容
第一章, 识别常见人工智能工作负载的特征,介绍了 Azure 平台空间中人工智能的一些基本概念。
第二章, 识别负责任人工智能的指导原则,解释了微软关于负责任人工智能的原则,如透明度和包容性。
第三章, 识别常见的机器学习技术,探讨了机器学习技术,如聚类和回归。
第四章, 描述核心机器学习概念,通过解释特征、标签、训练和验证等,扩展了机器学习技术的概念。
第五章, 描述 Azure 机器学习功能,重点关注自动化机器学习(AutoML)的力量以及使 Azure 中的机器学习成为可能的必要功能资源。
第六章, 识别常见的计算机视觉解决方案类型,介绍了计算机视觉背后的概念,如光学字符识别和目标检测。
第七章, 识别用于计算机视觉任务的 Azure 工具和服务,通过 Azure AI 视觉和 Azure AI 面部等服务,扩展了计算机视觉的基础知识。
第八章, 识别常见自然语言处理工作负载场景的特征,介绍了自然语言处理的核心基础工作负载用途,如情感分析、翻译和关键词提取。
第九章, 识别用于自然语言处理工作负载的 Azure 工具和服务,提供了有关 Azure 自然语言处理解决方案的信息,例如 Azure AI 翻译器和 Azure AI 语言服务。
第十章*,识别生成式 AI 解决方案的特点,解释了生成式 AI 模型的广泛特性和用例。
第十一章*,识别 Azure OpenAI 服务的功能,突出了 Azure OpenAI 服务的强大功能,包括文本内容和图像生成。
第十二章*,访问在线* 实践资源。
要充分利用本书
为了使您的学习体验达到最佳,我们推荐以下组件:
-
免费试用订阅的 Azure 租户(
azure.microsoft.com/en-us/free/ai-services/) -
注册 OpenAI 访问权限(
aka.ms/oai/access)
如果您正在使用本书的数字版,我们建议您亲自输入代码或从本书的 GitHub 仓库(下一节中提供链接)获取代码。这样做将帮助您避免与代码的复制和粘贴相关的任何潜在错误。
在线实践资源
通过本书,您将解锁无限访问我们的在线考试准备平台(图 0.1)。这是您练习书中所学一切的地方。
如何访问资源
要了解如何访问这些资源,请前往本书末尾的第十二章**,访问在线资源。
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/0.1.jpg
图 0.1:在线实践资源的仪表板界面
下载示例代码文件
您可以从 GitHub(github.com/PacktPublishing/Microsoft-Azure-AI-Fundamentals-AI-900-Exam-Guide)下载本书的示例代码文件。如果代码有更新,它将在 GitHub 仓库中更新。
我们还提供了来自我们丰富的图书和视频目录中的其他代码包,可在github.com/PacktPublishing/找到。查看它们吧!
使用的约定
本书使用了多种文本约定。
文本中的代码:表示文本中的代码单词、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟 URL、用户输入和 Twitter 昵称。以下是一个示例:“将下载的WebStorm-10*.dmg磁盘映像文件作为系统中的另一个磁盘挂载。”
代码块设置如下:
{ \"recognitionModel\": \"recognition_01\", \"faceRectangle\": { \"width\": 144, \"height\": 209, \"left\": 305, \"top\": 473},
粗体:表示新术语、重要单词或屏幕上看到的单词。例如,菜单或对话框中的单词以粗体显示。以下是一个示例:“从管理面板中选择系统信息。”
小贴士或重要提示
看起来像这样。
联系我们
欢迎读者反馈。
一般反馈:如果您对本书的任何方面有疑问,请通过[customercare@packtpub.com 给我们发邮件,并在邮件主题中提及书名。
勘误:尽管我们已经尽一切努力确保内容的准确性,但错误仍然可能发生。如果您在这本书中发现了错误,我们将不胜感激,如果您能向我们报告,请访问www.packtpub.com/support/errata并填写表格。
盗版:如果您在互联网上以任何形式遇到我们作品的非法副本,如果您能提供位置地址或网站名称,我们将不胜感激。请通过版权@packt.com 与我们联系,并提供材料的链接。
如果您有兴趣成为作者:如果您在某个领域有专业知识,并且您有兴趣撰写或为书籍做出贡献,请访问authors.packtpub.com。
分享您的想法
一旦您阅读了 Microsoft Azure AI 基础知识 AI-900 考试指南,我们很乐意听听您的想法!请点击此处直接进入此书的亚马逊评论页面并分享您的反馈。
您的评论对我们和科技社区非常重要,并将帮助我们确保我们提供高质量的内容。
下载此书的免费 PDF 副本
感谢您购买此书!
您喜欢随时随地阅读,但无法携带您的印刷书籍到处走?
您的电子书购买是否与您选择的设备不兼容?
别担心,现在,每购买一本 Packt 书籍,您都可以免费获得该书的 DRM 免费 PDF 版本。
在任何地方、任何地点、任何设备上阅读。直接从您最喜欢的技术书籍中搜索、复制和粘贴代码到您的应用程序中。
好处不止于此,您还可以获得独家折扣、时事通讯和每日收件箱中的精彩免费内容。
按照以下简单步骤获取好处:
- 扫描下面的二维码或访问以下链接
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_QR_Free_PDF.jpg
packt.link/free-ebook/9781835885666
-
提交您的购买证明
-
就这些!我们将直接将您的免费 PDF 和其他好处发送到您的电子邮件。
第一部分:识别常见 AI 工作负载的特点
在本书的第一部分,您将了解人工智能(AI)工作负载的基础概念以及微软的负责任 AI 开发原则。
本部分包括以下章节:
-
第一章,识别常见 AI 工作负载的特点
-
第二章,识别负责任 AI 的指导原则
第一章:识别常见 AI 工作负载的功能
欢迎来到人工智能的世界!
当您想到 AI 时,您会想到什么?如果您看过科幻电影,您的脑海中可能会浮现出像《银翼杀手》或《终结者》中那样行走和说话的人类似机器人。或者,也许您会想到只是一个声音,比如《2001 太空漫游》中的 HAL 9000 或《钢铁侠》中看似无所不知的计算管家贾维斯。
虽然那个未来还遥不可及,但 AI 现在已经可以做些相当惊人的事情。人工智能是一种模仿某些人类能力的软件技术,例如解释图像和语言或根据历史数据和模式预测场景的结果。
在这本书中,您将了解 Microsoft Azure 平台内可用的广泛 AI 技术和能力。而且,在这本书的整个过程中,您将接触到示例、演示和实验室,展示如何使用 Azure AI 服务来帮助解决简单和复杂的企业场景。
本章我们将涵盖的目标和技能包括以下内容:
-
识别数据监控和异常检测工作负载的功能
-
识别内容审核和个人化工作负载的功能
-
识别计算机视觉工作负载
-
识别自然语言处理工作负载
-
识别知识挖掘工作负载
-
识别文档智能工作负载
-
识别生成式 AI 工作负载的功能
到本章结束时,您应该能够讨论 Microsoft Azure 中可用的 AI 工作负载和功能的特点和能力。
准备开始这段激动人心的旅程吧!
备注
Azure 认知服务已整合到新的 Azure AI 服务品牌中。由于品牌变更,价格和能力都没有发生变化。
在我们继续本章的主题之前,请看一下以下部分。
充分利用本书 – 您的认证以及之后
这本书及其配套的在线资源旨在成为您Microsoft Azure AI 基础 AI-900 考试的完整准备工具。
这本书的编写方式使得您在学习认证之后仍能应用所学知识。本书附带的在线实践资源(图 1.1)旨在提高您的应试技巧。它们包含了计时模拟考试、互动闪卡和考试技巧,帮助您从现在开始直到考试当天准备考试。
在您继续之前
要了解如何访问这些资源,请前往本书末尾的第十二章“访问在线实践资源”。
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_01_01.jpg
图 1.1 – 在线实践资源的仪表板界面
仔细阅读每一节。
这里有一些关于如何充分利用本书以通过你的认证并保持考试之外的知识的方法:
-
从仪表板中的
BACK TO THE BOOK链接访问Packt Reader中的书籍。你可以在那里突出显示书籍的特定部分。 -
章节复习题:在本章末尾,你可以找到本章的复习题链接。这些题目旨在测试你对本章知识的掌握。目标是在进入下一章之前至少得分75%。你可以在本章末尾的“考试准备练习 – 章节复习题”部分找到如何充分利用这些题目的详细说明。这样,你可以在每个章节之后提高你的考试技巧,而不是在考试结束时。
-
闪卡:在你通读本书并在每个章节复习题中得分提高**75%**之后,开始复习在线闪卡。它们将帮助你记住关键概念。
-
模拟考试:在考试当天之前,解决本书附带的所有模拟考试。如果你有些答案错误,回到书中并重新审视你较弱的概念。
-
考试技巧:不时回顾这些内容,以进一步提高你的考试准备。
识别数据监控和异常检测工作负载的特征
异常检测器是一个配备了一系列应用程序编程接口(API)的 AI 服务,旨在赋予用户在他们的时间序列数据中监控和识别异常的能力,即使他们有限的机器学习(ML)专业知识。无论你需要批量验证(一种使用训练数据子集检查模型有效性的方法)还是实时推理(使用机器学习模型进行预测),异常检测器都能满足你的需求。
什么是时间序列数据?
时间序列数据是指一种数据类型,其中观察值是在时间间隔内收集或记录的。这些观察值通常是按时间顺序排列的,每个数据点都与一个特定的时间戳相关联。时间序列数据在金融、经济、天气预报和销售等各个领域都很常见。
此服务提供两个主要功能:
-
单变量异常检测
-
多变量异常检测
单变量异常检测允许用户在单个变量中识别异常,例如收入或成本,而无需广泛的机器学习知识。模型选择过程基于数据本身的模式自动进行,确保无论行业、场景或数据量如何,都能实现最佳性能。通过利用时间序列数据,API 为异常检测建立边界,确定预期值,然后识别异常数据点。
另一方面,多元异常检测API 使开发者能够集成用于检测跨组指标异常的先进 AI 功能,消除了对 ML 专业知识或先前标记数据的需要。这些 API 自动考虑信号之间的依赖性和相互关联,这对于保护复杂系统(如软件应用程序、服务器、工厂机器和航天器)免于故障至关重要。
在现实世界中,多元异常检测经常被用来帮助识别诸如信用卡交易欺诈等问题。通过训练诸如你通常购物的地方、你通常旅行的地点以及交易平均大小等数据,金融机构可以检测到你的信用卡被泄露,并立即通知你。
考试技巧
多元异常检测可以关联高达 300 个信号。
当信号交互的偏差超出常规范围时,多元异常检测功能就像一位经验丰富的专家,迅速识别出异常。底层 AI 模型通过使用用户数据来训练和定制,以满足其业务独特的需求。通过添加这些 API,开发者可以无缝地将多元时间序列异常检测功能集成到预测性维护解决方案中,用于复杂企业软件的 AIOps 监控解决方案,或商业智能工具。
接下来,我们将探讨内容审核和个人化的特征。
识别内容审核和个人化工作负载的特征
使用 AI 监控和审核内容也是一个日益增长的任务领域。内容审核是指筛选用户生成内容的过程,以确保其符合某些标准或指南。审核 API 为 AI 开发者提供了提交内容进行程序性评估的方法。
注意
传统的 Azure 内容审核器计划于 2027 年 2 月退役。虽然它仍然可用,但微软建议开发者开始切换到 Azure AI 内容安全,它包括更多强大的功能。
Azure AI 内容安全提供了一套全面解决方案,用于检测有害内容,涵盖应用和服务中的用户生成内容和 AI 生成内容。该套件包括文本和图像 API,以及一个交互式的内容安全工作室,为开发者提供识别和有效减轻潜在有害内容的工具。
内容审核在各个行业中扮演着关键角色,确保符合法规并维护用户的安全环境。内容审核服务至关重要的场景包括在线市场、游戏公司、社交消息平台、企业媒体和 K-12 教育解决方案。
该服务通过其 API 提供不同类型的分析,包括针对性内容、暴力、仇恨言论和自残的文字和图像分析,以及更新的功能,如越狱风险检测和受保护材料文本检测。
Azure AI 内容安全工作室是一个强大的在线工具,用于处理冒犯性或风险内容,配备了先进的内容审核机器学习模型。它允许用户自定义工作流程,上传自己的内容,并利用微软提供的预构建 AI 模型和黑名单,确保对有害内容的全面覆盖。
通过内容安全工作室,企业可以建立内容审核工作流程,持续监控和改进内容审核性能,并满足其行业特定的内容要求。该平台简化了操作,使得不同解决方案的快速验证变得可能,并无需进行大量模型开发即可实现高效的内容审核。
此外,您可以为不同类型的潜在有害内容配置过滤器和阈值。根据场景,您可以调整过滤设置以更加宽容或严格,然后测试内容样本以过滤器的效果,确保正确类型的内容被阻止,如图 图 1.1 所示:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_01_02.jpg
图 1.2 – 在内容安全工作室中评估文本
内容安全工作室的关键特性包括对文本和图像内容的审核能力,监控在线活动,以及访问详细的响应信息,如类别分布、延迟和错误检测。其用户友好的界面使开发者能够配置内容过滤器,管理禁止术语的黑名单,并将审核工具直接集成到他们的应用程序中,简化工作流程并增强内容安全措施。
进一步探索
您可以在此处体验内容安全工作室(Azure AI 认知服务的一部分):
contentsafety.cognitive.azure.com/
Azure 还包含名为 AI Personalizer 的个性化服务。与内容审核类似,个性化分析内容。然而,它不是用来决定内容的安危或可能的冒犯性,而是用来预测用户行为,例如以下内容:
-
使用最近的选择数据或已查看的项目,客户是否会进行购买?
-
根据用户已经查看的内容,还有哪些产品或文章可能对用户感兴趣?
-
广告应放置在何处以实现最佳曝光?
-
如何部署弹出通知以最大化可见性或响应?
-
是否有来自合作伙伴或联盟组织的其他数据点可用于帮助做出更好的决策?
Azure Personalizer 通过使用强化学习(一种机器学习类型)来工作,为用户根据其会话的当前上下文(位置、查看的项目、设备、之前的浏览历史或其他服务能够收集到的信息)可以采取的行动或选择分配一个点值(奖励)。有了这些信息,个性化服务就可以自动决定向用户展示哪些内容,以鼓励特定的选择或响应。
注意
Azure Personalizer 已被弃用,并将于 2026 年 10 月下线。截至本文撰写时,无法再创建新的 Personalizer 资源。
有关 Azure Personalizer 服务的更多信息,请参阅以下链接:learn.microsoft.com/en-us/azure/ai-services/personalizer/what-is-personalizer。
在下一节中,我们将回顾计算机视觉的高级功能。
识别计算机视觉工作负载
Azure 的AI 视觉(也称为计算机视觉)服务提供访问设计用于处理图像并提供基于特定视觉特征的有关信息的尖端算法。
该服务拥有几个关键功能:
-
光学字符识别(OCR):此功能使从图像中提取文本成为可能,包括从各种来源(如照片和文件)打印和手写的文本。利用基于深度学习的模型,OCR 服务可以在不同的表面和背景上工作,包括商业文件、发票、收据、海报、名片、信件和白板。此外,它支持多种语言提取打印文本。
-
图像分析:图像分析服务从图像中提取广泛的视觉特征,包括物体、人脸、成人内容和自动生成的文本描述。
-
人脸识别:人脸服务提供用于在图像中检测、识别和分析人脸的 AI 算法。这种能力在各种场景中都有应用,例如身份识别、无接触访问控制和通过人脸模糊进行隐私保护。
-
空间分析:空间分析服务分析视频流中个体的存在和移动,生成可以触发其他系统响应的事件。
计算机视觉的一些常见用途或功能可能包括生成图像字幕(例如“狗在公园里捡回飞盘”)或对图像中检测到的物体进行分析(例如一只狗、一个飞盘、户外、一棵树或草地)。在检测物体时,Azure AI 视觉服务还会返回有关置信度(或服务对检测有多确定)的信息。
Azure AI 视觉特别适用于 数字资产管理(DAM)场景。DAM 涉及组织、存储和检索丰富媒体资产,同时管理数字权利和权限。例如,一家股票摄影服务可能设计一个数字资产管理系统,应用 AI 生成的照片描述,使客户能够搜索图像。
总体而言,Azure AI 视觉提供了一个强大的平台,利用高级图像处理能力来增强数字资产管理和其他各种应用。
接下来,我们将探讨 Azure 中处理语言的功能和功能。
识别自然语言处理工作负载
自然语言处理(NLP)是人工智能的一个分支,专注于理解和响应人类语言。NLP 的目标是让计算机以类似于人类的方式解释文本,并提供逼真的对话和响应。一些流行的基于 AI 的消费者服务,如 OpenAI 的 ChatGPT 或智能手机上的预测文本,使用自然语言处理来帮助理解输入和上下文。
NLP 是许多其他 AI 服务的构建块,例如文本分析,可以从非结构化文本中提取信息。NLP 应用程序的示例包括社交媒体上产品营销活动的情感分析、目录搜索应用程序中的文档摘要,以及从文本中提取品牌和公司名称。
Azure AI 语言,一种基于云的服务,提供理解和分析文本的工具。它具有情感分析、关键词识别、文本摘要和对话式语言理解功能。这些功能可以帮助组织处理大量内部和客户生成数据,使信息更易于访问和消化,并突出需要解决的模式或异常。
Azure AI 语言具有以下功能和子服务:
-
文本分析:此功能提供情感分析、关键词提取、命名实体识别(识别和分类感兴趣的项目)以及语言检测。它允许应用程序理解上下文,评估书面文本的情感,识别重要概念,并识别诸如人、地点和组织等实体。
-
翻译器:此功能提供实时、多语言翻译能力,支持数十种语言的文本翻译。它专为需要快速准确翻译的场景设计,例如内容本地化和多语言客户支持。
-
语言理解(LUIS):LUIS 是一种基于机器学习的服务,用于将自然语言理解集成到应用程序、机器人和物联网(IoT)设备中。它允许开发者为他们的应用程序领域定义自定义意图(表示用户想要执行的操作的表示)和实体(执行操作所需的参数),并提供能够理解用户自然语言输入的模型。
注意
微软宣布,LUIS 将于 2025 年 10 月 1 日退役。微软建议组织开始迁移到对话语言理解。
-
对话语言理解:此服务提供构建能够以自然方式理解和响应用户查询的对话式人工智能应用程序的工具。它有助于开发复杂的聊天机器人和虚拟助手,这些助手可以与用户进行对话式互动。
-
QnA Maker:此功能使您能够在数据上创建对话式问答层,从而轻松构建和维护来自您的内容(如网站、文档和常见问题解答)的知识库。
-
自定义文本:这允许创建定制的自然语言处理模型,以适应特定行业或业务需求。您可以根据您独特的数据集构建自定义分类、实体识别和单/多标签分类模型。
-
决策人工智能:尽管并非严格限于语言处理,但此功能与语言服务集成,有助于基于文本分析做出明智的决策,从而增强应用程序中的决策过程。
Azure AI 语言之前被称为文本分析。
识别知识挖掘工作负载
您可以将知识挖掘想象成一种 AI 驱动的搜索引擎。传统的搜索引擎可以轻松地编目和索引传统的文本页面。然而,它们可能不太擅长处理非结构化数据,例如文档目录、电子表格、演示文稿和图像,并为它们提供搜索查询。
Azure 的AI 知识挖掘是一套全面的工具和服务,旨在从大量非结构化数据中提取有价值的见解和知识,例如文档、图像、视频和音频文件。此套件利用先进的人工智能技术,包括自然语言处理、计算机视觉和机器学习,使组织能够理解其数据量。
让我们来看看 Azure AI 知识挖掘的关键特性:
-
强大的文本分析能力:使用最先进的 NLP 算法,组织可以从文本数据中提取实体、关键短语和情感,使他们能够在其文档中识别重要概念和趋势。此外,Azure 的 AI 知识挖掘提供实体识别和链接,使组织能够在其文档中识别和解决对人员、组织、地点等实体的引用。
-
文档处理能力:这包括从扫描的文档和图像中提取文本的 OCR,以及用于组织和结构化大量文档集合的文档分类和实体提取。有了这些功能,组织可以高效地处理和分析大量文档,从而发现有价值的见解和知识。
-
搜索功能:它允许用户快速轻松地在整个文档库中进行搜索。利用 AI 驱动的索引和搜索算法,组织可以在其文档中找到相关信息,无论格式或语言如何。此外,Azure 的 AI 知识挖掘支持分面搜索,使用户能够根据特定标准(如文档类型、日期或情感)过滤搜索结果。
Azure 的 AI 知识挖掘还包括高级数据可视化工具,使组织能够以有意义和富有信息量的方式可视化他们的数据和洞察。通过支持交互式仪表板、图表和图形,组织可以更深入地了解他们的数据,并更有效地传达发现。
Azure AI 搜索,Azure AI 知识挖掘能力的关键组成部分,利用了计算机视觉进行文本和对象识别以及自然语言处理从大量信息中提取数据的能力。当使用所有这些功能时,知识挖掘允许用户搜索大量非结构化信息,并揭示用于决策的见解。
Azure 还拥有强大的文档自动化和文本提取能力,我们将在下一节中探讨。
识别文档智能工作负载
Azure AI 文档智能(以前称为 Azure 表单识别器)是一组功能,允许自动化根据提取的文本做出决策。
例如,对于人类来说,查看收据或发票并确定其内容、不同数据字段的意义(如小计或地址)并将其相应地插入数据库或执行其他活动可能非常容易。这种业务流程自动化对于传统的计算机系统来说非常困难。AI 驱动的文档智能可用于弥合这一差距,以识别某些类型的数据并将它们映射到适当的字段。
Azure AI 文档智能是一套综合的工具和服务,旨在利用先进的人工智能技术简化文档处理任务。这项服务使组织能够以出色的准确性和效率从各种类型的文档中提取有价值的见解,包括扫描图像、PDF 文件和数字文件。
在 Azure AI 文档智能的核心是先进的 OCR(光学字符识别)功能。这些功能允许从图像和文档中提取文本,无论它们是打印的还是手写的。通过利用基于深度学习的模型,Azure AI 文档智能可以准确地在各种表面和背景上解释文本,包括商业文件、发票、收据、海报等。此外,OCR 功能支持多种语言,确保在不同地区和行业中具有广泛的应用性。
除了简单的文本提取,Azure AI 文档智能提供了一系列用于复杂文档分析的功能。例如,它包括实体识别工具,能够从文档中识别和提取关键实体,如姓名、日期、地址和组织。这项能力对于信息检索、数据录入自动化和内容分类等任务来说非常宝贵。
Azure AI 文档智能的另一个强大功能是能够对文档进行语义分析。这涉及到从文档内容中提取有意义的见解,例如识别主题、话题和情感。通过分析文本的上下文和语义,组织可以从其文档库中获得更深入的理解和可操作的情报。
在本节的最后,我们将探讨市场上一些最新和最受欢迎的 AI 工作负载,这些工作负载有助于内容创作。
识别生成式 AI 工作负载的特征
如果你在过去一年左右的时间里关注过媒体,你可能已经看到了一些生成式 AI工具的例子,如 ChatGPT、Bing Image Creator 和 Midjourney。所有这些类型的工具都能够根据自然语言指令输入(也称为提示)生成新的内容(因此得名生成式 AI)。
Azure AI 生成式 AI 是 Azure AI 生态系统内的一组工具和服务,旨在根据现有数据模式创建新内容,如图像、文本、音频和视频。这项尖端技术利用深度学习技术模仿人类创造力,并生成与特定用例相关且逼真的内容。
Azure AI 生成式人工智能可用于生成高质量的图像。通过使用生成对抗网络(GANs)和其他高级技术,Azure AI 可以创建与真实世界场景中发现的图像非常相似的逼真图像。这一能力在各个行业都有各种应用,包括为机器学习模型创建合成训练数据、为电子商务平台生成逼真的产品图像,以及为视频游戏和虚拟环境生成逼真的图形。
Azure AI 生成式人工智能的另一个重要方面是其文本生成能力。通过在大规模文本数据集上训练语言模型,Azure AI 可以生成连贯且与上下文相关的文本段落,模仿人类的写作风格。这一功能特别适用于自动化内容创作、聊天机器人开发和自然语言生成等任务。
此外,Azure AI 生成式人工智能包括用于微调和定制生成内容的特性。通过提供调整样式、语气和内容等参数的控制,用户可以调整生成模型的输出以满足其特定需求。这种灵活性允许在广泛的领域创建高度定制和个性化的内容。
生成式人工智能也可以用于协助开发或审查应用程序代码和脚本。
总体而言,Azure AI 生成式人工智能提供了一套强大的工具和服务,用于创建能够生成新颖和创新内容的人工智能模型。通过利用深度学习技术和高级算法,Azure AI 使组织能够利用生成式人工智能的力量,在内容创作、讲故事和创意表达方面开启新的可能性。
摘要
在本章中,你学习了 Azure AI 工作负载和服务的核心功能,包括计算机视觉、文档智能和生成式人工智能。Azure AI 认知服务组合中的每个工作负载都提供能力,帮助加速对组织数据的理解,并推进业务用例。
在下一章中,你将了解微软对负责任人工智能的承诺。
考试准备练习 - 章节复习题
除了对关键概念有扎实的理解外,能够在时间压力下快速思考是一项有助于你在认证考试中取得优异成绩的技能。这就是为什么在学习的早期阶段就培养这些技能至关重要。
章节复习题旨在随着你学习并复习每一章的内容,逐步提高你的应试技巧,同时检验你对章节中关键概念的理解。你可以在每一章的末尾找到这些复习题。
在继续之前
如果你没有 Packt 图书馆订阅或者你没有从 Packt 商店购买这本书,你需要解锁在线资源来访问考试准备练习。解锁是免费的,并且只需要进行一次。要了解如何操作,请转到名为第十二章**,访问 在线资源。
要打开本章的章节复习问题,请执行以下步骤:
-
点击链接 –
packt.link/AI-900_CH01。或者,你可以扫描以下二维码(图 1*.2*):
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_01_03.jpg
图 1.3 – 为登录用户打开章节复习问题的二维码
- 登录后,你会看到一个类似于 图 1*.3* 中显示的页面:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_01_04.jpg
图 1.4 – 第一章的章节复习问题
- 准备就绪后,开始以下练习,多次重新尝试测验。
考试准备练习
对于前三次尝试,不要担心时间限制。
尝试 1
第一次,目标至少达到 40%。查看你答错的答案,并再次阅读章节中相关的部分,以修复你的学习差距。
尝试 2
第二次,目标至少达到 60%。查看你答错的答案,并再次阅读章节中相关的部分,以修复任何剩余的学习差距。
尝试 3
第三次,目标至少达到 75%。一旦得分达到 75% 或以上,你就可以开始练习时间管理。
小贴士
你可能需要超过 三次 尝试才能达到 75%。这没关系。只需复习章节中的相关部分,直到你达到那里。
正在练习时间
你的目标是保持分数不变,同时尽可能快地回答这些问题。以下是你下一次尝试应该看起来像的例子:
表 1.1 – 在线平台上的样本时间练习练习
注意
上表中显示的时间限制只是示例。根据网站上的测验时间限制,每次尝试时设置自己的时间限制。
每次新的尝试,你的分数应该保持在 75% 以上,而完成所需的时间应该“减少”。重复尽可能多的尝试,直到你对自己应对时间压力有信心。
第二章:确定负责任人工智能的指导原则
虽然人工智能可以做些惊人的事情,但它也有可能成为真正可怕事物的组成部分——这正是本章将试图解决的问题。
我们(作为从业者、开发者和消费者)如何防止有意或无意的恶意操纵?微软在其部分,已经制定了一套六项原则,用于负责任地开发和实施基于人工智能的解决方案。
微软将这些原则称为其负责任人工智能的指导原则。
本章将涵盖的目标和技能包括以下内容:
-
描述问责制的考虑因素
-
描述包容性的考虑因素
-
描述可靠性和安全的考虑因素
-
描述公平性的考虑因素
-
描述透明度的考虑因素
-
描述隐私和安全的考虑因素
这些原则分为两个类别或视角:伦理和可解释。我们将探讨这两个类别以及原则如何融入其中。到本章结束时,你应该能够阐述人工智能如何以负责任的方式进行开发和实施。
理解伦理原则
负责任的人工智能使用和发展的第一个类别或视角是伦理原则。从伦理角度来看,人工智能的实施应包括以下考虑因素:
-
要求设计者和实施者承担问责制
-
展现包容性
-
确保输出不会造成伤害
让我们看看这些伦理考量如何映射到微软的原则上。
描述问责制的考虑因素
微软在负责任的人工智能开发中的问责制原则强调在整个人工智能开发生命周期中透明度、公平性和监督的重要性。这一原则强调了设计者和部署人工智能系统的个人和组织对这些系统的行为和决策负责的必要性,尤其是在它们向更大自主性发展的过程中。
为了实现问责制,微软提倡在组织内部建立内部审查机构,以提供对人工智能开发和部署的监督、见解和指导。这些机构在确保人工智能系统符合伦理和法律标准,以及与组织的治理和组织原则保持一致方面发挥着关键作用。
微软的问责制原则的核心是要求组织评估人工智能系统对个人、组织和社会的影响。这包括在开发早期完成影响评估,以评估与系统预期用途相关的潜在风险和伦理考量。还强制要求定期审查和更新这些评估,以确保持续遵守负责任的人工智能原则。
微软强调与利益相关者就人工智能系统的能力和局限性进行透明度和沟通的重要性。这包括向客户提供关于系统预期用途的文档以及证明其适用性的证据。在缺乏证据或证据反驳系统适用于特定用途的情况下,微软主张采取及时行动纠正问题并与客户进行透明沟通。
责任原则涵盖了确保人工智能生命周期中透明度、公平性和道德监督的全面框架。通过遵守这些原则,微软旨在与利益相关者建立信任,并促进人工智能技术的负责任使用,以造福社会。
描述包容性的考虑因素
包容性人工智能要求考虑全人类的所有经验。采用包容性设计实践使开发者能够主动识别和解决可能无意中排除人们的潜在障碍。
人工智能系统的目的是赋权并激发每个人,为社会的所有部门带来利益,无论其身体能力、性别、性取向、种族或其他因素。微软对负责任的人工智能发展中包容性的承诺强调了设计和部署人工智能技术以促进多样性、公平性和包容性的必要性。这一原则反映了微软致力于创建对所有人(无论其背景、身份或能力)都易于使用且有益的人工智能系统的承诺。包容性的例子可能包括利用语音转文本、文本转语音和视觉识别技术来赋权有听力、视觉和其他感官障碍的人。积极寻求包括其他通常被忽视的人的方法是包容性设计的关键组成部分。
微软的包容性原则的核心是承认人工智能有可能加剧或缓解现有的不平等。通过在人工智能开发中优先考虑包容性,微软旨在对抗历史偏见,并促进对所有用户公平和公正的结果。这涉及到在整个人工智能生命周期中考虑不同人口群体的多样性和观点。
微软在人工智能开发中实现包容性的关键方面是促进负责创建人工智能技术的团队内部的多样性。通过培养代表各种背景、经验和观点的多元化团队,微软旨在减轻偏见风险,并确保人工智能系统在设计时考虑到包容性。这种多样性使团队能够识别和解决可能被忽视的潜在偏见和盲点。在设计核心技术时展现的这种包容性类型应扩展到利用人工智能创造解决方案的组织中,以确保考虑多个观点。
此外,微软倡导包容性设计实践,优先考虑所有个体的可访问性和可用性,包括那些有残疾或特殊需求的个体。这包括将替代输入方法、语音识别和屏幕阅读器等特性集成到人工智能系统中,以确保具有不同能力的个体的可访问性。
此外,微软强调在整个人工智能开发过程中与多元化的利益相关者进行互动,包括社区组织、倡导团体以及来自边缘化社区的个体。这种合作有助于收集反馈和洞察,以指导人工智能技术的设计和部署,确保对所有用户的需要和担忧做出响应。
微软对负责任人工智能发展中包容性的承诺强调了其致力于构建包容、公平且对所有个体可访问的人工智能技术的承诺。通过在人工智能生命周期中优先考虑多样性、公平性和包容性,微软旨在利用人工智能的潜力推动积极的社会变革,并为所有人创造一个更加包容的未来。
描述可靠性和安全性的考虑因素
微软关于负责任人工智能的可靠性原则和安全原则是确保人工智能技术不仅可靠,而且对用户和社会整体来说是安全的基石。这一原则强调开发能够持续提供准确结果并最大限度地减少潜在伤害或意外后果的人工智能系统的必要性。其核心反映了微软致力于构建用户可以信任并自信依赖的人工智能技术的承诺。
这一原则的关键方面是组织必须建立的严格测试和验证流程,以确保人工智能系统在各种场景和条件下安全运行。通过整合 A/B 测试和冠军/挑战者方法等方法,组织可以有效地评估其人工智能系统的性能,并在部署前识别和解决潜在的安全隐患或偏见。
微软强调了在人工智能系统中优先考虑安全性和减轻对用户和社会风险的重要性。这包括积极主动地识别和缓解安全风险,包括偏见、错误或安全漏洞,以增强用户对人工智能驱动解决方案的信任和信心。通过推广安全性,微软旨在构建不仅按预期运行,而且优先考虑用户福祉的人工智能技术。
通过优先考虑透明度和问责制,微软强烈倡导记录人工智能系统背后的决策过程、数据来源和算法逻辑。这种透明度使得有效的监督和可审计性成为可能,使用户和监管机构能够对人工智能系统(及其创造者)的行为和决策负责。
持续监控和评估是微软维护人工智能系统可靠性和安全性的战略的关键组成部分。通过实施反馈机制和持续改进流程,组织可以实时检测和解决潜在的问题或故障,确保人工智能系统在其整个生命周期中保持可靠和安全。这种积极主动的方法培养了一种持续学习和适应的文化,从而随着时间的推移进一步增强了人工智能技术的可靠性和安全性。
在人工智能开发中致力于可靠性和安全性强调了构建值得信赖和可靠的 AI 系统的重要性。通过优先考虑透明度、问责制和持续改进,微软和其他组织可以增强用户对人工智能驱动解决方案的信任和信心,同时最大限度地减少伤害或意外后果的风险。
这些原则有助于确保人工智能解决方案以符合伦理的方式开发,优先考虑包容性和避免伤害,以造福使用这些系统的人们。在下一节中,我们将探讨有助于人们理解人工智能解决方案如何得出结论的原则。
理解可解释的原则
在人工智能领域,可解释性的概念对于数据科学家、审计员和商业决策者至关重要。它使这些利益相关者能够理解和证明人工智能系统做出的决策及其背后的推理。在微软的负责任人工智能原则中,可解释性涵盖了以下三个原则:
-
公平性,即系统做出不歧视或基于性别、种族、宗教或性取向等标识符对群体或个人施加偏见的决策能力
-
理解模型如何得出其结果的透明度
-
保护数据输入和输出以保护组织和个人数据的隐私
可解释性对于确保遵守公司政策、行业标准和国家法规至关重要。对于数据科学家来说,它涉及能够解释他们如何达到特定的准确度水平以及哪些因素影响了结果。审计员需要能够验证 AI 模型以符合公司政策的工具,而商业决策者则通过提供透明的模型来建立信任。
描述公平性的考虑因素
在负责任的人工智能开发中,微软的公平性原则对于确保 AI 系统不会基于性别、种族、性取向或宗教歧视或对个人表现出偏见至关重要。为了实现这一点,微软提供了一份 AI 公平性清单,为 AI 系统开发的各个阶段提供指导,包括构思、原型设计、构建、发布和演进。此清单包括建议的尽职调查活动,以最大限度地减少系统中的不公平性影响。
进一步阅读
组织被鼓励在整个开发过程中使用 Fairlearn 工具包来仔细评估其模型的公平性,使公平性评估成为数据科学工作流程的一个组成部分。您可以在fairlearn.org/了解更多关于 Fairlearn 的信息,并阅读微软 Fairlearn 原始研究论文www.microsoft.com/en-us/research/publication/fairlearn-a-toolkit-for-assessing-and-improving-fairness-in-ai/。
微软的公平性原则强调了其对促进所有个体,无论其背景或身份如何,都享有平等机会和结果的重要性。它强调需要减轻偏见并确保人工智能技术不会加剧社会中的现有不平等。这包括在整个 AI 生命周期内采取主动措施来识别、减轻和监控偏见,包括实施公平感知算法和进行偏见评估。
持续的监控和评估在实时检测和解决潜在的偏见或不公平性方面发挥着至关重要的作用。在其负责任 AI 标准中,微软强调了反馈机制、报告和持续改进的重要性,以确保 AI 系统在其整个生命周期内保持公平和公正。通过培养持续学习和适应的文化,微软旨在随着时间的推移提高人工智能技术的公平性和公正性。
进一步阅读
您可以在query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE5cmFl阅读微软的负责任 AI 标准文档。
透明度和问责制是微软确保人工智能系统公平性的基本组成部分。微软倡导记录数据来源、决策过程和算法逻辑,以实现有效的监督和可审计性。通过促进对公平性算法的理解,采用微软的负责任人工智能原则为用户和监管机构提供了对人工智能系统行动和决策进行问责的手段。
描述透明度的考虑因素
到目前为止,您已经看到透明度的概念贯穿于微软的几个负责任的人工智能原则中。微软的负责任人工智能原则中的透明度原则对于确保人工智能系统具有问责性、可理解性和可信度至关重要。它涉及提供对人工智能系统内部运作的可见性,包括其数据来源、决策过程和算法逻辑。通过促进透明度,微软旨在赋予用户、监管机构和利益相关者理解和审查人工智能系统的能力,从而在它们的运作中培养信任和问责制。
在其核心,微软的透明度原则承认用户了解人工智能系统如何影响他们的决策的权利。这包括理解影响人工智能模型推荐、预测和结果的因素,以及人工智能模型被用来产生这些结果的事实。透明度使用户能够做出明智的决定并评估人工智能驱动解决方案的可靠性和公平性。
透明度扩展到记录用于训练人工智能模型的数据,确保其质量、多样性和代表性。这使用户能够评估人工智能系统在不同人口统计和用例中的鲁棒性和泛化能力。此外,透明度还包括用于数据收集、标注和处理的手段,确保在处理敏感信息时的问责性和公平性。
微软倡导关于人工智能系统的清晰和易于理解的沟通,以促进不同受众之间的理解。这包括提供易于理解和导航的文档、解释和用户界面。通过消除人工智能技术的神秘感,微软旨在弥合技术专家和非专家之间的差距,促进人工智能生态系统的透明度和包容性。
微软的透明度原则重申了公司致力于构建对用户和利益相关者透明、问责和可理解的人工智能系统的承诺。通过在整个人工智能生命周期中优先考虑透明度,微软寻求增强信任、促进合作并推动负责任的人工智能发展。
描述隐私和安全的考虑因素
随着我们的个人和商业生活越来越在线化,数据(以及确保其安全和我们的隐私)变得越来越重要的商品。微软的负责任 AI 原则中的隐私和安全至关重要,确保 AI 系统能够维护个人隐私权,并保护敏感信息免受未经授权的访问或滥用。这一原则强调在整个 AI 生命周期中保护个人数据的重要性,从数据收集到处理和存储。通过优先考虑隐私和安全,微软旨在构建能够赢得用户和利益相关者信任和信心的 AI 系统。
隐私和安全原则承认在数字时代保护个人隐私权利的重要性。这包括实施强大的安全措施以防止数据泄露、未经授权的访问和其他可能损害个人信息的网络安全威胁。通过保护隐私,微软旨在维护道德标准和法律义务。
微软支持隐私保护技术和实践,这些技术和实践使 AI 系统能够在不损害个人隐私的情况下分析和从数据中提取见解。这包括差分隐私、联邦学习和同态加密等技术,这些技术能够在保护敏感信息机密性的同时进行数据分析。通过整合隐私保护技术,微软旨在减轻隐私风险并增强用户对 AI 驱动解决方案的信心。
同态加密是什么?
同态加密是一种新型加密技术,允许在不对数据进行实际解密的情况下对加密数据进行计算和计算。由于数据没有解密,潜在的敏感数据不会暴露。
隐私和安全考虑不仅限于技术措施,还包括组织政策、治理框架和法规遵从。微软强调采用隐私设计方法的重要性,即在 AI 系统的设计和开发之初就将隐私考虑因素嵌入其中。这包括进行隐私影响评估、实施增强隐私的控制措施,并确保数据实践和使用的透明度。
差分隐私是什么?
差分隐私是一种混淆技术,它将统计噪声引入每个结果以掩盖数据点——通常是可能用于识别个人或群体的人的数据点。噪声足够小以保护个人,但又不至于对统计产生重大影响。有关差分隐私概念的更多信息,请参阅cloudblogs.microsoft.com/opensource/2020/05/19/new-differential-privacy-platform-microsoft-harvard-opendp/。
透明度和问责制在隐私和安全领域也发挥着重要作用。在数据处理的各个阶段,透明度都是必要的,包括关于数据收集、处理目的和用户权利的明确沟通。
摘要
在本章中,你了解了微软负责的 AI 开发和使用的指导原则,包括问责制、包容性、公平性和透明度。为了实现赋权个人的愿景,AI 和基于 AI 的解决方案必须以造福社会的方向发展。
在下一章中,你将了解常见的机器学习技术。
考试准备练习 – 章节复习题
除了对关键概念有扎实的理解外,能够在时间压力下快速思考是一项帮助你通过认证考试的重要技能。这就是为什么在学习的早期阶段就培养这些技能是关键。
章节复习题旨在通过学习并复习每个章节的关键概念来逐步提高你的应试技巧。你将在每个章节的末尾找到这些复习题。
在继续之前
如果你没有 Packt 图书馆订阅或没有从 Packt 商店购买这本书,你需要解锁在线资源才能访问考试准备练习。解锁是免费的,只需进行一次。要了解如何操作,请参阅名为 第十二章* 的章节,访问在线资源。
要打开本章的章节复习题,请执行以下步骤:
-
点击链接 –
packt.link/AI-900_CH02.或者,你可以扫描以下二维码 (图 2.1):
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_02_01.jpg
图 2.1– 为已登录用户打开章节复习题的二维码
- 一旦登录,你将看到一个类似于 图 2.2 中所示的页面:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_02_02.jpg
图 2.2 – 第二章的章节复习题
- 准备就绪后,开始以下练习练习,多次重新尝试测验。
考试准备练习
对于前三次尝试,不要担心时间限制。
尝试 1 次
第一次尝试,目标至少为 40%。查看你答错的答案,并再次阅读章节中的相关部分,以填补学习上的差距。
尝试 2 次
第二次尝试,目标至少为 60%。查看你答错的答案,并再次阅读章节中的相关部分,以修复任何剩余的学习差距。
尝试 3 次
第三次尝试,目标至少为 75%。一旦得分达到 75%或更高,你就可以开始练习时间管理。
小贴士
你可能需要超过 三次 尝试才能达到 75%。这是可以的。只需复习章节中的相关部分,直到达到那里。
练习时间管理
你的目标是保持得分不变,同时尽可能快地回答这些问题。以下是你下一次尝试应该看起来像的例子:
表 2.1 – 在线平台上的样本时间练习练习
注意
上表中显示的时间限制只是示例。根据网站上的测验时间限制,每次尝试时自行设定时间限制。
每次新的尝试,你的得分应保持在**75%**以上,同时完成所需的时间“应减少”。重复尝试,直到你觉得自己能够自信地应对时间压力。
第二部分:描述 Azure 机器学习的根本原理
在了解了一些 AI 的基础概念和工作负载之后,现在是时候深入研究机器学习背后的原理——更具体地说,是 Azure 上的机器学习。你将了解机器学习概念和能力。
本部分包括以下章节:
-
第三章, 识别常见的机器学习技术
-
第四章, 描述核心机器学习概念
-
第五章, 描述 Azure 机器学习功能
第三章:识别常见的机器学习技术
到目前为止,我们已经向您介绍了人工智能技术(如计算机视觉或生成式 AI)以及微软的负责任 AI 原则。现在,是时候开始讨论 AI 的实质了。
你可能对 AI 的一个最重要的问题是 AI 如何知道它所做的事情。正如人类学习一样,AI 系统被设计成具有学习能力。而且,就像人类通过各种机制(如记忆和实践或重复)学习一样,AI 系统也通过不同的技术和场景学习。
老实说,尽管“机器学习”这个术语有点名不副实。因为到目前为止,计算机并不完全具有意识,所以有人可能会认为它们实际上不具备真正的学习能力。然而,它们能够做到的却非常有用:检查大量数据集以建立模式和预测结果。人类有时在识别小数据集的模式方面可能相当出色。一旦数据集包含成千上万或数百万个数据点,人类就很难跟上——这正是机器学习擅长的领域。
机器学习的核心思想是查看这些大量数据集,并预测类似行动或场景的结果或值。以下是一些机器学习示例:
-
一家电力公司结合历史天气模式和历史能源使用情况来估计电网的负载
-
一家保险公司使用行驶里程、驾驶时间是否为白天或夜间以及驾驶员年龄来预测事故发生的可能性
-
一位生物学家研究人员使用动物的视频数据来自动识别相机上观察到的已知物种,并突出可能未知物种
在这些案例中,AI 系统在已知数据集上进行训练,然后要么被提问,要么接触到新数据,并被指示将过去的观察应用于新数据或查询,以产生新的输出或结果。
在本章中,我们将介绍一些与机器学习相关的高级概念。本章我们将涵盖以下目标和技能:
-
识别回归机器学习场景
-
识别分类机器学习场景
-
识别聚类机器学习场景
-
识别深度学习技术的特征
到本章结束时,你应该能够识别并描述一些常见的机器学习场景。
首先,让我们对机器学习做一些背景介绍。
理解机器学习术语
如您所知,机器学习是另一种基于观察数据集预测结果的方法。
机器学习模型本质上是一种软件应用,它使用数学函数根据输入值计算输出值。这个过程涉及两个主要阶段:训练和推理。
训练
在训练过程中,模型通过分析过去的观察结果来学习预测输出值。这些过去的观察结果包括 特征(输入值)和 标签(输出值)。
在典型场景中,特征由表示为 x 的变量表示,而标签由表示为 y 的变量表示。特征可以由多个值组成,形成一个由 [x1, x2, x3, …],y 表示的 向量。例如,在根据天气预测瓶装水销售时,天气测量值是特征 (x),而销售的瓶装水数量是标签 (y)。
然后将算法应用于数据,以建立特征和标签之间的关系,创建一个基于特征预测标签的计算。算法的选择取决于要解决的问题类型。结果是表示为函数 f 的 模型,其中 y = f(x)。
向量和算法究竟是什么?
向量,代数的基础单元,实际上是 元组(或值的集合)。这些值组可以被视为类似于数组,尽管元组可以包含混合数据类型,如字符串、浮点数和整数。
从高层次来看,算法是一组函数、规则、公式或过程,AI 系统使用它们来分析数据、发现洞察力和预测结果。算法代表了使机器学习成为可能的数学。
机器学习的“学习”部分可以分为两种类型:监督和无监督。每种类型都与各种算法和过程相关联。
监督机器学习技术
监督机器学习包括从包含输入特征和相应目标标签的数据中学习的算法。目标是揭示将输入特征与其结果相联系的模式,使模型能够预测新、未见过的数据的结果。让我们看看监督学习技术的类型:
回归
回归-基于的学习旨在识别和理解自变量与因变量之间的关系,并常用于进行商业预测。回归是一种监督学习,其输出是一个连续的数字。以下是一些例子:
-
根据温度等天气条件预测瓶装水销售
-
根据可用库存量和历史销售价格估算经销商的汽车销售价格
分类
分类使用算法将训练数据分配到类别中。分类识别或识别训练数据中的实体,并试图得出关于实体如何定义或标记的结论。分类涉及将数据点分类到不同的类别中:
-
二元分类:这预测两种可能结果中的一种。例如,根据健康指标诊断糖尿病,根据财务历史评估贷款违约风险,或根据消费者档案预测营销响应。
-
多类分类:这预测一个观察值属于几个类别中的哪一个。例如,根据物理特征对动物物种进行分类,或根据制作细节对电影类型进行分类。与二元分类不同,多类分类中的单个观察值被分配到一个唯一的类别。
算法
正如你已经学到的,算法是用于处理数据的数学公式。从监督学习的角度来看,这些算法通常被使用:
-
AdaBoost和梯度提升:这些方法通过将简单模型聚合为更稳健的模型来提高其准确性。通过使用额外的弱模型按顺序纠正基本模型的错误,它们共同提高了预测准确性。提升模型可以应用于分类和回归问题。
-
人工神经网络(ANNs):ANNs 受到人脑神经网络灵感的启发,是深度学习的基础。它们通过称为神经元的相互连接的单元处理数据,随着时间的推移学习识别模式和做出决策。ANNs 在各种环境中得到应用,例如自然语言处理、语音和图像识别以及游戏(如象棋和国际象棋)。
-
决策树:这些算法通过将决策分解成类似树状结构的选项来预测结果或对数据进行分类。决策树是透明的,与更不透明的模型(如神经网络)相比,它们更容易理解和验证。你可以将决策树想象成一种流程图,如图图 3.11*所示:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_03_01.jpg
图 3.1 – 简单决策树的示例
-
降维:这种技术通过减少输入特征的数量来降低数据的复杂性,专注于仅保留最相关的信息。主成分分析是用于此目的的常用方法。
-
K-最近邻(KNN):KNN 根据数据集中最近的邻近点对数据点进行分类。它计算点之间的距离(通常是欧几里得距离),并根据其最近邻中最常见的类别分配一个类别。KNN 根据最近数据点的多数或平均值做出预测。
-
线性回归:这种方法通过建立一个或多个自变量与因变量之间的关系来预测连续结果。简单线性回归只涉及一个自变量和一个因变量。线性回归的一个例子可能是根据房屋的面积预测房价。
-
逻辑回归:用于二元结果(例如,是/否、真/假),逻辑回归模型基于一个或多个独立变量对分类因变量的概率进行建模,非常适合二元分类任务。逻辑回归可以通过构建基于消息特征的模型(如表示垃圾邮件内容的关键词、源 IP 地址、电子邮件长度、错别字数量或其他特征)用于垃圾邮件检测。
-
朴素贝叶斯:基于贝叶斯定理,该技术假设预测因子之间相互独立,对于文本分类、垃圾邮件检测和推荐系统非常有效。变体包括多项式、伯努利和高斯朴素贝叶斯。贝叶斯算法常用于文本分类任务,如垃圾邮件检测和情感分析。
-
随机森林:这种集成方法通过平均多个决策树的结果,从而做出更可靠和准确的预测,有效地减少了过拟合和预测中的方差。随机森林算法的一个常见用例可能是根据多个特征(如支持部门电话次数、通话时长、订阅服务时长、服务使用频率的遥测数据)检测客户是否可能离开订阅服务(或流失)。每个这些特征都可以在决策树中进行评估,然后一起用来预测客户的流失潜力。
-
支持向量机(SVM):SVM 通过找到最大化不同类别数据点之间间隔(超平面)的最优边界来用于分类和回归,增强了模型的判别能力。想象一下,你有一组在图上的点,需要将它们分成两组。SVM 将确定如何绘制一条最佳分离线。最优的线路径将是最大化线与点之间间隔的线。请参见图 3.2中的一个非常简单的例子:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_03_02.jpg
图 3.2 – 支持向量机模型简单表示
进一步阅读
虽然在 AI-900 考试中你不会看到所有这些个别算法,但了解它们是很有趣的。你可以在诸如machinelearningmastery.com/a-tour-of-machine-learning-algorithms/和www.kdnuggets.com/a-beginner-guide-to-the-top-10-machine-learning-algorithms等网站探索这些算法背后的基本数学概念。
无监督机器学习技术
无监督学习模型在无标签的数据上进行训练,旨在根据数据中的相似性找到潜在的模式或分组。
聚类是无监督学习中的一个主要技术,它根据特征相似性将数据点分组。例如,将不同类型的花朵分类或根据购买习惯对客户进行细分。与分类不同,聚类不需要预定义的类别;算法自主识别这些组。聚类也可以是定义后续分类模型类别的初步步骤,例如将客户细分到针对营销策略的类别中。
半监督机器学习技术
半监督学习位于监督学习和无监督学习之间。这种技术结合了监督学习的两个方面(提供标记的输入数据)以及无监督学习(使用未标记的数据进行训练)。
推理
一旦训练阶段完成,模型就可以用于推理或做出预测。该模型作为一个封装了学习到的函数的软件程序,允许用户输入特征值并接收对应标签的预测。预测标签用ŷ(发音为“y-hat”)表示,以区别于观察值。
理解机器学习需要掌握训练和推理的基本概念,以及认识到算法在建立特征与标签之间预测关系中的作用。通过将数学函数应用于数据,机器学习模型可以做出预测,并促进从天气预报到医疗诊断等各个领域的决策制定。
识别回归机器学习场景
回归模型旨在使用包含输入特征及其对应目标值的训练数据来预测数值结果。与任何监督学习方法一样,回归模型的发展通过几个周期展开。在每个周期中,你选择一个合适的算法——通常可以配置各种参数——来构建模型。然后,你评估模型预测结果的好坏,并通过尝试不同的算法和调整参数来调整它。这个过程会持续进行,直到模型达到令人满意的预测准确度水平。
回归训练的整体过程如下:
-
随机划分训练数据以形成用于模型开发的训练集,并保留一部分用于模型验证。例如,可以考虑预留 30-50%的训练数据以供后续测试。
-
使用合适的算法,例如线性回归,根据训练集构建模型。
-
然后,使用预留的验证数据从步骤 1开始评估模型的有效性,通过做出预测并将这些预测值与验证集中的实际标签进行比较。
-
总结预测值与实际值之间的差异,以得出反映模型预测准确度的性能指标。
-
迭代这个训练-验证-评估周期,尝试不同的算法和设置,直到模型的表现符合你的期望。
通过这些步骤,你可以构建回归模型来预测许多现实世界的场景。
示例
之前,我们讨论了基于天气温暖程度预测瓶装水销售的例子。为了了解回归训练是如何工作的,让我们深入瓶装水销售的例子。
假设你想根据室外温度预测你预计会售出多少瓶水。这对作为供应商的你来说很重要,因为它有助于你了解你需要储备多少才能满足需求。
首先,你需要收集用于训练模型(以及后来验证模型)的历史数据。请参考表 3.1中的以下样本数据集——它捕捉了两个关键数据点:在给定温度下售出的瓶装水数量(y):
表 3.1 – 瓶装水销售
下一步是选择我们将用于训练的数据量以及我们将留出的用于验证和测试的数据量。让我们先取前 10 行来训练我们的虚构模型,留下最后 5 行用于验证。
在这个例子中,理解温度和售出瓶装水之间关系的一个简单方法是将它们绘制在简单的图表上,如图图 3**.3所示。
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_03_03.jpg
图 3.3 – 温度和售出瓶装水在图上绘制
在训练过程中,算法将公式或函数应用于计算y的值,其中y是从x的值中得出的。在这种情况下,所使用的算法将是线性回归中的一种——它通过点计算一条直线。见图图 3**.4:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_03_04.jpg
图 3.4 – 线性回归
从图中可以看出,对于每度的变化,历史数据趋势上升。斜率可以用方程y = 1.11x – 60.02 表示,其中x是温度,y是售出的水瓶数量。换句话说,从 60 度开始,每增加 1 度温度,售出的水瓶数量增加 1.11。
在开发出这个公式后,下一步是根据训练集中的剩余数据测试该公式。在这个例子中,训练集中剩余的数据已经绘制在同一图表上,并对它们进行了线性回归分析:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_03_05.jpg
图 3.5 – 验证数据集复合到原始图上
为了测试公式,你可以从保留的训练数据中取一个值(例如 81 度)并通过计算 y = 1.11(81) – 60.02 来预测卖出的水瓶数量,结果为 30 个水瓶(或四舍五入到下一个整数的 29.91 个)。
你可以对数据集中保留的每个温度值重复这个过程,使用该函数计算卖出的水瓶数量的预测。见表 3.2中的示例:
表 3.2 – 使用训练数据预测卖出的水瓶数量
你如何表达模型的准确性?如果你不确定你的模型有多准确,请继续阅读!有一些指标可以帮助你理解模型及其预测的准确性(或不准确性)。
评估指标
评估指标是用于评估预测对数据集有效性的统计公式。
均绝对误差 (MAE)
这个均绝对误差(MAE)表示平均上有多少单位的方差(无论是正数还是负数)。例如,在表 3.2 中的样本 11,预测卖出 12 瓶水。实际卖出的数量(基于训练数据)是 7,这意味着预测比实际高出 5 个单位。这种方差被称为绝对误差。在样本 12 中,预测卖出 27 瓶水,但实际卖出的数量是 33(高出 6 个单位,或绝对误差为 6)。
要计算 MAE,将所有绝对误差值相加,然后除以验证集中的样本数量。在这种情况下:
表 3.3 – 绝对误差表
所有绝对误差的总和为 22,验证集的项目数量为 5,因此验证集的 MAE 为 4.4(22 除以 5)。
均方误差
均绝对误差的一个缺点是它平等地对待所有差异。虽然整体平均误差率可能是可接受的,但在某些行业或场景中,更希望有更多(但更小)的误差,而不是更少(但更大)的误差。例如,对于新鲜农产品,过度库存是非常不希望的,因为你更有可能需要丢弃大量过期的食物。
均方误差(MSE)作为衡量模型本身质量的一个指标。这个指标给个别误差更多的权重——训练数据中的较大误差预测会导致均方误差显著增加。
为了计算这个值,每个绝对误差值被平方,然后这些值的总和被平均。使用 表 3.3 中的训练数据输出,均方误差值为 21.2,突显出模型可能需要调整或更多训练数据。
均方根误差 (RMSE)
下一个指标是均方根误差,它是均方误差的平方根。虽然均方误差提供了预测函数质量的度量,但 RMSE 被转换回原始单位,这使得它更容易解释和传达模型的表现。RMSE 对异常值敏感,并给予较大的误差相对较高的权重。像 MSE 一样,较小的 RMSE 指示更好的拟合。
使用我们的验证数据集,RMSE 为 4.6。
决定系数
决定系数,也称为 R2,衡量统计模型预测实际结果的好坏。它是一个介于 0 和 1 之间的分数,告诉我们模型可以解释的目标变量(我们试图预测的变量)的变化百分比。得分为 1 表示模型完美预测,预测值和实际值之间没有差异,而得分为 0 表示模型无法解释任何变化。
R2 值越接近 1,表明模型很好地拟合了我们的数据,暗示我们的输入变量与结果之间存在强烈的关系。然而,仅凭高 R2 并不能保证模型是准确的或对预测有用,尤其是在具有许多变量的复杂模型中。确保模型不是仅仅拟合了数据中的噪声(过拟合),这可能导致误导性结果,这一点至关重要。因此,虽然 R2 是模型拟合的有用指标,但它只是评估模型性能的谜题中的一块。
我们样本验证数据集的决定系数为 0.898——基本上是 89.8% 准确。
基于此,我们的模型可能相当不错(对于瓶装水来说)。由于瓶装水不像草莓那样容易腐烂,所以多储备一些水不太可能导致产品损失。
如果我们讨论的是更易变的产品,你可能需要通过改变输入数据集、回归算法和算法超参数(控制算法工作方式的参数,而不是算法提供的数据)来进行一些迭代训练(即重复的训练会话),以得出一个更准确地预测销售结果的函数。
应用
那么回归机器学习在哪里有用呢?正如从瓶装水示例中可以看到,它在进行多种预测时很有用,尤其是在预测销售、配额、房价、股价和其他预测活动中。它也适用于分析广告或媒体服务的用户趋势。
识别分类机器学习场景
分类是一种监督机器学习技术,其基本原理是根据标准将值放入组(类别)中。主要有两种分类技术:二元和多类。让我们看看这两种。
二元分类
你可能之前听说过二进制这个术语,并且知道它是计算机用来处理信息的由一和零组成的语言。二进制简单来说就是数据项可以设置为两个值之一。例如,0 或 1 以及真或假都是二进制选择。
在机器学习环境中,二元分类与回归机器学习中的工作方式类似——使用特征值(x,就像在回归机器学习中一样),模型预测标签(y)是 0 还是 1。二元分类根据特征数据将数据分类到互斥的组中。
示例
让我们看看一个可能用于训练二元分类模型的数据集,该模型基于患者的 LDL 胆固醇水平预测患者是否有患心脏病的风险。就像我们之前看到的回归数据集一样,我们将有一个包含数据测量的特征(x)列和相应的标签(y):
| 患者 ID | LDL 胆固醇水平(x)(以 mg/DL 为单位测量) | 心脏病(y) | 0 = 无,1 = 是 |
| — | — | — |
| 1 | 100 | 0 |
| 2 | 87 | 0 |
| 3 | 132 | 0 |
| 4 | 159 | 1 |
| 5 | 152 | 1 |
| 6 | 171 | 1 |
| 7 | 188 | 1 |
| 8 | 161 | 0 |
| 9 | 118 | 0 |
| 10 | 141 | 0 |
| 11 | 102 | 1 |
| 12 | 144 | 0 |
| 13 | 155 | 1 |
| 14 | 167 | 1 |
| 15 | 142 | 1 |
表 3.4 – 心脏病患者二元分类数据
就像回归模型技术一样,有许多算法可以用于二元分类。一个流行的算法是逻辑回归(尽管其名称如此,但它并不是基于回归模型的算法),它通常通过其表示 0 到 1 之间值的 S 形(S 型)函数图来识别。见图 3.6:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_03_06.jpg
图 3.6 – Sigmoid 函数图的示例
与回归算法一样,结果函数可以用数学表达式表示。在图中,y轴表示标签为真的概率(从 0 到 1 排序),使用以下表达式:
f(x) = P(y=1 | x)
表 3.4 中的训练数据集显示了七个肯定没有心脏病的人和八个有心脏病的人。图 3.6 中描绘的图表也显示了一条可选的水平线,它可以指示预测从假变为真的阈值。
与回归模型训练一样,你应该将数据集分为两个选择:一部分用于训练,另一部分用于验证。
将数据输入到简单的二元分类函数中,你可能绘制出类似于图 3.7 中的图表。
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_03_07.jpg
图 3.7 – 一个样本的二分类图
在图 3.7中,绘制的点表示患者的 LDL 胆固醇读数(沿x轴绘制),它们在y轴上的位置表示患者是否有心脏病,其中 0 代表“无”,1 代表“是”。
使用与回归训练中验证算法相同的方法,使用保留的训练数据,可以对二分类做同样的事情。创建模型后,根据特征(LDL 胆固醇水平)预测心脏病应该很容易:
表 3.5 – 基于胆固醇的心脏病预测
接下来,让我们看看如何评估数据。
评估指标
当评估一个模型时,不仅要能够确定预测正确和错误的地方,还要理解它们正确或错误的原因。这些结果可以用一个称为混淆矩阵或混淆图的图表来表示,如图图 3.8所示:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_03_08.jpg
图 3.8 – 混淆矩阵
数据被分为四个类别:
-
实际为是:训练数据表明患者有心脏病
-
实际为否:训练数据表明患者没有心脏病
-
预测为是:模型根据胆固醇水平预测患者会有心脏病
-
预测为否:模型根据胆固醇水平预测患者不会患有心脏病
然后将它们布局在四个象限中,并相应地标记交叉点:
表 3.6 – 混淆矩阵表
下面是如何解释这些值的说明:
-
真阴性(TN):这是模型正确预测了条件不存在(类别 0)的实例数量。在我们的案例中,这代表被正确地识别为没有心脏病风险的患者数量。
-
假阳性(FP):这是模型错误地预测了条件存在(类别 1)的实例数量。在我们的案例中,这代表被错误地识别为有心脏病风险但实际上没有的患者数量。
-
假阴性(FN):这是模型错误地预测了条件不存在(类别 0)的实例数量。在我们的案例中,这代表实际上有心脏病风险但被错误地识别为没有风险的患者数量。
-
真阳性(TP):这是模型正确预测条件存在(类别 1)的实例数量。在我们的案例中,这代表正确识别为患有心脏病风险的患者数量。
这些数据点(真正的负数、真正的正数、错误的正数和错误的负数)可以进一步用于评估模型准确性的几个指标。
准确率
准确率用于描述模型总体上正确性的频率。计算准确率的公式是 (TP + TN) / (total)。在此情况下,模型的准确率为 60%。
回忆
召回率(有时称为灵敏度)表明模型识别正类(1,或在此情况下,患有心脏病风险的患者)的能力。公式是 TP / (TP + FN)。类别 1(患有心脏病)的召回率为 50%。
精确率
精确率是模型对每个类别预测正确频率的指标。对于正类,此公式是 TP / (TP + FP)。对于类别 1(心脏病),模型正确预测的频率为 100%。
特异性
特异性衡量模型对负类(0,或在此情况下,无心脏病患者)预测正确性的频率。公式是 TN / (TN + FP)。此模型对负类的特异性为 33%,表明在预测患者不会患有心脏病时,只有 33%的时间是正确的。
如果预测与实际数据之间存在差异,这可能表明模型可能需要改进的领域,例如收集更多样化的数据、使用不同的模型或调整现有模型。了解模型失败的地方可以帮助减少假阳性(错误地预测没有风险的风险)和假阴性(错过识别实际风险),这在医学诊断中尤其重要。
应用
当影响真实或虚假结果的因素有限时,二元分类最有用。在医学、生物学、技术和化学等地方,当你试图根据一小组变量确定是/否或真/假结果时,这是常见的。
二元分类的常见现实世界例子包括以下:
-
电子邮件垃圾邮件检测:将电子邮件分类为垃圾邮件或非垃圾邮件。这是二元分类最常见的一种应用,由电子邮件服务用于过滤掉不受欢迎的消息。
-
医学诊断:将患者疾病或状况诊断为阳性(患有疾病)或阴性(未患病)。例如,二元分类模型可以根据医学影像检测肿瘤是否为恶性或良性。
-
信用批准:决定是否批准或拒绝信用申请。金融机构使用二元分类算法来预测申请者是否可能违约。
-
客户流失预测:预测客户是否会流失(离开)或继续与公司或服务保持关系。公司使用二元分类来识别风险客户并制定保留策略。
-
欺诈检测:识别交易为欺诈或合法。银行和金融机构使用二元分类模型来检测可疑活动并预防欺诈。
-
情感分析:确定一段文本(如产品评论或社交媒体帖子)是否表达积极或消极的情感。这在市场营销和客户服务中广泛用于衡量公众舆论和客户满意度。
-
恶意软件检测:将文件或程序分类为恶意或安全,由网络安全系统用于保护计算机和网络免受病毒和其他恶意软件的侵害。
多类分类
稍微转换一下话题,让我们看看多类分类。像二元分类一样,它是一种基于特征的概率方法,根据特征分配分类。然而,它不仅可以使用多个特征和多个分类,而不是使用单个特征或二元标签(真/假,0/1)。基本思想是相同的,但让我们快速看一下它的工作原理的一个例子。
示例
在这个例子中,我们将评估辣椒及其辣度(或斯科维尔辣度单位评分)。每种辣椒都有一个辣度评分,按斯科维尔单位排名,描述了它的辣度。
表 3.7 中的数据展示了各种辣椒及其平均斯科维尔辣度单位:
表 3.7 – 选择辣椒及其斯科维尔辣度单位评分
现在,就像二元分类训练一样,让我们生成一个特征(斯科维尔辣度单位评分)和标签(辣椒)的样本表:
表 3.8 – 斯科维尔评分样本数据
一旦收集了训练数据,就到了使用算法将训练数据拟合到计算我们类别概率的函数的时候了。根据我们的训练数据,我们的数据集有 11 个可能的答案(类别)。它们是零索引的,这意味着它们从 0 到 10 编号。
多元分类模型中最常见的算法是一对余(OvR)和多项式算法。
-
一对余(OvR)或一对所有(OvA):使用此算法,你为每个类别单独训练一个二分类函数。每个函数针对集合中的特定类别与其他任何类别进行比较。在这种情况下,由于有 11 种辣椒类型,算法将创建 11 个二分类函数。像之前的二分类一样,该算法产生一个 Sigmoid 函数。该模型的输出预测了产生最高概率输出的函数的类别。OvR 或 OvA 策略可以应用于例如卡罗来纳雷 aper 对所有分类器的场景——本质上确定一个元素是否是卡罗来纳雷 aper。
-
多项式:此算法以不同的方式处理问题,创建一个具有多值(或向量)输出的单个函数。这个向量可以包含所有潜在类别的概率分布,尽管它实际上是为互斥数据集设计的(例如,如果一个辣椒的 Scoville 评分不能扩展到另一个辣椒的范围内)。具有多个元素的向量中,每个类别的元素都会在 0 到 1 之间单独评分,总和为 1。
这类模型可能需要更多信息才能可靠地预测。例如,查看 表 3.7 中的 Scoville 辣椒评分样本数据。正如你所看到的,有几个实例中,一个辣椒可能与其他辣椒有相似的热度评分(要么较温和,要么较辣)。更大的训练数据集将有助于模型理解频率的概念,从而帮助更准确地预测和选择适当的分类策略(取决于你想要识别的因素),这将有助于你在这种分类方法中取得最大的成功。
评估指标
由于多元分类实际上可以看作是二分类的扩展(在许多情况下),因此相同的技术和术语适用。
例如,使用训练数据,你可以开发一个混淆矩阵。布局与二分类的混淆矩阵非常相似——只是需要处理更多的标签,如图 图 3.9 所示:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_03_09.jpg
图 3.9 – 基于 Scoville 辣椒数据的多元混淆矩阵
应用
多类分类指的是需要将项目分类到两个以上类别的场景。与区分两个类别(如是/否或真/假)的二分类不同,多类分类处理的是有三个或更多类别的情形。
潜在的应用场景包括以下内容:
-
预测动物类型:假设你有一个包含动物图像的数据集,你想要将每个图像分类为狗、猫、鸟或鱼。这是一个有四个类别的多类分类问题。
-
天气预报:如果你在预测天气将是晴朗、多云、下雨还是下雪,你就是在处理多类分类。
-
手写数字识别:一个经典的例子是 MNIST 数据集,其中的任务是把手写数字图像分类到 10 个类别(0 到 9)。
-
医疗诊断:假设某个特定的诊断测试可以指示几种不同的疾病。如果你正在开发一个模型,根据患者的症状和测试结果预测患者可能患有的特定疾病(从可能的集合中),你就是在进行多类分类。
在多类分类中,技术和指标与二分类略有不同,因为你必须考虑模型在所有不同类别(而不仅仅是两个)上的表现,但总体过程非常相似。对于每个类别都会计算精确度和召回率等指标,然后以某种方式(如微平均、宏平均或加权平均)进行平均,以了解整体性能。
一个分类的 F1 分数是用来总结该类整体准确性的一个度量。之前,你学习了精确度(正确预测的正观察值与总正值的比率,公式为 P = TP / (TP+FP)) 和召回率(正确预测的正观察值与类别中所有观察值的比率,使用公式 R = TP / (TP + FN) 计算)。
F1 分数是使用以下公式计算的:F1 = 2 * (P * R) / (P + R)。
到目前为止,你一直在学习关于监督学习场景,如二分类和多类分类。接下来,我们将转向无监督场景。
识别聚类机器学习场景
聚类是一种无监督机器学习场景,其中算法被用来尝试识别数据中的模式。与有监督学习不同,有监督学习中的训练数据有标签和特征,而无监督学习没有。聚类的主要目标是让机器学习算法能够根据数据点本身的相似性在数据中找到自然分组。
正如监督学习有自己的算法一样,有几种流行的算法可用于聚类场景:
-
K-means 聚类:该算法根据每个簇质心的平均距离将数据划分为K个互不重叠的子集(或簇)。K的值需要事先指定。
-
层次聚类:通过自底向上(聚合)或自顶向下(划分)的方法构建簇的层次结构。它不需要预先指定簇的数量。
-
基于密度的空间聚类应用噪声(DBSCAN):基于数据点的密度形成簇,能够发现任意形状的簇并有效地处理噪声和异常值。
示例
假设我们有一些来自杂货购物者的样本数据;15 位购物者将表 3.9中描述的项目(或特征)放入了他们的篮子里:
表 3.9 – 食物示例购物篮
在这个例子中,我们可以指导 K-means 算法将数据划分为三个购物篮组。根据输出结果,我们最终得到以下三个簇:
-
簇 0:篮子 2、5、12、15
-
簇 1:篮子 5、9、11、14
-
簇 2:篮子 1、3、4、6、8、10、13
下面是如何将 K-means 算法应用于购物者购买的杂货数据集的示例:
-
首先,将杂货商品(如面包、牛奶、鸡蛋等)以适合机器学习算法的格式表示。这是通过二进制表示实现的,其中每个项目被编码为 0(未购买)或 1(购买),如表 3.9所示。这个二进制矩阵形成了数据集,其中每一行代表一个购物篮,每一列代表不同的杂货商品。
-
接下来,我们选择了一些集群(或组)用于对项目进行分组。在这种情况下,我们将 K 设置为三个,这意味着我们决定根据包含的项目将购物篮分为三个不同的集群。K 的选择可能受到领域知识、实验或其他技术和算法的影响。
-
一旦设置了过程的先决条件,我们然后在图上选择一些随机点。这些点称为 质心,是正在形成的集群的中心点。在我们的例子中,随机选择了三个购物篮作为初始质心。
-
然后,每个购物篮(或我们的数据集的一行)被分配到最近的质心。通常,“最近”是通过计算篮子与每个质心之间的距离来确定的。每个篮子被分配到离它最近的质心的集群,从而根据当前的质心形成三个初始集群。
去更远的地方
在聚类中确定距离有许多不同的方法。最常用的三种距离计算类型是 欧几里得、汉明、曼哈顿、闵可夫斯基 和 杰卡德。每种类型的距离用于不同类型的数据(例如,二进制数据与线性或连续数值数据)。好消息是,这些内容都不出现在考试中,所以你不需要学习它们。然而,如果你想探索确定聚类距离的不同数学基础,请参阅 www.displayr.com/understanding-cluster-analysis-a-comprehensive-guide/。
-
一旦所有篮子都被分配到集群中,这些集群的质心将被重新计算。这是通过取每个集群中所有篮子的平均值(或平均数)来完成的。由于我们的数据是二进制的,这个平均值可能不是正好是 0 或 1;它代表集群中包含每个项目的篮子比例。
-
将篮子分配到最近的质心并根据当前的集群成员资格更新质心的步骤被重复执行。随着质心的变化,每个迭代中篮子可能会从一个集群转移到另一个集群。
-
这个过程一直重复,直到质心在迭代之间不再显著变化,这意味着集群已经稳定,算法已经收敛。这是 K-means 的停止标准。
-
一旦算法收敛,每个购物篮根据其包含的项目被分配到三个集群中的一个。最终的集群代表基于某些项目的存在或不存在而彼此相似的购物篮组。
在我们的购物项目数据集的背景下,应用 K-means 使我们能够将购物篮分组到簇中,这些簇可能反映了客户不同的购物模式或偏好。例如,一个簇可能代表每周的必需品购物(包括面包、牛奶和鸡蛋等物品),另一个簇可能代表新鲜农产品购物(包括水果和蔬菜等物品),另一个簇可能代表特殊商品购物(如咖啡或奶酪)。
这种类型的信息通常被商家用来帮助理解购买习惯和推荐或升级销售的机会。如果你曾经好奇亚马逊是如何确定哪些商品会作为推荐给你购买,或者为什么你会收到某些优惠券,那么在某个阶段很可能涉及聚类机器学习模型。
评估指标
由于没有标签进行比较,评估聚类的性能不如监督学习直接。然而,可以使用诸如轮廓得分(或轮廓系数)、戴维斯-博尔丁指数和卡尔斯基-哈拉巴斯指数等指标,通过测量簇之间的距离和簇本身的密度来评估聚类的质量。
轮廓得分
轮廓得分或轮廓系数衡量每个数据点如何适合其最终分配的簇。分数范围从-1 到 1,其中接近 1 的值表示定义更清晰、重叠更少的簇。
-
分数接近 1 表示簇彼此之间距离较远且定义清晰
-
分数为 0 表示簇之间存在重叠
-
分数接近-1 表示簇的分配不适当
在这种情况下,该模型的轮廓得分是 0.128,这表明簇之间存在重叠或可能没有明显分离。这种情况对于这种类型的数据(如购物清单)是可以预料的,因为购物者使用物品的频率不同,彼此有不同的需求,导致他们做出复杂的购买决策,可能结果是购买相同的东西但出于不同的原因。
戴维斯-博尔丁指数
戴维斯-博尔丁指数用于衡量聚类的质量,其中较低的分数表示聚类质量更好。
我们购物篮 K-means 聚类模型的戴维斯-博尔丁指数得分约为 1.65。这个分数本质上评估了每个簇与其最相似簇之间的平均相似度,其中相似度是一个结合簇的紧凑性(簇内点彼此之间的接近程度)和分离度(不同簇彼此之间的距离)的度量。
较低的戴维斯-博尔丁指数表示簇是紧凑的(即,每个簇内的点彼此靠近)且分离良好(即,簇彼此之间距离较远)。相反,较高的分数表明簇的区分度较低。
通常,分数接近 0 的更受欢迎。
Calinski-Barabasz 指数
Calinski-Harabasz 指数,也称为方差比率准则,没有像某些其他指标(如轮廓分数,其范围从-1 到 1)那样的固定范围。相反,其值取决于数据集的特征,包括样本数量、维度和固有的簇结构。此模型的 Calinski-Harabasz 指数得分为 3.10。
更高的 Calinski-Harabasz 指数得分表明簇是密集的(意味着簇内的点彼此靠近)并且分离良好(意味着簇彼此之间距离较远)。这被解释为具有更好定义的簇结构的模型。与准确度等指标的范围从 0 到 1,或轮廓分数的理论范围从-1 到 1 不同,Calinski-Harabasz 指数没有最大值,并且不在固定范围内有界。没有上下文的情况下,其绝对值信息较少。
当用于比较同一数据集上不同的聚类模型或配置时,该指数最有用。例如,通过选择具有最高 Calinski-Harabasz 得分的簇数(K)来选择最佳K,可以帮助通过聚类相同数据并使用不同数量的簇来获得分数。在这个例子中,我们告诉模型将购物篮分为三个簇。为了有效地使用 Calinski-Harabasz 分数,重新运行模型将篮子分为两个、四个或五个簇将是有用的。
例如,在重新运行 K-means 算法并使用两个、四个和五个簇的参数后,取得了以下分数:
-
两个簇:2.997
-
四个簇:2.73
-
五个簇:2.504
在实践中,因为没有固定的“良好”阈值,最佳方法是使用 Calinski-Harabasz 指数来比较同一数据集上不同聚类解决方案的有效性,并选择得分最高的一个。然而,这个分数应该与其他指标(如轮廓分数和 Davies-Bouldin 指数)一起使用,以进行更全面的评估。
应用
聚类有许多实际应用,从社会科学到市场营销和威胁建模。以下是一些示例应用:
-
市场细分:根据购买行为、兴趣或人口统计特征对客户进行分组。
-
异常检测:通过找出哪些数据点不适合任何簇来识别异常数据点。
-
数据组织:将大量数据组织成可管理和有意义的组。
-
模式发现:在数据中寻找隐藏的模式或内在结构,例如在生物信息学中根据相似的表达模式对基因进行分组。
-
客户行为分析:了解不同的客户群体及其购买模式可以帮助优化产品定位、商店布局和库存管理。
-
推荐系统:聚类可以帮助识别相似物品或用户群体,然后可以根据该群体中其他人的偏好向用户推荐物品。
-
社交网络分析:聚类可以帮助根据个人的互动或共同兴趣,在大型个人网络中识别社区或群体。
这些应用展示了聚类如何在不同领域从大量数据中提取有意义的模式,其灵活性和强大功能。
识别深度学习技术的特征
深度学习是机器学习的一个高级子集,它通过人工神经网络结构模拟人类大脑的学习方式。这些网络由多个层次神经元组成,以分层方式处理数据,这就是为什么这些模型被称为深度神经网络(DNNs)。深度学习自动从大量非结构化数据中提取特征,如图像和文本,显著提高了机器学习任务的准确性和效率。
与传统的机器学习不同,后者依赖于手动特征提取,深度学习模型学会自动识别和区分数据特征。这个过程需要大量的计算能力和数据,利用反向传播和优化算法,如随机梯度下降,来调整神经元连接并最小化预测误差。
深度学习应用包括回归、分类、自然语言处理和计算机视觉,这些应用正在改变自动驾驶、虚拟助手、面部识别和推荐系统等地方。训练过程涉及拟合数据以预测基于特征的输出,迭代调整模型以提高准确性。这项技术代表了机器通过学习数据执行复杂任务能力的一个重大进步。
就像本章讨论的其他机器学习技术一样,深度学习涉及将训练数据拟合到一个函数中,该函数可以根据一个或多个特征(x)的值预测标签(y)。函数(f(x))是嵌套函数的外层,其中每个神经网络层封装了操作于x及其相关联的权重(w)值的函数。训练模型所使用的算法涉及迭代地将训练数据中的特征值(x)向前传递通过层来计算输出值ŷ,验证模型以评估计算出的ŷ值与已知的y值(这量化了模型中的错误或损失水平)有多远,然后修改权重(w)以减少损失。训练好的模型包括导致最准确预测的最终权重值。
那么,深度学习是如何工作的呢?深度学习的基础是一个称为神经网络的结构。
神经网络是指设计用来模拟人脑和神经系统结构和功能的计算系统。类似于大脑的神经元,人工神经网络由称为神经元或节点的单元组成,它们相互连接。这些连接由权重和偏差特征化,一旦输入值超过预定义的阈值,就会激活后续节点。将神经网络想象为一组按层组织的节点,其中每个节点连接到相邻层中的几个节点,每个节点的输出影响下一层节点的输入,有点像 3D 流程图,其中每个条件和动作都可以连接到其他条件和动作。图 3.10展示了简单神经网络设计的一个示例:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_03_10.jpg
图 3.10 – 简单神经网络的示例
每个输入层节点都与隐藏层中的两个节点相连,并且结果数据连接到输出层。神经网络的输入层处理原始数据并将其传递到隐藏层的节点,这些节点根据目标标准对数据点进行分类。随着数据通过连续的隐藏层,目标值的焦点变得更加精细,从而得出更精确的假设。
损失函数用于比较预测的ŷ值与已知值。该函数汇总这些差异,得出多个案例的总方差。这个总方差被总结为损失。可能使用一个优化函数来评估各种损失的权重,并确定如何调整以最小化损失。这些变化会反向传播到整个神经网络中,以替换原始值,并且模型会根据更新的值重新学习。这个过程每次迭代被称为一个 epoch;epochs 会重复进行,直到损失和预测值在可接受的阈值范围内。
最后,输出层利用隐藏层的信息来确定最可能的标签。
当你听到人们谈论深度学习时,实际上是在扩展神经网络的观念,增加更多的隐藏层(代表更多数据分类维度),从而实现更精确的预测。
示例
深度学习的一个实际应用示例是图像识别场景,其目标是预测图像中的动物类型。在这种情况下,一个深度学习模型,通常是一个卷积神经网络(CNN),会在大量动物图像数据集上进行训练。数据集中的每张图像都会标注包含的动物类型(例如,狗、猫、老虎等)。
在训练过程中,卷积神经网络(CNN)学习识别图像中的模式和特征,如形状、纹理和颜色,这些特征可以区分不同的动物。该网络由各种层组成,包括输入层、隐藏层和输出层。输入层接收原始图像数据,而隐藏层通过一系列过滤器处理数据,在每个层中识别越来越复杂的特征。输出层随后使用隐藏层提取的信息,根据最可能代表的动物类型对图像进行分类。
一旦模型训练完成,它可以通过处理新图像并通过相同的网络产生预测,来预测新图像中动物的类型。该模型通过学习识别的特征,基于其识别到的特征来生成预测。
应用
这种自动且准确地对图像进行分类的能力,使深度学习成为野生动物监测、宠物识别甚至医学图像分析等任务的有力工具。
深度学习与聚类有许多相同的应用(因为其目标非常相似——识别和分类或分组先前未标记的数据)。因此,实际应用包括聚类可以做到的一切,以及许多其他应用:
-
图像识别和计算机视觉:由于深度学习模型的结构方式模仿人类视觉感知,因此它们在图像识别任务中得到了广泛应用,特别是卷积神经网络(CNN)。它们可以在图像和视频中识别面部、物体、场景和动作。这项技术支撑着各种应用,包括安全监控、医学影像诊断和自动驾驶汽车。
-
自然语言处理(NLP):深度学习显著提高了 NLP 的能力,使得语言翻译、情感分析和聊天机器人等应用成为可能。Transformer 和循环神经网络(RNNs)等模型在这些进步中发挥了关键作用。
-
语音识别和生成:深度学习模型是语音激活系统(如虚拟助手(例如,Siri、Alexa)、语音转文本转录服务和语音驱动的客户服务系统)的核心。
-
推荐系统:深度学习被用于为 Netflix、YouTube 和 Amazon 等平台上的推荐引擎提供动力,通过根据个人偏好和以往行为个性化内容、产品和服务来提升用户体验。
-
自动驾驶汽车:深度学习模型处理和解释自动驾驶所需的复杂视觉环境,包括识别交通标志、信号、行人和其他车辆。
-
欺诈检测:金融机构利用深度学习检测异常模式,实时预防欺诈活动,显著降低了金融机构和消费者遭受财务损失的风险。
-
药物发现和基因组学:在生物技术领域,深度学习有助于新药的开发和对基因序列的理解,为个性化医疗和复杂疾病的治疗做出贡献。
-
内容生成:深度学习技术用于创建逼真的图像、视频、文本和声音,使虚拟现实、游戏开发以及艺术和音乐的创作等应用成为可能。
-
情感分析:公司使用深度学习来分析客户反馈、社交媒体评论和评论,以衡量公众情绪,改进产品并定制服务。
这些应用展示了深度学习在不同领域的多功能性和变革潜力,推动了创新,提高了效率、准确性和用户体验。
摘要
在本章中,你了解了多种不同的机器学习场景,如回归、分类和深度学习。你学习了监督学习和无监督学习,以及它们各自适用的场合。
机器学习在众多现实场景中都有帮助,从天气预报到医学影像分析。你了解了每种机器学习技术的应用,甚至学习了如何计算几个指标来确定训练模型的准确性。
在下一章中,我们将开始讨论核心机器学习概念。
考试准备练习 – 第三章复习问题
除了对关键概念有扎实的理解外,能够在时间压力下快速思考是一项帮助你通过认证考试的关键技能。这就是为什么在学习的早期阶段就培养这些技能至关重要。
复习问题旨在通过学习并复习每一章的内容来逐步提高你的应试技巧,同时检查你对章节中关键概念的理解。你可以在每一章的末尾找到这些复习问题。
在继续之前
如果你没有 Packt 图书馆订阅或没有从 Packt 商店购买这本书,你需要解锁在线资源以访问考试准备练习。解锁是免费的,只需进行一次。要了解如何操作,请参阅标题为 第十二章 的章节,访问在线资源。
要打开本章的复习问题,请执行以下步骤:
-
点击链接 –
packt.link/AI-900_CH03。或者,你可以扫描以下二维码 (图 3.11):
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_03_11.jpg
图 3.11– 为登录用户打开第三章复习问题的二维码
- 一旦你登录,你将看到一个类似于 图 3.12 所示的页面:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_03_12.jpg
图 3.12 – 第三章的复习问题
- 准备就绪后,开始以下练习,多次重新尝试测验。
考试准备练习
对于前三次尝试,不必担心时间限制。
尝试 1
第一次,目标至少是40%。查看你答错的答案,并再次阅读章节中的相关部分,以填补学习上的差距。
尝试 2
第二次,目标至少是60%。查看你答错的答案,并再次阅读章节中的相关部分,以修复任何剩余的学习差距。
尝试 3
第三次,目标至少是75%。一旦得分达到 75%或更高,你就可以开始练习计时了。
小贴士
你可能需要超过三次尝试才能达到 75%。这没关系。只需复习章节中的相关部分,直到你达到目标。
工作在计时上
你的目标是保持分数不变,同时尽可能快地回答这些问题。以下是你下一次尝试应该看起来像的例子:
表 3.10 – 在线平台上的样本计时练习
注意
上表中显示的时间限制只是示例。根据网站上的测验时间限制,为每次尝试设定自己的时间限制。
每次新的尝试,你的分数应保持在**75%**以上,而完成所需的时间“应减少”。直到你觉得自己能够应对时间压力,可以尝试尽可能多次。
第四章:描述核心机器学习概念
在前面的章节中,您已经接触了一些基本的机器学习(ML)概念,包括各种模型以及特定类型的模型可能有用的场景。在本章中,我们将探讨围绕机器学习中实际使用的数据的概念。
本章我们将涵盖以下目标和技能:
-
在机器学习数据集中识别特征和标签
-
描述训练和验证数据集在机器学习中的应用
到本章结束时,您应该能够清楚地阐述围绕机器学习的术语。
在机器学习数据集中识别特征和标签
如您在第三章中学习到的,“识别常见的机器学习技术”,特征和标签是定义您在训练机器学习模型时使用的数据的两个基本概念。
特征是所观察到的任何事物的单个可测量属性或特征。在机器学习模型中,特征用作输入变量。这些是您用于做出预测的数据点。例如,如果您试图预测房屋的价格,特征可能包括卧室数量、房屋的平方英尺大小、所在社区、距离消防站的远近,或当地的财产税率。特征由您数据集中的独立变量表示,您认为这些变量将帮助您对目标变量做出准确的预测。
另一方面,标签是您试图预测或分类的输出。
在监督学习(SL)中,每个训练示例都包含一个标签。以房屋定价为例,标签将是房屋的实际售价。
在分类任务中,标签是分配给数据点的类别。例如,在一个训练用于识别电子邮件是否为垃圾邮件的机器学习模型中,标签可能是“垃圾邮件”和“非垃圾邮件”。
在本节中,我们将更深入地探讨在您的数据集中处理特征和标签。
在数据集中识别特征
在机器学习数据集中识别特征涉及理解可用于预测结果(目标变量)的变量。您可以通过许多方法来缩小对您的机器学习模型重要性的范围。
让我们在本节中逐一介绍。
理解问题域
首先,理解问题的领域或上下文。这涉及到研究该领域,以了解可能影响结果的因素。例如,如果您正在从事预测房价的项目,潜在的特征可能包括房屋的大小、卧室数量、浴室数量、建造年份、位置、距离消防站的距离、该地区的公共图书馆数量,以及当地教育系统的统计数据。
在进行这一步骤时,与领域专家交谈以了解重要变量可能是有帮助的。你也可以寻找现有的文献、研究或研究,以确定在类似问题中使用的常见预测器或变量。
收集数据
从相关来源收集数据。这可能包括数据库、报告、文件、连接到行业数据源的 API,或直接测量。你收集的数据将包括各种属性或变量。你应该努力确保收集到的数据与问题领域相关,并包括你在对主题研究中所确定的变量。
例如,如果你正在构建一个预测房价的模型,你可能会查看特定邮编区最近房屋销售价格的数据源。由于你已经确定了其他特征,如学校系统评级以及到消防站和图书馆的距离,你需要获取这些数据——这很可能是来自不同的数据源。你需要绘制每栋房子到最近图书馆和消防站的距离,并添加你将用于训练模型的数据库集。
探索数据
进行探索性数据分析(EDA)以了解数据。这可以包括总结数据的统计信息、可视化变量之间的分布和关系,以及识别任何模式或异常。工具如直方图、散点图和相关性矩阵在这里可能很有用。你还应该使用统计摘要(如均值、中位数、众数和标准差)来了解每个变量的分布,并确定存在异常值的地方。
以下是一个散点图的示例:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_04_01.jpg
图 4.1 – 显示房价与平方英尺之间关系的散点图
选择相关变量
你的数据集中并非所有变量都与预测结果相关或必要。根据你的领域知识和初步数据探索,选择可能影响目标变量的变量。与目标变量相关联的变量通常是特征的良好候选者。
在识别变量时,除了考虑变量的统计意义外,还重要的是要考虑变量的实际意义。例如,回到住房的例子,你可能已经了解到一栋房子靠近图书馆可能影响不大。在探索性数据分析(EDA)过程中,你也可能发现其他看似重要的变量,例如靠近购物中心或储藏室的数量。
在审查你的初步数据后,你可能会发现你有缺失的属性或值,或者某些数据可能与问题上下文无关。考虑丢弃这些数据,因为它们可能会降低你模型的有效性。继续迭代,直到你确定相关的特征。
特征工程
这涉及到通过各种技术(如分箱、聚合和属性组合)从现有特征中创建新特征。例如,从一个包含日期的数据集中,你可能可以提取出星期几、月份或年份等特征。或者,你可能会决定将多个日期范围合并成更少的特征。
在房价示例中,你可能会决定按月或周汇总数据,而不是按日拥有单个房子的价格。这可能会减少一些噪声,并有助于更容易地关注趋势。
高级技术,如多项式特征,可以帮助捕捉非线性关系。在一个房子中,一个非线性例子可能是浴室数量和壁橱数量之间的关系。创建多项式特征的一种方法是将两个无关特征相乘。在这个例子中,你可以将浴室数量和壁橱数量相乘:一个有 3 个浴室和 7 个壁橱的房子可以有一个值为 21 的新特征。
特征工程还可能涉及转换变量,如缩放或归一化,以使它们更适合机器学习模型。例如,你可能会决定将房价四舍五入到最接近的$25,000,或者根据卧室数量将房子分组,例如 0-2、3-4、5-6 和 7+。这些技术中的每一个都可以用来帮助简化数据并帮助产生更清晰的预测集。
处理缺失值
决定如何处理潜在特征中的缺失数据。你可能用平均值或中位数(插补)来填充缺失值,丢弃它们,或者使用模型来预测并填充它们。务必考虑缺失数据的原因,以确定它是随机还是非随机的。
移除无关或冗余特征
消除与结果无关或包含在其他特征中信息的特征。冗余或不相关的特征可能会引入噪声并导致过拟合。随着你开发模型,你可能会发现你需要删除特征来帮助细化模型以产生更好的结果。
咨询专家
如果可能的话,咨询领域专家以验证你的特征和数据源选择。他们可能会提供关于哪些变量最有影响力的见解,或者建议你考虑一些你尚未考虑的变量,以及指出你数据源选择中任何已知的偏差。
使用特征选择技术
存在着一些自动特征选择技术,如前向选择、后向消除和递归特征消除,可以根据统计测试或模型性能帮助识别最重要的特征:
-
正向选择:正向选择是一种特征选择技术,通过逐个添加特征来构建模型,从最显著或最有潜力的特征开始。这个过程会持续进行,直到满足停止标准,比如达到预定的特征数量,或者直到新特征的添加不再显著提高模型性能。例如,在我们的房屋定价示例中,这可能意味着从对房屋价格有影响的、最有潜力的总面积特征开始,然后在下一次迭代中添加卧室数量。
-
反向消除:这仅仅是正向选择的相反过程。不是添加特征直到模型不再变化,而是从所有特征开始训练一个模型,然后移除特征直到满足停止标准——比如剩余特征的数量,或者直到移除特征不再显著提高模型性能。
-
递归特征消除:与反向消除类似,递归特征消除是一个从完整特征集开始然后移除特征的过程。而反向消除只是简单地移除最不显著的特征,递归特征消除则是根据特征的重要性和与其他特征的交互来移除特征。
你需要用领域知识、专家见解和数据理解来调整任何自动化的特征选择工具,以确保你选择的是最合适的特征集。
记住——模型开发是一个迭代的过程。随着你构建和发展你的模型,你可能会发现某些特征比其他特征更重要,或者某些特征可以被移除而不降低模型性能(就准确性而言)。
在数据集中识别标签
在机器学习数据集中识别标签涉及理解模型旨在预测的结果或目标变量。以下是你在数据集中识别标签的方法。
定义目标
首先,明确定义你的机器学习项目的目标。你是试图预测一个连续值(回归)、将数据分类到类别中(分类),还是识别相似实例的组(聚类)?你的目标将指导你的标签应该是什么。
理解数据
检查你的数据集并理解每个变量。在监督学习(SL)中,标签是正在预测的变量,这可能是事件的结果、分类类别或序列的未来值。
识别目标变量
在大多数用于监督学习的数据集中,通常有一个特定的列作为目标变量(标签)。这可能是一个表示二分类问题中“是”或“否”的列,回归问题中的数值,或多类分类问题中的类别标签。
咨询领域专家
如果不清楚应该使用哪个变量作为标签,请咨询您的机器学习项目的领域专家或利益相关者。他们可以根据数据集、业务成果和研究目标提供有关哪些预测最有价值的见解。
探索数据
使用 EDA(探索性数据分析)更好地理解潜在的标签。例如,如果您正在处理一个旨在预测电子邮件是否为垃圾邮件的数据集,标签可能是一个表示“垃圾邮件”或“非垃圾邮件”的列。寻找一个或其他的输出,其中包含符合您试图解决的问题的类别或二元数据。
检查数据文档
如果您的数据集附带文档或数据字典,请查阅这些材料以了解每个变量的作用。通常,文档会明确指出哪个列是预测的目标变量(标签)。如果文档没有识别标签,它可能提供有关现有字段或列名的见解,以帮助您确定标签。
寻找预标记数据;在某些情况下,特别是在 SL 任务中,数据集已经标记。这意味着对于每条记录,都有一个之前已确定的伴随标签。这在用于训练模型的数据库中很常见,其目标是学习输入特征和标签之间的关系。
考虑问题类型
您的标签性质取决于您试图使用机器学习解决的问题类型。
对于分类,标签是分类的,代表不同的类别(例如,对于二元分类处理电子邮件是否为垃圾邮件的情况,“垃圾邮件”或“非垃圾邮件”;对于多类分类识别图片中的动物,“猫”、“狗”和“鸟”)。
对于回归,标签是连续值(例如房价或温度)。
对于聚类(一种无监督学习(UL)任务),不提供标签,目标是通过对相似数据点的分组来发现它们。
清洗数据
确保您的标签数据干净且一致。这可能涉及纠正错误标记、处理缺失值,并确保标签以可用于建模的格式(例如,将字符串转换为数值类别)。
在开发您的模型时,您可能需要重新审视并重新评估您选择的标签(就像您可能需要重新审视您选择的功能一样)。您的模型在预测这些标签方面的有效性将帮助您了解是否已识别正确的标签或是否需要调整。
描述在机器学习中如何使用训练集和验证集
在机器学习中,训练集和验证集是模型开发阶段中使用的整体数据集的子集。它们的作用是不同的但互补的,旨在创建一个能够对新、未见数据做出准确预测的模型。
你可能记得在我们讨论将数据集划分为部分——一部分用于训练模型,另一部分“保留”或“预留”用于测试预测时,在*第三章**中看到的训练集和验证集的概念。这些分别是训练集和验证集。
训练集
这是用于训练 ML 模型的实际数据。模型通过这些数据学习如何进行预测或决策。训练集用于拟合模型的参数,例如神经网络(NN)中的权重或线性回归中的系数。
在 ML 中,训练集是用于训练模型的实际数据集。训练涉及调整模型的参数以最小化错误,通常通过称为学习的过程来完成。训练集的大小和质量可以显著影响 ML 模型的表现。较大的训练集提供了更多模型可以从中学习的示例,当模型用于对新数据进行预测时,可能有助于提高泛化能力。然而,数据也必须代表模型将要应用的现实世界场景,包括广泛的示例和变化。
在训练阶段,模型会迭代地调整其参数,以减少预测输出与实际输出之间的差异,这种差异由特定的数学损失函数定义。这个过程可能因模型类型和学习算法的不同而有所差异。例如,在 SL 中,训练集中的每个示例都包含输入特征和相应的目标标签。模型使用这些成对的数据来学习数据中的潜在模式。在 UL 中,由于没有标签,模型试图仅基于输入特征来学习数据的潜在结构。
训练过程(无论是 SL 还是 UL)的有效性在很大程度上取决于训练数据的质量、训练集中数据量的大小、所选特征的相关性以及模型对所涉及问题的适用性。如果可能的话,使用实际数据(而非合成数据)进行训练是首选的,因为这有助于模型了解自然异常值和变异性。然而,有时由于隐私或其他负责任的人工智能(AI)开发原则,实际数据可能不可用。
生成自己的训练数据
你可能还想考虑请求一个生成式 AI(GenAI)模型为你创建训练数据。这可能有助于你理解特征之间的关系,或者在潜在的数据集中包含个人信息时保护隐私。然而,由 AI 模型生成的训练数据也可能放大用于训练生成模型的原始数据中的任何偏差,导致训练数据出现偏差或不切实际。在任何情况下,当使用 GenAI 时,你需要采取预防措施,以确保数据能够代表你试图实现的目标。
通常,训练集占整个数据集的较大比例,通常在 60%到 80%之间。目标是向模型提供一组多样化的、全面的示例,这些示例反映了模型将被应用的现实世界场景。
如果你正在问自己,“我如何知道模型是否训练得足够好?”或者“我何时知道训练完成?”那么这就是验证集发挥作用的地方。
验证集
此数据集的子集用于在调整模型无法自动调整的超参数(设置或配置,这些不是从数据中学习的)时,提供一个对训练数据集上模型拟合的无偏评估。验证集作为测试集的代理,因为它不用于训练模型,因此可以帮助估计模型对未见数据的泛化程度。通常,验证集可能占整个数据集的 20%到 30%。
避免过度拟合(有时也称为过度训练)至关重要,过度拟合是指模型在训练数据上表现良好,但在新的、未见过的数据上表现不佳。
什么是超参数?
机器学习模型超参数是模型外部的配置设置,它影响其学习过程。与从训练数据中学习的模型参数不同,超参数是由用户预先定义的,并影响模型复杂度、正则化和优化等方面。例如,梯度下降中的学习率、决策树的深度或神经网络中的隐藏层数量。超参数调整对于优化模型性能至关重要。不过,不用担心——从AI-900考试的角度来看,重要的概念是超参数是模型外部的。
使用验证集有助于检测过度拟合等问题。过度拟合发生在模型学习训练数据中的噪声或随机波动,而不是实际的潜在模式。通过在验证集上评估模型,你可以确定何时发生过度拟合,并采取措施减轻它,例如简化模型、应用正则化技术或获取更多训练数据。
此外,验证集允许以受控的方式比较不同的模型和配置。在模型在训练集上训练后,它在验证集上的表现提供了一个无偏的评价。只有在模型根据其在验证集上的表现进行优化和选择后,才应该在测试集上对其进行测试,以评估其对新、未见数据的泛化能力。这种方法确保了模型的最终评估是基于在训练或验证阶段未使用的数据,从而提供了对其预测性能和泛化能力的更准确衡量。
该过程通常涉及在训练集上训练模型,然后评估其在验证集上的性能。根据这一评估,可以对模型的配置进行调整。一旦模型在验证集上表现满意,它就可以在单独的测试集上测试,以进一步评估其在完全未见数据场景中的性能。这种做法有助于确保模型不仅仅是记住训练数据,而是在学习可泛化的模式。
摘要
本章扩展了与机器学习中的数据相关的概念。你学习了在数据集中识别特征和标签的技术,以及确保数据适合学习的技术。你还学习了训练集和验证集的概念和目的。
在下一章中,我们将更深入地探讨 Azure 机器学习的概念和能力。
考试准备练习 – 本章复习题
除了对关键概念有扎实的理解外,能够在时间压力下快速思考是一项帮助你通过认证考试的关键技能。这就是为什么在学习的早期阶段就培养这些技能至关重要。
本章复习题旨在通过学习每一章并复习章节中的关键概念来逐步提高你的应试技巧。你将在每一章的末尾找到这些复习题。
在你继续之前
如果你没有 Packt 图书馆订阅或没有从 Packt 商店购买这本书,你需要解锁在线资源以访问考试准备练习。解锁是免费的,并且只需要进行一次。要了解如何操作,请参阅名为*第十二章**的章节,访问在线资源。
要打开本章的复习题,请执行以下步骤:
-
点击链接 –
packt.link/AI-900_CH04。或者,你可以扫描以下二维码(图 4.2):
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_04_02.jpg
图 4.2 – 为已登录用户打开本章复习题的二维码
- 登录后,你会看到一个类似于 图 4.3 所示的页面:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_04_03.jpg
图 4.3 – 第四章复习题
- 准备就绪后,开始以下练习,多次重新尝试测验。
考试准备练习
对于前三次尝试,不必担心时间限制。
尝试 1
第一次尝试,目标至少达到 40%。查看你答错的答案,并再次阅读章节中的相关部分,以修复你的学习差距。
尝试 2
第二次尝试,目标至少达到 60%。查看你答错的答案,并再次阅读章节中的相关部分,以修复任何剩余的学习差距。
尝试 3
第三次尝试,目标至少达到 75%。一旦得分达到 75% 或以上,你就可以开始练习时间管理。
小贴士
你可能需要超过 三次 尝试才能达到 75%。这没关系。只需复习章节中的相关部分,直到达到目标。
练习时间管理
你的目标是保持分数不变,同时尽可能快地回答这些问题。以下是你下一次尝试的一个示例:
表 4.1 – 在线平台上的样本时间练习
备注
上表中显示的时间限制只是示例。根据网站上的测验时间限制,为每次尝试设定自己的时间限制。
每次新的尝试,你的分数应保持在 75% 以上,而完成所需的时间“应减少”。重复尝试,直到你觉得自己能够应对时间压力。
第五章:描述 Azure 机器学习功能
到目前为止,我们已经讨论了很多机器学习的基础概念,包括场景、模型、算法和训练数据。您已经看到了一些简单的机器学习示例。您甚至可能翻阅了大学统计学课程的知识来亲自解决这些示例。
Azure 机器学习(有时写作Azure ML或AzureML)是微软 Azure 服务中的一组,它将所有这些概念付诸实践。Azure ML 由一套工具组成,用于管理整个机器学习生命周期。Azure ML 被各种工程师、数据科学家和其他专业人士用于训练、构建和部署模型以及机器学习集成工作流程。
本章我们将涵盖以下目标和技能:
-
什么是 Azure ML?
-
描述自动化机器学习(AutoML)的功能
-
描述数据科学和机器学习的数据和计算服务
-
描述 Azure ML 中的模型管理和部署功能
-
在 Azure ML 中构建机器学习模型
到本章结束时,您应该能够描述 Azure ML 的特性、功能和支持服务。
让我们开始吧!
什么是 Azure ML?
在我们深入探讨 Azure 平台上的机器学习具体细节之前,让我们退一步,谈谈 Azure ML 的一些特性、功能和目标。
Azure ML 通过一系列全面的工具和功能增强了机器学习工作负载的能力和效率:
-
集中式数据管理:Azure ML 提供了一个统一的存储库来存储和管理数据集,便于在各个机器学习项目中轻松访问和重复使用。这种集中式存储支持模型训练和评估的高效数据处理,简化了数据准备过程。
-
可扩展的计算资源:Azure ML 提供针对机器学习任务定制的按需计算资源。用户可以利用这些资源运行广泛的机器学习作业,包括模型训练和批量推理,而无需进行前期硬件投资。这种灵活性允许根据任务的复杂性和规模进行成本效益的扩展。
-
自动化机器学习(AutoML):AutoML 通过自动测试多种训练作业,使用不同的算法和超参数,简化了应用机器学习的流程。此功能帮助用户快速识别最适合其特定数据集的最有效模型,显著减少了模型选择和调优所需的时间和专业知识。
-
编排管道和可视化工具:Azure ML 包括直观的可视化工具,允许用户创建和管理编排工作流,即所谓的管道。这些管道自动化并简化了端到端的机器学习过程,从数据预处理和模型训练到部署和推理,确保可重复性和效率。
-
框架集成:该平台与流行的机器学习框架和工具无缝集成,例如MLflow、TensorFlow、PyTorch和scikit-learn。这种兼容性使得数据科学家和开发者能够在熟悉的环境中,使用熟悉的工具来管理机器学习模型的整个生命周期,从训练和评估到部署和监控,同时利用现有的代码和库。
-
负责任的 AI 实践:Azure ML 致力于负责任的 AI,通过提供内置的工具和功能来监控和评估 AI 伦理考量。这包括通过可解释性功能可视化模型性能,通过模型预测的可解释性来理解模型,以及评估模型的公平性,以确保 AI 系统是透明、公平和可问责的。
-
工具和能力:Azure ML 为所有经验水平的人提供了多种工具,使得机器学习变得触手可及。数据科学家和工程师可以通过 Python 的代码优先方法来利用这些工具,而对于编码和开发经验较少的人来说,可以使用基于网络的Azure Machine Learning Studio来管理机器学习资产。
这些功能共同使 Azure ML 成为一个全面且用户友好的平台,满足新手和经验丰富的机器学习实践者的需求,促进大规模机器学习模型的开发、部署和维护效率。
在下一节中,我们将开始关注 Azure 中 AutoML 的具体功能。
描述 AutoML 的能力
AutoML 是一种服务,它自动化了将机器学习应用于解决问题的过程。通过自动化机器学习过程中的各个步骤,包括数据预处理、特征选择、算法选择和超参数调整,它显著降低了生成模型所需复杂性和时间。
使用 AutoML,用户可以快速创建高质量的机器学习模型,同时保持完全的控制和透明度。该服务旨在满足机器学习新手和专家的需求。对于初学者,它通过抽象掉构建和调整机器学习模型中涉及到的许多复杂性来简化流程。对于专家,它提供了一个快速实验不同模型和参数的方法,节省了可以用于关注项目其他方面的时间。
什么是预处理?
预处理是在实际使用机器学习模型之前准备数据的概念。这可能涉及几个归一化过程和内容准备,例如将文本转换为用于自然语言处理的标记(块),或者使用你在上一章中学习到的关于特征选择和降维的一些技术。
使用 AutoML 的过程包括提供数据集并指定你感兴趣的指标或结果。然后,该服务自动预处理数据,选择合适的机器学习算法,并调整它们的超参数,以根据提供的数据和设置找到最佳可能的模型。在整个过程中,AutoML 会跟踪所有实验,提供详细的报告和指标,使用户能够了解不同模型的性能以及为什么选择某些模型。
什么是实验?
Azure ML 和 AutoML 中的实验是指运行一个或多个试验以训练和验证机器学习模型的过程。一个实验是一种容器对象,将所有与特定模型相关的资产分组在一起。它们用于系统地测试、跟踪和比较不同运行的输出,以确定最有效的配置。一个实验通常包含以下组件:
-
数据
-
算法和模型
-
参数和设置
-
运行
-
指标和输出
-
跟踪和比较
此外,AutoML 与其他 Azure 服务集成,使模型能够无缝部署到生产环境中,监控模型性能,并能够使用新数据保留模型。这种集成支持全面的机器学习生命周期,从数据准备到模型部署和管理。图 5.1 描述了 AutoML 流程的高层次概述:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_05_01.jpg
图 5.1 – AutoML 流程概述
AutoML 还允许你创建一个负责任的 AI 仪表板,以便你可以跟踪你遵守微软负责任的 AI 原则的情况(你可以在第二章,确定负责任的 AI 的指导原则)中了解到这些原则)。
AutoML 用例
AutoML 在各种场景中都很有用,可以帮助数据科学领域的初学者创建和管理模型和数据管道。AutoML 的目标是简化整个机器学习体验,帮助数据科学家和工程师更多地关注结果而不是工具。本节从高层次上描述了 AutoML 可适用的模型类型和用例。
分类
分类是一种在机器学习中使用的监督学习方法,其中模型在标记数据上训练,然后将学到的模式应用于新的、未见过的数据。Azure ML 支持分类任务,并提供如深度神经网络文本特征化器等专用功能来增强模型性能。分类模型的目标是根据从训练数据集中获得的知识,准确预测新数据实例的类别或类别。分类模型的典型应用包括欺诈检测、手写识别和目标检测。
什么是特征化器?
特征化器是一个组件或技术,用于将原始数据转换为机器学习模型可以处理的形式。特征化器从内容中提取特征(因此得名),并以与训练过程兼容的方式表示它。特征化器还可以执行降维,以帮助简化或减少模型的复杂性,从而提高模型的表现力和效率。特征化器还可以帮助规范化数据或对缺失的数据元素进行异常处理。
回归
回归,就像分类一样,是一种受 Azure ML 支持的监督学习任务,专门用于预测数值结果。与预测分类结果的分类不同,回归模型基于独立变量预测连续数值。
回归旨在确定这些变量之间的关系,例如根据油耗和安全性评级等特征预测汽车的价格。Azure ML 为回归问题提供专门的特性化支持,并通过 AutoML 支持一系列算法来完成这些任务。
时间序列预测
Azure ML 中的 AutoML 可以用于生成高质量的时间序列预测,以满足各种商业需求,例如预测收入、库存水平、销售额或客户需求。这个过程将时间序列预测视为一个多元回归问题,其中使用过去值以及其他预测因子来提高预测的准确性。
与传统方法不同,这种方法可以结合多个上下文变量来理解它们之间的相互关系。AutoML 学习一个全面的模型,可以应用于数据集中的所有项目和预测范围,使得可以将预测推广到新的、未见过的序列,同时利用更大的数据池进行模型训练。
计算机视觉
Azure ML 提供了对计算机视觉任务的支持,使创建图像分类和目标检测模型成为可能。这允许与 Azure 的数据标注功能无缝集成,使用标注数据生成模型,并通过算法选择和超参数调整优化模型性能。用户可以下载或部署这些模型作为 Web 服务,并利用 Azure ML 的机器学习操作(MLOps)和 ML 管道功能有效地扩展操作。
自然语言处理(NLP)
Azure ML 中对 NLP 的支持提供了一个全面且用户友好的框架,用于开发、训练和部署针对文本数据定制的模型。这包括文本分类和命名实体识别等任务。
Azure ML 支持 NLP 模型训练的整个生命周期,从数据准备到模型部署。它利用最先进的深度神经网络方法,包括最新的预训练模型,如双向编码器表示(来自 Transformer)(BERT),这些模型因其理解人类语言细微差别的高效性而闻名。
训练、验证和测试场景
Azure ML 中的 AutoML 允许您为机器学习模型训练提供训练数据,并让您指定要使用的模型验证类型。它将模型验证作为训练过程的一部分进行,使用验证数据调整模型的超参数以最佳地拟合训练数据。
然而,每次迭代使用相同的验证数据会引入模型评估偏差的风险,因为模型可能会对验证数据过度拟合。为了减轻这种风险,AutoML 允许在实验结束时使用单独的测试数据来评估它推荐的最终模型。在您的 AutoML 实验配置中提供测试数据确保推荐的模型被客观地测试,有助于确认最终模型中不存在偏差,并且其能够很好地泛化到之前未见过的数据。
特征工程
特征工程涉及根据领域知识从现有数据中创建新的特征(或变量),以提高机器学习算法的性能。在 Azure ML 中,这包括应用缩放和归一化技术,统称为特征化。
在 AutoML 实验中,特征化过程,如特征归一化、处理缺失数据和将文本转换为数值,是自动化的,但可以根据特定的数据需求进行调整。这不仅有助于增强模型学习,还有助于解决过度拟合和数据不平衡等问题。在模型训练期间包含的特征化步骤将在预测过程中自动应用于新的输入数据,确保结果的一致性和准确性。
集成模型
那么,在哪些场景下,使用多个模型可能会帮助更准确地预测呢?
AutoML 默认采用集成模型来增强预测性能和机器学习结果。集成学习通过结合多个模型形成一个单一预测,与依赖于单个模型的方案形成对比。在 AutoML 中,一个工作的最后阶段通常包括集成迭代。
该过程利用两种主要方法进行集成学习:
-
投票:这种方法使用来自不同模型的预测概率(在分类任务中)或目标值(在回归任务中)的加权平均值来做出预测。
-
堆叠:这种方法涉及结合各种模型,并使用一个元模型根据初始模型的输出进行预测。对于分类,LogisticRegression 作为默认的元模型,而 ElasticNet 用于回归和预测。
混合搭配,但不是那种方式
在 AutoML 中,集成模型专门用于分类或回归任务,但不会在同一个集成中混合。这意味着用于分类任务的集成将结合多个分类模型,而用于回归任务的集成将结合多个回归模型。
所使用的集成方法,如用于分类的投票和用于分类和回归的堆叠,都是针对相同类型的模型(所有分类器或所有回归器)定制的。这种方法的逻辑是,结合相同类型的模型确保在平均(在投票的情况下)或作为元模型的输入(在堆叠的情况下)的预测是兼容且有意义的。
另一个原因是一个集成模型不会在不同类型的模型之间混合搭配,是因为输出类型的不同(分类与连续),它们服务于不同的目的。分类器和回归器模型的指标和输出不同,导致兼容的数据集能够进行对比。换句话说,它们就像是苹果和橙子。
AutoML 采用卡鲁阿纳集成选择算法,以最高性能的前五个模型开始集成,前提是它们都在领先模型性能的 5%性能阈值内,以确保质量。每次迭代,都会在现有的集成中测试一个新的模型,如果它提高了整体性能,它就会被包括在集成中,从而增强整体的预测能力。
卡鲁阿纳集成选择算法是什么?
Caruana 集成选择算法是指由 Rich Caruana 及其同事开发的一种创建集成机器学习模型的方法。这种方法特别因其应用于集成学习而闻名,通过结合各种单个模型的优势来提高模型的预测性能。有关 Caruana 集成选择算法的更多信息,请参阅www.niculescu-mizil.org/papers/shotgun.icml04.revised.rev2.pdf。
让我们转换一下思路,看看支持 Azure 中机器学习的服务。
描述数据科学和机器学习的数据和计算服务
在 Azure 中处理机器学习时,了解您可以与之一起工作的资源类型、连接和元素非常重要。让我们来看看与机器学习工作负载相关的主要服务类型和资源。
计算
在 Azure ML 中,计算指的是为运行机器学习作业(如训练模型或运行实验)或托管服务端点而分配的计算资源或能力。这可以从无服务器计算(例如需要最小计算资源来执行命令的函数)到完全部署的服务器集群不等。
Azure ML 支持各种类型的计算资源,以满足不同的需求和场景。让我们来看看。
计算集群
这是一个可扩展的、托管的计算基础设施,使用户能够轻松设置一个配备 CPU 或 GPU 处理能力的虚拟机集群。计算集群非常适合在云中运行大规模机器学习实验和训练作业。它们提供了选择节点大小和数量的灵活性,使用户能够根据工作负载的要求进行资源扩展。
无服务器计算
对于可能不需要管理计算集群或管理成本过高的场景,Azure ML 提供了无服务器计算选项。这些选项允许用户执行机器学习任务,而无需担心底层基础设施,因为 Azure ML 自动管理计算生命周期、扩展和配置。
计算实例
这是一个完全配备流行数据科学和机器学习工具和框架的托管云开发环境。计算实例作为个人可定制的虚拟机,可用于开发、训练和测试机器学习模型。它们类似于传统虚拟机,但针对机器学习和数据科学工作流程进行了优化。
Kubernetes 集群
对于在生产环境中部署和管理机器学习模型,Azure ML 支持与Azure Kubernetes 服务(AKS)的集成。用户可以直接从 Azure ML 工作区将训练好的模型部署到 AKS 集群。这种设置非常适合大规模、生产级的机器学习模型部署,提供了高级管理功能和可扩展性。
附加计算
Azure ML 还提供了将外部计算资源附加到 Azure ML 工作区的灵活性。这意味着用户可以利用他们现有的基础设施——如本地数据中心或其他云环境——用于训练和推理目的。附加的计算资源可以在 Azure ML 工作流中无缝使用,为 Azure ML 服务和外部环境之间提供桥梁。
通过提供一系列计算选项,Azure ML 确保用户可以为他们的特定机器学习任务选择最合适的计算资源,无论是模型开发、训练还是部署,从而优化性能和成本效益。
数据
数据是开发机器学习模型的最关键因素之一。
在 Azure ML 中,有效地管理和利用数据是配置和管理机器学习工作负载的关键方面。Azure ML 适应了广泛的数据类型和来源,使其适用于各种数据科学和机器学习项目。您可以在 Azure ML 中使用以下数据类型和来源:
-
uri_folder和uri_file类型通过允许 Azure ML 工作负载直接在执行作业的计算节点上挂载或下载内容,简化了对数据的访问。 -
mltable格式支持丰富的操作,包括过滤、转换和聚合,使其成为机器学习管道中预处理和特征工程的有力工具。* 原语:这些是构成更复杂数据结构的基本数据类型。Azure ML 支持多种原语类型,包括以下几种:-
字符串:文本数据,对于标签、类别以及任何形式的文本分析或操作都很有用。
-
布尔型:表示真或假的值,常用于二元分类任务或标记记录,通常用 0(假)和 1(真)表示
-
数字:数值数据,可以是整数或浮点数,对于机器学习中的大多数分析和统计操作至关重要
-
对于 Azure ML 中的大多数数据处理场景,通常使用 URI(uri_folder和uri_file)来精确指定存储解决方案中数据的位置。这种方法简化了将数据集成到机器学习工作流程的过程,因为您可以将数据位置轻松映射到计算资源的文件系统。无论数据需要作为驱动器挂载还是直接下载到计算节点,Azure ML 都提供灵活的选项,确保您的数据可以轻松访问,用于处理、训练和推理任务。
通过支持各种数据类型和来源,Azure ML 确保用户可以高效地管理和利用他们的数据,无论其格式或存储位置如何,从而促进其无缝集成到机器学习工作流程中。
数据存储
虽然术语“数据”指的是内容(包括其值和格式),但“数据存储”指的是该数据的位置。
在 Azure ML 中,数据存储在高效管理和访问数据方面发挥着至关重要的作用。Azure ML 中的数据存储本质上是一种安全的机制,用于存储连接到 Azure 上托管的数据存储服务的连接信息。这种设置确保敏感数据,如连接字符串或访问密钥,不会硬编码到您的脚本中,从而增强安全性并简化数据访问管理。
当使用 Azure ML 时,您可以注册(或连接)新的数据存储或管理现有的数据存储,以简化连接到各种 Azure 存储服务的过程。此注册过程封装了身份验证细节,允许您的机器学习脚本和工作流程无缝访问数据,而无需反复提供安全凭证。
注意
凭据也可以存储在 Azure Key Vault 中。
Azure ML 的命令行界面(CLI)v2 和软件开发工具包(SDK)v2 扩展了对各种基于云的存储服务的支持,使不同数据存储需求具有广泛的兼容性。以下服务受到支持:
-
Azure Blob Storage 容器:非常适合存储大量非结构化数据,如图像、文本文件或二进制数据,这些数据可用于机器学习实验和模型训练。
-
Azure Files Share:提供使用标准服务器消息块(SMB)协议的共享存储,适用于需要跨多个虚拟机或服务访问和共享文件的场景。
-
Azure Data Lake Storage(ADLS):专为大数据分析设计,为大型数据集提供可扩展且安全的存储解决方案。ADLS 在分析场景中进行了性能优化,并支持细粒度的安全控制。
-
Azure Data Lake Storage Gen2:这项服务结合了 Azure Blob Storage 和 ADLS 的功能,提供了一种高度可扩展且成本效益高的存储解决方案,支持分析和高层次文件系统功能。
通过利用这些数据存储库,Azure ML 用户可以有效地管理其数据生命周期,从摄取和存储到训练和模型部署,确保在机器学习工作流程中正确的时间可以访问正确的数据。这种集成简化了连接到不同的 Azure 存储服务的流程,使数据科学家和 ML 从业者可以更多地专注于开发和改进他们的模型,而不是管理数据连接。
环境
在 Azure ML 中,环境是一个基本概念,因为它们充当软件依赖项、库和运行时上下文的容器,这些依赖项、库和上下文是运行机器学习模型和脚本所需的。这些环境确保您的机器学习工作流程可重复、可扩展,并且可以在不同的计算目标之间移植,从本地开发机器到基于云的计算资源。
有两种核心类型的环境:精选和自定义。精选环境由 Microsoft 定义、管理和更新,包括流行的机器学习框架和工具。另一方面,自定义环境是由用户构建的。要创建环境,您通常会使用以下功能:
-
Docker 镜像
-
带有 conda YAML 包管理的 Docker 镜像用于定制
-
Docker 构建上下文
用户可能会选择自定义环境,如果他们有特定的包依赖项或特定版本的库,或者如果他们需要遵守某些监管要求。
Azure ML 环境可以版本化和集中管理,允许数据科学家和开发人员一致地共享、复制和部署机器学习模型。一旦定义,环境可以在多个实验、管道和部署中重用,通过确保无论代码在哪里执行,运行时上下文都是相同的,从而最小化“在我的机器上工作”的问题。
可以通过 Azure Machine Learning Studio UI、CLI 或 SDK 创建和管理环境,这为您定义和操作机器学习上下文提供了灵活性。此外,Azure ML 提供了一个预构建环境的存储库,用于常见的机器学习任务和框架,让您可以快速开始项目,无需手动配置环境的每个方面。
模型
在 Azure ML 操作中,模型是机器学习训练过程的输出。模型是表示机器学习模型及其相关元数据的二进制文件。
工作区
在 Azure ML 中,工作区作为主要组织资源或容器,充当所有机器学习活动和成果的集中枢纽。它旨在通过提供一个统一的环境来简化开发、训练和部署机器学习模型的过程,数据科学家和开发人员可以在其中管理他们的项目、实验和资源。
工作空间包含了一系列对机器学习工作流程至关重要的元素:
-
作业历史记录:此元素维护了工作空间内执行的所有机器学习作业的详细记录,包括执行日志、性能指标、输出,甚至使用脚本快照。这些历史数据有助于分析和比较不同运行随时间的变化。
-
资源管理:工作空间组织并提供对各种 Azure 资源的便捷访问,这些资源在机器学习项目中得到利用,例如用于数据存储的数据存储库和用于处理及模型训练的计算资源。这种集中式管理简化了根据项目需求配置和扩展资源的任务。
-
资产存储:除了管理资源之外,工作空间还存储了在模型开发生命周期中创建的所有机器学习资产。这包括准备部署的训练模型、指定运行时上下文和依赖项的自定义环境、用于构建管道的可重用组件,以及数据资产,如数据集和数据转换。
-
协作和版本控制:作为共享环境,工作空间使得团队协作成为可能,允许多个用户共同工作于项目,共享资产,并贡献实验。它支持模型和环境等资产的版本控制,确保团队可以管理变更并在项目的不同阶段保持一致性。
-
与 Azure 服务的集成:工作空间与其他 Azure 服务深度融合,使得模型作为网络服务无缝部署、使用 Azure Pipelines 实施机器学习操作(MLOps)实践,以及使用 Azure Application Insights 监控已部署的模型成为可能。
Azure ML 工作空间可通过 Azure 门户、SDK 和 CLI 访问,为用户与其机器学习资源和资产交互提供了灵活性。通过将机器学习项目的所有方面封装在单个工作空间中,Azure ML 显著降低了管理机器学习生命周期的复杂性,并使数据科学家能够更多地专注于模型开发,而不是基础设施管理。
订阅
订阅是一个财务组件,它建立了 Azure 客户(您)与微软之间的关系。
存储账户
存储账户是一种资源,它为您提供了访问各种存储对象的能力,例如 blob、文件、队列和表。存储账户具有一个唯一的命名空间,可以通过 HTTP 或 HTTPS 访问。
密钥保管库
Azure 密钥保管库是一个安全的认证数据存储库(例如用户名和密码,通常称为密钥)。训练作业可能需要密钥来访问数据、计算或其他服务。
应用洞察
Application Insights 可以用于为您的模型提供日志记录和监控。这种集成允许您执行以下操作:
-
监控您的机器学习模型:一旦您的机器学习模型作为 Web 服务部署,Application Insights 可以用来监控其性能、可用性和使用情况。这包括跟踪模型被调用的频率、响应时间、成功率以及发生的任何失败或异常。
-
记录自定义事件和指标:您可以从您的机器学习模型中记录自定义事件、跟踪和指标到 Application Insights。这可以包括有关正在处理的数据、做出的预测以及与您的模型性能和用途相关的任何其他指标的详细信息。
-
分析和可视化遥测数据:Application Insights 提供了分析并可视化从您的机器学习服务中收集的遥测数据的工具。这可以帮助您了解您的模型是如何被使用的,识别其性能中的趋势或异常,并解决问题。
-
设置警报:您可以根据与您的机器学习服务相关的指标或事件在 Application Insights 中配置警报。这可以帮助您快速响应潜在问题,例如预测准确性的下降或响应时间的增加。
-
使用实时指标流诊断问题:Application Insights 的实时指标流提供了对您的机器学习服务性能和健康状况的实时可见性,使您能够在问题发生时进行诊断。
容器注册库
Azure 容器注册库是一个基于开源 Docker Registry 2.0 的托管、私有 Docker 注册库服务。它用于存储和管理在 Azure ML 中用于各种目的的容器镜像,例如训练和部署模型。
有了这些,让我们开始检查 Azure ML 中的一些整体模型管理和部署功能。
描述 Azure ML 中的模型管理和部署功能
如您在本章中已经看到的,Azure ML 具有很多功能——从开发到部署简单和复杂的机器学习模型。
在本节中,我们将探讨 Azure ML 中模型管理的三个不同(但相关)的领域:
-
模型管理
-
模型部署功能
-
机器学习操作
让我们逐一查看它们。
模型管理和部署功能
Azure ML 提供了强大的模型部署功能,允许数据科学家和开发者高效且大规模地使他们的机器学习模型投入运营。这些功能涵盖了各种部署目标,包括云、本地和边缘环境,并提供灵活性以满足广泛的运营需求。
在接下来的几页中,我们将查看 Azure ML 的关键部署功能。
部署目标
根据您模型的大小以及您对不同类型基础设施的舒适度,您可以将 Azure ML 模型部署到各种目标,包括以下内容:
-
Azure Kubernetes 服务(AKS):非常适合大规模生产部署,AKS 提供了一个支持高级场景(如自动缩放、A/B 测试和高可用性)的托管 Kubernetes 环境。如果您的部署涉及复杂的流程或需要与其他微服务或后端系统集成,AKS 提供了管理此类部署所需的基础设施和工具。当您需要部署需要自动缩放和高可用性的大规模、生产级机器学习模型时,请选择 AKS。
-
Azure 容器实例(ACI):最适合低规模基于 CPU 的工作负载和开发/测试场景,ACI 提供了一种无需 Kubernetes 专业知识即可高效且简单的部署选项。选择 ACI 进行快速原型设计、测试和机器学习模型的开发,无需管理 Kubernetes 集群的开销。
-
Azure 机器学习计算实例:这对于批量评分场景或需要按计划或按需运行预测而不需要 Web 服务时非常有用。选择 Azure 机器学习计算实例,使用 Jupyter Notebooks 进行开发、实验和交互式探索数据集和模型。
-
边缘设备:对于需要低延迟预测或数据隐私是关注点的场景,可以使用 Azure IoT Edge 将模型部署到边缘设备。这允许进行本地模型推理,减少将数据发送回云端进行处理的必要性。在需要实时推理或网络连接有限或不稳定的情况下,选择边缘设备部署。
模型打包
Azure ML 将模型打包为 Docker 容器,可以在支持 Docker 容器的任何地方部署。容器包含支持模型所需的所有代码和支持工具。这种方法确保了在不同环境之间的一致性,并简化了部署过程,例如从开发到生产的迁移。
模型管理和版本控制
Azure ML 提供了一个中央存储库来存储和管理训练好的模型。您可以版本控制模型,跟踪其元数据,并从训练到退役管理其生命周期。
监控和诊断
一旦部署,Azure ML 提供了监控生产中模型健康和性能的工具。这包括数据漂移监控、应用洞察集成以进行遥测,以及日志功能以帮助诊断问题。
安全性和合规性
Azure ML 部署可以使用标准的 Azure 安全控制进行保护,包括使用虚拟网络的网络隔离、传输和静态加密,以及身份验证和授权控制。通过Azure 策略(AzPolicy)也支持符合行业标准和管理法规。
进一步阅读
有关使用 AzPolicy 与 Azure ML 的更多信息,请访问learn.microsoft.com/en-us/azure/machine-learning/security-controls-policy。
可扩展性和性能
根据部署目标,Azure ML 支持自动扩展,根据负载自动调整资源,确保您的部署能够高效地处理不同级别的需求。
与 MLOps 实践集成
部署功能旨在与机器学习操作(MLOps)实践无缝集成,支持机器学习模型的持续集成和持续交付(CI/CD)管道。这允许在强大的 DevOps 框架内自动进行模型训练、验证、部署和监控。
通过利用这些部署功能,组织可以简化将机器学习模型引入生产的过程,确保它们具有可扩展性、安全性并随着时间的推移而可维护。
MLOps
MLOps是一套基于 DevOps 的操作原则,包括 CI/CD 的概念,旨在实现机器学习任务生命周期的运营化。
Azure MLOps 代表了一种将机器学习模型无缝且高效地集成到生产环境中的全面方法。随着机器学习技术的进步,创建能够提供精确预测的模型变得更加容易。然而,将这些模型从开发过渡到生产面临着独特的挑战,需要采用结构化的方法,结合人员、流程和技术,以有效地在企业中实施机器学习。
考虑这样一种情况:您已经开发了一个机器学习模型,在准确性方面超出了所有预期,并赢得了您组织利益相关者的赞誉。下一步是将此模型部署到实时环境中,这可能会带来不可预见的复杂性。在部署之前,组织必须建立一个框架,包括必要的治理、人员、工作流程和工具,以便在生产环境中有效地利用机器学习模型。
随着环境的发展,可能会有这样的情况:更新的模型在生产中优于现有的模型。将新模型引入实时环境时,需要考虑以下关键因素:
-
确保新模型的过渡不会干扰依赖于当前系统的持续业务运营。
-
鉴于监管要求,可能需要证明新模型做出的预测是合理的,或者如果由于新数据产生意外或偏颇的结果,需要完全重现模型。
-
由于数据的动态性,定期重新训练模型以保持其准确性至关重要。这需要指定个人或团队负责数据管理、监控模型性能、重新训练工作,并解决任何模型故障。
虽然 MLOps 的一些方面与传统 DevOps 实践相一致——例如实施单元和集成测试以及利用版本控制——但其他方面则是专门针对机器学习量身定制的:
-
促进持续实验和与现有模型的基准测试
-
监测输入数据的变化以识别数据漂移
-
自动化模型重新训练流程并建立快速恢复的回滚机制
-
开发和维护可扩展的数据管道,用于训练模型和执行预测
MLOps 的精髓在于弥合开发阶段和运营部署之间的差距,从而加速向最终用户交付价值。这一转变要求重新评估传统的开发和部署策略,以更好地适应机器学习应用的敏捷性。
作为 MLOps 的一部分监控模型有助于检测漂移(随着时间的推移数据的变化导致模型偏差)。通过适应过程克服漂移——基于更新的数据定期重新训练模型。
重要的是要认识到,MLOps 的需求在不同组织之间可能存在显著差异。为大型、全球性公司设计的 MLOps 架构可能与小型、新兴公司的设置大相径庭。组织通常从适度倡议开始,随着经验、模型组合和运营成熟度的提高,逐步扩展其 MLOps 能力。
在下一节中,你将通过创建自己的机器学习模型来将所学的一些内容付诸实践。
在 Azure ML 中构建机器学习模型
在第三章《识别常见的机器学习技术》中,你学习了机器学习工作原理背后的核心思想(包括模型名称、示例算法和验证的基本知识)。
在本节中,我们将从理论转向实践,在 Azure ML 中创建一个机器学习模型!
前提条件
要完成这个练习,你需要一个 Azure 订阅(无论是试用还是付费),这样你就可以配置和访问 Azure 资源。你可以在azure.microsoft.com/en-us/pricing/offers/ms-azr-0044p/注册 Azure 信用额度。
创建机器学习工作区
一旦你在环境中启用了 Azure 服务,请按照以下步骤配置服务和设置模型:
-
导航到 Azure 门户(
portal.azure.com)并登录。 -
在Azure 服务下,点击创建****资源。
-
使用文本
机器学习进行筛选,在Azure 机器学习下选择创建,然后选择Azure 机器学习,如图图 5**.2所示:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_05_02.jpg
图 5.2 – 创建 Azure ML 资源
-
在创建机器学习工作区页面,选择一个订阅选项。同时,选择一个现有的资源组(或者创建一个新的)。
-
在工作区详情下,为工作区输入一个名称值并选择一个区域选项。你可以保留其余设置不变。见图图 5**.3:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_05_03.jpg
图 5.3 – 创建机器学习工作区
-
点击审查+创建,然后点击创建。
-
点击转到资源(或者打开一个新的浏览器标签页并导航到
ml.azure.com以启动 Azure 机器学习工作室),然后选择你部署的新工作区名称)。
现在你已经创建了一个工作区,是时候开始使用 AutoML 工作了!
使用 AutoML 训练模型
在本节中,你将开始在 Azure 机器学习工作室内部进行模型训练。
样本数据集
你可以在互联网上找到适合 Azure ML 的样本数据集。Kaggle(www.kaggle.com)包含近 300,000 个数据集,并且不断更新。其他数据来源还包括 OpenML(openml.orgv)、卡内基梅隆大学(guides.library.cmu.edu/machine-learning/datasets)和 UCI 机器学习存储库(archive.ics.uci.edu/)。许多数据集都包含有关它们适合哪些类型的模型或场景的信息(例如二元分类或回归),因此在选择数据集时,你需要相应地配置 AutoML 作业的参数。
在这个例子中,我们将使用一个基于从传感器读数捕获的几个指标预测发动机健康的数据集,尽管你可以使用任何数据集。你可以从这个章节的 GitHub 存储库中下载该数据集:github.com/PacktPublishing/Microsoft-Azure-AI-Fundamentals-AI-900-Exam-Guide。
让我们开始吧:
注意
微软还提供了一个样本数据集,可在aka.ms/bike-rentals找到,可用于此回归任务。
- 从 Azure 机器学习工作室,在创作下选择自动化机器学习:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_05_04.jpg
图 5.4 – 选择自动化机器学习
-
点击新建自动化****机器学习作业。
-
在基本设置页面上,输入作业名称和新实验名称值(或接受默认值)。点击下一步:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_05_05.jpg
图 5.5 – 配置基本设置页面
-
如果你使用的是引擎健康数据集,将选择任务类型设置为分类。如果你使用的是微软提供的自行车租赁数据集,选择回归作为任务类型。
-
在选择数据下,点击创建:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_05_06.jpg
图 5.6 – 配置任务的类型和数据
- 在数据类型页面上,输入名称和类型值。在这种情况下,源数据将是一个 CSV 文件,因此你可以选择表格作为类型并点击下一步:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_05_07.jpg
图 5.7 – 配置数据资产
-
在数据源页面上,选择一个源位置。如果你已经将数据集下载到本地计算机,你可以选择从本地文件。如果你有一个启用 HTTP 的端点,其中存储着你的表格数据,选择从网络文件。选择你的数据集的源后,点击下一步:
-
如果你选择了从网络文件作为数据源位置,输入数据存储的 URL。
-
如果你选择了从本地文件,选择Azure Blob 存储作为数据存储类型并点击下一步。见图 5**.8:
-
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_05_08.jpg
图 5.8 – 选择数据存储位置
-
如果你选择了从本地文件作为数据源,点击上传文件或文件夹并浏览到你的源数据所在的位置。完成操作后,点击下一步。
-
一旦数据被导入,你将有机会对其进行审查。Azure ML 将自动检测数据的格式,因此你需要确保它是正确的。点击下一步继续:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_05_09.jpg
图 5.9 – 查看导入的数据
-
在模式页面上,点击下一步。
-
在审查页面上,点击创建。
-
一旦创建数据集,选择数据集并点击下一步以提交 AutoML 作业。见图 5**.10:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_05_10.jpg
图 5.10 – 选择数据集
- 在任务设置页面上,选择一个目标列值。这是你要预测的标签。对于这个例子,选择引擎状况。如果你使用的是微软提供的自行车租赁数据集,选择租赁,因为这是你试图预测的值:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_05_11.jpg
图 5.11 – 配置目标列
-
选择查看更多配置设置。在附加配置弹出窗口中,配置以下设置:
-
如果您正在使用引擎健康数据集,在主指标下选择AUCWeighted。
-
如果您正在使用自行车租赁数据集,在主指标下选择NormalizedRootMeanSquaredError。
-
-
取消选择使用所有支持的模型复选框,并选择可能最适合您的数据类型的模型(您可以选择默认选项,但这将需要更长时间来遍历每个模型)。如果您的数据源有推荐的模型类型,请选择那些:
-
对于引擎健康模型,选择LogisticRegresion、DecisionTree、RandomForest、KNN和LightGBM。
-
对于微软提供的自行车租赁模型,选择RandomForest和LightGBM:
-
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_05_12.jpg
图 5.12 – 配置附加作业参数
进一步阅读
有关哪些主指标选择可能最适合您的模型的信息,请参阅learn.microsoft.com/en-us/azure/machine-learning/how-to-configure-auto-train?view=azureml-api-2&tabs=python#supported-algorithms。
-
点击保存。
-
在限制下,配置以下值:
最大尝试次数:3
最大并发尝试次数:3
最大节点数:3
指标分数阈值:0.085
实验超时:45 分钟
迭代超时:30 分钟
启用早期终止:已选择
-
在验证和测试下,配置以下值:
验证类型:训练-验证拆分
数据验证百分比:10
测试数据:无
-
点击下一步。
-
在计算页面,配置以下值:
选择计算类型:无服务器
虚拟机类型:CPU
虚拟机层级:专用
虚拟机大小:推荐使用 Standard_DS3_v2,尽管您可以使用任何
实例数量:1
-
点击下一步:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_05_13.jpg
图 5.13 – 配置计算设置
- 在审查页面,点击提交训练作业。
作业将自动提交并启动。作业提交后,您可以刷新作业页面以查看其当前状态,如图图 5.14所示:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_05_14.jpg
图 5.14 – AutoML 作业状态
审查和选择最佳模型
模型训练完成后,在概述选项卡中向下滚动以查看最佳模型摘要区域。见图图 5.15:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_05_15.jpg
图 5.15 – 审查训练信息
选择算法名称的值,然后选择指标选项卡以查看模型的性能细节:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_05_16.jpg
图 5.16 – 查看模型指标
部署和测试模型
模型训练完成并选择了最佳算法后,你可以部署它。为此,请按照以下步骤操作:
-
在 Azure Machine Learning Studio 中,导航到最佳训练模型的模型标签页。
-
点击部署并选择Web 服务:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_05_17.jpg
图 5.17 – 部署模型
-
在部署模型弹出窗口中,输入名称和描述值。
-
在计算类型下,选择Azure 容器实例。
-
滚动到弹出窗口的底部并点击部署。
模型将以 Web 服务的形式部署。根据数据集的大小和模型类型,可能需要 5-10 分钟。
测试已部署的模型服务
一旦模型部署完成,你可以手动提交测试数据以查看其预测可能是什么。要提交测试,请按照以下步骤操作:
-
在你配置的工作区内部,选择端点。
-
在实时端点下,选择你作为 Web 服务配置的端点。
-
选择测试标签页。
-
选择表单编辑器单选按钮以在网页表单中输入数据值,或选择JSON 编辑器单选按钮以更新预配置 JSON 数组中的测试值。根据你的数据集和模型类型,你可能只能看到 JSON 编辑器。
-
为显示的每个特征填写测试输入。
- 引擎健康模型:为Engine RPM、Lub oil pressure、Fuel pressure、Coolant pressure、Lub oil temp和Coolant temp指定值。点击测试并查看测试结果下的值。显示int 1的结果表示发动机可能健康,而显示int 0的结果表示发动机可能不健康:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_05_18.jpg
图 5.18 – 测试分类模型
- 自行车租赁模型:为day、mnth、year、season、holiday、weekday、working day、weathersit、temp、atemp、hum和windspeed指定数值。点击测试并查看测试结果下的值。结果应显示一个整数,预测预测的自行车租赁数量。
恭喜!你已经训练了机器学习模型,帮助根据训练数据预测结果!你可以继续探索其他模型和数据集,看看你能发现哪些见解。
拆卸
当你完成对 Azure ML 和 AutoML 的探索后,你可以删除 Azure 中配置的资源,以避免产生不想要的 Azure 服务费用。为此,请按照以下步骤操作:
-
在 Azure Machine Learning Studio 中,在端点标签页上,选择你已发布的任何端点。
-
点击删除,然后确认删除。
-
点击主页,然后点击工作区。
-
导航到 Azure 门户 (
portal.azure.com) 并搜索资源组。 -
选择您在创建 Azure ML 工作区时指定的资源组。
-
点击 删除资源组,输入资源组的名称以确认您想要删除它,然后点击 删除。
因此,您的资源将被取消分配。
概述
在本章中,您学习了 Azure ML 和 AutoML 的功能和能力。您学习了用于支持 Azure ML 的数据和计算服务以及组件,例如计算集群、模型、工作区和存储账户。
您还学习了 Azure ML 的模型管理和部署功能,以及围绕 MLOps 的概念。
最后,您学习了如何部署 Azure ML 模型,用示例数据训练它们,然后对它们进行测试。
在下一章中,您将开始探索计算机视觉解决方案。
考试准备练习 – 章节复习题
除了对关键概念有扎实的理解外,在时间压力下快速思考的能力是帮助您通过认证考试的关键技能。这就是为什么在您的学习旅程早期就培养这些技能至关重要。
章节复习题旨在通过您学习的每个章节逐步提高您的应试技巧,同时复习章节中的关键概念。您将在每个章节的末尾找到这些复习题。
在继续之前
如果您没有 Packt 图书馆订阅或未从 Packt 商店购买此书,您将需要解锁在线资源以访问考试准备练习。解锁是免费的,并且只需进行一次。要了解如何操作,请参阅名为 第十二章 的章节,访问在线资源。
要打开本章的章节复习题,请执行以下步骤:
-
点击链接 –
packt.link/AI-900_CH05。或者,您可以扫描以下二维码 (图 5.19):
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_05_19.jpg
图 5.19 – 为已登录用户打开章节复习题的二维码
- 登录后,您将看到类似于 图 5.20 所示的页面:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_05_20.jpg
图 5.20 – 第五章的章节复习题
- 准备就绪后,开始以下练习,多次尝试测验。
考试准备练习
对于前三次尝试,不必担心时间限制。
尝试 1
第一次尝试至少达到 40%。查看您答错的答案,并再次阅读章节中相关的部分以修复您的学习差距。
尝试 2
第二次尝试,目标至少达到60%。查看你答错的答案,并再次阅读章节中的相关部分,以修复任何剩余的学习差距。
尝试 3
第三次尝试,目标至少达到75%。一旦得分达到 75% 或更高,你就可以开始练习计时。
小贴士
你可能需要超过三次尝试才能达到 75%。这没关系。只需复习章节中的相关部分,直到你达到目标。
练习计时
你的目标是保持得分不变,同时尽可能快地回答这些问题。以下是你下一次尝试的示例:
表 5.1 – 在线平台上的样本计时练习
注意
上表中显示的时间限制只是示例。根据网站上的测验时间限制,为每次尝试设定自己的时间限制。
每次新的尝试,你的得分应保持在**75%**以上,而完成所需的时间应“减少”。重复尝试,直到你对自己应对时间压力的信心增强。
第三部分:描述 Azure 上计算机视觉工作负载的特点
在这部分,你将开始探索计算机视觉——允许计算机查看图像并识别对象和文本的概念和技术。
这部分包括以下章节:
-
第六章,识别常见的计算机视觉解决方案类型
-
第七章,识别用于计算机视觉任务的 Azure 工具和服务
第六章:识别计算机视觉解决方案的常见类型
在第五章 描述 Azure 机器学习功能中,你学习了如何描述自动化机器学习(AutoML)、数据科学和机器学习(ML)的数据和计算服务,以及 Azure 机器学习中的模型管理和部署功能。
在本章中,你将了解可用于解决计算机视觉(CV)领域的人工智能(AI)问题的 Azure 解决方案,该领域包括从图像和视频等数字源(如图像和视频)的像素值中操纵、分析、解释和提取信息和理解。
这部分内容需要一些对机器学习原理的理解;如果你直接跳到本章,并且对机器学习(ML)是新手或者只是想复习一些现有知识,那么在继续本章之前,你可以参考第二部分 – 在 Azure 上描述机器学习的基本原理作为 ML 入门。
计算机视觉(CV)解决方案可以提供预构建和可定制的机器学习(ML)模型,开发者可以使用这些模型来增强他们的应用程序、软件和服务。
本章我们将涵盖的目标和技能包括以下内容:
-
计算机视觉解决方案简介
-
识别图像分类解决方案的特征
-
识别对象检测解决方案的特征
-
识别光学字符识别(OCR)解决方案的特征
-
识别面部检测和面部分析解决方案的特征
到本章结束时,你应该了解检测和分析图像、对象、光学字符和面部解决方案的特征。
计算机视觉解决方案简介
计算机视觉(CV)解决方案的目标是从图像中获得洞察力、意义和理解;也就是说,图像在告诉我什么信息?
图像处理
计算机视觉(CV)的能力建立在通过其像素值对图像进行解释、理解和操纵的概念之上;当计算机查看图像时,它们看到的是一系列数值像素值。
这种图像的计算机处理在图 6.1中得到了说明,它展示了胡椒 oni 披萨切片(我的个人最爱;不允许有菠萝)在计算机眼中的样子:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_06_01.jpg
图 6.1 – 计算机如何显示图像
图像被视为像素数组,图 6.1中的数组由7 行和5 列组成;因此,图像分辨率表示为7 x 5。彩色图像数组中的每个像素都有一个数值像素值,它代表RGB 通道(层);对于灰度图像,像素值将用不同深度的灰色表示,每个灰度值介于255(白色像素)和0(黑色像素)之间。
通过使用过滤器来改变像素值,以执行图像处理操作以创建视觉效果。
有许多过滤器,以下是一些:
-
模糊
-
色彩反转
-
边缘检测
-
锐化
这种图像过滤器操作是通过卷积(移动或传递)过滤器到图像上进行的,这为图像提供了新的值数组,这将操纵(改变/修改)RGB 层像素值。这提供了一个与原始图像不同的转换图像;这是在智能手机或图像编辑软件上的数字照片编辑中常见的用例。
你可以在图 6**.2中看到这一点:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_06_02.jpg
图 6.2 – 图像过滤器操作示例
在这张图像中,一个简单的过滤器被应用于图像的一部分,这改变了过滤器经过的受影响像素。
CV ML
在大量图像上训练的 ML 模型使我们能够提取可操作的信息或提供意义。这可以从图 6**.3中更好地理解,它展示了通过从图像返回相关标签来提供描述性信息的简单示例:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_06_03.jpg
图 6.3 – 使用 CV 提供的图像分析信息
在图 6**.3中,可以看到检测到的属性在 JSON 输出中,例如将图像识别为dog和品种为french bulldog,以及置信度评分。
以下是对应的 API 的 JSON 响应,用于图 6**.3中的目标检测:
{ \"aim-request-id\": \"3800844f-2eb1-4abf-9cb3-d8f055e247f0\", \"content-length\": \"867\", \"content-type\": \"application/json; charset=utf-8\", \"modelVersion\": \"2023-10-01\", \"metadata\": { \"width\": 720, \"height\": 576 }, \"tagsResult\": { \"values\": [ { \"name\": \"grass\", \"confidence\": 0.996832013130188 }, { \"name\": \"animal\", \"confidence\": 0.9693894386291504 }, { \"name\": \"mammal\", \"confidence\": 0.9689017534255981 }, { \"name\": \"dog breed\", \"confidence\": 0.9679374694824219 }, { \"name\": \"dog\", \"confidence\": 0.9637042880058289 }, { \"name\": \"pet\", \"confidence\": 0.9628428220748901 }, { \"name\": \"outdoor\", \"confidence\": 0.9465276002883911 }, { \"name\": \"bulldog\", \"confidence\": 0.8970986008644104 }, { \"name\": \"dog collar\", \"confidence\": 0.8937236070632935 }, { \"name\": \"snout\", \"confidence\": 0.888845682144165 }, { \"name\": \"black\", \"confidence\": 0.8267985582351685 }, ] }}
可以使用预训练和自定义模型进行图像分析;自定义视觉模型会在你希望使用自己的图像库而不是与预训练模型一起使用的图像数据集来训练模型时使用。
用于 CV 任务的基础模型是Microsoft Florence 模型。它在大量带有标题的互联网图像上进行了预训练,以构建可用于图像分析任务(如下所述)的模型:
-
图像分类:这是识别图像类别的功能;可以在照片中检测对象和人,以及有多少出现
-
目标检测:这是在图像、照片或视频中识别对象位置的能力;可以检测位置
-
标题生成:这是为图像中出现的所有内容生成人类可读描述的能力,例如照片
-
标记:这是生成可以与图像的检测属性相关联的标签列表的能力
-
光学字符识别:这是从文档中提取印刷或手写文本的能力,例如表格、发票、费用收据和图像,这可能包括车牌、街道标志、产品品牌标签、电影海报上的名字等等
图 6.4表示之前列出的 CV 任务如何使用从微软佛罗伦萨****基础模型构建的自适应模型:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_06_04.jpg
图 6.4 – 微软佛罗伦萨多模态图像数据模型
这像素值提取图像的特征。
你可以通过以下网址了解更多关于佛罗伦萨项目的信息:https://www.microsoft.com/en-us/research/project/projectflorence/
在本章的第一节中,你被介绍了计算机视觉(CV)的概念。然后你学习了微软佛罗伦萨模型及其作为 CV 任务基础模型的使用方法。在接下来的几节中,你将学习如何识别 CV 解决方案的特征。
识别图像分类解决方案的特征
Azure Machine Learning 的计算机视觉能力可以用作图像分类的解决方案。
CV包括可以解释信息和从静态和流媒体图像中提供理解的 API,并允许进行进一步的处理和分析。
图像分类指的是根据预定义的类别或分类将图像或子区域分组为组的过程;它解决了“这张图片里有什么?”的问题。
图 6.4.5展示了图像分类的一个示例:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_06_05.jpg
图 6.5 – 被分类为汽车的图像
以下是从图 6.4.5中提取的相应 API 的 JSON 响应的图像分类部分:
{ \"aim-request-id\": \"0df7e99e-29e4-48ea-a11e-c66bec449dd9\", \"content-length\": \"174\", \"content-type\": \"application/json; charset=utf-8\", \"modelVersion\": \"2023-10-01\", \"captionResult\": { \"text\": \"a blue car parked on gravel near a white fence\", \"confidence\": 0.737828254699707 }, \"metadata\": { \"width\": 1420, \"height\": 1047 }}
从这个 JSON 输出中,你可以看到为这张图像返回的“标题”结果以及置信度评分。请注意,没有“位置”坐标;这将在识别目标检测解决方案的特征部分中介绍。
你可以训练一个机器学习模型来识别显示的哪种类型的交通类别,例如汽车、公交车和自行车。另一个例子可以是识别类型的动物,例如鸟、猫、狗或马,或者识别动物的物种。
应该注意的是,可以使用监督机器学习(SML)模型来预测类别。
基于分组特征的无监督机器学习(UML)聚类模型不适用于此用例;同样,回归模型也不适用,因为该模型将用于任何类型的数值估计。
用例:在需要知道图像中是否包含动物、建筑物、人物等情况的场景中,这可能很有用;识别植物或鸟类的种类也可以是图像分析的一个用例。
本节探讨了使用计算机视觉(CV)识别图像分类解决方案的特征。在下一节中,你将学习如何识别目标检测解决方案的特征。
识别目标检测解决方案的特征
Azure Machine Learning 的计算机视觉能力可以用作目标检测的解决方案。
在上一节中,你学习了带有置信度评分的标签信息。
虽然图像的分类和检测具有共同的目标,即分析和解释图像内容,但区别在于返回的细节量;除了分类提供的描述图像的分类和标题标签外,标签信息还有一个表示检测到的对象置信度的百分比值。
注意
我们将在第七章“识别用于计算机视觉任务的 Azure 工具和服务”中,更详细地查看使用Azure AI 视觉服务和Azure 视觉工作室返回的对象检测 API 操作信息的示例。
你可以在图 6.6中看到一个简单的对象检测场景:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_06_06.jpg
图 6.6 – 图像内的对象
从图 6.6中,你可以看到检测到了两个对象,并且每个对象都有一个人对象,背景中的位置部分被前景中标记为斗牛犬的第二个检测到的对象所覆盖。
一些读者可能已经注意到了检测到的斗牛犬对象中的一个缺陷,这突出了在处理 AI 模型时所需的谨慎,以及为什么“可靠性”和“安全性”的负责任 AI 原则如此关键。这里需要指出的问题是,API 返回模型预测检测到的对象是斗牛犬,但只有**75.50%**的置信度认为这是该品种,而实际上品种是拳击手。这需要模型使用更多图像进行进一步训练,以获得更准确的分数并返回正确的品种属性。
以下是对应的 API 的 JSON 响应,来自图 6.6:
{\"apim-request-id\": \"de342447-63a1-4a7b-a922-34a758d66f53\", \"content-length\": \"289\", \"content-type\": \"application/json; charset=utf-8\", \"modelVersion\": \"2023-10-01\", \"metadata\": { \"width\": 1347, \"height\": 1106 }, \"objectsResult\": { \"values\": [ { \"boundingBox\": { \"x\": 567, \"y\": 306, \"w\": 555, \"h\": 795 }, \"tags\": [ { \"name\": \"person\", \"confidence\": 0.745 } ] }, { \"boundingBox\": { \"x\": 0, \"y\": 365, \"w\": 840, \"h\": 729 }, \"tags\": [ { \"name\": \"bulldog\", \"confidence\": 0.755 } ] } ] }}
在这个 JSON 输出中,你可以看到比使用图像分类时返回的更多信息;你可以看到每个检测到的对象的“位置坐标”(以像素为单位),每个对象的标签,以及该标签应用于对象的置信度评分。正如提到的,模型应该进一步训练以提高置信度分数,以便正确地将标签应用于对象;在这种情况下,标签应该是拳击手而不是斗牛犬。
应该注意的是,对象检测不使用回归或聚类模型,而是一个图像****分析模型。
除了一个用于对象检测的预训练CV 模型外,还可以使用我们自己的图像自定义训练一个模型;它可以训练以识别产品或产品的多个实例,或产品的某些方面,如方向、缺陷、损坏等。
用例:在需要确定图像中分类对象的位置、放置、定位、方向或空间关系的情况下,这可能很有用。
本节探讨了使用 CV 识别对象检测解决方案的特征。在下一节中,你将学习如何识别 OCR 解决方案的特征。
识别 OCR 解决方案的特征
Azure 机器学习的计算机视觉(CV)功能可以用作 OCR 的解决方案。
OCR解决方案可用于从图像中提取“文本”。字母和数字从形状中识别出来,然后转换为机器编码文本,然后可以被应用程序或用户进一步用于处理。
图6.7展示了 OCR 图像的一个示例:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_06_07.jpg
图 6.7 – 使用 OCR 功能从图像中提取文本
OCR 模型经过训练,可以识别文本元素,包括标点符号,以及从单个形状中识别出的数字,然后将其输出为文本。一个 OCR 模型产生的文本输出示例显示在图 6.8:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_06_08.jpg
图 6.8 – OCR 模型文本提取输出
以下是从图 6.8中对象检测的相应 API JSON 响应的摘录:
{ \"words\": [ { \"text\": \"roroft\", \"boundingPolygon\": [ { \"x\": 5349, \"y\": 214 }, { \"x\": 5347, \"y\": 351 }, { \"x\": 5295, \"y\": 354 }, { \"x\": 5299, \"y\": 217 } ], \"confidence\": 0.68 }, { \"text\": \"Azure\", \"boundingPolygon\": [ { \"x\": 5347, \"y\": 361 }, { \"x\": 5346, \"y\": 490 }, { \"x\": 5294, \"y\": 494 }, { \"x\": 5295, \"y\": 364 } ], \"confidence\": 0.981 },
从这个 JSON 输出中,正如你在对象检测解决方案中看到的,文本输出中仍然存在一些可以改进的不准确性,例如\"roroft\"而不是\"Microsoft\",这显示了在将形状识别为已知单词时的置信度为0.68。这可以通过进一步训练模型来实现,这再次强调了在使用 AI 模型时所需的谨慎,以及为什么“可靠性”和“安全性”的负责任 AI 原则如此关键。
我们使用通用词汇“图像”,但此功能可用于从照片、文档、笔记纸、TIFF 文件和扫描的 PDF 文件中提取印刷和手写文本。
用例:此“文本提取”功能在需要为图书收藏提供清单、阅读报销收据、提取发票信息、为存档目的数字化历史文件、数字化手写报告笔记、从路标或电影海报中提取名称、从体育赛事参赛者中提取数字、从 CCTV 中提取车辆牌照号码等场景中可能很有用。
本节探讨了使用 CV 识别 OCR 的特征。下一节将探讨面部检测和分析。
识别面部检测和分析解决方案的特征
使用 Azure 机器学习算法的 CV 方面可以作为创建图像和视频面部检测、分析和识别能力的解决方案。
机器学习中的面部检测和分析能力可用于身份验证和安全领域。这些能力可以通过识别和验证人员的面部来确定访问级别,从而提供安全访问控制。你可以将其视为基于角色的访问控制(RBAC),但与基于用户角色的访问控制不同,访问级别是由他们的面部决定的。
用例:这可能适用于你希望在社交媒体照片中标记已识别朋友的情况;用于识别和针对广告中的目标人口统计群体;识别名人;使用监控录像查找失踪或通缉人员;进行面部姿态的智能监控;检测如佩戴口罩等属性。
面部检测
计算机视觉(CV)中面部检测的能力可以从图像中识别出人脸。检测到的人脸周围有一个方形框,人脸的位置可以通过返回的“边界框”坐标提供,这有助于了解图像之间的关系。
需要知道的是,这种检测操作是执行所有其他面部服务功能(如分析和识别)的第一阶段能力;也就是说,我们必须首先检测到面部或多个面部,才能获取任何进一步的信息或理解。
图 6.9展示了 CV 进行面部检测的示例,用于从图像中提取定位的人脸:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_06_09.jpg
图 6.9 – CV 的面部检测功能
图 6.9展示了返回的面部对象以及Face mask属性的no值。
以下是从图 6.9中提取的相应 API 的 JSON 响应的摘录(并非完整响应):
[ { \"recognitionModel\": \"recognition_01\", \"faceRectangle\": { \"width\": 58, \"height\": 75, \"left\": 280, \"top\": 297 }, \"faceLandmarks\": { \"pupilLeft\": { \"x\": 291.3, \"y\": 332.8 }, \"pupilRight\": { \"x\": 315.2, \"y\": 327.2 }, \"noseTip\": { \"x\": 301.8, \"y\": 340.1 }, \"mouthLeft\": { \"x\": 297.1, \"y\": 355.8 }, }, \"faceAttributes\": { \"mask\": { \"type\": \"noMask\", \"noseAndMouthCovered\": false } } }]
从这个 JSON 输出中,你可以看到面部对象的外接“边界框”坐标(以像素为单位)以及返回的“面部属性”值;返回的“面部标记点”值是面部分析的一部分,你将在下一节中探讨。
本节探讨了使用 CV 来识别面部检测解决方案的特征。接下来,你将学习关于面部分析的内容。
面部分析
使用机器学习模型,面部分析功能可以接收一张图片并提供关于面部特征的信息,也称为标记点,包括嘴巴、嘴唇、鼻子、眼睛和眉毛等类别:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_06_10.jpg
图 6.10 – 使用 CV 检测面部标记点功能
图 6.10展示了可用于使用 CV 进行面部分析机器学习模型训练的面部特征。
本节探讨了使用计算机视觉(CV)来识别面部分析解决方案的特征。接下来,你将学习关于面部识别的内容。
面部识别
面部识别涉及从图像中识别已知个体的面部特征。这是通过使用该个体的图像训练机器学习模型来实现的;然后,对于模型尚未训练的所有新图像,它们可以通过训练模型在这些图像中识别。这一功能在图 6**.11中得到了说明:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_06_11.jpg
图 6.11 – 使用计算机视觉识别个体
图 6*.11* 展示了一个使用训练好的机器学习模型通过计算机视觉识别图像中已知个体的面部识别示例;这可以定制以识别学生(们)从教练(们)。
摘要
本章全面介绍了常见计算机视觉解决方案的识别。
在本章中,您被介绍了计算机视觉解决方案,包括图像分类、目标检测和 OCR。然后,我们通过提供有关面部检测和面部分析解决方案的信息来结束本章的学习。
在下一章中,您将学习描述以下 Azure AI 服务的功能:Azure AI 视觉、Azure AI 面部和 Azure AI 视频索引器。
考试准备练习 – 章节复习题
除了对关键概念有扎实的理解外,能够在时间压力下快速思考是一项有助于您通过认证考试的技能。这就是为什么在您的学习旅程早期就培养这些技能是关键。
章节复习题旨在通过您学习的每个章节逐步提高您的应试技巧,同时复习章节中的关键概念。您将在每个章节的末尾找到这些内容。
在继续之前
如果您没有 Packt 图书馆订阅或未从 Packt 商店购买此书,您将需要解锁在线资源以访问考试准备练习。解锁是免费的,并且只需进行一次。要了解如何操作,请转到名为第十二章**的章节,访问在线资源*。
打开本章复习题的步骤如下:
-
点击链接 –
packt.link/AI-900_CH06。或者,您可以扫描以下二维码(图 6*.12*):
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_06_12.jpg
图 6.12– 为登录用户打开章节复习题的二维码
- 登录后,您将看到一个类似于图 6**.13所示的页面:
https://github.com/OpenDocCN/freelearn-ml-zh/raw/master/docs/ms-az-ai-fund-ai9000-exgd/img/B22207_06_13.jpg
图 6.13 – 第六章的章节复习题
- 准备就绪后,开始以下练习练习,多次尝试测验。
考试准备练习
在前三次尝试中,不必担心时间限制。
尝试 1
第一次尝试,目标至少达到40%。查看你答错的答案,并再次阅读章节中的相关部分,以修复你的学习差距。
尝试 2
第二次尝试,目标至少达到60%。查看你答错的答案,并再次阅读章节中的相关部分,以修复任何剩余的学习差距。
尝试 3
第三次尝试,目标至少达到75%。一旦得分达到 75% 或更高,你就可以开始练习时间控制。
小贴士
你可能需要超过三次尝试才能达到 75%。这没关系。只需复习章节中的相关部分,直到你达到目标。
掌握时间
你的目标是保持得分不变,同时尽可能快地回答这些问题。以下是你下一次尝试应该看起来像的例子:
表 6.1 – 在线平台上的样本时间练习
注意
上表中显示的时间限制只是示例。根据网站上的测验时间限制,为每次尝试设定自己的时间限制。
每次新的尝试,你的得分应保持在**75%**以上,而完成所需的时间应“减少”。重复尝试,直到你觉得自己能够自信地应对时间压力。


