机器学习

机器学习概述

其工作原理、重要性以及快速入门

机器学习是一种教计算机从经验中学习的 AI 方法。机器学习算法使用计算方法直接从数据中“学习”信息,而不是依赖于预先确定的方程作为模型。随着可用于学习的样本数的增加,这些算法会自适应地改善其性能。深度学习是机器学习的一种特殊形式。

机器学习的工作原理

机器学习采用两种方法类型:有监督学习无监督学习。有监督学习根据已知的输入和输出数据训练模型,让模型能够预测未来输出;无监督学习从输入数据中找出隐藏模式或内在结构。

机器学习方法:无监督学习(聚类)和有监督学习(分类和回归)。

图 1. 机器学习方法包括无监督学习和有监督学习。

有监督学习

有监督机器学习能够基于已有的数据建立一个可以在存在不确定性的情况下做出预测的模型。有监督学习算法接受已知的输入数据集和对该数据集的已知响应(输出),然后训练模型以使模型能够对新输入数据的响应做出合理的预测。如果您尝试去预测已知数据的输出,请使用有监督学习。

有监督学习使用分类方法和回归方法来开发机器学习模型

分类方法可预测离散响应 - 例如,电子邮件是真正邮件还是垃圾邮件,肿瘤是恶性还是良性的。分类模型将输入数据划分成不同类别。典型的应用包括医学成像、语音识别和信用评分。

如果您的数据能进行标记、分类或分为特定的组或类,则使用分类。例如,笔迹识别应用会使用分类来识别字母和数字。在图像处理和计算机视觉方面,无监督模式识别方法被用于目标检测和图像分割。此处提供了执行分类的最常见算法。

回归方法可用于预测连续响应,例如电池荷电状态等难以测量的物理量,电网的电力负荷或金融资产价格。典型的应用包括虚拟传感、电力负荷预测和算法交易。

如果您在处理一个数据范围,或响应的性质是一个实数(比如温度,或一件设备发生故障前的运行时间),则使用回归方法。此处提供了执行回归的最常见算法。

有监督机器学习

了解如何使用有监督机器学习来训练模型将输入映射到输出并预测对新输入的响应。

无监督学习

无监督学习可发现数据中隐藏的模式或内在结构。这种方法可根据由没有标注响应的输入组成的数据集做出推断。

聚类是最常见的无监督学习方法。它可以用来执行探索性数据分析以发现数据中隐藏的模式或分组。聚类分析的应用包括基因序列分析、市场调查和目标识别。

例如,如果一家移动电话公司想优化其手机信号塔的方位布局,就可以使用机器学习来估算使用信号塔的人群聚类数量。一部移动电话同时间只能与一个信号塔通信,所以,该团队使用聚类算法设计蜂窝塔的最佳布局,优化其客户群组(也可以称之为客户聚类)的信号接收。此处提供了执行聚类的最常见算法。

聚类是一种机器学习方法,它可以在没有监督的情况下发现数据中的隐藏模式。

图 2. 聚类可找出数据中隐藏的模式。

无监督机器学习

概要了解无监督机器学习,也就是在数据集中寻找没有标注响应的模式。这种方法可以让您探索不确定包含什么信息的数据。

如何决定使用哪种机器学习算法?

选择正确的算法看似相当困难 - 有监督和无监督机器学习算法有几十种,每种算法都使用了不同的学习方法。

机器学习算法的选择没有最佳方法或万全之策。找到正确的算法在一定程度上是个试错的过程 - 即使经验丰富的数据科学家也无法在试用前就断言某种算法是否合适。而且,算法的选择还取决于您要处理的数据的大小和类型、您要从数据中获得的信息以及如何运用这些信息。

根据分类、回归和聚类分组的机器学习算法。

图 3. 机器学习方法。

下面是选择有监督或是无监督机器学习的一些准则:

  • 选择有监督学习:如果您需要训练模型进行预测(例如连续变量的将来值,如温度或股价),或者分类(例如根据网络摄像头的视频影像确定汽车的制造商)。
  • 选择无监督学习:如果您需要深入了解数据并希望训练模型找到良好的内部表示形式,例如将数据拆分为聚类。

机器学习的重要性

随着大数据的兴起,机器学习已成为解决多个领域问题的关键方法,例如:

汽车

航空航天和国防

制造分析

医疗设备

信号处理

更多数据、更多问题、更好的答案

机器学习算法能够在数据中发现自然模式,从而生成洞见并帮助您更好地制定决策和做出预测。这些算法每天都在医疗诊断、股票交易、能量负荷预测及更多行业中被用来制定关键决策。例如,媒体网站依靠机器学习算法从数百万种选项中筛选出为您推荐的歌曲或影片。零售商利用这些算法深入了解客户的购买行为。

何时应该使用机器学习?

如果您遇到涉及大量数据和许多变量的复杂任务或问题,但没有现成的处理公式或方程式,可以考虑使用机器学习。

机器学习和深度学习有什么区别?

深度学习是机器学习的一种特殊形式。以一个机器学习工作流为例。该工作流起始于从图像手动提取相关特征。然后使用这些特征创建一个对图像中对象进行分类的模型。如果使用深度学习工作流的话,相关特征可自动从图像提取。此外,深度学习执行的是“端到端学习”,即为网络提供原始数据和分配要执行的任务(如分类),网络会学习如何自动执行此任务。

图 4. 比较对车辆进行分类的机器学习(左)与深度学习(右)方法。

在机器学习中,您需要手动选择用于对图像进行分类的特征和分类器。在深度学习中,特征提取和建模步骤是自动的。

选择机器学习或深度学习

机器学习提供了多种方法和模型,您可以根据具体应用、所处理数据的规模以及要解决的问题类型进行选择。成功的深度学习应用需要海量数据(数千张图像)来训练模型,以及 GPU(即图形处理单元)来快速处理您的数据。

在机器学习和深度学习之间进行选择时,想想您是否有高性能 GPU 和大量标注数据。如果您不具备其中任何一项,那么使用机器学习可能比使用深度学习更明智。深度学习通常更复杂,您需要至少几千张图像才能获得可靠的结果。

如果选择机器学习,您可以基于许多不同的分类器训练您的模型。您可能还知道提取哪些特征才会产生最佳结果。此外,您还可以灵活地选择各种方法的组合,使用不同分类器和特征来查看哪种排列最适合您的数据。

机器学习与深度学习 | 深度学习简介

此 MATLAB 技术讲座介绍了深度学习和机器学习之间的差异。与主持人一起浏览几个示例,了解如何决定使用哪种方法。

使用 MATLAB 进行机器学习

MATLAB 让机器学习简单易行。MATLAB 提供了用于处理大数据的工具和函数以及让机器学习易于使用的 App。它是将机器学习应用于数据分析的理想环境。

使用 MATLAB,工程师和数据科学家可以立即访问预置的函数、丰富的工具箱以及专用于分类、回归和聚类的 App,并使用数据作出更好的决策。

MATLAB 支持您:

  • 使用现有的手动和自动方法从信号和图像中提取特征,并自动选择特征以使模型更加紧凑
  • 通过应用各种特征工程方法来优化特征
  • 比较各种方法,例如逻辑回归、分类树、支持向量机、集成方法和深度学习
  • 通过使用超参数调节和缩减方法应用 AutoML 来优化模型。
  • 将机器学习模型集成到企业系统、集群和云中,以及将模型部署到实时嵌入式硬件上。
  • 为嵌入式传感器分析自动生成代码。
  • 支持从数据分析到部署的集成工作流。