Comparações de ferramentas de Machine Learning

Bruno Oliveira
Internet das Coisas
7 min readJul 11, 2017

O objetivo deste trabalho é analisar as três principais ferramentas utilizadas para Machine Learning sobre três perspectivas Stratosphere, MLbase e WEKA. Iremos realizar as análise (através de revisão bibliográfica) em duplas de ferramentas e finalizaremos através da nossa visão sobre o desempenho das ferramentas.

COMPARAÇÃO TECNOLOGIA: MLBASE x WEKA

O objetivo das tecnologias por trás das ferramentas de machine learning é otimizar o máximo possível a performance e assertividade do algoritmo, e isso inclui o seu processo principal: a Descoberta de Conhecimento em Bases de Dados (KDD), ou a capacidade de transformar dados em conhecimento. Pode-se dizer que o processo de KDD compreende, na verdade, todo o ciclo que o dado percorre até virar informação, conforme pode ser visto na Figura 1 [1]. A partir desse processo genérico iremos analisar a arquitetura das ferramentas\ambientes MLbase e WEKA, e o respectivo desempenho delas.

Figura 1: Processo de KDD (Knowledgement Discovery in Databases) [1]

Vamos começar nossas comparações com a arquitetura padrão do MLbase (figura 2). O processo de “Seleção” é feito pelo Usuário que envia as informações através de uma “ML Task” contendo os dados escopo da análise e algumas instruções para o MLBase Master o procedimento de seleção é repetido na task Optmizer, que será visto a frente). As etapas de “Pré-processamento e Limpeza” e “Transformação” podem ser vistas na etapa de “Parser”, que traduz estas instruções em um LLP (Logical Learning Planning), que em linhas gerais emula o mais genérico workflow a ser realizado pela ferramenta. A etapa de “Data Mining” é traduzida para a task “Optmizer”, que irá considerar o LLP, as estatísticas analisadas, a livraria de algoritmos e os outputs gerados para gerar o PLP (Physical Learning Plan) que de acordo com KRASKA et al [2]:

“Um PLP consistem em um conjunto de operações ML, como filtragem e recursos de escala de valores, tal como operações Map-Reduce síncronas e assíncronas. Em contraste com um LLP, o PLP especifica exatamente os parâmetros serem testados, tal como os datasets a serem utilizados. O MLbase Master distribui as operações para os nós de trabalho [slaves — DMX Runtine]”

Figura 2: Arquitetura padrão do MLbase [2]

A arquitetura do WEKA é mais flexível (até porque é desenvolvida em Java), ele permite que você construa, através de alguns componentes, o fluxo para a geração de conhecimento (Knowledge Flow). Consideramos um modelo genérico como na Figura 3, e as etapas padrões de um KDD (seleção, pré-processamento e limpeza, transformação, data mining e interpretação) será nesse fluxo, respectivamente: MEIM — Trainning Set (definirá um conjunto de dados para “testar” o aprendizado), Class Assigner, Cross Validation \ FoldMaker, REPTree \ Classifier e TextViewer. Os features do WEKA [3] são: (i) Core — possui classes, esquemas e filtros básicos do ambiente; (ii) Esquemas de Aprendizados — coleção de algoritmos pré-definidos pela ferramenta; (iii) Filtros de Processamento — filtros e outras ferramentas de pré-processamento; (iv) Interfaces de usuários — GUI, incluindo visualizadores SQL e editor de redes Bayesianas; e (v) Extensores — permite a incorporação de plugins para visualização de erros de classificação, predições, árvores e grafos, entre outros.

Figura 3 — Exemplo de Fluxo de Conhecimento WEKA

A principal característica que gera uma vantagem do MLbase em relação ao WEKA é a capacidade de otimizar os algoritmos. Na figura 4, é possível verificar a aplicação do processo de otimização para a query inserida e, de acordo com Kraska et al [2] houve um ganho de desempenho de 10%.

Figura 4 — Processo de Otimização MLbase [2]

Em compensação, o WEKA permite maior flexibilidade do algoritmo, permite incorporar novos plugins\extensões de acordo com a necessidade e, principalmente, provê maior interoperabilidade, conforme descrito por HALL et al [3]:

WEKA incluí suporte para importação de modelos PMML Predictive Modeling Markup Language). O PMML é agnóstico em relação a fornecedores, baseado no padrão XML para expressar modelos estatísticos e de mineração de dados que vêm ganhando amplo suporte de fornecedores de soluções open-source e proprietárias.”

COMPARAÇÃO ESTATÍSTICA: STRATOSPHERE x MLBASE

Machine learning e técnicas estatísticas são a chave para transformar um grande conjunto de dados em conhecimento para tomada de decisão. Stratosphere inclui suporte para programas iterativos, programas que fazem passes repetidos sobre um conjunto de dados atualizando um modelo até que convergem para uma solução. Isso permite a especificação, otimização e execução de análises de gráficos e aplicações estatísticas dentro do mecanismo de processamento de dados. As aplicações estão integradas com dados pré e pós-processamento em uma única linha analítica, otimizadas transversalmente e executadas pelo mesmo sistema. Utiliza estatística básica para melhorar suas execuções internar, é mais uma ferramenta para manipular uma grandes conjuntos de dados estruturados, semi-estruturados e não estruturados do que aplicar técnicas estatísticas avançadas.

