Estou prestes a me formar no meu mestre e aprendi sobre aprendizado de máquina, além de ter realizado projetos de pesquisa com ele. Eu me pergunto sobre as melhores práticas do setor ao executar tarefas de aprendizado de máquina com grandes conjuntos de dados (como 100s GB ou TB). Avalie se outros cientistas de dados podem compartilhar sua experiência. Aqui estão as minhas perguntas:
- Obviamente, conjuntos de dados muito grandes levam mais tempo para treinar (pode levar dias ou semanas). Muitas vezes, precisamos treinar vários modelos (SVM, Rede Neural etc.) para comparar e encontrar um melhor modelo de desempenho. Suspeito que, em projetos do setor, queremos os resultados o mais rápido possível, mas produzimos o melhor desempenho. Existem dicas para reduzir o tempo de treinamento e teste? Se você recomendar o subconjunto do conjunto de dados, estarei interessado em aprender a melhor forma de subconjunto do conjunto de dados para cobrir todos ou a maioria dos cenários do conjunto de dados.
- Sabemos que executar a validação cruzada é melhor, pois pode reduzir o ajuste excessivo. No entanto, a validação cruzada também leva tempo para treinar e o modelo treinado com validação cruzada pode não ser implementado diretamente (falando da experiência do python sklearn: preciso treinar o modelo com o conjunto de dados novamente após o teste de validação cruzada para sua implementação). Você normalmente faz a validação cruzada em seus projetos de big data ou se dá bem com a divisão de teste de trem?
Aprecie o feedback.
A questão é: quantos dados são necessários para saturar seu modelo? Para determinar isso, você pode plotar curvas de aprendizado com quantidades variáveis de dados, talvez aumentando / diminuindo de tamanho por um fator constante. Se o treinamento em todos os dados não for possível, a curva de aprendizado pode ajudá-lo a fazer uma troca informada.
A saturação do modelo também entra em jogo com a validação cruzada. Se você não estiver perto da saturação, o uso de um pequeno número de dobras fornecerá números de desempenho pessimistas, pois você estará treinando seu modelo com menos dados do que ele pode usar.
Por fim e vice-versa, você pode usar um modelo mais complexo em vez de "redimensionar" os dados para se adequar ao modelo.
Bem-vindo ao DataScience.SE.
fonte