术语表

功能工程

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

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

了解更多

特征工程是从原始数据中选择、转换和创建特征,使其更适合机器学习 (ML)模型的关键过程。它包括使用领域知识和数据分析技术来制作能更好地表示潜在问题的输入,最终提高模型的性能、准确性和可解释性。这就好比为食谱准备最好的食材;即使是最熟练的厨师(或模型),也会在劣质食材(训练数据)面前举步维艰。这一步骤通常被认为是人工智能工作流程中最关键、最耗时的部分之一。

功能工程为何重要?

从现实世界收集到的原始数据很少能直接用于 ML 算法。它可能包含缺失值、不一致性、不相关信息,或者是不适合模型使用的格式(如文本或分类数据)。特征工程可通过以下方式解决这些问题

  • 提高模型性能:精心设计的特征能突出与问题相关的模式,使模型更容易学习和归纳。
  • 降低复杂性:它可以通过提供更多的信息输入来简化模型,有时还能降低对高度复杂的物体检测架构或算法的需求。
  • 处理多种数据类型:它提供了将各种数据类型(文本、图像、分类)转换为算法可理解的数字表示的方法。如需进一步阅读,请探索数据预处理技术
  • 增强可解释性:有意义的特征有时会让人更容易理解模型为什么会做出某些预测,从而促进可解释人工智能(XAI)的发展。

常见的特征工程技术

有几种技术属于特征工程的范畴:

  • 估算:用估计值(如平均值、中位数或更复杂的方法)填补缺失数据,从而处理缺失数据。处理缺失数据是常见的第一步。
  • 缩放和归一化:调整数值特征的范围或分布(如最小-最大缩放、Z-分数归一化),以防止数值较大的特征在学习过程中占据主导地位。
  • 编码分类变量:将非数字数据(如 "红"、"绿"、"蓝 "等类别)转换为数字格式(如一热编码、标签编码)。参见分类数据编码
  • 特征创建(生成):根据领域知识或交互分析从现有特征中提取新特征(例如,从 "出生日期 "中创建 "年龄",将 "身高 "和 "体重 "合并为 "体重指数",或使用TF 提取文本特征)。
  • 分档(离散化):将连续的数字数据分成离散的小块或区间。
  • 对数变换:应用对数变换处理倾斜数据分布。探索数据变换,了解更多详情。
  • 特征选择:只识别和保留最相关的特征,剔除多余或不相关的特征,以简化模型并提高性能。这与降维密切相关。

特征工程与特征提取

虽然特征工程和特征提取经常被互换使用,但两者却有不同的细微差别。

  • 特征工程:这是一个更广泛的过程,包括特征提取,但也涉及手动创建新特征、根据领域专业知识转换现有特征以及选择最佳特征。这通常需要创造力以及对数据和问题的深刻理解。
  • 特征提取:具体侧重于将原始的、通常是高维的数据(如图像或原始传感器读数)自动转化为低维的、更易于管理的特征集。主成分分析 (PCA)卷积神经网络 (CNN)各层自动特征学习等技术都是特征提取的例子。

从本质上讲,特征提取通常是在更广泛的特征工程过程中使用的一种工具

实际应用

  1. 预测性维护:在制造业中,来自机器的原始传感器数据(振动、温度、压力)可能是嘈杂的高维数据。特征工程可能涉及计算滚动平均值、时间窗口的标准偏差、频域特征(如 FFT),或创建显示突然峰值或变化的特征。正如人工智能在制造业中的应用中所讨论的那样,这些工程化特征使 ML 模型更容易在潜在设备故障发生前对其进行预测。
  2. 客户流失预测:为了预测哪些客户可能会停止使用服务,原始数据包括使用日志、人口统计数据、支持票据历史记录和购买记录。特征工程可以创建 "平均会话持续时间"、"上次购买后的时间"、"上个月的支持票据数量"、"正面反馈与负面反馈的比率 "或 "客户终身价值 "等特征。与原始日志相比,这些衍生特征为预测客户流失提供了更丰富的信号。这与金融和零售领域的人工智能息息相关。

功能工程和Ultralytics

虽然先进的模型,如 Ultralytics YOLO等先进模型通过其深度神经网络架构(骨干、颈部、头部)自动学习相关的视觉特征,在物体检测图像分割等任务中表现出色,但特征工程原理依然适用。例如,在将输入图像输入YOLO 模型之前对其进行预处理(例如,针对不同光照进行直方图均衡化处理,使用OpenCV 等库进行降噪处理,或针对问题领域应用特定的数据增强技术)就是一种特征工程,可以提高鲁棒性和模型性能。此外,YOLO 的输出(如边界框坐标、对象类别、计数)可被设计为下游任务的特征,或与其他数据源相结合进行更复杂的分析,或许可在Ultralytics HUB等平台上进行管理,帮助组织数据集和模型。请浏览Ultralytics 文档教程,了解有关模型使用、自定义训练注释数据预处理的更多信息。Featuretools等工具还可以帮助实现部分特征工程流程的自动化,与自动化机器学习(AutoML)的概念相一致。即使与强大的深度学习模型一起使用,有效的特征工程仍然是成功的MLOps实践的一个关键方面。

阅读全部