术语表

功能工程

通过专业的特征工程提高机器学习的准确性。学习创建、转换和选择有影响力特征的技术。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

特征工程是从原始数据中选择、转换和创建特征(输入变量)以提高机器学习(ML)模型性能的关键过程。与其说它是一门严格的科学,不如说它是一门艺术,通常需要领域专业知识、直觉和实验。输入模型的特征的质量直接影响其学习模式和进行准确预测的能力,因此特征工程是成功的机器学习项目的基石。更好的特征可以使模型更简单、训练时间更快、准确性更高。

什么是功能工程?

特征工程的核心是将原始数据(通常是杂乱无章的数据)转化为算法能够理解并有效学习的结构化格式。这涉及到对数据、问题背景和所选 ML 模型的理解。我们的目标是制作出信息量大、具有区分度和独立性的输入特征,突出与预测任务相关的基本模式。这一过程在原始数据收集和模型训练之间架起了一座桥梁,对机器学习管道的结果产生了重大影响。

关键技术

特征工程中采用了多种技术,这些技术通常结合使用:

  • 功能创建:通过组合或转换现有特征生成新特征。例如,创建交互项(如两个变量相乘)、多项式特征或推导出特定领域的指标(如金融领域的债务收入比)。
  • 特征转换修改现有特征,以满足模型假设或提高性能。常见的方法包括缩放(如归一化)、倾斜数据的对数变换或将连续变量分门别类。在计算机视觉(CV)中,数据增强(Data Augmentation)等技术也可视为一种应用于图像数据的特征转换形式。
  • 特征提取从原始特征集合中创建更小的、信息量更大的新特征集合,通常用于降维主成分分析 (PCA)等技术就属于这一类。虽然与特征选择相关,但抽取创建的是特征,而选择则是从现有特征中挑选出一个子集。
  • 特征选择:从原始数据集中识别并选择最相关的特征,剔除不相关或多余的特征。这有助于降低模型的复杂性,防止过度拟合,并提高计算效率。方法包括从简单的相关分析到更复杂的包装和嵌入方法。

真实案例

特征工程在各种人工智能应用中无处不在:

  1. 预测性维护:要预测设备故障,原始传感器数据(温度、振动、压力)可能是嘈杂的高维数据。特征工程可以创建滚动平均值、时间窗口的标准偏差、振动数据的频率成分(使用傅立叶变换)或上次维护事件后的时间等特征。这些工程特征可为故障预测模型提供更清晰的信号。这对于制造领域的人工智能至关重要。
  2. 自然语言处理(NLP):对于情感分析等任务,需要对原始文本进行转换。特征工程可能包括创建TF(词频-反向文档频率)向量、字数、n-grams(词序列)、可读性评分,或提取特定的语言特征(如正/反义词的使用)。虽然现代转换器模型能自动学习表征,但明确的特征工程仍能提高性能,尤其是在较小的数据集或专门任务中。

功能工程与相关概念

  • 数据预处理这是一个更广泛的类别,包括特征工程、数据清理、处理缺失值和初始数据格式。特征工程尤其侧重于优化模型的输入变量。请参阅Ultralytics 注释数据预处理指南。
  • 深度学习中的特征提取 深度学习(DL)模型,尤其是CNN,可以自动从原始数据(如像素)中学习分层特征。这减少了对人工特征工程的需求,但并没有完全消除这种需求,因为预处理输入或为原始数据的元数据设计特征仍然是有益的。
  • 自动化机器学习(AutoML) Google AutoML等工具旨在自动化各种 ML 步骤,包括特征工程。然而,与纯粹的自动化方法相比,人的洞察力和领域知识往往能带来更有效的特征设计。

功能工程和Ultralytics

Ultralytics YOLO 等高级模型通过其深度神经网络架构(骨干、颈部、头部)自动学习相关的视觉特征,在物体检测图像分割等任务中表现出色,但特征工程原理仍然适用。例如,在将输入图像输入YOLO 模型之前对其进行预处理(如针对不同光照进行直方图均衡化、降噪),就是一种可以提高鲁棒性的特征工程。此外,YOLO 的输出(如边界框坐标、对象类别、计数)可被设计为下游任务的特征,或与其他数据源相结合,进行更复杂的分析。查看Ultralytics 文档,了解有关模型使用和定制的更多信息。

阅读全部