机器学习

什么是机器学习?

您需要知道的三件事

机器学习是一种数据分析技术,让计算机执行人和动物与生俱来的活动:从经验中学习。机器学习算法使用计算方法直接从数据中“学习”信息,而不依赖于预定方程模型。当可用于学习的样本数量增加时,这些算法可自适应提高性能。

机器学习的工作原理

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

图 1:机器学习技术包括监督式学习和无监督学习。

图 1:机器学习技术包括监督式学习和无监督学习。

监督式学习

监督式机器学习能够根据已有的包含不确定性的数据建立一个预测模型。监督式学习算法接受已知的输入数据集(包含预测变量)和对该数据集的已知响应(输出,响应变量),然后训练模型,使模型能够对新输入数据的响应做出合理的预测。如果您尝试去预测已知数据的输出,则使用监督式学习。

监督式学习采用分类和回归技术开发预测模型。

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

如果您的数据能进行标记、分类或分为特定的组或类,则使用分类。例如,笔迹识别的应用程序使用分类来识别字母和数字。在图像处理和计算机视觉中,无监督模式识别技术用于对象检测和图像分割。

回归技术可预测连续的响应 — 例如,温度的变化或电力需求中的波动。典型的应用包括电力系统负荷预测和算法交易。

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

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

无监督学习

无监督学习可发现数据中隐藏的模式或内在结构。这种技术可根据未做标记的输入数据集得到推论。

聚类是一种最常用的无监督学习技术。这种技术可通过探索性数据分析发现数据中隐藏的模式或分组。聚类分析的应用包括基因序列分析、市场调查和对象识别。

例如,如果移动电话公司想优化他们手机信号塔的建立位置,则可以使用机器学习来估算依赖这些信号塔的人群数量。一部电话一次只能与一个信号塔通信,所以,该团队使用聚类算法设计蜂窝塔的最佳布局,优化他们的客户群组或集群的信号接收。

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

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

概要了解无监督机器学习如何在不带标注响应的数据集中找出规律。当您不确定数据包含哪些信息时,可以使用这种方法探查数据。

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

选择正确的算法看似难以驾驭——需要从几十种监督式和无监督机器学习算法中选择,每种算法又包含不同的学习方法。

没有最佳方法或万全之策。找到正确的算法只是试错过程的一部分——即使是经验丰富的数据科学家,也无法说出某种算法是否无需试错即可使用。但算法的选择还取决于您要处理的数据的大小和类型、您要从数据中获得的洞察力以及如何运用这些洞察力。

图 3:机器学习技术。

图 3:机器学习技术。

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

  • 在以下情况下选择监督式学习:您需要训练模型进行预测(例如温度和股价等连续变量的值)或者分类(例如根据网络摄像头的录像片段确定汽车的技术细节)。
  • 在以下情况下选择无监督学习:您需要深入了解数据并希望训练模型找到好的内部表示形式,例如将数据拆分到集群中。

机器学习为什么重要

随着大数据应用增加,机器学习已成为解决以下领域问题的一项关键技术:

automotive

汽车

aerospace

航空航天和国防

medical devices

工业自动化和机械

metals, materials, and mining

医疗设备

signal processing

信号处理

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

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

何时应该使用机器学习?

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

What's the Difference Between Machine Learning and Deep Learning?

Deep learning is a specialized form of machine learning. A machine learning workflow starts with relevant features being manually extracted from images. The features are then used to create a model that categorizes the objects in the image. With a deep learning workflow, relevant features are automatically extracted from images. In addition, deep learning performs “end-to-end learning” – where a network is given raw data and a task to perform, such as classification, and it learns how to do this automatically.

Figure 4. Comparing approaches to categorizing vehicles using machine learning (left) and deep learning (right).

In machine learning, you manually choose features and a classifier to sort images. With deep learning, feature extraction and modeling steps are automatic.

Choosing Between Machine Learning and Deep Learning

Machine learning offers a variety of techniques and models you can choose based on your application, the size of data you're processing, and the type of problem you want to solve. A successful deep learning application requires a very large amount of data (thousands of images) to train the model, as well as GPUs, or graphics processing units, to rapidly process your data.

When choosing between machine learning and deep learning, consider whether you have a high-performance GPU and lots of labeled data. If you don’t have either of those things, it may make more sense to use machine learning instead of deep learning. Deep learning is generally more complex, so you’ll need at least a few thousand images to get reliable results.

If you choose machine learning, you have the option to train your model on many different classifiers. You may also know which features to extract that will produce the best results. Plus, you also have the flexibility to choose a combination of approaches, use different classifiers and features to see which arrangement works best for your data.

在这个 MATLAB 技术讲座中,了解机器学习与深度学习的区别。浏览几个示例,了解如何决定要使用的方法。

MATLAB 机器学习

您如何借助机器学习的力量,使用数据做出更好的决策?MATLAB 让机器学习简单易行。借助用于处理大数据的工具和函数,以及让机器学习发挥作用的应用程序,MATLAB 是将机器学习应用于您的数据分析的理想环境。

使用 MATLAB,工程师和数据科学家可以立即访问预置的函数、大量的工具箱以及用于分类回归聚类的专门应用程序。

MATLAB 可以做到:

  • 比较各种方法,例如逻辑回归、分类树、支持向量机、集成方法和深度学习
  • 使用模型精化和缩减技术创建能够最好地捕捉预测能力的精确模型。
  • 将机器学习模型集成到企业系统、集群和云中,并且将模型定位于实时嵌入式硬件。
  • 为嵌入式传感器分析工具执行自动代码生成。
  • 支持从数据分析到部署的集成工作流程。

相关主题

MATLAB 入门

使用 MATLAB 实现机器学习

Learn about MATLAB support for machine learning. 

使用 MATLAB 进行机器学习的

Get started with MATLAB for machine learning.