BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Mahout 0.3: Aprendizado de máquina Open Source

Mahout 0.3: Aprendizado de máquina Open Source

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

Conteúdo educacional

BT