BT

Mahout 0.3: Aprendizado de máquina Open Source

por Gilad Manor , traduzido por Felipe Torres em 22 Abr 2010 |

O Projeto open source de Aprendizado de máquina (Machine Learning) Mahout anunciou sua versão 0.3 em março, adicionando funcionalidade, estabilidade e performance. A InfoQ falou com o co-fundador e desenvolvedor Grant Ingersoll e o desenvolvedor Ted Dunning, do projeto Apache Mahout.

A necessidade de técnicas de aprendizado de máquina como clustering, filtragem colaborativa e categorização tem aumentado na última década, juntamente com o número de soluções que necessitam de algoritmos para transformar grandes quantidades de dados brutos em informações relevantes.

O Projeto Mahout como introduzido por Grant Ingersoll:

  • Agrupando os documentos de um mesmo contexto permite que você escolha se concentrar em áreas específicas e histórias, sem necessidade de percorrer uma grande quantidade de entes independentes
  • Recomendações (AKA Filtragem Colaborativa) são freqüentemente usadas para recomendar itens de consumo, tais como livros, músicas e filmes, mas também é usado em outras aplicações onde múltiplos atores precisam colaborar para diminuir os dados
  • O casamento de padrões (Naïve Bayes classifier) é usado para rotular documentos invisíveis. Quando um novo documento é classificado, as palavras do documento são procurados no modelo, as probabilidades são calculadas e, o melhor resultado é a saída, normalmente junto com uma pontuação que indica a confiança na precisão do resultado
  • O projeto Mahout é facilitado pelo Apache Hadoop, para fins de dimensionamento.

Outro aspecto importante da solução Mahout é o conjunto de ferramentas para criar representações do vetor de dados textuais. Este é o primeiro passo para permitir uma base de dados aos processos de algoritmos de aprendizado do Mahout.

O projeto Mahout foi iniciado por várias pessoas envolvidas na comunidade Apache Lucene (projeto open source de busca) com um interesse ativo em algoritmos de aprendizado de máquina para agrupamento e categorização. A comunidade foi inicialmente dirigida pelo paper "Map-Reduce for Machine Learning on Multicore" Ng et al.'s, mas desde então tem evoluído para abordagens muito mais amplas de aprendizagem de máquina.

O novo release do Apache Mahout destaca:

  • Novidade: módulos math e collections baseados na biblioteca Colt de alta performance
  • Padrão de crescimento frequente (FPGrowth) mais rápido, usando FP-bonsai pruning
  • Processo de Clustering Dirichlet (algoritmo de clustering baseados em modelos) paralelo
  • Co-ocorrência paralela baseada em recomendação
  • Documento de texto paralelo à conversão de vetor baseado na geração LLR
  • Adição do Singular Value Decomposition
  • Shell scripts para facilitar a execução de algoritmos, utilidades e exemplos

Quando perguntado sobre qual é a mais emocionante feature desse release, Ingersoll respondeu:

A adição do Singular Value Decomposition (SVD) distribuído é muito emocionante, assim como muitas utilidades para tornar mais fácil para as pessoas para obter seu conteúdo no Mahout... a característica mais interessante é realmente uma não-palpável... uma demonstração da comunidade Mahout chegar a uma massa crítica de colaboradores e usuários. Na vida de qualquer projeto de código aberto, as fases iniciais podem ser muito frágeis, com apenas uma ou duas pessoas fazendo a maioria do trabalho e, se qualquer uma dessas pessoas parar ou mesmo diminuir o ritmo, o projeto pode ficar na geladeira. Eu acredito que o Mahout passou desse limite e tem muitas pessoas agora contribuindo ativamente para construir algo realmente emocionante.

Estão entre os planos futuros do Mahout:

  • O release da versão 1.0 chega ao final desse ano
  • Um conjunto estável de API's a partir da versão 1.0 em diante
  • Capacidade de aprendizado online como a implementação do algoritmo Stochastic Gradient Descent (SGD)
  • Implementação do algoritmo Support Vector Machine (SVM)

As implementações do SGD e SVM serão aplicáveis à mineração de documentos e outras aplicações que se relacionam com texto ou repetição de dados categóricos. De particular interesse é o fato de que o sistema SGD estará introduzindo a possibilidade de construir variáveis de interação em tempo real.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião
Feedback geral
Bugs
Publicidade
Editorial
Marketing
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2016 C4Media Inc.
Política de privacidade
BT

We notice you’re using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.