Engenharia de atributos é uma etapa de pré-processamento em aprendizado de máquina supervisionado e modelagem estatística que transforma dados brutos em um conjunto mais eficaz de entradas. Cada entrada compreende vários atributos, conhecidos como atributos. Ao fornecer aos modelos informações relevantes, a engenharia de atributos melhora significativamente sua precisão preditiva e capacidade de tomada de decisão. Os princípios se estendem além do aprendizado de máquina para campos científicos como a física, onde números adimensionais como o número de Reynolds na dinâmica de fluidos, o número de Nusselt na transferência de calor e o número de Arquimedes na sedimentação são construídos, e soluções analíticas para resistência dos materiais são desenvolvidas como primeiras aproximações.
Aplicações em Agrupamento
A engenharia de atributos é amplamente utilizada para agrupar objetos-atributo ou objetos-amostra em conjuntos de dados. Métodos baseados em decomposição de matrizes, especialmente aqueles com restrições de não negatividade nos coeficientes dos atributos, são extensivamente aplicados. Estes incluem a Fatoração de Matrizes Não Negativa (NMF), a Fatoração de Matrizes Tripla Não Negativa (NMTF) e a Decomposição/Fatoração de Tensores Não Negativa (NTF/NTD). As restrições de não negatividade produzem representações baseadas em partes, e diferentes matrizes de fatores exibem propriedades naturais de agrupamento. Extensões incluem fatoração com restrição de ortogonalidade para agrupamento rígido e aprendizado de variedade para abordar problemas inerentes ao algoritmo.
Outras abordagens aproveitam estruturas ocultas comuns em múltiplos conjuntos de dados inter-relacionados para obter agrupamento por consenso. A Classificação Multi-visão baseada na Decomposição de Matriz de Consenso (MCMD) extrai um esquema de agrupamento comum entre conjuntos de dados, gera rótulos de classe invariantes e variantes à escala, é robusta a informações ausentes, pode detectar outliers baseados em forma e escala e lida eficazmente com dados de alta dimensionalidade. Decomposições acopladas de matrizes e tensores são populares na engenharia de atributos multi-visão.
Modelagem Preditiva
No aprendizado de máquina e na modelagem estatística, a engenharia de atributos envolve selecionar, criar, transformar e extrair atributos. Os componentes principais incluem a criação de atributos a partir de dados existentes, a transformação e imputação de atributos ausentes ou inválidos, a redução de dimensionalidade por meio de métodos como Análise de Componentes Principais (PCA), Análise de Componentes Independentes (ICA) e Análise Discriminante Linear (LDA), e a seleção de atributos relevantes com base em pontuações de importância e matrizes de correlação.
Os atributos variam em significância; mesmo atributos relativamente insignificantes podem contribuir para um modelo. A seleção de atributos pode reduzir o número de atributos para evitar o sobreajuste. A explosão de atributos ocorre quando o número de atributos identificados é grande demais para uma estimativa eficaz do modelo, frequentemente causada por modelos de atributos ou combinações de atributos que não podem ser representados por um sistema linear. Ela pode ser limitada por meio de regularização, métodos de kernel e seleção de atributos.
Modelos de Atributos
Modelos de atributos são especificações abstratas de atributos usados para popular automaticamente o conjunto de atributos a partir de cada instância no conjunto de treinamento e teste. Eles permitem a geração automática de um grande número de atributos específicos, reduzindo o esforço de codificação manual.
Automação
A automação da engenharia de atributos tem sido um tópico de pesquisa desde a década de 1990, com software comercial de aprendizado de máquina incorporando-a disponível desde 2016. A literatura acadêmica divide-se em dois tipos principais: Aprendizado de Árvore de Decisão Multi-relacional (MRDTL) e Síntese de Atributos Profundos.
Aprendizado de Árvore de Decisão Multi-relacional (MRDTL)
O MRDTL estende os métodos tradicionais de árvore de decisão para bancos de dados relacionais, lidando com relações de dados complexas entre tabelas. Ele usa grafos de seleção como nós de decisão, refinados sistematicamente até que um critério de término seja alcançado. A maioria das implementações é baseada em bancos de dados relacionais, levando a operações redundantes que podem ser reduzidas usando técnicas como propagação de id de tupla.
Implementações de Código Aberto
Várias bibliotecas de código aberto automatizam a engenharia de atributos em dados relacionais e séries temporais:
- featuretools: Biblioteca Python para transformar séries temporais e dados relacionais em matrizes de atributos.
- MCMD: Algoritmo de código aberto para agrupamento conjunto de múltiplos conjuntos de dados.
- OneBM (One-Button Machine): Combina transformações e seleção de atributos em dados relacionais, reduzindo o tempo de exploração de dados.
- getML community: Ferramenta C/C++ com interface Python, pelo menos 60 vezes mais rápida que tsflex, tsfresh, tsfel, featuretools ou kats.
- tsfresh: Biblioteca Python para extração de atributos de séries temporais, avaliando a qualidade dos atributos por meio de testes de hipóteses.
- tsflex: Biblioteca Python para atributos de séries temporais, mais rápida e eficiente em memória que tsfresh, seglearn ou tsfel.
- seglearn: Extensão para dados de séries temporais multivariados e sequenciais para o scikit-learn.
- tsfel: Pacote Python para extração de atributos de séries temporais.
- kats: Kit de ferramentas Python para análise de séries temporais.
Síntese de Atributos Profundos
O algoritmo de síntese de atributos profundos (DFS) venceu 615 de 906 equipes humanas em uma competição, demonstrando sua eficácia.
Armazenamentos de Atributos
Um armazenamento de atributos é um repositório central onde os atributos são armazenados e organizados com o propósito explícito de treinar modelos ou fazer previsões. Ele permite que cientistas de dados criem ou atualizem grupos de atributos, garantindo consistência e reutilização em diferentes modelos e aplicações.
Ver Também
- aprendizado de máquina
- inteligência artificial
- aprendizado profundo
- rede neural
- modelo de linguagem de grande escala
- transformador
- IA generativa
- OpenAI
- Anthropic
- Google DeepMind
- Amazon Web Services
- Azure
- Google Cloud
- Oracle Cloud
- CoreWeave
- Cerebras
- Groq
- SambaNova
- Graphcore
- Xerox PARC
- MIT CSAIL
- Stanford AI Lab
- Universidade de Toronto
- Universidade Carnegie Mellon
- Berkeley AI Research
- Universidade de Oxford
- Thomas Dietterich
- Michael Jordan
- Daphne Koller
- Anima Anandkumar
- Samy Bengio
- Joshua Tenenbaum
- Brendan Lake
- Melanie Mitchell
- Aaron Courville
- Aleksander Madry
- Alexei Efros
- Ali Rahimi
- Bernard Widrow
- Chris Bishop
- Christopher Bishop
- Craig Boutilier
- Elaine Rich
- Carlos Guestrin
- Daphne Leon
- David Ha
- David Winger
- Deepak Kumar
- Drew Puckett
- Eilon Reshef
- Freddie Sulit
- Jakob Uszkoreit
- Lukasz Kaiser
- Niki Parmar
- Barret Zoph
- Mark Chen
- Brad Lightcap
- Jacob Steinhardt
- David Kaplan
- Ryan Lowe
- Jack Clark
- Shan Carter
- David Luan
- Chen Wu
- Ashish Kumar
- Karen Simonyan
- Koray Kavukcuoglu
- Alan Perlis
- Andrew Lloyd Brown
- Ani Bhattacharya
- Anna Patterson
- Anna Ritter
- Anubhav Sinha
- Arakawa Ryota
- Arka Dutta
- Arthur Franz
- Ben Goertzel
- Brian Cheung
- Brian Christian
- Brian Lilly White
- Calvo Rafael
- Catherine Flick
- Chad Mirkin
- Chin Yen Chiu
- Craig Ku
- Dafna Sharon
- David Froitzheim
- David Martin
- Deepak Kumar
- Drew Puckett
- Elaine Rich
- Eilon Reshef