Quais classificadores de aprendizado de máquina são os mais paralelizáveis?

10

Quais classificadores de aprendizado de máquina são os mais paralelizáveis? Se você tivesse um problema de classificação difícil, tempo limitado, mas uma LAN decente de computadores para trabalhar, com quais classificadores você tentaria?

Por um lado, parece-me com alguns classificadores padrão que eu conheço da pilha acima, mas posso estar totalmente errado:

Florestas aleatórias - Muito paralelizáveis, desde que cada máquina possa armazenar todos os dados (por exemplo, não é possível dividir os dados de treinamento por si só, mas de outra forma paralelizáveis).

Impulsionar -?

Máquina de vetores de suporte - Não é muito paralelizável.

Árvores de decisão - podem ser divididas em parte, mas não com muita eficiência.

John Robertson
fonte
Esta postagem precisa de uma atualização. Atualmente, os DNNs são os algoritmos que mais se beneficiam da computação paralela. e impulsionar dificilmente são paralelizáveis.
TNM 30/01

Respostas:

11

Houve esforços para paralelizar a maioria dos classificadores conhecidos, incluindo impulsionar [ um artigo ], SVM [ um artigo ] e até mesmo árvores de decisão [ um artigo ]. É claro que, ao admitir o paralelismo, você às vezes perde outros aspectos, seja implementabilidade de algoritmo, complexidade de amostra ou outros suspeitos comuns.

Do ponto de vista da teoria, a pergunta é mais difícil, porque quando você fala sobre aprender, precisa pensar na função alvo. Por exemplo, nem sabemos que as árvores de decisão podem ser aprendidas pelo PAC; portanto, se o alvo (assim como o método) é uma árvore de decisão, ainda não podemos aprendê-lo (ainda) sem introduzir facetas extras no método problema. Impulsionar contorna isso assumindo uma condição de aprendizado fraca, SVM uma margem etc. Eu acho que essas suposições se transferem para o caso paralelo para fornecer o aprendizado do PAC.

Mas, como sempre, existe uma grande lacuna entre as fronteiras (e, portanto, preocupações) da teoria e da prática. Por exemplo, na prática, importa se o paralelismo é sobre núcleos ou clusters. Um algoritmo desenvolvido especialmente para uso prático em configurações de dados grandes é o VW , e está começando a dar suporte ao paralelismo. Você pode estar interessado nos trabalhos do workshop do NIPS 2010 sobre aprendizado paralelo prático.

Lev Reyzin
fonte