Como planejar e executar experimentos de aprendizado de máquina sistematicamente

Como planejar e executar experimentos de aprendizado de máquina sistematicamente

Os experimentos de aprendizado de máquina podem levar muito tempo. Horas, dias e até semanas em alguns casos.

Isso lhe dá muito tempo para pensar e planejar experimentos adicionais a serem realizados.

Além disso, o projeto médio de aprendizado de máquina aplicado pode exigir dezenas a centenas de experimentos discretos para encontrar um modelo de preparação de dados e configuração de modelo que forneça um desempenho bom ou ótimo.

A natureza extensa dos experimentos significa que você precisa planejar e gerenciar cuidadosamente a ordem e o tipo de experimentos que executa.

Você precisa ser sistemático.

Nesta postagem, você descobrirá uma abordagem simples para planejar e gerenciar seus experimentos de aprendizado de máquina.

Com essa abordagem, você será capaz de:

  • Fique por dentro das questões e descobertas mais importantes do seu projeto.
  • Acompanhe os experimentos que você concluiu e gostaria de executar.
  • Amplie as preparações de dados, modelos e configurações de modelo que oferecem o melhor desempenho.

Vamos mergulhar.

Como planejar e executar experimentos de aprendizado de máquina sistematicamente

Como planejar e executar experimentos de aprendizado de máquina sistematicamente
Foto de Qfamily, alguns direitos reservados.

Confusão de Centenas de Experimentos

Gosto de fazer experiências durante a noite. Muitos experimentos.

Isso é para que, quando eu acordar, eu possa verificar os resultados, atualizar minhas idéias sobre o que está funcionando (e o que não está) e dar início à próxima rodada de experimentos, e então passar algum tempo analisando as descobertas.

Eu odeio perder tempo.

E odeio fazer experimentos que não me aproximem do objetivo de encontrar o modelo mais hábil, dado o tempo e os recursos que tenho disponíveis.

É fácil perder o controle de onde você está fazendo. Especialmente depois de ter resultados, análises e descobertas de centenas de experimentos.

O gerenciamento inadequado de seus experimentos pode levar a situações ruins em que:

  • Você está assistindo experimentos em execução.
  • Você está tentando ter boas ideias de experimentos para executar logo após a conclusão de um lote atual.
  • Você executa uma experiência que já havia executado antes.

Você nunca quer estar em nenhuma dessas situações!

Se você está no topo do seu jogo, então:

  • Você sabe exatamente quais experimentos executou e quais foram as descobertas.
  • Você tem uma longa lista de experimentos para realizar, ordenados pelo retorno esperado.
  • Você tem tempo para mergulhar na análise dos resultados e pensar em novas e incríveis ideias para experimentar.

Mas como podemos manter o controle de centenas de experimentos?

Projete e execute experimentos sistematicamente

Uma maneira que descobri de me ajudar a ser sistemático com os experimentos em um projeto é usar uma planilha.

Gerencie os experimentos que você fez, que estão em execução e que deseja executar em uma planilha.

É simples e efetivo.

Simples

É simples porque eu ou qualquer pessoa pode acessá-lo de qualquer lugar e ver onde estamos.

Eu uso o Google Docs para hospedar a planilha.

Não há código. Sem caderno. Nenhum aplicativo da web sofisticado.

Apenas uma planilha.

Eficaz

É eficaz porque contém apenas as informações necessárias com uma linha por experimento e uma coluna para cada informação a ser rastreada no experimento.

As experiências realizadas podem ser separadas das planejadas.

Apenas os experimentos planejados são configurados e executados e sua ordem garante que os experimentos mais importantes sejam executados primeiro.

Você ficará surpreso com o quanto uma abordagem tão simples pode liberar seu tempo e fazer você pensar profundamente sobre seu projeto.

Folha de cálculo de exemplo

Vejamos um exemplo.

Podemos imaginar uma planilha com as colunas abaixo.

Estes são apenas um exemplo do último projeto em que trabalhei. Eu recomendo adaptá-los às suas necessidades.

  • Subprojeto: Um subprojeto pode ser um grupo de ideias que você está explorando, uma técnica, uma preparação de dados e assim por diante.
  • Contexto: O contexto pode ser o objetivo específico, como superar uma linha de base, ajuste, um diagnóstico e assim por diante.
  • Configurar: A configuração é a configuração fixa do experimento.
  • Nome: O nome é o identificador exclusivo, talvez o nome do arquivo do script.
  • Parâmetro: O parâmetro é a coisa que está sendo variada ou observada no experimento.
  • Valores: O valor é o valor ou valores do parâmetro que estão sendo explorados no experimento.
  • Status: O status é o status do experimento, como planejado, em execução ou concluído.
  • Habilidade: A habilidade é a métrica da Estrela do Norte que realmente importa no projeto, como precisão ou erro.
  • Pergunta: A questão é a questão motivadora que o experimento busca abordar.
  • Encontrando: A descoberta é o resumo de uma linha do resultado do experimento, a resposta à pergunta.

Para tornar isso concreto, abaixo está uma captura de tela de uma planilha do Google Doc com esses títulos de coluna e um exemplo inventado.

Registro Experimental Sistemático

Registro Experimental Sistemático

Não posso dizer quanto tempo essa abordagem me economizou. E o número de suposições de que ela se mostrou errada na busca pelos melhores resultados.

Na verdade, descobri que os métodos de aprendizado profundo costumam ser bastante hostis a suposições e padrões. Lembre-se disso ao projetar experimentos!

Obtenha o máximo de seus experimentos

Abaixo estão algumas dicas que o ajudarão a obter o máximo dessa abordagem simples em seu projeto.

  • chuva de ideias: Reserve um tempo para revisar as descobertas com frequência e relacionar novas perguntas e experimentos para respondê-las.
  • Desafio: Desafie as suposições e as descobertas anteriores. Jogue o cientista e projete experimentos que falsificariam suas descobertas ou expectativas.
  • Subprojetos: Considere o uso de subprojetos para estruturar sua investigação, seguindo pistas ou investigando métodos específicos.
  • Ordem Experimental: Use a ordem das linhas como uma prioridade para garantir que os experimentos mais importantes sejam executados primeiro.
  • Análise Mais Profunda: Salve análises mais profundas de resultados e descobertas agregadas em outro documento; a planilha não é o lugar.
  • Tipos de experimento: Não tenha medo de misturar diferentes tipos de experimentos, como pesquisa de grade, verificações pontuais e diagnósticos de modelo.

Você saberá que esta abordagem está funcionando bem quando:

  • Você está vasculhando a documentação e os papéis da API em busca de mais ideias do que tentar.
  • Você tem muito mais experimentos enfileirados do que recursos para executá-los.
  • Você está pensando seriamente em contratar mais uma tonelada de instâncias de EC2.

Resumo

Nesta postagem, você descobriu como pode gerenciar com eficácia centenas de experimentos que foram executados, estão em execução e que deseja executar em uma planilha.

Você descobriu que uma planilha simples pode ajudá-lo:

  • Acompanhe os experimentos que você realizou e o que descobriu.
  • Acompanhe os experimentos que deseja realizar e as perguntas que eles responderão.
  • Amplie a preparação de dados, o modelo e a configuração de modelo mais eficazes para seu problema de modelagem preditiva.

Você tem alguma dúvida sobre essa abordagem? Você já fez algo semelhante?
Deixe-me saber nos comentários abaixo.

Você também pode estar interessado em