精选30+云产品,助力企业轻松上云!>>>

本系列为面向开发者的机器学习教程。


简介

机器学习是一门为了预测某个值而对系统应用算法来学习数据中模式的科学。利用足够的数据,在所有输入变量与待预测值之间建立关系。在给定其他输入变量的情况下,系统更容易预测一个新的值。这种方法不同于传统编程,在传统编程中,应用程序是基于先前设置的规则开发的。虽然机器学习的基本概念已经存在了一段时间,但这一领域最近才迅猛发展,这要归功于先进的处理器和丰富的可用数据,这两者都是实现精确预测的关键。因为介绍机器学习历史的内容很多,所以本文不再赘述。我们在这里为您提供了一种实用的方法来理解必要的概念,帮助您入门。

本文解释了以下概念:

1、机器学习基础知识

2、有监督学习与无监督学习的比较

3、构建模型

4、机器学习中的管道


机器学习基础知识


下面将讨论在处理机器学习项目时使用的一些基本术语。

线性代数

线性代数是数学中处理变量之间相关性的一个领域。之所以称为线性,是因为输出变量可以用幂(指数)不大于 1 的输入变量来表示。了解线性代数的基础知识,对理解机器学习的一些基础知识大有帮助。在本节中,我们定义了一些经常使用的关键术语。

什么是张量?

我们先从标量讲起。标量基本上是任何数字,如 1、5、23.5 或 42。如果将多个标量组合在一起,最后就会得到一个矢量。例如,(1, 5, 23, 2) 就是一个长度为 4 的矢量。在矢量中,所有元素都应该属于相同的数据类型,而在元组中,可以混用类型。矩阵是大小相等的矢量的列表。在矩阵中,行数可以不同于列数,但每个元素必须具有相同的类型。具有 m 行和 n 列的矩阵称为 m x n 矩阵。

张量是在多维空间中表示的数据。张量是表示上述内容的通称。例如,零维张量就是标量,一维张量是矢量,二维张量则是矩阵。下图显示了一个三维张量的例子,它基本上是一个矩阵的扩展,但却是三维的。

张量在某些方面使用起来很方便,比如图像处理。可以用一个维度表示高度,一个维度表示宽度,一个维度表示颜色。

高维矢量空间

理解高维矢量空间有助于为理解机器学习的工作原理打下坚实的基础。下图显示了一个包含三列的数据集。这些列被称为“维度”或“特征”。该表也称为三维数据集。在一个三维空间中绘制这些点时,我们观察到三个点云。

线是在二维空间中对点的基本分割。在前面的图像中,您看到了分割线,这标志着三维空间中点的分割。三维空间中的这条线称为平面。如果从三维变为四维或者更高维,平面就变成了超平面。

识别这些分割非常关键,因为在进行分割之后,预测新数据只不过是识别数据点位于分割的哪个部分。

有监督机器学习与无监督机器学习的比较

3.1 有监督机器学习

有监督机器学习是指数据集中的每条记录都包含一个标签或标志的一类问题。

以下表为例,其中包含有关最高温度、最低温度和最大振动的信息。

最后一列的 asperity(粗糙度)就是标签。在给定温度和振动数据的情况下,我们想要预测粗糙度。这是一个有标签的数据集。

使用这个包含标签的数据集,我们可以训练一个算法,为无标签的数据预测值。您可以将它放入算法中,算法现在就可以预测该数据的标签。这被称为有监督学习。有监督学习有两种类型:回归分类

回归

必须预测连续值的用例类型称为回归。例如,如果我们向算法传递值 35、35 和 12,它预测的粗糙度值为 0.32。

分类

输出是二进制值或至少是离散值(而不是连续值)的用例类型称为分类。也就是说,该算法不会预测一个数字,而是预测一个类变量。

例如,如果我们向算法传递值 35、35 和 12,它会预测值 0 表示被破坏。

