O que é o Automated Machine Learning (AutoML)?
O aprendizado de máquina automatizado (AutoML) automatiza o processo de aplicação do aprendizado de máquina aos dados. Dado um conjunto de dados, você pode executar o AutoML para iterar diferentes transformações de dados, algoritmos de aprendizado de máquina e hiperparâmetros para selecionar o melhor modelo.
Nota
Este artigo refere-se ao ML.NET AutoML API, que está atualmente em visualização. O material pode estar sujeito a alterações.
Como funciona o AutoML?
Em geral, o fluxo de trabalho para treinar modelos de aprendizado de máquina é o seguinte:
- Definir um problema
- Recolher dados
- Preparar dados para processamento
- Preparar um modelo
- Avaliar o modelo
O pré-processamento, o treinamento e a avaliação são um processo experimental e iterativo que requer várias tentativas até que você alcance resultados satisfatórios. Como essas tarefas tendem a ser repetitivas, o AutoML pode ajudar a automatizar essas etapas. Além da automação, técnicas de otimização são usadas durante o processo de treinamento e avaliação para encontrar e selecionar algoritmos e hiperparâmetros.
Quando devo usar o AutoML?
Se você está apenas começando com o aprendizado de máquina ou é um usuário experiente, o AutoML fornece soluções para automatizar o processo de desenvolvimento de modelos.
- Iniciantes - Se você é novo no aprendizado de máquina, o AutoML simplifica o processo de desenvolvimento do modelo, fornecendo 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 em seus dados e no problema que está tentando resolver e deixar o AutoML fazer o resto.
- Usuários experientes - Se você tiver alguma experiência com aprendizado de máquina, poderá personalizar, configurar e estender os padrões fornecidos pelo AutoML com base em suas necessidades, enquanto ainda aproveita seus recursos de automação.
AutoML em ML.NET
- Featurizer - API de conveniência para automatizar o pré-processamento de dados.
- Trial - Uma única execução de otimização de hyperparamters.
- Experimento - Uma coleção de testes AutoML. ML.NET fornece uma API de alto nível para a criação de experimentos que define padrões para os componentes individuais de Pipeline Varrível, Espaço de Pesquisa e Sintonizador.
- Espaço de pesquisa - A gama de opções disponíveis para escolher hiperparâmetros.
- Sintonizador - Os algoritmos usados para otimizar hiperparâmetros. ML.NET suporta os seguintes sintonizadores:
- Sintonizador Frugal de Custos - Implementação de Otimização Frugal para Hiperparâmetros Relacionados a Custos que leva em consideração o custo de treinamento
- Eci Cost Frugal Tuner - Implementação do Cost Frugal Tuner para espaços de pesquisa hierárquica. Sintonizador predefinido utilizado pelo AutoML.
- SMAC - Sintonizador que usa florestas aleatórias para aplicar a otimização bayesiana.
- Pesquisa em grelha - Sintonizador que funciona melhor para pequenos espaços de pesquisa.
- Pesquisa aleatória
- Estimador varrível - Um estimador de ML.NET que contém um espaço de pesquisa.
- Pipeline varrível - Um pipeline ML.NET que contém um ou mais estimadores varríveis.
- Trial Runner - componente AutoML que usa pipelines e configurações de avaliação varríveis para gerar resultados de teste a partir do treinamento e avaliação do modelo.
É recomendado para iniciantes começar 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 o estimador varrível, o pipeline varrível, o espaço de pesquisa, o executor de avaliação e os componentes do sintonizador.
Para obter mais informações sobre como começar a usar a API AutoML, consulte o guia Como usar a API do ML.NET Automated Machine Learning (AutoML).
Tarefas suportadas
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, consulte o guia Como usar a API do ML.NET Automated Machine Learning (AutoML).