O que é o AutoML (Machine Learning Automatizado)?
O AutoML (machine learning automatizado) 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 em diferentes transformações de dados, algoritmos de aprendizado de máquina e hiperparâmetros para selecionar o melhor modelo.
Nota
Este artigo refere-se à API ML.NET AutoML, que está atualmente em versão prévia. O material está sujeito a alterações.
Como funciona o AutoML?
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 são 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 essas etapas. Além da automação, as 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?
Se você está apenas começando a usar o aprendizado de máquina ou se é um usuário experiente, o AutoML fornece soluções para automatizar o processo de desenvolvimento de modelos.
- Iniciantes – Se você não estiver familiarizado com o aprendizado de máquina, o AutoML simplifica o processo de desenvolvimento de modelos 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, aproveitando ainda 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.
- Experiment – uma coleção de avaliações de 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 – intervalo de opções disponíveis para a escolha de hiperparâmetros.
- Tuner – Os algoritmos usados para otimizar hiperparâmetros. ML.NET dá suporte aos seguintes sintonizadores:
- 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 – Tuner 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 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 ML.NET de Machine Learning Automatizado (AutoML), consulte o guia Como usar a API de AutoML.
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, consulte o guia Como usar a API de Aprendizado de Máquina Automatizado (AutoML) do ML.NET.