如果只有两个类,则称为二元分类。如果有两个以上的类,则称为多类分类。

无监督学习

无监督机器学习是指数据集中的记录都不包含任何标签或标志的一类问题。聚类是一种无监督机器学习。

聚类

在前面显示的三维图中,请注意 3 个数据簇或数据云。通过绘制表格,我们就可以看到数据以三个簇为中心。这个过程被称为聚类。

构建模型

机器学习模型是指使用先前看到的数据建立的一种数学结构,为按照先前计算的一定精度来预测新数据而设置。

要从头开始构建模型,就需要按以下顺序来迭代执行步骤。

数据探索

数据预处理

拆分数据以用于训练和测试

准备一个分类模型

使用管道组装所有这些步骤

训练模型

对模型运行预测

评估模型性能并使之可视化

管道


在机器学习流程中设计数据处理时,管道是一个非常方便的过程。数据预处理是一个单调乏味的步骤,无论应用何种算法,在每次开始训练之前都必须对数据进行预处理。下图显示了每次开始数据建模之前应用的一系列典型的预处理步骤。

当使用管道时,您可以保留预处理,只切换不同的建模算法或建模算法的不同参数集。总体思路是,您可以将完整的数据处理流程融入单一管道中,而这个管道可以在下游使用。

与机器学习算法类似,管道具有“拟合”、“评估”和“评分”这些方法。基本上,“拟合”用于开始训练,“评分”则返回预测值。

使用管道的最大优势之一就是交叉验证。它指的是使用同一个管道改变或调整几个超参数的过程,这可以加速算法的优化。可以调整几个超参数来改善模型的性能。有关这些主题的详细信息将在以后的文章中加以介绍。


本系列为面向开发者的机器学习教程。

文章 机器学习简介
教程 使用 Python 和 scikit-learn 构建并测试您的第一个机器学习模型
教程 用 Python 和 scikit-learn 学习分类算法
教程 使用 Python 和 scikit-learn 学习聚类算法

此学习路径是为想要快速熟悉机器学习的所有人而设计的。此学习路径包括若干含实践操作演示的分步教程,您将会构建模型并在应用中使用这些模型。

(完)


专注大数据技术、架构、实战

关注我,带你不同角度看数据架构

本文分享自微信公众号 - 大数据每日哔哔(bb-bigdata)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

