Glossário

Engenharia de recursos

Aumenta a precisão da aprendizagem automática com engenharia especializada de caraterísticas. Aprende técnicas para criar, transformar e selecionar caraterísticas com impacto.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

A engenharia de caraterísticas é o processo crítico de seleção, transformação e criação de caraterísticas (variáveis de entrada) a partir de dados em bruto para melhorar o desempenho dos modelos de aprendizagem automática (ML). É considerado mais uma arte do que uma ciência rigorosa, exigindo frequentemente conhecimentos especializados, intuição e experimentação. A qualidade das caraterísticas introduzidas num modelo tem um impacto direto na sua capacidade de aprender padrões e fazer previsões exactas, tornando a engenharia de caraterísticas uma pedra angular de projectos de aprendizagem automática bem sucedidos. Melhores caraterísticas podem levar a modelos mais simples, tempos de treino mais rápidos e maior precisão.

O que é a Engenharia de Funcionalidades?

Na sua essência, a engenharia de caraterísticas traduz dados brutos, muitas vezes confusos, num formato estruturado que os algoritmos podem compreender e com o qual podem aprender eficazmente. Isto implica compreender os dados, o contexto do problema e o modelo de ML escolhido. O objetivo é criar caraterísticas de entrada que sejam informativas, discriminatórias e independentes, realçando os padrões subjacentes relevantes para a tarefa de previsão. Este processo preenche a lacuna entre a recolha de dados em bruto e a formação do modelo, influenciando significativamente o resultado do pipeline de aprendizagem automática.

Técnicas fundamentais

São empregues várias técnicas na engenharia de caraterísticas, muitas vezes utilizadas em combinação:

  • Criação de caraterísticas: Gera novas caraterísticas combinando ou transformando as existentes. Os exemplos incluem a criação de termos de interação (por exemplo, multiplicar duas variáveis), caraterísticas polinomiais ou derivar métricas específicas do domínio (como o rácio dívida/rendimento em finanças).
  • Transformação de elementos: Modifica as caraterísticas existentes para cumprir os pressupostos do modelo ou melhorar o desempenho. Os métodos comuns incluem o escalonamento (como a normalização), a transformação de log para dados enviesados ou o agrupamento de variáveis contínuas em categorias. Na visão computacional (CV), técnicas como o aumento de dados também podem ser vistas como uma forma de transformação de caraterísticas aplicada a dados de imagem.
  • Extração de caraterísticas: Cria um conjunto mais pequeno de caraterísticas novas e mais informativas a partir do conjunto original, frequentemente utilizado para redução da dimensionalidade. Técnicas como a análise de componentes principais (PCA) inserem-se nesta categoria. Embora relacionada com a seleção de caraterísticas, a extração cria novas caraterísticas, enquanto a seleção escolhe um subconjunto de caraterísticas existentes.
  • Seleção de caraterísticas: Identifica e seleciona as caraterísticas mais relevantes do conjunto de dados original, descartando as irrelevantes ou redundantes. Isto ajuda a reduzir a complexidade do modelo, a evitar o sobreajuste e a melhorar a eficiência computacional. Os métodos variam desde a simples análise de correlação até aos métodos mais complexos de encapsulamento e incorporação.

Exemplos do mundo real

A engenharia de caraterísticas é omnipresente em várias aplicações de IA:

  1. Manutenção preditiva: Para prever a falha do equipamento, os dados brutos do sensor (temperatura, vibração, pressão) podem ser ruidosos e altamente dimensionais. A engenharia de caraterísticas pode envolver a criação de caraterísticas como médias móveis, desvios padrão em janelas de tempo, componentes de frequência de dados de vibração (utilizando transformadas de Fourier) ou tempo desde o último evento de manutenção. Estas caraterísticas criadas fornecem sinais mais claros para os modelos de previsão de falhas. Isto é crucial na IA na indústria transformadora.
  2. Processamento de linguagem natural (PNL): Para tarefas como a análise de sentimentos, o texto em bruto precisa de ser transformado. A engenharia de caraterísticas pode envolver a criação de vectores TF(Term Frequency-Inverse Document Frequency), contagens de palavras, n-gramas (sequências de palavras), pontuações de legibilidade ou a extração de caraterísticas linguísticas específicas (por exemplo, utilização de palavras positivas/negativas). Embora os modelos de transformação modernos aprendam representações automaticamente, a engenharia de caraterísticas explícita pode ainda melhorar o desempenho, especialmente com conjuntos de dados mais pequenos ou tarefas especializadas.

Engenharia de caraterísticas vs. conceitos relacionados

  • Pré-processamento de dados: Uma categoria mais ampla que inclui engenharia de caraterísticas, limpeza de dados, tratamento de valores em falta e formatação inicial de dados. A engenharia de caraterísticas centra-se especificamente na otimização das variáveis de entrada para o modelo. Consulta o guia Ultralytics sobre Pré-processamento de dados anotados.
  • Extração de caraterísticas na aprendizagem profunda: Os modelos de Deep Learning (DL), especialmente CNNs, aprendem automaticamente caraterísticas hierárquicas a partir de dados brutos (como pixels). Isto reduz a necessidade de engenharia manual de caraterísticas, mas não a elimina totalmente, uma vez que as entradas de pré-processamento ou as caraterísticas de engenharia para metadados juntamente com os dados primários ainda podem ser benéficas.
  • Aprendizagem automática de máquinas (AutoML): Ferramentas como o Google Cloud AutoML têm como objetivo automatizar várias etapas de ML, incluindo a engenharia de caraterísticas. No entanto, a perceção humana e o conhecimento do domínio conduzem frequentemente a uma conceção de caraterísticas mais eficaz do que as abordagens puramente automatizadas.

Engenharia de recursos e Ultralytics

Embora os modelos avançados como o Ultralytics YOLO sejam excelentes em tarefas como a deteção de objectos e a segmentação de imagens, aprendendo automaticamente caraterísticas visuais relevantes através das suas arquitecturas de redes neurais profundas(espinha dorsal, pescoço, cabeça), os princípios da engenharia de caraterísticas continuam a ser relevantes. Por exemplo, o pré-processamento de imagens de entrada (por exemplo, equalização do histograma para iluminação variável, redução de ruído) antes de as alimentar num modelo YOLO é uma forma de engenharia de caraterísticas que pode melhorar a robustez. Além disso, os resultados do YOLO (como coordenadas de caixas delimitadoras, classes de objectos, contagens) podem ser transformados em caraterísticas para tarefas a jusante ou combinados com outras fontes de dados para análises mais complexas, talvez geridas em plataformas como o Ultralytics HUB, que ajuda a organizar conjuntos de dados e modelos. Explora a documentaçãoUltralytics para saber mais sobre a utilização e personalização de modelos.

Lê tudo