O MLbase não é o primeiro sistema a tentar tornar o aprendizado da máquina mais acessível, mas é o primeiro para usuários livres a partir de opções de algoritmos e otimizar automaticamente para a execução distribuída. Provavelmente mais relacionados com MLbase são Weka, MADLib e Mahout. A facilidade de extensibilidade da MLbase permite simultaneamente uma plataforma atraente para especialistas em ML e usuários podem se beneficiar dos desenvolvimentos recentes na aprendizagem de máquinas estatísticas. Já tem implementado algumas técnicas estatísticas mais avançadas tais como k-means clustering e logitboost, este último aplica implicitamente regressão logística. Um exemplo de uso de conceito estatístico pelo MLbase é o Erro quadrátrico médio. Na figura abaixo, uma aplicação desse conceito envolvendo execuções síncronas e assíncronas.

Figura 5 — Synchronous vs asynchronous execution of alternating least squares [2]

COMPARAÇÃO DE ALGORITMOS: WEKA x STRATOSPHERE (APACHE FLINK)

A suite Weka (Waikato Enviroment for Knowledge Analysis) é formado por um conjunto de implementações de algoritmos de diversas técnicas de Mineração de Dados [5]. O Weka está implementado na linguagem Java, que tem como principal característica a sua portabilidade, desta forma é possível utilizá-la em diferentes sistemas operacionais, além de aproveitar os principais benefícios da orientação a objetos. Métodos implementados no WEKA:

Já STRATOSPHERE a implementação dos algoritmos de Machine Learning é interna não podendo ser comparados diretamente. Entretanto, após a inclusão, e absorção, do pacote STRATOSHERE no projeto da fundação APACHE chamado de FLINK. Foram incorporadas ferramentas que permitem a escolha de algoritmos de machine learning através de um plugin denominado FLINKML[6]. Com o uso deste plugin é possível incorporar os algoritmos exibidos na [Tabela 3][Tabela 4].

CONCLUSÃO

Foi possível verificar que cada uma das ferramentas apresentam propostas diferentes para a mesma tarefa central: transformar dados brutos em conhecimento. As diferenças e também as similaridades) vão desde arquitetura e recursos tecnológicos, desempenho, conceitos estatísticos utilizados e algoritmos disponibilizados e adaptados de cada uma. Cada uma delas mostrou-se melhor recomendado para determinados aspectos e ocasiões, conforme apresentado nas revisões bibliográficas deste trabalho. Abaixo, um resumo das considerações para as ferramentas analisadas:

(i) MLbase: analisamos em termos de tecnologia e estatística. Podemos verificar que, em termos de tecnologia, o ambiente apresenta uma estrutura robusta e pré-definida, focada na otimização do algoritmo e na performance de execução de queries e análises, contando com bastante participação do desenvolvedor de machine learning para criação\adaptação de algoritmos. E, em termos de estatística, possui implementações para análise de dados que permitem resolver problemas com a melhor solução possível em tempo de execução.

(ii) Stratosphere: analisamos em termos de estatística e algoritmos. Podemos verificar que, em termos de estatística, o Stratosphere apresenta conceitos básicos em suas execuções internas de seus processos para melhorar o tempo de resposta na manipulação de base de dados. E, em termos de algoritmos, o Stratosphere possui uma quantidade bastante inferior de algoritmos de machine learning comparado ao WEKA.

(iii) WEKA: analisamos em termos de tecnologia e algoritmos. Podemos verificar que, em termos de tecnologia, o ambiente foca na flexibilidade para adaptar o fluxo de conhecimento de acordo com as necessidades do usuário, e foca na interoperabilidade com outras ferramentas. E, em termos de algoritmos para machine learning o WEKA possui uma variedade muito maior de implementações de algoritmos do que o STRATOSPHERE.

REFERÊNCIAS

[1] FERNANDO SARTURI PRASS. “Estudo comparativo entre algoritmos de análise de agrupamentos em Data Mining”. Dissertação de Mestrado submetida à Universidade Federal de Santa Catarina. Novembro, 2004. Disponível em:
http://fp2.com.br/blog/wp-content/uploads/2012/07/Dissertacao_Fernando_Prass_Data_Mining_Cluster_Analysis.pdf

[2] TIM KRASKA, AMEET TALWALKAR, JOHN DUCHI, REAN GRIFFITH, MICHAEL FRANKLIN, MICHAEL JORDAN. “MLbase: A Distributed Machine-learning System“. CIDR, 2013. Disponível em http://cidrdb.org/cidr2013/Papers/CIDR13_Paper118.pdf

[3] MARK HALL, EIBE FRANK, GEOFFREY HOLMES, BERNHARD PFAHRINGER, PETER REUTEMANN, IAN WITTEN. “The WEKA Data Mining Software: An Update”. SIGKDD Explorations. Volume 11, Issue 1. 2009. Disponível em http://www.cms.waikato.ac.nz/~ml/publications/2009/weka_update.pdf

[4] ALEXANDER ALEXANDROV et al. “The Stratosphere platform for big data analytics”. The VLDB Journal. Volume 23, Issue 6, pages 39–964. 2014.

[5] UNIVERSITY OF WAIKATO. “Weka 3 — Machine Learning Software in Java. Disponível no site da University of Waikato (2010)”. URL: http://www.cs.waikato.ac.nz/ml/weka WITTEN, I.; FRANK, E. Data Mining — Practical Machine Learning Tools. Morgan Kauf

[6] FLINKML. https://ci.apache.org/projects/flink/flink-docs-release-1.1/

--

--

Bruno Oliveira
Internet das Coisas

Auditor, escritor, leitor e flanador. Mestrando em TI, tropecei na bolsa de valores. Acredito nas estrelas, não nos astros. Resenho pessoas e o tempo presente.