Big Data e Ciência de Dados são conceitos que frequentemente estão juntos. A esperança é que a Ciência de Dados possa ajudar a extrair insights de grandes quantidades de dados e extrair informações valiosas de todos esses terabytes de informação. De fato, pode!
No entanto, em um cenário prático, você poderá ter dados limitados para resolver um problema. Reunir um grande conjunto de dados pode ser proibitivamente caro ou simplesmente impossível (por exemplo, ter apenas registros de um determinado período de tempo ao fazer uma análise de séries temporais). Como resultado, geralmente não há escolha a não ser trabalhar com um pequeno conjunto de dados, tentando obter previsões o mais precisas possível.
Neste artigo, abordaremos brevemente os problemas que surgem ao trabalhar com um pequeno conjunto de dados. Em seguida, discutiremos as técnicas mais eficazes para superar esses problemas.
Tradeoff Bias-Variance
Em poucas palavras, quando você está procurando um modelo perfeito para explicar seus dados, está buscando equilíbrio entre o viés (bias) e variância (variance).
Viés é a diferença entre a previsão do modelo e o valor real. Modelos com viés alto simplificam demais o relacionamento entre preditores e uma variável de destino e demonstram alto erro nos dados de treinamento e teste.
A variância reflete a variabilidade da previsão do modelo. Modelos com alta variância prestam muita atenção aos dados de treinamento e não generalizam bem para um conjunto de dados de teste. Como resultado, esses modelos mostram um erro muito baixo em um conjunto de treinamento e um erro muito alto em um conjunto de teste.
Modelos com viés baixo e alta variância sobreajustam os dados (overfitting), enquanto modelos com viés alto e baixa variância subajustam os dados (underfitting). O ideal é buscar o equilíbrio, um dos principais desafios do Cientista de Dados.
Os modelos treinados em um pequeno conjunto de dados têm mais probabilidade de ver padrões que não existem, o que resulta em alta variância e erro muito alto em um conjunto de testes. Estes são os sinais comuns de sobreajuste. Portanto, seu principal objetivo ao trabalhar com pequenos conjuntos de dados é evitar o ajuste excessivo.
Como você faz isso?
Técnicas para superar o excesso de ajuste com pequenos conjuntos de dados
Agora discutiremos as sete técnicas mais úteis para evitar ajustes excessivos ao trabalhar com pequenos conjuntos de dados.
1. Escolha um Modelo Simples.
Modelos complexos com muitos parâmetros são mais propensos a sobreajuste.
Se você estiver treinando um classificador, considere começar com a regressão logística. Se você estiver treinando um modelo para prever um determinado valor, considere um modelo linear simples com um número limitado de pesos.
Para modelos baseados em árvore, limite a profundidade máxima.
Use técnicas de regularização para manter um modelo mais conservador.
Com dados escassos, seu objetivo é limitar a capacidade do modelo de ver padrões e relacionamentos inexistentes. Isso significa que você deseja limitar o número de pesos e parâmetros e descartar todos os modelos que impliquem não linearidade ou interações de recursos. Observe também que, de acordo com a pesquisa, alguns classificadores podem ser melhores para lidar com pequenos conjuntos de dados.
2. Remova os Valores Discrepantes dos Dados.
Ao usar um pequeno conjunto de dados, os valores discrepantes podem ter um enorme impacto no modelo. Portanto, ao trabalhar com dados escassos, você precisará identificar e remover discrepâncias (outliers). Outra abordagem pode ser o uso de técnicas robustas para valores extremos, como a regressão quantílica. A remoção do impacto de outliers é essencial para obter um modelo equilibrado com um pequeno conjunto de dados.
3. Selecione Recursos Relevantes.
Geralmente, a seleção explícita de recursos não é a melhor abordagem, mas quando os dados são limitados, isso pode ser uma etapa essencial. É difícil evitar ajustes excessivos com um pequeno número de observações e um grande número de preditores. Existem várias abordagens para a seleção de recursos, incluindo análise de correlação com uma variável de destino, análise de importância e eliminação recursiva. Também é importante notar que a seleção de recursos sempre se beneficiará da experiência na área de negócio. Portanto, se você não estiver familiarizado com a área de onde os dados foram extraídos, procure um especialista para discutir o processo de seleção de recursos.
4. Combine Vários Modelos.
Quando você combina resultados de mais de um modelo, pode obter previsões muito mais precisas. Por exemplo, uma previsão final calculada como uma média ponderada das previsões de vários modelos individuais terá uma variação significativamente menor e uma generalização aprimorada em comparação com as previsões de cada modelo individual. Além disso, você pode combinar previsões de modelos diferentes ou do mesmo modelo usando valores diferentes de hiperparâmetros.
5. Confie em Intervalos de Confiança em vez de Estimativas Pontuais.
Geralmente, é uma boa ideia estimar intervalos de confiança para sua previsão, além da própria previsão. Isso se torna especialmente importante quando você trabalha com um pequeno conjunto de dados. Portanto, na análise de regressão, calcule um intervalo de confiança de 95%. Se você estiver resolvendo um problema de classificação, calcule as probabilidades de suas previsões de classe. Quando você entende melhor o quão “confiante” seu modelo é sobre suas previsões, é menos provável que você chegue a conclusões erradas com base nos resultados do modelo.
6. Estenda o Conjunto de Dados.
Quando os dados são realmente escassos ou o conjunto de dados está fortemente desequilibrado, procure maneiras de estender o conjunto de dados. Por exemplo, você pode:
Usar amostras sintéticas. Essa é uma abordagem comum para abordar a sub-representação de determinadas classes em um conjunto de dados. Existem várias abordagens para aumentar um conjunto de dados com amostras sintéticas. Escolha uma que melhor se adapte à sua tarefa específica.
Agrupar dados de outras fontes possíveis. Por exemplo, se você estiver modelando a temperatura em uma região específica, use também informações meteorológicas de outras regiões, mas atribua um peso maior aos pontos de dados da sua região de interesse.
7. Aplique Transfer Learning Quando Possível.
Essa abordagem também é um tipo de extensão de dados. A transferência de aprendizado (Transfer Learning) implica treinar um modelo universal em grandes conjuntos de dados disponíveis e ajustá-lo em seu pequeno conjunto de dados. Por exemplo, se você estiver trabalhando em um problema de classificação de imagem, poderá usar um modelo pré-treinado no ImageNet, um grande conjunto de dados de imagem e ajustá-lo para o seu problema específico. Modelos pré-treinados têm maior probabilidade de produzir previsões precisas do que modelos treinados do zero usando dados limitados. A transferência de aprendizado funciona particularmente bem com técnicas flexíveis de aprendizado profundo (Deep Learning).
Conclusão
Pequenos conjuntos de dados são apenas mais um desafio que você pode superar!
Muitos pesquisadores e profissionais acreditam que conjuntos de dados pequenos são o futuro da Ciência de Dados. Não é viável ter conjuntos de dados enormes para todo tipo de problema. Siga estas diretrizes para superar os desafios de um pequeno conjunto de dados:
Entenda o básico das estatísticas para saber que tipo de problemas você pode esperar ao lidar com um pequeno número de observações.
Aprenda as principais estratégias para evitar ajustes excessivos e obtenha resultados precisos com pequenos conjuntos de dados.
Realize todas as etapas de limpeza e análise de dados com eficiência (por exemplo, usando o Tidyverse na linguagem R ou ferramentas Python para Ciência de Dados).
Esteja ciente das limitações do modelo ao tirar conclusões de suas previsões.
Baseado no artigo em inglês: 7 Effective Ways to Deal With a Small Dataset
David Matos
Outras Referências:
Machine Learning com R e Python
Análise Estatística Para Data Science
Understanding the Bias-Variance Tradeoff
Learning from Little: Comparison of Classifiers Given Little Training