Abordagens ao aprender com grandes conjuntos de dados?


10

Basicamente, existem duas maneiras comuns de aprender com grandes conjuntos de dados (quando você se depara com restrições de tempo / espaço):

  1. Trapaça :) - use apenas um subconjunto "gerenciável" para treinamento. A perda de precisão pode ser insignificante por causa da lei dos retornos decrescentes - o desempenho preditivo do modelo geralmente diminui muito antes de todos os dados de treinamento serem incorporados a ele.
  2. Computação paralela - divida o problema em partes menores e resolva cada uma em uma máquina / processador separado. Porém, você precisa de uma versão paralela do algoritmo, mas a boa notícia é que muitos algoritmos comuns são naturalmente paralelos: vizinho mais próximo, árvores de decisão etc.

Existem outros métodos? Existe alguma regra prática quando usar cada uma? Quais são as desvantagens de cada abordagem?

Respostas:


10

Stream Mining é uma resposta. Também é chamado:


concordou, a caixa de ferramentas MOA seria um bom lugar para começar
tdc

7

Em vez de usar apenas um subconjunto, você pode usar vários subconjuntos como no aprendizado em mini-lotes (por exemplo, descida estocástica do gradiente). Dessa forma, você ainda utilizaria todos os seus dados.


Ah, esse é um bom argumento - esclarei a pergunta. Estou interessado em um cenário em que você se depara com restrições de tempo / espaço e "não pode pagar" o aprendizado em mini-lotes.
22712 Andreisterister

1

Conjuntos como ensacamento ou mistura - nenhum dado é desperdiçado, o problema automaticamente se torna trivialmente paralelo e pode haver ganhos significativos de precisão / robustez.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.