有监督学习是一种使用标注数据训练模型以进行预测的机器学习方法。在有监督学习中,模型学习使用已知的输入数据和响应来执行分类或回归任务。
有监督学习的工作原理
有监督学习是最常见的机器学习类型。它使用已知数据集(称为训练数据集),通过已知输入数据集(称为特征)和已知响应来训练算法。训练数据集包括与期望输出或响应值配对的标注输入数据。基于这个数据集,有监督学习算法寻求通过发现特征和输出数据之间的关系来创建模型,然后对新数据集的响应值进行预测。
有监督学习可用于多个工程和科学领域以开发解决实际问题的模型。例如,假设临床医生有以前就医的患者的相关数据,包括年龄、体重、身高和血压。他们知道以前的患者是否出现过心脏病发作,并想预测新患者是否有心脏病发作风险。这可以通过使用有监督学习对现有数据建模来实现。
有监督学习中的训练和推断阶段。
典型的有监督学习工作流涉及诸如数据准备、算法选择、模型训练和模型评估等步骤。由于有监督学习依赖标注数据来训练模型,因此训练数据真实可信至关重要。例如,如果模型将在含噪环境中使用,则训练数据也必须包含真实水平的噪声。验证是有监督学习中的另一个重要步骤,用于确保模型对未见数据泛化良好并防止过拟合。
改进有监督学习模型
改进有监督学习模型,即提高其准确度和预测能力,通常涉及特征工程和超参数调节。特征工程是将原始数据转换为用作机器学习模型输入的特征的过程。超参数调节涉及识别能提供最佳模型的参数集。
应用特征工程和超参数调节以提高有监督学习模型的性能。
有监督学习与无监督学习
有监督学习和无监督学习都是机器学习的类型。
两种类型的机器学习:有监督学习和无监督学习。
有监督学习和无监督学习之间的主要区别是有监督学习需要标注训练数据来训练机器学习模型。相反,无监督学习使用未标注数据在没有人工干预的情况下揭示数据中隐藏的关系。由于标注数据的存在,有监督学习结果可能比无监督学习结果更准确。然而,获取标注数据通常需要人工处理,并且可能耗时、成本高昂且在某些情况下不切实际。
在应用有监督学习之前,有时无监督学习会被使用,来发现输入数据中的模式并为有监督学习识别特征。除了识别特征外,还需要为训练集中的所有观测值识别正确的类别或响应。半监督学习是另一种机器学习方法,它让您用更少的标注数据训练模型,从而减少标注工作。
有监督学习的类型
有监督学习算法创建的机器学习模型的主要类型是分类模型和回归模型。分类或回归任务均可使用不同算法对数据进行建模。
有监督学习算法的类型。
用于分类的有监督学习
在有监督学习中,分类指将数据分为若干特定类或类别。目标是将有限类集合中的一个类(或标签)分配给一个观测值。即,分类模型的响应是分类变量。
典型的应用包括医学成像、语音识别和信用评分。例如,确定电子邮件是真实的还是垃圾邮件或设备部件是有缺陷的还是良好的。
| 逻辑回归拟合一个模型,该模型可预测属于一个类或另一个类的二元响应的概率。 | 判别分析通过假设不同类基于高斯分布生成数据,找到特征的线性组合,从而对数据进行分类。 | k 最近邻 (kNN) 算法根据数据集中一个对象的最近邻的类对该对象进行分类。kNN 算法预测假设彼此靠近的对象是相似的。 | 朴素贝叶斯分类器假设类中各个特征的存在彼此不相关。该算法根据新数据属于某个特定类的最高概率对该数据进行分类。 |
|
|
|
|
|
用于回归的有监督学习
您可以在有监督学习中使用回归方法理解响应和输入变量之间的关系。它们适用于具有一系列值的数据集或响应为实数的情形,例如温度或设备故障时间。即,回归模型预测连续响应。典型应用包括电力负荷预测、预测电池剩余循环寿命、算法交易、疾病发病率、预测股价和声学信号处理。
用于分类或回归的有监督学习
可用于分类和回归任务的有监督学习算法有几种。
| 决策树可用于预测对数据的响应,方法是按照从树中根节点(起始位置)到叶节点的顺序自上而下地决策。树由分支条件组成,在这些条件中,预测变量的值与训练得到的权重进行比较。分支数和权重值在训练期间确定。 | 支持向量机 (SVM) 通过找到使一个类的所有数据点与另一个类的所有数据点的分离效果最好的超平面对数据进行分类。对于 SVM 回归,算法不是寻找一个分隔数据的超平面,而是寻找一个偏离所测量数据的模型,其中,偏离的值不大于一个较小的数量,并且采用的参数值尽可能小(旨在最大限度降低对误差的敏感度)。 | 神经网络是自适应系统,它们通过使用类似人脑的层次结构中的互连节点或神经元进行学习。神经网络可通过数据进行学习,因此,您可以训练它来识别模式、对数据分类和预测未来事件。神经网络的行为由其各个元素的连接方式以及这些连接的强度或权重来确定。这些权重会在训练期间自动调整。 |
|
|
|
深度学习是机器学习的一种特殊形式,它利用深度神经网络处理更复杂的任务和更大的数据集。常见的深度学习算法,如卷积神经网络 (CNN)、循环神经网络 (RNN) 和长短期记忆 (LSTM) 网络,通常是有监督学习算法。
选择合适的有监督学习算法
当您为数据选择有监督学习算法时,必须在不同算法之间综合权衡,例如考虑其计算和内存需求、预测准确度和可解释性。此过程可能涉及试错,并且可以通过应用自动化机器学习 (AutoML) 简化。
几种有监督学习算法的预测能力和可解释性之间的权衡。
为什么有监督学习如此重要
有监督学习是机器学习和人工智能的一个重要领域。工程师和科学家使用有监督学习构建 AI 模型以解决实际问题。例如,在虚拟传感器建模中,使用有监督学习算法训练用于开发这些传感器的 AI 模型。有监督学习的一些应用领域是:
- 生物信息学和医疗设备:有监督学习方法广泛用于医疗保健中的医学成像、肿瘤检测和药品发现。有监督学习也可用于基于信号的任务,例如对 ECG 数据进行分类以区分心律失常、充血性心力衰竭和正常窦性心律。
- 能源生产:通过使用有监督学习执行回归任务,工程师可以预测能源价格、预测电力负荷并为各种可再生能源应用创建模型。
- 工业自动化:有监督学习可用于开发异常检测、故障检测和诊断的预测模型。
- 量化金融和风险评估:有监督学习算法可用于信用评分、算法交易、股价预测和债券分类。
有监督学习的真实示例
电池荷电状态 (SOC) 是指电池相对于其容量的充电水平,以百分比表示。SOC 在许多应用中的估计必须准确,例如在电动汽车中。由于不断变化的工况和显著的器件差异性,即使使用同一制造商的电池,基于物理建模方法的锂离子 SOC 估计也非常复杂。
使用有监督学习创建一个用于 SOC 估计的预测模型是一种数据驱动方法,可以帮助应对上述挑战。该模型可以根据表示各种电池测量值(如电压、电流和温度)以及衍生特征(如平均电压和电流)的时间序列数据来预测车辆锂离子电池的荷电状态。了解有关此示例的更多信息。
在 Statistics and Machine Learning Toolbox 中使用高斯过程回归模型的真实和预测 SOC。(请参阅代码。)
使用 MATLAB 进行有监督学习
MATLAB® 使您能够应用有监督学习和构建预测模型。您可以使用 Statistics and Machine Learning Toolbox™ 和 Deep Learning Toolbox™ 训练、验证和调节有监督学习模型。您可以将机器学习和深度学习工具与其他 MATLAB 工具箱结合使用以执行行业特定工作流。使用内置函数和交互式 App,您可以处理和标注数据、训练模型、可视化模型性能以及调节超参数来提高模型性能。
数据准备
MATLAB 支持信号、视觉和文本数据。您可以在命令行中或以交互方式使用低代码 App 访问和探索数据:
- 选择 App 标注真实值数据,以验证或训练有监督学习算法,如图像分类器、目标检测器、语义分割网络和深度学习应用。
- 使用数据清洗器和数据预处理实时编辑器任务预处理数据。
在 MATLAB 中使用数据清洗器应用数据预处理步骤。(请参阅文档。)
分类学习器
回归学习器
使用深度网络设计器,您可以通过交互方式设计、分析和修改深度学习网络。您也可以加载预训练网络或从 PyTorch® 和 TensorFlow™ 导入网络。
在 MATLAB 中使用深度网络设计器设计深度神经网络。(请参阅文档。)
除了 AI 建模,您还可以使用试验管理器导入和管理多个机器学习和深度学习试验、跟踪训练参数、调整超参数、分析结果和比较不同试验的代码。
有监督学习和嵌入式 AI
使用 MATLAB 和 Simulink,您可以设计、仿真、测试、验证并部署基于有监督学习构建的 AI 模型,以提升复杂嵌入式系统的性能和功能。使用专用 Simulink 模块对 AI 模型与复杂系统的集成进行仿真和测试。自动生成针对部署到资源受限目标优化的代码。
资源
通过文档、示例、视频等拓展您的知识。
相关主题
探索 MATLAB 和 Simulink 产品常见的类似主题领域。
免费试用
立即开始选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)