通过Ultralytics YOLO11 探索机器学习中特征提取的强大功能。学习高效检测和分析技术。
特征提取是机器学习(ML)和计算机视觉(CV)中的一个重要过程,是将原始数据(通常是复杂数据)转换为算法可以有效处理的格式的关键步骤。它包括将图像、音频或文本等非结构化或高维数据转换为一组结构化的数字特征,通常用特征向量表示。这些特征旨在捕捉原始数据的基本特征,同时剔除噪音和冗余。其主要目标包括通过降维降低数据复杂性,突出相关模式,并使数据更适合 ML 模型。这通常会提高模型的准确性,加快模型的训练速度,并对未见过的数据进行更好的泛化。
特征提取的具体技术在很大程度上取决于正在处理的数据类型。
图像数据:在传统的计算机视觉中,检测边缘、角落、纹理(使用Gabor 滤波器等技术)或颜色直方图等特定特征的方法涉及手动设计算法。OpenCV等库提供了许多实现这些经典技术的工具(OpenCV 官方网站)。然而,在现代深度学习(DL)中,尤其是在卷积神经网络(CNN)中使用的模型,如 Ultralytics YOLO等模型中使用的卷积神经网络(CNN),特征提取通常是自动学习的。网络的卷积层会对输入图像进行滤波,生成特征图,分层捕捉越来越复杂的模式--从早期层中的简单线条和纹理,到较深层中的物体部分和整个物体。您可以探索应用这种方法的各种计算机视觉任务。
文本数据:对于自然语言处理(NLP)任务,特征提取可能涉及计算词频-反向文档频率TF)等方法来表示单词的重要性,或使用 Word2Vec 或 GloVe 等模型生成单词嵌入。这些嵌入是捕捉词与词之间语义关系的密集向量。BERT和Transformers等更先进的模型可直接从文本中学习上下文表征。
通用技术: 主成分分析(PCA)和t 分布随机邻域嵌入(t-SNE)等方法是适用于各种数据类型的通用降维技术。它们将高维数据转换到低维空间,同时保留重要的方差或邻域结构,这可以被视为一种特征提取。Scikit-learn 提供了这些技术的实现方法。
特征提取常常与特征工程相混淆,但两者是截然不同的概念。
虽然深度学习模型可以自动完成图像识别和物体检测等任务的大部分特征提取过程,但特征工程原理(如适当的数据增强或输入规范化)对于实现最佳性能仍然至关重要。
特征提取是无数人工智能和 ML 应用的基础:
医学图像分析:在分析 X 光、CT 或 MRI 等医学扫描图像以检测癌症等疾病时,需要从图像中提取特定的特征。这些特征可能包括组织内的纹理模式、潜在异常的形状和大小(如脑肿瘤数据集中发现的肿瘤)或强度变化。然后将这些提取的特征输入分类器(如SVM或神经网络),以预测疾病的存在或阶段。这有助于放射科医生进行诊断,如《放射学》等出版物所述:人工智能》等出版物中的论述。现代系统可能使用 Ultralytics YOLO11该技术可为医学图像分析等任务隐式提取特征。
情感分析:要确定客户评论或社交媒体帖子等文本数据中表达的情感(正面、负面、中性),必须从原始文本中提取特征。这可能需要计算正面和负面词语的频率(词袋),使用TF 分数,或使用预先训练好的语言模型生成复杂的句子嵌入,如通过以下工具提供的模型 Hugging Face.这些特征量化了文本的情感基调,使 ML 模型能够对整体情感进行分类,这对理解客户反馈至关重要。
最先进的物体检测模型,如 Ultralytics YOLOv8和YOLO11 在其神经网络 (NN)架构中隐含地执行特征提取。初始层(通常是骨干层的一部分)是功能强大的学习型特征提取器。当输入数据通过这些层时,分层特征会被自动识别并表示在特征图中。虽然这一过程在很大程度上是自动化的,但了解特征提取有助于设计有效的数据预处理步骤、执行超参数调整和解释模型行为,并有可能使用Ultralytics 文档中提供的工具或Ultralytics HUB等平台来管理数据集和实验。这些技术还可用于物体追踪等下游任务,在这些任务中,可能会提取外观特征,以保持跨帧的物体特征。框架如 PyTorch和 TensorFlow等框架提供了构建和训练这些模型的基础架构。