微软面向初学者的机器学习课程:1.4-机器学习技术

写在前面:最近在参与microsoft/ML-For-Beginners的翻译活动,欢迎有兴趣的朋友加入(https://github.com/microsoft/ML-For-Beginners/issues/71)

机器学习技术

构建、使用和维护机器学习模型及其使用的数据的过程与许多其他开发工作流程截然不同。在本课中,我们将揭开该过程的神秘面纱,并概述您需要了解的主要技术。您会:

  • 在高层次上理解支持机器学习的过程。

  • 探索基本概念,例如“模型”、“预测”和“训练数据”。

课前测验[1]

介绍

在较高的层次上,创建机器学习(ML)过程的工艺包括许多步骤:

  1. 决定问题。大多数机器学习过程都是从提出一个简单的条件程序或基于规则的引擎无法回答的问题开始的。这些问题通常围绕基于数据集合的预测展开。

  2. 收集和准备数据。为了能够回答您的问题,您需要数据。数据的质量(有时是数量)将决定您回答最初问题的能力。可视化数据是这个阶段的一个重要方面。此阶段还包括将数据拆分为训练和测试组以构建模型。

  3. 选择一种训练方法。根据您的问题和数据的性质,您需要选择如何训练模型以最好地反映您的数据并对其进行准确预测。这是您的ML过程的一部分,需要特定的专业知识,并且通常需要大量的实验。

  4. 训练模型。使用您的训练数据,您将使用各种算法来训练模型以识别数据中的模式。该模型可能会利用可以调整的内部权重来使数据的某些部分优于其他部分,从而构建更好的模型。

  5. 评估模型。您使用收集到的集合中从未见过的数据(您的测试数据)来查看模型的性能。

  6. 参数调整。根据模型的性能,您可以使用不同的参数或变量重做该过程,这些参数或变量控制用于训练模型的算法的行为。

  7. 预测。使用新输入来测试模型的准确性。

要问什么问题

计算机特别擅长发现数据中的隐藏模式。此实用程序对于对给定领域有疑问的研究人员非常有帮助,这些问题无法通过创建基于条件的规则引擎来轻松回答。例如,给定一项精算任务,数据科学家可能能够围绕吸烟者与非吸烟者的死亡率构建手工规则。

然而,当将许多其他变量纳入等式时,ML模型可能会更有效地根据过去的健康史预测未来的死亡率。一个更令人愉快的例子可能是根据包括纬度、经度、气候变化、与海洋的接近程度、急流模式等在内的数据对给定位置的4月份进行天气预报。

✅ 这个关于天气模型的幻灯片[2]为在天气分析中使用机器学习提供了一个历史视角。

预构建任务

在开始构建模型之前,您需要完成多项任务。要测试您的问题并根据模型的预测形成假设,您需要识别和配置多个元素。

Data

为了能够确定地回答您的问题,您需要大量正确类型的数据。此时您需要做两件事:

  • 收集数据。记住之前关于数据分析公平性的课程,小心收集数据。请注意此数据的来源、它可能具有的任何固有偏见,并记录其来源。

  • 准备数据。数据准备过程有几个步骤。如果数据来自不同的来源,您可能需要整理数据并对其进行标准化。您可以通过各种方法提高数据的质量和数量,例如将字符串转换为数字(就像我们在聚类[3]中所做的那样)。您还可以根据原始数据生成新数据(正如我们在分类[4]中所做的那样)。您可以清理和编辑数据(就像我们在 Web App[5]课程之前所做的那样)。最后,您可能还需要对其进行随机化和打乱,具体取决于您的训练技术。

✅ 在收集和处理您的数据后,花点时间看看它的形状是否能让您解决您的预期问题。正如我们在聚类[6]课程中发现的那样,数据可能在您的给定任务中表现不佳!

选择特征变量

特征[7]是数据的可衡量属性。在许多数据集中,它表示为列标题,如“日期”、“大小”或“颜色”。您的特征变量(通常在代码中表示为y)代表您试图对数据提出的问题的答案:在12月,哪种颜色的南瓜最便宜?在旧金山,哪些街区的房地产价格最好?

???? 特征选择和特征提取 构建模型时如何知道选择哪个变量?您可能会经历一个特征选择或特征提取的过程,以便为性能最好的模型选择正确的变量。然而,它们不是一回事:“特征提取是从基于原始特征的函数中创建新特征,而特征选择返回特征的一个子集。”(来源[8]

可视化数据

数据科学家工具包的一个重要方面是能够使用多个优秀的库(例如 Seaborn 或 MatPlotLib)将数据可视化。直观地表示您的数据可能会让您发现可以利用的隐藏关联。您的可视化还可以帮助您发现偏见或不平衡的数据(正如我们在 分类[9]中发现的那样)。

拆分数据集

在训练之前,您需要将数据集拆分为两个或多个大小不等但仍能很好地代表数据的部分。

  • 训练。这部分数据集适合您的模型进行训练。这个集合构成了原始数据集的大部分。

  • 测试。测试数据集是一组独立的数据,通常从原始数据中收集,用于确认构建模型的性能。

  • 验证。验证集是一个较小的独立示例组,用于调整模型的超参数或架构,以改进模型。根据您的数据大小和您提出的问题,您可能不需要构建第三组(正如我们在时间序列预测[10]中所述)。

建立模型

使用您的训练数据,您的目标是构建模型或数据的统计表示,并使用各种算法对其进行训练。训练模型将其暴露给数据,并允许它对其发现、验证和接受或拒绝的感知模式做出假设。

决定一种训练方法

根据您的问题和数据的性质,您将选择一种方法来训练它。逐步完成 Scikit-learn的文档[11] - 我们在本课程中使用 - 您可以探索多种训练模型的方法。根据您的经验,您可能需要尝试多种不同的方法来构建最佳模型。您可能会经历一个过程,在该过程中,数据科学家通过提供未见过的数据来评估模型的性能,检查准确性、偏差和其他降低质量的问题,并为手头的任务选择最合适的训练方法。

训练模型

有了您的训练数据,您就可以“拟合”它以创建模型。您会注意到,在许多ML库中,您会找到代码'model.fit'——此时您将数据作为值数组(通常为'X')和特征变量(通常为'y')发送)。

评估模型

训练过程完成后(训练大型模型可能需要多次迭代或“时期”),您将能够通过使用测试数据来衡量模型的性能来评估模型的质量。此数据是模型先前未分析的原始数据的子集。您可以打印出有关模型质量的指标表。

???? **模型拟合 **

在机器学习的背景下,模型拟合是指模型在尝试分析不熟悉的数据时其底层功能的准确性。

???? 欠拟合和过拟合是降低模型质量的常见问题,因为模型拟合得不够好或太好。这会导致模型做出与其训练数据过于紧密对齐或过于松散对齐的预测。过拟合模型对训练数据的预测太好,因为它已经很好地了解了数据的细节和噪声。欠拟合模型并不准确,因为它既不能准确分析其训练数据,也不能准确分析尚未“看到”的数据。

作者Jen Looper[12]

参数调优

初始训练完成后,观察模型的质量并考虑通过调整其“超参数”来改进它。在此文档中[13]阅读有关该过程的更多信息。

预测

这是您可以使用全新数据来测试模型准确性的时刻。在“应用”ML设置中,您正在构建Web资源以在生产中使用模型,此过程可能涉及收集用户输入(例如按下按钮)以设置变量并将其发送到模型进行推理,或者评估。

在这些课程中,您将了解如何使用这些步骤来准备、构建、测试、评估和预测—所有这些都是数据科学家的姿态,而且随着您在成为一名“全栈”ML工程师的旅程中取得进展,您将了解更多。


????挑战

画一个流程图,反映ML的步骤。在这个过程中,您认为自己现在在哪里?您预测您在哪里会遇到困难?什么对您来说很容易?

阅读后测验[14]

复习与自学

在线搜索对讨论日常工作的数据科学家的采访。这是其中之一[15]

任务

采访一名数据科学家[16]

欢迎关注我的个人公众号”My IO“

参考

[1]

课前测验: https://jolly-sea-0a877260f.azurestaticapps.net/quiz/7/

[2]

幻灯片: https://www2.cisl.ucar.edu/sites/default/files/0900%20June%2024%20Haupt_0.pdf

[3]

聚类: ../../5-Clustering/1-Visualize/README.md

[4]

分类: ../../4-Classification/1-Introduction/README.md

[5]

Web App: ../3-Web-App/README.md

[6]

聚类: ../../5-Clustering/1-Visualize/README.md

[7]

特征: https://www.datasciencecentral.com/profiles/blogs/an-introduction-to-variable-and-feature-selection

[8]

来源: https://wikipedia.org/wiki/Feature_selection

[9]

分类: ../../4-Classification/2-Classifiers-1/README.md

[10]

时间序列预测: ../7-TimeSeries/1-Introduction/README.md

[11]

Scikit-learn的文档: https://scikit-learn.org/stable/user_guide.html

[12]

Jen Looper: https://twitter.com/jenlooper

[13]

在此文档中: https://docs.microsoft.com/en-us/azure/machine-learning/how-to-tune-hyperparameters?WT.mc_id=academic-15963-cxa

[14]

阅读后测验: https://jolly-sea-0a877260f.azurestaticapps.net/quiz/8/

[15]

其中之一: https://www.youtube.com/watch?v=Z3IjgbbCEfs

[16]

采访一名数据科学家: assignment.md

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/300804.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

四川大学计算机科学与技术专业分数线,2015年四川大学计算机科学与技术硕士考研复试分数线是290分...

2015年四川大学计算机科学与技术硕士考研复试分数线是290分 (4页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!19.90 积分2015 年四川大学计算机科学与技术硕士考研复试分数线是 290 分2015 年四川大…

一个男人逐渐变心的过程。。 | 今日最佳

世界只有3.14 % 的人关注了青少年数学之旅(图源网络,侵权删)渣男,实锤!↓ ↓ ↓

2013-10-10

为什么80%的码农都做不了架构师?>>> http://wordpress.org/plugins/find-duplicates/ 检测文章的标题是否重复的插件 转载于:https://my.oschina.net/520yzw/blog/167580

arm cpu 超频_树莓派 400 超频方法介绍

对树莓派 400 进行超频非常容易实现。散热上,树莓派 400 设计了一个面积很大的被动散热器,这很有用。无需额外的主动降温就可以应对超频的散热需求。尽管有些用户通过配置,让树莓派 400 超频到了 2.2GHz,但我相信 2GHz 更稳一些。…

Blazor Server 和 WebAssembly 应用程序入门指南

翻译自 Waqas Anwar 2021年3月12日的文章 《A Beginner’s Guide To Blazor Server and WebAssembly Applications》 [1]如果您一直紧跟 .NET 世界的最新发展趋势,那么现在您一定听说过 Blazor。目前在 .NET 社区中有很多关于 Blazor 的宣传,这种宣传最常…

张萍萍山东大学计算机科学系毕业生,并行驰骋,放“码”来战!看先导杯大奖赛上山大风采...

原标题:并行驰骋,放“码”来战!看先导杯大奖赛上山大风采近日,山东大学计算机科学与技术学院2018级硕士研究生杨林、2020级硕士研究生李威宇组成的团队获得中科院“先导杯”并行应用大赛人工智能赛“大规模物体检测”和“神经网络…

利用percona-toolkit工具检查MySQL数据库主从复制数据的一致性,以及修复。

利用percona-toolkit工具检查MySQL数据库主从复制数据的一致性,以及修复。一、pt-table-checksum检查主从库数据的一致性pt-table-checksum在MASTER上校验指定库、表,将结果存在一个库表里,复制进程将检验sql传递到slave上再执行一次。通过比…

终于丫你奶奶的浩方了!

使用NTFS权限管理清除浩方对战平台广告 作者:feixing 时间:2005-7-14 18:33:17第 1 楼相信坛子里用到浩方上网玩游戏的人应该不下少数吧?随着浩方越做越大。当然也就随之会多很多我们根本不想要的东西。例如在登录浩方时。下方的广告框。进入浩方时。一个劲弹出的窗…

一个妄想的技术宅, 一个自己挖的核掩体, 一起怪异的死亡事件!!

世界只有3.14 % 的人关注了青少年数学之旅2017年9月10日,美国马里兰Bethesda,一个名叫Maplewood的社区如往日般平静。一位居民正在修理自己车挡风玻璃上的裂缝,突然他听到有人大喊:快出来!快出来!他往声音传…

bigint在java中用什么表示_为什么说开车最能看出一个人的人品和情商?这几条说的太精辟了...

人们常说,想要看清一个女人,就和她逛一次街,想要认清一个男人,就和他喝一次酒,无论是男人和女人,想要认清一个普通人,通过他开车就能看出来。因为每一次开车,都可以看出一个人的底线…

计算机Word应用程序,Word2007目录设置_计算机软件和应用程序_IT /计算机_信息

Word2007形成目录的方法步骤/方法1.设置目录样式. 此步骤是整理论文和文章,然后定义和设置多级序列的样式(普通论文需要第一级序列XX字体,几个大小的单词等). 主要用途是word2007的样式区域. 打开word2007,然后在“开始”区域中找到“样式”区…

英国出土1600年前的文物,上面居然刻着简体中文?!

全世界只有3.14 % 的人关注了青少年数学之旅最近,一幅大约1600年前的罗马马赛克壁画在英国考古界引起了轰动。这幅壁画的长度和宽度均为6米,埋藏在英国西伯克郡的Boxford村。据考古专家介绍,算上它在内,类似的马赛克壁画全世界一共…

asp.net控件开发基础(20)

示例代码上面我们讨论了数据绑定控件的做法,但都未涉及到asp.net2.0中数据源控件的用法,让用惯了数据源控件的人可能感觉不适应。这次我们就开始讨论在asp.net2.0中,我们该如何重新定义数据绑定控件。我一直在想,是先讨论数据源控…

Win7 Ubuntu13.04互通(win7下用vbox安装Ubuntu)

2019独角兽企业重金招聘Python工程师标准>>> <p>VirtualBox设置</p> <p>采用的是Bridgehost方式</p> <p><a href"http://static.oschina.net/uploads/img/201310/11213732_gHMq.jpg"><img style"background-…

后端接口重定向_接口自动化面试题,建议收藏!

1、get和post的区别&#xff1f;l http是上层请求协议&#xff0c;主要定义了服务端和客户端的交互规格&#xff0c;底层都是tcp/ip协议l Get会把参数附在url之后&#xff0c;用&#xff1f;分割&#xff0c;&连接不同参数&#xff0c;Get获取资源&#xff0c;post会把参数…

期货市场计算机分析指南在线,期货市场计算机分析指南

39.60定价&#xff1a;55.00(7.2折)(美)勒博&#xff0c;(美)卢卡斯 著&#xff0c;何苗 译/2012-04-01《期货市场计算机分析指南》花费了作者大量的心血&#xff0c;这从书中的内容就可以看出。我所读过的有关技术分析的大部分书未能给各种技巧及随后的交易方法打下坚实的基础…

吃货都是怎么给自己找理由的? | 今日最佳

世界只有3.14 % 的人关注了青少年数学之旅&#xff08;图源网络&#xff0c;侵权删&#xff09;看得我都饿了↓ ↓ ↓

用SharpZipLib来压缩和解压文件 --zt

from:http://www.cnblogs.com/zhangweiguo3984/archive/2007/03/15/314333.html#6756341.建立工程&#xff0c;添加引用&#xff0c;添加SharpZipLib.dll2.建立压缩和解压类CompressionFile.cs添加如下代码usingSystem;usingSystem.IO;usingICSharpCode.SharpZipLib.Zip;usingI…

vue 给取data值_web前端教程分享Vue相关面试题

Vue是一套构建用户界面的渐进式框架&#xff0c;具有简单易用、性能好、前后端分离等优势&#xff0c;是web前端工程师工作的好帮手&#xff0c;也是企业选拔人才时考察的重点技能。接下来就给大家分享一些Vue相关的面试题&#xff0c;帮助大家提升竞争力。你对Vue生命周期的理…

.NET Core with 微服务 - Consul 配置中心

上一次我们介绍了Elastic APM组件。这一次我们继续介绍微服务相关组件配置中心的使用方法。本来打算介绍下携程开源的重型配置中心框架 apollo 但是体系实在是太过于庞大&#xff0c;还是让我爱不起来。因为前面我们已经介绍了使用Consul 做为服务注册发现的组件&#xff0c;那…