面向开发者的机器学习(一)| 机器学习简介相关推荐

  1. 流数据机器学习平台SAMOA简介

    流数据机器学习平台SAMOA简介 SAMOA (Scalable Advanced Massive Online Analysis)是由雅虎开源的流数据在线机器学习的框架.和其它绝大多数大数据处理框架 ...

  2. AI之AutoML:Ludwig(无需编写代码/易于使用的界面和可视化自动机器学习工具)的简介、安装、使用方法之详细攻略

    AI之AutoML:Ludwig(无需编写代码/易于使用的界面和可视化自动机器学习工具)的简介.安装.使用方法之详细攻略 目录 Ludwig的简介 Ludwig(无需编写代码/易于使用的界面和可视化自 ...

  3. apache madlib 教程_Apache顶级开源项目——机器学习库MADlib简介与应用实例

    原标题:Apache顶级开源项目--机器学习库MADlib简介与应用实例 Apache MADlib是Pivotal与UCBerkeley合作的一个开源机器学习库,提供了精确的数据并行实现.统计和机器 ...

  4. Computer Science Theory for the Information Age-4: 一些机器学习算法的简介

    Computer Science Theory for the Information Age-4: 一些机器学习算法的简介 一些机器学习算法的简介 本节开始,介绍<Computer Scien ...

  5. AI之AutoML:autosklearn/Auto-Sklearn(基于scikit-learn库的自动化的机器学习工具)的简介、安装、使用方法之详细攻略

    AI之AutoML:autosklearn/Auto-Sklearn(基于scikit-learn库的自动化的机器学习工具)的简介.安装.使用方法之详细攻略 目录 autosklearn/Auto-S ...

  6. ML与Optimality:最优化理论(GD随机梯度下降/QN拟牛顿法/CG共轭梯度法/L-BFGS/TR置信域/GA遗传算法/SA模拟退火算法)在机器学习中的简介、常用方法、案例应用之详细攻略

    ML与Optimality:最优化理论(GD随机梯度下降/QN拟牛顿法/CG共轭梯度法/L-BFGS/TR置信域/GA遗传算法/SA模拟退火算法)在机器学习中的简介.常用方法.案例应用之详细攻略 目录 ...

  7. 8月22日云栖精选夜读 | Java开发者必看!机器学习开发库精选!

    本文将介绍一些目前流行的.强大的基于Java的机器学习库. 热点热议 Java开发者必看!机器学习开发库精选! 作者:[方向] 学界 | 不!机器学习才不只是统计学的美化! 作者:技术小能手  发表在 ...

  8. 机器学习sklearn | sklearn简介

    机器学习sklearn | sklearn简介 1. 简介 2. 特点 3. 安装 3.1 注意事项 4. 机器学习要做的事 5. 机器学习问题的分类 6. 数据集 7. 加载sklearn自带的数据 ...

  9. Scikit-Learn 与 TensorFlow 机器学习实用指南学习笔记1 — 机器学习基础知识简介

    红色石头的个人网站:redstonewill.com 本章介绍的是每一个数据科学家都应该知道并听说的机器学习许多基本的概念和术语.这将是一个高层次的概括(本书唯一没有很多代码的一章).内容很简单,但是 ...

最新文章

  1. Linux系统管理必备知识之利用ssh传输文件
  2. linux部分基础命令总结,Linux 基础命令总结3
  3. 物理如何证明上帝的存在?
  4. 打开浏览器提示下载解决方法
  5. OpenLDAP、什么是目录服务、OpenLDAP简介、LDAP的基本模型、目录树概念、(DC、UID、OU、CN、SN、DN、RDN、c、o)、LDAP的使用
  6. windows系统tomcat日志输出至catalina.out配置说明
  7. ASP.Net MVC——使用 ITextSharp 完美解决HTML转PDF(中文也可以)
  8. 配置文件*.xml中 classpath: 与 classpath*: 的区别
  9. apicloud项目怎么运行_Spring Boot教程(3) – 运行第一个项目
  10. um是代表什么意思_女生约会心里都想什么?女生约会举动代表什么意思
  11. C语言fscanf和fprintf函数的用法详解
  12. CTO@全体成员,未经允许和评审不让用反射,Java反射到底慢在哪?
  13. Guava LoadingCache用法
  14. 2492 上帝造题的七分钟 2
  15. 台积电多人离职:老婆受不了
  16. 06计算机优秀毕业论文-总结和展望
  17. java 多线程数组越界_越界java数组
  18. 【DCANet2022】DCANet: Differential Convolution Attention Network for RGB-D Semantic Segmentation
  19. Java POST JSON 数据处理异常 (code 160)): was expecting double-quote to start field name
  20. 对啊英语音标---一、什么是字母的名称音和发音

热门文章

  1. 只要加一行,让 IE 五倍速执行 JavaScript
  2. 让你变成优秀程序员的几个小习惯
  3. 浏览器 JavaScript HTTP 库的大比拼:SugerAgent VS Axios
  4. Jenkins+Github+Nginx实现前端项目自动部署
  5. Spring Security 示例UserDetailsS​​ervice
  6. Hystrix面试 - 深入 Hystrix 线程池隔离与接口限流
  7. Spring-Cloud-Netflix-Eureka 服务注册治理
  8. python循环写入csv文件_从for循环和列表中写入.csv文件
  9. 解ns方程_流体动力学NS方程的哲学缺陷
  10. Java项目案例大全