O que é o AutoML (machine learning automatizado)?
AutoML (aprendizado de máquina automatizado) automatiza o processo de aplicar o aprendizado de máquina a dados. Com um determinado conjunto de dados, você pode executar o AutoML para iterar em diferentes transformações de dados, algoritmos de aprendizado de máquina e hiperparâmetros para selecionar o melhor modelo.
Observação
Esse artigo refere-se à API ML.NET AutoML, que está atualmente em versão prévia. O material pode estar sujeito a alterações.
Como o AutoML funciona?
Em geral, o fluxo de trabalho para treinar modelos de machine learning é o seguinte:
- Definir um problema
- Coletar dados
- Pré-processar dados
- Treinar um modelo
- Avaliar o modelo
Pré-processamento, treinamento e avaliação fazem parte de um processo experimental e iterativo que requer várias avaliações até que você obtenha resultados satisfatórios. Como essas tarefas tendem a ser repetitivas, o AutoML pode ajudar a automatizar as etapas. Além da automação, técnicas de otimização são usadas durante o processo de treinamento e avaliação para localizar e selecionar algoritmos e hiperparâmetros.
Quando devo usar o AutoML?
Caso esteja recém começando a usar o aprendizado de máquina ou já seja um usuário experiente, o AutoML fornece soluções para automatizar o processo de desenvolvimento de modelos.
- Iniciantes – se você for iniciante no machine learning, o AutoML simplifica o processo de desenvolvimento de modelos ao fornecer um conjunto de padrões que reduz o número de decisões que você precisa tomar ao treinar seu modelo. Ao fazer isso, você pode se concentrar nos seus dados e no problema que está tentando resolver e deixar o AutoML fazer o resto.
- Usuários experientes – caso já tenha alguma experiência com o aprendizado de máquina, você poderá personalizar, configurar e estender os padrões fornecidos pelo AutoML com base em suas necessidades e ainda aproveitar seus recursos de automação.
AutoML no ML.NET
- Featurizer – API de conveniência para automatizar o pré-processamento de dados.
- Avaliação – uma única execução de otimização de hiperparâmetros.
- Experimento – Uma coleção de avaliações do AutoML. O ML.NET fornece uma API de alto nível para a criação de experimentos, o que define os padrões para os componentes individuais de Pipeline Limpável, Espaço de Pesquisa e Sintonizador.
- Espaço de Pesquisa – o intervalo de opções disponíveis para escolher hiperparâmetros.
- Sintonizador – os algoritmos usados para otimizar hiperparâmetros. O ML.NET dá suporte aos seguintes ajustes:
- Sintonizador de Custo Frugal – implementação da Otimização Frugal para Hiperparâmetros Relacionados ao Custo que leva em consideração o custo de treinamento
- Sintonizador de Custo Frugal Eci – implementação do Sintonizador de Custo Frugal para espaços de pesquisa hierárquicos. Sintonizador padrão usado pelo AutoML.
- SMAC – sintonizador que usa florestas aleatórias para aplicar a otimização Bayesiana.
- Pesquisa de Grade – sintonizador que funciona melhor para espaços de pesquisa pequenos.
- Pesquisa Aleatória
- Avaliador Limpável – um avaliador ML.NET que contém um espaço de pesquisa.
- Pipeline Limpável – um pipeline ML.NET que contém um ou mais Avaliadores Limpáveis.
- Executor de Avaliação – componente do AutoML que usa pipelines limpáveis e configurações de avaliação para gerar resultados de avaliação a partir do treinamento e da avaliação do modelo.
É recomendável que os iniciantes comecem com os padrões fornecidos pela API de experimento de alto nível. Para usuários mais experientes que procuram opções de personalização, use os componentes do avaliador limpável, o pipeline limpável, o espaço de pesquisa, o executor de avaliação e o sintonizador.
Para obter mais informações sobre como começar a usar a API do AutoML, confira o guia Como usar a API do ML.NET do AutoML (machine learning automatizado).
Tarefas com suporte
O AutoML fornece padrões pré-configurados para as seguintes tarefas:
- Classificação binária
- Classificação multiclasse
- Regressão
Para outras tarefas, você pode criar seu próprio executor de avaliação para habilitar esses cenários. Para obter mais informações, confira o guia Como usar a API do ML.NET do AutoML (machine learning automatizado).